chore: Update translations

This commit is contained in:
Kieran 2023-12-07 17:59:28 +00:00
parent da75e6e2ff
commit 7600d93983
39 changed files with 1312 additions and 351 deletions

View File

@ -29,7 +29,11 @@ export default function AsyncButton(props: AsyncButtonProps) {
} }
return ( return (
<button disabled={loading || props.disabled} {...props} onClick={handle} className={classNames("px-3 py-2 bg-gray-2 rounded-full", props.className)}> <button
disabled={loading || props.disabled}
{...props}
onClick={handle}
className={classNames("px-3 py-2 bg-gray-2 rounded-full", props.className)}>
<span style={{ visibility: loading ? "hidden" : "visible" }}>{props.children}</span> <span style={{ visibility: loading ? "hidden" : "visible" }}>{props.children}</span>
{loading && ( {loading && (
<span className="spinner-wrapper"> <span className="spinner-wrapper">

View File

@ -3,18 +3,21 @@ import { HTMLProps, useState } from "react";
import classNames from "classnames"; import classNames from "classnames";
import { getPlaceholder } from "@/utils"; import { getPlaceholder } from "@/utils";
type AvatarProps = HTMLProps<HTMLImageElement> & { size?: number, pubkey: string, user?: MetadataCache }; type AvatarProps = HTMLProps<HTMLImageElement> & { size?: number; pubkey: string; user?: MetadataCache };
export function Avatar({ pubkey, size, user, ...props }: AvatarProps) { export function Avatar({ pubkey, size, user, ...props }: AvatarProps) {
const [failed, setFailed] = useState(false); const [failed, setFailed] = useState(false);
const src = user?.picture && !failed ? user.picture : getPlaceholder(pubkey); const src = user?.picture && !failed ? user.picture : getPlaceholder(pubkey);
return <img return (
{...props} <img
className={classNames("aspect-square rounded-full bg-gray-1", props.className)} {...props}
alt={user?.name || user?.pubkey} className={classNames("aspect-square rounded-full bg-gray-1", props.className)}
src={src} alt={user?.name || user?.pubkey}
onError={() => setFailed(true)} src={src}
style={{ onError={() => setFailed(true)}
width: `${size ?? 40}px`, style={{
height: `${size ?? 40}px` width: `${size ?? 40}px`,
}} />; height: `${size ?? 40}px`,
}}
/>
);
} }

View File

@ -177,15 +177,15 @@ export function ChatMessage({
style={ style={
isTablet isTablet
? { ? {
display: showZapDialog || isHovering ? "flex" : "none", display: showZapDialog || isHovering ? "flex" : "none",
} }
: { : {
position: "fixed", position: "fixed",
top: topOffset ? topOffset - 12 : 0, top: topOffset ? topOffset - 12 : 0,
left: leftOffset ? leftOffset - 32 : 0, left: leftOffset ? leftOffset - 32 : 0,
opacity: showZapDialog || isHovering ? 1 : 0, opacity: showZapDialog || isHovering ? 1 : 0,
pointerEvents: showZapDialog || isHovering ? "auto" : "none", pointerEvents: showZapDialog || isHovering ? "auto" : "none",
} }
}> }>
{zapTarget && ( {zapTarget && (
<SendZapsDialog <SendZapsDialog

View File

@ -91,8 +91,7 @@ export function LiveChat({
if (ends) { if (ends) {
extra.push({ kind: -2, created_at: Number(ends) } as TaggedNostrEvent); extra.push({ kind: -2, created_at: Number(ends) } as TaggedNostrEvent);
} }
return [...feed.messages, ...feed.reactions, ...awards, ...extra] return [...feed.messages, ...feed.reactions, ...awards, ...extra].sort((a, b) => b.created_at - a.created_at);
.sort((a, b) => b.created_at - a.created_at);
}, [feed.messages, feed.reactions, awards]); }, [feed.messages, feed.reactions, awards]);
const filteredEvents = useMemo(() => { const filteredEvents = useMemo(() => {
@ -130,10 +129,15 @@ export function LiveChat({
switch (a.kind) { switch (a.kind) {
case -1: case -1:
case -2: { case -2: {
return <b className="border px-3 py-2 text-center border-gray-2 rounded-xl bg-primary uppercase"> return (
{a.kind === -1 ? <FormattedMessage defaultMessage="Stream Started" id="5tM0VD" /> <b className="border px-3 py-2 text-center border-gray-2 rounded-xl bg-primary uppercase">
: <FormattedMessage defaultMessage="Stream Ended" id="jkAQj5" />} {a.kind === -1 ? (
</b>; <FormattedMessage defaultMessage="Stream Started" id="5tM0VD" />
) : (
<FormattedMessage defaultMessage="Stream Ended" id="jkAQj5" />
)}
</b>
);
} }
case EventKind.BadgeAward: { case EventKind.BadgeAward: {
return <BadgeAward ev={a} />; return <BadgeAward ev={a} />;
@ -195,12 +199,12 @@ export function ChatZap({ zap }: { zap: ParsedZap }) {
defaultMessage="<s>{person}</s> zapped <s>{amount}</s> sats" defaultMessage="<s>{person}</s> zapped <s>{amount}</s> sats"
id="q+zTWM" id="q+zTWM"
values={{ values={{
s: (c) => <span className="text-zap">{c}</span>, s: c => <span className="text-zap">{c}</span>,
person: ( person: (
<Profile <Profile
pubkey={zap.anonZap ? "anon" : zap.sender ?? ""} pubkey={zap.anonZap ? "anon" : zap.sender ?? ""}
options={{ options={{
showAvatar: !zap.anonZap showAvatar: !zap.anonZap,
}} }}
/> />
), ),
@ -213,7 +217,7 @@ export function ChatZap({ zap }: { zap: ParsedZap }) {
); );
} }
export function ChatRaid({ link, ev }: { link: NostrLink, ev: TaggedNostrEvent }) { export function ChatRaid({ link, ev }: { link: NostrLink; ev: TaggedNostrEvent }) {
const from = ev.tags.find(a => a[0] === "a" && a[3] === "root"); const from = ev.tags.find(a => a[0] === "a" && a[3] === "root");
const to = ev.tags.find(a => a[0] === "a" && a[3] === "mention"); const to = ev.tags.find(a => a[0] === "a" && a[3] === "mention");
const isRaiding = link.toEventTag()?.at(1) === from?.at(1); const isRaiding = link.toEventTag()?.at(1) === from?.at(1);
@ -222,15 +226,29 @@ export function ChatRaid({ link, ev }: { link: NostrLink, ev: TaggedNostrEvent }
const otherProfile = useUserProfile(getHost(otherEvent)); const otherProfile = useUserProfile(getHost(otherEvent));
if (isRaiding) { if (isRaiding) {
return <Link to={`/${otherLink.encode()}`} className="px-3 py-2 text-center rounded-xl bg-primary uppercase pointer font-bold"> return (
<FormattedMessage defaultMessage="Raiding {name}" id="j/jueq" values={{ <Link
name: otherProfile?.name to={`/${otherLink.encode()}`}
}} /> className="px-3 py-2 text-center rounded-xl bg-primary uppercase pointer font-bold">
</Link>; <FormattedMessage
defaultMessage="Raiding {name}"
id="j/jueq"
values={{
name: otherProfile?.name,
}}
/>
</Link>
);
} }
return <div className="px-3 py-2 text-center rounded-xl bg-primary uppercase pointer font-bold"> return (
<FormattedMessage defaultMessage="Raid from {name}" id="69hmpj" values={{ <div className="px-3 py-2 text-center rounded-xl bg-primary uppercase pointer font-bold">
name: otherProfile?.name <FormattedMessage
}} /> defaultMessage="Raid from {name}"
</div>; id="69hmpj"
} values={{
name: otherProfile?.name,
}}
/>
</div>
);
}

View File

@ -20,7 +20,13 @@ type VideoPlayerProps = {
muted?: boolean; muted?: boolean;
} & HTMLProps<HTMLVideoElement>; } & HTMLProps<HTMLVideoElement>;
export default function LiveVideoPlayer({ stream, status: pStatus, poster, muted: pMuted, ...props }: VideoPlayerProps) { export default function LiveVideoPlayer({
stream,
status: pStatus,
poster,
muted: pMuted,
...props
}: VideoPlayerProps) {
const video = useRef<HTMLVideoElement>(null); const video = useRef<HTMLVideoElement>(null);
const hlsObj = useRef<Hls>(null); const hlsObj = useRef<Hls>(null);
const streamCached = useMemo(() => stream, [stream]); const streamCached = useMemo(() => stream, [stream]);
@ -219,7 +225,15 @@ export default function LiveVideoPlayer({ stream, status: pStatus, poster, muted
<FormattedMessage defaultMessage="Offline" id="7UOvbT" /> <FormattedMessage defaultMessage="Offline" id="7UOvbT" />
</div> </div>
)} )}
<video {...props} className={classNames("z-10", props.className)} ref={video} autoPlay={true} poster={poster} src={src} playsInline={true} /> <video
{...props}
className={classNames("z-10", props.className)}
ref={video}
autoPlay={true}
poster={poster}
src={src}
playsInline={true}
/>
</div> </div>
); );
} }

View File

@ -43,7 +43,7 @@ export function Profile({
options?: ProfileOptions; options?: ProfileOptions;
linkToProfile?: boolean; linkToProfile?: boolean;
avatarSize?: number; avatarSize?: number;
gap?: number gap?: number;
}) { }) {
const { inView, ref } = useInView({ triggerOnce: true }); const { inView, ref } = useInView({ triggerOnce: true });
const pLoaded = useUserProfile(inView ? pubkey : undefined); const pLoaded = useUserProfile(inView ? pubkey : undefined);
@ -54,7 +54,7 @@ export function Profile({
<> <>
{showAvatar && <Avatar user={pLoaded} pubkey={pubkey} className={avatarClassname} size={avatarSize ?? 24} />} {showAvatar && <Avatar user={pLoaded} pubkey={pubkey} className={avatarClassname} size={avatarSize ?? 24} />}
{icon} {icon}
{showName && <span>{isAnon ? (options?.overrideName ?? "Anon") : getName(pubkey, pLoaded)}</span>} {showName && <span>{isAnon ? options?.overrideName ?? "Anon" : getName(pubkey, pLoaded)}</span>}
</> </>
); );

View File

@ -10,67 +10,74 @@ import AsyncButton from "./async-button";
import { SnortContext } from "@snort/system-react"; import { SnortContext } from "@snort/system-react";
import { LIVE_STREAM_RAID } from "@/const"; import { LIVE_STREAM_RAID } from "@/const";
export function DashboardRaidMenu({ link, onClose }: { link: NostrLink, onClose: () => void }) { export function DashboardRaidMenu({ link, onClose }: { link: NostrLink; onClose: () => void }) {
const system = useContext(SnortContext); const system = useContext(SnortContext);
const login = useLogin(); const login = useLogin();
const { live } = useStreamsFeed(); const { live } = useStreamsFeed();
const [raiding, setRaiding] = useState(""); const [raiding, setRaiding] = useState("");
const [msg, setMsg] = useState(""); const [msg, setMsg] = useState("");
const mutedHosts = new Set(getTagValues(login?.muted.tags ?? [], "p")); const mutedHosts = new Set(getTagValues(login?.muted.tags ?? [], "p"));
const livePubkeys = dedupe(live.map(a => getHost(a))).filter(a => !mutedHosts.has(a)); const livePubkeys = dedupe(live.map(a => getHost(a))).filter(a => !mutedHosts.has(a));
async function raid() { async function raid() {
if (login) { if (login) {
const ev = await login.publisher().generic(eb => { const ev = await login.publisher().generic(eb => {
return eb.kind(LIVE_STREAM_RAID) return eb
.tag(unwrap(link.toEventTag("root"))) .kind(LIVE_STREAM_RAID)
.tag(unwrap(parseNostrLink(raiding).toEventTag("mention"))) .tag(unwrap(link.toEventTag("root")))
.content(msg); .tag(unwrap(parseNostrLink(raiding).toEventTag("mention")))
}); .content(msg);
});
await system.BroadcastEvent(ev); await system.BroadcastEvent(ev);
onClose(); onClose();
}
} }
}
return <div className="flex flex-col gap-4 p-6"> return (
<h2> <div className="flex flex-col gap-4 p-6">
<FormattedMessage defaultMessage="Start Raid" id="MTHO1W" /> <h2>
</h2> <FormattedMessage defaultMessage="Start Raid" id="MTHO1W" />
<div className="flex flex-col gap-1"> </h2>
<p className="text-gray-3 uppercase font-semibold text-sm"> <div className="flex flex-col gap-1">
<FormattedMessage defaultMessage="Live now" id="+sdKx8" /> <p className="text-gray-3 uppercase font-semibold text-sm">
</p> <FormattedMessage defaultMessage="Live now" id="+sdKx8" />
<div className="flex gap-2 flex-wrap"> </p>
{livePubkeys.map(a => <div className="border border-gray-1 rounded-full px-4 py-2 bg-gray-2 pointer" onClick={() => { <div className="flex gap-2 flex-wrap">
const liveEvent = live.find(b => getHost(b) === a); {livePubkeys.map(a => (
if (liveEvent) { <div
setRaiding(NostrLink.fromEvent(liveEvent).encode()); className="border border-gray-1 rounded-full px-4 py-2 bg-gray-2 pointer"
} onClick={() => {
}}> const liveEvent = live.find(b => getHost(b) === a);
<Profile pubkey={a} options={{ showAvatar: false }} linkToProfile={false} /> if (liveEvent) {
</div>)} setRaiding(NostrLink.fromEvent(liveEvent).encode());
}
}}>
<Profile pubkey={a} options={{ showAvatar: false }} linkToProfile={false} />
</div> </div>
))}
</div> </div>
<div className="flex flex-col gap-1"> </div>
<p className="text-gray-3 uppercase font-semibold text-sm"> <div className="flex flex-col gap-1">
<FormattedMessage defaultMessage="Raid target" id="Zse7yG" /> <p className="text-gray-3 uppercase font-semibold text-sm">
</p> <FormattedMessage defaultMessage="Raid target" id="Zse7yG" />
<div className="paper"> </p>
<input type="text" placeholder="naddr.." value={raiding} onChange={e => setRaiding(e.target.value)} /> <div className="paper">
</div> <input type="text" placeholder="naddr.." value={raiding} onChange={e => setRaiding(e.target.value)} />
</div> </div>
<div className="flex flex-col gap-1"> </div>
<p className="text-gray-3 uppercase font-semibold text-sm"> <div className="flex flex-col gap-1">
<FormattedMessage defaultMessage="Raid Message" id="RS6smY" /> <p className="text-gray-3 uppercase font-semibold text-sm">
</p> <FormattedMessage defaultMessage="Raid Message" id="RS6smY" />
<div className="paper"> </p>
<input type="text" value={msg} onChange={e => setMsg(e.target.value)} /> <div className="paper">
</div> <input type="text" value={msg} onChange={e => setMsg(e.target.value)} />
</div> </div>
<AsyncButton className="btn btn-primary" onClick={raid}> </div>
<FormattedMessage defaultMessage="Raid!" id="aqjZxs" /> <AsyncButton className="btn btn-primary" onClick={raid}>
</AsyncButton> <FormattedMessage defaultMessage="Raid!" id="aqjZxs" />
</AsyncButton>
</div> </div>
} );
}

View File

@ -7,7 +7,13 @@ type StatePillProps = { state: StreamState } & HTMLProps<HTMLSpanElement>;
export function StatePill({ state, ...props }: StatePillProps) { export function StatePill({ state, ...props }: StatePillProps) {
return ( return (
<span {...props} className={classNames("uppercase font-white pill", state === StreamState.Live ? "bg-primary" : "bg-gray-1", props.className)}> <span
{...props}
className={classNames(
"uppercase font-white pill",
state === StreamState.Live ? "bg-primary" : "bg-gray-1",
props.className
)}>
{state} {state}
</span> </span>
); );

View File

@ -41,7 +41,11 @@ export function Text({ content, tags, eventComponent }: TextProps) {
} }
} }
} }
return <span className="text"><HyperText link={f.content}>{f.content}</HyperText></span>; return (
<span className="text">
<HyperText link={f.content}>{f.content}</HyperText>
</span>
);
} }
case "mention": case "mention":
return <Mention pubkey={f.content} />; return <Mention pubkey={f.content} />;

View File

@ -4,7 +4,9 @@ import { ZapperRow } from "./zapper-row";
export function TopZappers({ zaps, limit }: { zaps: ParsedZap[]; limit?: number }) { export function TopZappers({ zaps, limit }: { zaps: ParsedZap[]; limit?: number }) {
const zappers = useTopZappers(zaps); const zappers = useTopZappers(zaps);
return zappers.slice(0, limit ?? 10).map(({ pubkey, total }) => <div className="border rounded-full px-2 py-1 border-gray-1 grow-0 shrink-0 basis-auto font-bold"> return zappers.slice(0, limit ?? 10).map(({ pubkey, total }) => (
<ZapperRow pubkey={pubkey} total={total} key={pubkey} showName={false} /> <div className="border rounded-full px-2 py-1 border-gray-1 grow-0 shrink-0 basis-auto font-bold">
</div>); <ZapperRow pubkey={pubkey} total={total} key={pubkey} showName={false} />
</div>
));
} }

View File

@ -29,7 +29,11 @@ export function VideoTile({
const link = encodeTLV(NostrPrefix.Address, id, undefined, ev.kind, ev.pubkey); const link = encodeTLV(NostrPrefix.Address, id, undefined, ev.kind, ev.pubkey);
return ( return (
<div className="video-tile-container"> <div className="video-tile-container">
<Link to={`/${link}`} className={`video-tile${(contentWarning && !isContentWarningAccepted()) ? " nsfw" : ""}`} ref={ref} state={ev}> <Link
to={`/${link}`}
className={`video-tile${contentWarning && !isContentWarningAccepted() ? " nsfw" : ""}`}
ref={ref}
state={ev}>
<div <div
style={{ style={{
backgroundImage: `url(${inView ? ((image?.length ?? 0) > 0 ? image : "/zap-stream.svg") : ""})`, backgroundImage: `url(${inView ? ((image?.length ?? 0) > 0 ? image : "/zap-stream.svg") : ""})`,
@ -38,7 +42,11 @@ export function VideoTile({
{showStatus && <StatePill state={status as StreamState} />} {showStatus && <StatePill state={status as StreamState} />}
{participants && ( {participants && (
<span className="pill viewers bg-gray-1"> <span className="pill viewers bg-gray-1">
<FormattedMessage defaultMessage="{n} viewers" id="3adEeb" values={{ n: formatSats(Number(participants)) }} /> <FormattedMessage
defaultMessage="{n} viewers"
id="3adEeb"
values={{ n: formatSats(Number(participants)) }}
/>
</span> </span>
)} )}
</span> </span>

View File

@ -3,17 +3,20 @@ import { Icon } from "./icon";
import { Profile } from "./profile"; import { Profile } from "./profile";
import { FormattedMessage } from "react-intl"; import { FormattedMessage } from "react-intl";
export function ZapperRow({ pubkey, total, showName }: { pubkey: string; total: number, showName?: boolean }) { export function ZapperRow({ pubkey, total, showName }: { pubkey: string; total: number; showName?: boolean }) {
return ( return (
<div className="flex gap-1 justify-between items-center"> <div className="flex gap-1 justify-between items-center">
{pubkey === "anon" ? <span> {pubkey === "anon" ? (
<FormattedMessage defaultMessage="Anon" id="bfvyfs" /> <span>
</span> : <FormattedMessage defaultMessage="Anon" id="bfvyfs" />
<Profile pubkey={pubkey} options={{ showName }} />} </span>
<div className="flex items-center gap-2"> ) : (
<Icon name="zap-filled" className="text-zap" /> <Profile pubkey={pubkey} options={{ showName }} />
<span>{formatSats(total)}</span> )}
</div> <div className="flex items-center gap-2">
</div> <Icon name="zap-filled" className="text-zap" />
); <span>{formatSats(total)}</span>
} </div>
</div>
);
}

View File

@ -102,9 +102,11 @@ const router = createBrowserRouter([
}, },
{ {
path: "/dashboard", path: "/dashboard",
element: <Suspense> element: (
<DashboardPage /> <Suspense>
</Suspense>, <DashboardPage />
</Suspense>
),
}, },
{ {
path: "*", path: "*",

View File

@ -19,135 +19,171 @@ import * as Dialog from "@radix-ui/react-dialog";
import { DashboardRaidMenu } from "@/element/raid-menu"; import { DashboardRaidMenu } from "@/element/raid-menu";
export default function DashboardPage() { export default function DashboardPage() {
const login = useLogin(); const login = useLogin();
if (!login) return; if (!login) return;
return <DashboardForLink link={new NostrLink(NostrPrefix.PublicKey, login.pubkey)} /> return <DashboardForLink link={new NostrLink(NostrPrefix.PublicKey, login.pubkey)} />;
} }
function DashboardForLink({ link }: { link: NostrLink }) { function DashboardForLink({ link }: { link: NostrLink }) {
const streamEvent = useCurrentStreamFeed(link, true); const streamEvent = useCurrentStreamFeed(link, true);
const streamLink = streamEvent ? NostrLink.fromEvent(streamEvent) : undefined; const streamLink = streamEvent ? NostrLink.fromEvent(streamEvent) : undefined;
const { stream, status, image, participants } = extractStreamInfo(streamEvent); const { stream, status, image, participants } = extractStreamInfo(streamEvent);
const [maxParticipants, setMaxParticipants] = useState(0); const [maxParticipants, setMaxParticipants] = useState(0);
useEffect(() => { useEffect(() => {
if (participants) { if (participants) {
setMaxParticipants(v => v < Number(participants) ? Number(participants) : v); setMaxParticipants(v => (v < Number(participants) ? Number(participants) : v));
} }
}, [participants]); }, [participants]);
if (!streamLink) return; if (!streamLink) return;
return <div className="grid grid-cols-3 gap-2 full-page-height"> return (
<div className="h-inhreit flex gap-4 flex-col"> <div className="grid grid-cols-3 gap-2 full-page-height">
<DashboardCard className="flex flex-col gap-4"> <div className="h-inhreit flex gap-4 flex-col">
<h3> <DashboardCard className="flex flex-col gap-4">
<FormattedMessage defaultMessage="Stream" id="uYw2LD" /> <h3>
</h3> <FormattedMessage defaultMessage="Stream" id="uYw2LD" />
<LiveVideoPlayer stream={stream} status={status} poster={image} muted={true} className="w-full" /> </h3>
<div className="flex gap-4"> <LiveVideoPlayer stream={stream} status={status} poster={image} muted={true} className="w-full" />
<DashboardStatsCard name={<FormattedMessage defaultMessage="Stream Time" id="miQKuZ" />} value={<StreamTimer ev={streamEvent} />} /> <div className="flex gap-4">
<DashboardStatsCard name={<FormattedMessage defaultMessage="Viewers" id="37mth/" />} value={participants} /> <DashboardStatsCard
<DashboardStatsCard name={<FormattedMessage defaultMessage="Highest Viewers" id="jctiUc" />} value={maxParticipants} /> name={<FormattedMessage defaultMessage="Stream Time" id="miQKuZ" />}
</div> value={<StreamTimer ev={streamEvent} />}
<DashboardRaidButton link={streamLink} /> />
</DashboardCard> <DashboardStatsCard name={<FormattedMessage defaultMessage="Viewers" id="37mth/" />} value={participants} />
<DashboardCard className="flex flex-col gap-4"> <DashboardStatsCard
<h3> name={<FormattedMessage defaultMessage="Highest Viewers" id="jctiUc" />}
<FormattedMessage defaultMessage="Chat Users" id="RtYNX5" /> value={maxParticipants}
</h3> />
<div className="h-[calc(100%-4rem)] overflow-y-scroll"> </div>
<DashboardChatList link={streamLink} /> <DashboardRaidButton link={streamLink} />
</div> </DashboardCard>
</DashboardCard> <DashboardCard className="flex flex-col gap-4">
</div > <h3>
<div className="h-inhreit flex gap-4 flex-col"> <FormattedMessage defaultMessage="Chat Users" id="RtYNX5" />
<DashboardZapColumn link={streamLink} /> </h3>
</div> <div className="h-[calc(100%-4rem)] overflow-y-scroll">
<LiveChat link={streamLink} ev={streamEvent} /> <DashboardChatList link={streamLink} />
</div > </div>
</DashboardCard>
</div>
<div className="h-inhreit flex gap-4 flex-col">
<DashboardZapColumn link={streamLink} />
</div>
<LiveChat link={streamLink} ev={streamEvent} />
</div>
);
} }
function DashboardCard(props: HTMLProps<HTMLDivElement>) { function DashboardCard(props: HTMLProps<HTMLDivElement>) {
return <div {...props} className={classNames("px-4 py-6 rounded-3xl border border-gray-1", props.className)}> return (
{props.children} <div {...props} className={classNames("px-4 py-6 rounded-3xl border border-gray-1", props.className)}>
{props.children}
</div> </div>
);
} }
function DashboardStatsCard({ name, value, ...props }: { name: ReactNode, value: ReactNode } & Omit<HTMLProps<HTMLDivElement>, "children" | "name" | "value">) { function DashboardStatsCard({
return <div {...props} className={classNames("flex-1 bg-gray-1 flex flex-col gap-1 px-4 py-2 rounded-xl", props.className)}> name,
<div className="text-gray-3 font-medium"> value,
{name} ...props
</div> }: { name: ReactNode; value: ReactNode } & Omit<HTMLProps<HTMLDivElement>, "children" | "name" | "value">) {
<div> return (
{value} <div
</div> {...props}
className={classNames("flex-1 bg-gray-1 flex flex-col gap-1 px-4 py-2 rounded-xl", props.className)}>
<div className="text-gray-3 font-medium">{name}</div>
<div>{value}</div>
</div> </div>
);
} }
function DashboardChatList({ link }: { link: NostrLink }) { function DashboardChatList({ link }: { link: NostrLink }) {
const feed = useLiveChatFeed(link); const feed = useLiveChatFeed(link);
const pubkeys = useMemo(() => { const pubkeys = useMemo(() => {
return dedupe(feed.messages.map(a => a.pubkey)); return dedupe(feed.messages.map(a => a.pubkey));
}, [feed]); }, [feed]);
return pubkeys.map(a => <div className="flex justify-between items-center px-4 py-2 border-b border-gray-1"> return pubkeys.map(a => (
<Profile pubkey={a} avatarSize={32} gap={4} /> <div className="flex justify-between items-center px-4 py-2 border-b border-gray-1">
<div className="flex gap-2"> <Profile pubkey={a} avatarSize={32} gap={4} />
<MuteButton pubkey={a} /> <div className="flex gap-2">
<AsyncButton onClick={() => { }} className="font-bold"> <MuteButton pubkey={a} />
<FormattedMessage defaultMessage="Zap" id="fBI91o" /> <AsyncButton onClick={() => {}} className="font-bold">
</AsyncButton> <FormattedMessage defaultMessage="Zap" id="fBI91o" />
</div> </AsyncButton>
</div>) </div>
</div>
));
} }
function DashboardZapColumn({ link }: { link: NostrLink }) { function DashboardZapColumn({ link }: { link: NostrLink }) {
const feed = useLiveChatFeed(link); const feed = useLiveChatFeed(link);
const reactions = useEventReactions(link, feed.reactions); const reactions = useEventReactions(link, feed.reactions);
const sortedZaps = useMemo(() => reactions.zaps.sort((a, b) => b.created_at > a.created_at ? 1 : -1), [reactions.zaps]); const sortedZaps = useMemo(
const latestZap = sortedZaps.at(0); () => reactions.zaps.sort((a, b) => (b.created_at > a.created_at ? 1 : -1)),
return <DashboardCard className="h-inhreit flex flex-col gap-4"> [reactions.zaps]
<h3> );
<FormattedMessage defaultMessage="Zaps" id="OEW7yJ" /> const latestZap = sortedZaps.at(0);
</h3> return (
<div className="h-inhreit flex flex-col gap-2 overflow-y-scroll"> <DashboardCard className="h-inhreit flex flex-col gap-4">
{latestZap && <DashboardHighlightZap zap={latestZap} />} <h3>
{sortedZaps.slice(1).map(a => <ChatZap zap={a} />)} <FormattedMessage defaultMessage="Zaps" id="OEW7yJ" />
</div> </h3>
<div className="h-inhreit flex flex-col gap-2 overflow-y-scroll">
{latestZap && <DashboardHighlightZap zap={latestZap} />}
{sortedZaps.slice(1).map(a => (
<ChatZap zap={a} />
))}
</div>
</DashboardCard> </DashboardCard>
);
} }
function DashboardHighlightZap({ zap }: { zap: ParsedZap }) { function DashboardHighlightZap({ zap }: { zap: ParsedZap }) {
return <div className="px-4 py-6 bg-gray-1 flex flex-col gap-4 rounded-xl animate-flash"> return (
<div className="flex justify-between items-center text-zap text-2xl font-semibold"> <div className="px-4 py-6 bg-gray-1 flex flex-col gap-4 rounded-xl animate-flash">
<Profile pubkey={zap.sender ?? "anon"} options={{ <div className="flex justify-between items-center text-zap text-2xl font-semibold">
showAvatar: false <Profile
}} /> pubkey={zap.sender ?? "anon"}
<span> options={{
<FormattedMessage defaultMessage="{n} sats" id="CsCUYo" values={{ showAvatar: false,
n: <FormattedNumber value={zap.amount} /> }}
}} /> />
</span> <span>
<FormattedMessage
defaultMessage="{n} sats"
id="CsCUYo"
values={{
n: <FormattedNumber value={zap.amount} />,
}}
/>
</span>
</div>
{zap.content && (
<div className="text-2xl">
<Text content={zap.content} tags={[]} />
</div> </div>
{zap.content && <div className="text-2xl"> )}
<Text content={zap.content} tags={[]} /> </div>
</div>} );
</div>;
} }
function DashboardRaidButton({ link }: { link: NostrLink }) { function DashboardRaidButton({ link }: { link: NostrLink }) {
const [show, setShow] = useState(false); const [show, setShow] = useState(false);
return <Dialog.Root open={show} onOpenChange={setShow}> return (
<AsyncButton className="btn btn-primary" onClick={() => setShow(true)}> <Dialog.Root open={show} onOpenChange={setShow}>
<FormattedMessage defaultMessage="Raid" id="4iBdw1" /> <AsyncButton className="btn btn-primary" onClick={() => setShow(true)}>
</AsyncButton> <FormattedMessage defaultMessage="Raid" id="4iBdw1" />
<Dialog.Portal> </AsyncButton>
<Dialog.Overlay className="dialog-overlay" /> <Dialog.Portal>
<Dialog.Content className="dialog-content"> <Dialog.Overlay className="dialog-overlay" />
<DashboardRaidMenu link={link} onClose={() => setShow(false)} /> <Dialog.Content className="dialog-content">
</Dialog.Content> <DashboardRaidMenu link={link} onClose={() => setShow(false)} />
</Dialog.Portal> </Dialog.Content>
</Dialog.Portal>
</Dialog.Root> </Dialog.Root>
);
} }

View File

@ -1,4 +1,3 @@
.tabs-list { .tabs-list {
flex-shrink: 0; flex-shrink: 0;
display: flex; display: flex;

View File

@ -21,7 +21,6 @@ import { StatePill } from "@/element/state-pill";
import { Avatar } from "@/element/avatar"; import { Avatar } from "@/element/avatar";
import { ZapperRow } from "@/element/zapper-row"; import { ZapperRow } from "@/element/zapper-row";
function TopZappers({ zaps }: { zaps: ParsedZap[] }) { function TopZappers({ zaps }: { zaps: ParsedZap[] }) {
const zappers = useTopZappers(zaps); const zappers = useTopZappers(zaps);
return ( return (
@ -131,20 +130,22 @@ export function ProfilePage() {
} }
function ProfileStreamList({ streams }: { streams: Array<TaggedNostrEvent> }) { function ProfileStreamList({ streams }: { streams: Array<TaggedNostrEvent> }) {
return <div className="flex gap-3 flex-wrap justify-center"> return (
{streams.map(ev => ( <div className="flex gap-3 flex-wrap justify-center">
<div key={ev.id} className="flex flex-col gap-1 sm:w-64 w-full"> {streams.map(ev => (
<VideoTile ev={ev} showAuthor={false} showStatus={false} /> <div key={ev.id} className="flex flex-col gap-1 sm:w-64 w-full">
<span className="text-neutral-500"> <VideoTile ev={ev} showAuthor={false} showStatus={false} />
<FormattedMessage <span className="text-neutral-500">
defaultMessage="Streamed on {date}" <FormattedMessage
id="cvAsEh" defaultMessage="Streamed on {date}"
values={{ id="cvAsEh"
date: new Date(ev.created_at * 1000).toLocaleDateString(), values={{
}} date: new Date(ev.created_at * 1000).toLocaleDateString(),
/> }}
</span> />
</div> </span>
))} </div>
</div>; ))}
} </div>
);
}

View File

@ -118,10 +118,19 @@ export function StreamPage({ link, evPreload }: { evPreload?: NostrEvent; link:
const ev = useCurrentStreamFeed(link, true, evPreload); const ev = useCurrentStreamFeed(link, true, evPreload);
const host = getHost(ev); const host = getHost(ev);
const evLink = ev ? NostrLink.fromEvent(ev) : undefined; const evLink = ev ? NostrLink.fromEvent(ev) : undefined;
const { title, summary, image, status, tags, contentWarning, stream, recording, goal: goalTag } = extractStreamInfo(ev); const {
title,
summary,
image,
status,
tags,
contentWarning,
stream,
recording,
goal: goalTag,
} = extractStreamInfo(ev);
const goal = useZapGoal(goalTag); const goal = useZapGoal(goalTag);
if (contentWarning && !isContentWarningAccepted()) { if (contentWarning && !isContentWarningAccepted()) {
return <ContentWarningOverlay />; return <ContentWarningOverlay />;
} }
@ -145,9 +154,14 @@ export function StreamPage({ link, evPreload }: { evPreload?: NostrEvent; link:
<ProfileInfo ev={ev} goal={goal} /> <ProfileInfo ev={ev} goal={goal} />
<StreamCards host={host} /> <StreamCards host={host} />
</div> </div>
<LiveChat link={evLink ?? link} ev={ev} goal={goal} options={{ <LiveChat
canWrite: status === StreamState.Live link={evLink ?? link}
}} /> ev={ev}
goal={goal}
options={{
canWrite: status === StreamState.Live,
}}
/>
</div> </div>
); );
} }

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "No emails, just awesomeness!" "defaultMessage": "No emails, just awesomeness!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Connect" "defaultMessage": "Connect"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Add" "defaultMessage": "Add"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zap!" "defaultMessage": "Zap!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Cancel" "defaultMessage": "Cancel"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, your lightning address looks wrong" "defaultMessage": "Hmm, your lightning address looks wrong"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Server Url" "defaultMessage": "Server Url"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Stream Providers" "defaultMessage": "Stream Providers"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Title" "defaultMessage": "Title"
}, },
"AIHaPH": {
"defaultMessage": "{person} zapped {amount} sats"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "NSFW Content" "defaultMessage": "NSFW Content"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Stream Key" "defaultMessage": "Stream Key"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Ok, it's safe" "defaultMessage": "Ok, it's safe"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "I have read and agree with {provider}''s {terms}." "defaultMessage": "I have read and agree with {provider}''s {terms}."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Please login to write messages!" "defaultMessage": "Please login to write messages!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Summary" "defaultMessage": "Summary"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Ended" "defaultMessage": "Ended"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "You can change this later" "defaultMessage": "You can change this later"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Continue" "defaultMessage": "Continue"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Following" "defaultMessage": "Following"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Unfollow" "defaultMessage": "Unfollow"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Endpoint" "defaultMessage": "Endpoint"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Voice" "defaultMessage": "Voice"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "Stream type should be HLS" "defaultMessage": "Stream type should be HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Scheduled for {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Log In" "defaultMessage": "Log In"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "Без имейли, просто страхотно!" "defaultMessage": "Без имейли, просто страхотно!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Свързване" "defaultMessage": "Свързване"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Добави" "defaultMessage": "Добави"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Зап!" "defaultMessage": "Зап!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Отказ" "defaultMessage": "Отказ"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Хмм, твоят лайтнинг адрес изглежда грешен" "defaultMessage": "Хмм, твоят лайтнинг адрес изглежда грешен"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Url адрес на сървъра" "defaultMessage": "Url адрес на сървъра"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Стрийм доставчици" "defaultMessage": "Стрийм доставчици"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Заглавие" "defaultMessage": "Заглавие"
}, },
"AIHaPH": {
"defaultMessage": "{човек} запнат {количество} сатс"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "NSFW Съдържание" "defaultMessage": "NSFW Съдържание"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Стрийм ключ" "defaultMessage": "Стрийм ключ"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Ок, безопасно е" "defaultMessage": "Ок, безопасно е"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "Прочетох и се съгласявам със {доставчика} и неговите {общи условия}." "defaultMessage": "Прочетох и се съгласявам със {доставчика} и неговите {общи условия}."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Моля влезте в профила си за да може да пишете съобщения!" "defaultMessage": "Моля влезте в профила си за да може да пишете съобщения!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Обобщение" "defaultMessage": "Обобщение"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Приключено" "defaultMessage": "Приключено"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "Можете да промените това по-късно" "defaultMessage": "Можете да промените това по-късно"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Продължаване" "defaultMessage": "Продължаване"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Последвани" "defaultMessage": "Последвани"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Прекратете следенето" "defaultMessage": "Прекратете следенето"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Намаление" "defaultMessage": "Намаление"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Крайна точка" "defaultMessage": "Крайна точка"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Глас" "defaultMessage": "Глас"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "Стрийм тип трябва да бъде HLS" "defaultMessage": "Стрийм тип трябва да бъде HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Планирано за {дата}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Вход" "defaultMessage": "Вход"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "কোনো ইমেইল নয়, কেবল বিস্ময়!" "defaultMessage": "কোনো ইমেইল নয়, কেবল বিস্ময়!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "সংযুক্ত হোন" "defaultMessage": "সংযুক্ত হোন"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "যুক্ত করুন" "defaultMessage": "যুক্ত করুন"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "জ্যাপ!" "defaultMessage": "জ্যাপ!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "বাতিল করুন" "defaultMessage": "বাতিল করুন"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "হুম, আপনার বিজলি ঠিকানাটি সঠিক নয়" "defaultMessage": "হুম, আপনার বিজলি ঠিকানাটি সঠিক নয়"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "সার্ভারের Url" "defaultMessage": "সার্ভারের Url"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "স্ট্রিম প্রদানকারীরা" "defaultMessage": "স্ট্রিম প্রদানকারীরা"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "শিরোনাম" "defaultMessage": "শিরোনাম"
}, },
"AIHaPH": {
"defaultMessage": "{person} {amount} পরিমাণ স্যাট জ্যাপ করেছেন"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "NSFW আধেয়" "defaultMessage": "NSFW আধেয়"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "চাবি স্ট্রিম করুন" "defaultMessage": "চাবি স্ট্রিম করুন"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "ঠিক আছে, এটা নিরাপদ" "defaultMessage": "ঠিক আছে, এটা নিরাপদ"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "আমি {provider} এর {terms} পড়েছি এবং এর সাথে সহমত প্রকাশ করছি।" "defaultMessage": "আমি {provider} এর {terms} পড়েছি এবং এর সাথে সহমত প্রকাশ করছি।"
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "মেসেজ দিতে লগইন করুন!" "defaultMessage": "মেসেজ দিতে লগইন করুন!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "সারসংক্ষেপ" "defaultMessage": "সারসংক্ষেপ"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "শেষ হয়েছে" "defaultMessage": "শেষ হয়েছে"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "আপনি এটি পরে পরিবর্তন করতে পারবেন" "defaultMessage": "আপনি এটি পরে পরিবর্তন করতে পারবেন"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "চালিয়ে যান" "defaultMessage": "চালিয়ে যান"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "অনুসরণ করা হচ্ছে" "defaultMessage": "অনুসরণ করা হচ্ছে"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "আনফলো করুন" "defaultMessage": "আনফলো করুন"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "মার্কডাউন" "defaultMessage": "মার্কডাউন"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "শেষপ্রান্ত" "defaultMessage": "শেষপ্রান্ত"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "কণ্ঠস্বর" "defaultMessage": "কণ্ঠস্বর"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "স্ট্রিমের ধরন HLS হওয়া উচিত" "defaultMessage": "স্ট্রিমের ধরন HLS হওয়া উচিত"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "{date} তারিখের জন্য নির্ধারিত" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "লগ ইন করুন" "defaultMessage": "লগ ইন করুন"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "Ingen e-mails, bare fantastiskhed!" "defaultMessage": "Ingen e-mails, bare fantastiskhed!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Forbind" "defaultMessage": "Forbind"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Tilføj" "defaultMessage": "Tilføj"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zap!" "defaultMessage": "Zap!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Annuller" "defaultMessage": "Annuller"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, din lynadresse ser forkert ud" "defaultMessage": "Hmm, din lynadresse ser forkert ud"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Server-URL" "defaultMessage": "Server-URL"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Strømudbydere" "defaultMessage": "Strømudbydere"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Titel" "defaultMessage": "Titel"
}, },
"AIHaPH": {
"defaultMessage": "{person} zappet {amount} sats"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "NSFW-indhold" "defaultMessage": "NSFW-indhold"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Stream-nøgle" "defaultMessage": "Stream-nøgle"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Okay, det er sikkert" "defaultMessage": "Okay, det er sikkert"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "Jeg har læst og er enig i {provider}' s {terms}." "defaultMessage": "Jeg har læst og er enig i {provider}' s {terms}."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Log ind for at skrive beskeder!" "defaultMessage": "Log ind for at skrive beskeder!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Resumé" "defaultMessage": "Resumé"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Afsluttet" "defaultMessage": "Afsluttet"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "Du kan ændre dette senere" "defaultMessage": "Du kan ændre dette senere"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Fortsæt" "defaultMessage": "Fortsæt"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Følgende" "defaultMessage": "Følgende"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Følg ikke" "defaultMessage": "Følg ikke"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Slutpunkt" "defaultMessage": "Slutpunkt"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Stemme" "defaultMessage": "Stemme"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "Stream-typen skal være HLS" "defaultMessage": "Stream-typen skal være HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Planlagt til {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Log ind" "defaultMessage": "Log ind"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "Keine E-Mails, nur Großartigkeit!" "defaultMessage": "Keine E-Mails, nur Großartigkeit!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Verbinden" "defaultMessage": "Verbinden"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Hinzufügen" "defaultMessage": "Hinzufügen"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zap!" "defaultMessage": "Zap!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Abbrechen" "defaultMessage": "Abbrechen"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, deine Lightning-Adresse sieht falsch aus" "defaultMessage": "Hmm, deine Lightning-Adresse sieht falsch aus"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Server-URL" "defaultMessage": "Server-URL"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Stream-Anbieter" "defaultMessage": "Stream-Anbieter"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Titel" "defaultMessage": "Titel"
}, },
"AIHaPH": {
"defaultMessage": "{person} zappt {amount} sats"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "NSFW Inhalt" "defaultMessage": "NSFW Inhalt"
}, },
@ -165,7 +177,7 @@
"defaultMessage": "ODER" "defaultMessage": "ODER"
}, },
"J/+m9y": { "J/+m9y": {
"defaultMessage": "Streamdauer {duration} min" "defaultMessage": "Streamdauer {duration} Min."
}, },
"JEsxDw": { "JEsxDw": {
"defaultMessage": "Hochladen..." "defaultMessage": "Hochladen..."
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Stream-Schlüssel" "defaultMessage": "Stream-Schlüssel"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Ok, er ist gesichert" "defaultMessage": "Ok, er ist gesichert"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "Ich habe die {terms} von {provider} gelesen und bin damit einverstanden." "defaultMessage": "Ich habe die {terms} von {provider} gelesen und bin damit einverstanden."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Bitte melde dich an, um Nachrichten zu schreiben!" "defaultMessage": "Bitte melde dich an, um Nachrichten zu schreiben!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Zusammenfassung" "defaultMessage": "Zusammenfassung"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Beendet" "defaultMessage": "Beendet"
}, },
@ -255,7 +276,7 @@
"defaultMessage": "Verbergen" "defaultMessage": "Verbergen"
}, },
"W9355R": { "W9355R": {
"defaultMessage": "Stummschaltung aufheben" "defaultMessage": "Entstummen"
}, },
"X2PZ7D": { "X2PZ7D": {
"defaultMessage": "Ziel erstellen" "defaultMessage": "Ziel erstellen"
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "Sie können das später ändern" "defaultMessage": "Sie können das später ändern"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Weiter" "defaultMessage": "Weiter"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Folge ich" "defaultMessage": "Folge ich"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Entfolgen" "defaultMessage": "Entfolgen"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Endpunkt" "defaultMessage": "Endpunkt"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Stimme" "defaultMessage": "Stimme"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "Stream Typ sollte HLS sein" "defaultMessage": "Stream Typ sollte HLS sein"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Geplant am {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Anmelden" "defaultMessage": "Anmelden"

View File

@ -166,4 +166,4 @@
"y867Vs": "Volume", "y867Vs": "Volume",
"yzKwBQ": "eg. nsec1xyz", "yzKwBQ": "eg. nsec1xyz",
"zVDHAu": "Zap Alert" "zVDHAu": "Zap Alert"
} }

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "Sin correos electrónicos, ¡sólo genialidad!" "defaultMessage": "Sin correos electrónicos, ¡sólo genialidad!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Conectar" "defaultMessage": "Conectar"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Agregar" "defaultMessage": "Agregar"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zap!" "defaultMessage": "Zap!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Cancelar" "defaultMessage": "Cancelar"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, tu dirección de rayos parece incorrecta" "defaultMessage": "Hmm, tu dirección de rayos parece incorrecta"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Url del servidor" "defaultMessage": "Url del servidor"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Proveedores de transmisión" "defaultMessage": "Proveedores de transmisión"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Título" "defaultMessage": "Título"
}, },
"AIHaPH": {
"defaultMessage": "{person} zapearon {amount} sats"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "Contenido NSFW -No Apto Para el Trabajo-" "defaultMessage": "Contenido NSFW -No Apto Para el Trabajo-"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Clave de transmisión" "defaultMessage": "Clave de transmisión"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Ok, es seguro" "defaultMessage": "Ok, es seguro"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "He leído y estoy de acuerdo con los {terms} del {provider}." "defaultMessage": "He leído y estoy de acuerdo con los {terms} del {provider}."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "¡Por favor, inicia sesión para escribir mensajes!" "defaultMessage": "¡Por favor, inicia sesión para escribir mensajes!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Resumen" "defaultMessage": "Resumen"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Finalizado" "defaultMessage": "Finalizado"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "Podrás cambiar esto más tarde" "defaultMessage": "Podrás cambiar esto más tarde"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Continuar" "defaultMessage": "Continuar"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Siguiendo" "defaultMessage": "Siguiendo"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Dejar de seguir" "defaultMessage": "Dejar de seguir"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Extremo" "defaultMessage": "Extremo"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Voz" "defaultMessage": "Voz"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "El tipo de la transmisión debe ser HLS" "defaultMessage": "El tipo de la transmisión debe ser HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Programada para el {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Iniciar sesión" "defaultMessage": "Iniciar sesión"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "No emails, just awesomeness!" "defaultMessage": "No emails, just awesomeness!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "اتصال" "defaultMessage": "اتصال"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "افزودن" "defaultMessage": "افزودن"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "زَپ!" "defaultMessage": "زَپ!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "لغو" "defaultMessage": "لغو"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, your lightning address looks wrong" "defaultMessage": "Hmm, your lightning address looks wrong"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "آدرس سرور" "defaultMessage": "آدرس سرور"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "ارائه دهندگان پخش زنده" "defaultMessage": "ارائه دهندگان پخش زنده"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "عنوان" "defaultMessage": "عنوان"
}, },
"AIHaPH": {
"defaultMessage": "{person} {amount} ساتوشی زپ زد"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "محتوای نامناسب برای کودکان و محل کار" "defaultMessage": "محتوای نامناسب برای کودکان و محل کار"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "کلید پخش زنده" "defaultMessage": "کلید پخش زنده"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "باشه، امن است" "defaultMessage": "باشه، امن است"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "من {terms} {provider} را خوانده و با آن موافقم." "defaultMessage": "من {terms} {provider} را خوانده و با آن موافقم."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "لطفا برای نوشتن پیام وارد شوید!" "defaultMessage": "لطفا برای نوشتن پیام وارد شوید!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "چکیده" "defaultMessage": "چکیده"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "به پایان رسید" "defaultMessage": "به پایان رسید"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "بعدا می توانید این را تغییر دهید" "defaultMessage": "بعدا می توانید این را تغییر دهید"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "ادامه" "defaultMessage": "ادامه"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "بعدی" "defaultMessage": "بعدی"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "لغو دنبال کردن" "defaultMessage": "لغو دنبال کردن"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "مارک‌داون" "defaultMessage": "مارک‌داون"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "نقطه انتها" "defaultMessage": "نقطه انتها"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Voice" "defaultMessage": "Voice"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "نوع پخش باید HLS باشد" "defaultMessage": "نوع پخش باید HLS باشد"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "زمان‌بندی شده برای {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Log In" "defaultMessage": "Log In"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "Ei sähköposteja, pelkästään mahtavuutta!" "defaultMessage": "Ei sähköposteja, pelkästään mahtavuutta!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Yhdistä" "defaultMessage": "Yhdistä"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Lisää" "defaultMessage": "Lisää"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zap!" "defaultMessage": "Zap!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Peruuta" "defaultMessage": "Peruuta"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, lightning-oitteesi näyttää väärältä" "defaultMessage": "Hmm, lightning-oitteesi näyttää väärältä"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Palvelimen URL" "defaultMessage": "Palvelimen URL"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Streamaustarjoajat" "defaultMessage": "Streamaustarjoajat"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Otsikko" "defaultMessage": "Otsikko"
}, },
"AIHaPH": {
"defaultMessage": "{person} zappasi {amount} satsia"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "NSFW-sisältöä" "defaultMessage": "NSFW-sisältöä"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Streamin avain" "defaultMessage": "Streamin avain"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Ok, se on turvassa" "defaultMessage": "Ok, se on turvassa"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "Olen lukenut ja hyväksynyt {provider}:n {terms}." "defaultMessage": "Olen lukenut ja hyväksynyt {provider}:n {terms}."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Kirjaudu sisään kirjoittaaksesi viestejä!" "defaultMessage": "Kirjaudu sisään kirjoittaaksesi viestejä!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Yhteenveto" "defaultMessage": "Yhteenveto"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Päättynyt" "defaultMessage": "Päättynyt"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "Voit muuttaa tätä myöhemmin" "defaultMessage": "Voit muuttaa tätä myöhemmin"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Jatka" "defaultMessage": "Jatka"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Seuraa" "defaultMessage": "Seuraa"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Älä seuraa" "defaultMessage": "Älä seuraa"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Loppupiste" "defaultMessage": "Loppupiste"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Ääni" "defaultMessage": "Ääni"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "Streamin tyyppi tulisi olla HLS" "defaultMessage": "Streamin tyyppi tulisi olla HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Ajoitettu {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Kirjaudu sisään" "defaultMessage": "Kirjaudu sisään"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "Pas d'e-mails, juste génial!" "defaultMessage": "Pas d'e-mails, juste génial!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Se connecter" "defaultMessage": "Se connecter"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Ajouter" "defaultMessage": "Ajouter"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zap !" "defaultMessage": "Zap !"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Annuler" "defaultMessage": "Annuler"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, votre adresse lightning semble incorrecte" "defaultMessage": "Hmm, votre adresse lightning semble incorrecte"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Url du serveur" "defaultMessage": "Url du serveur"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Fournisseurs de Stream" "defaultMessage": "Fournisseurs de Stream"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Titre" "defaultMessage": "Titre"
}, },
"AIHaPH": {
"defaultMessage": "{person} a zappé {amount} sats"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "Contenu NSFW" "defaultMessage": "Contenu NSFW"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Clé de stream" "defaultMessage": "Clé de stream"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Ok, c'est sûr" "defaultMessage": "Ok, c'est sûr"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "J'ai lu et j'accepte les {terms} de {provider}." "defaultMessage": "J'ai lu et j'accepte les {terms} de {provider}."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Veuillez vous connecter pour écrire des messages !" "defaultMessage": "Veuillez vous connecter pour écrire des messages !"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Résumé" "defaultMessage": "Résumé"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Terminé" "defaultMessage": "Terminé"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "Vous pourrez modifier cela ultérieurement" "defaultMessage": "Vous pourrez modifier cela ultérieurement"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Continuer" "defaultMessage": "Continuer"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Abonnements" "defaultMessage": "Abonnements"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Ne plus suivre" "defaultMessage": "Ne plus suivre"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Point darrivée" "defaultMessage": "Point darrivée"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Voix" "defaultMessage": "Voix"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "Le type de stream doit être HLS" "defaultMessage": "Le type de stream doit être HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Prévu pour le {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Se connecter" "defaultMessage": "Se connecter"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "Nincs szükség E-mailre, csak élvezd!" "defaultMessage": "Nincs szükség E-mailre, csak élvezd!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Csatlakozás" "defaultMessage": "Csatlakozás"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Hozzáad" "defaultMessage": "Hozzáad"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zap!" "defaultMessage": "Zap!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Mégse" "defaultMessage": "Mégse"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, a LN címed rossznak tűnik" "defaultMessage": "Hmm, a LN címed rossznak tűnik"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Kiszolgáló URL-címe" "defaultMessage": "Kiszolgáló URL-címe"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Streamszolgáltatók" "defaultMessage": "Streamszolgáltatók"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Cím" "defaultMessage": "Cím"
}, },
"AIHaPH": {
"defaultMessage": "{person} zap-elt {amount} sats"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "Kifogásolható tartalom" "defaultMessage": "Kifogásolható tartalom"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Stream kulcs" "defaultMessage": "Stream kulcs"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Ok, biztonságos" "defaultMessage": "Ok, biztonságos"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "Elolvastam és egyetértek a {provider} {terms}." "defaultMessage": "Elolvastam és egyetértek a {provider} {terms}."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Üzenetek írásához kérjük jelentkezz be!" "defaultMessage": "Üzenetek írásához kérjük jelentkezz be!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Összegzés" "defaultMessage": "Összegzés"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Befejezve" "defaultMessage": "Befejezve"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "Ezt később megváltoztathatod" "defaultMessage": "Ezt később megváltoztathatod"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Folytatás" "defaultMessage": "Folytatás"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Követek" "defaultMessage": "Követek"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Követés visszavonása" "defaultMessage": "Követés visszavonása"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Árleszállítás" "defaultMessage": "Árleszállítás"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Végpont" "defaultMessage": "Végpont"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Hang" "defaultMessage": "Hang"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "A stream típusának HLS-nek kell lennie" "defaultMessage": "A stream típusának HLS-nek kell lennie"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Ütemezett: {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Bejelentkezés" "defaultMessage": "Bejelentkezés"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "Niente emails, solo bellezza!" "defaultMessage": "Niente emails, solo bellezza!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Connetti" "defaultMessage": "Connetti"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Aggiungi" "defaultMessage": "Aggiungi"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zap!" "defaultMessage": "Zap!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Elimina" "defaultMessage": "Elimina"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, il tuo indirizzo lightning sembra non essere corretto" "defaultMessage": "Hmm, il tuo indirizzo lightning sembra non essere corretto"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Url del server" "defaultMessage": "Url del server"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Stream Providers" "defaultMessage": "Stream Providers"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Titolo" "defaultMessage": "Titolo"
}, },
"AIHaPH": {
"defaultMessage": "{person} ha effettuato uno zap di {amount} sats"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "Contenuto NSFW" "defaultMessage": "Contenuto NSFW"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Chiave di flusso" "defaultMessage": "Chiave di flusso"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Ok, è sicuro" "defaultMessage": "Ok, è sicuro"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "Ho letto e sono d'accordo con {provider}''s {terms}." "defaultMessage": "Ho letto e sono d'accordo con {provider}''s {terms}."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Effettuare il login per scrivere i messaggi!" "defaultMessage": "Effettuare il login per scrivere i messaggi!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Sintesi" "defaultMessage": "Sintesi"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Terminato" "defaultMessage": "Terminato"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "È possibile modificarlo in seguito" "defaultMessage": "È possibile modificarlo in seguito"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Continua" "defaultMessage": "Continua"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Di seguito" "defaultMessage": "Di seguito"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Non seguire" "defaultMessage": "Non seguire"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Punto finale" "defaultMessage": "Punto finale"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Voce" "defaultMessage": "Voce"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "Il tipo di flusso dovrebbe essere HLS" "defaultMessage": "Il tipo di flusso dovrebbe essere HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Programmato per {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Accedi" "defaultMessage": "Accedi"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "メールもない!" "defaultMessage": "メールもない!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "接続" "defaultMessage": "接続"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "追加" "defaultMessage": "追加"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "ザップ!" "defaultMessage": "ザップ!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "キャンセル" "defaultMessage": "キャンセル"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "うーん、あなたのライトニングアドレスは間違っているようだ" "defaultMessage": "うーん、あなたのライトニングアドレスは間違っているようだ"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "サーバー URL" "defaultMessage": "サーバー URL"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "配信の提供元" "defaultMessage": "配信の提供元"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "タイトル" "defaultMessage": "タイトル"
}, },
"AIHaPH": {
"defaultMessage": "{person} が {amount} sats をザップしました"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "不適切な内容" "defaultMessage": "不適切な内容"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "配信キー" "defaultMessage": "配信キー"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "はい、大丈夫です" "defaultMessage": "はい、大丈夫です"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "{provider} の {terms} を読み、同意します。" "defaultMessage": "{provider} の {terms} を読み、同意します。"
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "メッセージを書き込むにはログインしてください!" "defaultMessage": "メッセージを書き込むにはログインしてください!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "概要" "defaultMessage": "概要"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "終了しました" "defaultMessage": "終了しました"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "これはあとで変更することができます" "defaultMessage": "これはあとで変更することができます"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "続ける" "defaultMessage": "続ける"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "フォロー中" "defaultMessage": "フォロー中"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "フォロー解除" "defaultMessage": "フォロー解除"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "マークダウン" "defaultMessage": "マークダウン"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "エンドポイント" "defaultMessage": "エンドポイント"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "声" "defaultMessage": "声"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "配信タイプはHLSでなければなりません" "defaultMessage": "配信タイプはHLSでなければなりません"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "配信予定:{date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "ログイン" "defaultMessage": "ログイン"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "Geen e-mails, gewoon geweldig!" "defaultMessage": "Geen e-mails, gewoon geweldig!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Verbinden" "defaultMessage": "Verbinden"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Toevoegen" "defaultMessage": "Toevoegen"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zap!" "defaultMessage": "Zap!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Annuleer" "defaultMessage": "Annuleer"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, je bliksemadres ziet er verkeerd uit" "defaultMessage": "Hmm, je bliksemadres ziet er verkeerd uit"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Url van server" "defaultMessage": "Url van server"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Stream Providers" "defaultMessage": "Stream Providers"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Titel" "defaultMessage": "Titel"
}, },
"AIHaPH": {
"defaultMessage": "{person} zapped {amount} sats"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "NSFW-inhoud" "defaultMessage": "NSFW-inhoud"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Stream Sleutel" "defaultMessage": "Stream Sleutel"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Oké, het is veilig" "defaultMessage": "Oké, het is veilig"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "Ik heb {provider}'s {terms} gelezen en ga hiermee akkoord." "defaultMessage": "Ik heb {provider}'s {terms} gelezen en ga hiermee akkoord."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Log in om berichten te schrijven!" "defaultMessage": "Log in om berichten te schrijven!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Overzicht" "defaultMessage": "Overzicht"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Beëindigd" "defaultMessage": "Beëindigd"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "U kunt dit later wijzigen" "defaultMessage": "U kunt dit later wijzigen"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Hervatten" "defaultMessage": "Hervatten"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Volgend" "defaultMessage": "Volgend"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Ontvolgen" "defaultMessage": "Ontvolgen"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Eindpunt" "defaultMessage": "Eindpunt"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Stem" "defaultMessage": "Stem"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "Stream type moet HLS zijn" "defaultMessage": "Stream type moet HLS zijn"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Gepland voor {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Aanmelden" "defaultMessage": "Aanmelden"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "Sem e-mails, só coisas incríveis!" "defaultMessage": "Sem e-mails, só coisas incríveis!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Conectar" "defaultMessage": "Conectar"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Adicionar" "defaultMessage": "Adicionar"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zap!" "defaultMessage": "Zap!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Cancelar" "defaultMessage": "Cancelar"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, seu endereço lightning parece errado" "defaultMessage": "Hmm, seu endereço lightning parece errado"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Url do Servidor" "defaultMessage": "Url do Servidor"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Provedores de Transmissão" "defaultMessage": "Provedores de Transmissão"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Título" "defaultMessage": "Título"
}, },
"AIHaPH": {
"defaultMessage": "{person} zapeou {amount} sats"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "Conteúdo NSFW" "defaultMessage": "Conteúdo NSFW"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Chave de Transmissão" "defaultMessage": "Chave de Transmissão"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Ok, está seguro" "defaultMessage": "Ok, está seguro"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "Eu li e concordo com {provider} {terms}." "defaultMessage": "Eu li e concordo com {provider} {terms}."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Por favor, faça login para escrever mensagens!" "defaultMessage": "Por favor, faça login para escrever mensagens!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Resumo" "defaultMessage": "Resumo"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Encerrado" "defaultMessage": "Encerrado"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "Você pode alterar isto mais tarde" "defaultMessage": "Você pode alterar isto mais tarde"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Continuar" "defaultMessage": "Continuar"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Seguindo" "defaultMessage": "Seguindo"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Deixar de seguir" "defaultMessage": "Deixar de seguir"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Formatação (markdown)" "defaultMessage": "Formatação (markdown)"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Ponto final" "defaultMessage": "Ponto final"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Voz" "defaultMessage": "Voz"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "O tipo de transmissão deve ser HLS" "defaultMessage": "O tipo de transmissão deve ser HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Agendado para {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Entrar" "defaultMessage": "Entrar"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "В ящике нет ни одного письма, только величие!" "defaultMessage": "В ящике нет ни одного письма, только величие!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Подключить" "defaultMessage": "Подключить"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Добавить" "defaultMessage": "Добавить"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Зап!" "defaultMessage": "Зап!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Отменить" "defaultMessage": "Отменить"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Хм, похоже вы ввели неверный лайтнинг-адрес" "defaultMessage": "Хм, похоже вы ввели неверный лайтнинг-адрес"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "URL сервера" "defaultMessage": "URL сервера"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Стрим-провайдеры" "defaultMessage": "Стрим-провайдеры"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Название" "defaultMessage": "Название"
}, },
"AIHaPH": {
"defaultMessage": "{person} запнул {amount} сат"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "NSFW контент" "defaultMessage": "NSFW контент"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Ключ стрима" "defaultMessage": "Ключ стрима"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Ок, безопасно" "defaultMessage": "Ок, безопасно"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "Я прочитал и согласен с {provider} {terms}." "defaultMessage": "Я прочитал и согласен с {provider} {terms}."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Пожалуйста, войдите, чтобы писать сообщения!" "defaultMessage": "Пожалуйста, войдите, чтобы писать сообщения!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Краткое описание" "defaultMessage": "Краткое описание"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Завершено" "defaultMessage": "Завершено"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "Вы сможете изменить эту настройку позже" "defaultMessage": "Вы сможете изменить эту настройку позже"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Продолжить" "defaultMessage": "Продолжить"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Подписки" "defaultMessage": "Подписки"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Отписаться" "defaultMessage": "Отписаться"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Endpoint" "defaultMessage": "Endpoint"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Голос" "defaultMessage": "Голос"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "Тип потока должен быть HLS" "defaultMessage": "Тип потока должен быть HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Запланировано на {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Войти" "defaultMessage": "Войти"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "Inga e-post, bara fantastiskt!" "defaultMessage": "Inga e-post, bara fantastiskt!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Anslut" "defaultMessage": "Anslut"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Lägg till" "defaultMessage": "Lägg till"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zap!" "defaultMessage": "Zap!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Avbryt" "defaultMessage": "Avbryt"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, din lightning adress ser fel ut" "defaultMessage": "Hmm, din lightning adress ser fel ut"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Server Url" "defaultMessage": "Server Url"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Stream Leverantörer" "defaultMessage": "Stream Leverantörer"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Titel" "defaultMessage": "Titel"
}, },
"AIHaPH": {
"defaultMessage": "{person} zapped {amount} sats"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "NSFW-innehåll" "defaultMessage": "NSFW-innehåll"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Stream nyckel" "defaultMessage": "Stream nyckel"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Ok, det är säkert" "defaultMessage": "Ok, det är säkert"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "Jag har läst och godkänner {provider}'s {terms}." "defaultMessage": "Jag har läst och godkänner {provider}'s {terms}."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Vänligen logga in för att skriva meddelanden!" "defaultMessage": "Vänligen logga in för att skriva meddelanden!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Summering" "defaultMessage": "Summering"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Avslutade" "defaultMessage": "Avslutade"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "Du kan ändra detta senare" "defaultMessage": "Du kan ändra detta senare"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Fortsätt" "defaultMessage": "Fortsätt"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Följer" "defaultMessage": "Följer"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Sluta följa" "defaultMessage": "Sluta följa"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Slutpunkt" "defaultMessage": "Slutpunkt"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Röst" "defaultMessage": "Röst"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "Stream typ bör vara HLS" "defaultMessage": "Stream typ bör vara HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Schemalagd för {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Logga In" "defaultMessage": "Logga In"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "Hakuna barua pepe, uzuri tu!" "defaultMessage": "Hakuna barua pepe, uzuri tu!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "Unganisha" "defaultMessage": "Unganisha"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "Ongeza" "defaultMessage": "Ongeza"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zap!" "defaultMessage": "Zap!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "Ghairi" "defaultMessage": "Ghairi"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, anwani yako ya umeme inaonekana si sahihi" "defaultMessage": "Hmm, anwani yako ya umeme inaonekana si sahihi"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "Url ya seva" "defaultMessage": "Url ya seva"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "Watoa huduma za mkondo" "defaultMessage": "Watoa huduma za mkondo"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "Kichwa" "defaultMessage": "Kichwa"
}, },
"AIHaPH": {
"defaultMessage": "{person} amezap {amount} sats"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "Maudhui ya NSFW" "defaultMessage": "Maudhui ya NSFW"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Ufunguo wa Kutiririsha" "defaultMessage": "Ufunguo wa Kutiririsha"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "Sawa, ni salama" "defaultMessage": "Sawa, ni salama"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "Nimesoma na kukubaliana na {terms} ya {provider}." "defaultMessage": "Nimesoma na kukubaliana na {terms} ya {provider}."
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "Tafadhali ingia ili kuandika ujumbe!" "defaultMessage": "Tafadhali ingia ili kuandika ujumbe!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "Muhtasari" "defaultMessage": "Muhtasari"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Imeisha" "defaultMessage": "Imeisha"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "Unaweza kubadilisha hii baadaye" "defaultMessage": "Unaweza kubadilisha hii baadaye"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "Endelea" "defaultMessage": "Endelea"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Kufuatia" "defaultMessage": "Kufuatia"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "Acha kufuata" "defaultMessage": "Acha kufuata"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Alama" "defaultMessage": "Alama"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Mwisho" "defaultMessage": "Mwisho"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Sauti" "defaultMessage": "Sauti"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "Aina ya mtiririko inapaswa kuwa HLS" "defaultMessage": "Aina ya mtiririko inapaswa kuwa HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "Imeratibiwa tarehe {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Ingia" "defaultMessage": "Ingia"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "No emails, just awesomeness!" "defaultMessage": "No emails, just awesomeness!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "เชื่อมต่อ" "defaultMessage": "เชื่อมต่อ"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "เพิ่ม" "defaultMessage": "เพิ่ม"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "Zaps!" "defaultMessage": "Zaps!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "ยกเลิก" "defaultMessage": "ยกเลิก"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "Hmm, your lightning address looks wrong" "defaultMessage": "Hmm, your lightning address looks wrong"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "ที่อยู่ของเซิร์ฟเวอร์" "defaultMessage": "ที่อยู่ของเซิร์ฟเวอร์"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "เริ่มถ่ายทอดสด" "defaultMessage": "เริ่มถ่ายทอดสด"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "หัวข้อ" "defaultMessage": "หัวข้อ"
}, },
"AIHaPH": {
"defaultMessage": "{person} ส่ง Zap ให้ {amount} ⚡"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "เนื้อหาที่ไม่เหมาะสม" "defaultMessage": "เนื้อหาที่ไม่เหมาะสม"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "Stream Key" "defaultMessage": "Stream Key"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "ฉันจัดเก็บรหัสไว้ดีแล้ว" "defaultMessage": "ฉันจัดเก็บรหัสไว้ดีแล้ว"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "ฉันได้อ่าน {terms} เรียบร้อยและ เห็นด้วยกับ {provider} ในข้อกำหนดและเงื่อนไขการใช้เว็บไซต์หรือการใช้แอปพลิเคชัน" "defaultMessage": "ฉันได้อ่าน {terms} เรียบร้อยและ เห็นด้วยกับ {provider} ในข้อกำหนดและเงื่อนไขการใช้เว็บไซต์หรือการใช้แอปพลิเคชัน"
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "โปรดเข้าสู่ระบบ เพื่อร่วมส่งข้อความ" "defaultMessage": "โปรดเข้าสู่ระบบ เพื่อร่วมส่งข้อความ"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "ภาพรวม" "defaultMessage": "ภาพรวม"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "Ended" "defaultMessage": "Ended"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "คุณยังสามารถเปลี่ยนได้ในภายหลัง" "defaultMessage": "คุณยังสามารถเปลี่ยนได้ในภายหลัง"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "ดำเนินการต่อ" "defaultMessage": "ดำเนินการต่อ"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "Following" "defaultMessage": "Following"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "เลิกติดตาม" "defaultMessage": "เลิกติดตาม"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "Endpoint" "defaultMessage": "Endpoint"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "Voice" "defaultMessage": "Voice"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "Stream type should be HLS" "defaultMessage": "Stream type should be HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "จะมีการถ่ายทอดสดเวลา {date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "Log In" "defaultMessage": "Log In"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "没有电子邮件,只是最棒!" "defaultMessage": "没有电子邮件,只是最棒!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "连接" "defaultMessage": "连接"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "添加" "defaultMessage": "添加"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "打闪!" "defaultMessage": "打闪!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "取消" "defaultMessage": "取消"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "嗯,看起来你的闪电地址不对" "defaultMessage": "嗯,看起来你的闪电地址不对"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "服务器 URL" "defaultMessage": "服务器 URL"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "直播流來源" "defaultMessage": "直播流來源"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "标题" "defaultMessage": "标题"
}, },
"AIHaPH": {
"defaultMessage": "{person}已打闪{amount}聪"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "NSFW 内容" "defaultMessage": "NSFW 内容"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "直播流密钥" "defaultMessage": "直播流密钥"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "好,是安全的" "defaultMessage": "好,是安全的"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "我已阅读并同意{provider}的{terms}。" "defaultMessage": "我已阅读并同意{provider}的{terms}。"
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "请登录以撰写消息!" "defaultMessage": "请登录以撰写消息!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "概要" "defaultMessage": "概要"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "已结束" "defaultMessage": "已结束"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "你可以稍后更改它" "defaultMessage": "你可以稍后更改它"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "继续" "defaultMessage": "继续"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "已关注" "defaultMessage": "已关注"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "取消关注" "defaultMessage": "取消关注"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "端点" "defaultMessage": "端点"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "语音" "defaultMessage": "语音"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "直播流类型应该是 HLS" "defaultMessage": "直播流类型应该是 HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "预定于{date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "登录" "defaultMessage": "登录"

View File

@ -5,6 +5,9 @@
"+AcVD+": { "+AcVD+": {
"defaultMessage": "沒有電子郵件,只有最棒!" "defaultMessage": "沒有電子郵件,只有最棒!"
}, },
"+sdKx8": {
"defaultMessage": "Live now"
},
"+vVZ/G": { "+vVZ/G": {
"defaultMessage": "連接" "defaultMessage": "連接"
}, },
@ -38,6 +41,9 @@
"2/2yg+": { "2/2yg+": {
"defaultMessage": "添加" "defaultMessage": "添加"
}, },
"37mth/": {
"defaultMessage": "Viewers"
},
"3HwrQo": { "3HwrQo": {
"defaultMessage": "打閃!" "defaultMessage": "打閃!"
}, },
@ -50,6 +56,9 @@
"47FYwb": { "47FYwb": {
"defaultMessage": "取消" "defaultMessage": "取消"
}, },
"4iBdw1": {
"defaultMessage": "Raid"
},
"4l69eO": { "4l69eO": {
"defaultMessage": "嗯,看起來你的閃電地址不對" "defaultMessage": "嗯,看起來你的閃電地址不對"
}, },
@ -68,6 +77,12 @@
"5kx+2v": { "5kx+2v": {
"defaultMessage": "伺服器 URL" "defaultMessage": "伺服器 URL"
}, },
"5tM0VD": {
"defaultMessage": "Stream Started"
},
"69hmpj": {
"defaultMessage": "Raid from {name}"
},
"6Z2pvJ": { "6Z2pvJ": {
"defaultMessage": "直播流來源" "defaultMessage": "直播流來源"
}, },
@ -89,9 +104,6 @@
"9a9+ww": { "9a9+ww": {
"defaultMessage": "標題" "defaultMessage": "標題"
}, },
"AIHaPH": {
"defaultMessage": "{person}已打閃{amount}聰"
},
"Atr2p4": { "Atr2p4": {
"defaultMessage": "NSFW 内容" "defaultMessage": "NSFW 内容"
}, },
@ -188,6 +200,9 @@
"LknBsU": { "LknBsU": {
"defaultMessage": "直播流密鑰" "defaultMessage": "直播流密鑰"
}, },
"MTHO1W": {
"defaultMessage": "Start Raid"
},
"My6HwN": { "My6HwN": {
"defaultMessage": "好,是安全的" "defaultMessage": "好,是安全的"
}, },
@ -230,12 +245,18 @@
"RJOmzk": { "RJOmzk": {
"defaultMessage": "我已閱讀並同意{provider}的{terms}。" "defaultMessage": "我已閱讀並同意{provider}的{terms}。"
}, },
"RS6smY": {
"defaultMessage": "Raid Message"
},
"RXQdxR": { "RXQdxR": {
"defaultMessage": "請登錄以撰寫消息!" "defaultMessage": "請登錄以撰寫消息!"
}, },
"RrCui3": { "RrCui3": {
"defaultMessage": "概要" "defaultMessage": "概要"
}, },
"RtYNX5": {
"defaultMessage": "Chat Users"
},
"TP/cMX": { "TP/cMX": {
"defaultMessage": "已結束" "defaultMessage": "已結束"
}, },
@ -276,9 +297,18 @@
"ZmqxZs": { "ZmqxZs": {
"defaultMessage": "你可以稍後更改它" "defaultMessage": "你可以稍後更改它"
}, },
"Zse7yG": {
"defaultMessage": "Raid target"
},
"acrOoz": { "acrOoz": {
"defaultMessage": "繼續" "defaultMessage": "繼續"
}, },
"aqjZxs": {
"defaultMessage": "Raid!"
},
"bfvyfs": {
"defaultMessage": "Anon"
},
"cPIKU2": { "cPIKU2": {
"defaultMessage": "已關注" "defaultMessage": "已關注"
}, },
@ -333,9 +363,18 @@
"izWS4J": { "izWS4J": {
"defaultMessage": "取消關注" "defaultMessage": "取消關注"
}, },
"j/jueq": {
"defaultMessage": "Raiding {name}"
},
"jctiUc": {
"defaultMessage": "Highest Viewers"
},
"jgOqxt": { "jgOqxt": {
"defaultMessage": "Widgets" "defaultMessage": "Widgets"
}, },
"jkAQj5": {
"defaultMessage": "Stream Ended"
},
"jr4+vD": { "jr4+vD": {
"defaultMessage": "Markdown" "defaultMessage": "Markdown"
}, },
@ -354,6 +393,9 @@
"ljmS5P": { "ljmS5P": {
"defaultMessage": "端點" "defaultMessage": "端點"
}, },
"miQKuZ": {
"defaultMessage": "Stream Time"
},
"mnJYBQ": { "mnJYBQ": {
"defaultMessage": "語音" "defaultMessage": "語音"
}, },
@ -378,8 +420,8 @@
"oZrFyI": { "oZrFyI": {
"defaultMessage": "直播流類型應該是 HLS" "defaultMessage": "直播流類型應該是 HLS"
}, },
"pO/lPX": { "q+zTWM": {
"defaultMessage": "預定於{date}" "defaultMessage": "<s>{person}</s> zapped <s>{amount}</s> sats"
}, },
"r2Jjms": { "r2Jjms": {
"defaultMessage": "登錄" "defaultMessage": "登錄"

View File

@ -13,7 +13,7 @@ module.exports = {
}, },
animation: { animation: {
"ping-once": "ping 1s cubic-bezier(0, 0, 0.2, 1);", "ping-once": "ping 1s cubic-bezier(0, 0, 0.2, 1);",
flash: "pulse 0.5s 6 linear;" flash: "pulse 0.5s 6 linear;",
}, },
}, },
}, },