mirror of
https://github.com/lumehq/lume.git
synced 2025-10-04 18:02:36 +02:00
feat: optimize locale loader
This commit is contained in:
@@ -37,6 +37,7 @@
|
|||||||
"@tanstack/react-query": "^5.17.19",
|
"@tanstack/react-query": "^5.17.19",
|
||||||
"framer-motion": "^10.18.0",
|
"framer-motion": "^10.18.0",
|
||||||
"i18next": "^23.8.0",
|
"i18next": "^23.8.0",
|
||||||
|
"i18next-resources-to-backend": "^1.2.0",
|
||||||
"jotai": "^2.6.3",
|
"jotai": "^2.6.3",
|
||||||
"minidenticons": "^4.2.0",
|
"minidenticons": "^4.2.0",
|
||||||
"nanoid": "^5.0.4",
|
"nanoid": "^5.0.4",
|
||||||
|
@@ -2,32 +2,25 @@ import { resolveResource } from "@tauri-apps/api/path";
|
|||||||
import { readTextFile } from "@tauri-apps/plugin-fs";
|
import { readTextFile } from "@tauri-apps/plugin-fs";
|
||||||
import { locale } from "@tauri-apps/plugin-os";
|
import { locale } from "@tauri-apps/plugin-os";
|
||||||
import i18n from "i18next";
|
import i18n from "i18next";
|
||||||
|
import resourcesToBackend from "i18next-resources-to-backend";
|
||||||
import { initReactI18next } from "react-i18next";
|
import { initReactI18next } from "react-i18next";
|
||||||
|
|
||||||
const enFilePath = await resolveResource("locales/en.json");
|
const currentLocale = (await locale()).slice(0, 2);
|
||||||
const jaFilePath = await resolveResource("locales/ja.json");
|
|
||||||
|
|
||||||
const enLocale = JSON.parse(await readTextFile(enFilePath));
|
i18n
|
||||||
const jaLocale = JSON.parse(await readTextFile(jaFilePath));
|
.use(
|
||||||
|
resourcesToBackend(async (language: string) => {
|
||||||
const osLocale = (await locale()).slice(0, 2);
|
const file_path = await resolveResource(`locales/${language}.json`);
|
||||||
|
return JSON.parse(await readTextFile(file_path));
|
||||||
const resources = {
|
}),
|
||||||
en: {
|
)
|
||||||
translation: enLocale,
|
.use(initReactI18next)
|
||||||
},
|
.init({
|
||||||
ja: {
|
lng: currentLocale,
|
||||||
translation: jaLocale,
|
fallbackLng: "en",
|
||||||
},
|
interpolation: {
|
||||||
};
|
escapeValue: false,
|
||||||
|
},
|
||||||
i18n.use(initReactI18next).init({
|
});
|
||||||
lng: osLocale,
|
|
||||||
fallbackLng: "en",
|
|
||||||
interpolation: {
|
|
||||||
escapeValue: false,
|
|
||||||
},
|
|
||||||
resources,
|
|
||||||
});
|
|
||||||
|
|
||||||
export default i18n;
|
export default i18n;
|
||||||
|
@@ -57,20 +57,19 @@ export function LoginWithKey() {
|
|||||||
<h1 className="text-2xl font-semibold">
|
<h1 className="text-2xl font-semibold">
|
||||||
{t("loginWithPrivkey.title")}
|
{t("loginWithPrivkey.title")}
|
||||||
</h1>
|
</h1>
|
||||||
<Trans
|
<p className="text-lg font-medium whitespace-pre-line leading-snug text-neutral-600 dark:text-neutral-500">
|
||||||
t={t}
|
<Trans t={t}>
|
||||||
className="text-lg font-medium whitespace-pre-line leading-snug text-neutral-600 dark:text-neutral-500"
|
Lume will put your private key to{" "}
|
||||||
>
|
<span className="text-teal-500">
|
||||||
Lume will put your private key to
|
{storage.platform === "macos"
|
||||||
<span className="text-teal-500">
|
? "Apple Keychain"
|
||||||
{storage.platform === "macos"
|
: storage.platform === "windows"
|
||||||
? "Apple Keychain"
|
? "Credential Manager"
|
||||||
: storage.platform === "windows"
|
: "Secret Service"}
|
||||||
? "Credential Manager"
|
</span>
|
||||||
: "Secret Service"}
|
. It will be secured by your OS.
|
||||||
</span>
|
</Trans>
|
||||||
. It will be secured by your OS.
|
</p>
|
||||||
</Trans>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col gap-6">
|
<div className="flex flex-col gap-6">
|
||||||
<form
|
<form
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import { Trans, useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
|
|
||||||
export function LoginScreen() {
|
export function LoginScreen() {
|
||||||
@@ -43,15 +43,9 @@ export function LoginScreen() {
|
|||||||
>
|
>
|
||||||
{t("login.loginWithPrivkey")}
|
{t("login.loginWithPrivkey")}
|
||||||
</Link>
|
</Link>
|
||||||
<Trans
|
<p className="text-sm text-center text-neutral-500">
|
||||||
i18nKey="login.footer"
|
{t("login.footer")}
|
||||||
className="text-sm text-center text-neutral-500"
|
</p>
|
||||||
>
|
|
||||||
Lume will put your Private Key in{" "}
|
|
||||||
<span className="text-teal-600">Secure Storage</span> depended
|
|
||||||
on your OS Platform. It will be secured by Password or Biometric
|
|
||||||
ID
|
|
||||||
</Trans>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
9
pnpm-lock.yaml
generated
9
pnpm-lock.yaml
generated
@@ -153,6 +153,9 @@ importers:
|
|||||||
i18next:
|
i18next:
|
||||||
specifier: ^23.8.0
|
specifier: ^23.8.0
|
||||||
version: 23.8.0
|
version: 23.8.0
|
||||||
|
i18next-resources-to-backend:
|
||||||
|
specifier: ^1.2.0
|
||||||
|
version: 1.2.0
|
||||||
jotai:
|
jotai:
|
||||||
specifier: ^2.6.3
|
specifier: ^2.6.3
|
||||||
version: 2.6.3(@types/react@18.2.48)(react@18.2.0)
|
version: 2.6.3(@types/react@18.2.48)(react@18.2.0)
|
||||||
@@ -5221,6 +5224,12 @@ packages:
|
|||||||
engines: {node: '>=16.17.0'}
|
engines: {node: '>=16.17.0'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/i18next-resources-to-backend@1.2.0:
|
||||||
|
resolution: {integrity: sha512-8f1l03s+QxDmCfpSXCh9V+AFcxAwIp0UaroWuyOx+hmmv8484GcELHs+lnu54FrNij8cDBEXvEwhzZoXsKcVpg==}
|
||||||
|
dependencies:
|
||||||
|
'@babel/runtime': 7.23.9
|
||||||
|
dev: false
|
||||||
|
|
||||||
/i18next@23.8.0:
|
/i18next@23.8.0:
|
||||||
resolution: {integrity: sha512-1H+39doU9dQZrRprpnZ2aZetbX9I1N3bM/YGHN/ZkMJ//wJqrxDEqgI5mmSsh/rglsFBiNxI6UtFZfUO2A6XbA==}
|
resolution: {integrity: sha512-1H+39doU9dQZrRprpnZ2aZetbX9I1N3bM/YGHN/ZkMJ//wJqrxDEqgI5mmSsh/rglsFBiNxI6UtFZfUO2A6XbA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
283
src-tauri/locales/cn.json
Normal file
283
src-tauri/locales/cn.json
Normal file
@@ -0,0 +1,283 @@
|
|||||||
|
{
|
||||||
|
"global": {
|
||||||
|
"relay": "Relay",
|
||||||
|
"back": "Back",
|
||||||
|
"continue": "Continue",
|
||||||
|
"loading": "Loading",
|
||||||
|
"error": "Error",
|
||||||
|
"moveLeft": "Move Left",
|
||||||
|
"moveRight": "Move Right",
|
||||||
|
"newColumn": "New Column",
|
||||||
|
"inspect": "Inspect",
|
||||||
|
"loadMore": "Load more",
|
||||||
|
"delete": "Delete",
|
||||||
|
"refresh": "Refresh",
|
||||||
|
"cancel": "Cancel",
|
||||||
|
"save": "Save",
|
||||||
|
"post": "Post",
|
||||||
|
"update": "Update",
|
||||||
|
"noResult": "No results found.",
|
||||||
|
"emptyFeedTitle": "This feed is empty",
|
||||||
|
"emptyFeedSubtitle": "You can follow more users to build up your timeline",
|
||||||
|
"apiKey": "API Key",
|
||||||
|
"skip": "Skip",
|
||||||
|
"close": "Close"
|
||||||
|
},
|
||||||
|
"nip89": {
|
||||||
|
"unsupported": "Lume isn't support this event",
|
||||||
|
"openWith": "Open with"
|
||||||
|
},
|
||||||
|
"note": {
|
||||||
|
"showThread": "Show thread",
|
||||||
|
"showMore": "Show more",
|
||||||
|
"error": "Failed to fetch event.",
|
||||||
|
"posted": "posted",
|
||||||
|
"replied": "replied",
|
||||||
|
"reposted": "reposted",
|
||||||
|
"menu": {
|
||||||
|
"viewThread": "View thread",
|
||||||
|
"copyLink": "Copy shareable link",
|
||||||
|
"copyNoteId": "Copy note ID",
|
||||||
|
"copyAuthorId": "Copy author ID",
|
||||||
|
"viewAuthor": "View author",
|
||||||
|
"pinAuthor": "Pin author",
|
||||||
|
"copyRaw": "Copy raw event",
|
||||||
|
"mute": "Mute"
|
||||||
|
},
|
||||||
|
"buttons": {
|
||||||
|
"pin": "Pin",
|
||||||
|
"pinTooltip": "Pin Note",
|
||||||
|
"repost": "Repost",
|
||||||
|
"quote": "Quote",
|
||||||
|
"viewProfile": "View profile"
|
||||||
|
},
|
||||||
|
"zap": {
|
||||||
|
"zap": "Zap",
|
||||||
|
"tooltip": "Send zap",
|
||||||
|
"modalTitle": "Send zap to",
|
||||||
|
"messagePlaceholder": "Enter message (optional)",
|
||||||
|
"buttonFinish": "Zapped",
|
||||||
|
"buttonLoading": "Processing...",
|
||||||
|
"invoiceButton": "Scan to zap",
|
||||||
|
"invoiceFooter": "You must use Bitcoin wallet which support Lightning\nsuch as: Blue Wallet, Bitkit, Phoenix,..."
|
||||||
|
},
|
||||||
|
"reply": {
|
||||||
|
"single": "reply",
|
||||||
|
"plural": "replies",
|
||||||
|
"empty": "Be the first to Reply!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"avatar": "Avatar",
|
||||||
|
"displayName": "Display Name",
|
||||||
|
"name": "Name",
|
||||||
|
"bio": "Bio",
|
||||||
|
"lna": "Lightning address",
|
||||||
|
"website": "Website",
|
||||||
|
"verified": "Verified",
|
||||||
|
"unverified": "Unverified",
|
||||||
|
"follow": "Follow",
|
||||||
|
"unfollow": "Unfollow",
|
||||||
|
"latestPosts": "Latest posts",
|
||||||
|
"avatarButton": "Change avatar",
|
||||||
|
"coverButton": "Change cover",
|
||||||
|
"editProfile": "Edit profile",
|
||||||
|
"settings": "Settings",
|
||||||
|
"logout": "Log out",
|
||||||
|
"logoutConfirmTitle": "Are you sure!",
|
||||||
|
"logoutConfirmSubtitle": "You can always log back in at any time. If you just want to switch accounts, you can do that by adding an existing account."
|
||||||
|
},
|
||||||
|
"editor": {
|
||||||
|
"title": "New Post",
|
||||||
|
"placeholder": "What are you up to?",
|
||||||
|
"successMessage": "Your note has been published successfully.",
|
||||||
|
"replyPlaceholder": "Post your reply"
|
||||||
|
},
|
||||||
|
"search": {
|
||||||
|
"placeholder": "Type something to search...",
|
||||||
|
"empty": "Try searching for people, notes, or keywords"
|
||||||
|
},
|
||||||
|
"welcome": {
|
||||||
|
"title": "Lume is a magnificent client for Nostr to meet, explore\nand freely share your thoughts with everyone.",
|
||||||
|
"signup": "Join Nostr",
|
||||||
|
"login": "Login",
|
||||||
|
"footer": "Before joining Nostr, you can take time to learn more about Nostr"
|
||||||
|
},
|
||||||
|
"login": {
|
||||||
|
"title": "Welcome back, anon!",
|
||||||
|
"footer": "Lume will put your Private Key in Secure Storage depended on your OS Platform. It will be secured by Password or Biometric ID",
|
||||||
|
"loginWithAddress": "Login with Nostr Address",
|
||||||
|
"loginWithBunker": "Login with nsecBunker",
|
||||||
|
"or": "Or continue with",
|
||||||
|
"loginWithPrivkey": "Login with Private Key"
|
||||||
|
},
|
||||||
|
"loginWithAddress": {
|
||||||
|
"title": "Enter your Nostr Address"
|
||||||
|
},
|
||||||
|
"loginWithBunker": {
|
||||||
|
"title": "Enter your nsecbunker token"
|
||||||
|
},
|
||||||
|
"loginWithPrivkey": {
|
||||||
|
"title": "Enter your Private Key",
|
||||||
|
"subtitle": "Lume will put your private key to <1>{{service}}</1>.\nIt will be secured by your OS."
|
||||||
|
},
|
||||||
|
"signup": {
|
||||||
|
"title": "Let's Get Started",
|
||||||
|
"subtitle": "Choose one of methods below to create your account",
|
||||||
|
"selfManageMethod": "Self-Managed",
|
||||||
|
"selfManageMethodDescription": "You create your keys and keep them safe.",
|
||||||
|
"providerMethod": "Managed by Provider",
|
||||||
|
"providerMethodDescription": "A 3rd party provider will handle your sign in keys for you."
|
||||||
|
},
|
||||||
|
"signupWithSelfManage": {
|
||||||
|
"title": "This is your new Account Key",
|
||||||
|
"subtitle": "Keep your key in safe place. If you lose this key, you will lose access to your account.",
|
||||||
|
"confirm1": "I understand the risk of lost private key.",
|
||||||
|
"confirm2": "I will make sure keep it safe and not sharing with anyone.",
|
||||||
|
"confirm3": "I understand I cannot recover private key.",
|
||||||
|
"button": "Save key & Continue"
|
||||||
|
},
|
||||||
|
"signupWithProvider": {
|
||||||
|
"title": "Let's set up your account on Nostr",
|
||||||
|
"username": "Username *",
|
||||||
|
"chooseProvider": "Choose a Provider",
|
||||||
|
"usernameFooter": "Use to login to Lume and other Nostr apps. You can choose provider you trust to manage your account",
|
||||||
|
"email": "Backup Email (optional)",
|
||||||
|
"emailFooter": "Use for recover your account if you lose your password"
|
||||||
|
},
|
||||||
|
"onboardingSettings": {
|
||||||
|
"title": "You're almost ready to use Lume.",
|
||||||
|
"subtitle": "Let's start personalizing your experience.",
|
||||||
|
"notification": {
|
||||||
|
"title": "Push notification",
|
||||||
|
"subtitle": "Enabling push notifications will allow you to receive notifications from Lume."
|
||||||
|
},
|
||||||
|
"lowPower": {
|
||||||
|
"title": "Low Power Mode",
|
||||||
|
"subtitle": "Limited relay connection and hide all media, sustainable for low network environment."
|
||||||
|
},
|
||||||
|
"translation": {
|
||||||
|
"title": "Translation (nostr.wine)",
|
||||||
|
"subtitle": "Translate text to your preferred language, powered by Nostr Wine."
|
||||||
|
},
|
||||||
|
"footer": "There are many more settings you can configure from the 'Settings' Screen. Be sure to visit it later."
|
||||||
|
},
|
||||||
|
"relays": {
|
||||||
|
"global": "Global",
|
||||||
|
"follows": "Follows",
|
||||||
|
"sidebar": {
|
||||||
|
"title": "Connected relays",
|
||||||
|
"empty": "Empty."
|
||||||
|
},
|
||||||
|
"relayView": {
|
||||||
|
"empty": "Could not load relay information 😬",
|
||||||
|
"owner": "Owner",
|
||||||
|
"contact": "Contact",
|
||||||
|
"software": "Software",
|
||||||
|
"nips": "Supported NIPs",
|
||||||
|
"limit": "Limitation",
|
||||||
|
"payment": "Open payment website",
|
||||||
|
"paymentNote": "You need to make a payment to connect this relay"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"suggestion": {
|
||||||
|
"title": "Suggested Follows",
|
||||||
|
"error": "Error. Cannot get trending users",
|
||||||
|
"button": "Save & Go back"
|
||||||
|
},
|
||||||
|
"interests": {
|
||||||
|
"title": "Interests",
|
||||||
|
"subtitle": "Pick things you'd like to see in your home feed.",
|
||||||
|
"edit": "Edit Interest",
|
||||||
|
"followAll": "Follow All",
|
||||||
|
"unfollowAll": "Unfollow All"
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"general": {
|
||||||
|
"title": "General",
|
||||||
|
"update": {
|
||||||
|
"title": "Update",
|
||||||
|
"subtitle": "Automatically download new update"
|
||||||
|
},
|
||||||
|
"lowPower": {
|
||||||
|
"title": "Low Power",
|
||||||
|
"subtitle": "Sustainable for low network environment"
|
||||||
|
},
|
||||||
|
"startup": {
|
||||||
|
"title": "Startup",
|
||||||
|
"subtitle": "Launch Lume at Login"
|
||||||
|
},
|
||||||
|
"media": {
|
||||||
|
"title": "Media",
|
||||||
|
"subtitle": "Automatically load media"
|
||||||
|
},
|
||||||
|
"hashtag": {
|
||||||
|
"title": "Hashtag",
|
||||||
|
"subtitle": "Show all hashtags in content"
|
||||||
|
},
|
||||||
|
"notification": {
|
||||||
|
"title": "Notification",
|
||||||
|
"subtitle": "Automatically send notification"
|
||||||
|
},
|
||||||
|
"translation": {
|
||||||
|
"title": "Translation",
|
||||||
|
"subtitle": "Translate text to your language"
|
||||||
|
},
|
||||||
|
"appearance": {
|
||||||
|
"title": "Appearance",
|
||||||
|
"light": "Light",
|
||||||
|
"dark": "Dark",
|
||||||
|
"system": "System"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"title": "User"
|
||||||
|
},
|
||||||
|
"zap": {
|
||||||
|
"title": "Zap",
|
||||||
|
"nwc": "Connection String"
|
||||||
|
},
|
||||||
|
"backup": {
|
||||||
|
"title": "Backup",
|
||||||
|
"privkey": {
|
||||||
|
"title": "Private key",
|
||||||
|
"button": "Remove private key"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"advanced": {
|
||||||
|
"title": "Advanced",
|
||||||
|
"cache": {
|
||||||
|
"title": "Cache",
|
||||||
|
"subtitle": "Use for boost up nostr connection",
|
||||||
|
"button": "Clear"
|
||||||
|
},
|
||||||
|
"instant": {
|
||||||
|
"title": "Instant Zap",
|
||||||
|
"subtitle": "Zap with default amount, no confirmation"
|
||||||
|
},
|
||||||
|
"defaultAmount": "Default amount"
|
||||||
|
},
|
||||||
|
"about": {
|
||||||
|
"title": "About",
|
||||||
|
"version": "Version",
|
||||||
|
"checkUpdate": "Check for update",
|
||||||
|
"installUpdate": "Install"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"onboarding": {
|
||||||
|
"home": {
|
||||||
|
"title": "Your account was successfully created!",
|
||||||
|
"subtitle": "For starters, let's set up your profile.",
|
||||||
|
"profileSettings": "Profile Settings"
|
||||||
|
},
|
||||||
|
"profile": {
|
||||||
|
"title": "About you",
|
||||||
|
"subtitle": "Tell Lume about yourself to start building your home feed."
|
||||||
|
},
|
||||||
|
"finish": {
|
||||||
|
"title": "Profile setup complete!",
|
||||||
|
"subtitle": "You can exit the setup here and start using Lume.",
|
||||||
|
"report": "Report a issue"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -105,7 +105,7 @@
|
|||||||
},
|
},
|
||||||
"login": {
|
"login": {
|
||||||
"title": "Welcome back, anon!",
|
"title": "Welcome back, anon!",
|
||||||
"footer": "Lume will put your Private Key in <1>Secure Storage</1> depended on your OS Platform. It will be secured by Password or Biometric ID",
|
"footer": "Lume will put your Private Key in Secure Storage depended on your OS Platform. It will be secured by Password or Biometric ID",
|
||||||
"loginWithAddress": "Login with Nostr Address",
|
"loginWithAddress": "Login with Nostr Address",
|
||||||
"loginWithBunker": "Login with nsecBunker",
|
"loginWithBunker": "Login with nsecBunker",
|
||||||
"or": "Or continue with",
|
"or": "Or continue with",
|
||||||
|
@@ -1,3 +1,283 @@
|
|||||||
{
|
{
|
||||||
"title": "こんにちは世界"
|
"global": {
|
||||||
|
"relay": "Relay",
|
||||||
|
"back": "Back",
|
||||||
|
"continue": "Continue",
|
||||||
|
"loading": "Loading",
|
||||||
|
"error": "Error",
|
||||||
|
"moveLeft": "Move Left",
|
||||||
|
"moveRight": "Move Right",
|
||||||
|
"newColumn": "New Column",
|
||||||
|
"inspect": "Inspect",
|
||||||
|
"loadMore": "Load more",
|
||||||
|
"delete": "Delete",
|
||||||
|
"refresh": "Refresh",
|
||||||
|
"cancel": "Cancel",
|
||||||
|
"save": "Save",
|
||||||
|
"post": "Post",
|
||||||
|
"update": "Update",
|
||||||
|
"noResult": "No results found.",
|
||||||
|
"emptyFeedTitle": "This feed is empty",
|
||||||
|
"emptyFeedSubtitle": "You can follow more users to build up your timeline",
|
||||||
|
"apiKey": "API Key",
|
||||||
|
"skip": "Skip",
|
||||||
|
"close": "Close"
|
||||||
|
},
|
||||||
|
"nip89": {
|
||||||
|
"unsupported": "Lume isn't support this event",
|
||||||
|
"openWith": "Open with"
|
||||||
|
},
|
||||||
|
"note": {
|
||||||
|
"showThread": "Show thread",
|
||||||
|
"showMore": "Show more",
|
||||||
|
"error": "Failed to fetch event.",
|
||||||
|
"posted": "posted",
|
||||||
|
"replied": "replied",
|
||||||
|
"reposted": "reposted",
|
||||||
|
"menu": {
|
||||||
|
"viewThread": "View thread",
|
||||||
|
"copyLink": "Copy shareable link",
|
||||||
|
"copyNoteId": "Copy note ID",
|
||||||
|
"copyAuthorId": "Copy author ID",
|
||||||
|
"viewAuthor": "View author",
|
||||||
|
"pinAuthor": "Pin author",
|
||||||
|
"copyRaw": "Copy raw event",
|
||||||
|
"mute": "Mute"
|
||||||
|
},
|
||||||
|
"buttons": {
|
||||||
|
"pin": "Pin",
|
||||||
|
"pinTooltip": "Pin Note",
|
||||||
|
"repost": "Repost",
|
||||||
|
"quote": "Quote",
|
||||||
|
"viewProfile": "View profile"
|
||||||
|
},
|
||||||
|
"zap": {
|
||||||
|
"zap": "Zap",
|
||||||
|
"tooltip": "Send zap",
|
||||||
|
"modalTitle": "Send zap to",
|
||||||
|
"messagePlaceholder": "Enter message (optional)",
|
||||||
|
"buttonFinish": "Zapped",
|
||||||
|
"buttonLoading": "Processing...",
|
||||||
|
"invoiceButton": "Scan to zap",
|
||||||
|
"invoiceFooter": "You must use Bitcoin wallet which support Lightning\nsuch as: Blue Wallet, Bitkit, Phoenix,..."
|
||||||
|
},
|
||||||
|
"reply": {
|
||||||
|
"single": "reply",
|
||||||
|
"plural": "replies",
|
||||||
|
"empty": "Be the first to Reply!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"avatar": "Avatar",
|
||||||
|
"displayName": "Display Name",
|
||||||
|
"name": "Name",
|
||||||
|
"bio": "Bio",
|
||||||
|
"lna": "Lightning address",
|
||||||
|
"website": "Website",
|
||||||
|
"verified": "Verified",
|
||||||
|
"unverified": "Unverified",
|
||||||
|
"follow": "Follow",
|
||||||
|
"unfollow": "Unfollow",
|
||||||
|
"latestPosts": "Latest posts",
|
||||||
|
"avatarButton": "Change avatar",
|
||||||
|
"coverButton": "Change cover",
|
||||||
|
"editProfile": "Edit profile",
|
||||||
|
"settings": "Settings",
|
||||||
|
"logout": "Log out",
|
||||||
|
"logoutConfirmTitle": "Are you sure!",
|
||||||
|
"logoutConfirmSubtitle": "You can always log back in at any time. If you just want to switch accounts, you can do that by adding an existing account."
|
||||||
|
},
|
||||||
|
"editor": {
|
||||||
|
"title": "New Post",
|
||||||
|
"placeholder": "What are you up to?",
|
||||||
|
"successMessage": "Your note has been published successfully.",
|
||||||
|
"replyPlaceholder": "Post your reply"
|
||||||
|
},
|
||||||
|
"search": {
|
||||||
|
"placeholder": "Type something to search...",
|
||||||
|
"empty": "Try searching for people, notes, or keywords"
|
||||||
|
},
|
||||||
|
"welcome": {
|
||||||
|
"title": "Lume is a magnificent client for Nostr to meet, explore\nand freely share your thoughts with everyone.",
|
||||||
|
"signup": "Join Nostr",
|
||||||
|
"login": "Login",
|
||||||
|
"footer": "Before joining Nostr, you can take time to learn more about Nostr"
|
||||||
|
},
|
||||||
|
"login": {
|
||||||
|
"title": "Welcome back, anon!",
|
||||||
|
"footer": "Lume will put your Private Key in Secure Storage depended on your OS Platform. It will be secured by Password or Biometric ID",
|
||||||
|
"loginWithAddress": "Login with Nostr Address",
|
||||||
|
"loginWithBunker": "Login with nsecBunker",
|
||||||
|
"or": "Or continue with",
|
||||||
|
"loginWithPrivkey": "Login with Private Key"
|
||||||
|
},
|
||||||
|
"loginWithAddress": {
|
||||||
|
"title": "Enter your Nostr Address"
|
||||||
|
},
|
||||||
|
"loginWithBunker": {
|
||||||
|
"title": "Enter your nsecbunker token"
|
||||||
|
},
|
||||||
|
"loginWithPrivkey": {
|
||||||
|
"title": "Enter your Private Key",
|
||||||
|
"subtitle": "Lume will put your private key to <1>{{service}}</1>.\nIt will be secured by your OS."
|
||||||
|
},
|
||||||
|
"signup": {
|
||||||
|
"title": "Let's Get Started",
|
||||||
|
"subtitle": "Choose one of methods below to create your account",
|
||||||
|
"selfManageMethod": "Self-Managed",
|
||||||
|
"selfManageMethodDescription": "You create your keys and keep them safe.",
|
||||||
|
"providerMethod": "Managed by Provider",
|
||||||
|
"providerMethodDescription": "A 3rd party provider will handle your sign in keys for you."
|
||||||
|
},
|
||||||
|
"signupWithSelfManage": {
|
||||||
|
"title": "This is your new Account Key",
|
||||||
|
"subtitle": "Keep your key in safe place. If you lose this key, you will lose access to your account.",
|
||||||
|
"confirm1": "I understand the risk of lost private key.",
|
||||||
|
"confirm2": "I will make sure keep it safe and not sharing with anyone.",
|
||||||
|
"confirm3": "I understand I cannot recover private key.",
|
||||||
|
"button": "Save key & Continue"
|
||||||
|
},
|
||||||
|
"signupWithProvider": {
|
||||||
|
"title": "Let's set up your account on Nostr",
|
||||||
|
"username": "Username *",
|
||||||
|
"chooseProvider": "Choose a Provider",
|
||||||
|
"usernameFooter": "Use to login to Lume and other Nostr apps. You can choose provider you trust to manage your account",
|
||||||
|
"email": "Backup Email (optional)",
|
||||||
|
"emailFooter": "Use for recover your account if you lose your password"
|
||||||
|
},
|
||||||
|
"onboardingSettings": {
|
||||||
|
"title": "You're almost ready to use Lume.",
|
||||||
|
"subtitle": "Let's start personalizing your experience.",
|
||||||
|
"notification": {
|
||||||
|
"title": "Push notification",
|
||||||
|
"subtitle": "Enabling push notifications will allow you to receive notifications from Lume."
|
||||||
|
},
|
||||||
|
"lowPower": {
|
||||||
|
"title": "Low Power Mode",
|
||||||
|
"subtitle": "Limited relay connection and hide all media, sustainable for low network environment."
|
||||||
|
},
|
||||||
|
"translation": {
|
||||||
|
"title": "Translation (nostr.wine)",
|
||||||
|
"subtitle": "Translate text to your preferred language, powered by Nostr Wine."
|
||||||
|
},
|
||||||
|
"footer": "There are many more settings you can configure from the 'Settings' Screen. Be sure to visit it later."
|
||||||
|
},
|
||||||
|
"relays": {
|
||||||
|
"global": "Global",
|
||||||
|
"follows": "Follows",
|
||||||
|
"sidebar": {
|
||||||
|
"title": "Connected relays",
|
||||||
|
"empty": "Empty."
|
||||||
|
},
|
||||||
|
"relayView": {
|
||||||
|
"empty": "Could not load relay information 😬",
|
||||||
|
"owner": "Owner",
|
||||||
|
"contact": "Contact",
|
||||||
|
"software": "Software",
|
||||||
|
"nips": "Supported NIPs",
|
||||||
|
"limit": "Limitation",
|
||||||
|
"payment": "Open payment website",
|
||||||
|
"paymentNote": "You need to make a payment to connect this relay"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"suggestion": {
|
||||||
|
"title": "Suggested Follows",
|
||||||
|
"error": "Error. Cannot get trending users",
|
||||||
|
"button": "Save & Go back"
|
||||||
|
},
|
||||||
|
"interests": {
|
||||||
|
"title": "Interests",
|
||||||
|
"subtitle": "Pick things you'd like to see in your home feed.",
|
||||||
|
"edit": "Edit Interest",
|
||||||
|
"followAll": "Follow All",
|
||||||
|
"unfollowAll": "Unfollow All"
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"general": {
|
||||||
|
"title": "General",
|
||||||
|
"update": {
|
||||||
|
"title": "Update",
|
||||||
|
"subtitle": "Automatically download new update"
|
||||||
|
},
|
||||||
|
"lowPower": {
|
||||||
|
"title": "Low Power",
|
||||||
|
"subtitle": "Sustainable for low network environment"
|
||||||
|
},
|
||||||
|
"startup": {
|
||||||
|
"title": "Startup",
|
||||||
|
"subtitle": "Launch Lume at Login"
|
||||||
|
},
|
||||||
|
"media": {
|
||||||
|
"title": "Media",
|
||||||
|
"subtitle": "Automatically load media"
|
||||||
|
},
|
||||||
|
"hashtag": {
|
||||||
|
"title": "Hashtag",
|
||||||
|
"subtitle": "Show all hashtags in content"
|
||||||
|
},
|
||||||
|
"notification": {
|
||||||
|
"title": "Notification",
|
||||||
|
"subtitle": "Automatically send notification"
|
||||||
|
},
|
||||||
|
"translation": {
|
||||||
|
"title": "Translation",
|
||||||
|
"subtitle": "Translate text to your language"
|
||||||
|
},
|
||||||
|
"appearance": {
|
||||||
|
"title": "Appearance",
|
||||||
|
"light": "Light",
|
||||||
|
"dark": "Dark",
|
||||||
|
"system": "System"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"title": "User"
|
||||||
|
},
|
||||||
|
"zap": {
|
||||||
|
"title": "Zap",
|
||||||
|
"nwc": "Connection String"
|
||||||
|
},
|
||||||
|
"backup": {
|
||||||
|
"title": "Backup",
|
||||||
|
"privkey": {
|
||||||
|
"title": "Private key",
|
||||||
|
"button": "Remove private key"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"advanced": {
|
||||||
|
"title": "Advanced",
|
||||||
|
"cache": {
|
||||||
|
"title": "Cache",
|
||||||
|
"subtitle": "Use for boost up nostr connection",
|
||||||
|
"button": "Clear"
|
||||||
|
},
|
||||||
|
"instant": {
|
||||||
|
"title": "Instant Zap",
|
||||||
|
"subtitle": "Zap with default amount, no confirmation"
|
||||||
|
},
|
||||||
|
"defaultAmount": "Default amount"
|
||||||
|
},
|
||||||
|
"about": {
|
||||||
|
"title": "About",
|
||||||
|
"version": "Version",
|
||||||
|
"checkUpdate": "Check for update",
|
||||||
|
"installUpdate": "Install"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"onboarding": {
|
||||||
|
"home": {
|
||||||
|
"title": "Your account was successfully created!",
|
||||||
|
"subtitle": "For starters, let's set up your profile.",
|
||||||
|
"profileSettings": "Profile Settings"
|
||||||
|
},
|
||||||
|
"profile": {
|
||||||
|
"title": "About you",
|
||||||
|
"subtitle": "Tell Lume about yourself to start building your home feed."
|
||||||
|
},
|
||||||
|
"finish": {
|
||||||
|
"title": "Profile setup complete!",
|
||||||
|
"subtitle": "You can exit the setup here and start using Lume.",
|
||||||
|
"report": "Report a issue"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
283
src-tauri/locales/ru.json
Normal file
283
src-tauri/locales/ru.json
Normal file
@@ -0,0 +1,283 @@
|
|||||||
|
{
|
||||||
|
"global": {
|
||||||
|
"relay": "Relay",
|
||||||
|
"back": "Back",
|
||||||
|
"continue": "Continue",
|
||||||
|
"loading": "Loading",
|
||||||
|
"error": "Error",
|
||||||
|
"moveLeft": "Move Left",
|
||||||
|
"moveRight": "Move Right",
|
||||||
|
"newColumn": "New Column",
|
||||||
|
"inspect": "Inspect",
|
||||||
|
"loadMore": "Load more",
|
||||||
|
"delete": "Delete",
|
||||||
|
"refresh": "Refresh",
|
||||||
|
"cancel": "Cancel",
|
||||||
|
"save": "Save",
|
||||||
|
"post": "Post",
|
||||||
|
"update": "Update",
|
||||||
|
"noResult": "No results found.",
|
||||||
|
"emptyFeedTitle": "This feed is empty",
|
||||||
|
"emptyFeedSubtitle": "You can follow more users to build up your timeline",
|
||||||
|
"apiKey": "API Key",
|
||||||
|
"skip": "Skip",
|
||||||
|
"close": "Close"
|
||||||
|
},
|
||||||
|
"nip89": {
|
||||||
|
"unsupported": "Lume isn't support this event",
|
||||||
|
"openWith": "Open with"
|
||||||
|
},
|
||||||
|
"note": {
|
||||||
|
"showThread": "Show thread",
|
||||||
|
"showMore": "Show more",
|
||||||
|
"error": "Failed to fetch event.",
|
||||||
|
"posted": "posted",
|
||||||
|
"replied": "replied",
|
||||||
|
"reposted": "reposted",
|
||||||
|
"menu": {
|
||||||
|
"viewThread": "View thread",
|
||||||
|
"copyLink": "Copy shareable link",
|
||||||
|
"copyNoteId": "Copy note ID",
|
||||||
|
"copyAuthorId": "Copy author ID",
|
||||||
|
"viewAuthor": "View author",
|
||||||
|
"pinAuthor": "Pin author",
|
||||||
|
"copyRaw": "Copy raw event",
|
||||||
|
"mute": "Mute"
|
||||||
|
},
|
||||||
|
"buttons": {
|
||||||
|
"pin": "Pin",
|
||||||
|
"pinTooltip": "Pin Note",
|
||||||
|
"repost": "Repost",
|
||||||
|
"quote": "Quote",
|
||||||
|
"viewProfile": "View profile"
|
||||||
|
},
|
||||||
|
"zap": {
|
||||||
|
"zap": "Zap",
|
||||||
|
"tooltip": "Send zap",
|
||||||
|
"modalTitle": "Send zap to",
|
||||||
|
"messagePlaceholder": "Enter message (optional)",
|
||||||
|
"buttonFinish": "Zapped",
|
||||||
|
"buttonLoading": "Processing...",
|
||||||
|
"invoiceButton": "Scan to zap",
|
||||||
|
"invoiceFooter": "You must use Bitcoin wallet which support Lightning\nsuch as: Blue Wallet, Bitkit, Phoenix,..."
|
||||||
|
},
|
||||||
|
"reply": {
|
||||||
|
"single": "reply",
|
||||||
|
"plural": "replies",
|
||||||
|
"empty": "Be the first to Reply!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"avatar": "Avatar",
|
||||||
|
"displayName": "Display Name",
|
||||||
|
"name": "Name",
|
||||||
|
"bio": "Bio",
|
||||||
|
"lna": "Lightning address",
|
||||||
|
"website": "Website",
|
||||||
|
"verified": "Verified",
|
||||||
|
"unverified": "Unverified",
|
||||||
|
"follow": "Follow",
|
||||||
|
"unfollow": "Unfollow",
|
||||||
|
"latestPosts": "Latest posts",
|
||||||
|
"avatarButton": "Change avatar",
|
||||||
|
"coverButton": "Change cover",
|
||||||
|
"editProfile": "Edit profile",
|
||||||
|
"settings": "Settings",
|
||||||
|
"logout": "Log out",
|
||||||
|
"logoutConfirmTitle": "Are you sure!",
|
||||||
|
"logoutConfirmSubtitle": "You can always log back in at any time. If you just want to switch accounts, you can do that by adding an existing account."
|
||||||
|
},
|
||||||
|
"editor": {
|
||||||
|
"title": "New Post",
|
||||||
|
"placeholder": "What are you up to?",
|
||||||
|
"successMessage": "Your note has been published successfully.",
|
||||||
|
"replyPlaceholder": "Post your reply"
|
||||||
|
},
|
||||||
|
"search": {
|
||||||
|
"placeholder": "Type something to search...",
|
||||||
|
"empty": "Try searching for people, notes, or keywords"
|
||||||
|
},
|
||||||
|
"welcome": {
|
||||||
|
"title": "Lume is a magnificent client for Nostr to meet, explore\nand freely share your thoughts with everyone.",
|
||||||
|
"signup": "Join Nostr",
|
||||||
|
"login": "Login",
|
||||||
|
"footer": "Before joining Nostr, you can take time to learn more about Nostr"
|
||||||
|
},
|
||||||
|
"login": {
|
||||||
|
"title": "Welcome back, anon!",
|
||||||
|
"footer": "Lume will put your Private Key in Secure Storage depended on your OS Platform. It will be secured by Password or Biometric ID",
|
||||||
|
"loginWithAddress": "Login with Nostr Address",
|
||||||
|
"loginWithBunker": "Login with nsecBunker",
|
||||||
|
"or": "Or continue with",
|
||||||
|
"loginWithPrivkey": "Login with Private Key"
|
||||||
|
},
|
||||||
|
"loginWithAddress": {
|
||||||
|
"title": "Enter your Nostr Address"
|
||||||
|
},
|
||||||
|
"loginWithBunker": {
|
||||||
|
"title": "Enter your nsecbunker token"
|
||||||
|
},
|
||||||
|
"loginWithPrivkey": {
|
||||||
|
"title": "Enter your Private Key",
|
||||||
|
"subtitle": "Lume will put your private key to <1>{{service}}</1>.\nIt will be secured by your OS."
|
||||||
|
},
|
||||||
|
"signup": {
|
||||||
|
"title": "Let's Get Started",
|
||||||
|
"subtitle": "Choose one of methods below to create your account",
|
||||||
|
"selfManageMethod": "Self-Managed",
|
||||||
|
"selfManageMethodDescription": "You create your keys and keep them safe.",
|
||||||
|
"providerMethod": "Managed by Provider",
|
||||||
|
"providerMethodDescription": "A 3rd party provider will handle your sign in keys for you."
|
||||||
|
},
|
||||||
|
"signupWithSelfManage": {
|
||||||
|
"title": "This is your new Account Key",
|
||||||
|
"subtitle": "Keep your key in safe place. If you lose this key, you will lose access to your account.",
|
||||||
|
"confirm1": "I understand the risk of lost private key.",
|
||||||
|
"confirm2": "I will make sure keep it safe and not sharing with anyone.",
|
||||||
|
"confirm3": "I understand I cannot recover private key.",
|
||||||
|
"button": "Save key & Continue"
|
||||||
|
},
|
||||||
|
"signupWithProvider": {
|
||||||
|
"title": "Let's set up your account on Nostr",
|
||||||
|
"username": "Username *",
|
||||||
|
"chooseProvider": "Choose a Provider",
|
||||||
|
"usernameFooter": "Use to login to Lume and other Nostr apps. You can choose provider you trust to manage your account",
|
||||||
|
"email": "Backup Email (optional)",
|
||||||
|
"emailFooter": "Use for recover your account if you lose your password"
|
||||||
|
},
|
||||||
|
"onboardingSettings": {
|
||||||
|
"title": "You're almost ready to use Lume.",
|
||||||
|
"subtitle": "Let's start personalizing your experience.",
|
||||||
|
"notification": {
|
||||||
|
"title": "Push notification",
|
||||||
|
"subtitle": "Enabling push notifications will allow you to receive notifications from Lume."
|
||||||
|
},
|
||||||
|
"lowPower": {
|
||||||
|
"title": "Low Power Mode",
|
||||||
|
"subtitle": "Limited relay connection and hide all media, sustainable for low network environment."
|
||||||
|
},
|
||||||
|
"translation": {
|
||||||
|
"title": "Translation (nostr.wine)",
|
||||||
|
"subtitle": "Translate text to your preferred language, powered by Nostr Wine."
|
||||||
|
},
|
||||||
|
"footer": "There are many more settings you can configure from the 'Settings' Screen. Be sure to visit it later."
|
||||||
|
},
|
||||||
|
"relays": {
|
||||||
|
"global": "Global",
|
||||||
|
"follows": "Follows",
|
||||||
|
"sidebar": {
|
||||||
|
"title": "Connected relays",
|
||||||
|
"empty": "Empty."
|
||||||
|
},
|
||||||
|
"relayView": {
|
||||||
|
"empty": "Could not load relay information 😬",
|
||||||
|
"owner": "Owner",
|
||||||
|
"contact": "Contact",
|
||||||
|
"software": "Software",
|
||||||
|
"nips": "Supported NIPs",
|
||||||
|
"limit": "Limitation",
|
||||||
|
"payment": "Open payment website",
|
||||||
|
"paymentNote": "You need to make a payment to connect this relay"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"suggestion": {
|
||||||
|
"title": "Suggested Follows",
|
||||||
|
"error": "Error. Cannot get trending users",
|
||||||
|
"button": "Save & Go back"
|
||||||
|
},
|
||||||
|
"interests": {
|
||||||
|
"title": "Interests",
|
||||||
|
"subtitle": "Pick things you'd like to see in your home feed.",
|
||||||
|
"edit": "Edit Interest",
|
||||||
|
"followAll": "Follow All",
|
||||||
|
"unfollowAll": "Unfollow All"
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"general": {
|
||||||
|
"title": "General",
|
||||||
|
"update": {
|
||||||
|
"title": "Update",
|
||||||
|
"subtitle": "Automatically download new update"
|
||||||
|
},
|
||||||
|
"lowPower": {
|
||||||
|
"title": "Low Power",
|
||||||
|
"subtitle": "Sustainable for low network environment"
|
||||||
|
},
|
||||||
|
"startup": {
|
||||||
|
"title": "Startup",
|
||||||
|
"subtitle": "Launch Lume at Login"
|
||||||
|
},
|
||||||
|
"media": {
|
||||||
|
"title": "Media",
|
||||||
|
"subtitle": "Automatically load media"
|
||||||
|
},
|
||||||
|
"hashtag": {
|
||||||
|
"title": "Hashtag",
|
||||||
|
"subtitle": "Show all hashtags in content"
|
||||||
|
},
|
||||||
|
"notification": {
|
||||||
|
"title": "Notification",
|
||||||
|
"subtitle": "Automatically send notification"
|
||||||
|
},
|
||||||
|
"translation": {
|
||||||
|
"title": "Translation",
|
||||||
|
"subtitle": "Translate text to your language"
|
||||||
|
},
|
||||||
|
"appearance": {
|
||||||
|
"title": "Appearance",
|
||||||
|
"light": "Light",
|
||||||
|
"dark": "Dark",
|
||||||
|
"system": "System"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"title": "User"
|
||||||
|
},
|
||||||
|
"zap": {
|
||||||
|
"title": "Zap",
|
||||||
|
"nwc": "Connection String"
|
||||||
|
},
|
||||||
|
"backup": {
|
||||||
|
"title": "Backup",
|
||||||
|
"privkey": {
|
||||||
|
"title": "Private key",
|
||||||
|
"button": "Remove private key"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"advanced": {
|
||||||
|
"title": "Advanced",
|
||||||
|
"cache": {
|
||||||
|
"title": "Cache",
|
||||||
|
"subtitle": "Use for boost up nostr connection",
|
||||||
|
"button": "Clear"
|
||||||
|
},
|
||||||
|
"instant": {
|
||||||
|
"title": "Instant Zap",
|
||||||
|
"subtitle": "Zap with default amount, no confirmation"
|
||||||
|
},
|
||||||
|
"defaultAmount": "Default amount"
|
||||||
|
},
|
||||||
|
"about": {
|
||||||
|
"title": "About",
|
||||||
|
"version": "Version",
|
||||||
|
"checkUpdate": "Check for update",
|
||||||
|
"installUpdate": "Install"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"onboarding": {
|
||||||
|
"home": {
|
||||||
|
"title": "Your account was successfully created!",
|
||||||
|
"subtitle": "For starters, let's set up your profile.",
|
||||||
|
"profileSettings": "Profile Settings"
|
||||||
|
},
|
||||||
|
"profile": {
|
||||||
|
"title": "About you",
|
||||||
|
"subtitle": "Tell Lume about yourself to start building your home feed."
|
||||||
|
},
|
||||||
|
"finish": {
|
||||||
|
"title": "Profile setup complete!",
|
||||||
|
"subtitle": "You can exit the setup here and start using Lume.",
|
||||||
|
"report": "Report a issue"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
283
src-tauri/locales/vi.json
Normal file
283
src-tauri/locales/vi.json
Normal file
@@ -0,0 +1,283 @@
|
|||||||
|
{
|
||||||
|
"global": {
|
||||||
|
"relay": "Relay",
|
||||||
|
"back": "Back",
|
||||||
|
"continue": "Continue",
|
||||||
|
"loading": "Loading",
|
||||||
|
"error": "Error",
|
||||||
|
"moveLeft": "Move Left",
|
||||||
|
"moveRight": "Move Right",
|
||||||
|
"newColumn": "New Column",
|
||||||
|
"inspect": "Inspect",
|
||||||
|
"loadMore": "Load more",
|
||||||
|
"delete": "Delete",
|
||||||
|
"refresh": "Refresh",
|
||||||
|
"cancel": "Cancel",
|
||||||
|
"save": "Save",
|
||||||
|
"post": "Post",
|
||||||
|
"update": "Update",
|
||||||
|
"noResult": "No results found.",
|
||||||
|
"emptyFeedTitle": "This feed is empty",
|
||||||
|
"emptyFeedSubtitle": "You can follow more users to build up your timeline",
|
||||||
|
"apiKey": "API Key",
|
||||||
|
"skip": "Skip",
|
||||||
|
"close": "Close"
|
||||||
|
},
|
||||||
|
"nip89": {
|
||||||
|
"unsupported": "Lume isn't support this event",
|
||||||
|
"openWith": "Open with"
|
||||||
|
},
|
||||||
|
"note": {
|
||||||
|
"showThread": "Show thread",
|
||||||
|
"showMore": "Show more",
|
||||||
|
"error": "Failed to fetch event.",
|
||||||
|
"posted": "posted",
|
||||||
|
"replied": "replied",
|
||||||
|
"reposted": "reposted",
|
||||||
|
"menu": {
|
||||||
|
"viewThread": "View thread",
|
||||||
|
"copyLink": "Copy shareable link",
|
||||||
|
"copyNoteId": "Copy note ID",
|
||||||
|
"copyAuthorId": "Copy author ID",
|
||||||
|
"viewAuthor": "View author",
|
||||||
|
"pinAuthor": "Pin author",
|
||||||
|
"copyRaw": "Copy raw event",
|
||||||
|
"mute": "Mute"
|
||||||
|
},
|
||||||
|
"buttons": {
|
||||||
|
"pin": "Pin",
|
||||||
|
"pinTooltip": "Pin Note",
|
||||||
|
"repost": "Repost",
|
||||||
|
"quote": "Quote",
|
||||||
|
"viewProfile": "View profile"
|
||||||
|
},
|
||||||
|
"zap": {
|
||||||
|
"zap": "Zap",
|
||||||
|
"tooltip": "Send zap",
|
||||||
|
"modalTitle": "Send zap to",
|
||||||
|
"messagePlaceholder": "Enter message (optional)",
|
||||||
|
"buttonFinish": "Zapped",
|
||||||
|
"buttonLoading": "Processing...",
|
||||||
|
"invoiceButton": "Scan to zap",
|
||||||
|
"invoiceFooter": "You must use Bitcoin wallet which support Lightning\nsuch as: Blue Wallet, Bitkit, Phoenix,..."
|
||||||
|
},
|
||||||
|
"reply": {
|
||||||
|
"single": "reply",
|
||||||
|
"plural": "replies",
|
||||||
|
"empty": "Be the first to Reply!"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"avatar": "Avatar",
|
||||||
|
"displayName": "Display Name",
|
||||||
|
"name": "Name",
|
||||||
|
"bio": "Bio",
|
||||||
|
"lna": "Lightning address",
|
||||||
|
"website": "Website",
|
||||||
|
"verified": "Verified",
|
||||||
|
"unverified": "Unverified",
|
||||||
|
"follow": "Follow",
|
||||||
|
"unfollow": "Unfollow",
|
||||||
|
"latestPosts": "Latest posts",
|
||||||
|
"avatarButton": "Change avatar",
|
||||||
|
"coverButton": "Change cover",
|
||||||
|
"editProfile": "Edit profile",
|
||||||
|
"settings": "Settings",
|
||||||
|
"logout": "Log out",
|
||||||
|
"logoutConfirmTitle": "Are you sure!",
|
||||||
|
"logoutConfirmSubtitle": "You can always log back in at any time. If you just want to switch accounts, you can do that by adding an existing account."
|
||||||
|
},
|
||||||
|
"editor": {
|
||||||
|
"title": "New Post",
|
||||||
|
"placeholder": "What are you up to?",
|
||||||
|
"successMessage": "Your note has been published successfully.",
|
||||||
|
"replyPlaceholder": "Post your reply"
|
||||||
|
},
|
||||||
|
"search": {
|
||||||
|
"placeholder": "Type something to search...",
|
||||||
|
"empty": "Try searching for people, notes, or keywords"
|
||||||
|
},
|
||||||
|
"welcome": {
|
||||||
|
"title": "Lume is a magnificent client for Nostr to meet, explore\nand freely share your thoughts with everyone.",
|
||||||
|
"signup": "Join Nostr",
|
||||||
|
"login": "Login",
|
||||||
|
"footer": "Before joining Nostr, you can take time to learn more about Nostr"
|
||||||
|
},
|
||||||
|
"login": {
|
||||||
|
"title": "Welcome back, anon!",
|
||||||
|
"footer": "Lume will put your Private Key in Secure Storage depended on your OS Platform. It will be secured by Password or Biometric ID",
|
||||||
|
"loginWithAddress": "Login with Nostr Address",
|
||||||
|
"loginWithBunker": "Login with nsecBunker",
|
||||||
|
"or": "Or continue with",
|
||||||
|
"loginWithPrivkey": "Login with Private Key"
|
||||||
|
},
|
||||||
|
"loginWithAddress": {
|
||||||
|
"title": "Enter your Nostr Address"
|
||||||
|
},
|
||||||
|
"loginWithBunker": {
|
||||||
|
"title": "Enter your nsecbunker token"
|
||||||
|
},
|
||||||
|
"loginWithPrivkey": {
|
||||||
|
"title": "Enter your Private Key",
|
||||||
|
"subtitle": "Lume will put your private key to <1>{{service}}</1>.\nIt will be secured by your OS."
|
||||||
|
},
|
||||||
|
"signup": {
|
||||||
|
"title": "Let's Get Started",
|
||||||
|
"subtitle": "Choose one of methods below to create your account",
|
||||||
|
"selfManageMethod": "Self-Managed",
|
||||||
|
"selfManageMethodDescription": "You create your keys and keep them safe.",
|
||||||
|
"providerMethod": "Managed by Provider",
|
||||||
|
"providerMethodDescription": "A 3rd party provider will handle your sign in keys for you."
|
||||||
|
},
|
||||||
|
"signupWithSelfManage": {
|
||||||
|
"title": "This is your new Account Key",
|
||||||
|
"subtitle": "Keep your key in safe place. If you lose this key, you will lose access to your account.",
|
||||||
|
"confirm1": "I understand the risk of lost private key.",
|
||||||
|
"confirm2": "I will make sure keep it safe and not sharing with anyone.",
|
||||||
|
"confirm3": "I understand I cannot recover private key.",
|
||||||
|
"button": "Save key & Continue"
|
||||||
|
},
|
||||||
|
"signupWithProvider": {
|
||||||
|
"title": "Let's set up your account on Nostr",
|
||||||
|
"username": "Username *",
|
||||||
|
"chooseProvider": "Choose a Provider",
|
||||||
|
"usernameFooter": "Use to login to Lume and other Nostr apps. You can choose provider you trust to manage your account",
|
||||||
|
"email": "Backup Email (optional)",
|
||||||
|
"emailFooter": "Use for recover your account if you lose your password"
|
||||||
|
},
|
||||||
|
"onboardingSettings": {
|
||||||
|
"title": "You're almost ready to use Lume.",
|
||||||
|
"subtitle": "Let's start personalizing your experience.",
|
||||||
|
"notification": {
|
||||||
|
"title": "Push notification",
|
||||||
|
"subtitle": "Enabling push notifications will allow you to receive notifications from Lume."
|
||||||
|
},
|
||||||
|
"lowPower": {
|
||||||
|
"title": "Low Power Mode",
|
||||||
|
"subtitle": "Limited relay connection and hide all media, sustainable for low network environment."
|
||||||
|
},
|
||||||
|
"translation": {
|
||||||
|
"title": "Translation (nostr.wine)",
|
||||||
|
"subtitle": "Translate text to your preferred language, powered by Nostr Wine."
|
||||||
|
},
|
||||||
|
"footer": "There are many more settings you can configure from the 'Settings' Screen. Be sure to visit it later."
|
||||||
|
},
|
||||||
|
"relays": {
|
||||||
|
"global": "Global",
|
||||||
|
"follows": "Follows",
|
||||||
|
"sidebar": {
|
||||||
|
"title": "Connected relays",
|
||||||
|
"empty": "Empty."
|
||||||
|
},
|
||||||
|
"relayView": {
|
||||||
|
"empty": "Could not load relay information 😬",
|
||||||
|
"owner": "Owner",
|
||||||
|
"contact": "Contact",
|
||||||
|
"software": "Software",
|
||||||
|
"nips": "Supported NIPs",
|
||||||
|
"limit": "Limitation",
|
||||||
|
"payment": "Open payment website",
|
||||||
|
"paymentNote": "You need to make a payment to connect this relay"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"suggestion": {
|
||||||
|
"title": "Suggested Follows",
|
||||||
|
"error": "Error. Cannot get trending users",
|
||||||
|
"button": "Save & Go back"
|
||||||
|
},
|
||||||
|
"interests": {
|
||||||
|
"title": "Interests",
|
||||||
|
"subtitle": "Pick things you'd like to see in your home feed.",
|
||||||
|
"edit": "Edit Interest",
|
||||||
|
"followAll": "Follow All",
|
||||||
|
"unfollowAll": "Unfollow All"
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"general": {
|
||||||
|
"title": "General",
|
||||||
|
"update": {
|
||||||
|
"title": "Update",
|
||||||
|
"subtitle": "Automatically download new update"
|
||||||
|
},
|
||||||
|
"lowPower": {
|
||||||
|
"title": "Low Power",
|
||||||
|
"subtitle": "Sustainable for low network environment"
|
||||||
|
},
|
||||||
|
"startup": {
|
||||||
|
"title": "Startup",
|
||||||
|
"subtitle": "Launch Lume at Login"
|
||||||
|
},
|
||||||
|
"media": {
|
||||||
|
"title": "Media",
|
||||||
|
"subtitle": "Automatically load media"
|
||||||
|
},
|
||||||
|
"hashtag": {
|
||||||
|
"title": "Hashtag",
|
||||||
|
"subtitle": "Show all hashtags in content"
|
||||||
|
},
|
||||||
|
"notification": {
|
||||||
|
"title": "Notification",
|
||||||
|
"subtitle": "Automatically send notification"
|
||||||
|
},
|
||||||
|
"translation": {
|
||||||
|
"title": "Translation",
|
||||||
|
"subtitle": "Translate text to your language"
|
||||||
|
},
|
||||||
|
"appearance": {
|
||||||
|
"title": "Appearance",
|
||||||
|
"light": "Light",
|
||||||
|
"dark": "Dark",
|
||||||
|
"system": "System"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"title": "User"
|
||||||
|
},
|
||||||
|
"zap": {
|
||||||
|
"title": "Zap",
|
||||||
|
"nwc": "Connection String"
|
||||||
|
},
|
||||||
|
"backup": {
|
||||||
|
"title": "Backup",
|
||||||
|
"privkey": {
|
||||||
|
"title": "Private key",
|
||||||
|
"button": "Remove private key"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"advanced": {
|
||||||
|
"title": "Advanced",
|
||||||
|
"cache": {
|
||||||
|
"title": "Cache",
|
||||||
|
"subtitle": "Use for boost up nostr connection",
|
||||||
|
"button": "Clear"
|
||||||
|
},
|
||||||
|
"instant": {
|
||||||
|
"title": "Instant Zap",
|
||||||
|
"subtitle": "Zap with default amount, no confirmation"
|
||||||
|
},
|
||||||
|
"defaultAmount": "Default amount"
|
||||||
|
},
|
||||||
|
"about": {
|
||||||
|
"title": "About",
|
||||||
|
"version": "Version",
|
||||||
|
"checkUpdate": "Check for update",
|
||||||
|
"installUpdate": "Install"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"onboarding": {
|
||||||
|
"home": {
|
||||||
|
"title": "Your account was successfully created!",
|
||||||
|
"subtitle": "For starters, let's set up your profile.",
|
||||||
|
"profileSettings": "Profile Settings"
|
||||||
|
},
|
||||||
|
"profile": {
|
||||||
|
"title": "About you",
|
||||||
|
"subtitle": "Tell Lume about yourself to start building your home feed."
|
||||||
|
},
|
||||||
|
"finish": {
|
||||||
|
"title": "Profile setup complete!",
|
||||||
|
"subtitle": "You can exit the setup here and start using Lume.",
|
||||||
|
"report": "Report a issue"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -26,7 +26,8 @@
|
|||||||
"$VIDEO/*",
|
"$VIDEO/*",
|
||||||
"$RESOURCE",
|
"$RESOURCE",
|
||||||
"$RESOURCE/*",
|
"$RESOURCE/*",
|
||||||
"$RESOURCE/**"
|
"$RESOURCE/**",
|
||||||
|
"$RESOURCE/locales/*"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"http": {
|
"http": {
|
||||||
|
Reference in New Issue
Block a user