Compare commits
27 Commits
fc38049b87
...
3f9805c48a
Author | SHA1 | Date | |
---|---|---|---|
3f9805c48a | |||
b48ea3167a | |||
7f2149b8f1 | |||
bef8b40c8b | |||
23b45961aa | |||
11c32c2745 | |||
7587db9c8b | |||
38b647938e | |||
89982793ed | |||
88d5ff73e0 | |||
77016cfbc7 | |||
4d12de302d | |||
7c839ae3a8 | |||
15ee38c24f | |||
4342669896 | |||
|
8e34a7a078 | ||
c162ac6428 | |||
c3ab453022 | |||
a47e44d492 | |||
0a0c67dc89 | |||
1eb2fa4b90 | |||
9d19d02636 | |||
2efef99c95 | |||
e191528c4c | |||
317b58b298 | |||
f33961232b | |||
ecb0f0e78a |
@ -1,2 +1,2 @@
|
||||
/*
|
||||
Content-Security-Policy: default-src 'self'; manifest-src *; child-src 'none'; worker-src 'self'; frame-src youtube.com www.youtube.com https://platform.twitter.com https://embed.tidal.com https://w.soundcloud.com https://www.mixcloud.com https://open.spotify.com https://player.twitch.tv https://embed.music.apple.com https://nostrnests.com https://embed.wavlake.com; style-src 'self' 'unsafe-inline'; connect-src *; img-src * data: blob:; font-src 'self'; media-src * blob:; script-src 'self' 'wasm-unsafe-eval' https://analytics.v0l.io https://platform.twitter.com https://embed.tidal.com;
|
||||
Content-Security-Policy: default-src 'self'; manifest-src *; child-src 'none'; worker-src 'self'; frame-src youtube.com www.youtube.com https://platform.twitter.com https://embed.tidal.com https://w.soundcloud.com https://www.mixcloud.com https://open.spotify.com https://player.twitch.tv https://embed.music.apple.com https://nostrnests.com https://embed.wavlake.com https://challenges.cloudflare.com; style-src 'self' 'unsafe-inline'; connect-src *; img-src * data: blob:; font-src 'self'; media-src * blob:; script-src 'self' 'wasm-unsafe-eval' https://analytics.v0l.io https://platform.twitter.com https://embed.tidal.com https://challenges.cloudflare.com;
|
@ -3,5 +3,6 @@
|
||||
"appNameCapitalized": "Snort",
|
||||
"appTitle": "Snort - Nostr",
|
||||
"nip05Domain": "snort.social",
|
||||
"favicon": "public/favicon.ico"
|
||||
"favicon": "public/favicon.ico",
|
||||
"appleTouchIconUrl": "/nostrich_512.png"
|
||||
}
|
||||
|
@ -3,5 +3,6 @@
|
||||
"appNameCapitalized": "Iris",
|
||||
"appTitle": "iris",
|
||||
"nip05Domain": "iris.to",
|
||||
"favicon": "public/iris.ico"
|
||||
"favicon": "public/iris/favicon.ico",
|
||||
"appleTouchIconUrl": "/img/apple-touch-icon.png"
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
name="keywords"
|
||||
content="nostr snort fast decentralized social media censorship resistant open source software" />
|
||||
<link rel="preconnect" href="https://imgproxy.snort.social" />
|
||||
<link rel="apple-touch-icon" href="/nostrich_512.png" />
|
||||
<link rel="apple-touch-icon" href="<%= htmlWebpackPlugin.options.templateParameters.appleTouchIconUrl %>" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<title><%= htmlWebpackPlugin.options.templateParameters.appTitle %></title>
|
||||
</head>
|
||||
|
12
packages/app/public/iris/.well-known/assetlinks.json
Normal file
@ -0,0 +1,12 @@
|
||||
[
|
||||
{
|
||||
"relation": ["delegate_permission/common.handle_all_urls"],
|
||||
"target": {
|
||||
"namespace": "android_app",
|
||||
"package_name": "to.iris.twa",
|
||||
"sha256_cert_fingerprints": [
|
||||
"63:B5:70:E8:F1:75:7E:D6:EF:81:11:66:F4:9D:47:AB:49:3C:2E:00:B9:67:92:40:89:A5:03:0B:96:B9:40:09"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
BIN
packages/app/public/iris/img/android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
packages/app/public/iris/img/android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
packages/app/public/iris/img/apple-touch-icon.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
packages/app/public/iris/img/irisconnects.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
packages/app/public/iris/img/maskable_icon.png
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
packages/app/public/iris/img/maskable_icon_x192.png
Normal file
After Width: | Height: | Size: 12 KiB |
41
packages/app/public/iris/manifest_iris.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"short_name": "Iris",
|
||||
"name": "Iris",
|
||||
"description": "Fast nostr web ui",
|
||||
"id": "/",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/img/android-chrome-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"src": "/img/android-chrome-512x512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/img/maskable_icon.png",
|
||||
"sizes": "640x640",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/img/maskable_icon_x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
}
|
||||
],
|
||||
"start_url": "/",
|
||||
"display": "standalone",
|
||||
"theme_color": "#000000",
|
||||
"background_color": "#000000",
|
||||
"protocol_handlers": [
|
||||
{
|
||||
"protocol": "web+nostr",
|
||||
"url": "/%s"
|
||||
}
|
||||
]
|
||||
}
|
@ -15,6 +15,11 @@ export const Day = Hour * 24;
|
||||
*/
|
||||
export const ApiHost = "https://api.snort.social";
|
||||
|
||||
/**
|
||||
* Iris api for free nip05 names
|
||||
*/
|
||||
export const IrisHost = "https://api.iris.to";
|
||||
|
||||
/**
|
||||
* LibreTranslate endpoint
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
import "./SpotlightMedia.css";
|
||||
import { useMemo, useState } from "react";
|
||||
import { useEffect, useMemo, useState } from "react";
|
||||
import Modal from "Element/Modal";
|
||||
import Icon from "Icons/Icon";
|
||||
import { ProxyImg } from "Element/ProxyImg";
|
||||
@ -17,6 +17,24 @@ export function SpotlightMedia(props: SpotlightMediaProps) {
|
||||
return props.images.at(idx % props.images.length);
|
||||
}, [idx, props]);
|
||||
|
||||
useEffect(() => {
|
||||
const handleKeyDown = (e: KeyboardEvent) => {
|
||||
switch (e.key) {
|
||||
case "ArrowLeft":
|
||||
case "ArrowUp":
|
||||
dec();
|
||||
break;
|
||||
case "ArrowRight":
|
||||
case "ArrowDown":
|
||||
inc();
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
document.addEventListener("keydown", handleKeyDown);
|
||||
return () => document.removeEventListener("keydown", handleKeyDown);
|
||||
}, []);
|
||||
|
||||
function dec() {
|
||||
setIdx(s => {
|
||||
if (s - 1 === -1) {
|
||||
@ -36,6 +54,7 @@ export function SpotlightMedia(props: SpotlightMediaProps) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="spotlight">
|
||||
<ProxyImg src={image} />
|
||||
|
@ -2,6 +2,6 @@
|
||||
color: var(--highlight);
|
||||
}
|
||||
|
||||
.hashtag > a {
|
||||
text-decoration: none;
|
||||
.hashtag::after {
|
||||
content: " ";
|
||||
}
|
||||
|
31
packages/app/src/Element/IrisAccount/AccountName.tsx
Normal file
@ -0,0 +1,31 @@
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import FormattedMessage from "Element/FormattedMessage";
|
||||
|
||||
export default function AccountName({ name = "", link = true }) {
|
||||
const navigate = useNavigate();
|
||||
return (
|
||||
<>
|
||||
<div>
|
||||
<FormattedMessage defaultMessage="Username" />: <b>{name}</b>
|
||||
</div>
|
||||
<div>
|
||||
<FormattedMessage defaultMessage="Short link" />:{" "}
|
||||
{link ? (
|
||||
<a
|
||||
href={`https://iris.to/${name}`}
|
||||
onClick={e => {
|
||||
e.preventDefault();
|
||||
navigate(`/${name}`);
|
||||
}}>
|
||||
iris.to/{name}
|
||||
</a>
|
||||
) : (
|
||||
<>iris.to/{name}</>
|
||||
)}
|
||||
</div>
|
||||
<div>
|
||||
<FormattedMessage defaultMessage="Nostr address (nip05)" />: <b>{name}@iris.to</b>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
}
|
74
packages/app/src/Element/IrisAccount/ActiveAccount.tsx
Normal file
@ -0,0 +1,74 @@
|
||||
import AccountName from "./AccountName";
|
||||
import useLogin from "../../Hooks/useLogin";
|
||||
import { useUserProfile } from "@snort/system-react";
|
||||
import { System } from "../../index";
|
||||
import { UserCache } from "../../Cache";
|
||||
import useEventPublisher from "../../Hooks/useEventPublisher";
|
||||
import { mapEventToProfile } from "@snort/system";
|
||||
import FormattedMessage from "Element/FormattedMessage";
|
||||
|
||||
export default function ActiveAccount({ name = "", setAsPrimary = () => {} }) {
|
||||
const { publicKey, readonly } = useLogin(s => ({
|
||||
publicKey: s.publicKey,
|
||||
readonly: s.readonly,
|
||||
}));
|
||||
const profile = useUserProfile(publicKey);
|
||||
const publisher = useEventPublisher();
|
||||
|
||||
async function saveProfile(nip05: string) {
|
||||
if (readonly) {
|
||||
return;
|
||||
}
|
||||
// copy user object and delete internal fields
|
||||
const userCopy = {
|
||||
...(profile || {}),
|
||||
nip05,
|
||||
} as Record<string, string | number | undefined | boolean>;
|
||||
delete userCopy["loaded"];
|
||||
delete userCopy["created"];
|
||||
delete userCopy["pubkey"];
|
||||
delete userCopy["npub"];
|
||||
delete userCopy["deleted"];
|
||||
delete userCopy["zapService"];
|
||||
delete userCopy["isNostrAddressValid"];
|
||||
console.debug(userCopy);
|
||||
|
||||
if (publisher) {
|
||||
const ev = await publisher.metadata(userCopy);
|
||||
System.BroadcastEvent(ev);
|
||||
|
||||
const newProfile = mapEventToProfile(ev);
|
||||
if (newProfile) {
|
||||
await UserCache.update(newProfile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const onClick = () => {
|
||||
const newNip = name + "@iris.to";
|
||||
const timeout = setTimeout(() => {
|
||||
saveProfile(newNip);
|
||||
}, 2000);
|
||||
if (profile) {
|
||||
clearTimeout(timeout);
|
||||
if (profile.nip05 !== newNip) {
|
||||
saveProfile(newNip);
|
||||
setAsPrimary();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className="negative">
|
||||
<FormattedMessage defaultMessage="You have an active iris.to account" />:
|
||||
<AccountName name={name} />
|
||||
</div>
|
||||
<p>
|
||||
<button type="button" onClick={onClick}>
|
||||
<FormattedMessage defaultMessage="Set as primary Nostr address (nip05)" />
|
||||
</button>
|
||||
</p>
|
||||
</div>
|
||||
);
|
||||
}
|
307
packages/app/src/Element/IrisAccount/IrisAccount.tsx
Normal file
@ -0,0 +1,307 @@
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
import { Component, FormEvent } from "react";
|
||||
import { LoginStore } from "Login";
|
||||
|
||||
import AccountName from "./AccountName";
|
||||
import ActiveAccount from "./ActiveAccount";
|
||||
import ReservedAccount from "./ReservedAccount";
|
||||
import { ProfileLoader } from "../../index";
|
||||
import FormattedMessage from "Element/FormattedMessage";
|
||||
import { injectIntl } from "react-intl";
|
||||
import messages from "Element/messages";
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
cf_turnstile_callback: any;
|
||||
}
|
||||
}
|
||||
|
||||
type Props = {
|
||||
intl: any;
|
||||
};
|
||||
|
||||
// TODO split into smaller components
|
||||
class IrisAccount extends Component<Props> {
|
||||
state = {
|
||||
irisToActive: false,
|
||||
existing: null as any,
|
||||
profile: null as any,
|
||||
newUserName: "",
|
||||
newUserNameValid: false,
|
||||
error: null as any,
|
||||
showChallenge: false,
|
||||
invalidUsernameMessage: null as any,
|
||||
};
|
||||
|
||||
render() {
|
||||
let view: any;
|
||||
|
||||
if (this.state.irisToActive) {
|
||||
const username = this.state.profile?.nip05.split("@")[0];
|
||||
view = <AccountName name={username} />;
|
||||
} else if (this.state.existing && this.state.existing.confirmed) {
|
||||
view = (
|
||||
<ActiveAccount name={this.state.existing.name} setAsPrimary={() => this.setState({ irisToActive: true })} />
|
||||
);
|
||||
} else if (this.state.existing) {
|
||||
view = (
|
||||
<ReservedAccount
|
||||
name={this.state.existing.name}
|
||||
enableReserved={() => this.enableReserved()}
|
||||
declineReserved={() => this.declineReserved()}
|
||||
/>
|
||||
);
|
||||
} else if (this.state.error) {
|
||||
view = <div className="error">Error: {this.state.error}</div>;
|
||||
} else if (this.state.showChallenge) {
|
||||
window.cf_turnstile_callback = (token: any) => this.register(token);
|
||||
view = (
|
||||
<>
|
||||
<div
|
||||
className="cf-turnstile"
|
||||
data-sitekey={
|
||||
["iris.to", "beta.iris.to", "snort.social"].includes(window.location.hostname)
|
||||
? "0x4AAAAAAACsEd8XuwpPTFwz"
|
||||
: "3x00000000000000000000FF"
|
||||
}
|
||||
data-callback="cf_turnstile_callback"></div>
|
||||
</>
|
||||
);
|
||||
} else {
|
||||
view = (
|
||||
<div>
|
||||
<p>
|
||||
<FormattedMessage defaultMessage="Register an Iris username" /> (iris.to/username)
|
||||
</p>
|
||||
<form onSubmit={e => this.showChallenge(e)}>
|
||||
<div className="flex g8">
|
||||
<input
|
||||
className="input"
|
||||
type="text"
|
||||
placeholder="Username"
|
||||
value={this.state.newUserName}
|
||||
onInput={e => this.onNewUserNameChange(e)}
|
||||
/>
|
||||
<button type="submit">
|
||||
<FormattedMessage defaultMessage="Register" />
|
||||
</button>
|
||||
</div>
|
||||
<div>
|
||||
{this.state.newUserNameValid ? (
|
||||
<>
|
||||
<span className="success">
|
||||
<FormattedMessage defaultMessage="Username is available" />
|
||||
</span>
|
||||
<AccountName name={this.state.newUserName} link={false} />
|
||||
</>
|
||||
) : (
|
||||
<span className="error">{this.state.invalidUsernameMessage}</span>
|
||||
)}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<h3>
|
||||
<FormattedMessage defaultMessage="Iris.to account" />
|
||||
</h3>
|
||||
{view}
|
||||
<p>
|
||||
<a href="https://github.com/irislib/faq#iris-username">FAQ</a>
|
||||
</p>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
async onNewUserNameChange(e: any) {
|
||||
const newUserName = e.target.value;
|
||||
if (newUserName.length === 0) {
|
||||
this.setState({
|
||||
newUserName,
|
||||
newUserNameValid: false,
|
||||
invalidUsernameMessage: "",
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (newUserName.length < 8 || newUserName.length > 15) {
|
||||
this.setState({
|
||||
newUserName,
|
||||
newUserNameValid: false,
|
||||
invalidUsernameMessage: this.props.intl.formatMessage(messages.IrisUserNameLengthError),
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (!newUserName.match(/^[a-z0-9_.]+$/)) {
|
||||
this.setState({
|
||||
newUserName,
|
||||
newUserNameValid: false,
|
||||
invalidUsernameMessage: this.props.intl.formatMessage(messages.IrisUserNameFormatError),
|
||||
});
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
newUserName,
|
||||
invalidUsernameMessage: "",
|
||||
});
|
||||
this.checkAvailabilityFromAPI(newUserName);
|
||||
}
|
||||
|
||||
checkAvailabilityFromAPI = async (name: string) => {
|
||||
const res = await fetch(`https://api.iris.to/user/available?name=${encodeURIComponent(name)}`);
|
||||
if (name !== this.state.newUserName) {
|
||||
return;
|
||||
}
|
||||
if (res.status < 500) {
|
||||
const json = await res.json();
|
||||
if (json.available) {
|
||||
this.setState({ newUserNameValid: true });
|
||||
} else {
|
||||
this.setState({
|
||||
newUserNameValid: false,
|
||||
invalidUsernameMessage: json.message,
|
||||
});
|
||||
}
|
||||
} else {
|
||||
this.setState({
|
||||
newUserNameValid: false,
|
||||
invalidUsernameMessage: "Error checking username availability",
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
showChallenge(e: FormEvent<HTMLFormElement>) {
|
||||
e.preventDefault();
|
||||
if (!this.state.newUserNameValid) {
|
||||
return;
|
||||
}
|
||||
this.setState({ showChallenge: true }, () => {
|
||||
// Dynamically injecting Cloudflare script
|
||||
if (!document.querySelector('script[src="https://challenges.cloudflare.com/turnstile/v0/api.js"]')) {
|
||||
const script = document.createElement("script");
|
||||
script.src = "https://challenges.cloudflare.com/turnstile/v0/api.js";
|
||||
script.async = true;
|
||||
script.defer = true;
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async register(cfToken: any) {
|
||||
console.log("register", cfToken);
|
||||
const login = LoginStore.snapshot();
|
||||
const publisher = LoginStore.getPublisher(login.id);
|
||||
const event = await publisher?.note(`iris.to/${this.state.newUserName}`);
|
||||
// post signed event as request body to https://api.iris.to/user/confirm_user
|
||||
const res = await fetch("https://api.iris.to/user/signup", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify({ event, cfToken }),
|
||||
});
|
||||
if (res.status === 200) {
|
||||
this.setState({
|
||||
error: null,
|
||||
existing: {
|
||||
confirmed: true,
|
||||
name: this.state.newUserName,
|
||||
},
|
||||
});
|
||||
delete window.cf_turnstile_callback;
|
||||
} else {
|
||||
res
|
||||
.json()
|
||||
.then(json => {
|
||||
this.setState({ error: json.message || "error" });
|
||||
})
|
||||
.catch(() => {
|
||||
this.setState({ error: "error" });
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async enableReserved() {
|
||||
const login = LoginStore.snapshot();
|
||||
const publisher = LoginStore.getPublisher(login.id);
|
||||
const event = await publisher?.note(`iris.to/${this.state.newUserName}`);
|
||||
// post signed event as request body to https://api.iris.to/user/confirm_user
|
||||
const res = await fetch("https://api.iris.to/user/confirm_user", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify(event),
|
||||
});
|
||||
if (res.status === 200) {
|
||||
this.setState({
|
||||
error: null,
|
||||
existing: { confirmed: true, name: this.state.existing.name },
|
||||
});
|
||||
} else {
|
||||
res
|
||||
.json()
|
||||
.then(json => {
|
||||
this.setState({ error: json.message || "error" });
|
||||
})
|
||||
.catch(() => {
|
||||
this.setState({ error: "error" });
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async declineReserved() {
|
||||
if (!confirm(`Are you sure you want to decline iris.to/${name}?`)) {
|
||||
return;
|
||||
}
|
||||
const login = LoginStore.snapshot();
|
||||
const publisher = LoginStore.getPublisher(login.id);
|
||||
const event = await publisher?.note(`decline iris.to/${this.state.newUserName}`);
|
||||
const res = await fetch("https://api.iris.to/user/decline_user", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify(event),
|
||||
});
|
||||
if (res.status === 200) {
|
||||
this.setState({ confirmSuccess: false, error: null, existing: null });
|
||||
} else {
|
||||
res
|
||||
.json()
|
||||
.then(json => {
|
||||
this.setState({ error: json.message || "error" });
|
||||
})
|
||||
.catch(() => {
|
||||
this.setState({ error: "error" });
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
const session = LoginStore.snapshot();
|
||||
const myPub = session.publicKey;
|
||||
ProfileLoader.Cache.hook(() => {
|
||||
const profile = ProfileLoader.Cache.getFromCache(myPub);
|
||||
const irisToActive = profile && profile.nip05 && profile.nip05.endsWith("@iris.to");
|
||||
this.setState({ profile, irisToActive });
|
||||
if (profile && !irisToActive) {
|
||||
this.checkExistingAccount(myPub);
|
||||
}
|
||||
}, myPub);
|
||||
this.checkExistingAccount(myPub);
|
||||
}
|
||||
|
||||
async checkExistingAccount(pub: any) {
|
||||
const res = await fetch(`https://api.iris.to/user/find?public_key=${pub}`);
|
||||
if (res.status === 200) {
|
||||
const json = await res.json();
|
||||
this.setState({ existing: json });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default injectIntl(IrisAccount);
|
26
packages/app/src/Element/IrisAccount/ReservedAccount.tsx
Normal file
@ -0,0 +1,26 @@
|
||||
import AccountName from "./AccountName";
|
||||
import FormattedMessage from "Element/FormattedMessage";
|
||||
|
||||
export default function ReservedAccount({ name = "", enableReserved = () => {}, declineReserved = () => {} }) {
|
||||
return (
|
||||
<div>
|
||||
<p className="success">
|
||||
<FormattedMessage
|
||||
defaultMessage="Username iris.to/<b>{name}</b> is reserved for you!"
|
||||
values={{ name, b: s => <b>{s}</b> }}
|
||||
/>
|
||||
</p>
|
||||
<AccountName name={name} link={false} />
|
||||
<p>
|
||||
<button className="btn btn-sm btn-primary" onClick={() => enableReserved()}>
|
||||
<FormattedMessage defaultMessage="Yes please" />
|
||||
</button>
|
||||
</p>
|
||||
<p>
|
||||
<button className="btn btn-sm btn-neutral" onClick={() => declineReserved()}>
|
||||
<FormattedMessage defaultMessage="No thanks" />
|
||||
</button>
|
||||
</p>
|
||||
</div>
|
||||
);
|
||||
}
|
@ -4,14 +4,25 @@ import { ReactNode, useEffect } from "react";
|
||||
export interface ModalProps {
|
||||
id: string;
|
||||
className?: string;
|
||||
onClose?: (e: React.MouseEvent) => void;
|
||||
onClose?: (e: React.MouseEvent | KeyboardEvent) => void;
|
||||
children: ReactNode;
|
||||
}
|
||||
|
||||
export default function Modal(props: ModalProps) {
|
||||
const handleKeyDown = (e: KeyboardEvent) => {
|
||||
if (e.key === "Escape" && props.onClose) {
|
||||
props.onClose(e);
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
document.body.classList.add("scroll-lock");
|
||||
return () => document.body.classList.remove("scroll-lock");
|
||||
document.addEventListener("keydown", handleKeyDown);
|
||||
|
||||
return () => {
|
||||
document.body.classList.remove("scroll-lock");
|
||||
document.removeEventListener("keydown", handleKeyDown);
|
||||
};
|
||||
}, []);
|
||||
|
||||
return (
|
||||
|
@ -3,7 +3,7 @@ import "./PinPrompt.css";
|
||||
import { ReactNode, useRef, useState } from "react";
|
||||
import { FormattedMessage, useIntl } from "react-intl";
|
||||
import { unwrap } from "@snort/shared";
|
||||
import { EventPublisher, InvalidPinError, PinEncrypted, PinEncryptedPayload } from "@snort/system";
|
||||
import { EventPublisher, InvalidPinError, PinEncrypted } from "@snort/system";
|
||||
|
||||
import useEventPublisher from "Hooks/useEventPublisher";
|
||||
import { LoginStore, createPublisher, sessionNeedsPin } from "Login";
|
||||
@ -67,7 +67,7 @@ export function PinPrompt({
|
||||
<h2>
|
||||
<FormattedMessage defaultMessage="Enter Pin" />
|
||||
</h2>
|
||||
{subTitle}
|
||||
{subTitle ? <div>{subTitle}</div> : null}
|
||||
<input
|
||||
type="number"
|
||||
onChange={e => setPin(e.target.value)}
|
||||
@ -113,9 +113,9 @@ export function LoginUnlock() {
|
||||
}
|
||||
|
||||
async function unlockSession(pin: string) {
|
||||
const key = new PinEncrypted(unwrap(login.privateKeyData) as PinEncryptedPayload);
|
||||
await key.decrypt(pin);
|
||||
const pub = createPublisher(login, key);
|
||||
const key = unwrap(login.privateKeyData);
|
||||
await key.unlock(pin);
|
||||
const pub = createPublisher(login);
|
||||
if (pub) {
|
||||
if (login.preferences.pow) {
|
||||
pub.pow(login.preferences.pow, new WasmPowWorker());
|
||||
@ -142,7 +142,12 @@ export function LoginUnlock() {
|
||||
<PinPrompt
|
||||
subTitle={
|
||||
<p>
|
||||
<FormattedMessage defaultMessage="Enter a pin to encrypt your private key, you must enter this pin every time you open Snort." />
|
||||
<FormattedMessage
|
||||
defaultMessage="Enter a pin to encrypt your private key, you must enter this pin every time you open {site}."
|
||||
values={{
|
||||
site: process.env.APP_NAME_CAPITALIZED,
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
}
|
||||
onResult={encryptMigration}
|
||||
|
@ -90,3 +90,26 @@
|
||||
border-left: 2px solid var(--font-secondary-color);
|
||||
padding-left: 12px;
|
||||
}
|
||||
|
||||
.gallery {
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 2px;
|
||||
display: grid;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.gallery-item {
|
||||
display: block;
|
||||
position: relative;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.gallery-item img {
|
||||
object-fit: cover;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
import "./Text.css";
|
||||
import { useState } from "react";
|
||||
import { ReactNode, useState } from "react";
|
||||
import { HexKey, ParsedFragment } from "@snort/system";
|
||||
|
||||
import Invoice from "Element/Embed/Invoice";
|
||||
@ -27,6 +27,58 @@ export interface TextProps {
|
||||
onClick?: (e: React.MouseEvent) => void;
|
||||
}
|
||||
|
||||
const gridConfigMap = new Map<number, number[][]>([
|
||||
[1, [[4, 3]]],
|
||||
[
|
||||
2,
|
||||
[
|
||||
[2, 2],
|
||||
[2, 2],
|
||||
],
|
||||
],
|
||||
[
|
||||
3,
|
||||
[
|
||||
[2, 2],
|
||||
[2, 1],
|
||||
[2, 1],
|
||||
],
|
||||
],
|
||||
[
|
||||
4,
|
||||
[
|
||||
[2, 1],
|
||||
[2, 1],
|
||||
[2, 1],
|
||||
[2, 1],
|
||||
],
|
||||
],
|
||||
[
|
||||
5,
|
||||
[
|
||||
[2, 1],
|
||||
[2, 1],
|
||||
[2, 1],
|
||||
[1, 1],
|
||||
[1, 1],
|
||||
],
|
||||
],
|
||||
[
|
||||
6,
|
||||
[
|
||||
[2, 2],
|
||||
[1, 1],
|
||||
[1, 1],
|
||||
[2, 2],
|
||||
[1, 1],
|
||||
[1, 1],
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
const ROW_HEIGHT = 140;
|
||||
const GRID_GAP = 2;
|
||||
|
||||
export default function Text({
|
||||
id,
|
||||
content,
|
||||
@ -77,67 +129,140 @@ export default function Text({
|
||||
);
|
||||
}
|
||||
|
||||
const DisableMedia = ({ content }: { content: string }) => (
|
||||
<a href={content} onClick={e => e.stopPropagation()} target="_blank" rel="noreferrer" className="ext">
|
||||
{content}
|
||||
</a>
|
||||
);
|
||||
|
||||
const RevealMediaInstance = ({ content }: { content: string }) => (
|
||||
<RevealMedia
|
||||
key={content}
|
||||
link={content}
|
||||
creator={creator}
|
||||
onMediaClick={e => {
|
||||
if (!disableMediaSpotlight) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
setShowSpotlight(true);
|
||||
const selected = images.findIndex(b => b === content);
|
||||
setImageIdx(selected === -1 ? 0 : selected);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
);
|
||||
|
||||
const renderContent = () => {
|
||||
let lenCtr = 0;
|
||||
function renderChunk(a: ParsedFragment) {
|
||||
|
||||
const chunks: Array<ReactNode> = [];
|
||||
for (let i = 0; i < elements.length; i++) {
|
||||
const element = elements[i];
|
||||
|
||||
if (truncate) {
|
||||
if (lenCtr > truncate) {
|
||||
return null;
|
||||
} else if (lenCtr + a.content.length > truncate) {
|
||||
lenCtr += a.content.length;
|
||||
return <div className="text-frag">{a.content.slice(0, truncate - lenCtr)}...</div>;
|
||||
if (lenCtr + element.content.length > truncate) {
|
||||
lenCtr += element.content.length;
|
||||
chunks.push(<div className="text-frag">{element.content.slice(0, truncate - lenCtr)}...</div>);
|
||||
return chunks;
|
||||
} else {
|
||||
lenCtr += a.content.length;
|
||||
lenCtr += element.content.length;
|
||||
}
|
||||
}
|
||||
|
||||
if (a.type === "media" && !a.mimeType?.startsWith("unknown")) {
|
||||
if (element.type === "media" && element.mimeType?.startsWith("image")) {
|
||||
if (disableMedia ?? false) {
|
||||
return (
|
||||
<a href={a.content} onClick={e => e.stopPropagation()} target="_blank" rel="noreferrer" className="ext">
|
||||
{a.content}
|
||||
</a>
|
||||
);
|
||||
}
|
||||
return (
|
||||
<RevealMedia
|
||||
link={a.content}
|
||||
creator={creator}
|
||||
onMediaClick={e => {
|
||||
if (!disableMediaSpotlight) {
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
setShowSpotlight(true);
|
||||
const selected = images.findIndex(b => b === a.content);
|
||||
setImageIdx(selected === -1 ? 0 : selected);
|
||||
chunks.push(<DisableMedia content={element.content} />);
|
||||
} else {
|
||||
const galleryImages: ParsedFragment[] = [element];
|
||||
// If the current element is of type media and mimeType starts with image,
|
||||
// we verify if the next elements are of the same type and mimeType and push to the galleryImages
|
||||
// Whenever one of the next elements is not longer of the type we are looking for, we break the loop
|
||||
for (let j = i; j < elements.length; j++) {
|
||||
const nextElement = elements[j + 1];
|
||||
|
||||
if (nextElement && nextElement.type === "media" && nextElement.mimeType?.startsWith("image")) {
|
||||
galleryImages.push(nextElement);
|
||||
i++;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (galleryImages.length === 1) {
|
||||
chunks.push(<RevealMediaInstance content={galleryImages[0].content} />);
|
||||
} else {
|
||||
// We build a grid layout to render the grouped images
|
||||
const imagesWithGridConfig = galleryImages.map((gi, index) => {
|
||||
const config = gridConfigMap.get(galleryImages.length);
|
||||
let height = ROW_HEIGHT;
|
||||
|
||||
if (config && config[index][1] > 1) {
|
||||
height = config[index][1] * ROW_HEIGHT + GRID_GAP;
|
||||
}
|
||||
}}
|
||||
/>
|
||||
);
|
||||
} else {
|
||||
switch (a.type) {
|
||||
case "invoice":
|
||||
return <Invoice invoice={a.content} />;
|
||||
case "hashtag":
|
||||
return <Hashtag tag={a.content} />;
|
||||
case "cashu":
|
||||
return <CashuNuts token={a.content} />;
|
||||
case "media":
|
||||
case "link":
|
||||
return <HyperText link={a.content} depth={depth} showLinkPreview={!(disableLinkPreview ?? false)} />;
|
||||
case "custom_emoji":
|
||||
return <ProxyImg src={a.content} size={15} className="custom-emoji" />;
|
||||
default:
|
||||
return (
|
||||
<div className="text-frag">
|
||||
{highlighText ? renderContentWithHighlightedText(a.content, highlighText) : a.content}
|
||||
|
||||
return {
|
||||
content: gi.content,
|
||||
gridColumn: config ? config[index][0] : 1,
|
||||
gridRow: config ? config[index][1] : 1,
|
||||
height,
|
||||
};
|
||||
});
|
||||
const gallery = (
|
||||
<div className="gallery">
|
||||
{imagesWithGridConfig.map(img => (
|
||||
<div
|
||||
key={img.content}
|
||||
className="gallery-item"
|
||||
style={{
|
||||
height: `${img.height}px`,
|
||||
gridColumn: `span ${img.gridColumn}`,
|
||||
gridRow: `span ${img.gridRow}`,
|
||||
}}>
|
||||
<RevealMediaInstance content={img.content} />
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
chunks.push(gallery);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return elements.map(a => renderChunk(a));
|
||||
if (
|
||||
element.type === "media" &&
|
||||
(element.mimeType?.startsWith("audio") || element.mimeType?.startsWith("video"))
|
||||
) {
|
||||
if (disableMedia ?? false) {
|
||||
chunks.push(<DisableMedia content={element.content} />);
|
||||
} else {
|
||||
chunks.push(<RevealMediaInstance content={element.content} />);
|
||||
}
|
||||
}
|
||||
if (element.type === "invoice") {
|
||||
chunks.push(<Invoice invoice={element.content} />);
|
||||
}
|
||||
if (element.type === "hashtag") {
|
||||
chunks.push(<Hashtag tag={element.content} />);
|
||||
}
|
||||
if (element.type === "cashu") {
|
||||
chunks.push(<CashuNuts token={element.content} />);
|
||||
}
|
||||
if (element.type === "link" || (element.type === "media" && element.mimeType?.startsWith("unknown"))) {
|
||||
chunks.push(
|
||||
<HyperText link={element.content} depth={depth} showLinkPreview={!(disableLinkPreview ?? false)} />,
|
||||
);
|
||||
}
|
||||
if (element.type === "custom_emoji") {
|
||||
chunks.push(<ProxyImg src={element.content} size={15} className="custom-emoji" />);
|
||||
}
|
||||
if (element.type === "text") {
|
||||
chunks.push(
|
||||
<div className="text-frag">
|
||||
{highlighText ? renderContentWithHighlightedText(element.content, highlighText) : element.content}
|
||||
</div>,
|
||||
);
|
||||
}
|
||||
}
|
||||
return chunks;
|
||||
};
|
||||
|
||||
return (
|
||||
|
@ -15,9 +15,10 @@ interface AvatarProps {
|
||||
image?: string;
|
||||
imageOverlay?: ReactNode;
|
||||
icons?: ReactNode;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
const Avatar = ({ pubkey, user, size, onClick, image, imageOverlay, icons }: AvatarProps) => {
|
||||
const Avatar = ({ pubkey, user, size, onClick, image, imageOverlay, icons, className }: AvatarProps) => {
|
||||
const [url, setUrl] = useState("");
|
||||
const { proxy } = useImgProxy();
|
||||
|
||||
@ -43,7 +44,7 @@ const Avatar = ({ pubkey, user, size, onClick, image, imageOverlay, icons }: Ava
|
||||
<div
|
||||
onClick={onClick}
|
||||
style={style}
|
||||
className={`avatar${imageOverlay ? " with-overlay" : ""}`}
|
||||
className={`avatar${imageOverlay ? " with-overlay" : ""} ${className ?? ""}`}
|
||||
data-domain={domain?.toLowerCase()}
|
||||
title={getDisplayName(user, "")}>
|
||||
{icons && <div className="icons">{icons}</div>}
|
||||
|
@ -98,4 +98,6 @@ export default defineMessages({
|
||||
ConfirmUnpin: { defaultMessage: "Are you sure you want to unpin this note?" },
|
||||
ReactionsLink: { defaultMessage: "{n} Reactions" },
|
||||
ReBroadcast: { defaultMessage: "Broadcast Again" },
|
||||
IrisUserNameLengthError: { defaultMessage: "Name must be between 1 and 32 characters" },
|
||||
IrisUserNameFormatError: { defaultMessage: "Username must only contain lowercase letters and numbers" },
|
||||
});
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { useIntl } from "react-intl";
|
||||
import { Nip46Signer, PinEncrypted } from "@snort/system";
|
||||
import { Nip46Signer, KeyStorage } from "@snort/system";
|
||||
|
||||
import { EmailRegex, MnemonicRegex } from "Const";
|
||||
import { LoginSessionType, LoginStore } from "Login";
|
||||
@ -8,13 +8,11 @@ import { getNip05PubKey } from "Pages/LoginPage";
|
||||
import { bech32ToHex } from "SnortUtils";
|
||||
import { unwrap } from "@snort/shared";
|
||||
|
||||
export class PinRequiredError extends Error {}
|
||||
|
||||
export default function useLoginHandler() {
|
||||
const { formatMessage } = useIntl();
|
||||
const hasSubtleCrypto = window.crypto.subtle !== undefined;
|
||||
|
||||
async function doLogin(key: string, pin?: string) {
|
||||
async function doLogin(key: string, pin: (key: string) => Promise<KeyStorage>) {
|
||||
const insecureMsg = formatMessage({
|
||||
defaultMessage:
|
||||
"Can't login with private key on an insecure connection, please use a Nostr key manager extension instead",
|
||||
@ -26,8 +24,7 @@ export default function useLoginHandler() {
|
||||
}
|
||||
const hexKey = bech32ToHex(key);
|
||||
if (hexKey.length === 64) {
|
||||
if (!pin) throw new PinRequiredError();
|
||||
LoginStore.loginWithPrivateKey(await PinEncrypted.create(hexKey, pin));
|
||||
LoginStore.loginWithPrivateKey(await pin(hexKey));
|
||||
return;
|
||||
} else {
|
||||
throw new Error("INVALID PRIVATE KEY");
|
||||
@ -36,17 +33,15 @@ export default function useLoginHandler() {
|
||||
if (!hasSubtleCrypto) {
|
||||
throw new Error(insecureMsg);
|
||||
}
|
||||
if (!pin) throw new PinRequiredError();
|
||||
const ent = generateBip39Entropy(key);
|
||||
const keyHex = entropyToPrivateKey(ent);
|
||||
LoginStore.loginWithPrivateKey(await PinEncrypted.create(keyHex, pin));
|
||||
const hexKey = entropyToPrivateKey(ent);
|
||||
LoginStore.loginWithPrivateKey(await pin(hexKey));
|
||||
return;
|
||||
} else if (key.length === 64) {
|
||||
if (!hasSubtleCrypto) {
|
||||
throw new Error(insecureMsg);
|
||||
}
|
||||
if (!pin) throw new PinRequiredError();
|
||||
LoginStore.loginWithPrivateKey(await PinEncrypted.create(key, pin));
|
||||
LoginStore.loginWithPrivateKey(await pin(key));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -58,7 +53,6 @@ export default function useLoginHandler() {
|
||||
const hexKey = await getNip05PubKey(key);
|
||||
LoginStore.loginWithPubkey(hexKey, LoginSessionType.PublicKey);
|
||||
} else if (key.startsWith("bunker://")) {
|
||||
if (!pin) throw new PinRequiredError();
|
||||
const nip46 = new Nip46Signer(key);
|
||||
await nip46.init();
|
||||
|
||||
@ -68,7 +62,7 @@ export default function useLoginHandler() {
|
||||
LoginSessionType.Nip46,
|
||||
undefined,
|
||||
nip46.relays,
|
||||
await PinEncrypted.create(unwrap(nip46.privateKey), pin),
|
||||
await pin(unwrap(nip46.privateKey)),
|
||||
);
|
||||
nip46.close();
|
||||
} else {
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { RelaySettings, EventPublisher, PinEncrypted, Nip46Signer, Nip7Signer, PrivateKeySigner } from "@snort/system";
|
||||
import { RelaySettings, EventPublisher, Nip46Signer, Nip7Signer, PrivateKeySigner, KeyStorage } from "@snort/system";
|
||||
import { unixNowMs } from "@snort/shared";
|
||||
import * as secp from "@noble/curves/secp256k1";
|
||||
import * as utils from "@noble/curves/abstract/utils";
|
||||
@ -10,7 +10,6 @@ import { bech32ToHex, dedupeById, randomSample, sanitizeRelayUrl, unwrap } from
|
||||
import { SubscriptionEvent } from "Subscription";
|
||||
import { System } from "index";
|
||||
import { Chats, FollowsFeed, GiftsCache, Notifications } from "Cache";
|
||||
import { PinRequiredError } from "Hooks/useLoginHandler";
|
||||
import { Nip7OsSigner } from "./Nip7OsSigner";
|
||||
|
||||
export function setRelays(state: LoginSession, relays: Record<string, RelaySettings>, createdAt: number) {
|
||||
@ -64,7 +63,7 @@ export function clearEntropy(state: LoginSession) {
|
||||
/**
|
||||
* Generate a new key and login with this generated key
|
||||
*/
|
||||
export async function generateNewLogin(pin: string) {
|
||||
export async function generateNewLogin(pin: (key: string) => Promise<KeyStorage>) {
|
||||
const ent = generateBip39Entropy();
|
||||
const entropy = utils.bytesToHex(ent);
|
||||
const privateKey = entropyToPrivateKey(ent);
|
||||
@ -89,9 +88,7 @@ export async function generateNewLogin(pin: string) {
|
||||
const publisher = EventPublisher.privateKey(privateKey);
|
||||
const ev = await publisher.contactList([bech32ToHex(SnortPubKey), publicKey], newRelays);
|
||||
System.BroadcastEvent(ev);
|
||||
|
||||
const key = await PinEncrypted.create(privateKey, pin);
|
||||
LoginStore.loginWithPrivateKey(key, entropy, newRelays);
|
||||
LoginStore.loginWithPrivateKey(await pin(privateKey), entropy, newRelays);
|
||||
}
|
||||
|
||||
export function generateRandomKey() {
|
||||
@ -175,22 +172,17 @@ export function addSubscription(state: LoginSession, ...subs: SubscriptionEvent[
|
||||
}
|
||||
|
||||
export function sessionNeedsPin(l: LoginSession) {
|
||||
return l.type === LoginSessionType.PrivateKey || l.type === LoginSessionType.Nip46;
|
||||
return l.privateKeyData && l.privateKeyData.shouldUnlock();
|
||||
}
|
||||
|
||||
export function createPublisher(l: LoginSession, pin?: PinEncrypted) {
|
||||
export function createPublisher(l: LoginSession) {
|
||||
switch (l.type) {
|
||||
case LoginSessionType.PrivateKey: {
|
||||
if (!pin) throw new PinRequiredError();
|
||||
l.privateKeyData = pin;
|
||||
return EventPublisher.privateKey(pin.value);
|
||||
return EventPublisher.privateKey(unwrap(l.privateKeyData as KeyStorage).value);
|
||||
}
|
||||
case LoginSessionType.Nip46: {
|
||||
if (!pin) throw new PinRequiredError();
|
||||
l.privateKeyData = pin;
|
||||
|
||||
const relayArgs = (l.remoteSignerRelays ?? []).map(a => `relay=${encodeURIComponent(a)}`);
|
||||
const inner = new PrivateKeySigner(pin.value);
|
||||
const inner = new PrivateKeySigner(unwrap(l.privateKeyData as KeyStorage).value);
|
||||
const nip46 = new Nip46Signer(`bunker://${unwrap(l.publicKey)}?${[...relayArgs].join("&")}`, inner);
|
||||
return new EventPublisher(nip46, unwrap(l.publicKey));
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { HexKey, RelaySettings, u256, PinEncrypted, PinEncryptedPayload } from "@snort/system";
|
||||
import { HexKey, RelaySettings, u256, KeyStorage } from "@snort/system";
|
||||
import { UserPreferences } from "Login";
|
||||
import { SubscriptionEvent } from "Subscription";
|
||||
|
||||
@ -47,7 +47,7 @@ export interface LoginSession {
|
||||
/**
|
||||
* Encrypted private key
|
||||
*/
|
||||
privateKeyData?: PinEncrypted | PinEncryptedPayload;
|
||||
privateKeyData?: KeyStorage;
|
||||
|
||||
/**
|
||||
* BIP39-generated, hex-encoded entropy
|
||||
|
@ -2,7 +2,7 @@ import * as secp from "@noble/curves/secp256k1";
|
||||
import * as utils from "@noble/curves/abstract/utils";
|
||||
import { v4 as uuid } from "uuid";
|
||||
|
||||
import { HexKey, RelaySettings, PinEncrypted, EventPublisher } from "@snort/system";
|
||||
import { HexKey, RelaySettings, EventPublisher, KeyStorage, NotEncrypted } from "@snort/system";
|
||||
import { deepClone, sanitizeRelayUrl, unwrap, ExternalStore } from "@snort/shared";
|
||||
|
||||
import { DefaultRelays } from "Const";
|
||||
@ -85,6 +85,9 @@ export class MultiAccountStore extends ExternalStore<LoginSession> {
|
||||
timestamp: 0,
|
||||
};
|
||||
v.extraChats ??= [];
|
||||
if (v.privateKeyData) {
|
||||
v.privateKeyData = KeyStorage.fromPayload(v.privateKeyData as object);
|
||||
}
|
||||
}
|
||||
this.#loadIrisKeyIfExists();
|
||||
}
|
||||
@ -121,7 +124,7 @@ export class MultiAccountStore extends ExternalStore<LoginSession> {
|
||||
type: LoginSessionType,
|
||||
relays?: Record<string, RelaySettings>,
|
||||
remoteSignerRelays?: Array<string>,
|
||||
privateKey?: PinEncrypted,
|
||||
privateKey?: KeyStorage,
|
||||
) {
|
||||
if (this.#accounts.has(key)) {
|
||||
throw new Error("Already logged in with this pubkey");
|
||||
@ -159,7 +162,7 @@ export class MultiAccountStore extends ExternalStore<LoginSession> {
|
||||
return Object.fromEntries(DefaultRelays.entries());
|
||||
}
|
||||
|
||||
loginWithPrivateKey(key: PinEncrypted, entropy?: string, relays?: Record<string, RelaySettings>) {
|
||||
loginWithPrivateKey(key: KeyStorage, entropy?: string, relays?: Record<string, RelaySettings>) {
|
||||
const pubKey = utils.bytesToHex(secp.schnorr.getPublicKey(key.value));
|
||||
if (this.#accounts.has(pubKey)) {
|
||||
throw new Error("Already logged in with this pubkey");
|
||||
@ -218,13 +221,13 @@ export class MultiAccountStore extends ExternalStore<LoginSession> {
|
||||
return { ...s };
|
||||
}
|
||||
|
||||
async #loadIrisKeyIfExists() {
|
||||
#loadIrisKeyIfExists() {
|
||||
try {
|
||||
const irisKeyJSON = window.localStorage.getItem("iris.myKey");
|
||||
if (irisKeyJSON) {
|
||||
const irisKeyObj = JSON.parse(irisKeyJSON);
|
||||
if (irisKeyObj.priv) {
|
||||
const privateKey = await PinEncrypted.create(irisKeyObj.priv, "1234");
|
||||
const privateKey = new NotEncrypted(irisKeyObj.priv);
|
||||
this.loginWithPrivateKey(privateKey);
|
||||
window.localStorage.removeItem("iris.myKey");
|
||||
}
|
||||
@ -286,7 +289,7 @@ export class MultiAccountStore extends ExternalStore<LoginSession> {
|
||||
}
|
||||
const toSave = [];
|
||||
for (const v of this.#accounts.values()) {
|
||||
if (v.privateKeyData instanceof PinEncrypted) {
|
||||
if (v.privateKeyData instanceof KeyStorage) {
|
||||
toSave.push({
|
||||
...v,
|
||||
privateKeyData: v.privateKeyData.toPayload(),
|
||||
|
@ -92,10 +92,16 @@ const DonatePage = () => {
|
||||
return (
|
||||
<div className="main-content p">
|
||||
<h2>
|
||||
<FormattedMessage defaultMessage="Help fund the development of Snort" />
|
||||
<FormattedMessage
|
||||
defaultMessage="Help fund the development of {site}"
|
||||
values={{ site: process.env.APP_NAME_CAPITALIZED }}
|
||||
/>
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMessage defaultMessage="Snort is an open source project built by passionate people in their free time" />
|
||||
<FormattedMessage
|
||||
defaultMessage="{site} is an open source project built by passionate people in their free time"
|
||||
values={{ site: process.env.APP_NAME_CAPITALIZED }}
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMessage defaultMessage="Your donations are greatly appreciated" />
|
||||
|
38
packages/app/src/Pages/FreeNostrAddressPage.tsx
Normal file
@ -0,0 +1,38 @@
|
||||
import FormattedMessage from "@snort/app/src/Element/FormattedMessage";
|
||||
|
||||
/*
|
||||
import { IrisHost } from "Const";
|
||||
import Nip5Service from "Element/Nip5Service";
|
||||
*/
|
||||
|
||||
import messages from "./messages";
|
||||
import IrisAccount from "../Element/IrisAccount/IrisAccount";
|
||||
|
||||
export default function FreeNostrAddressPage() {
|
||||
return (
|
||||
<div className="main-content p">
|
||||
<h2>
|
||||
<FormattedMessage defaultMessage="Get a free nostr address" />
|
||||
</h2>
|
||||
<p>
|
||||
<FormattedMessage {...messages.Nip05} />
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMessage {...messages.Nip05Pros} />
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<FormattedMessage {...messages.AvoidImpersonators} />
|
||||
</li>
|
||||
<li>
|
||||
<FormattedMessage {...messages.EasierToFind} />
|
||||
</li>
|
||||
<li>
|
||||
<FormattedMessage {...messages.Funding} />
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<IrisAccount />
|
||||
</div>
|
||||
);
|
||||
}
|
@ -3,15 +3,15 @@ import "./LoginPage.css";
|
||||
import { CSSProperties, useEffect, useState } from "react";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import { useIntl, FormattedMessage } from "react-intl";
|
||||
import { HexKey, Nip46Signer, PinEncrypted, PrivateKeySigner } from "@snort/system";
|
||||
import { HexKey, Nip46Signer, NotEncrypted, PinEncrypted, PrivateKeySigner } from "@snort/system";
|
||||
|
||||
import { bech32ToHex, getPublicKey, unwrap } from "SnortUtils";
|
||||
import { bech32ToHex, getPublicKey, isHex, unwrap } from "SnortUtils";
|
||||
import ZapButton from "Element/Event/ZapButton";
|
||||
import useImgProxy from "Hooks/useImgProxy";
|
||||
import Icon from "Icons/Icon";
|
||||
import { generateNewLogin, LoginSessionType, LoginStore } from "Login";
|
||||
import AsyncButton from "Element/AsyncButton";
|
||||
import useLoginHandler, { PinRequiredError } from "Hooks/useLoginHandler";
|
||||
import useLoginHandler from "Hooks/useLoginHandler";
|
||||
import { secp256k1 } from "@noble/curves/secp256k1";
|
||||
import { bytesToHex } from "@noble/curves/abstract/utils";
|
||||
import Modal from "Element/Modal";
|
||||
@ -94,16 +94,20 @@ export default function LoginPage() {
|
||||
setArt({ ...ret, link: url });
|
||||
}, []);
|
||||
|
||||
async function makeKeyStore(key: string, pin?: string) {
|
||||
if (pin) {
|
||||
return await PinEncrypted.create(key, pin);
|
||||
} else {
|
||||
return new NotEncrypted(key);
|
||||
}
|
||||
}
|
||||
|
||||
async function doLogin(pin?: string) {
|
||||
setError("");
|
||||
try {
|
||||
await loginHandler.doLogin(key, pin);
|
||||
await loginHandler.doLogin(key, key => makeKeyStore(key, pin));
|
||||
navigate("/");
|
||||
} catch (e) {
|
||||
if (e instanceof PinRequiredError) {
|
||||
setPin(true);
|
||||
return;
|
||||
}
|
||||
if (e instanceof Error) {
|
||||
setError(e.message);
|
||||
} else {
|
||||
@ -117,9 +121,9 @@ export default function LoginPage() {
|
||||
}
|
||||
}
|
||||
|
||||
async function makeRandomKey(pin: string) {
|
||||
async function makeRandomKey(pin?: string) {
|
||||
try {
|
||||
await generateNewLogin(pin);
|
||||
await generateNewLogin(key => makeKeyStore(key, pin));
|
||||
window.plausible?.("Generate Account");
|
||||
navigate("/new");
|
||||
} catch (e) {
|
||||
@ -139,7 +143,7 @@ export default function LoginPage() {
|
||||
|
||||
function generateNip46() {
|
||||
const meta = {
|
||||
name: "Snort",
|
||||
name: process.env.APP_NAME_CAPITALIZED,
|
||||
url: window.location.href,
|
||||
};
|
||||
|
||||
@ -153,7 +157,7 @@ export default function LoginPage() {
|
||||
setNip46Key(newKey);
|
||||
}
|
||||
|
||||
async function startNip46(pin: string) {
|
||||
async function startNip46(pin?: string) {
|
||||
if (!nostrConnect || !nip46Key) return;
|
||||
|
||||
const signer = new Nip46Signer(nostrConnect, new PrivateKeySigner(nip46Key));
|
||||
@ -165,7 +169,7 @@ export default function LoginPage() {
|
||||
LoginSessionType.Nip46,
|
||||
undefined,
|
||||
["wss://relay.damus.io"],
|
||||
await PinEncrypted.create(nip46Key, pin),
|
||||
await makeKeyStore(nip46Key, pin),
|
||||
);
|
||||
navigate("/");
|
||||
}
|
||||
@ -316,7 +320,15 @@ export default function LoginPage() {
|
||||
/>
|
||||
</p>
|
||||
<div dir="auto" className="login-actions">
|
||||
<AsyncButton type="button" onClick={() => doLogin()}>
|
||||
<AsyncButton
|
||||
type="button"
|
||||
onClick={async () => {
|
||||
if (key.startsWith("nsec") || (key.length === 64 && isHex(key))) {
|
||||
setPin(true);
|
||||
} else {
|
||||
await doLogin();
|
||||
}
|
||||
}}>
|
||||
<FormattedMessage defaultMessage="Login" description="Login button" />
|
||||
</AsyncButton>
|
||||
<AsyncButton onClick={() => setPin(true)}>
|
||||
@ -325,9 +337,22 @@ export default function LoginPage() {
|
||||
{pin && (
|
||||
<PinPrompt
|
||||
subTitle={
|
||||
<p>
|
||||
<FormattedMessage defaultMessage="Enter a pin to encrypt your private key, you must enter this pin every time you open Snort." />
|
||||
</p>
|
||||
<>
|
||||
<p>
|
||||
<FormattedMessage
|
||||
defaultMessage="Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site."
|
||||
values={{
|
||||
site: process.env.APP_NAME_CAPITALIZED,
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMessage defaultMessage="Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'" />
|
||||
</p>
|
||||
<p>
|
||||
<FormattedMessage defaultMessage="After submitting the pin there may be a slight delay as we encrypt the key." />
|
||||
</p>
|
||||
</>
|
||||
}
|
||||
onResult={async pin => {
|
||||
setPin(false);
|
||||
@ -339,7 +364,16 @@ export default function LoginPage() {
|
||||
await makeRandomKey(pin);
|
||||
}
|
||||
}}
|
||||
onCancel={() => setPin(false)}
|
||||
onCancel={async () => {
|
||||
setPin(false);
|
||||
if (key) {
|
||||
await doLogin();
|
||||
} else if (nostrConnect) {
|
||||
await startNip46();
|
||||
} else {
|
||||
await makeRandomKey();
|
||||
}
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
{altLogins()}
|
||||
|
@ -58,6 +58,7 @@ import { ZapTarget } from "Zapper";
|
||||
import { useStatusFeed } from "Feed/StatusFeed";
|
||||
|
||||
import messages from "./messages";
|
||||
import { SpotlightMediaModal } from "../Element/Deck/SpotlightMedia";
|
||||
|
||||
const NOTES = 0;
|
||||
const REACTIONS = 1;
|
||||
@ -120,6 +121,7 @@ export default function ProfilePage() {
|
||||
const isMe = loginPubKey === id;
|
||||
const [showLnQr, setShowLnQr] = useState<boolean>(false);
|
||||
const [showProfileQr, setShowProfileQr] = useState<boolean>(false);
|
||||
const [modalImage, setModalImage] = useState<string>("");
|
||||
const aboutText = user?.about || "";
|
||||
const npub = !id?.startsWith(NostrPrefix.PublicKey) ? hexToBech32(NostrPrefix.PublicKey, id || undefined) : id;
|
||||
|
||||
@ -428,7 +430,7 @@ export default function ProfilePage() {
|
||||
function avatar() {
|
||||
return (
|
||||
<div className="avatar-wrapper w-max">
|
||||
<Avatar pubkey={id ?? ""} user={user} />
|
||||
<Avatar pubkey={id ?? ""} user={user} onClick={() => setModalImage(user?.picture || "")} className="pointer" />
|
||||
<div className="profile-actions">
|
||||
{renderIcons()}
|
||||
{!isMe && id && <FollowButton className="primary" pubkey={id} />}
|
||||
@ -506,7 +508,15 @@ export default function ProfilePage() {
|
||||
return (
|
||||
<>
|
||||
<div className="profile">
|
||||
{user?.banner && <ProxyImg alt="banner" className="banner" src={user.banner} size={w} />}
|
||||
{user?.banner && (
|
||||
<ProxyImg
|
||||
alt="banner"
|
||||
className="banner pointer"
|
||||
src={user.banner}
|
||||
size={w}
|
||||
onClick={() => setModalImage(user.banner || "")}
|
||||
/>
|
||||
)}
|
||||
<div className="profile-wrapper w-max">
|
||||
{avatar()}
|
||||
{userDetails()}
|
||||
@ -520,6 +530,7 @@ export default function ProfilePage() {
|
||||
</div>
|
||||
</div>
|
||||
<div className="main-content">{tabContent()}</div>
|
||||
{modalImage && <SpotlightMediaModal onClose={() => setModalImage("")} images={[modalImage]} idx={0} />}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
@ -3,15 +3,13 @@ import { useNavigate } from "react-router-dom";
|
||||
|
||||
import Logo from "Element/Logo";
|
||||
import { CollapsedSection } from "Element/Collapsed";
|
||||
import Copy from "Element/Copy";
|
||||
import { hexToBech32 } from "SnortUtils";
|
||||
import { hexToMnemonic } from "nip6";
|
||||
import useLogin from "Hooks/useLogin";
|
||||
import { PROFILE } from ".";
|
||||
import { DefaultPreferences, LoginStore, updatePreferences } from "Login";
|
||||
import { AllLanguageCodes } from "Pages/settings/Preferences";
|
||||
|
||||
import messages from "./messages";
|
||||
import ExportKeys from "Pages/settings/Keys";
|
||||
|
||||
const WhatIsSnort = () => {
|
||||
return (
|
||||
@ -127,14 +125,7 @@ export default function NewUserFlow() {
|
||||
<p>
|
||||
<FormattedMessage {...messages.SaveKeysHelp} />
|
||||
</p>
|
||||
<h2>
|
||||
<FormattedMessage {...messages.YourPubkey} />
|
||||
</h2>
|
||||
<Copy text={hexToBech32("npub", login.publicKey ?? "")} />
|
||||
<h2>
|
||||
<FormattedMessage {...messages.YourMnemonic} />
|
||||
</h2>
|
||||
<Copy text={hexToMnemonic(login.generatedEntropy ?? "")} />
|
||||
<ExportKeys />
|
||||
<div className="next-actions">
|
||||
<button
|
||||
type="button"
|
||||
|
@ -12,15 +12,22 @@ export default defineMessages({
|
||||
YourPrivkey: { defaultMessage: "Your private key" },
|
||||
YourMnemonic: { defaultMessage: "Your mnemonic phrase" },
|
||||
KeysSaved: { defaultMessage: "I have saved my keys, continue" },
|
||||
WhatIsSnort: { defaultMessage: "What is Snort and how does it work?" },
|
||||
WhatIsSnort: {
|
||||
defaultMessage: "What is {site} and how does it work?",
|
||||
values: { site: process.env.APP_NAME_CAPITALIZED },
|
||||
},
|
||||
WhatIsSnortIntro: {
|
||||
defaultMessage: `Snort is a Nostr UI, nostr is a decentralised protocol for saving and distributing "notes".`,
|
||||
defaultMessage: `{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing "notes".`,
|
||||
values: { site: process.env.APP_NAME_CAPITALIZED },
|
||||
},
|
||||
WhatIsSnortNotes: {
|
||||
defaultMessage: `Notes hold text content, the most popular usage of these notes is to store "tweet like" messages.`,
|
||||
},
|
||||
|
||||
WhatIsSnortExperience: { defaultMessage: "Snort is designed to have a similar experience to Twitter." },
|
||||
WhatIsSnortExperience: {
|
||||
defaultMessage: "{site} is designed to have a similar experience to Twitter.",
|
||||
values: { site: process.env.APP_NAME_CAPITALIZED },
|
||||
},
|
||||
HowKeysWork: { defaultMessage: "How do keys work?" },
|
||||
DigitalSignatures: {
|
||||
defaultMessage: `Nostr uses digital signature technology to provide tamper proof notes which can safely be replicated to many relays to provide redundant storage of your content.`,
|
||||
@ -62,9 +69,10 @@ export default defineMessages({
|
||||
Funding: { defaultMessage: "Fund developers and platforms providing NIP-05 verification services" },
|
||||
NameSquatting: {
|
||||
defaultMessage:
|
||||
"Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
values: { site: process.env.APP_NAME_CAPITALIZED },
|
||||
},
|
||||
PreviewOnSnort: { defaultMessage: "Preview on snort" },
|
||||
PreviewOnSnort: { defaultMessage: "Preview on {site}", values: { site: process.env.APP_NAME_CAPITALIZED } },
|
||||
GetSnortId: { defaultMessage: "Get a Snort identifier" },
|
||||
GetSnortIdHelp: {
|
||||
defaultMessage:
|
||||
|
@ -3,3 +3,28 @@
|
||||
border: 2px dashed #222222;
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
.mnemonic-grid {
|
||||
display: grid;
|
||||
text-align: center;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.mnemonic-grid > div {
|
||||
border: 1px solid #222222;
|
||||
border-radius: 5px;
|
||||
overflow: hidden;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.mnemonic-grid .word > div:nth-of-type(1) {
|
||||
background-color: var(--gray);
|
||||
padding: 4px 8px;
|
||||
min-width: 1.5em;
|
||||
font-variant-numeric: ordinal;
|
||||
}
|
||||
|
||||
.mnemonic-grid .word > div:nth-of-type(2) {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import "./Keys.css";
|
||||
import FormattedMessage from "Element/FormattedMessage";
|
||||
import { encodeTLV, NostrPrefix, PinEncrypted } from "@snort/system";
|
||||
import { encodeTLV, KeyStorage, NostrPrefix } from "@snort/system";
|
||||
|
||||
import Copy from "Element/Copy";
|
||||
import useLogin from "Hooks/useLogin";
|
||||
@ -11,25 +11,34 @@ export default function ExportKeys() {
|
||||
const { publicKey, privateKeyData, generatedEntropy } = useLogin();
|
||||
return (
|
||||
<div className="flex-column g12">
|
||||
<h3>
|
||||
<h2>
|
||||
<FormattedMessage defaultMessage="Public Key" />
|
||||
</h3>
|
||||
</h2>
|
||||
<Copy text={hexToBech32("npub", publicKey ?? "")} className="dashed" />
|
||||
<Copy text={encodeTLV(NostrPrefix.Profile, publicKey ?? "")} className="dashed" />
|
||||
{privateKeyData instanceof PinEncrypted && (
|
||||
{privateKeyData instanceof KeyStorage && (
|
||||
<>
|
||||
<h3>
|
||||
<h2>
|
||||
<FormattedMessage defaultMessage="Private Key" />
|
||||
</h3>
|
||||
</h2>
|
||||
<Copy text={hexToBech32("nsec", privateKeyData.value)} className="dashed" />
|
||||
</>
|
||||
)}
|
||||
{generatedEntropy && (
|
||||
<>
|
||||
<h3>
|
||||
<h2>
|
||||
<FormattedMessage defaultMessage="Mnemonic" />
|
||||
</h3>
|
||||
<Copy text={hexToMnemonic(generatedEntropy ?? "")} className="dashed" />
|
||||
</h2>
|
||||
<div className="mnemonic-grid">
|
||||
{hexToMnemonic(generatedEntropy ?? "")
|
||||
.split(" ")
|
||||
.map((a, i) => (
|
||||
<div className="flex word">
|
||||
<div>{i + 1}</div>
|
||||
<div>{a}</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
|
@ -162,7 +162,7 @@ export default function ProfileSettings(props: ProfileSettingsProps) {
|
||||
<button className="flex f-center" type="button" onClick={() => navigate("/nostr-address")}>
|
||||
<FormattedMessage defaultMessage="Buy nostr address" />
|
||||
</button>
|
||||
<button className="flex f-center secondary" type="button" onClick={() => navigate("/nostr-address")}>
|
||||
<button className="flex f-center secondary" type="button" onClick={() => navigate("/free-nostr-address")}>
|
||||
<FormattedMessage defaultMessage="Get a free one" />
|
||||
</button>
|
||||
</div>
|
||||
|
@ -13,7 +13,10 @@ export class DonateTask extends BaseUITask {
|
||||
return (
|
||||
<>
|
||||
<p>
|
||||
<FormattedMessage defaultMessage="Thanks for using Snort, please consider donating if you can." />
|
||||
<FormattedMessage
|
||||
defaultMessage="Thanks for using {site}, please consider donating if you can."
|
||||
values={{ site: process.env.APP_NAME_CAPITALIZED }}
|
||||
/>
|
||||
</p>
|
||||
<Link to="/donate">
|
||||
<button>
|
||||
|
@ -45,6 +45,7 @@ import { db } from "Db";
|
||||
import { preload, RelayMetrics, UserCache, UserRelays } from "Cache";
|
||||
import { LoginStore } from "Login";
|
||||
import { SnortDeckLayout } from "Pages/DeckLayout";
|
||||
import FreeNostrAddressPage from "./Pages/FreeNostrAddressPage";
|
||||
|
||||
const WasmQueryOptimizer = {
|
||||
expandFilter: (f: ReqFilter) => {
|
||||
@ -163,6 +164,10 @@ export const router = createBrowserRouter([
|
||||
element: <SettingsPage />,
|
||||
children: SettingsRoutes,
|
||||
},
|
||||
{
|
||||
path: "/free-nostr-address",
|
||||
element: <FreeNostrAddressPage />,
|
||||
},
|
||||
{
|
||||
path: "/nostr-address",
|
||||
element: <NostrAddressPage />,
|
||||
|
@ -72,9 +72,6 @@
|
||||
"0yO7wF": {
|
||||
"defaultMessage": "{n} secs"
|
||||
},
|
||||
"1A7TZk": {
|
||||
"defaultMessage": "What is Snort and how does it work?"
|
||||
},
|
||||
"1Mo59U": {
|
||||
"defaultMessage": "Are you sure you want to remove this note from bookmarks?"
|
||||
},
|
||||
@ -157,6 +154,9 @@
|
||||
"4L2vUY": {
|
||||
"defaultMessage": "Your new NIP-05 handle is:"
|
||||
},
|
||||
"4MBtMa": {
|
||||
"defaultMessage": "Name must be between 1 and 32 characters"
|
||||
},
|
||||
"4OB335": {
|
||||
"defaultMessage": "Dislike"
|
||||
},
|
||||
@ -205,6 +205,9 @@
|
||||
"6OSOXl": {
|
||||
"defaultMessage": "Reason: <i>{reason}</i>"
|
||||
},
|
||||
"6TfgXX": {
|
||||
"defaultMessage": "{site} is an open source project built by passionate people in their free time"
|
||||
},
|
||||
"6Yfvvp": {
|
||||
"defaultMessage": "Get an identifier"
|
||||
},
|
||||
@ -220,6 +223,9 @@
|
||||
"7+Domh": {
|
||||
"defaultMessage": "Notes"
|
||||
},
|
||||
"7/h1jn": {
|
||||
"defaultMessage": "After submitting the pin there may be a slight delay as we encrypt the key."
|
||||
},
|
||||
"7BX/yC": {
|
||||
"defaultMessage": "Account Switcher"
|
||||
},
|
||||
@ -320,15 +326,15 @@
|
||||
"BOUMjw": {
|
||||
"defaultMessage": "No nostr users found for {twitterUsername}"
|
||||
},
|
||||
"BOr9z/": {
|
||||
"defaultMessage": "Snort is an open source project built by passionate people in their free time"
|
||||
},
|
||||
"BWpuKl": {
|
||||
"defaultMessage": "Update"
|
||||
},
|
||||
"BcGMo+": {
|
||||
"defaultMessage": "Notes hold text content, the most popular usage of these notes is to store \"tweet like\" messages."
|
||||
},
|
||||
"BjNwZW": {
|
||||
"defaultMessage": "Nostr address (nip05)"
|
||||
},
|
||||
"C1LjMx": {
|
||||
"defaultMessage": "Lightning Donation"
|
||||
},
|
||||
@ -350,6 +356,9 @@
|
||||
"CmZ9ls": {
|
||||
"defaultMessage": "{n} Muted"
|
||||
},
|
||||
"CoVXRS": {
|
||||
"defaultMessage": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'"
|
||||
},
|
||||
"CsCUYo": {
|
||||
"defaultMessage": "{n} sats"
|
||||
},
|
||||
@ -401,6 +410,9 @@
|
||||
"EcZF24": {
|
||||
"defaultMessage": "Custom Relays"
|
||||
},
|
||||
"EcfIwB": {
|
||||
"defaultMessage": "Username is available"
|
||||
},
|
||||
"EcglP9": {
|
||||
"defaultMessage": "Key"
|
||||
},
|
||||
@ -498,9 +510,6 @@
|
||||
"HhcAVH": {
|
||||
"defaultMessage": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody."
|
||||
},
|
||||
"IDjHJ6": {
|
||||
"defaultMessage": "Thanks for using Snort, please consider donating if you can."
|
||||
},
|
||||
"IEwZvs": {
|
||||
"defaultMessage": "Are you sure you want to unpin this note?"
|
||||
},
|
||||
@ -617,6 +626,9 @@
|
||||
"MWTx65": {
|
||||
"defaultMessage": "Default Page"
|
||||
},
|
||||
"MiMipu": {
|
||||
"defaultMessage": "Set as primary Nostr address (nip05)"
|
||||
},
|
||||
"Mrpkot": {
|
||||
"defaultMessage": "Pay for subscription"
|
||||
},
|
||||
@ -626,6 +638,9 @@
|
||||
"MzRYWH": {
|
||||
"defaultMessage": "Buying {item}"
|
||||
},
|
||||
"Mzizei": {
|
||||
"defaultMessage": "Iris.to account"
|
||||
},
|
||||
"N2IrpM": {
|
||||
"defaultMessage": "Confirm"
|
||||
},
|
||||
@ -662,12 +677,21 @@
|
||||
"OLEm6z": {
|
||||
"defaultMessage": "Unknown login error"
|
||||
},
|
||||
"OQSOJF": {
|
||||
"defaultMessage": "Get a free nostr address"
|
||||
},
|
||||
"OQXnew": {
|
||||
"defaultMessage": "You subscription is still active, you can't renew yet"
|
||||
},
|
||||
"ORGv1Q": {
|
||||
"defaultMessage": "Created"
|
||||
},
|
||||
"Oq/kVn": {
|
||||
"defaultMessage": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule."
|
||||
},
|
||||
"P/xrLk": {
|
||||
"defaultMessage": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site."
|
||||
},
|
||||
"P61BTu": {
|
||||
"defaultMessage": "Copy Event JSON"
|
||||
},
|
||||
@ -683,6 +707,9 @@
|
||||
"PLSbmL": {
|
||||
"defaultMessage": "Your mnemonic phrase"
|
||||
},
|
||||
"PaN7t3": {
|
||||
"defaultMessage": "Preview on {site}"
|
||||
},
|
||||
"PamNxw": {
|
||||
"defaultMessage": "Unknown file header: {name}"
|
||||
},
|
||||
@ -717,6 +744,9 @@
|
||||
"RDZVQL": {
|
||||
"defaultMessage": "Check"
|
||||
},
|
||||
"RSr2uB": {
|
||||
"defaultMessage": "Username must only contain lowercase letters and numbers"
|
||||
},
|
||||
"RahCRH": {
|
||||
"defaultMessage": "Expired"
|
||||
},
|
||||
@ -740,6 +770,9 @@
|
||||
"defaultMessage": "Sort",
|
||||
"description": "Label for sorting options for people search"
|
||||
},
|
||||
"SLZGPn": {
|
||||
"defaultMessage": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}."
|
||||
},
|
||||
"SMO+on": {
|
||||
"defaultMessage": "Send zap to {name}"
|
||||
},
|
||||
@ -789,6 +822,9 @@
|
||||
"Up5U7K": {
|
||||
"defaultMessage": "Block"
|
||||
},
|
||||
"UrKTqQ": {
|
||||
"defaultMessage": "You have an active iris.to account"
|
||||
},
|
||||
"VBadwB": {
|
||||
"defaultMessage": "Hmm, can't find a key manager extension.. try reloading the page."
|
||||
},
|
||||
@ -801,6 +837,9 @@
|
||||
"VR5eHw": {
|
||||
"defaultMessage": "Public key (npub/nprofile)"
|
||||
},
|
||||
"VcwrfF": {
|
||||
"defaultMessage": "Yes please"
|
||||
},
|
||||
"VlJkSk": {
|
||||
"defaultMessage": "{n} muted"
|
||||
},
|
||||
@ -853,9 +892,6 @@
|
||||
"XzF0aC": {
|
||||
"defaultMessage": "Key manager extensions are more secure and allow you to easily login to any Nostr client, here are some well known extensions:"
|
||||
},
|
||||
"Y31HTH": {
|
||||
"defaultMessage": "Help fund the development of Snort"
|
||||
},
|
||||
"YDURw6": {
|
||||
"defaultMessage": "Service URL"
|
||||
},
|
||||
@ -877,6 +913,9 @@
|
||||
"ZS+jRE": {
|
||||
"defaultMessage": "Send zap splits to"
|
||||
},
|
||||
"Zff6lu": {
|
||||
"defaultMessage": "Username iris.to/<b>{name}</b> is reserved for you!"
|
||||
},
|
||||
"Zr5TMx": {
|
||||
"defaultMessage": "Setup profile"
|
||||
},
|
||||
@ -913,13 +952,13 @@
|
||||
"bxv59V": {
|
||||
"defaultMessage": "Just now"
|
||||
},
|
||||
"c+JYNI": {
|
||||
"defaultMessage": "No thanks"
|
||||
},
|
||||
"c+oiJe": {
|
||||
"defaultMessage": "Install Extension",
|
||||
"description": "Heading for install key manager extension"
|
||||
},
|
||||
"c2DTVd": {
|
||||
"defaultMessage": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort."
|
||||
},
|
||||
"c35bj2": {
|
||||
"defaultMessage": "If you have an enquiry about your NIP-05 order please DM {link}"
|
||||
},
|
||||
@ -961,6 +1000,9 @@
|
||||
"dOQCL8": {
|
||||
"defaultMessage": "Display name"
|
||||
},
|
||||
"deEeEI": {
|
||||
"defaultMessage": "Register"
|
||||
},
|
||||
"e61Jf3": {
|
||||
"defaultMessage": "Coming soon"
|
||||
},
|
||||
@ -985,6 +1027,9 @@
|
||||
"fBI91o": {
|
||||
"defaultMessage": "Zap"
|
||||
},
|
||||
"fBlba3": {
|
||||
"defaultMessage": "Thanks for using {site}, please consider donating if you can."
|
||||
},
|
||||
"fOksnD": {
|
||||
"defaultMessage": "Can't vote because LNURL service does not support zaps"
|
||||
},
|
||||
@ -1012,9 +1057,6 @@
|
||||
"gBdUXk": {
|
||||
"defaultMessage": "Save your keys!"
|
||||
},
|
||||
"gDZkld": {
|
||||
"defaultMessage": "Snort is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\"."
|
||||
},
|
||||
"gDzDRs": {
|
||||
"defaultMessage": "Emoji to send when reactiong to a note"
|
||||
},
|
||||
@ -1084,9 +1126,6 @@
|
||||
"jA3OE/": {
|
||||
"defaultMessage": "{n,plural,=1{{n} sat} other{{n} sats}}"
|
||||
},
|
||||
"jCA7Cw": {
|
||||
"defaultMessage": "Preview on snort"
|
||||
},
|
||||
"jMzO1S": {
|
||||
"defaultMessage": "Internal error: {msg}"
|
||||
},
|
||||
@ -1109,9 +1148,15 @@
|
||||
"k7sKNy": {
|
||||
"defaultMessage": "Our very own NIP-05 verification service, help support the development of this site and get a shiny special badge on our site!"
|
||||
},
|
||||
"kEZUR8": {
|
||||
"defaultMessage": "Register an Iris username"
|
||||
},
|
||||
"kJYo0u": {
|
||||
"defaultMessage": "{n,plural,=0{{name} reposted} other{{name} & {n} others reposted}}"
|
||||
},
|
||||
"kTLGM2": {
|
||||
"defaultMessage": "{site} is designed to have a similar experience to Twitter."
|
||||
},
|
||||
"kaaf1E": {
|
||||
"defaultMessage": "now"
|
||||
},
|
||||
@ -1136,6 +1181,9 @@
|
||||
"lTbT3s": {
|
||||
"defaultMessage": "Wallet password"
|
||||
},
|
||||
"lVKH7C": {
|
||||
"defaultMessage": "What is {site} and how does it work?"
|
||||
},
|
||||
"lgg1KN": {
|
||||
"defaultMessage": "account page"
|
||||
},
|
||||
@ -1191,6 +1239,9 @@
|
||||
"nWQFic": {
|
||||
"defaultMessage": "Renew"
|
||||
},
|
||||
"ncbgUU": {
|
||||
"defaultMessage": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\"."
|
||||
},
|
||||
"nn1qb3": {
|
||||
"defaultMessage": "Your donations are greatly appreciated"
|
||||
},
|
||||
@ -1292,21 +1343,18 @@
|
||||
"rudscU": {
|
||||
"defaultMessage": "Failed to load follows, please try again later"
|
||||
},
|
||||
"rx1i0i": {
|
||||
"defaultMessage": "Short link"
|
||||
},
|
||||
"sKDn4e": {
|
||||
"defaultMessage": "Show Badges"
|
||||
},
|
||||
"sUNhQE": {
|
||||
"defaultMessage": "user"
|
||||
},
|
||||
"sWnYKw": {
|
||||
"defaultMessage": "Snort is designed to have a similar experience to Twitter."
|
||||
},
|
||||
"sZQzjQ": {
|
||||
"defaultMessage": "Failed to parse zap split: {input}"
|
||||
},
|
||||
"svOoEH": {
|
||||
"defaultMessage": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule."
|
||||
},
|
||||
"tOdNiY": {
|
||||
"defaultMessage": "Dark"
|
||||
},
|
||||
@ -1431,6 +1479,9 @@
|
||||
"defaultMessage": "Read global from",
|
||||
"description": "Label for reading global feed from specific relays"
|
||||
},
|
||||
"yNBPJp": {
|
||||
"defaultMessage": "Help fund the development of {site}"
|
||||
},
|
||||
"zCb8fX": {
|
||||
"defaultMessage": "Weight"
|
||||
},
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "الاسم يحتوي على أحرف غير مسموح بها",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} ثانية",
|
||||
"1A7TZk": "ما هو سنورت وكيف يعمل؟",
|
||||
"1Mo59U": "هل أنت متأكد من حذف هذا المنشور من المنشورات المرجعية؟",
|
||||
"1R43+L": "Enter Nostr Wallet Connect config",
|
||||
"1c4YST": "متصل بـ: {node}🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "الغاء",
|
||||
"4IPzdn": "المطورون الأساسيون",
|
||||
"4L2vUY": "معرف NIP-05 الجديد الخاص بك هو:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "استهجان",
|
||||
"4Vmpt4": "Nostr Plebs هي من أوائل مزودي NIP-05 وتقدم مجموعة من المعرفات بأسعار معقولة",
|
||||
"4Z3t5i": "استخدم imgproxy لضغط الصور",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "Failed to proxy image from {host}, click here to load directly",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Get an identifier",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "الإعجابات ({n})",
|
||||
"6uMqL1": "غير مدفوع",
|
||||
"7+Domh": "منشورات",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Account Switcher",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "إعادة النشر ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Write access to Snort relay, with 1 year of event retention",
|
||||
"BOUMjw": "لم يتم العثور على مستخدمي نوستر لـ {twitterUsername}",
|
||||
"BOr9z/": "سنورت هو مشروع مفتوح المصدر أنشأه أشخاص هواة في أوقات فراغهم",
|
||||
"BWpuKl": "تحديث",
|
||||
"BcGMo+": "تحتوي المنشورات على محتوى نصي ، والاستخدام الأكثر شيوعًا لهذه المنشورات هو تخزين رسائل تشابه التغريدات.",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "متميز",
|
||||
"C81/uG": "تسجيل الخروج",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "فشل تحميل البرقية",
|
||||
"CVWeJ6": "Trending People",
|
||||
"CmZ9ls": "المكتومون {n}",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "مترجم من {lang}",
|
||||
"D+KzKd": "ومّض أي منشور يتم تحميله بشكل تلقائي",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "عام",
|
||||
"Ebl/B2": "ترجمة إلى {lang}",
|
||||
"EcZF24": "Custom Relays",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "مفتاح",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "شراء",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Clear cache and reload",
|
||||
"HbefNb": "افتح المحفظة",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "شكرا لاستخدام سنورت، يرجى التفكير في الدعم إذا تستطيع.",
|
||||
"IEwZvs": "هل أنت متأكد من ازالة تثبيت هذا المنشور؟",
|
||||
"IKKHqV": "Follows",
|
||||
"INSqIz": "اسم مستخدم تويتر...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "كلمة مرور المحفظة",
|
||||
"MRp6Ly": "اسم مستخدم تويتر",
|
||||
"MWTx65": "العرض الافتراضي",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "الدفع للاشتراك",
|
||||
"MuVeKe": "Buy nostr address",
|
||||
"MzRYWH": "شراء {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "تأكيد",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "لديك فعلا اشتراك من هذا النوع، يرجى التجديد أو الدفع",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "وميض",
|
||||
"OKhRC6": "مشاركة",
|
||||
"OLEm6z": "خطأ غير معروف أثناء تسجيل الدخول",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "اشتراكك لا يزال نشطا، لا يمكنك التجديد الآن",
|
||||
"ORGv1Q": "تم الإنشاء",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "نسخ بصيغة JSON",
|
||||
"P7FD0F": "مطابق لاعدادات جهازك",
|
||||
"P7nJT9": "الإجمالي اليوم (بالتوقيت العالمي ): {amount} ساتوشي",
|
||||
"PCSt5T": "التفضيلات",
|
||||
"PLSbmL": "عبارة الاسترداد الخاصة بك",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "عنوان الملف غير معروف: {name}",
|
||||
"Pe0ogR": "الثيم",
|
||||
"PrsIg7": "سيتم عرض ردود الفعل في كل صفحة ، إذا تم تعطيلها فلن تظهر أي ردود فعل",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Subscription",
|
||||
"R81upa": "People you follow",
|
||||
"RDZVQL": "فحص",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "منتهي الصلاحية",
|
||||
"RfhLwC": "لـ: {author}",
|
||||
"RhDAoS": "هل أنت متأكد أنك تريد حذف {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "موصّلات",
|
||||
"Rs4kCE": "المنشورات المرجعية",
|
||||
"RwFaYs": "Sort",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "تحديث عنوان البرق",
|
||||
"SP0+yi": "Buy Subscription",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "New Chat",
|
||||
"UUPFlt": "سيضطر المستخدمون على قبول التحذير المعروض على منشورك قبل عرضه.",
|
||||
"Up5U7K": "حظر",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "همم، لم نعثر على إضافة مدير المفاتيح... حاول إعادة تحميل الصفحة.",
|
||||
"VN0+Fz": "الرصيد: {amount} ساتوشي",
|
||||
"VOjC1i": "اختر خدمة التحميل التي تريد رفع المرفقات إليها",
|
||||
"VR5eHw": "مفتاح عام (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "تم كتم {n}",
|
||||
"VnXp8Z": "صورة الحساب ",
|
||||
"VvaJst": "View Wallets",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Your default zap amount is {number} sats, example values are calculated from this.",
|
||||
"XrSk2j": "Redeem",
|
||||
"XzF0aC": "تعتبر إضافات إدارة المفاتيح أكثر أمانا، وتتيح تسجيل الدخول بسهولة. هنا أمثلة لإضافات مشهورة:",
|
||||
"Y31HTH": "ساعد في تمويل تطوير سنورت",
|
||||
"YDURw6": "رابط الخدمة",
|
||||
"YXA3AH": "تمكين التفاعل",
|
||||
"Z0FDj+": "اشترك في {plan} مقابل {price} واحصل على المزايا التالية",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "نشط الآن",
|
||||
"ZLmyG9": "المساهمون",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Setup profile",
|
||||
"a5UPxh": "ادعم المطورين والمنصات التي تقدم خدمات التحقق من NIP-05",
|
||||
"a7TDNm": "Notes will stream in real time into global and notes tab",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "اختر اسم مستخدم",
|
||||
"bxv59V": "الآن",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "تثبيت الإضافة",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "إذا كان لديك استفسار حول طلب NIP-05 الخاص بك ، فيرجى مراسلة {link} على الخاص",
|
||||
"c3g2hL": "Broadcast Again",
|
||||
"cFbU1B": "Using Alby? Go to {link} to get your NWC config!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "التاريخ",
|
||||
"d7d0/x": "عنوان البرق",
|
||||
"dOQCL8": "اسم العرض",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "قريباً",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "تمت قراءة الكل",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "A single zap of {nIn} sats will allocate {nOut} sats to the zap pool.",
|
||||
"eXT2QQ": "Group Chat",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "لا يمكن التصويت لأن خدمة LNURL لا تدعم الوميض",
|
||||
"fWZYP5": "مثبّت",
|
||||
"filwqD": "يقرأ",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "نبذة",
|
||||
"g985Wp": "فشل إرسال الصوت",
|
||||
"gBdUXk": "احفظ مفاتيحك!",
|
||||
"gDZkld": "سنورت هو واجهة لنوستر البروتوكول اللامركزي لحفظ وتشر المنشورات.",
|
||||
"gDzDRs": "يتم إرسال الرموز التعبيرية للتفاعل مع منشور",
|
||||
"gXgY3+": "قد لا يدعم بعض عملاء نوستر هذه الخاصية",
|
||||
"gczcC5": "اشتراك",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "الملف التعريفي",
|
||||
"izWS4J": "الغاء المتابعة",
|
||||
"jA3OE/": "{n,plural,=1{{n} ساتوشي}other{{n} ساتوشي}}",
|
||||
"jCA7Cw": "معاينة على سنورت",
|
||||
"jMzO1S": "خطأ داخلي: {msg}",
|
||||
"jfV8Wr": "الخلف",
|
||||
"juhqvW": "تحسين أمان تسجيل الدخول باستخدام ملحقات المتصفح",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "التفاعل {n}",
|
||||
"k2veDA": "يكتب",
|
||||
"k7sKNy": "تساعد خدمة التوثيق NIP-05 الخاصة بنا في دعم تطوير هذا الموقع والحصول على شارة خاصة لامعة على موقعنا!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} reposted} other{{name} & {n} others reposted}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "الآن",
|
||||
"kuPHYE": "{n,plural,=0{{name} liked} other{{name} & {n} others liked}}",
|
||||
"l+ikU1": "جميع ما في {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "دفع",
|
||||
"lPWASz": "عنوان سنورت لنوستر",
|
||||
"lTbT3s": "كلمة مرور المحفظة",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "صفحة الحساب",
|
||||
"ll3xBp": "خدمة وكيل الصور",
|
||||
"lnaT9F": "المتابَعون {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "شارك أفكارك مع {link}",
|
||||
"nOaArs": "إعداد الملف الشخصي",
|
||||
"nWQFic": "تجديد",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "نقدر لكم سخاء تبرعاتكم",
|
||||
"nwZXeh": "محظور {n}",
|
||||
"o6Uy3d": "يمكن استخدام المفتاح السري للنشر (وتوقيع الأحداث) ، كل شيء آخر يعمل في وضع القراءة فقط.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} أيام",
|
||||
"rrfdTe": "هذه نفس التقنية التي تستخدم في البتكوين وثبت أنها آمنة للغاية.",
|
||||
"rudscU": "فشل تحميل ما يلي ، يرجى المحاولة مرة أخرى في وقت لاحق",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "تم تصميم سنورت للحصول على تجربة مماثلة لتويتر.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "غير مسموح بانتحال الأسماء والشخصيات. يحتفظ سنورت وشركاؤنا بالحق في الغاء معرّف التوثيق الخاص بك (وليس حسابك - لا يمكن لأحد أن يفعل ذلك) لانتهاك هذه القاعدة.",
|
||||
"tOdNiY": "داكن",
|
||||
"th5lxp": "Send note to a subset of your write relays",
|
||||
"thnRpU": "يمكن أن يساعد الحصول على معرف التوثيق NIP-05 في:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "اللغة",
|
||||
"yCLnBC": "LNURL أو عنوان برق",
|
||||
"yCmnnm": "قراءة العام من",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "تواصل",
|
||||
"zINlao": "مالك",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "adda icazə verilməyən simvollar var",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} saniyə",
|
||||
"1A7TZk": "Snort nədir və necə işləyir?",
|
||||
"1Mo59U": "Bu qeydi əlfəcinlərdən silmək istədiyinizə əminsiniz?",
|
||||
"1R43+L": "Nostr Wallet Connect konfiqurasiyasını daxil edin",
|
||||
"1c4YST": "Qoşuldu: {node} 🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Ləğv et",
|
||||
"4IPzdn": "Əsas Tərtibatçılar",
|
||||
"4L2vUY": "Your new NIP-05 handle is:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Bəyənmə",
|
||||
"4Vmpt4": "Nostr Plebs məkanda ilk NIP-05 provayderlərindən biridir və münasib qiymətlərlə yaxşı domen kolleksiyası təklif edir",
|
||||
"4Z3t5i": "Şəkilləri sıxmaq üçün imgproxy istifadə edin",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "{host} proksi şəklini yükləmək alınmadı, birbaşa yükləmək üçün bura klikləyin",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "İdentifikator alın",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "Bəyənmələr ({n})",
|
||||
"6uMqL1": "Ödənilməmiş",
|
||||
"7+Domh": "Qeydlər",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Hesab dəyişdiricisi",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Repostlar ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Write access to Snort relay, with 1 year of event retention",
|
||||
"BOUMjw": "No nostr users found for {twitterUsername}",
|
||||
"BOr9z/": "Snort is an open source project built by passionate people in their free time",
|
||||
"BWpuKl": "Yenilə",
|
||||
"BcGMo+": "Notes hold text content, the most popular usage of these notes is to store \"tweet like\" messages.",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Çıxış",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Failed to load invoice",
|
||||
"CVWeJ6": "Trending People",
|
||||
"CmZ9ls": "{n} Muted",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Translated from {lang}",
|
||||
"D+KzKd": "Automatically zap every note when loaded",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Global",
|
||||
"Ebl/B2": "Translate to {lang}",
|
||||
"EcZF24": "Custom Relays",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Key",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "Buy",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Clear cache and reload",
|
||||
"HbefNb": "Open Wallet",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "Thanks for using Snort, please consider donating if you can.",
|
||||
"IEwZvs": "Are you sure you want to unpin this note?",
|
||||
"IKKHqV": "Follows",
|
||||
"INSqIz": "Twitter username...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Wallet password",
|
||||
"MRp6Ly": "Twitter username",
|
||||
"MWTx65": "Default Page",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Pay for subscription",
|
||||
"MuVeKe": "Buy nostr address",
|
||||
"MzRYWH": "Buying {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Confirm",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "You already have a subscription of this type, please renew or pay",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zaps",
|
||||
"OKhRC6": "Share",
|
||||
"OLEm6z": "Unknown login error",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "You subscription is still active, you can't renew yet",
|
||||
"ORGv1Q": "Created",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Copy Event JSON",
|
||||
"P7FD0F": "System (Default)",
|
||||
"P7nJT9": "Total today (UTC): {amount} sats",
|
||||
"PCSt5T": "Preferences",
|
||||
"PLSbmL": "Your mnemonic phrase",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Unknown file header: {name}",
|
||||
"Pe0ogR": "Theme",
|
||||
"PrsIg7": "Reactions will be shown on every page, if disabled no reactions will be shown",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Subscription",
|
||||
"R81upa": "People you follow",
|
||||
"RDZVQL": "Check",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Expired",
|
||||
"RfhLwC": "By: {author}",
|
||||
"RhDAoS": "Are you sure you want to delete {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Relays",
|
||||
"Rs4kCE": "Bookmark",
|
||||
"RwFaYs": "Sort",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "Update Lightning Address",
|
||||
"SP0+yi": "Buy Subscription",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "New Chat",
|
||||
"UUPFlt": "Users must accept the content warning to show the content of your note.",
|
||||
"Up5U7K": "Block",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, can't find a key manager extension.. try reloading the page.",
|
||||
"VN0+Fz": "Balance: {amount} sats",
|
||||
"VOjC1i": "Pick which upload service you want to upload attachments to",
|
||||
"VR5eHw": "Public key (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} muted",
|
||||
"VnXp8Z": "Avatar",
|
||||
"VvaJst": "View Wallets",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Your default zap amount is {number} sats, example values are calculated from this.",
|
||||
"XrSk2j": "Redeem",
|
||||
"XzF0aC": "Key manager extensions are more secure and allow you to easily login to any Nostr client, here are some well known extensions:",
|
||||
"Y31HTH": "Help fund the development of Snort",
|
||||
"YDURw6": "Service URL",
|
||||
"YXA3AH": "Enable reactions",
|
||||
"Z0FDj+": "Subscribe to Snort {plan} for {price} and receive the following rewards",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Activate Now",
|
||||
"ZLmyG9": "Contributors",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Setup profile",
|
||||
"a5UPxh": "Fund developers and platforms providing NIP-05 verification services",
|
||||
"a7TDNm": "Notes will stream in real time into global and notes tab",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "Pick a username",
|
||||
"bxv59V": "Just now",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Install Extension",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "If you have an enquiry about your NIP-05 order please DM {link}",
|
||||
"c3g2hL": "Broadcast Again",
|
||||
"cFbU1B": "Using Alby? Go to {link} to get your NWC config!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "History",
|
||||
"d7d0/x": "LN Address",
|
||||
"dOQCL8": "Display name",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Coming soon",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "Mark All Read",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "A single zap of {nIn} sats will allocate {nOut} sats to the zap pool.",
|
||||
"eXT2QQ": "Group Chat",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Can't vote because LNURL service does not support zaps",
|
||||
"fWZYP5": "Pinned",
|
||||
"filwqD": "Read",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "About",
|
||||
"g985Wp": "Failed to send vote",
|
||||
"gBdUXk": "Save your keys!",
|
||||
"gDZkld": "Snort is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"gDzDRs": "Emoji to send when reactiong to a note",
|
||||
"gXgY3+": "Not all clients support this yet",
|
||||
"gczcC5": "Subscribe",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Profile",
|
||||
"izWS4J": "Unfollow",
|
||||
"jA3OE/": "{n,plural,=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "Preview on snort",
|
||||
"jMzO1S": "Internal error: {msg}",
|
||||
"jfV8Wr": "Back",
|
||||
"juhqvW": "Improve login security with browser extensions",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reactions",
|
||||
"k2veDA": "Write",
|
||||
"k7sKNy": "Our very own NIP-05 verification service, help support the development of this site and get a shiny special badge on our site!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} reposted} other{{name} & {n} others reposted}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "now",
|
||||
"kuPHYE": "{n,plural,=0{{name} liked} other{{name} & {n} others liked}}",
|
||||
"l+ikU1": "Everything in {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Pay",
|
||||
"lPWASz": "Snort nostr address",
|
||||
"lTbT3s": "Wallet password",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "account page",
|
||||
"ll3xBp": "Image proxy service",
|
||||
"lnaT9F": "Following {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Share your thoughts with {link}",
|
||||
"nOaArs": "Setup Profile",
|
||||
"nWQFic": "Renew",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Your donations are greatly appreciated",
|
||||
"nwZXeh": "{n} blocked",
|
||||
"o6Uy3d": "Only the secret key can be used to publish (sign events), everything else logs you in read-only mode.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} days",
|
||||
"rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.",
|
||||
"rudscU": "Failed to load follows, please try again later",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "Snort is designed to have a similar experience to Twitter.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"tOdNiY": "Dark",
|
||||
"th5lxp": "Send note to a subset of your write relays",
|
||||
"thnRpU": "Getting NIP-05 verified can help:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Dil",
|
||||
"yCLnBC": "LNURL və ya Lightning Ünvanı",
|
||||
"yCmnnm": "Qlobaldan oxuyun",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "Əlaqə",
|
||||
"zINlao": "Sahibi",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "Der Name enthält unerlaubte Zeichen",
|
||||
"0uoY11": "Status anzeigen",
|
||||
"0yO7wF": "{n} Sek.",
|
||||
"1A7TZk": "Was ist Snort und wie funktioniert es?",
|
||||
"1Mo59U": "Bist du sicher, dass du diese Note aus deinen Lesezeichen entfernen möchtest?",
|
||||
"1R43+L": "Nostr Wallet Connect Konfiguration eingeben",
|
||||
"1c4YST": "Verbunden mit: {node}🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Abbrechen",
|
||||
"4IPzdn": "Primäre Entwickler",
|
||||
"4L2vUY": "Dein neuer NIP-05-Handle ist:",
|
||||
"4MBtMa": "Name muss zwischen 1 und 32 Zeichen lang sein",
|
||||
"4OB335": "Gefällt nicht",
|
||||
"4Vmpt4": "Nostr Plebs ist einer der ersten NIP-05 Anbieter und bietet eine gute Auswahl von Domains zu fairen Preisen",
|
||||
"4Z3t5i": "Verwende imgproxy um Bilder zu komprimieren",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Wiederholung anschauen",
|
||||
"65BmHb": "Bild von {host} konnte nicht durch Proxy geladen werden, klicke hier, um es direkt zu laden",
|
||||
"6OSOXl": "Grund: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Bekomme eine Identifikation",
|
||||
"6bgpn+": "Nicht alle Clients unterstützen dies, deshalb kann es sein, dass du immer noch einige Zaps erhältst, als ob Zap-Aufteilungen nicht konfiguriert wäre",
|
||||
"6ewQqw": "Gefällt ({n})",
|
||||
"6uMqL1": "Nicht bezahlt",
|
||||
"7+Domh": "Notes",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Konto wechseln",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Reposts ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Schreibzugriff auf Snort Relais, mit 1 Jahr Speicherung von Events",
|
||||
"BOUMjw": "Keine Nostr-Benutzer gefunden für {twitterUsername}",
|
||||
"BOr9z/": "Snort ist ein Open-Source-Projekt, von begeisterten in ihrer Freizeit entwickelt",
|
||||
"BWpuKl": "Aktualisieren",
|
||||
"BcGMo+": "Notes enthalten Text, der meistgenutzte Anwendungsfall sind \"Tweet ähnliche\" Nachrichten.",
|
||||
"BjNwZW": "Nostr-Adresse (nip05)",
|
||||
"C1LjMx": "Lightning Spende",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Abmelden",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Lightning Zahlungsanforderung konnte nicht geladen werden",
|
||||
"CVWeJ6": "Angesagte Personen",
|
||||
"CmZ9ls": "{n} Stummgeschaltet",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Übersetzt von {lang}",
|
||||
"D+KzKd": "Automatisch jede Note beim Laden zappen",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Global",
|
||||
"Ebl/B2": "Auf {lang} Übersetzen",
|
||||
"EcZF24": "Benutzerdefinierte Relais",
|
||||
"EcfIwB": "Benutzername ist verfügbar",
|
||||
"EcglP9": "Schlüssel",
|
||||
"EjFyoR": "On-chain Spendenadresse",
|
||||
"EnCOBJ": "Kaufen",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Cache leeren und neu laden",
|
||||
"HbefNb": "Wallet öffnen",
|
||||
"HhcAVH": "Du folgst dieser Person nicht, klicke hier, um Medien von <i>{link}</i>zu laden, oder aktualisiere <a><i>deine Einstellungen</i></a>, um Medien immer von allen zu laden.",
|
||||
"IDjHJ6": "Danke für die Verwendung von Snort. Wir würden uns über eine Spende freuen.",
|
||||
"IEwZvs": "Sind sie sicher, dass sie diese Notiz entpinnen möchten?",
|
||||
"IKKHqV": "Folgt",
|
||||
"INSqIz": "Twitter-Benutzername...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Wallet Passwort",
|
||||
"MRp6Ly": "Twitter-Benutzername",
|
||||
"MWTx65": "Standardseite",
|
||||
"MiMipu": "Als primäre Nostr-Adresse (nip05) festlegen",
|
||||
"Mrpkot": "Abonnement bezahlen",
|
||||
"MuVeKe": "Nostr-Adresse kaufen",
|
||||
"MzRYWH": "{item} kaufen",
|
||||
"Mzizei": "Iris.to Konto",
|
||||
"N2IrpM": "Bestätigen",
|
||||
"NAidKb": "Benachrichtigungen",
|
||||
"NAuFNH": "Du hast bereits ein Abonnement dieser Art, bitte erneuern oder bezahlen",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zaps",
|
||||
"OKhRC6": "Teilen",
|
||||
"OLEm6z": "Unbekannter Anmeldefehler",
|
||||
"OQSOJF": "Kostenlose Nostr-Adresse erhalten",
|
||||
"OQXnew": "Dein Abonnement ist noch aktiv, du kannst es noch nicht erneuern",
|
||||
"ORGv1Q": "Erstellt",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Event JSON kopieren",
|
||||
"P7FD0F": "System (Standard)",
|
||||
"P7nJT9": "Gesamt heute (UTC): {amount} sats",
|
||||
"PCSt5T": "Einstellungen",
|
||||
"PLSbmL": "Ihre mnemonische Passphrase",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Unbekannter Datei-Header: {name}",
|
||||
"Pe0ogR": "Erscheinungsbild",
|
||||
"PrsIg7": "Reaktionen werden auf jeder Seite angezeigt, wenn Reaktionen deaktiviert sind, werden sie nicht angezeigt",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Abonnement",
|
||||
"R81upa": "Personen, denen du folgst",
|
||||
"RDZVQL": "Prüfen",
|
||||
"RSr2uB": "Benutzername darf nur Kleinbuchstaben und Ziffern enthalten",
|
||||
"RahCRH": "Abgelaufen",
|
||||
"RfhLwC": "Von: {author}",
|
||||
"RhDAoS": "Sind sie sicher, dass sie {id} löschen möchten?",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Relais",
|
||||
"Rs4kCE": "Lesezeichen",
|
||||
"RwFaYs": "Sortieren",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Zap an {name} senden",
|
||||
"SOqbe9": "Lightning-Adresse aktualisieren",
|
||||
"SP0+yi": "Abonnement kaufen",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "Neuer Chat",
|
||||
"UUPFlt": "Nutzer müssen die Inhaltswarnung akzeptieren, um den Inhalt deiner Note anzuzeigen.",
|
||||
"Up5U7K": "Blockieren",
|
||||
"UrKTqQ": "Du hast ein aktives iris.to Konto",
|
||||
"VBadwB": "Hmm, es konnte keine Schlüssel-Manager-Erweiterung gefunden werden. Versuchen Sie, die Seite neu zu laden.",
|
||||
"VN0+Fz": "Guthaben: {amount} Sats",
|
||||
"VOjC1i": "Wähle einen Upload-Dienst für deine Anhänge",
|
||||
"VR5eHw": "Öffentlicher Schlüssel (npub/nprofile)",
|
||||
"VcwrfF": "Ja, bitte",
|
||||
"VlJkSk": "{n} stummgeschaltet",
|
||||
"VnXp8Z": "Profilbild",
|
||||
"VvaJst": "Wallets anzeigen",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Dein standardmäßiger Zap-Betrag ist {number} sats, Beispielwerte werden daraus berechnet.",
|
||||
"XrSk2j": "Einlösen",
|
||||
"XzF0aC": "Schlüssel-Manager-Erweiterungen sind sicherer und erlauben es Ihnen, sich ganz einfach bei jedem Nostr-Client anzumelden. Hier sind einige bekannte Erweiterungen:",
|
||||
"Y31HTH": "Unterstütze die Entwicklung von Snort",
|
||||
"YDURw6": "URL des Dienstes",
|
||||
"YXA3AH": "Reaktionen aktivieren",
|
||||
"Z0FDj+": "Abonniere Snort {plan} für {price} und erhalte folgende Prämien",
|
||||
@ -287,8 +299,9 @@
|
||||
"ZKORll": "Jetzt aktivieren",
|
||||
"ZLmyG9": "Mitwirkende",
|
||||
"ZS+jRE": "Sende Zap-Aufteilungen an",
|
||||
"Zff6lu": "Benutzername iris.to/<b>{name}</b> ist reserviert für dich!",
|
||||
"Zr5TMx": "Profil einrichten",
|
||||
"a5UPxh": "Finanzieren Sie Entwickler und Plattformen, die NIP-05-Verifizierungsdienste anbieten",
|
||||
"a5UPxh": "Finanziere Entwickler und Plattformen, die NIP-05-Verifizierungsdienste anbieten",
|
||||
"a7TDNm": "Notes werden in Echtzeit in Global- und Notes-Tab gestreamt",
|
||||
"aWpBzj": "Mehr anzeigen",
|
||||
"b12Goz": "Mnemonik",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "Wählen Sie einen Benutzernamen",
|
||||
"bxv59V": "Gerade eben",
|
||||
"c+JYNI": "Nein, danke",
|
||||
"c+oiJe": "Erweiterung installieren",
|
||||
"c2DTVd": "Gib eine PIN ein, um deinen privaten Schlüssel zu verschlüsseln. Du musst diese PIN jedes Mal eingeben, wenn du Snort öffnest.",
|
||||
"c35bj2": "Wenn du eine Anfrage zu deiner NIP-05-Bestellung hast, schreibe bitte eine DM an {link}",
|
||||
"c3g2hL": "Erneut verbreiten",
|
||||
"cFbU1B": "Du benutzt Alby? Gehe zu {link} um deine NWC Konfiguration zu erhalten!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "Verlauf",
|
||||
"d7d0/x": "LN-Adresse",
|
||||
"dOQCL8": "Anzeigename",
|
||||
"deEeEI": "Registrieren",
|
||||
"e61Jf3": "Kommt bald",
|
||||
"e7VmYP": "PIN eingeben, um deinen privaten Schlüssel zu entsperren",
|
||||
"e7qqly": "Alle als gelesen markieren",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "Ein einzelner Zap von {nIn} sats wird {nOut} sats dem Zap Pool zuweisen.",
|
||||
"eXT2QQ": "Gruppenchat",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Abstimmung nicht möglich, da der LNURL-Dienst keine Zaps unterstützt",
|
||||
"fWZYP5": "Angeheftet",
|
||||
"filwqD": "Lesen",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "Über mich",
|
||||
"g985Wp": "Stimmabgabe fehlgeschlagen",
|
||||
"gBdUXk": "Speicher deine Schlüssel!",
|
||||
"gDZkld": "Snort ist eine Nostr Benutzeroberfläche, Nostr ist ein dezentralisiertes Protokoll zur Distribution von \"Notes\" (Text).",
|
||||
"gDzDRs": "Emoji, das gesendet werden soll, wenn auf eine Note reagiert wird",
|
||||
"gXgY3+": "Nicht alle Clients unterstützen das",
|
||||
"gczcC5": "Abonnieren",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Profil",
|
||||
"izWS4J": "Entfolgen",
|
||||
"jA3OE/": "{n,plural,one {}=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "Vorschau auf Snort",
|
||||
"jMzO1S": "Interner Fehler: {msg}",
|
||||
"jfV8Wr": "Zurück",
|
||||
"juhqvW": "Verbessere die Anmeldesicherheit mit Browsererweiterungen",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reaktionen",
|
||||
"k2veDA": "Schreiben",
|
||||
"k7sKNy": "Unser eigener NIP-05-Verifizierungsdienst unterstützt die Entwicklung dieser Website. Unterstütze uns und erhalte ein Abzeichen auf unserer Seite!",
|
||||
"kEZUR8": "Iris-Benutzernamen registrieren",
|
||||
"kJYo0u": "{n,plural,=0{{name} hat gerepostet} other{{name} & {n} andere haben gerepostet}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "jetzt",
|
||||
"kuPHYE": "{n,plural,=0{{name} gefällt das} other{{name} & {n} anderen gefällt das}}",
|
||||
"l+ikU1": "Alles aus {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Bezahlen",
|
||||
"lPWASz": "Snort Nostr-Adresse",
|
||||
"lTbT3s": "Wallet Passwort",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "Kontoseite",
|
||||
"ll3xBp": "Bildproxy-Dienst",
|
||||
"lnaT9F": "Folgt {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Teile deine Gedanken mit {link}",
|
||||
"nOaArs": "Profil einrichten",
|
||||
"nWQFic": "Erneuern",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Deine Spenden werden sehr geschätzt",
|
||||
"nwZXeh": "{n} blockiert",
|
||||
"o6Uy3d": "Nur der Privatschlüssel kann genutzt werden um zu veröffentlichen (Events signieren), alles andere wird im schreibgeschützten Modus geladen.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} Tage",
|
||||
"rrfdTe": "Dies ist die gleiche Technologie, die auch von Bitcoin verwendet wird, und sich als äußerst sicher erwiesen hat.",
|
||||
"rudscU": "Abonnements konnten nicht geladen werden, bitte versuchen Sie es später erneut",
|
||||
"rx1i0i": "Kurzlink",
|
||||
"sKDn4e": "Abzeichen anzeigen",
|
||||
"sUNhQE": "Nutzer",
|
||||
"sWnYKw": "Snort wurde darauf konzipiert ein Twitter ähnliches Erlebnis zu bieten.",
|
||||
"sZQzjQ": "Fehler beim Parsen der Zap-Aufteilung: {input}",
|
||||
"svOoEH": "Namens-Squatting und Impersonation sind nicht erlaubt. Snort und unsere Partner behalten sich das Recht vor, bei einem Verstoß gegen diese Regel dein Handle zu löschen (nicht dein Konto - das kann dir niemand wegnehmen).",
|
||||
"tOdNiY": "Dunkel",
|
||||
"th5lxp": "Sende Note zu einer Untergruppe deiner Schreib-Relays",
|
||||
"thnRpU": "Eine NIP-05 Verifizierung kann helfen:",
|
||||
@ -452,7 +468,7 @@
|
||||
"wYSD2L": "Nostr-Adresse",
|
||||
"wih7iJ": "Name ist blockiert",
|
||||
"wofVHy": "Moderation",
|
||||
"wqyN/i": "Erfahren Sie mehr über {service} auf {link}",
|
||||
"wqyN/i": "Erfahre mehr über {service} auf {link}",
|
||||
"wtLjP6": "ID kopieren",
|
||||
"x/Fx2P": "Unterstütze die von dir genutzten Dienste, indem du einen Teil deiner Zaps in einen Spendenpool einzahlst!",
|
||||
"x82IOl": "Stummschalten",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Sprache",
|
||||
"yCLnBC": "LNURL oder Lightning-Adresse",
|
||||
"yCmnnm": "Global lesen von",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Gewichtung",
|
||||
"zFegDD": "Kontakt",
|
||||
"zINlao": "Eigentümer",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "name has disallowed characters",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} secs",
|
||||
"1A7TZk": "What is Snort and how does it work?",
|
||||
"1Mo59U": "Are you sure you want to remove this note from bookmarks?",
|
||||
"1R43+L": "Enter Nostr Wallet Connect config",
|
||||
"1c4YST": "Connected to: {node} 🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Cancel",
|
||||
"4IPzdn": "Primary Developers",
|
||||
"4L2vUY": "Your new NIP-05 handle is:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Dislike",
|
||||
"4Vmpt4": "Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices",
|
||||
"4Z3t5i": "Use imgproxy to compress images",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "Failed to proxy image from {host}, click here to load directly",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Get an identifier",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "Likes ({n})",
|
||||
"6uMqL1": "Unpaid",
|
||||
"7+Domh": "Notes",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Account Switcher",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Reposts ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Write access to Snort relay, with 1 year of event retention",
|
||||
"BOUMjw": "No nostr users found for {twitterUsername}",
|
||||
"BOr9z/": "Snort is an open source project built by passionate people in their free time",
|
||||
"BWpuKl": "Update",
|
||||
"BcGMo+": "Notes hold text content, the most popular usage of these notes is to store \"tweet like\" messages.",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Logout",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Failed to load invoice",
|
||||
"CVWeJ6": "Trending People",
|
||||
"CmZ9ls": "{n} Muted",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Translated from {lang}",
|
||||
"D+KzKd": "Automatically zap every note when loaded",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Global",
|
||||
"Ebl/B2": "Translate to {lang}",
|
||||
"EcZF24": "Custom Relays",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Key",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "Buy",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Clear cache and reload",
|
||||
"HbefNb": "Open Wallet",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "Thanks for using Snort, please consider donating if you can.",
|
||||
"IEwZvs": "Are you sure you want to unpin this note?",
|
||||
"IKKHqV": "Follows",
|
||||
"INSqIz": "Twitter username...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Wallet password",
|
||||
"MRp6Ly": "Twitter username",
|
||||
"MWTx65": "Default Page",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Pay for subscription",
|
||||
"MuVeKe": "Buy nostr address",
|
||||
"MzRYWH": "Buying {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Confirm",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "You already have a subscription of this type, please renew or pay",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zaps",
|
||||
"OKhRC6": "Share",
|
||||
"OLEm6z": "Unknown login error",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "You subscription is still active, you can't renew yet",
|
||||
"ORGv1Q": "Created",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Copy Event JSON",
|
||||
"P7FD0F": "System (Default)",
|
||||
"P7nJT9": "Total today (UTC): {amount} sats",
|
||||
"PCSt5T": "Preferences",
|
||||
"PLSbmL": "Your mnemonic phrase",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Unknown file header: {name}",
|
||||
"Pe0ogR": "Theme",
|
||||
"PrsIg7": "Reactions will be shown on every page, if disabled no reactions will be shown",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Subscription",
|
||||
"R81upa": "People you follow",
|
||||
"RDZVQL": "Check",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Expired",
|
||||
"RfhLwC": "By: {author}",
|
||||
"RhDAoS": "Are you sure you want to delete {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Relays",
|
||||
"Rs4kCE": "Bookmark",
|
||||
"RwFaYs": "Sort",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "Update Lightning Address",
|
||||
"SP0+yi": "Buy Subscription",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "New Chat",
|
||||
"UUPFlt": "Users must accept the content warning to show the content of your note.",
|
||||
"Up5U7K": "Block",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, can't find a key manager extension.. try reloading the page.",
|
||||
"VN0+Fz": "Balance: {amount} sats",
|
||||
"VOjC1i": "Pick which upload service you want to upload attachments to",
|
||||
"VR5eHw": "Public key (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} muted",
|
||||
"VnXp8Z": "Avatar",
|
||||
"VvaJst": "View Wallets",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Your default zap amount is {number} sats, example values are calculated from this.",
|
||||
"XrSk2j": "Redeem",
|
||||
"XzF0aC": "Key manager extensions are more secure and allow you to easily login to any Nostr client, here are some well known extensions:",
|
||||
"Y31HTH": "Help fund the development of Snort",
|
||||
"YDURw6": "Service URL",
|
||||
"YXA3AH": "Enable reactions",
|
||||
"Z0FDj+": "Subscribe to Snort {plan} for {price} and receive the following rewards",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Activate Now",
|
||||
"ZLmyG9": "Contributors",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Setup profile",
|
||||
"a5UPxh": "Fund developers and platforms providing NIP-05 verification services",
|
||||
"a7TDNm": "Notes will stream in real time into global and notes tab",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "Pick a username",
|
||||
"bxv59V": "Just now",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Install Extension",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "If you have an enquiry about your NIP-05 order please DM {link}",
|
||||
"c3g2hL": "Broadcast Again",
|
||||
"cFbU1B": "Using Alby? Go to {link} to get your NWC config!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "History",
|
||||
"d7d0/x": "LN Address",
|
||||
"dOQCL8": "Display name",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Coming soon",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "Mark All Read",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "A single zap of {nIn} sats will allocate {nOut} sats to the zap pool.",
|
||||
"eXT2QQ": "Group Chat",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Can't vote because LNURL service does not support zaps",
|
||||
"fWZYP5": "Pinned",
|
||||
"filwqD": "Read",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "About",
|
||||
"g985Wp": "Failed to send vote",
|
||||
"gBdUXk": "Save your keys!",
|
||||
"gDZkld": "Snort is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"gDzDRs": "Emoji to send when reactiong to a note",
|
||||
"gXgY3+": "Not all clients support this yet",
|
||||
"gczcC5": "Subscribe",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Profile",
|
||||
"izWS4J": "Unfollow",
|
||||
"jA3OE/": "{n,plural,=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "Preview on snort",
|
||||
"jMzO1S": "Internal error: {msg}",
|
||||
"jfV8Wr": "Back",
|
||||
"juhqvW": "Improve login security with browser extensions",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reactions",
|
||||
"k2veDA": "Write",
|
||||
"k7sKNy": "Our very own NIP-05 verification service, help support the development of this site and get a shiny special badge on our site!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} reposted} other{{name} & {n} others reposted}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "now",
|
||||
"kuPHYE": "{n,plural,=0{{name} liked} other{{name} & {n} others liked}}",
|
||||
"l+ikU1": "Everything in {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Pay",
|
||||
"lPWASz": "Snort nostr address",
|
||||
"lTbT3s": "Wallet password",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "account page",
|
||||
"ll3xBp": "Image proxy service",
|
||||
"lnaT9F": "Following {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Share your thoughts with {link}",
|
||||
"nOaArs": "Setup Profile",
|
||||
"nWQFic": "Renew",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Your donations are greatly appreciated",
|
||||
"nwZXeh": "{n} blocked",
|
||||
"o6Uy3d": "Only the secret key can be used to publish (sign events), everything else logs you in read-only mode.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} days",
|
||||
"rrfdTe": "This is the same technology which is used by Bitcoin and has been proven to be extremely secure.",
|
||||
"rudscU": "Failed to load follows, please try again later",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "Snort is designed to have a similar experience to Twitter.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "Name-squatting and impersonation is not allowed. Snort and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"tOdNiY": "Dark",
|
||||
"th5lxp": "Send note to a subset of your write relays",
|
||||
"thnRpU": "Getting NIP-05 verified can help:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Language",
|
||||
"yCLnBC": "LNURL or Lightning Address",
|
||||
"yCmnnm": "Read global from",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "Contact",
|
||||
"zINlao": "Owner",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "el nombre tiene caracteres inválidos",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} seg",
|
||||
"1A7TZk": "¿Qué es Snort y cómo funciona?",
|
||||
"1Mo59U": "¿Estás seguro de que quieres eliminar esta nota de tus favoritos?",
|
||||
"1R43+L": "Enter Nostr Wallet Connect config",
|
||||
"1c4YST": "Conectado a: {node}🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Cancelar",
|
||||
"4IPzdn": "Desarrolladores principales",
|
||||
"4L2vUY": "Tu nuevo NIP-05 es:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "No me gusta",
|
||||
"4Vmpt4": "Nostr Plbes es uno de los primeros proveedores de NIP-05 y ofrece una buena colección de dominios a precios razonables.",
|
||||
"4Z3t5i": "Usar imgproxy para comprimir imágenes",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "Failed to proxy image from {host}, click here to load directly",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Obténer un identificador de Snort",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "Me gusta ({n})",
|
||||
"6uMqL1": "No pagado",
|
||||
"7+Domh": "Notas",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Conmutador de Cuentas",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Reposts ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Escriba el acceso al relé Snort, con 1 año de retención de eventos",
|
||||
"BOUMjw": "No hemos encontrado usuarios en nostr para {twitterUsername}",
|
||||
"BOr9z/": "Snort es un proyecto de código abierto creado por personas apasionadas en su tiempo libre.",
|
||||
"BWpuKl": "Actualización",
|
||||
"BcGMo+": "Las notas contienen contenido textual, el uso más popular de dichas notas es almacenar mensajes parecidos a \"tweets\".",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Salir",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Error al cargar factura",
|
||||
"CVWeJ6": "Trending People",
|
||||
"CmZ9ls": "{n} Silenciados",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Traducido de {lang}",
|
||||
"D+KzKd": "Zap automático al cargar cada nota",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Global",
|
||||
"Ebl/B2": "Traducir a {lang}",
|
||||
"EcZF24": "Custom Relays",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Clave",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "Comprar",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Clear cache and reload",
|
||||
"HbefNb": "Abrir Wallet",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "Gracias por usar Snort, por favor considera donar si puede.",
|
||||
"IEwZvs": "¿Estás seguro de que quieres desmarcar esta nota?",
|
||||
"IKKHqV": "Follows",
|
||||
"INSqIz": "Usuario en Twitter...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Contraseña de la cartera",
|
||||
"MRp6Ly": "Usuario en Twitter",
|
||||
"MWTx65": "Página por defecto",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Pagar por suscripción",
|
||||
"MuVeKe": "Buy nostr address",
|
||||
"MzRYWH": "Comprando {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Confirmar",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "Ya tiene una suscripción de este tipo, por favor renueve o pague",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zaps",
|
||||
"OKhRC6": "Compartir",
|
||||
"OLEm6z": "Error de inicio de sesión",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "Tu suscripción todavía está activa, aún no puedes renovarla",
|
||||
"ORGv1Q": "Creado",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Copiar JSON",
|
||||
"P7FD0F": "Sistema (por defecto)",
|
||||
"P7nJT9": "Total hoy (UTC): {amount} sáb",
|
||||
"PCSt5T": "Preferencias",
|
||||
"PLSbmL": "Frase mnemotécnica",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Encabezado de archivo desconocido: {name}",
|
||||
"Pe0ogR": "Tema",
|
||||
"PrsIg7": "Se mostrarán las reacciones a las notas",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Suscripción",
|
||||
"R81upa": "People you follow",
|
||||
"RDZVQL": "Comprobar",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Caducada",
|
||||
"RfhLwC": "Por: {author}",
|
||||
"RhDAoS": "¿Estás seguro de que quieres eliminar {id}?",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Relays",
|
||||
"Rs4kCE": "Favorito",
|
||||
"RwFaYs": "Sort",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "Actualizar la dirección de relámpago",
|
||||
"SP0+yi": "Buy Subscription",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "New Chat",
|
||||
"UUPFlt": "Los usuarios deben aceptar la advertencia de contenido para mostrar el contenido de tu nota.",
|
||||
"Up5U7K": "Bloquear",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, no se puede encontrar una extensión gestora de claves. Intente recargar la página.",
|
||||
"VN0+Fz": "Saldo: {amount} sats",
|
||||
"VOjC1i": "Elige qué servicio de subida de ficheros quieres utilizar",
|
||||
"VR5eHw": "Clave pública (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} silenciados",
|
||||
"VnXp8Z": "Avatar",
|
||||
"VvaJst": "View Wallets",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Your default zap amount is {number} sats, example values are calculated from this.",
|
||||
"XrSk2j": "Redeem",
|
||||
"XzF0aC": "Las extensiones gestoras de claves son más seguras y te permiten acceder fácilmente a cualquier cliente Nostr, aquí hay algunas extensiones comúnmente utilizadas:",
|
||||
"Y31HTH": "Ayuda a financiar el desarrollo de Snort",
|
||||
"YDURw6": "URL del Servicio",
|
||||
"YXA3AH": "Activar reacciones",
|
||||
"Z0FDj+": "Suscríbete a Snort {plan} por {price} y recibe las siguientes recompensas",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Activar Ahora",
|
||||
"ZLmyG9": "Colaboradores",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Configurar el perfil",
|
||||
"a5UPxh": "Apoya a las plataformas y desarrolladores que proporcionan servicios de verificación",
|
||||
"a7TDNm": "Notes will stream in real time into global and notes tab",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "Elige un nombre de usuario",
|
||||
"bxv59V": "Justo ahora",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Instalar extensión",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "Si tiene una consulta sobre su pedido de NIP-05, envíe un mensaje privado {link}",
|
||||
"c3g2hL": "Broadcast Again",
|
||||
"cFbU1B": "Using Alby? Go to {link} to get your NWC config!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "Historial",
|
||||
"d7d0/x": "Dirección Lightning",
|
||||
"dOQCL8": "Nombre",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Disponible próximamente",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "Marcar todo como leído",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "A single zap of {nIn} sats will allocate {nOut} sats to the zap pool.",
|
||||
"eXT2QQ": "Group Chat",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "No se puede votar porque el servicio LNURL no soporta zaps",
|
||||
"fWZYP5": "Fijado",
|
||||
"filwqD": "Leer",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "Sobre ti",
|
||||
"g985Wp": "No se pudo enviar el voto",
|
||||
"gBdUXk": "Guarda tus claves!",
|
||||
"gDZkld": "Snort es un cliente de Nostr, un protocol decentralizado para guardar y distribuir \"notas\".",
|
||||
"gDzDRs": "Emoji que se utilizará al reaccionar a una nota",
|
||||
"gXgY3+": "No todos los clientes soportan esto",
|
||||
"gczcC5": "Suscribir",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Perfil",
|
||||
"izWS4J": "No seguir",
|
||||
"jA3OE/": "{n} {n, plural, =1 {sat} other {sats}}",
|
||||
"jCA7Cw": "Previsualización en snort",
|
||||
"jMzO1S": "Error interno: {msg}",
|
||||
"jfV8Wr": "Atrás",
|
||||
"juhqvW": "Mejora la seguridad con extensiones del navegador",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reacciones",
|
||||
"k2veDA": "Escribir",
|
||||
"k7sKNy": "Nuestro servicio de verificación NIP-05, apoya el desarrollo de este proyecto y obtén una apariencia especial en nuestra web!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} reposted} other{{name} & {n} others reposted}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "ahora",
|
||||
"kuPHYE": "{n,plural,=0{{name} liked} other{{name} & {n} others liked}}",
|
||||
"l+ikU1": "Todo en {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Pagar",
|
||||
"lPWASz": "Dirección nostr de Snort",
|
||||
"lTbT3s": "Contraseña de la cartera",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "página de perfil",
|
||||
"ll3xBp": "Proxy de imágines",
|
||||
"lnaT9F": "Siguiendo {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Comparte tus pensamientos con {link}",
|
||||
"nOaArs": "Configurar el perfil",
|
||||
"nWQFic": "Renovar",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Sus donaciones son muy apreciadas",
|
||||
"nwZXeh": "{n} bloqueados",
|
||||
"o6Uy3d": "Solo la clave secreta se puede usar para publicar (firmar eventos), todo lo demás lo registra en modo de solo lectura.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} días",
|
||||
"rrfdTe": "Esta es la misma tecnología que usa Bitcoin y ha demostrado ser extremadamente segura.",
|
||||
"rudscU": "Error al cargar seguidos, inténtalo más tarde",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "Snort está diseñado para tener una experience similar a Twitter.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "Ocupar nombres y hacerse pasar por terceros no está permitido. Snort y nuestros socios se reservan el derecho de terminar tu identificador (no tu cuenta, nadie te la puede arrebatar) si violas ésta norma.",
|
||||
"tOdNiY": "Oscuro",
|
||||
"th5lxp": "Send note to a subset of your write relays",
|
||||
"thnRpU": "Obtener un NIP-05 ayuda a:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Idioma",
|
||||
"yCLnBC": "LNURL o dirección lightning",
|
||||
"yCmnnm": "Leer global de",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "Contacto",
|
||||
"zINlao": "Dueño",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "نام دارای کاراکتر غیرمجاز است",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} ثانیه",
|
||||
"1A7TZk": "اسنورت چیست و چگونه کار می کند؟",
|
||||
"1Mo59U": "مطمئنید می خواهید این یادداشت را از نشانک ها خارج کنید؟",
|
||||
"1R43+L": "پیکربندی اتصال ناستر به کیف پول",
|
||||
"1c4YST": "متصل به:{node}🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "لغو",
|
||||
"4IPzdn": "توسعه دهندگان اصلی",
|
||||
"4L2vUY": "شناسه NIP-0 جدید شما:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "ناپسند",
|
||||
"4Vmpt4": "Nostr Plebs یکی از اولین فراهم کنندگان NIP-05 در این محیط است و مجموعه خوبی از دامین ها را با قیمت مناسب ارائه می کند",
|
||||
"4Z3t5i": "از imgproxy برای فشرده سازی تصویر استفاده کنید",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "تصویر از {host} آورده نشد، اینجا کلیک کنید تا مستقیم بارگیری شود",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "یک شناسه بگیرید",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "({n}) لایک",
|
||||
"6uMqL1": "پرداخت نشده",
|
||||
"7+Domh": "یادداشت ها",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "تعویض حساب کاربری",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "({n}) بازنشر",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "حق دسترسی به رله اسنورت، با یک سال نگهداری رویداد",
|
||||
"BOUMjw": "هیچ کاربر ناستری برای {twitterUsername} یافت نشد",
|
||||
"BOr9z/": "اسنورت یک پروژه متن-باز است که افراد علاقه مند در اوقات فراغت خود ساخته اند",
|
||||
"BWpuKl": "بهروزآوری",
|
||||
"BcGMo+": "یادداشت محتوای متنی نگه می دارند، بیشترین موارد استفاده از این یادداشت ها ذخیره پیام هایی \"مشابه توییت\" است.",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "نسخه ویژه",
|
||||
"C81/uG": "خروج از حساب",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "صورتحساب بارگیری نشد",
|
||||
"CVWeJ6": "افراد محبوب",
|
||||
"CmZ9ls": "{n} بیصدا شده",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} ساتوشی",
|
||||
"Cu/K85": "از {lang} ترجمه شده",
|
||||
"D+KzKd": "به طور خودکار یادداشت ها را پس از بار شدن ذخیره کن",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "همگانی",
|
||||
"Ebl/B2": "ترجمه به {lang}",
|
||||
"EcZF24": "رله های سفارشی",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "کلید",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "خرید",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "پاک کردن حافظه کش و بارگیری مجدد",
|
||||
"HbefNb": "باز کردن کیف پول",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "برای استفاده از اسنورت سپاسگذاریم، لطفا در صورت امکان کمک مالی بفرمایید.",
|
||||
"IEwZvs": "مطمئنید می خواهید سنجاق یادداشت را بردارید؟",
|
||||
"IKKHqV": "دنبال شوندگان",
|
||||
"INSqIz": "نام کاربری توییتر...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "گذرواژه کیف پول",
|
||||
"MRp6Ly": "نام کاربری توییتر",
|
||||
"MWTx65": "صفحه پیشفرض",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "پرداخت برای اشتراک",
|
||||
"MuVeKe": "خرید آدرس ناستر",
|
||||
"MzRYWH": "خرید {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "تایید",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "درحال حاضر یک اشتراک از این نوع دارید، لطفا تجدید کنید یا بپردازید",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "زپ",
|
||||
"OKhRC6": "اشتراکگذاری",
|
||||
"OLEm6z": "خطای ورود ناشناخته",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "اشتراک شما هنوز فعال است، نمی توانید تجدید کنید",
|
||||
"ORGv1Q": "ایجاد شد",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "کپی رویداد JSON",
|
||||
"P7FD0F": "سیستم (پیش فرض)",
|
||||
"P7nJT9": "جمع امروز (UTC): {amount} ساتوشی",
|
||||
"PCSt5T": "ترجیحات",
|
||||
"PLSbmL": "عبارت بازیابی یادسپاری شما",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "سرفایل ناشناس: {name}",
|
||||
"Pe0ogR": "تِم",
|
||||
"PrsIg7": "واکنش ها در تمام صفحات نشان داده می شوند، اگر غیرفعال کنید نشان داده نمی شوند",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "اشتراک",
|
||||
"R81upa": "کسانی که دنبال می کنید",
|
||||
"RDZVQL": "بررسی",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "منقضی شده",
|
||||
"RfhLwC": "توسط: {author}",
|
||||
"RhDAoS": "مطمئنید می خواهید {id} را حذف کنید",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "رله",
|
||||
"Rs4kCE": "نشانک",
|
||||
"RwFaYs": "چینش",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "بروزرسانی آدرس لایتنینگ",
|
||||
"SP0+yi": "خرید اشتراک",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "گپ جدید",
|
||||
"UUPFlt": "کاربر باید هشدار محتوا را بپذیرد تا محتوای یادداشت نمایش داده شود.",
|
||||
"Up5U7K": "مسدود کردن",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "همم، نمی توان افزونه ای برای مدیریت کلید یافت.. بارگیری دوباره صفحه را امتحان کنید.",
|
||||
"VN0+Fz": "تراز: {amount} ساتوشی",
|
||||
"VOjC1i": "انتخاب کنید درکدام خدمات بارگذاری فایل می خواهید پیوست ها را بارگذاری کنید",
|
||||
"VR5eHw": "کلید عمومی (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} بیصدا شده",
|
||||
"VnXp8Z": "آواتار",
|
||||
"VvaJst": "دیدن کیف پول",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "مبلغ پیش فرض زپ شما {number} ساتوشی است، مقادیر نمونه از روی این محاسبه شده اند.",
|
||||
"XrSk2j": "بازخرید",
|
||||
"XzF0aC": "افزونه های مدیریت کلید امن تر هستند و به شما اجازه می دهند به آسانی وارد هر یک از کلاینت های ناستر شوید، برخی افزونه های معروف:",
|
||||
"Y31HTH": "به توسعه اسنورت کمک کنید",
|
||||
"YDURw6": "خدمات URL",
|
||||
"YXA3AH": "فعال سازی واکنش ها",
|
||||
"Z0FDj+": "با قیمت {price} در {plan} اسنورت مشترک شوید و پاداش روبرو را بگیرید",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "اکنون فعال کن",
|
||||
"ZLmyG9": "مشارکت کنندگان",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "تنظیم نمایه",
|
||||
"a5UPxh": "توسعه دهندگان و پلتفرم های ارائه دهنده خدمات تایید NIP-05 را پیدا کن",
|
||||
"a7TDNm": "یادداشت ها در لحظه در سربرگ همگانی و یادداشت ها پخش می شوند",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "ناشناس",
|
||||
"brAXSu": "یک نام کاربری برگزینید",
|
||||
"bxv59V": "همین الان",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "نصب افزونه",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "اگر درباره سفارش NIP-05 سوالی دارید لطفا مستقیما به {link} پیام دهید",
|
||||
"c3g2hL": "دوباره منتشر کن",
|
||||
"cFbU1B": "از Alby استفاده می کنید؟ به {link} بروید تا پیکربندی NWC خود را بگیرید!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "تاریخچه",
|
||||
"d7d0/x": "آدرس لایتنینگ",
|
||||
"dOQCL8": "نام نمایشی",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "به زودی",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "علامتگذاری همه بهعنوان خوانده شده",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "یک زپ تک {nIn} ساتوشی مبلغ {nOut} ساتوشی به استخر زپ تخصیص خواهد داد.",
|
||||
"eXT2QQ": "گپ گروهی",
|
||||
"fBI91o": "زَپ",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "نمی توان رای داد زیرا این خدمات LNURL از زپ پشتیبانی نمی کند",
|
||||
"fWZYP5": "سنجاق شد",
|
||||
"filwqD": "خوانده شده",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "درباره",
|
||||
"g985Wp": "رای ارسال نشد",
|
||||
"gBdUXk": "کلیدهایتان را ذخیره کنید!",
|
||||
"gDZkld": "اسنورت یک رابط کاربری ناستر است، ناستر یک پروتکل نامتمرکز برای ذخیره و توزیع \"یادداشت ها\" است.",
|
||||
"gDzDRs": "شکلک برا ارسال هنگام واکنش به یک یادداشت",
|
||||
"gXgY3+": "هنوز همه کلاینت ها از این پشتیبانی نمی کنند",
|
||||
"gczcC5": "اشتراک",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "نمایه",
|
||||
"izWS4J": "لغو دنبال کردن",
|
||||
"jA3OE/": "{n,plural,one {}=1{{n} نوت جدید} other{{n} نوت جدید}}",
|
||||
"jCA7Cw": "پیش نمایش در اسنورت",
|
||||
"jMzO1S": "خطای داخلی: {msg}",
|
||||
"jfV8Wr": "برگشت",
|
||||
"juhqvW": "امنیت ورود را با افزونه های مرورگر بالا ببرید",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} واکنش",
|
||||
"k2veDA": "نوشتن",
|
||||
"k7sKNy": "خدمات تایید NIP-05 خودمان، به پشتیبانی از توسعه این سایت کمک کنید و یک مدال ویژه درخشان در سایت ما بگیرید!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,one {}=0{{name} بازنشر کرد} other{{name} و {n} نفر دیگر بازنشر کردند}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "الان",
|
||||
"kuPHYE": "{n,plural,one {}=0{{name} پسندید} other{{name} و {n} نفر دیگر پسندیدند}}",
|
||||
"l+ikU1": "همه چیز در {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "پرداخت",
|
||||
"lPWASz": "آدرس اسنورت ناستر",
|
||||
"lTbT3s": "گذرواژه کیف پول",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "صفحه حساب کاربری",
|
||||
"ll3xBp": "خدمات پروکسی تصویر",
|
||||
"lnaT9F": "{n} دنبال شونده",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "افکار خود را با {link} درمیان بگذارید",
|
||||
"nOaArs": "تنظیم نمایه",
|
||||
"nWQFic": "تجدید",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "از کمک مالی شما بسیار سپاسگذاریم",
|
||||
"nwZXeh": "{n} مسدود",
|
||||
"o6Uy3d": "فقط کلید خصوصی می تواند برای نشر (امضای رویداد) استفاده شود، هر چیز دیگری شما را وارد حالت فقط خواندنی می کند.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} روز",
|
||||
"rrfdTe": "این همان تکنولوژی است که در بیتکوین استفاده شده و اثبات شده که به شدت امن است.",
|
||||
"rudscU": "بارگیری دنبال شوندگان انجام نشد ، لطفاً بعداً دوباره امتحان کنید",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "اسنورت طوری طراحی شده تا تجربه مشابه توییتر ارائه دهد.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "جعل نام و جعل هویت مجاز نیست. در صورت سرپیچی، اسنورت و شرکا حق دارند شناسه کاربریتان را لغو کنند (نه حساب کاربریتان - هیچ کس نمیتواند آن را از شما بگیرد).",
|
||||
"tOdNiY": "تاریک",
|
||||
"th5lxp": "یادداشت را به زیرشاخه ای از رله نوشتنی تان بفرستید",
|
||||
"thnRpU": "گرفتن NIP-05 تایید شده می تواند کمک کند:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "زبان",
|
||||
"yCLnBC": "LNURL یا آدرس لایتنینگ",
|
||||
"yCmnnm": "خبرنامه همگانی را بخوانید",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "مخاطب",
|
||||
"zINlao": "مالک",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "nimi sisältää sallimattomia merkkejä",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} sek",
|
||||
"1A7TZk": "Mikä Snort on ja miten se toimii?",
|
||||
"1Mo59U": "Haluatko varmasti poistaa tämän viestin kirjanmerkeistä?",
|
||||
"1R43+L": "Anna Nostr Wallet Connect asetukset",
|
||||
"1c4YST": "Yhdistetty: {node} 🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Peruuta",
|
||||
"4IPzdn": "Pääkehittäjät",
|
||||
"4L2vUY": "Uusi NIP-05-käyttäjätunnuksesi on:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Ei-tykkäys",
|
||||
"4Vmpt4": "Nostr Plebs on yksi ensimmäisistä NIP-05-tarjoajista alalla ja tarjoaa kohtuuhintaisia verkkotunnuksia",
|
||||
"4Z3t5i": "Käytä imgproxya pakataksesi kuvat",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "Kuvan välittäminen epäonnistui palvelimelta {host}, napsauta tätä ladataksesi suoraan",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Hanki tunniste",
|
||||
"6bgpn+": "Kaikki asiakkaat eivät tue tätä, saatat silti saada joitakin zappeja ikään kuin zap-jako ei olisi määritetty",
|
||||
"6ewQqw": "Tykkäyksiä ({n})",
|
||||
"6uMqL1": "Maksamaton",
|
||||
"7+Domh": "Viestit",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Tilin vaihtaja",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Uudelleenjakoja ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Kirjoitusoikeus Snort-välittäjällä, 1 vuoden tapahtumahistorialla",
|
||||
"BOUMjw": "Nostr-käyttäjiä {twitterUsername} ei löytynyt",
|
||||
"BOr9z/": "Snort on avoimen lähdekoodin projekti, jota intohimoiset ihmiset tekevät vapaa-ajallaan",
|
||||
"BWpuKl": "Päivitä",
|
||||
"BcGMo+": "Viestit sisältävät tekstisisältöä, suosituin käyttötapa näille viesteille on tallentaa \"tweetin kaltaisia\" viestejä.",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Kirjaudu ulos",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Epäonnistunut laskun lataus",
|
||||
"CVWeJ6": "Suositut henkilöt",
|
||||
"CmZ9ls": "{n} Mykistettyä",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} satsia",
|
||||
"Cu/K85": "Käännetty kieleltä {lang}",
|
||||
"D+KzKd": "Zappää automaattisesti jokainen viesti, kun se ladataan",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Yleinen",
|
||||
"Ebl/B2": "Käännä kielelle {lang}",
|
||||
"EcZF24": "Omat välittäjät",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Avain",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "Osta",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Tyhjennä välimuisti ja lataa uudelleen",
|
||||
"HbefNb": "Avaa lompakko",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "Kiitos Snortin käytöstä, harkitse tukemista, jos voit.",
|
||||
"IEwZvs": "Haluatko varmasti poistaa tämän viestin kiinnitetyistä?",
|
||||
"IKKHqV": "Seuraa",
|
||||
"INSqIz": "Twitter-käyttäjätunnus...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Lompakon salasana",
|
||||
"MRp6Ly": "Twitter-käyttäjätunnus",
|
||||
"MWTx65": "Oletussivu",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Maksa tilaus",
|
||||
"MuVeKe": "Osta nostr-osoite",
|
||||
"MzRYWH": "Ostaa {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Vahvista",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "Sinulla on jo tämäntyyppinen tilaus, ole hyvä ja uudista tai maksa",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zapit",
|
||||
"OKhRC6": "Jaa",
|
||||
"OLEm6z": "Tuntematon kirjautumisvirhe",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "Tilauksesi on yhä aktiivinen, et voi uusia sitä vielä",
|
||||
"ORGv1Q": "Luotu",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Kopioi tapahtuman JSON",
|
||||
"P7FD0F": "Järjestelmä (oletus)",
|
||||
"P7nJT9": "Tänään yhteensä (UTC): {amount} satsia",
|
||||
"PCSt5T": "Asetukset",
|
||||
"PLSbmL": "Sinun mnemonic-lauseesi",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Tuntematon tiedostotunniste: {name}",
|
||||
"Pe0ogR": "Teema",
|
||||
"PrsIg7": "Reaktiot näytetään jokaisella sivulla, jos poistettu käytöstä reaktioita ei näytetä",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Tilaus",
|
||||
"R81upa": "Henkilöt joita seuraat",
|
||||
"RDZVQL": "Tarkista",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Vanhentunut",
|
||||
"RfhLwC": "Tekijä: {author}",
|
||||
"RhDAoS": "Haluatko varmasti poistaa {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Välittäjät",
|
||||
"Rs4kCE": "Kirjanmerkki",
|
||||
"RwFaYs": "Lajittelu",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Lähetä satseja käyttäjälle {name}",
|
||||
"SOqbe9": "Päivitä Lightning-osoite",
|
||||
"SP0+yi": "Osta tilaus",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "Uusi keskustelu",
|
||||
"UUPFlt": "Käyttäjien täytyy hyväksyä sisältövaroitus nähdäkseen viestisi sisällön.",
|
||||
"Up5U7K": "Estä",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, avainhallintaohjelmaa ei löydy.. yritä ladata sivu uudelleen.",
|
||||
"VN0+Fz": "Saldo: {amount} satsia",
|
||||
"VOjC1i": "Valitse palvelu, johon haluat ladata liitteitä",
|
||||
"VR5eHw": "Julkinen avain (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} mykistettyä",
|
||||
"VnXp8Z": "Avatar",
|
||||
"VvaJst": "Näytä lompakot",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Oletus zap-määräsi on {number} satsia, esimerkit on laskettu tämän mukaan.",
|
||||
"XrSk2j": "Lunasta",
|
||||
"XzF0aC": "Avainhallintaohjelmat ovat turvallisempia ja mahdollistavat helpon kirjautumisen mihin tahansa Nostr-asiakasohjelmaan, tässä joitakin tunnettuja laajennuksia:",
|
||||
"Y31HTH": "Tue Snortin kehitystä",
|
||||
"YDURw6": "Palvelun URL",
|
||||
"YXA3AH": "Ota reaktiot käyttöön",
|
||||
"Z0FDj+": "Tilaa Snort {plan} hintaan {price} ja saat seuraavat edut",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Aktivoi nyt",
|
||||
"ZLmyG9": "Avustajat",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Aseta profiili",
|
||||
"a5UPxh": "Tue kehittäjiä ja alustoja, jotka tarjoavat NIP-05-varmennuspalveluita",
|
||||
"a7TDNm": "Viestit striimautuvat reaaliajassa yleiseen ja viestit-välilehteen",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "Valitse käyttäjänimi",
|
||||
"bxv59V": "Juuri nyt",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Asenna laajennus",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "Jos sinulla on kysymyksiä NIP-05-tilauksestasi, lähetä yksityisviesti {link}",
|
||||
"c3g2hL": "Lähetä uudelleen",
|
||||
"cFbU1B": "Käytätkö Albya? Mene {link} saadaksesi NWC-asetuksesi!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "Historia",
|
||||
"d7d0/x": "LN-osoite",
|
||||
"dOQCL8": "Näyttönimi",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Tulossa pian",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "Merkitse kaikki luetuksi",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "Yksittäinen {nIn} satsin zap jakaa {nOut} satsia zap-pooliin.",
|
||||
"eXT2QQ": "Ryhmächat",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Ei voi äänestää, koska LNURL-palvelu ei tue zappeja",
|
||||
"fWZYP5": "Kiinnitetty",
|
||||
"filwqD": "Lue",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "Tietoja",
|
||||
"g985Wp": "Äänestyksen lähetys epäonnistui",
|
||||
"gBdUXk": "Tallenna avaimesi!",
|
||||
"gDZkld": "Snort on Nostr-käyttöliittymä, nostr on hajautettu protokolla viestien tallentamiseen ja jakamiseen.",
|
||||
"gDzDRs": "Emoji reagoitaessa viestiin",
|
||||
"gXgY3+": "Ei tueta kaikissa asiakasohjelmissa vielä",
|
||||
"gczcC5": "Tilaa",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Profiili",
|
||||
"izWS4J": "Lopeta seuraaminen",
|
||||
"jA3OE/": "{n,plural,=1{{n} sat} other{{n} satia}}",
|
||||
"jCA7Cw": "Esikatsele Snortissa",
|
||||
"jMzO1S": "Sisäinen virhe: {msg}",
|
||||
"jfV8Wr": "Takaisin",
|
||||
"juhqvW": "Paranna kirjautumisturvallisuutta selainlaajennuksilla",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reaktiota",
|
||||
"k2veDA": "Kirjoita",
|
||||
"k7sKNy": "Oma NIP-05-varmennuspalvelumme, auta tukemaan tämän sivuston kehitystä ja saat kiiltävän erikoismerkin sivuillemme!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} jakoi uudelleen} other{{name} & {n} muuta jakoivat uudelleen}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "nyt",
|
||||
"kuPHYE": "{n,plural,=0{{name} tykkäsi} other{{name} & {n} muuta tykkäsivät}}",
|
||||
"l+ikU1": "Kaikki {plan}-suunnitelmassa",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Maksa",
|
||||
"lPWASz": "Snort nostr-osoite",
|
||||
"lTbT3s": "Lompakon salasana",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "tili",
|
||||
"ll3xBp": "Kuvan välityspalvelin",
|
||||
"lnaT9F": "Seuraa {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Jaa ajatuksiasi {link}",
|
||||
"nOaArs": "Aseta profiili",
|
||||
"nWQFic": "Uusi",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Tukeasi arvostetaan paljon",
|
||||
"nwZXeh": "{n} estettyä",
|
||||
"o6Uy3d": "Vain salainen avain voi julkaista (allekirjoittaa tapahtumia), kaikki muu kirjaa sinut sisään vain lukutilassa.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} päivää",
|
||||
"rrfdTe": "Tämä käyttää samaa teknologiaa kuin Bitcoin ja on osoittautunut erittäin turvalliseksi.",
|
||||
"rudscU": "Seurannan lataaminen epäonnistui, yritä myöhemmin uudelleen",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "käyttäjä",
|
||||
"sWnYKw": "Snort on suunniteltu tarjoamaan Twitterin kaltainen käyttökokemus",
|
||||
"sZQzjQ": "Zap-jaon jäsentäminen epäonnistui: {input}",
|
||||
"svOoEH": "Nimien hamstraus ja identiteettivarkaus eivät ole sallittua. Snort ja kumppanimme pidättävät oikeuden lopettaa käyttäjätunnuksesi (ei tiliäsi - sitä kukaan ei voi ottaa pois) tämän säännön rikkomisesta.",
|
||||
"tOdNiY": "Tumma",
|
||||
"th5lxp": "Lähetä viesti osajoukolle kirjoitusvälittäjiäsi",
|
||||
"thnRpU": "NIP-05-varmennuksen hankkiminen voi auttaa:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Kieli",
|
||||
"yCLnBC": "LNURL tai Lightning-osoite",
|
||||
"yCmnnm": "Lue yleinen",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Paino",
|
||||
"zFegDD": "Ota yhteyttä",
|
||||
"zINlao": "Omistaja",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "le nom contient des caractères non autorisés",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} secondes",
|
||||
"1A7TZk": "Qu'est-ce que Snort et comment ça marche ?",
|
||||
"1Mo59U": "Êtes-vous sûr de vouloir supprimer cette note de vos favoris ?",
|
||||
"1R43+L": "Accéder à la configuration de Nostr Wallet Connect",
|
||||
"1c4YST": "Connecté à : {node} 🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Annuler",
|
||||
"4IPzdn": "Développeurs principaux",
|
||||
"4L2vUY": "Votre indicatif NIP-05 est:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Ne pas aimer",
|
||||
"4Vmpt4": "Nostr Plebs est l'un des premiers fournisseurs NIP-05 dans l'espace et offre une bonne collection de domaines à des prix raisonnables",
|
||||
"4Z3t5i": "Utiliser imgproxy pour compresser les images",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "Échec du proxy de l'image de {host}, cliquez ici pour la charger directement",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Obtenir un identifiant",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "Aime ({n})",
|
||||
"6uMqL1": "Non payé",
|
||||
"7+Domh": "Notes",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Changer de compte",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Reposte ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Accès en écriture au relais Snort, avec conservation des évènements pendant 1 an",
|
||||
"BOUMjw": "Aucun utilisateur nostr trouvé pour {twitterUsername}",
|
||||
"BOr9z/": "Snort est un projet open source construit par des passionnés pendant leur temps libre",
|
||||
"BWpuKl": "Actualiser",
|
||||
"BcGMo+": "Les notes contiennent du texte, l'utilisation la plus courante de ces notes est de stocker des messages similaires à des tweets.",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Se déconnecter",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Échec du chargement de la facture",
|
||||
"CVWeJ6": "Personnes tendances",
|
||||
"CmZ9ls": "{n} Mis en sourdine",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Traduit de {lang}",
|
||||
"D+KzKd": "Automatiquement Zap chaque note quand elle est chargée",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Global",
|
||||
"Ebl/B2": "Traduire en {lang}",
|
||||
"EcZF24": "Relais personnalisés",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Clé",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "Acheter",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Vider le cache et recharger",
|
||||
"HbefNb": "Ouvrir le Wallet",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "Merci d'utiliser Snort, envisagez de faire un don si vous pouvez.",
|
||||
"IEwZvs": "Êtes-vous sûr de vouloir désépingler cette note?",
|
||||
"IKKHqV": "Abonnements",
|
||||
"INSqIz": "Nom d'utilisateur Twitter...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Mot de passe du portefeuille",
|
||||
"MRp6Ly": "Nom d'utilisateur Twitter",
|
||||
"MWTx65": "Page par défaut",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Payer pour l'abonnement",
|
||||
"MuVeKe": "Acheter une adresse nostr",
|
||||
"MzRYWH": "Acheter {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Confirmer",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "Vous avez déjà un abonnement de ce type, veuillez renouveler ou payer",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zaps",
|
||||
"OKhRC6": "Partager",
|
||||
"OLEm6z": "Erreur de connexion inconnue",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "Votre abonnement est toujours actif, vous ne pouvez pas le renouveler pour le moment",
|
||||
"ORGv1Q": "Créé",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Copier l'événement JSON",
|
||||
"P7FD0F": "Système (Défaut)",
|
||||
"P7nJT9": "Total aujourd'hui (UTC) : {amount} sats",
|
||||
"PCSt5T": "Préférences",
|
||||
"PLSbmL": "Votre phrase mnémonique",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "En-tête du fichier inconnu : {name}",
|
||||
"Pe0ogR": "Thème",
|
||||
"PrsIg7": "Les réactions seront affichées sur chaque page, si désactivées aucune réaction ne sera affichée",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Abonnement",
|
||||
"R81upa": "Personnes que vous suivez",
|
||||
"RDZVQL": "Vérifier",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Expiré",
|
||||
"RfhLwC": "Par : {author}",
|
||||
"RhDAoS": "Êtes-vous sûr que vous voulez supprimer {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Relais",
|
||||
"Rs4kCE": "Favori",
|
||||
"RwFaYs": "Trier",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "Mettre à jour l'adresse Lightning",
|
||||
"SP0+yi": "Acheter un abonnement",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "Nouvelle Discussion",
|
||||
"UUPFlt": "Les utilisateur-trice-s doivent accepter l'avertissement de contenu pour afficher le contenu de votre note.",
|
||||
"Up5U7K": "Bloquer",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, impossible de trouver une extension de gestionnaire de clés. Essayez de recharger la page.",
|
||||
"VN0+Fz": "Solde : {amount} sats",
|
||||
"VOjC1i": "Choisissez le service d'hébergement vers lequel vous souhaitez héberger les pièces jointes",
|
||||
"VR5eHw": "Clé publique (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} mis en sourdine",
|
||||
"VnXp8Z": "Avatar",
|
||||
"VvaJst": "Voir les portefeuilles",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Votre montant de zap par défaut est {number} sats, les valeurs d'exemple sont calculées à partir de ceci.",
|
||||
"XrSk2j": "Retirer",
|
||||
"XzF0aC": "Les extensions de gestionnaire de clés sont plus sécurisées et vous permettent de vous connecter facilement à n'importe quel client Nostr, voici quelques extensions réputées :",
|
||||
"Y31HTH": "Aidez à financer le développement de Snort",
|
||||
"YDURw6": "URL de service",
|
||||
"YXA3AH": "Activer les réactions",
|
||||
"Z0FDj+": "Abonnez-vous à Snort {plan} pour {price} et recevez les récompenses suivantes",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Activer Maintenant",
|
||||
"ZLmyG9": "Contributeurs",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Configurer le profil",
|
||||
"a5UPxh": "Financer les développeurs et plateformes fournissant des services de vérification NIP-05",
|
||||
"a7TDNm": "Les notes seront diffusées en temps réel dans l'onglet global et dans l'onglet notes",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anonyme",
|
||||
"brAXSu": "Choisis un nom d'utilisateur",
|
||||
"bxv59V": "Juste maintenant",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Installer l'extension",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "Si vous avez une question concernant votre commande NIP-05, veuillez contacter en DM {link}",
|
||||
"c3g2hL": "Republier",
|
||||
"cFbU1B": "Vous utilisez Alby ? Allez sur {link} pour obtenir votre configuration NWC !",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "Historique",
|
||||
"d7d0/x": "Adresse LN",
|
||||
"dOQCL8": "Nom à afficher",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Prochainement",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "Marquer tout comme lu",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "Un seul zap de {nIn} sats allouera {nOut} sats à la pool de zap.",
|
||||
"eXT2QQ": "Discussion de groupe",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Impossible de voter car le service LNURL ne prend pas en charge les zaps",
|
||||
"fWZYP5": "Épinglé",
|
||||
"filwqD": "Lire",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "À propos",
|
||||
"g985Wp": "Échec de l'envoi du vote",
|
||||
"gBdUXk": "Gardez vos clés !",
|
||||
"gDZkld": "Snort est une interface utilisateur Nostr, nostr est un protocole décentralisé pour enregistrer et distribuer des "notes".",
|
||||
"gDzDRs": "Emoji à envoyer en cas de réaction à une note",
|
||||
"gXgY3+": "Tous les clients ne supportent pas encore ceci",
|
||||
"gczcC5": "S'abonner",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Profil",
|
||||
"izWS4J": "Ne plus suivre",
|
||||
"jA3OE/": "{n} {n, plural, =1 {sat} other {sats}}",
|
||||
"jCA7Cw": "Aperçu sur snort",
|
||||
"jMzO1S": "Erreur interne : {msg}",
|
||||
"jfV8Wr": "Retourner",
|
||||
"juhqvW": "Améliorez la sécurité de connexion avec les extensions de navigateur",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Réactions",
|
||||
"k2veDA": "Écrire",
|
||||
"k7sKNy": "Notre propre service de vérification NIP-05, aidez à soutenir le développement de ce site et obtenez un badge spécial brillant sur notre site !",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} a reposté} other{{name} & {n} autres ont reposté}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "maintenant",
|
||||
"kuPHYE": "{n,plural,=0{{name} a liké} other{{name} & {n} autres ont liké}}",
|
||||
"l+ikU1": "Tout dans {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Payer",
|
||||
"lPWASz": "Adresse nostr Snort",
|
||||
"lTbT3s": "Mot de passe du portefeuille",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "compte",
|
||||
"ll3xBp": "Service proxy d'images",
|
||||
"lnaT9F": "Abonnements {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Partagez vos pensées avec {link}",
|
||||
"nOaArs": "Configuration du profil",
|
||||
"nWQFic": "Renouveler",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Vos dons sont grandement appréciés",
|
||||
"nwZXeh": "{n} bloqué",
|
||||
"o6Uy3d": "Seule la clé secrète peut être utilisée pour publier (signer des événements), tout le reste vous connecte en mode lecture seule.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} jours",
|
||||
"rrfdTe": "Il s'agit de la même technologie que celle utilisée par Bitcoin et qui s'est avérée extrêmement sécurisée.",
|
||||
"rudscU": "Échec du chargement des suivis, veuillez réessayer plus tard",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "Snort est conçu pour avoir une expérience similaire à Twitter.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "Le squattage de noms et l'usurpation d'identité ne sont pas autorisés. Snort et nos partenaires se réservent le droit de résilier votre identifiant (pas votre compte - personne ne peut le retirer) pour avoir enfreint cette règle.",
|
||||
"tOdNiY": "Sombre",
|
||||
"th5lxp": "Envoyer la note à un sous-ensemble de vos relais d'écriture",
|
||||
"thnRpU": "Obtenir la vérification NIP-05 peut aider :",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Langue",
|
||||
"yCLnBC": "LNURL ou adresse Lightning",
|
||||
"yCmnnm": "Lire le flux global depuis",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "Contacted",
|
||||
"zINlao": "Propriétaire",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "ime sadrži nepodržane znakove",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} sekundi",
|
||||
"1A7TZk": "Što je Snort i kako funkcionira?",
|
||||
"1Mo59U": "Jeste li sigurni da želite ukloniti ovu bilješku iz trake s oznakama?",
|
||||
"1R43+L": "Enter Nostr Wallet Connect config",
|
||||
"1c4YST": "Povezano s: {node} 🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Otkaži",
|
||||
"4IPzdn": "Primarni Developeri",
|
||||
"4L2vUY": "Vaš novi NIP-05 nadimak je:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Ne sviđa mi se",
|
||||
"4Vmpt4": "Nostr Plebs je jedan od prvih NIP-05 pružatelja usluge u svemiru i nudi široku kolekciju domena po razumnim cijenama",
|
||||
"4Z3t5i": "Koristi imgproxy za komprimiranje slika",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "Failed to proxy image from {host}, click here to load directly",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Dobij identifikator",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "Sviđa se ({n})",
|
||||
"6uMqL1": "Neplaćeno",
|
||||
"7+Domh": "Bilješke",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Zamjena Računa",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Ponovna dijeljenja ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Pristup za pisanje Snort releju, s 1 godinom zadržavanja događaja",
|
||||
"BOUMjw": "Nije pronađen nostr korisnik za {twitterUsername}",
|
||||
"BOr9z/": "Snort je projekt otvorenog koda kojeg su izgradili strastveni ljudi u svoje slobodno vrijeme",
|
||||
"BWpuKl": "Ažuriraj",
|
||||
"BcGMo+": "Bilješke sadrže tekstualni sadržaj, a najpopularnija upotreba ovih bilješki je pohranjivanje poruka tipa \"tweet like\".",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Odjava",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Neuspješno učitavanje računa",
|
||||
"CVWeJ6": "Trending People",
|
||||
"CmZ9ls": "{n} Stišan",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Prevedeno s {lang}",
|
||||
"D+KzKd": "Automatski zappaj svaku bilješku kad se učita",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Globalno",
|
||||
"Ebl/B2": "Prevedi na {lang}",
|
||||
"EcZF24": "Custom Relays",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Ključ",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "Kupi",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Clear cache and reload",
|
||||
"HbefNb": "Otvori novčanik",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "Hvala što koristite Snort, molimo da razmislite o donaciji ukoliko ste u mogućnosti.",
|
||||
"IEwZvs": "Jeste sigurni da želite otkačiti bilješku?",
|
||||
"IKKHqV": "Follows",
|
||||
"INSqIz": "Twitter korisničko ime...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Lozinka za novčanik",
|
||||
"MRp6Ly": "Korisničko ime na Twitteru",
|
||||
"MWTx65": "Zadana Stranica",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Plati za pretplatu",
|
||||
"MuVeKe": "Buy nostr address",
|
||||
"MzRYWH": "Kupnja {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Potvrdi",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "Već imate pretplatu ovog tipa, molimo obnovite pretplatu ili kupite novu",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zap-ovi",
|
||||
"OKhRC6": "Podijeli",
|
||||
"OLEm6z": "Nepoznata pogreška kod prijave",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "Vaša je pretplata i dalje aktivna, još ju ne možete obnoviti",
|
||||
"ORGv1Q": "Kreirano",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Kopiraj JSON događaj",
|
||||
"P7FD0F": "Sustav (zadano)",
|
||||
"P7nJT9": "Ukupno danas (UTC): {amount} sati",
|
||||
"PCSt5T": "Postavke",
|
||||
"PLSbmL": "Vaša mnemotehnička fraza",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Nepoznati header file-a: {name}",
|
||||
"Pe0ogR": "Tema",
|
||||
"PrsIg7": "Reakcije će biti prikazane na svakoj stranici, a ako je to onemogućeno, reakcije se neće prikazati",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Pretplata",
|
||||
"R81upa": "People you follow",
|
||||
"RDZVQL": "Provjeri",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Isteklo",
|
||||
"RfhLwC": "Od: {author}",
|
||||
"RhDAoS": "Jeste li sigurni da želite obrisati {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Releji",
|
||||
"Rs4kCE": "Oznaka",
|
||||
"RwFaYs": "Sort",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "Ažuriraj Lightning Adresu",
|
||||
"SP0+yi": "Buy Subscription",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "New Chat",
|
||||
"UUPFlt": "Korisnici moraju prihvatiti upozorenje o sadržaju kako bi prikazali sadržaj Vaše bilješke.",
|
||||
"Up5U7K": "Blokiraj",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, ne mogu pronaći proširenje upravitelja ključeva. Pokušajte ponovno učitati stranicu.",
|
||||
"VN0+Fz": "Iznos: {amount} sati",
|
||||
"VOjC1i": "Odaberite kroz koji servis želite učitati privitke",
|
||||
"VR5eHw": "Javni ključ (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} utišano",
|
||||
"VnXp8Z": "Avatar",
|
||||
"VvaJst": "View Wallets",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Your default zap amount is {number} sats, example values are calculated from this.",
|
||||
"XrSk2j": "Redeem",
|
||||
"XzF0aC": "Preglednički dodaci za upravljanje ključevima su sigurniji i omogućavaju vam jednostavnu prijavu na bilo koji Nostr klijent, ovdje su neki poznati dodaci:",
|
||||
"Y31HTH": "Pomozite financirati razvoj Snort-a",
|
||||
"YDURw6": "URL usluge",
|
||||
"YXA3AH": "Omogući reakcije",
|
||||
"Z0FDj+": "Pretplatite se na Snort {plan} za {price} i dobijte sljedeće nagrade",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Aktivirajte Odmah",
|
||||
"ZLmyG9": "Suradnici",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Setup profile",
|
||||
"a5UPxh": "Financirajte developere i platforme koje pružaju NIP-05 verifikacijske usluge",
|
||||
"a7TDNm": "Notes will stream in real time into global and notes tab",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "Odaberite korisničko ime",
|
||||
"bxv59V": "Upravo sada",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Instaliraj proširenje",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "Ako imate upit o svojoj NIP-05 narudžbi, molimo da pošaljete poruku {link}",
|
||||
"c3g2hL": "Broadcast Again",
|
||||
"cFbU1B": "Using Alby? Go to {link} to get your NWC config!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "Povijest",
|
||||
"d7d0/x": "LN Adresa",
|
||||
"dOQCL8": "Ime za prikaz",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Dolazi uskoro",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "Označi sve kao pročitano",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "A single zap of {nIn} sats will allocate {nOut} sats to the zap pool.",
|
||||
"eXT2QQ": "Group Chat",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Ne možete glasati jer LNURL usluga ne podržava zap-ove",
|
||||
"fWZYP5": "Prikačeno",
|
||||
"filwqD": "Pročitaj",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "Dodatne informacije",
|
||||
"g985Wp": "Glasanje nije uspjelo",
|
||||
"gBdUXk": "Spremite svoje ključeve!",
|
||||
"gDZkld": "Snort je Nostr UI, Nostr je decentralizirani protokol za spremanje i distribuciju \"bilješki\".",
|
||||
"gDzDRs": "Emotikon za slanje kao reakcija na bilješku",
|
||||
"gXgY3+": "Svi klijenti još ne podržavaju ovo",
|
||||
"gczcC5": "Pretplatite se",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Profil",
|
||||
"izWS4J": "Prestani pratiti",
|
||||
"jA3OE/": "{n,plural,=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "Pretpregled na Snort-u",
|
||||
"jMzO1S": "Interna pogreška: {msg}",
|
||||
"jfV8Wr": "Natrag",
|
||||
"juhqvW": "Poboljšajte sigurnost prijave pomoću pregledničkih dodataka",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reakcija",
|
||||
"k2veDA": "Piši",
|
||||
"k7sKNy": "Naša vlastita usluga provjere NIP-05, pomozite u razvoju ove stranice i dobijte sjajnu posebnu značku na našoj stranici!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} reposted} other{{name} & {n} others reposted}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "sad",
|
||||
"kuPHYE": "{n,plural,=0{{name} liked} other{{name} & {n} others liked}}",
|
||||
"l+ikU1": "Sve u {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Plati",
|
||||
"lPWASz": "Snort nostr adresa",
|
||||
"lTbT3s": "Lozinka novčanika",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "stranica računa",
|
||||
"ll3xBp": "Slika proxy usluga",
|
||||
"lnaT9F": "{n} praćenja",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Podijeli svoje mišljenje s {link}",
|
||||
"nOaArs": "Postavi profil",
|
||||
"nWQFic": "Obnovi",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Cijenimo Vaše donacije",
|
||||
"nwZXeh": "{n} blokirano",
|
||||
"o6Uy3d": "Možete koristiti samo tajni ključ kako biste objavili (potpisali događaje), sve ostalo zapisuje se u načinu rada samo za čitanje.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} dana",
|
||||
"rrfdTe": "Ovo je ista tehnologija koja je korištena od strane Bitcoina te je dokazana kao iznimno sigurna.",
|
||||
"rudscU": "Učitavanje pratitelja neuspješno, molimo pokušajte ponovno kasnije",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "Snort je dizajniran kako bi pružio slično iskustvo kao i Twitter.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "Nije dopušteno lažno predstavljanje i imitiranje. Snort i naši partneri zadržavaju pravo ukinuti vaš nadimak (ne Vaš račun - nitko Vam to ne može oduzeti) zbog kršenja ovog pravila.",
|
||||
"tOdNiY": "Tamno",
|
||||
"th5lxp": "Send note to a subset of your write relays",
|
||||
"thnRpU": "Provjera NIP-05 može pomoći:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Jezik",
|
||||
"yCLnBC": "LNURL ili Lightning Adresa",
|
||||
"yCmnnm": "Čitaj globalno sa",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "Kontakt",
|
||||
"zINlao": "Vlasnik",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "név nem engedélyezett karaktereket tartalmaz",
|
||||
"0uoY11": "Státusz megjelenítése",
|
||||
"0yO7wF": "{n} másodperc",
|
||||
"1A7TZk": "Mi a Snort és hogyan működik?",
|
||||
"1Mo59U": "Biztos hogy a kedvencekből ezt a bejegyzést el akarod távolítani?",
|
||||
"1R43+L": "Írd be a Nostr Wallet Connect konfigurációt",
|
||||
"1c4YST": "Kapcsolódás a: {node} 🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Törlés",
|
||||
"4IPzdn": "Elsődleges Fejlesztők",
|
||||
"4L2vUY": "A te új NIP-05 azonosítód:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Nem tetszik",
|
||||
"4Vmpt4": "A Nostr Plebs-ék az egyik legelső megfelelő feltételekkel és árakkal NIP-05 azonosítást biztosító szolgáltató",
|
||||
"4Z3t5i": "Az imgproxy használata a képek tömörítéséhez",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Visszajátszás Megtekintése",
|
||||
"65BmHb": "Nem sikerült a proxyképet a(z) {host} webhelyről betölteni. Kattintson ide a közvetlen betöltéshez",
|
||||
"6OSOXl": "Ok: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Szerezz egy azonosítót",
|
||||
"6bgpn+": "Nem minden kliens támogatja ezt, ezért előfordulhat, hogy továbbra is a zap-eket úgy kapja, mintha a zap felosztás nem lett volna konfigurálva",
|
||||
"6ewQqw": "Lájkok ({n})",
|
||||
"6uMqL1": "Fizetetlen",
|
||||
"7+Domh": "Bejegyzések",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Fiók Váltó",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Megosztva ({n})",
|
||||
@ -104,16 +106,17 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Írási jog a Snort csomóponthoz, 1 év eseménymegőrzéssel",
|
||||
"BOUMjw": "Nem találtunk {twitterUsername} nevű Nostr felhasználót",
|
||||
"BOr9z/": "A Snort egy nyílt forráskódú projekt, amit elhivatott emberek a szabadidejükben fejlesztettek.",
|
||||
"BWpuKl": "Frissítés",
|
||||
"BcGMo+": "A bejegyzések szöveget tartalmaznak és a legnépszerűbb felhasználási módja, hogy ”Twitter féle” üzeneteket tároljanak benne.",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning adomány",
|
||||
"C5xzTC": "Prémium",
|
||||
"C81/uG": "Kijelentkezés",
|
||||
"C8HhVE": "Javasolt követendő személyek",
|
||||
"CHTbO3": "A számla betöltése nem sikerült",
|
||||
"CVWeJ6": "Felkapott Emberek",
|
||||
"CmZ9ls": "{n} Némított",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Fordítás erről {lang}",
|
||||
"D+KzKd": "Betöltéskor automatikusan Zap-eljen minden bejegyzést",
|
||||
@ -131,8 +134,9 @@
|
||||
"EWyQH5": "Globális",
|
||||
"Ebl/B2": "Fordítás erre {lang}",
|
||||
"EcZF24": "Egyedi Csomópontok",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Kulcs",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EjFyoR": "On-chain adomány cím",
|
||||
"EnCOBJ": "Vásárlás",
|
||||
"Eqjl5K": "Csak a Snort és a mi integrációs partnerünk azonosítója ad színes domain nevet, de azonosításra szabadon használhatod más szolgáltatók szolgáltatásait is.",
|
||||
"F+B3x1": "A több lehetőség biztosítása érdekében, a nostrplebs.com partnerségre léptünk",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Törölje a gyorsítótárat és töltse be újra",
|
||||
"HbefNb": "Pénztárca megnyitása",
|
||||
"HhcAVH": "Ön nem követi ezt a személyt, kattintson ide a média betöltéséhez a(z) <i>{link}</i> webhelyről, vagy frissítse <a><i>beállításait</i></a>, hogy a médiát mindig mindenkitől betöltse.",
|
||||
"IDjHJ6": "Köszönjük, hogy a Snortot használod, ha teheted fontold meg az adományozást.",
|
||||
"IEwZvs": "Biztos hogy a bejegyzés kiemelését visszavonod?",
|
||||
"IKKHqV": "Követőim",
|
||||
"INSqIz": "Twitter felhasználónév...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Pénztárca jelszava",
|
||||
"MRp6Ly": "Twitter felhasználónév",
|
||||
"MWTx65": "Alapértelmezett oldal",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Fizess az előfizetésért",
|
||||
"MuVeKe": "Nostr cím vásárlása",
|
||||
"MzRYWH": "{item} megveszem",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Jóváhagy",
|
||||
"NAidKb": "Értesítések",
|
||||
"NAuFNH": "Már van ilyen típusú előfizetésed, kérjük, újítsd meg, vagy fizess",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zap-ek",
|
||||
"OKhRC6": "Megosztás",
|
||||
"OLEm6z": "Ismeretlen bejelentkezési hiba",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "Az előfizetésed még aktív, így nem tudod megújítani",
|
||||
"ORGv1Q": "Létrehozva",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "JSON eset",
|
||||
"P7FD0F": "Rendszer (Alapértelmezett)",
|
||||
"P7nJT9": "Összesen ma (UTC): {amount} sat",
|
||||
"PCSt5T": "Preferenciák",
|
||||
"PLSbmL": "Fiók helyreállító (mnemonikus) szavaid",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Ismeretlen fejléc: {name}",
|
||||
"Pe0ogR": "Téma",
|
||||
"PrsIg7": "A reakciók minden oldalon megjelennek, ha letiltod őket nem jelennek meg",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Előfizetés",
|
||||
"R81upa": "Általad követett személyek",
|
||||
"RDZVQL": "Ellenőrzés",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Lejárt",
|
||||
"RfhLwC": "Írta: {author}",
|
||||
"RhDAoS": "Biztos hogy törölni akarod a {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Csomópontok",
|
||||
"Rs4kCE": "Könyvjelző",
|
||||
"RwFaYs": "Rendezés",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Sat küldése {name}",
|
||||
"SOqbe9": "Lightning cím frissítése",
|
||||
"SP0+yi": "Előfizetés vásárlása",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "Új Beszélgetés",
|
||||
"UUPFlt": "Ahhoz hogy a bejegyzés tartalma megjelenjen, a felhasználóknak a tartalomra vonatkozó figyelmeztetést el kell fogadniuk.",
|
||||
"Up5U7K": "Tiltás",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, nem található kulcskezelő bővítmény. próbáld meg az oldalt újratölteni.",
|
||||
"VN0+Fz": "Egyenleg: {amount} sats",
|
||||
"VOjC1i": "Válaszd ki mely szolgáltatóhoz legyenek a fájlok feltöltve",
|
||||
"VR5eHw": "Publikus kulcs (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} némított",
|
||||
"VnXp8Z": "Avatar",
|
||||
"VvaJst": "Tárcák megtekintése",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Az alapértelmezett zap összeg {number} sats, a példaértékek kiszámítása ebből történik.",
|
||||
"XrSk2j": "Beváltás",
|
||||
"XzF0aC": "A kulcskezelő bővítmények biztonságosabbak és lehetővé teszik bármely Nostr-kliensbe való egyszerű bejelentkezést. Íme néhány jól ismert bővítmény:",
|
||||
"Y31HTH": "Segítsen finanszírozni a Snort fejlesztését",
|
||||
"YDURw6": "Szervíz cím",
|
||||
"YXA3AH": "Reakciók engedélyezése",
|
||||
"Z0FDj+": "A Snort {plan} szolgáltatásra {price} áron iratkozz fel és a következő jutalmakat kapod",
|
||||
@ -287,20 +299,21 @@
|
||||
"ZKORll": "Aktiválás",
|
||||
"ZLmyG9": "Közreműködők",
|
||||
"ZS+jRE": "Zap felosztások küldése ide",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Profil Beállítása",
|
||||
"a5UPxh": "Támogasd a fejlesztőket és a platform szolgáltatókat akik NIP-05 azonosító szolgáltatásokat biztosítanak",
|
||||
"a7TDNm": "A bejegyzések a globális és a bejegyzések fülek alatt valós időben jelennek meg",
|
||||
"aWpBzj": "Mutass többet",
|
||||
"b12Goz": "Emlékezeterősítő",
|
||||
"b5vAk0": "Az azonosító mint egy Lightning cím fog működni, és a kiválasztott LNURL- vagy Lightning-címre irányít át",
|
||||
"bLZL5a": "Get Address",
|
||||
"bLZL5a": "Cím lekérése",
|
||||
"bQdA2k": "Érzékeny tartalom",
|
||||
"bep9C3": "Publikus Kulcs",
|
||||
"bfvyfs": "Névtelen",
|
||||
"brAXSu": "Válassz felhasználónevet",
|
||||
"bxv59V": "Csak most",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Bővítmény Telepítése",
|
||||
"c2DTVd": "A privát kulcsodnak a titkosításához adj meg egy PIN-kódot. Ezt a PIN-kódot minden alkalommal meg kell adnod, amikor a Snort-ot megnyitod.",
|
||||
"c35bj2": "Ha kérdése van a NIP-05 azonosító rendelésével kapcsolatban, kérjük, írjon üzenetet {link}",
|
||||
"c3g2hL": "Újraküldés",
|
||||
"cFbU1B": "Albyt használod? Nyissa meg a {link} webhelyet az NWC konfigurációjának lekéréséhez!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "Előzmények",
|
||||
"d7d0/x": "LN cím",
|
||||
"dOQCL8": "Megjelenítendő név",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Hamarosan",
|
||||
"e7VmYP": "A privát kulcs feloldásához írd be a PIN-kódot",
|
||||
"e7qqly": "Mind olvasottnak jelölni",
|
||||
@ -322,16 +336,16 @@
|
||||
"eSzf2G": "Egyetlen {nIn} sats zap a zap-medencéhez {nOut} sats-ot foglal le.",
|
||||
"eXT2QQ": "Csoportbeszélgetés",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Nem szavazhatsz, mert az LNURL szolgáltatód a zap-eket nem támogatja",
|
||||
"fWZYP5": "Kiemelt",
|
||||
"filwqD": "Olvasás",
|
||||
"flnGvv": "Mi jár a fejedben?",
|
||||
"fqwcJ1": "On-chain Donation",
|
||||
"fqwcJ1": "On-chain Adomány",
|
||||
"fsB/4p": "Mentve",
|
||||
"g5pX+a": "Rólam",
|
||||
"g985Wp": "A szavazás elküldése sikertelen",
|
||||
"gBdUXk": "Mentsd el a kulcsaidat!",
|
||||
"gDZkld": "A Snort a Nostr protokollnak egyik felülete. A Nostr pedig a ”bejegyzésekˇ tárolására és megosztására létrehozott decentralizált protokoll.",
|
||||
"gDzDRs": "Emoji küldése, amikor egy bejegyzésre reagál",
|
||||
"gXgY3+": "Nem minden kliens támogatja",
|
||||
"gczcC5": "Feliratkozás",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Profil",
|
||||
"izWS4J": "Követés visszavonása",
|
||||
"jA3OE/": "{n,plural,one {}=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "Előnézet a Snort-on",
|
||||
"jMzO1S": "Belső hiba: {msg}",
|
||||
"jfV8Wr": "Vissza",
|
||||
"juhqvW": "A belépés biztonságának növelése böngésző kiegészítőkkel",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reakció",
|
||||
"k2veDA": "Írás",
|
||||
"k7sKNy": "A mi saját NIP-05 azonosítási szolgáltatásunk, amelynek a használatával ennek az oldalnak a fejlesztését segítheted és ezzel egy speciális kitüntetést is szerezhetsz!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,one {}=0{{name} megosztotta} other{{name} és {n} mások is megosztották}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "most",
|
||||
"kuPHYE": "{n,plural,one {}=0{{name} lájkolta} other{{name} és {n} mások is lájkolták}}",
|
||||
"l+ikU1": "Minden a {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Fizetem",
|
||||
"lPWASz": "Snort nostr cím",
|
||||
"lTbT3s": "Pénztárca jelszava",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "Felhasználói felület",
|
||||
"ll3xBp": "Képmegosztó szolgáltató",
|
||||
"lnaT9F": "Követek {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Oszd meg a gondolataidat {link}",
|
||||
"nOaArs": "Profil Beállítása",
|
||||
"nWQFic": "Megújítás",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Adományait nagyra értékeljük",
|
||||
"nwZXeh": "{n} tiltott",
|
||||
"o6Uy3d": "Csak a titkos privát kulccsal lehetséges bármely közzététel (események aláírása), minden más csak olvasható módban kerül naplózásra.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} napok",
|
||||
"rrfdTe": "Ez a technológia ugyanaz, mint amivel a tökéletes biztonságát a Bitcoin is sikeresen bizonyította.",
|
||||
"rudscU": "Hiba a követők betöltésénél, kérlek próbáld később",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Jelvények megjelenítése",
|
||||
"sUNhQE": "felhasználó",
|
||||
"sWnYKw": "Snort úgy lett tervezve, hogy hasonló élményt nyújtson mint a Twitter.",
|
||||
"sZQzjQ": "Nem sikerült a zap felosztása: {input}",
|
||||
"svOoEH": "Az engedély nélküli névfoglalás vagy megszemélyesítés nem engedélyezett. A szabályok megszegéséért, a Snort és partnerei fenntartják maguknak a jogot, hogy azonnal töröljék az azonosítót (nem a fiókot, mert azt nem lehet).",
|
||||
"tOdNiY": "Sötét",
|
||||
"th5lxp": "Az írási joggal rendelkező csomópontok egy részhalmazának bejegyzés küldése",
|
||||
"thnRpU": "A NIP-05 azonosítás segíthet:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Nyelv",
|
||||
"yCLnBC": "LNURL vagy Lightning cím",
|
||||
"yCmnnm": "Globális betöltése innen",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Súly",
|
||||
"zFegDD": "Kapcsolat",
|
||||
"zINlao": "Tulajdonos",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "nama memiliki karakter yang tidak diizinkan",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} detik",
|
||||
"1A7TZk": "Apa itu Snort dan bagaimana cara kerjanya?",
|
||||
"1Mo59U": "Apa Anda yakin Anda ingin memindahkan catatan ini dari penanda buku?",
|
||||
"1R43+L": "Enter Nostr Wallet Connect config",
|
||||
"1c4YST": "Connected to: {node} 🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Membatalkan",
|
||||
"4IPzdn": "Pengembang Utama",
|
||||
"4L2vUY": "Nama NIP-05 baru Anda adalah:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Tidak disukai",
|
||||
"4Vmpt4": "Nostr Plebs adalah salah satu penyedia NIP-05 pertama di ruang ini dan menawarkan koleksi domain yang bagus dengan harga terjangkau",
|
||||
"4Z3t5i": "Gunakan imgproxy untuk mengkompresi gambar",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "Failed to proxy image from {host}, click here to load directly",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Get an identifier",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "Suka ({n})",
|
||||
"6uMqL1": "Unpaid",
|
||||
"7+Domh": "Catatan",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Account Switcher",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Posting ulang ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Write access to Snort relay, with 1 year of event retention",
|
||||
"BOUMjw": "Tidak ada pengguna nostr yang ditemukan untuk {twitterUsername}",
|
||||
"BOr9z/": "Snort adalah proyek open source yang dibangun oleh orang-orang yang bersemangat di waktu luang mereka",
|
||||
"BWpuKl": "Update",
|
||||
"BcGMo+": "Catatan menyimpan konten teks, penggunaan paling populer dari catatan ini adalah untuk menyimpan pesan-pesan yang \"seperti tweet\".",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Keluar",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Gagal memuat faktur",
|
||||
"CVWeJ6": "Trending People",
|
||||
"CmZ9ls": "{n} Dibisukan",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Diterjemahkan dari {lang}",
|
||||
"D+KzKd": "Automatically zap every note when loaded",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Global",
|
||||
"Ebl/B2": "Terjemahkan ke {lang}",
|
||||
"EcZF24": "Custom Relays",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Kunci",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "Membeli",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Clear cache and reload",
|
||||
"HbefNb": "Buka Dompet",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "Thanks for using Snort, please consider donating if you can.",
|
||||
"IEwZvs": "Apakah Anda yakin Anda ingin menghilangkan sematan catatan ini?",
|
||||
"IKKHqV": "Follows",
|
||||
"INSqIz": "Nama pengguna Twitter...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Wallet password",
|
||||
"MRp6Ly": "nama pengguna Twitter",
|
||||
"MWTx65": "Halaman Bawaan",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Pay for subscription",
|
||||
"MuVeKe": "Buy nostr address",
|
||||
"MzRYWH": "Membeli {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Konfirmasi",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "You already have a subscription of this type, please renew or pay",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zap-zap",
|
||||
"OKhRC6": "Bagikan",
|
||||
"OLEm6z": "Unknown login error",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "You subscription is still active, you can't renew yet",
|
||||
"ORGv1Q": "Created",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Salin Event JSON",
|
||||
"P7FD0F": "Sistem (Bawaan)",
|
||||
"P7nJT9": "Total hari ini (UTC): {amount} sat",
|
||||
"PCSt5T": "Preferensi",
|
||||
"PLSbmL": "Your mnemonic phrase",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Unknown file header: {name}",
|
||||
"Pe0ogR": "Tema",
|
||||
"PrsIg7": "Reaksi akan ditampilkan di setiap halaman, jika dinonaktifkan, tidak ada reaksi yang akan ditampilkan",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Subscription",
|
||||
"R81upa": "People you follow",
|
||||
"RDZVQL": "Periksa",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Kedaluwarsa",
|
||||
"RfhLwC": "By: {author}",
|
||||
"RhDAoS": "Anda yakin ingin menghapus {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Relai-relai",
|
||||
"Rs4kCE": "Penanda buku",
|
||||
"RwFaYs": "Sort",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "Update Lightning Address",
|
||||
"SP0+yi": "Buy Subscription",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "New Chat",
|
||||
"UUPFlt": "Users must accept the content warning to show the content of your note.",
|
||||
"Up5U7K": "Blokir",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, can't find a key manager extension.. try reloading the page.",
|
||||
"VN0+Fz": "Balance: {amount} sats",
|
||||
"VOjC1i": "Pilih layanan unggah mana yang ingin Anda unggahkan lampirannya",
|
||||
"VR5eHw": "Public key (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} dibisukan",
|
||||
"VnXp8Z": "Avatar",
|
||||
"VvaJst": "View Wallets",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Your default zap amount is {number} sats, example values are calculated from this.",
|
||||
"XrSk2j": "Redeem",
|
||||
"XzF0aC": "Key manager extensions are more secure and allow you to easily login to any Nostr client, here are some well known extensions:",
|
||||
"Y31HTH": "Bantu danai pengembangan Snort",
|
||||
"YDURw6": "URL layanan",
|
||||
"YXA3AH": "Aktifkan reaksi",
|
||||
"Z0FDj+": "Subscribe to Snort {plan} for {price} and receive the following rewards",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Aktifkan Sekarang",
|
||||
"ZLmyG9": "Kontributor",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Setup profile",
|
||||
"a5UPxh": "Danai pengembang-pengembang dan platform-platform yang menyediakan layanan verifikasi NIP-05",
|
||||
"a7TDNm": "Notes will stream in real time into global and notes tab",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "Pilih sebuah nama pengguna",
|
||||
"bxv59V": "Baru saja",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Install Extension",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "Jika Anda memiliki pertanyaan tentang pesanan NIP-05 Anda, silakan DM {link}",
|
||||
"c3g2hL": "Broadcast Again",
|
||||
"cFbU1B": "Using Alby? Go to {link} to get your NWC config!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "History",
|
||||
"d7d0/x": "Alamat LN",
|
||||
"dOQCL8": "Nama tampilan",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Coming soon",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "Tandai Semua Telah Dibaca",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "A single zap of {nIn} sats will allocate {nOut} sats to the zap pool.",
|
||||
"eXT2QQ": "Group Chat",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Can't vote because LNURL service does not support zaps",
|
||||
"fWZYP5": "Disematkan",
|
||||
"filwqD": "Baca",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "Tentang",
|
||||
"g985Wp": "Failed to send vote",
|
||||
"gBdUXk": "Simpan kunci Anda!",
|
||||
"gDZkld": "Snort adalah UI Nostr, nostr adalah protokol terdesentralisasi untuk menyimpan dan mendistribusikan \"catatan-catatan\".",
|
||||
"gDzDRs": "Emoji untuk dikirim saat bereaksi terhadap sebuah catatan",
|
||||
"gXgY3+": "Not all clients support this yet",
|
||||
"gczcC5": "Subscribe",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Profil",
|
||||
"izWS4J": "Berhenti mengikuti",
|
||||
"jA3OE/": "{n,plural,=1{{n} sat} other{{n} sat}}",
|
||||
"jCA7Cw": "Pratinjau pada snort",
|
||||
"jMzO1S": "Internal error: {msg}",
|
||||
"jfV8Wr": "Kembali",
|
||||
"juhqvW": "Tingkatkan keamanan masuk dengan ekstensi browser",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reaksi",
|
||||
"k2veDA": "Tulis",
|
||||
"k7sKNy": "Layanan verifikasi NIP-05 kami sendiri, bantu dukung pengembangan situs ini dan dapatkan lencana khusus yang mengkilap di situs kami!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} reposted} other{{name} & {n} others reposted}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "now",
|
||||
"kuPHYE": "{n,plural,=0{{name} liked} other{{name} & {n} others liked}}",
|
||||
"l+ikU1": "Everything in {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Bayar",
|
||||
"lPWASz": "Snort nostr address",
|
||||
"lTbT3s": "Wallet password",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "halaman akun",
|
||||
"ll3xBp": "Layanan proxy gambar",
|
||||
"lnaT9F": "Mengikuti {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Bagikan pendapat Anda dengan {link}",
|
||||
"nOaArs": "Setup Profile",
|
||||
"nWQFic": "Renew",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Donasi Anda sangat dihargai",
|
||||
"nwZXeh": "{n} diblokir",
|
||||
"o6Uy3d": "Hanya kunci rahasia yang dapat digunakan untuk mempublikasikan (menandatangani kejadian), yang lainnya mencatat Anda dalam mode hanya-baca.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} days",
|
||||
"rrfdTe": "Ini adalah teknologi yang sama yang digunakan oleh Bitcoin dan telah terbukti sangat aman.",
|
||||
"rudscU": "Gagal memuat yang diikuti, harap coba lagi nanti",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "Snort dirancang untuk memiliki pengalaman yang mirip dengan Twitter.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "Penyerobotan nama dan peniruan identitas tidak diperbolehkan. Snort dan mitra kami berhak menghentikan pegangan Anda (bukan akun Anda - tidak ada yang dapat mengambilnya) karena melanggar peraturan ini.",
|
||||
"tOdNiY": "Gelap",
|
||||
"th5lxp": "Send note to a subset of your write relays",
|
||||
"thnRpU": "Mendapatkan verifikasi NIP-05 dapat membantu:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Bahasa",
|
||||
"yCLnBC": "LNURL or Lightning Address",
|
||||
"yCmnnm": "Baca global dari",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "Kontak",
|
||||
"zINlao": "Pemilik",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "il nome ha caratteri non ammessi",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} sec",
|
||||
"1A7TZk": "Che cos’è Snort e come funziona?",
|
||||
"1Mo59U": "Vuoi davvero rimuovere questa nota dai preferiti?",
|
||||
"1R43+L": "Enter Nostr Wallet Connect config",
|
||||
"1c4YST": "Connessione a: {node}🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Annulla",
|
||||
"4IPzdn": "Sviluppatori principali",
|
||||
"4L2vUY": "Il tuo nuovo nome utente NIP-05 è:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Non mi piace",
|
||||
"4Vmpt4": "Nostr Plebs è uno dei primi provider NIP-05 e offre una grande collezione di domini a prezzi ragionevoli",
|
||||
"4Z3t5i": "Utilizza imgproxy per comprimere le immagini",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "Failed to proxy image from {host}, click here to load directly",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Ottieni una verifica",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "Mi piace ({n})",
|
||||
"6uMqL1": "Non pagato",
|
||||
"7+Domh": "Note",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Commutatore di Account",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Riposta ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Scriva accesso al relay Snort, con 1 anno di ritenzione dell'evento",
|
||||
"BOUMjw": "Nessun utente di nostr trovato per {twitterUsername}",
|
||||
"BOr9z/": "Snort è un progetto open source creato da appassionati nel loro tempo libero",
|
||||
"BWpuKl": "Aggiorna",
|
||||
"BcGMo+": "Le note contengono contenuto di testo, l'uso più popolare di queste note è quello di memorizzare i messaggi \"come tweet\".",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Disconnettiti",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Impossibile caricare la fattura",
|
||||
"CVWeJ6": "Trending People",
|
||||
"CmZ9ls": "{n} Silenziato",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Tradotto da {lang}",
|
||||
"D+KzKd": "Zap automaticamente ogni nota quando caricata",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Globale",
|
||||
"Ebl/B2": "Traduci in {lang}",
|
||||
"EcZF24": "Custom Relays",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Chiave",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "Acquista",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Clear cache and reload",
|
||||
"HbefNb": "Apri portafoglio",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "Grazie per aver usato Snort, si prega di considerare la donazione se possibile.",
|
||||
"IEwZvs": "Sei sicuro di voler staccare questa nota?",
|
||||
"IKKHqV": "Follows",
|
||||
"INSqIz": "Nome utente Twitter...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Password del portafoglio",
|
||||
"MRp6Ly": "Nome utente Twitter",
|
||||
"MWTx65": "Pagina di default",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Paga l'abbonamento",
|
||||
"MuVeKe": "Buy nostr address",
|
||||
"MzRYWH": "Acquista {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Conferma",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "Hai già un abbonamento di questo tipo, si prega di rinnovare o pagare",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zap",
|
||||
"OKhRC6": "Condividi",
|
||||
"OLEm6z": "Errore di login sconosciuto",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "L'abbonamento è ancora attivo, non puoi ancora rinnovare",
|
||||
"ORGv1Q": "Creato",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Copia evento JSON",
|
||||
"P7FD0F": "Sistema (Predefinito)",
|
||||
"P7nJT9": "Totale oggi (UTC): {amount} sat",
|
||||
"PCSt5T": "Preferenze",
|
||||
"PLSbmL": "La tua frase mnemonica",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Intestazione del file sconosciuta: {name}",
|
||||
"Pe0ogR": "Tema",
|
||||
"PrsIg7": "Le reazioni saranno mostrate in ogni pagina. Se disabilitate, non verranno mostrate",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Abbonamento",
|
||||
"R81upa": "People you follow",
|
||||
"RDZVQL": "Verifica",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Scaduto",
|
||||
"RfhLwC": "Creato da: {author}",
|
||||
"RhDAoS": "Vuoi davvero eliminare {id}?",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Relay",
|
||||
"Rs4kCE": "Preferito",
|
||||
"RwFaYs": "Sort",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "Aggiorna indirizzo Lightning",
|
||||
"SP0+yi": "Buy Subscription",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "New Chat",
|
||||
"UUPFlt": "Gli utenti devono accettare l'avviso di contenuto per mostrare il contenuto della nota.",
|
||||
"Up5U7K": "Blocca",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, impossibile trovare un'estensione del gestore di chiavi… Prova a ricaricare la pagina.",
|
||||
"VN0+Fz": "Saldo: {amount} sats",
|
||||
"VOjC1i": "Scegli quale servizio vuoi usare per caricare gli allegati",
|
||||
"VR5eHw": "Chiave pubblica (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} silenziato",
|
||||
"VnXp8Z": "Avatar",
|
||||
"VvaJst": "View Wallets",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Your default zap amount is {number} sats, example values are calculated from this.",
|
||||
"XrSk2j": "Redeem",
|
||||
"XzF0aC": "Le estensioni del gestore delle chiavi sono più sicure e ti consentono di accedere facilmente a qualsiasi client Nostr. Ecco alcune estensioni ben note:",
|
||||
"Y31HTH": "Contribuisci a finanziare lo sviluppo di Snort",
|
||||
"YDURw6": "URL del servizio",
|
||||
"YXA3AH": "Abilita reazioni",
|
||||
"Z0FDj+": "Iscriviti a Snort {plan} per {price} e ricevi i seguenti premi",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Attiva adesso",
|
||||
"ZLmyG9": "Contributori",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Setup profile",
|
||||
"a5UPxh": "Sviluppatori di fondi e piattaforme che forniscono servizi di verifica NIP-05",
|
||||
"a7TDNm": "Notes will stream in real time into global and notes tab",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "Scegli un nome utente",
|
||||
"bxv59V": "Proprio adesso",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Installa estensione",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "Se hai una richiesta sul tuo ordine NIP-05, scrivimi in privato {link}",
|
||||
"c3g2hL": "Broadcast Again",
|
||||
"cFbU1B": "Using Alby? Go to {link} to get your NWC config!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "Cronologia",
|
||||
"d7d0/x": "Indirizzo LN",
|
||||
"dOQCL8": "Nome visualizzato",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Prossimamente",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "Segna tutto come letto",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "A single zap of {nIn} sats will allocate {nOut} sats to the zap pool.",
|
||||
"eXT2QQ": "Group Chat",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Impossibile votare perché il servizio LNURL non supporta gli zap",
|
||||
"fWZYP5": "Attaccato",
|
||||
"filwqD": "Leggi",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "Info",
|
||||
"g985Wp": "Impossibile inviare il voto",
|
||||
"gBdUXk": "Salva le tue chiavi!",
|
||||
"gDZkld": "Snort è un UI Nostr, nostr è un protocollo decentralizzato per salvare e distribuire \"note\".",
|
||||
"gDzDRs": "Emoji da inviare quando reagisci a una nota",
|
||||
"gXgY3+": "Non tutti i clienti lo supportano ancora",
|
||||
"gczcC5": "Abbonati",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Profilo",
|
||||
"izWS4J": "Smetti di seguire",
|
||||
"jA3OE/": "{n,plural,=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "Anteprima su snort",
|
||||
"jMzO1S": "Errore interno: {msg}",
|
||||
"jfV8Wr": "Indietro",
|
||||
"juhqvW": "Migliora la sicurezza di accesso con estensioni del browser",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reazioni",
|
||||
"k2veDA": "Scrivi",
|
||||
"k7sKNy": "Il nostro servizio di verifica NIP-05, aiuta a supportare lo sviluppo di questo sito e ottieni un distintivo speciale multicolore!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} reposted} other{{name} & {n} others reposted}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "adesso",
|
||||
"kuPHYE": "{n,plural,=0{{name} liked} other{{name} & {n} others liked}}",
|
||||
"l+ikU1": "Tutto in {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Paga",
|
||||
"lPWASz": "Indirizzo nostr snort",
|
||||
"lTbT3s": "Password del portafoglio",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "Pagina del profilo",
|
||||
"ll3xBp": "Servizio proxy di immagini",
|
||||
"lnaT9F": "Segui {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Condividi i tuoi pensieri con {link}",
|
||||
"nOaArs": "Imposta profilo",
|
||||
"nWQFic": "Rinnova",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Le tue donazioni sono molto apprezzate",
|
||||
"nwZXeh": "{n} bloccato",
|
||||
"o6Uy3d": "Solo la chiave segreta può essere usata per pubblicare (firmare note), tutto il resto ti registra in modalità di sola lettura.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} giorni",
|
||||
"rrfdTe": "Questa è la stessa tecnologia che viene utilizzata dai Bitcoin, ed è stata dimostrata essere estremamente sicura.",
|
||||
"rudscU": "Salvataggio non riuscito. Riprova più tardi",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "Snort è stato progettato per avere un'esperienza simile a Twitter.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "Non è consentito lo squatting e l'impersonazione. Snort e i nostri partner si riservano il diritto di terminare il tuo handle (non il tuo account - nessuno può toccarlo) per aver violato questa regola.",
|
||||
"tOdNiY": "Scuro",
|
||||
"th5lxp": "Send note to a subset of your write relays",
|
||||
"thnRpU": "Ottenere la verifica NIP-05 può aiutare:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Lingua",
|
||||
"yCLnBC": "LNURL o indirizzo Lightning",
|
||||
"yCmnnm": "Lettura globale da",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "Contatta",
|
||||
"zINlao": "Proprietario",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "名前に使用できない文字が含まれています",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n}秒",
|
||||
"1A7TZk": "Snortって何? どういう仕組み?",
|
||||
"1Mo59U": "本当にこの投稿をブックマークから削除しますか?",
|
||||
"1R43+L": "Nostr Wallet Connectの設定値を入力",
|
||||
"1c4YST": "{node}に接続しました🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "キャンセル",
|
||||
"4IPzdn": "主要な開発者",
|
||||
"4L2vUY": "新しいNIP-05ハンドル:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "イヤ",
|
||||
"4Vmpt4": "Nostr Plebsは宇宙で最初のNIP-05プロバイダのひとつで、豊富なドメインをリーズナブルな価格で提供します",
|
||||
"4Z3t5i": "imgproxyを使って画像を圧縮します",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "{host}から画像のプロキシに失敗しました。ここをクリックして直接読み込みます",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "IDを入手する",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "スキ ({n})",
|
||||
"6uMqL1": "未払い",
|
||||
"7+Domh": "投稿",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "アカウント切り替え",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "リポスト ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Snortリレーへの書き込み、1年間イベントを保持",
|
||||
"BOUMjw": "{twitterUsername}に対応するNostrユーザーは見つかりませんでした",
|
||||
"BOr9z/": "Snortは、情熱的な人々が自由時間を使って作ったオープンソースプロジェクトです",
|
||||
"BWpuKl": "更新",
|
||||
"BcGMo+": "投稿はテキストのコンテンツを持ち、その主な用途は「ツイートのような」メッセージを保持することです。",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "プレミアム",
|
||||
"C81/uG": "ログアウト",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "インボイスの読み込みに失敗しました",
|
||||
"CVWeJ6": "話題のユーザー",
|
||||
"CmZ9ls": "{n} ミュート",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "{lang}から翻訳",
|
||||
"D+KzKd": "読み込んだ全ての投稿に自動でザップします",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "グローバル",
|
||||
"Ebl/B2": "{lang}に翻訳",
|
||||
"EcZF24": "カスタムリレー",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "鍵",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "購入",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "キャッシュをクリアして再読み込み",
|
||||
"HbefNb": "ウォレットを開く",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "Snortをご利用いただき、どうもありがとうございます。できましたら寄付をご検討ください。",
|
||||
"IEwZvs": "本当にこの投稿のピン留めを解除しますか?",
|
||||
"IKKHqV": " フォロー",
|
||||
"INSqIz": "Twitterユーザー名を入力",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "ウォレットパスワード",
|
||||
"MRp6Ly": "Twitterユーザー名",
|
||||
"MWTx65": "既定のページ",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "サブスクリプションに支払う",
|
||||
"MuVeKe": "Nostrアドレスを購入",
|
||||
"MzRYWH": "{item}の購入",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "確認",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "このタイプのサブスクリプションを既にお持ちです。更新もしくは支払いをお願いいたします",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "ザップ",
|
||||
"OKhRC6": "共有",
|
||||
"OLEm6z": "未知のログインエラー",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "サブスクリプションがまだ有効なため、更新することができません",
|
||||
"ORGv1Q": "登録日",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "イベントJSONをコピー",
|
||||
"P7FD0F": "システム (デフォルト)",
|
||||
"P7nJT9": "本日の合計額 (UTC): {amount} sats",
|
||||
"PCSt5T": "ユーザー設定",
|
||||
"PLSbmL": "ニーモニックフレーズ",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "不明なファイルヘッダー: {name}",
|
||||
"Pe0ogR": "外観",
|
||||
"PrsIg7": "すべてのページでリアクションが表示されます。無効にするとリアクションは表示されません",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "サブスクリプション",
|
||||
"R81upa": "あなたがフォローしている人",
|
||||
"RDZVQL": "チェック",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "失効",
|
||||
"RfhLwC": "制作者: {author}",
|
||||
"RhDAoS": "{id}を削除しますか?",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "リレー",
|
||||
"Rs4kCE": "ブックマーク",
|
||||
"RwFaYs": "並び替え",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "ザップを{name}に送る",
|
||||
"SOqbe9": "ライトニングアドレスの更新",
|
||||
"SP0+yi": "サブスクリプションの購入",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "新規チャット",
|
||||
"UUPFlt": "ユーザーは、投稿内容の表示のためにコンテンツ警告へ同意する必要があります。",
|
||||
"Up5U7K": "ブロック",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "どうやらキーマネージャー拡張機能が見つけられません。ページを再読み込みしてください。",
|
||||
"VN0+Fz": "残高: {amount} sats",
|
||||
"VOjC1i": "添付ファイルをアップロードするためのサービスを選択してください",
|
||||
"VR5eHw": "公開鍵 (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} ミュート",
|
||||
"VnXp8Z": "アバター",
|
||||
"VvaJst": "ウォレットを表示",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "デフォルトのザップ量は{number} satsで、例示された値はここから算出されます。",
|
||||
"XrSk2j": "交換",
|
||||
"XzF0aC": "キーマネージャー拡張機能はより安全で、あらゆるNostrクライアントへ簡単にログインできるようにします。いくつかのよく知られている拡張機能:",
|
||||
"Y31HTH": "Snortの開発資金を援助する",
|
||||
"YDURw6": "サービスURL",
|
||||
"YXA3AH": "リアクションを有効にする",
|
||||
"Z0FDj+": "{price}でSnort {plan}を購読して、以下の特典を受け取ります",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "今すぐ有効化",
|
||||
"ZLmyG9": "貢献者",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "プロフィールを設定",
|
||||
"a5UPxh": "NIP-05認証サービスを提供するプラットフォームや開発者に資金援助する",
|
||||
"a7TDNm": "グローバルタブと投稿タブで投稿がリアルタイムに流れるようになります",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "匿名",
|
||||
"brAXSu": "ユーザー名を決める",
|
||||
"bxv59V": "たった今",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "拡張機能のインストール",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "NIP-05の注文に関するお問い合わせは、DMにて{link}までお願いします。",
|
||||
"c3g2hL": "再送信",
|
||||
"cFbU1B": "Albyをお使いですか?{link}にアクセスすると、NWCの設定が取得できます!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "履歴",
|
||||
"d7d0/x": "ライトニング アドレス",
|
||||
"dOQCL8": "表示名",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "まもなく開始",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "全て既読にする",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "{nIn} satsを1回ザップすると、{nOut} satsがZap Poolに割り当てられます。",
|
||||
"eXT2QQ": "グループチャット",
|
||||
"fBI91o": "ザップ",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "LNURLサービスがザップに対応していないため投票できません",
|
||||
"fWZYP5": "ピン留めされた投稿",
|
||||
"filwqD": "読み取り",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "自己紹介",
|
||||
"g985Wp": "投票を送信できませんでした",
|
||||
"gBdUXk": "鍵を保存しましょう!",
|
||||
"gDZkld": "SnortはNostrのUIで、nostrは「投稿」を保存・配信するための非中央集権型プロトコルです。",
|
||||
"gDzDRs": "投稿にリアクションしたときに送る絵文字",
|
||||
"gXgY3+": "まだすべてのクライアントがこれをサポートしているわけではありません。",
|
||||
"gczcC5": "購読",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "プロフィール",
|
||||
"izWS4J": "フォロー解除",
|
||||
"jA3OE/": "{n,plural,=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "Snortでプレビュー",
|
||||
"jMzO1S": "内部エラー:{msg}",
|
||||
"jfV8Wr": "戻る",
|
||||
"juhqvW": "ブラウザ拡張機能を使ってログインのセキュリティを向上",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} リアクション",
|
||||
"k2veDA": "書き込み",
|
||||
"k7sKNy": "私たち独自のNIP-05認証サービスです。このサイトの開発を支援し、ピカピカの特別なバッジを私たちのサイトで使えるようになります!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} reposted} other{{name} & {n} others reposted}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "たった今",
|
||||
"kuPHYE": "{n,plural,=0{{name} liked} other{{name} & {n} others liked}}",
|
||||
"l+ikU1": "{plan}で提供されるすべて",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "支払う",
|
||||
"lPWASz": "Snort Nostrアドレス",
|
||||
"lTbT3s": "ウォレットパスワード",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "アカウントページ",
|
||||
"ll3xBp": "画像プロキシサービス",
|
||||
"lnaT9F": "{n} フォロー",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "{link}であなたの考えを共有する",
|
||||
"nOaArs": "プロフィールを設定",
|
||||
"nWQFic": "更新",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "皆様からのご寄付をお待ちしております",
|
||||
"nwZXeh": "{n} ブロック",
|
||||
"o6Uy3d": "投稿 (イベントへの署名) に使えるのは秘密鍵だけで、それ以外では読み取り専用モードでのログインになります。",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n}日",
|
||||
"rrfdTe": "これはビットコインで使われているのと同じ技術で、非常に安全であることが証明されています。",
|
||||
"rudscU": "フォローの読み込みに失敗しました。後でやり直してください",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "ユーザー",
|
||||
"sWnYKw": "SnortはTwitterに似た体験ができるようにデザインされています。",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "サイバースクワッティングとなりすましは禁止されています。ルールに抵触した場合、Snortとパートナーはハンドルを停止する権利を保有します。(アカウントではありません。それは誰にも取り上げることはできません。)",
|
||||
"tOdNiY": "ダーク",
|
||||
"th5lxp": "書き込みリレーの一部に投稿を送信する",
|
||||
"thnRpU": "NIP-05認証を得るメリット:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "言語",
|
||||
"yCLnBC": "LNURLまたはライトニングアドレス",
|
||||
"yCmnnm": "グローバル読み取り元",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "連絡先",
|
||||
"zINlao": "運営者",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "naam heeft verboden tekens",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} seconden",
|
||||
"1A7TZk": "Wat is Snort en hoe werkt het?",
|
||||
"1Mo59U": "Weet u zeker dat u deze notitie uit bladwijzers wilt verwijderen?",
|
||||
"1R43+L": "Voer Nostr Wallet Connect configuratie in",
|
||||
"1c4YST": "Verbonden met: {node}🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Annuleer",
|
||||
"4IPzdn": "Primaire ontwikkelaars",
|
||||
"4L2vUY": "Uw nieuwe NIP-05 handvat is:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Vind-ik-niet-leuks",
|
||||
"4Vmpt4": "NostrPlebs is een van de eerste Nostr NIP-05 providers en biedt een goede verzameling domeinen aan tegen redelijke prijzen",
|
||||
"4Z3t5i": "Gebruik imgproxy om foto's te comprimeren",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "Proxy afbeelding laden van {host} is mislukt, klik hier om direct te laden",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Krijg een identifier",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "Likes ({n})",
|
||||
"6uMqL1": "Niet betaald",
|
||||
"7+Domh": "Notes",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Account wisselaar",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Reposts ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Schrijf toegang tot Snort relays en 1 jaar note-opslag",
|
||||
"BOUMjw": "Geen Nostr account gevonden voor {twitterUsername}",
|
||||
"BOr9z/": "Snort is een open-source project gebouwd door gepassioneerde mensen in hun vrije tijd",
|
||||
"BWpuKl": "Updaten",
|
||||
"BcGMo+": "Notes bevatten tekst; het populairste gebruik van deze notities is het posten van \"Tweet-achtige\" berichten.",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Uitloggen",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Invoice laden mislukt",
|
||||
"CVWeJ6": "Trending Accounts",
|
||||
"CmZ9ls": "{n} Gedempt",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Vertaald vanuit {lang}",
|
||||
"D+KzKd": "Zap elke note automatisch wanneer geladen",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Global",
|
||||
"Ebl/B2": "Vertalen naar {lang}",
|
||||
"EcZF24": "Custom Relays",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Sleutel",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "Kopen",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Cache wissen en herladen",
|
||||
"HbefNb": "Open wallet",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "Bedankt voor het gebruiken van Snort, overweeg alstublieft om te doneren als je kunt.",
|
||||
"IEwZvs": "Weet u zeker dat u deze note wilt losmaken?",
|
||||
"IKKHqV": "Volgers",
|
||||
"INSqIz": "Twitter-gebruikersnaam...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Wachtwoord Wallet",
|
||||
"MRp6Ly": "Twitter-gebruikersnaam",
|
||||
"MWTx65": "Standaardpagina",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Betaal abonnement",
|
||||
"MuVeKe": "Koop Nostr adres",
|
||||
"MzRYWH": "{item} kopen",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Bevestig",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "U heeft al een abonnement van dit type, gelieve te vernieuwen of te betalen",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zaps",
|
||||
"OKhRC6": "Deel",
|
||||
"OLEm6z": "Onbekende inlogfout",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "Uw abonnement is nog actief, u kunt nog niet vernieuwen",
|
||||
"ORGv1Q": "Aangemaakt",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Kopieer JSON event",
|
||||
"P7FD0F": "Systeem (Standaard)",
|
||||
"P7nJT9": "Totaal vandaag (UTC): {amount} sats",
|
||||
"PCSt5T": "Voorkeuren",
|
||||
"PLSbmL": "Uw wachtwoord om te onthouden",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Onbekende bestandsheader: {name}",
|
||||
"Pe0ogR": "Thema",
|
||||
"PrsIg7": "Reacties worden op elke pagina getoond, indien uitgeschakeld worden er geen reacties getoond",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Abonnement",
|
||||
"R81upa": "Mensen die je volgt",
|
||||
"RDZVQL": "Controleer",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Verlopen",
|
||||
"RfhLwC": "Door: {author}",
|
||||
"RhDAoS": "Weet u zeker dat u dit wilt verwijderen {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Relays",
|
||||
"Rs4kCE": "Bladwijzers",
|
||||
"RwFaYs": "Sorteer",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "Update Lightning Adres",
|
||||
"SP0+yi": "Abonnement kopen",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "Nieuwe Chat",
|
||||
"UUPFlt": "Gebruikers moeten akkoord gaan met de waarschuwing van de inhoud om de inhoud van uw notitie te tonen.",
|
||||
"Up5U7K": "Blokkeren",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, kan de extentie van een sleutelbeheerder niet vinden.. probeer de pagina opnieuw te laden.",
|
||||
"VN0+Fz": "Saldo: {amount} sats",
|
||||
"VOjC1i": "Kies naar welke service u bijlagen wilt uploaden",
|
||||
"VR5eHw": "Publieke sleutel (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} gedempt",
|
||||
"VnXp8Z": "Profielfoto",
|
||||
"VvaJst": "Bekijk wallets",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Uw standaard zap bedrag is {number} sats, voorbeeldwaarden worden hiermee berekend.",
|
||||
"XrSk2j": "Inwisselen",
|
||||
"XzF0aC": "Sleutelbeheer extensies zijn veiliger en maken het mogelijk om eenvoudig in te loggen op een Nostr client, hier zijn enkele bekende extensies:",
|
||||
"Y31HTH": "Help met de ontwikkeling van Snort",
|
||||
"YDURw6": "Service-URL",
|
||||
"YXA3AH": "Reacties inschakelen",
|
||||
"Z0FDj+": "Abonneer je op Snort {plan} voor {price} en ontvang de volgende beloningen",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Activeer Nu",
|
||||
"ZLmyG9": "Bijdragers",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Profiel instellen",
|
||||
"a5UPxh": "Support ontwikkelaars en platforms die NIP-05 identificatie-diensten aanbieden",
|
||||
"a7TDNm": "Notes zullen in real-time worden gestreamt naar het Global en Notes tabblad",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "Kies een gebruikersnaam",
|
||||
"bxv59V": "Zojuist",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Extensie Installeren",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "Voor vragen over je NIP-05 bestelling stuur een DM: {link}",
|
||||
"c3g2hL": "Opnieuw uitzenden",
|
||||
"cFbU1B": "Gebruik je Alby? Ga naar {link} om je Nostr Wallet Connect in te stellen!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "Geschiedenis",
|
||||
"d7d0/x": "LN Address",
|
||||
"dOQCL8": "Weergavenaam",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Binnenkort beschikbaar",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "Alles markeren als gelezen",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "Een enkele zap van {nIn} sats zal {nOut} sats toewijzen aan de zap pool.",
|
||||
"eXT2QQ": "Groepschat",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Kan niet stemmen omdat LNURL-service geen zaps ondersteunt",
|
||||
"fWZYP5": "Vastgezet",
|
||||
"filwqD": "Lezen",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "Over ons",
|
||||
"g985Wp": "Kan code niet verzenden",
|
||||
"gBdUXk": "Sla je sleutels op!",
|
||||
"gDZkld": "Snort is een Nostr UI, Nostr is een gedecentraliseerd protocol voor opslaan en verspreiden van \"notes\".",
|
||||
"gDzDRs": "Emoji die wordt verstuurd wanneer u reageert op een note",
|
||||
"gXgY3+": "Nog niet alle Nostr Apps ondersteunen dit",
|
||||
"gczcC5": "Abonneer",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Profiel",
|
||||
"izWS4J": "Ontvolgen",
|
||||
"jA3OE/": "{n,plural,one {}=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "Voorvertoning op snort",
|
||||
"jMzO1S": "Interne fout: {msg}",
|
||||
"jfV8Wr": "Terug",
|
||||
"juhqvW": "Verbeter inlogbeveiliging met browserextensies",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reacties",
|
||||
"k2veDA": "Schrijven",
|
||||
"k7sKNy": "Onze eigen NIP-05 verificatieservice ondersteunt de ontwikkeling van deze site en geeft u een speciale badge op onze site!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,one {}=0{{name} gerepost} other{{name} & {n} anderen gerepost}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "nu",
|
||||
"kuPHYE": "{n,plural,one {}=0{{name} geliked} other{{name} & {n} anderen geliked}}",
|
||||
"l+ikU1": "Alles in {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Betaal",
|
||||
"lPWASz": "Koop Nostr adres",
|
||||
"lTbT3s": "Wachtwoord Wallet",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "accountoverzicht",
|
||||
"ll3xBp": "Proxyservice voor afbeeldingen",
|
||||
"lnaT9F": "Volgend {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Deel je gedachten met {link}",
|
||||
"nOaArs": "Profiel instellen",
|
||||
"nWQFic": "Vernieuwen",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Uw donaties worden zeer gewaardeerd",
|
||||
"nwZXeh": "{n} geblokkeerd",
|
||||
"o6Uy3d": "Alleen de privésleutel kan worden gebruikt om te posten, al het andere logt u in alleen-lezen modus.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} dagen",
|
||||
"rrfdTe": "Dit is dezelfde technologie die door het Bitcoin netwerk wordt gebruikt en waarvan veiligheid is bewezen.",
|
||||
"rudscU": "Fout bij het laden van de volgers, probeer het later opnieuw",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "Snort is ontworpen om een soortgelijke ervaring als Twitter te hebben.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "Naam-squatting en imitatie is niet aangeraden. Snort en onze partners behouden zich het recht om uw Nostr adres identifier te beëindigen (lees: enkel de geldigheid van uw identifier, dus niet uw account - niemand kan deze wegnemen) voor het schenden van deze regel.",
|
||||
"tOdNiY": "Donker thema",
|
||||
"th5lxp": "Stuur notitie naar een subset van schrijfrelays",
|
||||
"thnRpU": "NIP-05 geverifieerd worden kan helpen:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Taal",
|
||||
"yCLnBC": "LNURL of Lightning Address",
|
||||
"yCmnnm": "Lees Global van",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "Contact",
|
||||
"zINlao": "Eigenaar",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "o nome possui caracteres não permitidos",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} segundos",
|
||||
"1A7TZk": "O que é e como funciona o Snort?",
|
||||
"1Mo59U": "Tem certeza que deseja remover esta nota dos favoritos?",
|
||||
"1R43+L": "Insira a configuração da Nostr Wallet Connect",
|
||||
"1c4YST": "Conectado em: {node} 🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Cancelar",
|
||||
"4IPzdn": "Desenvolvedores principais",
|
||||
"4L2vUY": "Seu novo identificador NIP-05 é:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Descurtir",
|
||||
"4Vmpt4": "Nostr Plebs é um dos primeiros provedores NIP-05 e oferece uma boa coleção de domínios a preços razoáveis",
|
||||
"4Z3t5i": "Usar imgproxy para comprimir imagens",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "Falha ao fazer proxy da imagem de {host}, clique aqui para carregar diretamente",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Obtenha um identificador",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "Curtidas ({n})",
|
||||
"6uMqL1": "Não pago",
|
||||
"7+Domh": "Notas",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Alternador de conta",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Repostagens ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Acesso de escrita ao retransmissor Snort, com 1 ano de retenção de eventos",
|
||||
"BOUMjw": "Nenhum usuário nostr foi encontrado para {twitterUsername}",
|
||||
"BOr9z/": "Snort é um projeto de código aberto construído por pessoas apaixonadas em seu tempo livre",
|
||||
"BWpuKl": "Atualizar",
|
||||
"BcGMo+": "Notas possuem conteúdo de texto, o uso mais popular dessas notas é armazenar mensagens(similar à um Tweet).",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Sair",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Falha ao carregar invoice",
|
||||
"CVWeJ6": "Pessoas em destaque",
|
||||
"CmZ9ls": "{n} silenciado(s)",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Traduzido do {lang}",
|
||||
"D+KzKd": "Enviar zap automaticamente para todas notas ao carregar",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Global",
|
||||
"Ebl/B2": "Traduzir para {lang}",
|
||||
"EcZF24": "Relays customizados",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Chave",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "Comprar",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Apagar cache e recarregar",
|
||||
"HbefNb": "Abrir Carteira",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "Obrigado por usar o Snort, por favor considere fazer uma doação se puder.",
|
||||
"IEwZvs": "Tem certeza de que deseja desafixar essa nota?",
|
||||
"IKKHqV": "Seguindo",
|
||||
"INSqIz": "Nome de usuário do Twitter...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Senha da carteira",
|
||||
"MRp6Ly": "Nome de usuário do Twitter",
|
||||
"MWTx65": "Página padrão",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Pagar por assinatura",
|
||||
"MuVeKe": "Comprar endereço Nostr",
|
||||
"MzRYWH": "Comprando {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Confirmar",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "Você já tem uma assinatura deste tipo, por favor, renove ou pague",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zaps",
|
||||
"OKhRC6": "Compartilhar",
|
||||
"OLEm6z": "Erro de login desconhecido",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "Sua assinatura ainda está ativa, você não pode renovar ainda",
|
||||
"ORGv1Q": "Criado",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Copiar JSON do Evento",
|
||||
"P7FD0F": "Sistema (Padrão)",
|
||||
"P7nJT9": "Total hoje (UTC): {amount} sats",
|
||||
"PCSt5T": "Preferências",
|
||||
"PLSbmL": "A sua senha mnemônica",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Cabeçalho de arquivo desconhecido: {name}",
|
||||
"Pe0ogR": "Tema",
|
||||
"PrsIg7": "Reações serão mostradas em todas as páginas, se desativadas, nenhuma reação será mostrada",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Assinatura",
|
||||
"R81upa": "Pessoas que você segue",
|
||||
"RDZVQL": "Verificar",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Expirado",
|
||||
"RfhLwC": "Por: {author}",
|
||||
"RhDAoS": "Tem certeza de que deseja excluir {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Relés",
|
||||
"Rs4kCE": "Favoritar",
|
||||
"RwFaYs": "Ordenar",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "Atualizar endereço Lightning",
|
||||
"SP0+yi": "Comprar assinatura",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "Novo chat",
|
||||
"UUPFlt": "Os usuários devem aceitar o aviso de conteúdo para mostrar o conteúdo da sua nota.",
|
||||
"Up5U7K": "Bloquear",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, não foi possível encontrar uma extensão para gerenciar chaves... tente recarregar a página.",
|
||||
"VN0+Fz": "Saldo: {amount} sats",
|
||||
"VOjC1i": "Escolha para qual serviço fazer upload dos arquivos",
|
||||
"VR5eHw": "Chave pública (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} silenciado(s)",
|
||||
"VnXp8Z": "Avatar",
|
||||
"VvaJst": "Visualizar carteiras",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Sua quantidade padrão de zap é de {number} sats, valores de exemplo são calculados a partir disso.",
|
||||
"XrSk2j": "Resgatar",
|
||||
"XzF0aC": "Extensōes para gerenciamento de chaves são mais seguras e lhe permitem fazer login em qualquer cliente Nostr. Essas são algumas das extensōes mais conhecidas:",
|
||||
"Y31HTH": "Ajude a financiar o desenvolvimento do Snort",
|
||||
"YDURw6": "URL do serviço",
|
||||
"YXA3AH": "Habilitar reações",
|
||||
"Z0FDj+": "Assine o Snort {plan} por {price} e receba as seguintes recompensas",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Ativar agora",
|
||||
"ZLmyG9": "Colaboradores",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Configurar perfil",
|
||||
"a5UPxh": "Financie desenvolvedores e plataformas que fornecem serviços de verificação NIP-05",
|
||||
"a7TDNm": "As notas serão transmitidas em tempo real na guia global e de notas",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anônimo",
|
||||
"brAXSu": "Escolha um nome de usuário",
|
||||
"bxv59V": "Agora há pouco",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Instalar extensão",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "Se você tiver uma pergunta sobre o seu pedido NIP-05, por favor envie uma mensagem privada {link}",
|
||||
"c3g2hL": "Transmitir novamente",
|
||||
"cFbU1B": "Usando o Alby? Vá para {link} para obter a sua configuração de NWC!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "Histórico",
|
||||
"d7d0/x": "Endereço LN",
|
||||
"dOQCL8": "Exibir nome",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Em breve",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "Marcar todas como lidas",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "Um único zap de {nIn} sats irá alocar {nOut} sats para o pool de zap.",
|
||||
"eXT2QQ": "Chat em grupo",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Não é possível votar porque o serviço LNURL não suporta zaps",
|
||||
"fWZYP5": "Fixado",
|
||||
"filwqD": "Lida",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "Sobre",
|
||||
"g985Wp": "Falha ao enviar o voto",
|
||||
"gBdUXk": "Salve suas chaves!",
|
||||
"gDZkld": "Snort é uma interface web do Nostr. O Nostr é um protocolo descentralizado para salvar e distribuir \"notas\".",
|
||||
"gDzDRs": "Emoji a ser enviado quando reagir a uma nota",
|
||||
"gXgY3+": "Nem todos os clientes suportam isso ainda",
|
||||
"gczcC5": "Assinar",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Perfil",
|
||||
"izWS4J": "Deixar de seguir",
|
||||
"jA3OE/": "{n,plural,=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "Pré-visualizar no snort",
|
||||
"jMzO1S": "Erro interno: {msg}",
|
||||
"jfV8Wr": "Voltar",
|
||||
"juhqvW": "Melhore a segurança de login com extensões de navegador",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reações",
|
||||
"k2veDA": "Escrever",
|
||||
"k7sKNy": "Nosso próprio serviço de verificação NIP-05, ajude no desenvolvimento deste site e obtenha uma insígnia especial no nosso site!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} repostou} other{{name} e {n} outros repostaram}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "agora",
|
||||
"kuPHYE": "{n,plural,=0{{name} curtiu} other{{name} e {n} outros curtiram}}",
|
||||
"l+ikU1": "Tudo no {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Pagar",
|
||||
"lPWASz": "Endereço do Snort no Nostr",
|
||||
"lTbT3s": "Senha da carteira",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "página da conta",
|
||||
"ll3xBp": "Serviço de proxy de imagem",
|
||||
"lnaT9F": "Seguindo {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Compartilhe suas ideias com {link}",
|
||||
"nOaArs": "Configurar perfil",
|
||||
"nWQFic": "Renovar",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Suas doações são muito apreciadas",
|
||||
"nwZXeh": "{n} bloqueados",
|
||||
"o6Uy3d": "Apenas a chave privada pode ser usada para publicar (assinar eventos), todo o resto registra seu registro em modo somente leitura.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} dia(s)",
|
||||
"rrfdTe": "Essa é a mesma tecnologia que é usada pelo Bitcoin e provou ser extremamente segura.",
|
||||
"rudscU": "Falha ao carregar, por favor, tente novamente mais tarde",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "O Snort foi projetado para ter uma experiência parecida com o Twitter.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "Práticas como Name-Squatting e assunção de identidade alheia não são permitidas. O Snort e nossos parceiros reservam-se o direito de encerrar seu identificador por violar tais regras.",
|
||||
"tOdNiY": "Noturno",
|
||||
"th5lxp": "Enviar nota a um subconjunto dos seus relés de escrita",
|
||||
"thnRpU": "Obter a verificação do NIP-05 pode ajudar a:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Idioma",
|
||||
"yCLnBC": "LNURL ou endereço Lightning",
|
||||
"yCmnnm": "Ler global de",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "Contato",
|
||||
"zINlao": "Dono",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "имя содержит запрещенные символы",
|
||||
"0uoY11": "Показать статус",
|
||||
"0yO7wF": "{n} секунд",
|
||||
"1A7TZk": "Что такое Snort и как он работает?",
|
||||
"1Mo59U": "Вы уверены, что хотите удалить эту заметку из закладок?",
|
||||
"1R43+L": "Введите конфигурацию Nostr Wallet Connect",
|
||||
"1c4YST": "Подключен к: {node} 🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Отменить",
|
||||
"4IPzdn": "Основные разработчики",
|
||||
"4L2vUY": "Ваш новый NIP-05:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Дизлайк",
|
||||
"4Vmpt4": "Nostr Plebs является одним из первых сервисов NIP-05 и предлагает хорошую коллекцию доменов по приемлемым ценам",
|
||||
"4Z3t5i": "Использовать imgproxy для сжатия изображений",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Смотреть повтор",
|
||||
"65BmHb": "Не удалось загрузить изображение через {host}, нажмите здесь, чтобы загрузить напрямую",
|
||||
"6OSOXl": "Причина: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Получите адрес",
|
||||
"6bgpn+": "Не все клиенты поддерживают это, вы все равно можете получить некоторые запы, как если бы запределение не было настроено",
|
||||
"6ewQqw": "Лайки ({n})",
|
||||
"6uMqL1": "Не оплачено",
|
||||
"7+Domh": "Заметки",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Переключение аккаунтов",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Репосты ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Возможность трансляции на релей Snort с сохранением заметок в течение года",
|
||||
"BOUMjw": "Пользователь Nostr с именем {twitterUsername} на Twitter не найден",
|
||||
"BOr9z/": "Snort - это проект с открытым исходным кодом, созданный энтузиастами",
|
||||
"BWpuKl": "Обновить",
|
||||
"BcGMo+": "Заметки содержат текст; наиболее популярное применение этих заметок - передача сообщений \"подобно твиттеру\".",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Выход",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Не удалось загрузить инвойс",
|
||||
"CVWeJ6": "Популярные профили",
|
||||
"CmZ9ls": "{n} заглушен",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Переведено с {lang}",
|
||||
"D+KzKd": "Автоматически запать каждую загружаемую заметку",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Глобальная лента",
|
||||
"Ebl/B2": "Перевести на {lang}",
|
||||
"EcZF24": "Кастомные релеи",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Ключ",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "Купить",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Очистить кэш и перезагрузить",
|
||||
"HbefNb": "Открыть кошелек",
|
||||
"HhcAVH": "Вы не подписаны на этого человека, нажмите здесь, чтобы загрузить медиа из <i>{link}</i>, или обновите <a><i>ваши предпочтения</i></a> чтобы всегда загружать медиа от всех.",
|
||||
"IDjHJ6": "Спасибо, что выбрали Snort, пожалуйста, поддержите проект, если это возможно.",
|
||||
"IEwZvs": "Вы уверены, что хотите открепить эту заметку?",
|
||||
"IKKHqV": "Подписки",
|
||||
"INSqIz": "Имя пользователя в Twitter...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Пароль кошелька",
|
||||
"MRp6Ly": "Имя пользователя в Twitter",
|
||||
"MWTx65": "Страница по умолчанию",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Оплатить подписку",
|
||||
"MuVeKe": "Buy nostr address",
|
||||
"MzRYWH": "Покупка {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Подтвердить",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "У вас уже есть подписка этого типа, пожалуйста, обновите или оплатите ее.",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Запы",
|
||||
"OKhRC6": "Поделиться",
|
||||
"OLEm6z": "Неизвестная ошибка при логине",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "Ваша подписка все еще активна, продлить ее пока что невозможно",
|
||||
"ORGv1Q": "Создано",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Копировать JSON события",
|
||||
"P7FD0F": "Системный (по умолчанию)",
|
||||
"P7nJT9": "Всего сегодня (UTC): {amount} сат",
|
||||
"PCSt5T": "Настройки",
|
||||
"PLSbmL": "Ваша мнемоническая фраза",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Неизвестный заголовок файла: {name}",
|
||||
"Pe0ogR": "Скин",
|
||||
"PrsIg7": "Реакции будут отображаться на каждой странице; если реакции отключены, они не будут отображаться",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Подписка",
|
||||
"R81upa": "People you follow",
|
||||
"RDZVQL": "Проверить",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Срок действия истёк",
|
||||
"RfhLwC": "Автор: {author}",
|
||||
"RhDAoS": "Вы уверены, что хотите удалить {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Релеи",
|
||||
"Rs4kCE": "Закладка",
|
||||
"RwFaYs": "Сортировать",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "Обновить лайтнинг-адрес",
|
||||
"SP0+yi": "Приобрести подписку",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "New Chat",
|
||||
"UUPFlt": "Пользователи должны принять предупреждение, чтобы увидеть содержание вашей заметки.",
|
||||
"Up5U7K": "Блок",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Хм, не удается обнаружить менеджер Nostr-ключей.. Попробуйте перезагрузить страницу.",
|
||||
"VN0+Fz": "Баланс: {amount} сат",
|
||||
"VOjC1i": "Выберите каким сервисом Вы бы хотели пользоваться для загрузки медиа",
|
||||
"VR5eHw": "Публичный ключ (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} заглушено",
|
||||
"VnXp8Z": "Аватар",
|
||||
"VvaJst": "View Wallets",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Your default zap amount is {number} sats, example values are calculated from this.",
|
||||
"XrSk2j": "Получить",
|
||||
"XzF0aC": "Расширения для менеджера ключей более безопасны и позволяют легко войти в любой клиент Nostr, вот некоторые доступные расширения:",
|
||||
"Y31HTH": "Помогите поддержать развитие Snort",
|
||||
"YDURw6": "URL-адрес сервиса",
|
||||
"YXA3AH": "Включить реакции",
|
||||
"Z0FDj+": "Подпишитесь на Snort {plan} за {price} и получите следующие возможности",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Активировать",
|
||||
"ZLmyG9": "Сделали вклад",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Настроить профиль",
|
||||
"a5UPxh": "Поддержать разработчиков и платформы, предоставляющие услуги NIP-05",
|
||||
"a7TDNm": "Notes will stream in real time into global and notes tab",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "Выберите имя пользователя",
|
||||
"bxv59V": "Только что",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Установить расширение",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "Если у Вас есть вопросы по поводу NIP-05, отправьте сообщение {link}",
|
||||
"c3g2hL": "Транслировать снова",
|
||||
"cFbU1B": "Using Alby? Go to {link} to get your NWC config!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "История",
|
||||
"d7d0/x": "Лайтнинг-адрес",
|
||||
"dOQCL8": "Отображаемое имя",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "В разработке",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "Отметить все как прочитанные",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "A single zap of {nIn} sats will allocate {nOut} sats to the zap pool.",
|
||||
"eXT2QQ": "Group Chat",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Не удается проголосовать, потому что Ваш LNURL-провайдер не поддерживает запы",
|
||||
"fWZYP5": "Закреплённые",
|
||||
"filwqD": "Прочитано",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "О себе",
|
||||
"g985Wp": "Не удалось проголосовать",
|
||||
"gBdUXk": "Сохраните ключи!",
|
||||
"gDZkld": "Snort - это пользовательский интерфейс Nostr; Nostr - децентрализованный протокол для сохранения и распространения \"заметок\".",
|
||||
"gDzDRs": "Эмодзи реакции на заметки",
|
||||
"gXgY3+": "Пока поддерживается не всеми клиентами",
|
||||
"gczcC5": "Подписаться",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Профиль",
|
||||
"izWS4J": "Отписаться",
|
||||
"jA3OE/": "{n,plural,=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "Предпросмотр на Snort",
|
||||
"jMzO1S": "Ошибка: {msg}",
|
||||
"jfV8Wr": "Назад",
|
||||
"juhqvW": "Улучшить безопасность входа с помощью расширений браузера",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Реакции",
|
||||
"k2veDA": "Написать",
|
||||
"k7sKNy": "Наша собственная служба верификации NIP-05; помогите поддержать развитие этого сайта и получите блестящий специальный значок на нашем сайте!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} reposted} other{{name} & {n} others reposted}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "сейчас",
|
||||
"kuPHYE": "{n,plural,=0{{name} liked} other{{name} & {n} others liked}}",
|
||||
"l+ikU1": "Все возможности {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Заплатить",
|
||||
"lPWASz": "Nostr-адрес от Snort",
|
||||
"lTbT3s": "Пароль кошелька",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "страница аккаунта",
|
||||
"ll3xBp": "Прокси-сервис для изображений",
|
||||
"lnaT9F": "Подписан(а) на {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Поделись своими мыслями с {link}",
|
||||
"nOaArs": "Настроить профиль",
|
||||
"nWQFic": "Обновить",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Мы высоко ценим твои пожертвования",
|
||||
"nwZXeh": "{n} заблокировано",
|
||||
"o6Uy3d": "Только приватный ключ может быть использован для публикации (подписи событий), остальные варианты регистрируют Вас исключительно в режиме наблюдателя.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} дней",
|
||||
"rrfdTe": "Это та же технология, которая используется Биткоином и доказала свою исключительную безопасность.",
|
||||
"rudscU": "Не удалось загрузить подписки, повторите попытку позже",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "Snort разработан таким образом, чтобы работать аналогично Twitter.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "Присвоение имен и выдача себя за других пользователей не допускается. Snort и наши партнеры оставляют за собой право удалить Вашу учетную запись (не аккаунт - его никто не может отнять) за нарушение этого правила.",
|
||||
"tOdNiY": "Тёмная",
|
||||
"th5lxp": "Отправить заметку на подмножество Ваших пишущих релеев",
|
||||
"thnRpU": "Получение подтверждения NIP-05 может помочь:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Язык",
|
||||
"yCLnBC": "LNURL или Лайтнинг-адрес",
|
||||
"yCmnnm": "Читать глобальную ленту с",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "Связь",
|
||||
"zINlao": "Владелец",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "namnet har otillåtna tecken",
|
||||
"0uoY11": "Visa status",
|
||||
"0yO7wF": "{n} secs",
|
||||
"1A7TZk": "Vad är Snort och hur fungerar det?",
|
||||
"1Mo59U": "Är du säker på att du vill ta bort den här anteckningen från bokmärken?",
|
||||
"1R43+L": "Skriv in Nostr Wallet Connect konfiguration",
|
||||
"1c4YST": "Ansluten till: {node}🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Avbryt",
|
||||
"4IPzdn": "Primära Utvecklare",
|
||||
"4L2vUY": "Din nya NIP-05 är:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Ogilla",
|
||||
"4Vmpt4": "Nostr Plebs är en av de första NIP-05 leverantörerna och erbjuder en bra samling domäner till rimliga priser",
|
||||
"4Z3t5i": "Använd imgproxy för att komprimera bilder",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Titta på repris",
|
||||
"65BmHb": "Det gick inte att proxybilden från {host}, klicka här för att ladda direkt",
|
||||
"6OSOXl": "Anledning: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Skaffa en identifierare",
|
||||
"6bgpn+": "Inte alla klienter stöder detta, kan du fortfarande få några zaps som om zap delning inte konfigurerades",
|
||||
"6ewQqw": "Gillar ({n})",
|
||||
"6uMqL1": "Obetald",
|
||||
"7+Domh": "Anteckningar",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Konto växlare",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Delningar ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Skriv åtkomst till Snort relä med 1 års lagring av event",
|
||||
"BOUMjw": "Inga nostr användare hittades för {twitterUsername}",
|
||||
"BOr9z/": "Snort är ett projekt med öppen källkod byggt av passionerade människor på deras fritid",
|
||||
"BWpuKl": "Uppdatera",
|
||||
"BcGMo+": "Anteckningar håller textinnehåll, den mest populära användningen av dessa anteckningar är att lagra \"tweet like\" meddelanden.",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning donation",
|
||||
"C5xzTC": "Premium",
|
||||
"C81/uG": "Logga ut",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Det gick inte att ladda fakturan",
|
||||
"CVWeJ6": "Trendande personer",
|
||||
"CmZ9ls": "{n} tystad",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Översatt från {lang}",
|
||||
"D+KzKd": "Zappa automatiskt varje anteckning när den är laddad",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Global",
|
||||
"Ebl/B2": "Översätt till {lang}",
|
||||
"EcZF24": "Anpassade reläer",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Nyckel",
|
||||
"EjFyoR": "Donationsadress för On-chain",
|
||||
"EnCOBJ": "Köpa",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Rensa cache och ladda om",
|
||||
"HbefNb": "Öppna plånbok",
|
||||
"HhcAVH": "Du följer inte denna person, klicka här för att ladda media från <i>{link}</i>, eller uppdatera <a><i>dina inställningar</i></a> för att alltid ladda media från alla.",
|
||||
"IDjHJ6": "Tack för att du använder Snort, vänligen överväg att donera om du kan.",
|
||||
"IEwZvs": "Är du säker på att du vill ta bort denna anteckningen?",
|
||||
"IKKHqV": "Följer",
|
||||
"INSqIz": "Twitter-användarnamn...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Plånbokens lösenord",
|
||||
"MRp6Ly": "Twitter-användarnamn",
|
||||
"MWTx65": "Förvald Sida",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Betala för prenumeration",
|
||||
"MuVeKe": "Köp nostr adress",
|
||||
"MzRYWH": "Köper {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Bekräfta",
|
||||
"NAidKb": "Notifikationer",
|
||||
"NAuFNH": "Du har redan en prenumeration av den här typen, vänligen förnya eller betala",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zaps",
|
||||
"OKhRC6": "Dela",
|
||||
"OLEm6z": "Okänt inloggningsfel",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "Din prenumeration är fortfarande aktiv, du kan inte förnya ännu",
|
||||
"ORGv1Q": "Skapad",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Kopiera händelse JSON",
|
||||
"P7FD0F": "System (standard)",
|
||||
"P7nJT9": "Totalt idag (UTC): {amount} sats",
|
||||
"PCSt5T": "Inställningar",
|
||||
"PLSbmL": "Din mnemoniska lösenfras",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Okänd filrubrik: {name}",
|
||||
"Pe0ogR": "Tema",
|
||||
"PrsIg7": "Reaktioner kommer att visas på varje sida om inga reaktioner inaktiveras",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Prenumeration",
|
||||
"R81upa": "Personer du följer",
|
||||
"RDZVQL": "Kontrollera",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Förfallen",
|
||||
"RfhLwC": "Av: {author}",
|
||||
"RhDAoS": "Är du säker på att du vill radera {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Reläer",
|
||||
"Rs4kCE": "Bokmärke",
|
||||
"RwFaYs": "Sortera",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Skicka zap till {name}",
|
||||
"SOqbe9": "Uppdatera Lightning-adress",
|
||||
"SP0+yi": "Köp Prenumeration",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "Ny chatt",
|
||||
"UUPFlt": "Användare måste acceptera innehållsvarningen för att visa innehållet i din anteckning.",
|
||||
"Up5U7K": "Blockera",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, kan inte hitta ett Key Manager tillägg.. prova att ladda om sidan.",
|
||||
"VN0+Fz": "Saldo: {amount} sats",
|
||||
"VOjC1i": "Välj vilken uppladdningstjänst du vill ladda upp bilagor till",
|
||||
"VR5eHw": "Publik nyckel (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} tystad",
|
||||
"VnXp8Z": "Avatar",
|
||||
"VvaJst": "Visa plånböcker",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Ditt förvalda zap-belopp är {number} sats, exempelvärden beräknas utifrån detta.",
|
||||
"XrSk2j": "Lös in",
|
||||
"XzF0aC": "Key manager tillägg är säkrare och låter dig enkelt logga in till någon Nostr klient, här är några välkända tillägg:",
|
||||
"Y31HTH": "Hjälp till att finansiera utvecklingen av Snort",
|
||||
"YDURw6": "Service URL",
|
||||
"YXA3AH": "Aktivera reaktioner",
|
||||
"Z0FDj+": "Prenumerera på Snort {plan} för {price} och få följande belöningar",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Aktivera nu",
|
||||
"ZLmyG9": "Bidragsgivare",
|
||||
"ZS+jRE": "Skicka zap-delning till",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Profilinställning",
|
||||
"a5UPxh": "Finansiera utvecklare och plattformar som tillhandahåller NIP-05 verifieringstjänster",
|
||||
"a7TDNm": "Anteckningar kommer att strömmas i realtid in i global och antecknings fliken",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "Välj ett användarnamn",
|
||||
"bxv59V": "Just nu",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Installera Tillägg",
|
||||
"c2DTVd": "Ange en pin för att kryptera din privata nyckel, du måste ange denna pin varje gång du öppnar Snort.",
|
||||
"c35bj2": "Om du har en förfrågan om din NIP-05 beställning, vänligen DM {link}",
|
||||
"c3g2hL": "Sänd igen",
|
||||
"cFbU1B": "Använder du Alby? Gå till {link} för att få din NWC konfiguration!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "Historik",
|
||||
"d7d0/x": "LN Adress",
|
||||
"dOQCL8": "Visnings namn",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Kommer snart",
|
||||
"e7VmYP": "Ange pin för att låsa upp din privata nyckel",
|
||||
"e7qqly": "Markera alla som lästa",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "En enda zap med {nIn} sats kommer att fördela {nOut} sats till zappoolen.",
|
||||
"eXT2QQ": "Gruppchatt",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Kan inte rösta eftersom LNURL-tjänsten inte stöder zaps",
|
||||
"fWZYP5": "Fastnålad",
|
||||
"filwqD": "Läs",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "Om",
|
||||
"g985Wp": "Misslyckades att skicka röst",
|
||||
"gBdUXk": "Spara dina nycklar!",
|
||||
"gDZkld": "Snort är ett Nostr UI, nostr är ett decentraliserat protokoll för att spara och distribuera \"anteckningar\".",
|
||||
"gDzDRs": "Emoji att skicka när reagerar på en anteckning",
|
||||
"gXgY3+": "Alla klienter stöder inte detta ännu",
|
||||
"gczcC5": "Prenumerera",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Profil",
|
||||
"izWS4J": "Sluta följ",
|
||||
"jA3OE/": "{n,plural,=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "Förhandsgranska på snort",
|
||||
"jMzO1S": "Internt fel: {msg}",
|
||||
"jfV8Wr": "Tillbaka",
|
||||
"juhqvW": "Förbättra inloggningssäkerheten med webbläsartillägg",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reaktioner",
|
||||
"k2veDA": "Skriv",
|
||||
"k7sKNy": "Vår alldeles egna NIP-05 verifieringstjänst, hjälpa till att stödja utvecklingen av denna webbplats och få ett glänsande speciellt märke på vår webbplats!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,one {}=0{{name} delade} other{{name} & {n} andra delade}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "nu",
|
||||
"kuPHYE": "{n,plural,one {}=0{{name} gillade} other{{name} & {n} andra gillade}}",
|
||||
"l+ikU1": "Allting i {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Betala",
|
||||
"lPWASz": "Snort nostr adress",
|
||||
"lTbT3s": "Plånbokens lösenord",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "konto sida",
|
||||
"ll3xBp": "Bild proxy tjänst",
|
||||
"lnaT9F": "Följer {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Dela dina tankar med {link}",
|
||||
"nOaArs": "Ställ in Profil",
|
||||
"nWQFic": "Förnya",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Era donationer är mycket uppskattade",
|
||||
"nwZXeh": "{n} blockerad",
|
||||
"o6Uy3d": "Endast den hemliga nyckeln kan användas för att publicera (signeringshändelser), allt annat loggar in dig i bara-läsa läge.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} dagar",
|
||||
"rrfdTe": "Detta är samma teknik som används av Bitcoin och har visat sig vara extremt säker.",
|
||||
"rudscU": "Det gick inte att ladda följande, försök igen senare",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Visa emblem",
|
||||
"sUNhQE": "användare",
|
||||
"sWnYKw": "Snort är utformat för att ha en liknande upplevelse som Twitter.",
|
||||
"sZQzjQ": "Misslyckades att tolka zapsplit: {input}",
|
||||
"svOoEH": "Namnslåss och personifiering är inte tillåtet. Snort och våra partners förbehåller sig rätten att avsluta ditt handle (inte ditt konto - ingen kan ta bort det) för att du bryter mot denna regel.",
|
||||
"tOdNiY": "Mörkt",
|
||||
"th5lxp": "Skicka anteckning till en delmängd av dina skrivreläer",
|
||||
"thnRpU": "Att få NIP-05 verifierat kan hjälpa:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Språk",
|
||||
"yCLnBC": "LNURL or Lightning Adress",
|
||||
"yCmnnm": "Läs global från",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Vikt",
|
||||
"zFegDD": "Kontakt",
|
||||
"zINlao": "Ägare",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "jina limekataza herufi",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} sekundi",
|
||||
"1A7TZk": "Snort ni nini, na inafanya kazi vipi?",
|
||||
"1Mo59U": "Je, una uhakika unataka kuondoa dokezo hili kutoka kwa vialamisho?",
|
||||
"1R43+L": "Ingiza usanidi wa Nostr Wallet Connect",
|
||||
"1c4YST": "Imeunganishwa kwa: {node} 🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "Ghairi",
|
||||
"4IPzdn": "Wasanidi wa Msingi",
|
||||
"4L2vUY": "NIP-05 yako mpya ni:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "Kutopenda",
|
||||
"4Vmpt4": "Nostr Plebs ni mmoja wa watoa huduma wa kwanza wa NIP-05 kwenye nafasi na inatoa mkusanyiko mzuri wa vikoa kwa bei nzuri",
|
||||
"4Z3t5i": "Tumia imgproxy kubana picha",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "Imeshindwa kuweka picha ya seva mbadala kutoka kwa {host}, bofya hapa ili kupakia moja kwa moja",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "Pata kitambulisho",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "Vipendwa ({n})",
|
||||
"6uMqL1": "Haijalipwa",
|
||||
"7+Domh": "Noti",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "Kibadilisha Akaunti",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "Machapisho upya ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Andika ufikiaji wa upeanaji wa Snort, ukiwa na mwaka 1 wa uhifadhi wa tukio",
|
||||
"BOUMjw": "Hakuna watumiaji wa nostr waliopatikana wa {twitterUsername}",
|
||||
"BOr9z/": "Snort ni mradi wa chanzo huria uliojengwa na watu wenye shauku katika wakati wao wa bure",
|
||||
"BWpuKl": "Sasisha",
|
||||
"BcGMo+": "Vidokezo vinashikilia maudhui ya maandishi, matumizi maarufu zaidi ya madokezo haya ni kuhifadhi ujumbe wa \"tweet like\".",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "Premiumu",
|
||||
"C81/uG": "Toka nje",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "Imeshindwa kupakia ankara",
|
||||
"CVWeJ6": "Watu Wanaovuma",
|
||||
"CmZ9ls": "{n} Imenyamazishwa",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "Imetafsiriwa kutoka {lang}",
|
||||
"D+KzKd": "Zap kila noti kiotomatiki inapopakiwa",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Ulimwenguni",
|
||||
"Ebl/B2": "Tafsiri hadi {lang}",
|
||||
"EcZF24": "Reli maalum",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Funguo",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "Nunua",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Futa akiba na upakie upya",
|
||||
"HbefNb": "Fungua Pochi",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "Asante kwa kutumia Snort, tafadhali zingatia kuchangia ukiweza.",
|
||||
"IEwZvs": "Je, una uhakika unataka kubandua kidokezo hiki?",
|
||||
"IKKHqV": "Anafuata",
|
||||
"INSqIz": "Jina la mtumiaji la Twitter...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "Nenosiri la Pochi",
|
||||
"MRp6Ly": "Jina la mtumiaji la Twitter",
|
||||
"MWTx65": "Ukurasa Chaguomsingi",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "Lipia usajili",
|
||||
"MuVeKe": "Nunua anwani ya nostr",
|
||||
"MzRYWH": "Unanunua {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "Thibitisha",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "Tayari una usajili wa aina hii, tafadhali usasishe au ulipe",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zaps",
|
||||
"OKhRC6": "Shiriki",
|
||||
"OLEm6z": "Hitilafu isiyojulikana ya kuingia",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "Usajili wako bado unatumika, bado huwezi kusasisha",
|
||||
"ORGv1Q": "Imeundwa",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "Nakili Tukio JSON",
|
||||
"P7FD0F": "Mfumo (Chaguo-msingi)",
|
||||
"P7nJT9": "Jumla ya leo (UTC): {amount} sats",
|
||||
"PCSt5T": "Preferences",
|
||||
"PLSbmL": "Maneno yako ya mnemonic",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "Kijajuu cha faili kisichojulikana: {name}",
|
||||
"Pe0ogR": "Mandhari",
|
||||
"PrsIg7": "Maoni yataonyeshwa kwenye kila ukurasa, ikiwa imezimwa hakuna maoni yataonyeshwa",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "Usajili",
|
||||
"R81upa": "Watu unaowafuata",
|
||||
"RDZVQL": "Angalia",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "Muda wake umeisha",
|
||||
"RfhLwC": "Na: {author}",
|
||||
"RhDAoS": "Je, una uhakika unataka kufuta {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "Relays",
|
||||
"Rs4kCE": "Alamisho",
|
||||
"RwFaYs": "Panga",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "Sasisha Anwani ya Umeme",
|
||||
"SP0+yi": "Nunua Usajili",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "Gumzo Mpya",
|
||||
"UUPFlt": "Watumiaji lazima wakubali onyo la maudhui ili kuonyesha maudhui ya dokezo lako.",
|
||||
"Up5U7K": "Zuia",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "Hmm, haiwezi kupata kiendelezi kikuu cha kidhibiti.. jaribu kupakia upya ukurasa.",
|
||||
"VN0+Fz": "Salio: {amount} sats",
|
||||
"VOjC1i": "Chagua ni huduma gani ya upakiaji ungependa kupakia viambatisho",
|
||||
"VR5eHw": "Ufunguo wa umma (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} imenyamazishwa",
|
||||
"VnXp8Z": "Picha",
|
||||
"VvaJst": "Tazama Pochi",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Kiasi chako chaguomsingi cha zap ni {number} sats, thamani za mfano zinakokotolewa kutoka hii.",
|
||||
"XrSk2j": "Komboa",
|
||||
"XzF0aC": "Viendelezi vya kidhibiti muhimu ni salama zaidi na hukuruhusu kuingia kwa urahisi kwa mteja yeyote wa Nostr, hapa kuna viendelezi vinavyojulikana sana:",
|
||||
"Y31HTH": "Saidia kufadhili maendeleo ya Snort",
|
||||
"YDURw6": "URL ya huduma",
|
||||
"YXA3AH": "Washa maitikio",
|
||||
"Z0FDj+": "Jisajili kwenye Snort {plan} kwa {price} na upokee zawadi zifuatazo",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "Washa Sasa",
|
||||
"ZLmyG9": "Wachangiaji",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Sanidi wasifu",
|
||||
"a5UPxh": "Wasanidi wa mfuko na mifumo inayotoa huduma za uthibitishaji wa NIP-05",
|
||||
"a7TDNm": "Vidokezo vitatiririka katika muda halisi hadi kwenye kichupo cha madokezo cha kimataifa",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Hajulikan",
|
||||
"brAXSu": "Chagua jina la mtumiaji",
|
||||
"bxv59V": "Sasa hivi",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "Sakinisha Kiendelezi",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "Ikiwa una swali kuhusu agizo lako la NIP-05 tafadhali DM {link}",
|
||||
"c3g2hL": "Tangaza Tena",
|
||||
"cFbU1B": "Unatumia Alby? Nenda kwenye {link} ili upate usanidi wako wa NWC!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "Historia",
|
||||
"d7d0/x": "Anwani ya LN",
|
||||
"dOQCL8": "Jina la kuonyesha",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "Inakuja hivi karibuni",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "Weka Alama Yote Yamesomwa",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "Zap moja ya {nIn} sats itatenga {nOut} sats kwenye bwawa la zap.",
|
||||
"eXT2QQ": "Gumzo la Kikundi",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "Haiwezi kupiga kura kwa sababu huduma ya LNURL haitumii zaps",
|
||||
"fWZYP5": "Imebandikwa",
|
||||
"filwqD": "Soma",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "Kuhusu",
|
||||
"g985Wp": "Imeshindwa kutuma kura",
|
||||
"gBdUXk": "Hifadhi funguo zako!",
|
||||
"gDZkld": "Snort ni Nostr UI, nostr ni itifaki iliyogatuliwa ya kuhifadhi na kusambaza \"noti\".",
|
||||
"gDzDRs": "Emoji za kutuma unapojibu ujumbe kwa dokezo",
|
||||
"gXgY3+": "Sio wateja wote wanaounga mkono hii bado",
|
||||
"gczcC5": "Jisajili",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "Wasifu",
|
||||
"izWS4J": "Acha kufuata",
|
||||
"jA3OE/": "{n,plural,one {}=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "Hakiki kwenye mkoromo",
|
||||
"jMzO1S": "Hitilafu ya ndani: {msg}",
|
||||
"jfV8Wr": "Rudi",
|
||||
"juhqvW": "Boresha usalama wa kuingia kwa kutumia viendelezi vya kivinjari",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Maoni",
|
||||
"k2veDA": "Andika",
|
||||
"k7sKNy": "Huduma yetu wenyewe ya uthibitishaji wa NIP-05, inasaidia kusaidia uundaji wa tovuti hii na kupata beji maalum inayong'aa kwenye tovuti yetu!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,one {}=0{{name} alireposted} other{{name} & {n} na wengine wkarepost}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "sasa hivi",
|
||||
"kuPHYE": "{n,plural,one {}=0{{name} amependa} other{{name} & {n} na wengine wamependa}}",
|
||||
"l+ikU1": "Kila kitu katika {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "Lipa",
|
||||
"lPWASz": "Anwani ya nostr ya Snort",
|
||||
"lTbT3s": "Nenosiri la Wallet",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "ukurasa wa akaunti",
|
||||
"ll3xBp": "Huduma ya wakala wa picha",
|
||||
"lnaT9F": "Unafuata {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "Shiriki mawazo yako na {link}",
|
||||
"nOaArs": "Sanidi Wasifu",
|
||||
"nWQFic": "Tengeneza upya",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "Michango yako inathaminiwa sana",
|
||||
"nwZXeh": "{n} amezuiwa",
|
||||
"o6Uy3d": "Ufunguo wa siri pekee ndio unaweza kutumika kuchapisha (kutia saini matukio), kila kitu kingine hukuweka katika hali ya kusoma tu.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "siku {n}",
|
||||
"rrfdTe": "Hii ni teknolojia sawa ambayo hutumiwa na Bitcoin na imethibitishwa kuwa salama sana.",
|
||||
"rudscU": "Imeshindwa kupakia wafuasi, tafadhali jaribu tena baadaye",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "mtumiaji",
|
||||
"sWnYKw": "Snort imeundwa ili kuwa na matumizi sawa na Twitter.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "Kuchuchumaa majina na uigaji hakuruhusiwi. Koroma na washirika wetu wana haki ya kusitisha mpini wako (sio akaunti yako - hakuna mtu anayeweza kuuondoa) kwa kukiuka sheria hii.",
|
||||
"tOdNiY": "Giza",
|
||||
"th5lxp": "Tuma dokezo kwa kikundi kidogo cha relay zako za uandishi",
|
||||
"thnRpU": "Kuthibitishwa kwa NIP-05 kunaweza kusaidia:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "Lugha",
|
||||
"yCLnBC": "LNURL au Anwani ya Umeme",
|
||||
"yCmnnm": "Soma kimataifa kutoka",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "Wasiliana",
|
||||
"zINlao": "Mmiliki",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "பெயர் அங்கீகரிக்கப்படாத எழுத்துக்களைக் கொண்டுள்ளது",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} வினாடிகள்",
|
||||
"1A7TZk": "ஸ்நார்ட் என்றால் என்ன? அது எவ்வாறு வேலை செய்கிறது?",
|
||||
"1Mo59U": "இந்தக் குறிப்பைப் புக்மார்க்குகளிலிருந்து அகற்ற நிச்சயமாக விரும்புகிறீர்களா?",
|
||||
"1R43+L": "Enter Nostr Wallet Connect config",
|
||||
"1c4YST": "{node} உடன் இணைக்கப் பட்டது 🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "ரத்துசெய்",
|
||||
"4IPzdn": "முதன்மை உருவாக்கி",
|
||||
"4L2vUY": "உங்களது புதிய NIP-05 கணக்கு:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "விருப்பமில்லை",
|
||||
"4Vmpt4": "Nostr Plebs முதல் NIP-05 வழங்குநர்களில் ஒன்றாகும். மேலும், இது நியாயமான விலையில் டொமைன்களின் நல்ல தொகுப்பை வழங்குகிறது",
|
||||
"4Z3t5i": "படங்களை சுருக்க imgproxy உபயோகிக்கவும்",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "Failed to proxy image from {host}, click here to load directly",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "ஒரு அடையாளங்காட்டியைப் பெறுங்கள்",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "விருப்பங்கள் ({n})",
|
||||
"6uMqL1": "கட்டணம் செலுத்தப்படாத",
|
||||
"7+Domh": "குறிப்புகள்",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "கணக்கு மாற்றி",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "மறுபதிவுகள் ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "1 வருட நிகழ்வு தக்கவைப்புடன், ஸ்நார்ட் ரிலேக்கான எழுதும் உரிமை",
|
||||
"BOUMjw": "{twitterUsername} க்கு எந்த நாஸ்டர் பயனர்களும் கிடைக்கவில்லை",
|
||||
"BOr9z/": "ஸ்நோர்ட் என்பது ஆர்வமுள்ள மக்கள் தங்கள் ஓய்வு நேரத்தில் உருவாக்கிய திறந்த மூல திட்டம் ஆகும்",
|
||||
"BWpuKl": "புதுப்பி",
|
||||
"BcGMo+": "குறிப்புகள் உரை உள்ளடக்கத்தை வைத்திருக்கின்றன. இவற்றின் மிகவும் பிரபலமான பயன்பாடு \"ட்வீட் போன்ற\" செய்திகளைச் சேமிப்பதாகும்.",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "உயர்தர",
|
||||
"C81/uG": "வெளியேறு",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "விலைப்பட்டியலை பெற முடியவில்லை",
|
||||
"CVWeJ6": "Trending People",
|
||||
"CmZ9ls": "{n} ஒலியடக்கப்பட்டவை",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "{lang} இல் இருந்து மொழிபெயர்க்கப் பட்டது",
|
||||
"D+KzKd": "கிடைக்கும் ஒவ்வொரு குறிப்புகளையும் தானாக ஜாப் செய்யவும்",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "முழுதளாவிய",
|
||||
"Ebl/B2": "{lang} இற்கு மொழிபெயர்க்கவும்",
|
||||
"EcZF24": "Custom Relays",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "சாவி",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "வாங்கு",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "Clear cache and reload",
|
||||
"HbefNb": "திறந்த பணப்பை",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "ஸ்நார்ட் ஐப் பயன்படுத்தியதற்கு நன்றி, உங்களால் முடிந்தால் நன்கொடை அளிப்பதைக் கருத்தில் கொள்ளவும்.",
|
||||
"IEwZvs": "இந்தக் குறிப்பின் நிலையான பொறுத்தத்தை நிச்சயமாக நீக்க விரும்புகிறீர்களா?",
|
||||
"IKKHqV": "பின்தொடர்வுகள்",
|
||||
"INSqIz": "டுவிட்டர் பயனர்பெயர்...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "பணப்பை கடவுச்சொல்",
|
||||
"MRp6Ly": "ட்விட்டர் பயனர் பெயர்",
|
||||
"MWTx65": "இயல்புநிலை பக்கம்",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "சந்தாவுக்கு பணம் செலுத்துங்கள்",
|
||||
"MuVeKe": "Buy nostr address",
|
||||
"MzRYWH": "{item} வாங்கப் படுகிறது",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "உறுதிசெய்",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "உங்களிடம் ஏற்கனவே இந்த வகை சந்தா உள்ளது, புதுப்பிக்கவும் அல்லது பணம் செலுத்தவும்",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "ஜாப்கள்",
|
||||
"OKhRC6": "பகிர்",
|
||||
"OLEm6z": "அறியப்படாத உள்நுழைவு பிழை",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "உங்கள் சந்தா இன்னும் செயலில் உள்ளது, உங்களால் இன்னும் புதுப்பிக்க முடியாது",
|
||||
"ORGv1Q": "உருவாக்கியது",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "நிகழ்வு JSONஐ நகலெடு",
|
||||
"P7FD0F": "கணினி (இயல்புநிலை)",
|
||||
"P7nJT9": "இன்றைய (UTC) மொத்தம்: {amount} சாட்கள்",
|
||||
"PCSt5T": "விருப்பங்கள்",
|
||||
"PLSbmL": "உங்கள் நினைவூட்டும் சொற்றொடர்",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "தெரியாத கோப்புத் தலைப்பு: {name}",
|
||||
"Pe0ogR": "வண்ண அமைப்பு",
|
||||
"PrsIg7": "ஒவ்வொரு பக்கத்திலும் எதிர்வினைகள் காண்பிக்கப்படும், முடக்கப்பட்டிருந்தால் எந்த எதிர்வினைகளும் காட்டப்படாது",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "சந்தா",
|
||||
"R81upa": "நீங்கள் பின்தொடர்வோர்",
|
||||
"RDZVQL": "சோதிக்கவும்",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "காலாவதியாகிவிட்டது",
|
||||
"RfhLwC": "எழுதியவர்: {author}",
|
||||
"RhDAoS": "{id} ஐ நிச்சயமாக நீக்க விரும்புகிறீர்களா",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "ரிலேகள்",
|
||||
"Rs4kCE": "புக்மார்க்",
|
||||
"RwFaYs": "வரிசைப்படுத்துக",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "லைட்னிங் முகவரியை உள்ளிடவும்",
|
||||
"SP0+yi": "Buy Subscription",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "New Chat",
|
||||
"UUPFlt": "உங்கள் குறிப்பின் உள்ளடக்கத்தைக் காட்ட, உள்ளடக்க எச்சரிக்கையைப் பயனர்கள் ஏற்க வேண்டும்.",
|
||||
"Up5U7K": "முடக்கு",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "ஹ்ம்ம், சாவி நிர்வாகி நீட்டிப்பைக் கண்டுபிடிக்க முடியவில்லை. பக்கத்தை மீண்டும் ஏற்ற முயற்சிக்கவும்.",
|
||||
"VN0+Fz": "இருப்பு: {amount} ஸாட்கள்",
|
||||
"VOjC1i": "எந்தப் பதிவேற்ற சேவையில் இணைப்புகளைப் பதிவேற்ற விரும்புகிறீர்கள் என்பதைத் தேர்ந்தெடுக்கவும்",
|
||||
"VR5eHw": "பொது சாவி (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} ஒலியடக்கப்பட்டவை",
|
||||
"VnXp8Z": "சுயவிவர படம்",
|
||||
"VvaJst": "View Wallets",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "Your default zap amount is {number} sats, example values are calculated from this.",
|
||||
"XrSk2j": "Redeem",
|
||||
"XzF0aC": "127 / 5,000\nசாவி மேலாளர் நீட்டிப்புகள் மிகவும் பாதுகாப்பானவை மற்றும் எந்த நாஸ்டர் கிளையண்டிலும் எளிதாக உள்நுழைய உங்களை அனுமதிக்கின்றன. இங்கே சில நன்கு அறியப்பட்ட நீட்டிப்புகள் உள்ளன:",
|
||||
"Y31HTH": "ஸ்நார்ட் இன் வளர்ச்சிக்கு நிதி உதவி செய்யுங்கள்",
|
||||
"YDURw6": "சேவை URL",
|
||||
"YXA3AH": "எதிர்வினைகளை அனுமதி",
|
||||
"Z0FDj+": "ஸ்நார்ட் {plan} இல் {price} க்கு குழுசேர்ந்து பின்வரும் வெகுமதிகளைப் பெறுங்கள்",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "இப்போது செயல்படுத்துக",
|
||||
"ZLmyG9": "பங்களிப்பாளர்கள்",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "Setup profile",
|
||||
"a5UPxh": "NIP-05 சரிபார்ப்பு சேவைகளை வழங்கும் டெவலப்பர்கள் மற்றும் தளங்களுக்கு நிதி உதவி செய்யுங்கள்",
|
||||
"a7TDNm": "Notes will stream in real time into global and notes tab",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "ஒரு பயனர்பெயரைத் தேர்ந்தெடுக்கவும்",
|
||||
"bxv59V": "இப்போது",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "நீட்டிப்பை நிறுவவும்",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "உங்களின் NIP-05 ஆர்டரைப் பற்றி விசாரணை இருந்தால், {link} க்கு DM செய்யவும்",
|
||||
"c3g2hL": "Broadcast Again",
|
||||
"cFbU1B": "Using Alby? Go to {link} to get your NWC config!",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "வரலாறு",
|
||||
"d7d0/x": "LN முகவரி",
|
||||
"dOQCL8": "காட்சி பெயர்",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "விரைவில் வருகிறது",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "அனைத்தையும் படித்ததாகக் குறிக்கவும்",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "A single zap of {nIn} sats will allocate {nOut} sats to the zap pool.",
|
||||
"eXT2QQ": "குழு அரட்டை",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "LNURL சேவை ஜாப்களை ஆதரிக்காததால் வாக்களிக்க இயலாது",
|
||||
"fWZYP5": "நிலையாகப் பொருத்தப் பட்டவை",
|
||||
"filwqD": "படி",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "தகவல்",
|
||||
"g985Wp": "வாக்கை அனுப்ப முடியவில்லை",
|
||||
"gBdUXk": "உங்கள் விசைகளை சேமிக்கவும்!",
|
||||
"gDZkld": "ஸ்நார்ட் என்பது ஒரு நாஸ்டர் பயனர் இடைமுகம், நாஸ்டர் என்பது \"குறிப்புகளை\" சேமித்து விநியோகிப்பதற்கான பரவலாக்கப்பட்ட நெறிமுறையாகும்.",
|
||||
"gDzDRs": "குறிப்புக்கு எதிர்வினையாற்றும்போது அனுப்ப வேண்டிய ஈமோஜி",
|
||||
"gXgY3+": "எல்லா நாஸ்டர் மென்பொருட்களும் இதை இன்னும் ஆதரிக்கவில்லை",
|
||||
"gczcC5": "சந்தா",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "சுயவிவரம்",
|
||||
"izWS4J": "பின்தொடர்வதை நிறுத்துக",
|
||||
"jA3OE/": "{n,plural,=1{{n} ஸாட்} other{{n} ஸாட்கள்}}",
|
||||
"jCA7Cw": "ஸ்நார்ட்டில் முன்னோட்டம் பார்க்கவும்",
|
||||
"jMzO1S": "உள் பிழை: {msg}",
|
||||
"jfV8Wr": "பின்",
|
||||
"juhqvW": "உலாவி நீட்டிப்புகளால் உள்நுழைவு பாதுகாப்பை மேம்படுத்தவும்",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} எதிர்வினைகள்",
|
||||
"k2veDA": "எழுது",
|
||||
"k7sKNy": "இது எங்களின் சொந்த NIP-05 சரிபார்ப்புச் சேவை. இந்தத் தளத்தின் வளர்ச்சிக்கு உதவுவதோடு, எங்கள் தளத்தில் பளபளப்பான சிறப்புப் பேட்ஜைப் பெறவும்!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} reposted} other{{name} & {n} others reposted}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "இப்போது",
|
||||
"kuPHYE": "{n,plural,=0{{name} liked} other{{name} & {n} others liked}}",
|
||||
"l+ikU1": "{plan} இல் உள்ள அனைத்தும்",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "பணம் செலுத்து",
|
||||
"lPWASz": "ஸ்நார்ட் நாஸ்டர் முகவரி",
|
||||
"lTbT3s": "பணப்பை கடவுச்சொல்",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "கணக்குப் பக்கம்",
|
||||
"ll3xBp": "பட பதிலீடு சேவை",
|
||||
"lnaT9F": "பின்தொடரப் படுவோர் {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "உங்கள் எண்ணங்களை {link} உடன் பகிரவும்",
|
||||
"nOaArs": "உங்கள் சுய விவரத்தை அமைக்கவும்",
|
||||
"nWQFic": "புதுப்பி",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "உங்கள் நன்கொடைகள் பெரிதும் பாராட்டப்படுகின்றன",
|
||||
"nwZXeh": "{n} முடக்கப்பட்டவை",
|
||||
"o6Uy3d": "இரகசிய சாவி மட்டுமே நிகழ்வுகளை அனுப்பப் பயன்படுத்த முடியும் (நிகழ்வுகளை கையொப்பமிடவும்), மற்ற அனைத்தும் உங்களை படிக்க மட்டும் அனுமதிக்கும்.",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} நாட்கள்",
|
||||
"rrfdTe": "பிட்காயினால் பயன்படுத்தப்படும் அதே தொழில்நுட்பம் இது மிகவும் பாதுகாப்பானது என்று நிரூபிக்கப்பட்டுள்ளது.",
|
||||
"rudscU": "பித்தொடர்வுகளை ஏற்றுவதில் தோல்வி, பிறகு முயற்சிக்கவும்",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "ட்விட்டரைப் போன்ற அனுபவத்தைப் பெறும் வகையில் ஸ்நார்ட் வடிவமைக்கப்பட்டுள்ளது.",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "பெயர் குந்துதல் மற்றும் ஆள்மாறாட்டம் அனுமதிக்கப்படாது. இந்த விதியை மீறியதற்காக உங்கள் பயனர் அடையாளத்தை(உங்கள் கணக்கு அல்ல - அதை யாரும் எடுத்துச் செல்ல முடியாது) துண்டிக்கும் உரிமையை ஸ்நார்ட் மற்றும் எங்கள் கூட்டாளர்களுக்கு உள்ளது.",
|
||||
"tOdNiY": "இருள்",
|
||||
"th5lxp": "Send note to a subset of your write relays",
|
||||
"thnRpU": "NIP-05 மூலம் சரிபார்த்துக் கொள்வது கீழ்க்கண்டவற்றில் உதவலாம்:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "மொழி",
|
||||
"yCLnBC": "LNURL அல்லது லைட்னிங் முகவரி",
|
||||
"yCmnnm": "முழுதளாவியதைப் படிக்கும் மூலம்",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "தொடர்பு",
|
||||
"zINlao": "உரிமையாளர்",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "ชื่อมีอักขระที่ไม่อนุญาตให้ใช้",
|
||||
"0uoY11": "Show Status",
|
||||
"0yO7wF": "{n} วินาที",
|
||||
"1A7TZk": "Snort คืออะไรและทำงานอย่างไร?",
|
||||
"1Mo59U": "คุณแน่ใจหรือว่าต้องการลบโน้ตนี้ออกจากบุ๊คมาร์ค?",
|
||||
"1R43+L": "ใส่ Nostr Wallet Connect config",
|
||||
"1c4YST": "เชื่อมต่อกับ: {node} 🎉",
|
||||
@ -51,6 +50,7 @@
|
||||
"47FYwb": "ยกเลิก",
|
||||
"4IPzdn": "นักพัฒนาหลัก",
|
||||
"4L2vUY": "NIP-05 ใหม่ของคุณคือ:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "ไม่ถูกใจ",
|
||||
"4Vmpt4": "Nostr Plebs เป็นหนึ่งในผู้ให้บริการ NIP-05 รายแรก ๆ ในพื้นที่นี้ และเสนอชุดโดเมนที่ดีในราคาที่สมเหตุสมผล",
|
||||
"4Z3t5i": "ใช้ imgproxy เพื่อบีบอัดรูปภาพ",
|
||||
@ -67,11 +67,13 @@
|
||||
"6/hB3S": "Watch Replay",
|
||||
"65BmHb": "อิมเมจพร็อกซีจาก {host} ไม่สำเร็จ คลิกที่นี่เพื่อโหลดโดยตรง",
|
||||
"6OSOXl": "Reason: <i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "รับ identifier",
|
||||
"6bgpn+": "Not all clients support this, you may still receive some zaps as if zap splits was not configured",
|
||||
"6ewQqw": "ถูกใจ ({n})",
|
||||
"6uMqL1": "ยังไม่ได้ชำระ",
|
||||
"7+Domh": "โน้ต",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "สลับบัญชี",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "รีโพสต์ ({n})",
|
||||
@ -104,9 +106,9 @@
|
||||
"B6H7eJ": "nsec, npub, nip-05, hex",
|
||||
"BGCM48": "Write ไปยัง Snort relay จะเก็บรักษา event ให้เป็นเวลา 1 ปี",
|
||||
"BOUMjw": "ไม่พบบัญชีผู้ใช้ nostr สำหรับ {twitterUsername}",
|
||||
"BOr9z/": "Snort เป็นโครงการโอเพนซอร์สที่สร้างขึ้นโดยผู้คนที่หลงใหลในเวลาว่างของพวกเขา",
|
||||
"BWpuKl": "อัปเดต",
|
||||
"BcGMo+": "ข้อความของโน๊ตต่าง ๆ ถูกใช้งานมากที่สุดในรูปแบบของข้อความเหมือนอย่าง \"tweet\"",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"C5xzTC": "พรีเมี่ยม",
|
||||
"C81/uG": "ออกจากระบบ",
|
||||
@ -114,6 +116,7 @@
|
||||
"CHTbO3": "ไม่สามารถโหลด invoice",
|
||||
"CVWeJ6": "บุตคลที่กำลังมาแรง",
|
||||
"CmZ9ls": "ปิดการมองเห็น {n} บัญชี",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} sats",
|
||||
"Cu/K85": "แปลจาก {lang}",
|
||||
"D+KzKd": "Zap ให้ทุกโน้ตที่โหลดโดยอัตโนมัติ",
|
||||
@ -131,6 +134,7 @@
|
||||
"EWyQH5": "Global",
|
||||
"Ebl/B2": "แปลจาก {lang}",
|
||||
"EcZF24": "รีเลย์ที่กำหนดเอง",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "Key",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EnCOBJ": "ซื้อ",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "ล้างแคชและดาวน์โหลดใหม่อีกครั้ง",
|
||||
"HbefNb": "เปิด Wallet",
|
||||
"HhcAVH": "You don't follow this person, click here to load media from <i>{link}</i>, or update <a><i>your preferences</i></a> to always load media from everybody.",
|
||||
"IDjHJ6": "ของคุณที่ใช้ Snort โปรดสนับสนุนเราถ้าคุณสามารถทำได้",
|
||||
"IEwZvs": "คุณแน่ใจแล้วใช่มั้ยว่าต้องการลบโน้ตนี้?",
|
||||
"IKKHqV": "Follows",
|
||||
"INSqIz": "ชื่อผู้ใช้ Twitter...",
|
||||
@ -202,9 +205,11 @@
|
||||
"MP54GY": "รหัสผ่าน wallet",
|
||||
"MRp6Ly": "ชื่อผู้ใช้ Twitter",
|
||||
"MWTx65": "หน้าเริ่มต้น",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "จ่ายเพื่อสมัครสมาชิก",
|
||||
"MuVeKe": "Buy nostr address",
|
||||
"MzRYWH": "กำลังซื้อ {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "ยืนยัน",
|
||||
"NAidKb": "Notifications",
|
||||
"NAuFNH": "คุณได้สมัครสมาชิกประเภทนี้แล้ว โปรดต่ออายุหรือชำระเงิน",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "Zaps",
|
||||
"OKhRC6": "แชร์",
|
||||
"OLEm6z": "พบข้อผิดพลาดการเข้าสู่ระบบที่ไม่ทราบสาเหตุ",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "การสมัครสมาชิกของคุณยังคงใช้งานได้ คุณยังไม่จำเป็นต้องต่ออายุ",
|
||||
"ORGv1Q": "สร้าง",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "คัดลอก Event JSON",
|
||||
"P7FD0F": "ระบบ (ค่าเริ่มต้น)",
|
||||
"P7nJT9": "ยอดรวมวันนี้ (UTC): {amount} sats",
|
||||
"PCSt5T": "การตั้งค่า",
|
||||
"PLSbmL": "Mnemonic phrase ของคุณ",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "ส่วนต้นของไฟล์ที่ไม่รู้จัก: {name}",
|
||||
"Pe0ogR": "ธีม",
|
||||
"PrsIg7": "Reactions จะแสดงในทุกหน้า หากปิดใช้งาน จะไม่แสดง Reactions ใด ๆ",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "สมัครสมาชิก",
|
||||
"R81upa": "People you follow",
|
||||
"RDZVQL": "ตรวจสอบ",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "หมดอายุแล้ว",
|
||||
"RfhLwC": "โดย {author}",
|
||||
"RhDAoS": "คุณแน่ใจหรือไม่ ว่าต้องการลบ {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "รีเลย์",
|
||||
"Rs4kCE": "บุ๊คมาร์ก",
|
||||
"RwFaYs": "การจัดเรียง",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "Send zap to {name}",
|
||||
"SOqbe9": "อัพเดต Lightning Address",
|
||||
"SP0+yi": "ซื้อการสมัครสมาชิก",
|
||||
@ -258,10 +269,12 @@
|
||||
"UT7Nkj": "New Chat",
|
||||
"UUPFlt": "ผู้ใช้จะต้องยอมรับคำเตือนเพื่อแสดงเนื้อหาในโน้ตของคุณ",
|
||||
"Up5U7K": "บล็อก",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "ไม่พบส่วน key manager extension.. ลองโหลดหน้านี้ซ้ำ",
|
||||
"VN0+Fz": "คงเหลือ: {amount} sats",
|
||||
"VOjC1i": "เลือกบริการอัปโหลดที่คุณต้องการอัปโหลดไฟล์แนบ",
|
||||
"VR5eHw": "Public key (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "ปิดการมองเห็น {n} บัญชี",
|
||||
"VnXp8Z": "อวตาร",
|
||||
"VvaJst": "View Wallets",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "จํานวน zap เริ่มต้นของคุณคือ {number} sats ค่าตัวอย่างคํานวณจากสิ่งนี้",
|
||||
"XrSk2j": "รับคืน",
|
||||
"XzF0aC": "Key manager extension มอบความปลอดภัยและช่วยให้คุณเข้าสู่ระบบบน Nostr client ต่าง ๆ ได้ง่ายขึ้น นี่คือ extension ที่เป็นที่รู้จักกันดี",
|
||||
"Y31HTH": "ช่วยเหลือเงินทุนสำหรับการพัฒนา Snort",
|
||||
"YDURw6": "Service URL",
|
||||
"YXA3AH": "เปิดใช้งาน reactions",
|
||||
"Z0FDj+": "สมัครสมาชิก Snort {plan} ราคา {price} และคุณจะได้รับรางวัลต่อไปนี้",
|
||||
@ -287,6 +299,7 @@
|
||||
"ZKORll": "เปิดใช้งานทันที",
|
||||
"ZLmyG9": "ผู้มีส่วนร่วม",
|
||||
"ZS+jRE": "Send zap splits to",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "ตั้งค่าโปรไฟล์",
|
||||
"a5UPxh": "สนับสนุนนักพัฒนาและแฟลตฟอร์มที่ให้บริการ NIP-05",
|
||||
"a7TDNm": "โน้ตจะแสดงแบบเรียลไทม์บนหน้า global และ โน้ต",
|
||||
@ -299,8 +312,8 @@
|
||||
"bfvyfs": "Anon",
|
||||
"brAXSu": "เลือกชื่อบัญชีผู้ใช้",
|
||||
"bxv59V": "เมื่อสักครู่",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "ติดตั้ง Extension",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "หากคุณมีคําถามใด ๆ เกี่ยวกับคําสั่งซื้อ NIP-05 ของคุณ โปรดติดต่อที่ {link}",
|
||||
"c3g2hL": "เผยแพร่อีกครั้ง",
|
||||
"cFbU1B": "ใช้ Alby? ไปที่{link} เพื่อรับ NWC config ของคุณ",
|
||||
@ -314,6 +327,7 @@
|
||||
"d6CyG5": "ประวัติย้อนหลัง",
|
||||
"d7d0/x": "LN address",
|
||||
"dOQCL8": "ชื่อที่แสดง",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "เร็ว ๆ นี้",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7qqly": "ทำเครื่องหมายเป็นอ่านแล้วทั้งหมด",
|
||||
@ -322,6 +336,7 @@
|
||||
"eSzf2G": "Zap จำนวน {nIn} sats จะจัดสรร {nOut} sats ให้กับ zap pool",
|
||||
"eXT2QQ": "Group Chat",
|
||||
"fBI91o": "Zap",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "ไม่สามารถโหวตได้เนื่องจากบริการ LNURL ไม่รองรับ zaps",
|
||||
"fWZYP5": "ปักหมุดข้อความแล้ว",
|
||||
"filwqD": "อ่าน",
|
||||
@ -331,7 +346,6 @@
|
||||
"g5pX+a": "เกี่ยวกับ",
|
||||
"g985Wp": "การโหวตไม่สำเร็จ",
|
||||
"gBdUXk": "บันทึก key ของคุณ!",
|
||||
"gDZkld": "Snort เป็น Nostr UI, nostr เป็นโปรโตคอลแบบกระจายอํานาจสําหรับการบันทึกและกระจาย \"โน้ต\"",
|
||||
"gDzDRs": "Emoji ที่ต้องการส่งเมื่อ reaction บนโน้ต",
|
||||
"gXgY3+": "ยังไม่มี client ไหนรับรองสิ่งนี้",
|
||||
"gczcC5": "สมัครสมาชิก",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "โปรไฟล์",
|
||||
"izWS4J": "เลิกติดตาม",
|
||||
"jA3OE/": "{n,plural,=1{{n} sat} other{{n} sats}}",
|
||||
"jCA7Cw": "ตัวอย่างบน Snort",
|
||||
"jMzO1S": "ข้อผิดพลาดภายใน: {msg}",
|
||||
"jfV8Wr": "ย้อนกลับ",
|
||||
"juhqvW": "เพิ่มความปลอดภัยในการเข้าสู่ระบบด้วย browser extension",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} Reactions",
|
||||
"k2veDA": "เขียน",
|
||||
"k7sKNy": "บริการตรวจสอบ NIP-05 เป็นของเรา ช่วยสนับสนุนการพัฒนาของเว็บไซต์ และรับเหรียญตราที่สวยงามบนเว็บไซต์ของเรา",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name} reposted} other{{name} & {n} others reposted}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "ตอนนี้",
|
||||
"kuPHYE": "{n,plural,=0{{name} liked} other{{name} & {n} others liked}}",
|
||||
"l+ikU1": "ทุกสิ่งทุกอย่างใน {plan}",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "ชำระเงิน",
|
||||
"lPWASz": "Snort nostr address",
|
||||
"lTbT3s": "รหัสผ่าน wallet",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "หน้าต่างบัญชี",
|
||||
"ll3xBp": "บริการ Image proxy",
|
||||
"lnaT9F": "กำลังติดตาม {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "แบ่งปันความคิดของคุณกับ {link}",
|
||||
"nOaArs": "ตั้งค่าโปรไฟล์",
|
||||
"nWQFic": "ต่ออายุ",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "การบริจาคของคุณได้รับการชื่นชมอย่างมาก",
|
||||
"nwZXeh": "{n} บล็อค",
|
||||
"o6Uy3d": "เฉพาะ secret key เท่านั้นที่สามารถใช้เผยแพร่ (ลงนามกิจกรรม) ทุกสิ่งทุกอย่างจะบันทึกคุณในโหมดอ่านอย่างเดียว",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} days",
|
||||
"rrfdTe": "นี่คือเทคโนโลยีเดียวกันกับที่บิตคอยน์ใช้และได้รับการพิสูจน์แล้วว่าปลอดภัยอย่างยิ่ง",
|
||||
"rudscU": "ไม่สามารถโหลดผู้ที่คุณติดตามได้ โปรดลองอีกครั้งภายหลัง",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "Show Badges",
|
||||
"sUNhQE": "user",
|
||||
"sWnYKw": "Snort ได้รับการออกแบบให้มีประสบการณ์คล้ายกับ Twitter",
|
||||
"sZQzjQ": "Failed to parse zap split: {input}",
|
||||
"svOoEH": "ไม่อนุญาติให้มีการตั้งชื่อตัดหน้าหรือการปลอมเป็นคนอื่น Snort และพันธมิตรของเราขอสงวนสิทธิ์ในการยกเลิกการเข้าถึงของคุณ (ไม่ใช่บัญชีของคุณ - ไม่มีใครสามารถเอาสิ่งนั้นออกไปได้) สำหรับการละเมิดกฎนี้",
|
||||
"tOdNiY": "มืด",
|
||||
"th5lxp": "ส่งโน้ตของคุณไปยังชุดของรีเลย์ที่คุณอนุญาติให้เขียน",
|
||||
"thnRpU": "การได้รับการยืนยัน NIP-05 สามารถช่วย:",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "ภาษา",
|
||||
"yCLnBC": "LNURL หรือ Lightning Address",
|
||||
"yCmnnm": "อ่านเธรดโลกจาก",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "Weight",
|
||||
"zFegDD": "รายชื่อผู้ติดต่อ",
|
||||
"zINlao": "เจ้าของ",
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "名称中有禁用字符",
|
||||
"0uoY11": "显示状态",
|
||||
"0yO7wF": "{n} 秒",
|
||||
"1A7TZk": "Snort是什么?它是如何运作的?",
|
||||
"1Mo59U": "是否确定要从收藏中移除此条笔记?",
|
||||
"1R43+L": "输入 Nostr Wallet Connect 配置",
|
||||
"1c4YST": "已连接到:{node}🎉",
|
||||
@ -46,11 +45,12 @@
|
||||
"3tVy+Z": "{n} 个粉丝",
|
||||
"3xCwbZ": "或者",
|
||||
"3yk8fB": "钱包",
|
||||
"40VR6s": "Nostr Connect",
|
||||
"40VR6s": "Nostr 连接",
|
||||
"450Fty": "无",
|
||||
"47FYwb": "取消",
|
||||
"4IPzdn": "主要开发人员",
|
||||
"4L2vUY": "你的新 NIP-05 代号是:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "踩",
|
||||
"4Vmpt4": "Nostr Plebs 是该领域首批 NIP-05 提供商之一,以合理的价格提供大量域名",
|
||||
"4Z3t5i": "使用 imgproxy 压缩图片",
|
||||
@ -63,26 +63,28 @@
|
||||
"5u6iEc": "转移到公钥",
|
||||
"5vMmmR": "在 nostr 上,用户名不是独特的。Nostr 地址是你的独特的人类可读的地址。",
|
||||
"5ykRmX": "发送打闪",
|
||||
"6/SF6e": "<h1>{n}</h1> Cashu sats",
|
||||
"6/hB3S": "Watch Replay",
|
||||
"6/SF6e": "<h1>{n}</h1> Cashu 聪",
|
||||
"6/hB3S": "观看重播",
|
||||
"65BmHb": "从 {host} 代理图像失败,点击此处直接加载",
|
||||
"6OSOXl": "原因:<i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "获取标识符",
|
||||
"6bgpn+": "并非所有客户端都支持,就算已配置了打闪拆分,你仍然可能会收到一些打闪",
|
||||
"6ewQqw": "赞 ({n})",
|
||||
"6uMqL1": "未付款",
|
||||
"7+Domh": "笔记",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "帐户切换",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "转发 ({n})",
|
||||
"89q5wc": "确认转发",
|
||||
"8Kboo2": "Scan this QR code with your signer app to get started",
|
||||
"8Kboo2": "用你的签名应用程序扫描这个二维码来开始",
|
||||
"8QDesP": "打闪 {n} 聪",
|
||||
"8Rkoyb": "接收方",
|
||||
"8Y6bZQ": "无效打闪拆分:{input}",
|
||||
"8g2vyB": "名称过长",
|
||||
"8v1NN+": "配对词句",
|
||||
"8xNnhi": "Nostr Extension",
|
||||
"8xNnhi": "Nostr 扩展",
|
||||
"9+Ddtu": "下一步",
|
||||
"9HU8vw": "回复",
|
||||
"9SvQep": "关注 {n}",
|
||||
@ -92,7 +94,7 @@
|
||||
"9wO4wJ": "闪电发票",
|
||||
"ADmfQT": "上一层",
|
||||
"AGNz71": "打闪所有 {n} 聪",
|
||||
"AN0Z7Q": "Muted Words",
|
||||
"AN0Z7Q": "已被静音的关键词",
|
||||
"ASRK0S": "该作者已被静音",
|
||||
"Adk34V": "设置你的个人档案",
|
||||
"Ai8VHU": "Snort 中继器上无限制笔记保留",
|
||||
@ -104,16 +106,17 @@
|
||||
"B6H7eJ": "nsec、npub、nip-05、十六进制",
|
||||
"BGCM48": "写入 Snort 中继器的权限,1年的事件保留",
|
||||
"BOUMjw": "找不到 {twitterUsername} 的 nostr 用户",
|
||||
"BOr9z/": "Snort是由热心人士利用空闲时间开发的开源项目",
|
||||
"BWpuKl": "更新",
|
||||
"BcGMo+": "笔记含有文本内容,这些笔记最常用的用法是存储类似“推文”的消息。",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "闪电捐款",
|
||||
"C5xzTC": "高级会员",
|
||||
"C81/uG": "登出",
|
||||
"C8HhVE": "推荐关注",
|
||||
"CHTbO3": "加载发票失败",
|
||||
"CVWeJ6": "热门用户",
|
||||
"CmZ9ls": "{n} 已静音",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} 聪",
|
||||
"Cu/K85": "翻译自 {lang}",
|
||||
"D+KzKd": "加载时自动打闪每条笔记",
|
||||
@ -122,7 +125,7 @@
|
||||
"DZzCem": "显示最新的 {n} 条笔记",
|
||||
"DcL8P+": "支持者",
|
||||
"Dh3hbq": "自动打闪",
|
||||
"Dn82AL": "Live",
|
||||
"Dn82AL": "直播",
|
||||
"DtYelJ": "转移",
|
||||
"E8a4yq": "关注一些受欢迎的帐户",
|
||||
"ELbg9p": "数据提供方",
|
||||
@ -131,8 +134,9 @@
|
||||
"EWyQH5": "全球",
|
||||
"Ebl/B2": "翻译成 {lang}",
|
||||
"EcZF24": "自定义中继器",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "密钥",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EjFyoR": "链上捐赠地址",
|
||||
"EnCOBJ": "购买",
|
||||
"Eqjl5K": "只有 Snort 和我们的合作伙伴的标识符为你提供彩色的域名,但也欢迎你使用其他服务。",
|
||||
"F+B3x1": "我们还与 nostrplebs.com 合作,为你提供更多选择",
|
||||
@ -148,12 +152,12 @@
|
||||
"G1BGCg": "选择钱包",
|
||||
"GFOoEE": "盐",
|
||||
"GL8aXW": "收藏 ({n})",
|
||||
"GQPtfk": "Join Stream",
|
||||
"GQPtfk": "加入流",
|
||||
"GSye7T": "闪电地址",
|
||||
"GUlSVG": "认领你包含的 Snort nostr 地址",
|
||||
"Gcn9NQ": "磁力链接",
|
||||
"GspYR7": "{n} 踩",
|
||||
"Gxcr08": "Broadcast Event",
|
||||
"Gxcr08": "广播事件",
|
||||
"H+vHiz": "十六进制密钥...",
|
||||
"H0JBH6": "登出",
|
||||
"H6/kLh": "订单已支付!",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "清除缓存并重新加载",
|
||||
"HbefNb": "打开钱包",
|
||||
"HhcAVH": "你不关注这个用户,点击此处从<i>{link}</i>加载多媒体,或更新<a><i>你的选项</i></a>来自动加载来自任何人的多媒体。",
|
||||
"IDjHJ6": "感谢你使用 Snort,请考虑捐赠。",
|
||||
"IEwZvs": "是否确定要取消置顶此条笔记?",
|
||||
"IKKHqV": "关注",
|
||||
"INSqIz": "推特用户名...",
|
||||
@ -187,24 +190,26 @@
|
||||
"KWuDfz": "我已经保存了我的密钥,继续",
|
||||
"KahimY": "未知事件类型:{kind}",
|
||||
"KoFlZg": "输入铸币厂 URL",
|
||||
"KtsyO0": "Enter Pin",
|
||||
"KtsyO0": "输入 PIN 码",
|
||||
"LF5kYT": "其他连接",
|
||||
"LR1XjT": "Pin too short",
|
||||
"LR1XjT": "PIN 码太短了",
|
||||
"LXxsbk": "匿名",
|
||||
"LgbKvU": "评论",
|
||||
"Lu5/Bj": "在 Zapstr 上打开",
|
||||
"Lw+I+J": "{n,plural,=0{{name}已打闪} other{{name}和{n}个其他用户已打闪}}",
|
||||
"LwYmVi": "此笔记上的打闪将被拆分给以下用户。",
|
||||
"M10zFV": "Nostr Connect",
|
||||
"M10zFV": "Nostr 连接",
|
||||
"M3Oirc": "调试菜单",
|
||||
"MBAYRO": "在每条消息的上下文菜单中显示“复制 ID”和“复制事件 JSON”",
|
||||
"MI2jkA": "无法使用:",
|
||||
"MP54GY": "钱包密码",
|
||||
"MRp6Ly": "推特用户名",
|
||||
"MWTx65": "默认页面",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "支付订阅",
|
||||
"MuVeKe": "购买 nostr 地址",
|
||||
"MzRYWH": "购买{item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "确认",
|
||||
"NAidKb": "通知",
|
||||
"NAuFNH": "你已经有此类型的订阅,请续订或支付",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "打闪",
|
||||
"OKhRC6": "分享",
|
||||
"OLEm6z": "未知登录错误",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "你的订阅仍然活跃,你还不能续订",
|
||||
"ORGv1Q": "已创建",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "复制事件 JSON",
|
||||
"P7FD0F": "系统(默认)",
|
||||
"P7nJT9": "今天总计 (UTC):{amount} 聪",
|
||||
"PCSt5T": "选项",
|
||||
"PLSbmL": "你的助记词句",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "未知文件标头:{name}",
|
||||
"Pe0ogR": "主题",
|
||||
"PrsIg7": "回应将在每个页面上显示,如果禁用则不会显示任何回应",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "订阅",
|
||||
"R81upa": "你关注的用户",
|
||||
"RDZVQL": "查看",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "已过期",
|
||||
"RfhLwC": "作者:{author}",
|
||||
"RhDAoS": "是否确定要删除 {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "中继器",
|
||||
"Rs4kCE": "收藏",
|
||||
"RwFaYs": "排序",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "将打闪发送到 {name}",
|
||||
"SOqbe9": "更新闪电地址",
|
||||
"SP0+yi": "购买订阅",
|
||||
@ -251,17 +262,19 @@
|
||||
"Ss0sWu": "立即支付",
|
||||
"StKzTE": "作者已将此笔记标记为<i>敏感主题</i>",
|
||||
"TDR5ge": "笔记中的媒体将自动显示给选定的人,否则只会显示链接",
|
||||
"TP/cMX": "Ended",
|
||||
"TP/cMX": "已结束",
|
||||
"TpgeGw": "十六进制盐..",
|
||||
"Tpy00S": "用户",
|
||||
"UDYlxu": "待定订阅",
|
||||
"UT7Nkj": "新聊天",
|
||||
"UUPFlt": "用户必须接受内容警告才能显示你的笔记的内容。",
|
||||
"Up5U7K": "屏蔽",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "找不到密钥管理器扩展程序... 请尝试重新加载页面。",
|
||||
"VN0+Fz": "余额: {amount} 聪",
|
||||
"VOjC1i": "选择你要将附件上传到哪个上传服务",
|
||||
"VR5eHw": "公钥 (npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} 已静音",
|
||||
"VnXp8Z": "头像",
|
||||
"VvaJst": "查看钱包",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "你的默认打闪金额是 {number} 聪,示例值是以此计算的。",
|
||||
"XrSk2j": "兑现",
|
||||
"XzF0aC": "密钥管理器扩展程序更安全,你可以轻松地用它登录任何 Nostr 客户端。以下是一些众所周知的扩展程序:",
|
||||
"Y31HTH": "帮助资助 Snort 的开发",
|
||||
"YDURw6": "服务网址",
|
||||
"YXA3AH": "启用回应",
|
||||
"Z0FDj+": "以{price}订阅 Snort {plan}并获得以下奖励",
|
||||
@ -287,20 +299,21 @@
|
||||
"ZKORll": "立即激活",
|
||||
"ZLmyG9": "贡献者",
|
||||
"ZS+jRE": "将打闪拆分发送到",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "设置个人档案",
|
||||
"a5UPxh": "资助提供 NIP-05 验证服务的开发人员和平台",
|
||||
"a7TDNm": "笔记将实时流式传输到全球和帖子选项卡",
|
||||
"aWpBzj": "显示更多",
|
||||
"b12Goz": "助记词",
|
||||
"b5vAk0": "你的代号将像闪电地址一样重定向至你所选的 LNURL 或闪电地址",
|
||||
"bLZL5a": "Get Address",
|
||||
"bLZL5a": "获取地址",
|
||||
"bQdA2k": "敏感内容",
|
||||
"bep9C3": "公钥",
|
||||
"bfvyfs": "匿名",
|
||||
"brAXSu": "选择一个用户名",
|
||||
"bxv59V": "刚刚",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "安装扩展插件",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "如果你对 NIP-05 订单有任何疑问,请私信 {link}",
|
||||
"c3g2hL": "再次广播",
|
||||
"cFbU1B": "使用 Alby?前往 {link} 来配置你的 NWC!",
|
||||
@ -314,24 +327,25 @@
|
||||
"d6CyG5": "历史",
|
||||
"d7d0/x": "闪电地址",
|
||||
"dOQCL8": "显示名称",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "即将上线",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7VmYP": "输入 PIN 码解锁你的私钥",
|
||||
"e7qqly": "全标已读",
|
||||
"eHAneD": "回应表情符号",
|
||||
"eJj8HD": "获取验证",
|
||||
"eSzf2G": "一个 {nIn} 聪的打闪将分配 {nOut} 聪给打闪池。",
|
||||
"eXT2QQ": "群聊",
|
||||
"fBI91o": "打闪",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "无法投票,因为LNURL 服务不支持打闪",
|
||||
"fWZYP5": "已置顶",
|
||||
"filwqD": "读",
|
||||
"flnGvv": "你在想些什么?",
|
||||
"fqwcJ1": "On-chain Donation",
|
||||
"fqwcJ1": "链上捐款",
|
||||
"fsB/4p": "已保存",
|
||||
"g5pX+a": "关于",
|
||||
"g985Wp": "发送投票失败",
|
||||
"gBdUXk": "保存好你的密钥!",
|
||||
"gDZkld": "Snort 是一个 nostr 用户界面,nostr 是一个用于保存和分发“笔记”的去中心化协议。",
|
||||
"gDzDRs": "回应笔记时发送的表情符号",
|
||||
"gXgY3+": "并非所有客户端都支持此功能",
|
||||
"gczcC5": "订阅",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "个人档案",
|
||||
"izWS4J": "取消关注",
|
||||
"jA3OE/": "{n,plural,=1{{n}聪} other{{n}聪}}",
|
||||
"jCA7Cw": "在 snort 上预览",
|
||||
"jMzO1S": "内部错误: {msg}",
|
||||
"jfV8Wr": "返回",
|
||||
"juhqvW": "使用浏览器扩展提高登录安全性",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} 个回应",
|
||||
"k2veDA": "写",
|
||||
"k7sKNy": "我们自己的 NIP-05 验证服务,帮助支持本站的发展,并在我们的网站上获得闪亮的特殊徽章!",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name}已转发} other{{name}和{n}个其他用户已转发}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "现在",
|
||||
"kuPHYE": "{n,plural,=0{{name}已点赞} other{{name}和{n}个其他用户已点赞}}",
|
||||
"l+ikU1": "{plan}提供",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "付款",
|
||||
"lPWASz": "Snort 的 Nostr 地址",
|
||||
"lTbT3s": "钱包密码",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "帐户页面",
|
||||
"ll3xBp": "图片代理服务",
|
||||
"lnaT9F": "关注 {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "与 {link} 分享你的想法",
|
||||
"nOaArs": "设置个人档案",
|
||||
"nWQFic": "续订",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "非常感谢你的捐赠",
|
||||
"nwZXeh": "{n} 已屏蔽",
|
||||
"o6Uy3d": "只有密钥可用于发布(签署事件),其他一切都使您以只读模式登录。",
|
||||
@ -410,11 +427,11 @@
|
||||
"qMx1sA": "默认打闪金额",
|
||||
"qUJTsT": "已屏蔽",
|
||||
"qdGuQo": "你的私钥是(不要与任何人分享)",
|
||||
"qfmMQh": "This note has been muted",
|
||||
"qfmMQh": "该笔记已被静音",
|
||||
"qkvYUb": "添加至个人档案",
|
||||
"qmJ8kD": "翻译失败",
|
||||
"qtWLmt": "点赞",
|
||||
"qz9fty": "Incorrect pin",
|
||||
"qz9fty": "PIN 码不正确",
|
||||
"r3C4x/": "软件",
|
||||
"r5srDR": "输入钱包密码",
|
||||
"rT14Ow": "添加中继",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n} 天",
|
||||
"rrfdTe": "这与比特币使用的技术相同,并已被证明非常安全。",
|
||||
"rudscU": "加载关注失败,请稍后重试",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "显示徽章",
|
||||
"sUNhQE": "用户",
|
||||
"sWnYKw": "Snort 旨在提供类似推特的体验。",
|
||||
"sZQzjQ": "解析打闪拆分失败了:{input}",
|
||||
"svOoEH": "不允许抢注和冒充。 Snort 和我们的合作伙伴保留因违反此规则而终止你的代号(不是你的帐户 - 没有人可以拿走它)的权利。",
|
||||
"tOdNiY": "深色",
|
||||
"th5lxp": "将笔记发送到你的写入中继器的子集",
|
||||
"thnRpU": "验证 NIP-05 可以帮助:",
|
||||
@ -447,11 +463,11 @@
|
||||
"vxwnbh": "适用于所有发布事件的工作量",
|
||||
"wEQDC6": "编辑",
|
||||
"wLtRCF": "你的密钥",
|
||||
"wSZR47": "Submit",
|
||||
"wSZR47": "提交",
|
||||
"wWLwvh": "匿名",
|
||||
"wYSD2L": "Nostr 地址",
|
||||
"wih7iJ": "名称已被屏蔽",
|
||||
"wofVHy": "Moderation",
|
||||
"wofVHy": "审核",
|
||||
"wqyN/i": "在 {link} 了解有关 {service} 的更多信息",
|
||||
"wtLjP6": "复制 ID",
|
||||
"x/Fx2P": "将部分打闪分配到资金库来资助你使用的服务!",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "语言",
|
||||
"yCLnBC": "LNURL 或闪电地址",
|
||||
"yCmnnm": "全球提要来自",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "权重",
|
||||
"zFegDD": "联系人",
|
||||
"zINlao": "所有者",
|
||||
@ -476,5 +493,5 @@
|
||||
"zjJZBd": "你已准备就绪!",
|
||||
"zonsdq": "加载 LNURL 服务失败",
|
||||
"zvCDao": "自动显示最新笔记",
|
||||
"zwb6LR": "<b>Mint:</b> {url}"
|
||||
"zwb6LR": "<b>铸币厂:</b> {url}"
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
"0mch2Y": "名稱中有禁用字符",
|
||||
"0uoY11": "顯示狀態",
|
||||
"0yO7wF": "{n} 秒",
|
||||
"1A7TZk": "Snort 是什麼?它是如何運作的?",
|
||||
"1Mo59U": "是否確定要從收藏中移除此條筆記?",
|
||||
"1R43+L": "輸入 Nostr Wallet Connect 配置",
|
||||
"1c4YST": "已連接到:{node} 🎉",
|
||||
@ -46,11 +45,12 @@
|
||||
"3tVy+Z": "{n} 個粉絲",
|
||||
"3xCwbZ": "或者",
|
||||
"3yk8fB": "錢包",
|
||||
"40VR6s": "Nostr Connect",
|
||||
"40VR6s": "Nostr 連接",
|
||||
"450Fty": "無",
|
||||
"47FYwb": "取消",
|
||||
"4IPzdn": "主要開發人員",
|
||||
"4L2vUY": "你的新 NIP-05 代號是:",
|
||||
"4MBtMa": "Name must be between 1 and 32 characters",
|
||||
"4OB335": "踩",
|
||||
"4Vmpt4": "Nostr Plebs 是該領域首批 NIP-05 供應商之一,以合理的價格提供大量域名",
|
||||
"4Z3t5i": "使用 imgproxy 壓縮圖片",
|
||||
@ -63,26 +63,28 @@
|
||||
"5u6iEc": "轉移到公鑰",
|
||||
"5vMmmR": "在 nostr 上,用戶名不是獨特的。Nostr 地址是你的獨特的人類可讀的地址。",
|
||||
"5ykRmX": "發送打閃",
|
||||
"6/SF6e": "<h1>{n}</h1> Cashu sats",
|
||||
"6/hB3S": "Watch Replay",
|
||||
"6/SF6e": "<h1>{n}</h1> Cashu 聰",
|
||||
"6/hB3S": "觀看重播",
|
||||
"65BmHb": "從 {host} 代理圖像失敗,點擊此處直接加載",
|
||||
"6OSOXl": "原因:<i>{reason}</i>",
|
||||
"6TfgXX": "{site} is an open source project built by passionate people in their free time",
|
||||
"6Yfvvp": "獲取標識符",
|
||||
"6bgpn+": "並非所有客戶端都支持,就算已配置了打閃拆分,你仍然可能會收到一些打閃",
|
||||
"6ewQqw": "贊({n})",
|
||||
"6uMqL1": "未付款",
|
||||
"7+Domh": "筆記",
|
||||
"7/h1jn": "After submitting the pin there may be a slight delay as we encrypt the key.",
|
||||
"7BX/yC": "帳戶切換",
|
||||
"7hp70g": "NIP-05",
|
||||
"8/vBbP": "轉發({n})",
|
||||
"89q5wc": "確認轉發",
|
||||
"8Kboo2": "Scan this QR code with your signer app to get started",
|
||||
"8Kboo2": "用你的簽名應用程式掃描這個二維碼來開始",
|
||||
"8QDesP": "打閃 {n} 聰",
|
||||
"8Rkoyb": "接收方",
|
||||
"8Y6bZQ": "無效打閃拆分:{input}",
|
||||
"8g2vyB": "名稱過長",
|
||||
"8v1NN+": "配對詞句",
|
||||
"8xNnhi": "Nostr Extension",
|
||||
"8xNnhi": "Nostr 擴充功能",
|
||||
"9+Ddtu": "下一步",
|
||||
"9HU8vw": "回覆",
|
||||
"9SvQep": "關注 {n}",
|
||||
@ -92,7 +94,7 @@
|
||||
"9wO4wJ": "閃電發票",
|
||||
"ADmfQT": "上一層",
|
||||
"AGNz71": "打閃所有 {n} 聰",
|
||||
"AN0Z7Q": "Muted Words",
|
||||
"AN0Z7Q": "已被靜音的關鍵詞",
|
||||
"ASRK0S": "该作者已被静音",
|
||||
"Adk34V": "設置你的個人檔案",
|
||||
"Ai8VHU": "Snort 中繼器上無限制筆記保留",
|
||||
@ -104,16 +106,17 @@
|
||||
"B6H7eJ": "nsec、npub、nip-05、十六進制",
|
||||
"BGCM48": "寫入 Snort 中繼器到權限,1年的事件保留",
|
||||
"BOUMjw": "找不到 {twitterUsername} 的 nostr 用戶",
|
||||
"BOr9z/": "Snort 是由熱心人士利用空閒時間開發的開源項目",
|
||||
"BWpuKl": "更新",
|
||||
"BcGMo+": "筆記含有文本內容,這些筆記最常用的用法是存儲類似“推文”的消息。",
|
||||
"C1LjMx": "Lightning Donation",
|
||||
"BjNwZW": "Nostr address (nip05)",
|
||||
"C1LjMx": "閃電捐款",
|
||||
"C5xzTC": "高級會員",
|
||||
"C81/uG": "登出",
|
||||
"C8HhVE": "推薦關注",
|
||||
"CHTbO3": "加載發票失敗",
|
||||
"CVWeJ6": "熱門用戶",
|
||||
"CmZ9ls": "{n} 已静音",
|
||||
"CoVXRS": "Alternatively, you may choose to store your private key without a PIN by selecting 'Cancel.'",
|
||||
"CsCUYo": "{n} 聰",
|
||||
"Cu/K85": "翻譯自 {lang}",
|
||||
"D+KzKd": "加載時自動打閃每條筆記",
|
||||
@ -122,7 +125,7 @@
|
||||
"DZzCem": "顯示最新的 {n} 條筆記",
|
||||
"DcL8P+": "支持者",
|
||||
"Dh3hbq": "自動打閃",
|
||||
"Dn82AL": "Live",
|
||||
"Dn82AL": "直播",
|
||||
"DtYelJ": "轉移",
|
||||
"E8a4yq": "關注一些受歡迎的帳戶",
|
||||
"ELbg9p": "數據提供方",
|
||||
@ -131,8 +134,9 @@
|
||||
"EWyQH5": "全球",
|
||||
"Ebl/B2": "翻譯成 {lang}",
|
||||
"EcZF24": "自定義中繼器",
|
||||
"EcfIwB": "Username is available",
|
||||
"EcglP9": "密鑰",
|
||||
"EjFyoR": "On-chain Donation Address",
|
||||
"EjFyoR": "鏈上捐款地址",
|
||||
"EnCOBJ": "購買",
|
||||
"Eqjl5K": "只有 Snort 和我們的合作夥伴的標識符為你提供彩色的域名,但也歡迎你使用其他服務。",
|
||||
"F+B3x1": "我們還與 nostrplebs.com 合作,為你提供更多選擇",
|
||||
@ -148,12 +152,12 @@
|
||||
"G1BGCg": "選擇錢包",
|
||||
"GFOoEE": "鹽",
|
||||
"GL8aXW": "收藏 ({n})",
|
||||
"GQPtfk": "Join Stream",
|
||||
"GQPtfk": "加入流",
|
||||
"GSye7T": "閃電地址",
|
||||
"GUlSVG": "認領你包含的 Snort nostr 地址",
|
||||
"Gcn9NQ": "磁力鏈接",
|
||||
"GspYR7": "{n} 踩",
|
||||
"Gxcr08": "Broadcast Event",
|
||||
"Gxcr08": "廣播事件",
|
||||
"H+vHiz": "十六進制密鑰...",
|
||||
"H0JBH6": "登出",
|
||||
"H6/kLh": "訂單已支付!",
|
||||
@ -163,7 +167,6 @@
|
||||
"HWbkEK": "清除緩存並重新加載",
|
||||
"HbefNb": "打開錢包",
|
||||
"HhcAVH": "你不關注此用戶,點擊此處從<i>{link}</i>加載多媒體,或更新<a><i>你的選項</i></a>來自動加載來自任何人的多媒體。",
|
||||
"IDjHJ6": "感謝你使用 Snort,請考慮捐贈。",
|
||||
"IEwZvs": "是否確定要取消置頂此條筆記?",
|
||||
"IKKHqV": "關注",
|
||||
"INSqIz": "推特用戶名",
|
||||
@ -187,24 +190,26 @@
|
||||
"KWuDfz": "我已經保存好了我的密鑰,繼續",
|
||||
"KahimY": "未知事件類型:{kind}",
|
||||
"KoFlZg": "輸入鑄幣廠 URL",
|
||||
"KtsyO0": "Enter Pin",
|
||||
"KtsyO0": "輸入 PIN 碼",
|
||||
"LF5kYT": "其他連接",
|
||||
"LR1XjT": "Pin too short",
|
||||
"LR1XjT": "PIN 碼太短了",
|
||||
"LXxsbk": "匿名",
|
||||
"LgbKvU": "評論",
|
||||
"Lu5/Bj": "在 Zapstr 上打開",
|
||||
"Lw+I+J": "{n,plural,=0{{name}已打閃} other{{name}和{n}個其他用戶已打閃}}",
|
||||
"LwYmVi": "此筆記上的打閃將被拆分給以下的用戶。",
|
||||
"M10zFV": "Nostr Connect",
|
||||
"M10zFV": "Nostr 連接",
|
||||
"M3Oirc": "調試選單",
|
||||
"MBAYRO": "每條消息的上下文菜單中顯示“複製 ID”和“複製事件 JSON”",
|
||||
"MI2jkA": "無法使用:",
|
||||
"MP54GY": "錢包密碼",
|
||||
"MRp6Ly": "推特用戶名",
|
||||
"MWTx65": "默認頁面",
|
||||
"MiMipu": "Set as primary Nostr address (nip05)",
|
||||
"Mrpkot": "支付訂閱",
|
||||
"MuVeKe": "購買 nostr 地址",
|
||||
"MzRYWH": "購買 {item}",
|
||||
"Mzizei": "Iris.to account",
|
||||
"N2IrpM": "確認",
|
||||
"NAidKb": "通知",
|
||||
"NAuFNH": "你已經有此類型的訂閱,請續訂或支付",
|
||||
@ -217,13 +222,17 @@
|
||||
"OEW7yJ": "打閃",
|
||||
"OKhRC6": "分享",
|
||||
"OLEm6z": "未知登錄錯誤",
|
||||
"OQSOJF": "Get a free nostr address",
|
||||
"OQXnew": "你的訂閱仍然活躍,你還不能續訂",
|
||||
"ORGv1Q": "已創建",
|
||||
"Oq/kVn": "Name-squatting and impersonation is not allowed. {site} and our partners reserve the right to terminate your handle (not your account - nobody can take that away) for violating this rule.",
|
||||
"P/xrLk": "Secure your private key with a PIN, ensuring enhanced protection on {site}. You'll be prompted to enter this PIN each time you access the site.",
|
||||
"P61BTu": "複製事件 JSON",
|
||||
"P7FD0F": "系統(默認)",
|
||||
"P7nJT9": "今天總計(UTC):{amount} 聰",
|
||||
"PCSt5T": "選項",
|
||||
"PLSbmL": "你的助記詞句",
|
||||
"PaN7t3": "Preview on {site}",
|
||||
"PamNxw": "未知文件標頭:{name}",
|
||||
"Pe0ogR": "主題",
|
||||
"PrsIg7": "回應將在每個頁面上顯示,如果禁用則不會顯示任何回應",
|
||||
@ -235,6 +244,7 @@
|
||||
"R/6nsx": "訂閱",
|
||||
"R81upa": "你關注的用戶",
|
||||
"RDZVQL": "查看",
|
||||
"RSr2uB": "Username must only contain lowercase letters and numbers",
|
||||
"RahCRH": "已過期",
|
||||
"RfhLwC": "作者:{author}",
|
||||
"RhDAoS": "是否確定要刪除 {id}",
|
||||
@ -242,6 +252,7 @@
|
||||
"RoOyAh": "中繼器",
|
||||
"Rs4kCE": "收藏",
|
||||
"RwFaYs": "排序",
|
||||
"SLZGPn": "Enter a pin to encrypt your private key, you must enter this pin every time you open {site}.",
|
||||
"SMO+on": "將打閃發送到 {name}",
|
||||
"SOqbe9": "更新閃電地址",
|
||||
"SP0+yi": "購買訂閱",
|
||||
@ -251,17 +262,19 @@
|
||||
"Ss0sWu": "立即支付",
|
||||
"StKzTE": "作者已將此筆記標記為<i>敏感主題</i>",
|
||||
"TDR5ge": "帖子中的媒體將自動顯示給選定的人,否則只會顯示鏈接",
|
||||
"TP/cMX": "Ended",
|
||||
"TP/cMX": "已結束",
|
||||
"TpgeGw": "十六進制鹽..",
|
||||
"Tpy00S": "用戶",
|
||||
"UDYlxu": "待定訂閱",
|
||||
"UT7Nkj": "新聊天",
|
||||
"UUPFlt": "用戶必須接受內容警告才能顯示你的筆記的內容。",
|
||||
"Up5U7K": "屏蔽",
|
||||
"UrKTqQ": "You have an active iris.to account",
|
||||
"VBadwB": "找不到密鑰管理器擴展程序.. 請嘗試重新加載頁面。",
|
||||
"VN0+Fz": "餘額:{amount} 聰",
|
||||
"VOjC1i": "選擇你要將附件上傳到哪個上傳服務",
|
||||
"VR5eHw": "公鑰(npub/nprofile)",
|
||||
"VcwrfF": "Yes please",
|
||||
"VlJkSk": "{n} 已静音",
|
||||
"VnXp8Z": "頭像",
|
||||
"VvaJst": "查看錢包",
|
||||
@ -279,7 +292,6 @@
|
||||
"Xopqkl": "你的默認打閃金額是 {number} 聰,示例值是以此計算的。",
|
||||
"XrSk2j": "兌現",
|
||||
"XzF0aC": "密鑰管理器擴展程序更安全,你可以輕鬆地用它登錄任何 nostr 客戶端。以下是一些眾所週知的擴展程序:",
|
||||
"Y31HTH": "幫助資助 Snort 的開發",
|
||||
"YDURw6": "服務 URL",
|
||||
"YXA3AH": "启用回應",
|
||||
"Z0FDj+": "以{price}訂閱 Snort {plan}並獲得以下獎勵",
|
||||
@ -287,20 +299,21 @@
|
||||
"ZKORll": "立即激活",
|
||||
"ZLmyG9": "貢獻者",
|
||||
"ZS+jRE": "將打閃拆分發送到",
|
||||
"Zff6lu": "Username iris.to/<b>{name}</b> is reserved for you!",
|
||||
"Zr5TMx": "設置個人檔案",
|
||||
"a5UPxh": "資助提供 NIP-05 驗證服務的開發人員和平台",
|
||||
"a7TDNm": "筆記將實時流式傳輸到全球和帖子選項卡",
|
||||
"aWpBzj": "顯示更多",
|
||||
"b12Goz": "助記詞",
|
||||
"b5vAk0": "你的代號將像閃電地址一樣重定向至你所選的 LNURL 或閃電地址",
|
||||
"bLZL5a": "Get Address",
|
||||
"bLZL5a": "獲取地址",
|
||||
"bQdA2k": "敏感內容",
|
||||
"bep9C3": "公鑰",
|
||||
"bfvyfs": "匿名",
|
||||
"brAXSu": "選擇用戶名",
|
||||
"bxv59V": "剛剛",
|
||||
"c+JYNI": "No thanks",
|
||||
"c+oiJe": "安装擴展程序",
|
||||
"c2DTVd": "Enter a pin to encrypt your private key, you must enter this pin every time you open Snort.",
|
||||
"c35bj2": "如果你對 NIP-05 訂單有任何疑問,請私信 {link}",
|
||||
"c3g2hL": "再次廣播",
|
||||
"cFbU1B": "使用 Alby?前往 {link} 來配置你的 NWC!",
|
||||
@ -314,24 +327,25 @@
|
||||
"d6CyG5": "歷史",
|
||||
"d7d0/x": "閃電地址",
|
||||
"dOQCL8": "顯示名稱",
|
||||
"deEeEI": "Register",
|
||||
"e61Jf3": "即將上線",
|
||||
"e7VmYP": "Enter pin to unlock your private key",
|
||||
"e7VmYP": "輸入 PIN 碼解鎖你的私鑰",
|
||||
"e7qqly": "全標已讀",
|
||||
"eHAneD": "回應表情符號",
|
||||
"eJj8HD": "獲取驗證",
|
||||
"eSzf2G": "一個 {nIn} 聰的打閃將分配 {nOut} 聰給打閃池。",
|
||||
"eXT2QQ": "羣聊",
|
||||
"fBI91o": "打閃",
|
||||
"fBlba3": "Thanks for using {site}, please consider donating if you can.",
|
||||
"fOksnD": "無法投票,因為 LNURL 服務不支持打閃",
|
||||
"fWZYP5": "置頂",
|
||||
"filwqD": "讀",
|
||||
"flnGvv": "你在想些什麼?",
|
||||
"fqwcJ1": "On-chain Donation",
|
||||
"fqwcJ1": "鏈上捐款",
|
||||
"fsB/4p": "已保存",
|
||||
"g5pX+a": "關於",
|
||||
"g985Wp": "發送投票失敗",
|
||||
"gBdUXk": "保存好你的密鑰!",
|
||||
"gDZkld": "Snort 是一個 nostr 用戶界面,nostr 是一個用於保存和分發“筆記”的去中心化協議。",
|
||||
"gDzDRs": "回應筆記時發送的表情符號",
|
||||
"gXgY3+": "並非所有客戶端都支持此功能",
|
||||
"gczcC5": "訂閱",
|
||||
@ -355,7 +369,6 @@
|
||||
"itPgxd": "個人檔案",
|
||||
"izWS4J": "取消關注",
|
||||
"jA3OE/": "{n,plural,=1{{n} 聰} other{{n} 聰}}",
|
||||
"jCA7Cw": "在 Snort 上預覽",
|
||||
"jMzO1S": "內部錯誤:{msg}",
|
||||
"jfV8Wr": "返回",
|
||||
"juhqvW": "使用瀏覽器擴展程序提高登錄安全性",
|
||||
@ -363,7 +376,9 @@
|
||||
"jzgQ2z": "{n} 個回應",
|
||||
"k2veDA": "寫",
|
||||
"k7sKNy": "我們自己的 NIP-05 驗證服務,幫助支持本站的發展,並在我們的網站上獲得閃亮的特殊徽章。",
|
||||
"kEZUR8": "Register an Iris username",
|
||||
"kJYo0u": "{n,plural,=0{{name}已轉發} other{{name}和{n}個其他用戶已轉發}}",
|
||||
"kTLGM2": "{site} is designed to have a similar experience to Twitter.",
|
||||
"kaaf1E": "現在",
|
||||
"kuPHYE": "{n,plural,=0{{name}已點贊} other{{name}和{n}個其他用戶已點贊}}",
|
||||
"l+ikU1": "{plan}提供",
|
||||
@ -372,6 +387,7 @@
|
||||
"lD3+8a": "付款",
|
||||
"lPWASz": "Snort nostr 地址",
|
||||
"lTbT3s": "錢包密碼",
|
||||
"lVKH7C": "What is {site} and how does it work?",
|
||||
"lgg1KN": "帳戶頁面",
|
||||
"ll3xBp": "圖片代理服務",
|
||||
"lnaT9F": "關注 {n}",
|
||||
@ -390,6 +406,7 @@
|
||||
"nN9XTz": "與 {link} 分享你的想法",
|
||||
"nOaArs": "設置個人檔案",
|
||||
"nWQFic": "續訂",
|
||||
"ncbgUU": "{site} is a Nostr UI, nostr is a decentralised protocol for saving and distributing \"notes\".",
|
||||
"nn1qb3": "非常感謝你的捐贈",
|
||||
"nwZXeh": "{n} 已屏蔽",
|
||||
"o6Uy3d": "只有私鑰可用於發布(簽署事件),其他一切都使你以只讀模式登錄。",
|
||||
@ -410,11 +427,11 @@
|
||||
"qMx1sA": "默認打閃金額",
|
||||
"qUJTsT": "已屏蔽",
|
||||
"qdGuQo": "你的私鑰是(不要與任何人分享)",
|
||||
"qfmMQh": "This note has been muted",
|
||||
"qfmMQh": "该筆記已被静音",
|
||||
"qkvYUb": "添加至個人檔案",
|
||||
"qmJ8kD": "翻譯失敗",
|
||||
"qtWLmt": "點贊",
|
||||
"qz9fty": "Incorrect pin",
|
||||
"qz9fty": "PIN 碼不正確",
|
||||
"r3C4x/": "軟件",
|
||||
"r5srDR": "輸入錢包密碼",
|
||||
"rT14Ow": "添加中繼器",
|
||||
@ -423,11 +440,10 @@
|
||||
"rmdsT4": "{n}天",
|
||||
"rrfdTe": "這與比特幣使用的技術系統,並已被證明非常安全。",
|
||||
"rudscU": "加載關注失敗,請稍候重試",
|
||||
"rx1i0i": "Short link",
|
||||
"sKDn4e": "顯示徽章",
|
||||
"sUNhQE": "用戶",
|
||||
"sWnYKw": "Snort 旨在提供類似推特的體驗。",
|
||||
"sZQzjQ": "解析打閃拆分失敗了:{input}",
|
||||
"svOoEH": "不允許搶註和冒充。Snort 和我們的合作夥伴保留因違反此規則而終止你的代號(不是你的帳戶 - 沒有人可以拿走它)的權利。",
|
||||
"tOdNiY": "深色",
|
||||
"th5lxp": "將筆記發送到你的寫入中繼器的子集",
|
||||
"thnRpU": "驗證 NIP-05 可以幫助:",
|
||||
@ -447,11 +463,11 @@
|
||||
"vxwnbh": "適用於所有發佈事件的工作量",
|
||||
"wEQDC6": "編輯",
|
||||
"wLtRCF": "你的密鑰",
|
||||
"wSZR47": "Submit",
|
||||
"wSZR47": "提交",
|
||||
"wWLwvh": "匿名",
|
||||
"wYSD2L": "Nostr 地址",
|
||||
"wih7iJ": "名稱已被屏蔽",
|
||||
"wofVHy": "Moderation",
|
||||
"wofVHy": "審核",
|
||||
"wqyN/i": "在 {link} 瞭解有關 {service} 的更多信息",
|
||||
"wtLjP6": "複製ID",
|
||||
"x/Fx2P": "將部份打閃分配到資金庫來資助你使用的服務!",
|
||||
@ -468,6 +484,7 @@
|
||||
"y1Z3or": "語言",
|
||||
"yCLnBC": "LNURL 或閃電地址",
|
||||
"yCmnnm": "全球提要來自",
|
||||
"yNBPJp": "Help fund the development of {site}",
|
||||
"zCb8fX": "權重",
|
||||
"zFegDD": "聯絡",
|
||||
"zINlao": "所有者",
|
||||
@ -476,5 +493,5 @@
|
||||
"zjJZBd": "你已經準備就緒!",
|
||||
"zonsdq": "加載 LNURL 服務失敗",
|
||||
"zvCDao": "自動顯示最新筆記",
|
||||
"zwb6LR": "<b>Mint:</b> {url}"
|
||||
"zwb6LR": "<b>鑄幣廠:</b> {url}"
|
||||
}
|
||||
|
@ -14,6 +14,23 @@ const appConfig = require("config");
|
||||
|
||||
const isProduction = process.env.NODE_ENV == "production";
|
||||
|
||||
const appTitle = appConfig.get("appTitle");
|
||||
|
||||
const copyPatterns = [
|
||||
{ from: "public/robots.txt" },
|
||||
{ from: "public/nostrich_512.png" },
|
||||
{ from: "public/nostrich_256.png" },
|
||||
{ from: "_headers" },
|
||||
];
|
||||
|
||||
if (appTitle === "iris") {
|
||||
copyPatterns.push({ from: "public/iris/manifest_iris.json", to: "manifest.json" });
|
||||
copyPatterns.push({ from: "public/iris/img", to: "img" });
|
||||
copyPatterns.push({ from: "public/iris/.well-known", to: ".well-known" });
|
||||
} else {
|
||||
copyPatterns.push({ from: "public/manifest.json" });
|
||||
}
|
||||
|
||||
const config = {
|
||||
entry: {
|
||||
main: "./src/index.tsx",
|
||||
@ -39,20 +56,15 @@ const config = {
|
||||
},
|
||||
plugins: [
|
||||
new CopyPlugin({
|
||||
patterns: [
|
||||
{ from: "public/manifest.json" },
|
||||
{ from: "public/robots.txt" },
|
||||
{ from: "public/nostrich_512.png" },
|
||||
{ from: "public/nostrich_256.png" },
|
||||
{ from: "_headers" },
|
||||
],
|
||||
patterns: copyPatterns,
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
template: "public/index.html",
|
||||
favicon: appConfig.get("favicon"),
|
||||
excludeChunks: ["pow", "bench"],
|
||||
templateParameters: {
|
||||
appTitle: appConfig.get("appTitle"),
|
||||
appTitle,
|
||||
appleTouchIconUrl: appConfig.get("appleTouchIconUrl"),
|
||||
},
|
||||
}),
|
||||
new HtmlWebpackPlugin({
|
||||
|
@ -109,16 +109,24 @@ export abstract class FeedCache<TCached> {
|
||||
const k = this.key(obj);
|
||||
this.cache.set(k, obj);
|
||||
if (this.table) {
|
||||
await this.table.put(obj);
|
||||
this.onTable.add(k);
|
||||
try {
|
||||
await this.table.put(obj);
|
||||
this.onTable.add(k);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
this.notifyChange([k]);
|
||||
}
|
||||
|
||||
async bulkSet(obj: Array<TCached> | Readonly<Array<TCached>>) {
|
||||
if (this.table) {
|
||||
await this.table.bulkPut(obj);
|
||||
obj.forEach(a => this.onTable.add(this.key(a)));
|
||||
try {
|
||||
await this.table.bulkPut(obj);
|
||||
obj.forEach(a => this.onTable.add(this.key(a)));
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
obj.forEach(v => this.cache.set(this.key(v), v));
|
||||
this.notifyChange(obj.map(a => this.key(a)));
|
||||
|
@ -11,15 +11,44 @@ export class InvalidPinError extends Error {
|
||||
}
|
||||
}
|
||||
|
||||
export abstract class KeyStorage {
|
||||
// Raw value
|
||||
abstract get value(): string;
|
||||
|
||||
/**
|
||||
* Is the storage locked
|
||||
*/
|
||||
abstract shouldUnlock(): boolean;
|
||||
|
||||
abstract unlock(code: string): Promise<void>;
|
||||
|
||||
/**
|
||||
* Get a payload object which can be serialized to JSON
|
||||
*/
|
||||
abstract toPayload(): Object;
|
||||
|
||||
/**
|
||||
* Create a key storage class from its payload
|
||||
*/
|
||||
static fromPayload(o: object) {
|
||||
if ("raw" in o && typeof o.raw === "string") {
|
||||
return new NotEncrypted(o.raw);
|
||||
} else {
|
||||
return new PinEncrypted(o as unknown as PinEncryptedPayload);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Pin protected data
|
||||
*/
|
||||
export class PinEncrypted {
|
||||
export class PinEncrypted extends KeyStorage {
|
||||
static readonly #opts = { N: 2 ** 20, r: 8, p: 1, dkLen: 32 };
|
||||
#decrypted?: Uint8Array;
|
||||
#encrypted: PinEncryptedPayload;
|
||||
|
||||
constructor(enc: PinEncryptedPayload) {
|
||||
super();
|
||||
this.#encrypted = enc;
|
||||
}
|
||||
|
||||
@ -28,7 +57,11 @@ export class PinEncrypted {
|
||||
return bytesToHex(this.#decrypted);
|
||||
}
|
||||
|
||||
async decrypt(pin: string) {
|
||||
override shouldUnlock(): boolean {
|
||||
return !this.#decrypted;
|
||||
}
|
||||
|
||||
override async unlock(pin: string) {
|
||||
const key = await scryptAsync(pin, base64.decode(this.#encrypted.salt), PinEncrypted.#opts);
|
||||
const ciphertext = base64.decode(this.#encrypted.ciphertext);
|
||||
const nonce = base64.decode(this.#encrypted.iv);
|
||||
@ -61,6 +94,33 @@ export class PinEncrypted {
|
||||
}
|
||||
}
|
||||
|
||||
export class NotEncrypted extends KeyStorage {
|
||||
#key: string;
|
||||
|
||||
constructor(key: string) {
|
||||
super();
|
||||
this.#key = key;
|
||||
}
|
||||
|
||||
get value() {
|
||||
return this.#key;
|
||||
}
|
||||
|
||||
override shouldUnlock(): boolean {
|
||||
return false;
|
||||
}
|
||||
|
||||
override unlock(code: string): Promise<void> {
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
|
||||
override toPayload(): Object {
|
||||
return {
|
||||
raw: this.#key,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export interface PinEncryptedPayload {
|
||||
salt: string; // for KDF
|
||||
ciphertext: string;
|
||||
|
@ -189,7 +189,7 @@ export function transformText(body: string, tags: Array<Array<string>>) {
|
||||
fragments = fragments
|
||||
.map(a => {
|
||||
if (typeof a === "string") {
|
||||
if (a.length > 0) {
|
||||
if (a.trim().length > 0) {
|
||||
return { type: "text", content: a } as ParsedFragment;
|
||||
}
|
||||
} else {
|
||||
|