diff --git a/AGENTS.md b/AGENTS.md index 270c5b7..2f64c6f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2688,7 +2688,7 @@ similar are internal endpoints/hook names, not credits — leave them.) is now **multi-way** — en/es stay key-for-key identical (unchanged), `th` (and `ja`) may be partial and are reported as **coverage %**; a `th`/`ja` key absent from `en` fails. -- **Font:** `@fontsource/kanit` (Kanit), **lazy-loaded per locale** (`lib/cjkFonts.ts`) and added to the +- **Font:** `@fontsource/kanit` (Kanit), **lazy-loaded per locale** (`lib/localeFonts.ts`) and added to the CSS + Tailwind font stacks — ⚠️ Outfit/Inter/Bebas/Barlow have **no Thai glyphs**, so without it Thai silently falls back to a system font. - **Detection:** a Thai-device browser (`th*`) starts in `th` (`detectLanguage`). @@ -2697,18 +2697,19 @@ similar are internal endpoints/hook names, not credits — leave them.) stays English (spot, park, bowl, DIY, vert, crew, line, Stash, The Lab, Nostr, Lightning, Zap, Relay, sats) because Thai skaters use the English terms. -### Catalan, Basque, Galician + pt-PT — 23 dictionaries, 24 codes, all 100% (2026-10-26) -- Added **ca (Català), eu (Euskara), gl (Galego)** → **23 dictionaries**; - **pt-PT** is a variant that shares the `pt` dictionary (24 selectable codes). -- Registered in `Language` + `LANGUAGE_LOADERS`, `detectLanguage` (ca/eu/gl +### Catalan, Basque, Galician, Hindi + pt-PT — 24 dictionaries, 25 codes, all 100% (2026-10-26) +- Added **ca (Català), eu (Euskara), gl (Galego), hi (हिन्दी)** → **24 + dictionaries**; **pt-PT** is a variant that shares the `pt` dictionary + (25 selectable codes). +- Registered in `Language` + `LANGUAGE_LOADERS`, `detectLanguage` (ca/eu/gl/hi checked before `es`; `pt-BR`→`pt`, `pt-PT`→`pt-PT`), the `LanguageToggle` - list, and `dateFnsI18n` (date-fns `ca`/`eu`/`gl`/`pt`, codes - `ca-ES`/`eu-ES`/`gl-ES`/`pt-BR`/`pt-PT`). + list, and `dateFnsI18n` (date-fns `ca`/`eu`/`gl`/`hi`/`pt`, codes + `ca-ES`/`eu-ES`/`gl-ES`/`hi-IN`/`pt-BR`/`pt-PT`). - **Flags are real SVGs** in `public/flags/` for `ca`, `eu`, `gl` and `gb-eng` (there are no Unicode region flags for Catalonia/Basque/Galicia, and England is not the UK flag). `LanguageToggle` renders a path as `` and an emoji - as text. **English now uses the England flag** (not the UK), and Portuguese - has **Brasil 🇧🇷** (`pt`) + **Portugal 🇵🇹** (`pt-PT`). + as text. **English now uses the England flag** (not the UK), Portuguese has + **Brasil 🇧🇷** (`pt`) + **Portugal 🇵🇹** (`pt-PT`), and Hindi uses 🇮🇳. - **`pt-PT`** shares the `pt` base and applies a European drift (`src/i18n/pt-PT/drift.ts`: Salvar→Guardar, Senha→Palavra-passe, Ônibus→Autocarro, etc.). A full European-Portuguese review is a follow-up. @@ -2718,15 +2719,18 @@ similar are internal endpoints/hook names, not credits — leave them.) covering the surface (no grey bands), while still letting you drag across the antimeridian to Hawaii/Pacific. On a wide desktop the whole globe cannot also fit without distortion; the clamp prioritises coverage. -- Full dictionaries in `src/i18n/{ca,eu,gl}/` — 7 namespace batches each +- Full dictionaries in `src/i18n/{ca,eu,gl,hi}/` — 7 namespace batches each (8,703 keys), composed in `index.ts`; placeholders verified, only 2–4% identical strings (brand/protocol names). `check-i18n.mjs` includes them in `extraLocales` and reports 100%. -- Latin script, so **no new font**; each locale lazy-loads like the rest. +- Catalan/Galician/Portuguese are Latin; **Hindi is Devanagari**, so + `@fontsource/noto-sans-devanagari` (400/500/700) is **lazy-loaded** for `hi` + via `lib/localeFonts.ts` (same pattern as CJK) and the CSS stack includes + `'Noto Sans Devanagari'` before `system-ui`. - Translation sources were split by namespace into `/tmp/opencode/i18n-src/batch1..7.json` (regenerate from `en.ts` if re-translating). When adding new UI strings, add them to `en`/`es` **and all - 23 locales** (batch file or `drift.ts`). + 24 dictionaries (25 codes)** (batch file or `drift.ts`). ### i18n drift closed — all 20 locales 100% (2026-10-13) - Every non-en/es locale had fallen to **97%** (245 keys each — `trustUi`, @@ -2753,7 +2757,7 @@ similar are internal endpoints/hook names, not credits — leave them.) bloats the app. Each language is its own on-demand chunk. - **Fonts:** added **Noto Sans KR** (Korean) and **Inter** (Cyrillic/Russian) to the CSS + Tailwind stacks; JP/KR/TH each need their own font (Outfit/Inter - lack CJK). **(2026-10-12) CJK fonts are lazy-loaded per locale** (`lib/cjkFonts.ts`, + lack CJK). **(2026-10-12) CJK fonts are lazy-loaded per locale** (`lib/localeFonts.ts`, wired in `contexts/LanguageContext.tsx`) — they're ~16 MB of font payload that non-CJK users no longer download at boot. - `check-i18n.mjs` now reports **all 12**; new locales are *partial* (coverage %) @@ -2775,7 +2779,7 @@ similar are internal endpoints/hook names, not credits — leave them.) Both partial-locale rules below still hold for any *future* keys. - **Partial by design** (same as `th`): a missing `ja` key falls back to English. `check-i18n.mjs` reports `ja` coverage and fails if a `ja` key is absent from `en`. -- **Font:** `@fontsource/noto-sans-jp` (Noto Sans JP), **lazy-loaded per locale** (`lib/cjkFonts.ts`) and +- **Font:** `@fontsource/noto-sans-jp` (Noto Sans JP), **lazy-loaded per locale** (`lib/localeFonts.ts`) and added to the CSS + Tailwind font stacks — ⚠️ Outfit/Inter/Bebas/Barlow/Kanit have **no Japanese glyphs**, so without it Japanese falls back to a system font. - **Detection:** a Japanese-device browser (`ja*`) starts in `ja` (`detectLanguage`). diff --git a/package-lock.json b/package-lock.json index 24e3b23..c49abe4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "@fontsource/barlow-condensed": "^5.2.8", "@fontsource/bebas-neue": "^5.2.7", "@fontsource/kanit": "^5.3.0", + "@fontsource/noto-sans-devanagari": "^5.3.0", "@fontsource/noto-sans-jp": "^5.3.0", "@fontsource/noto-sans-kr": "^5.3.0", "@getalby/sdk": "^5.1.1", @@ -1531,6 +1532,15 @@ "url": "https://github.com/sponsors/ayuhito" } }, + "node_modules/@fontsource/noto-sans-devanagari": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-devanagari/-/noto-sans-devanagari-5.3.0.tgz", + "integrity": "sha512-7khYmipS/5KAUUmrO1DKir8yL8XI00d0+ZE9BqbS8XF1jzObv6CpPOk3UeYxF+Pvi8bx9bBvprBCOcbx/eQWTQ==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, "node_modules/@fontsource/noto-sans-jp": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-jp/-/noto-sans-jp-5.3.0.tgz", diff --git a/package.json b/package.json index 20165a6..bb51b9e 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "@fontsource/barlow-condensed": "^5.2.8", "@fontsource/bebas-neue": "^5.2.7", "@fontsource/kanit": "^5.3.0", + "@fontsource/noto-sans-devanagari": "^5.3.0", "@fontsource/noto-sans-jp": "^5.3.0", "@fontsource/noto-sans-kr": "^5.3.0", "@getalby/sdk": "^5.1.1", diff --git a/scripts/check-i18n.mjs b/scripts/check-i18n.mjs index 67119f1..cba7e29 100644 --- a/scripts/check-i18n.mjs +++ b/scripts/check-i18n.mjs @@ -130,7 +130,7 @@ async function main() { const jaCoverage = en.size ? Math.round(((en.size - missingJa) / en.size) * 100) : 100; // 5. Additional partial locales (same rules as th/ja). - const extraLocales = ['pt', 'pt-PT', 'fr', 'de', 'it', 'nl', 'pl', 'ru', 'ko', 'zh-CN', 'zh-TW', 'uk', 'tr', 'vi', 'id', 'sv', 'cs', 'ro', 'el', 'ca', 'eu', 'gl']; + const extraLocales = ['pt', 'pt-PT', 'fr', 'de', 'it', 'nl', 'pl', 'ru', 'ko', 'zh-CN', 'zh-TW', 'uk', 'tr', 'vi', 'id', 'sv', 'cs', 'ro', 'el', 'ca', 'eu', 'gl', 'hi']; const extraStats = []; for (const lang of extraLocales) { const dict = flatten(await loadTranslations(join(SRC, `i18n/${lang}/index.ts`))); diff --git a/src/components/LanguageToggle.tsx b/src/components/LanguageToggle.tsx index 1966934..e3185aa 100644 --- a/src/components/LanguageToggle.tsx +++ b/src/components/LanguageToggle.tsx @@ -45,6 +45,7 @@ const languages: LanguageOption[] = [ { code: 'el', name: 'Greek', nativeName: 'Ελληνικά', flag: '🇬🇷' }, { code: 'vi', name: 'Vietnamese', nativeName: 'Tiếng Việt', flag: '🇻🇳' }, { code: 'tr', name: 'Turkish', nativeName: 'Türkçe', flag: '🇹🇷' }, + { code: 'hi', name: 'Hindi', nativeName: 'हिन्दी', flag: '🇮🇳' }, ]; interface LanguageToggleProps { diff --git a/src/contexts/LanguageContext.tsx b/src/contexts/LanguageContext.tsx index d321b8f..a38f4a5 100644 --- a/src/contexts/LanguageContext.tsx +++ b/src/contexts/LanguageContext.tsx @@ -10,7 +10,7 @@ import { type Translations, } from './language'; import { setDateLocale } from '@/lib/dateFnsI18n'; -import { loadCjkFont } from '@/lib/cjkFonts'; +import { loadLocaleFont } from '@/lib/localeFonts'; interface LanguageProviderProps { children: ReactNode; @@ -52,6 +52,7 @@ function detectLanguage(): Language { if (tags.some((t) => t.startsWith('ca'))) return 'ca'; if (tags.some((t) => t.startsWith('eu'))) return 'eu'; if (tags.some((t) => t.startsWith('gl'))) return 'gl'; + if (tags.some((t) => t.startsWith('hi'))) return 'hi'; if (tags.some((t) => t.startsWith('es'))) return 'es'; return 'en'; } @@ -85,7 +86,7 @@ export function LanguageProvider({ children }: LanguageProviderProps) { // Lazy-load the CJK display font for the active locale (ja/ko/th) — large font // files that non-CJK users no longer have to download at boot. useEffect(() => { - loadCjkFont(language); + loadLocaleFont(language); }, [language]); const setLanguage = useCallback((lang: Language) => { diff --git a/src/contexts/language.ts b/src/contexts/language.ts index 9352ddb..aabfb14 100644 --- a/src/contexts/language.ts +++ b/src/contexts/language.ts @@ -7,7 +7,7 @@ import en from '@/i18n/en'; * `react-refresh/only-export-components` rule. */ -export type Language = 'en' | 'es' | 'ca' | 'eu' | 'gl' | 'th' | 'ja' | 'pt' | 'pt-PT' | 'fr' | 'de' | 'it' | 'nl' | 'pl' | 'ru' | 'ko' | 'ko-KP' | 'zh-CN' | 'zh-TW' | 'uk' | 'tr' | 'vi' | 'id' | 'sv' | 'cs' | 'ro' | 'el'; +export type Language = 'en' | 'es' | 'ca' | 'eu' | 'gl' | 'hi' | 'th' | 'ja' | 'pt' | 'pt-PT' | 'fr' | 'de' | 'it' | 'nl' | 'pl' | 'ru' | 'ko' | 'ko-KP' | 'zh-CN' | 'zh-TW' | 'uk' | 'tr' | 'vi' | 'id' | 'sv' | 'cs' | 'ro' | 'el'; type TranslationKey = string; type TranslationValue = string | { [key: string]: TranslationValue }; @@ -42,6 +42,7 @@ export const LANGUAGE_LOADERS: Record Promise> = { ca: () => import('@/i18n/ca').then((m) => m.default), eu: () => import('@/i18n/eu').then((m) => m.default), gl: () => import('@/i18n/gl').then((m) => m.default), + hi: () => import('@/i18n/hi').then((m) => m.default), th: () => import('@/i18n/th').then((m) => m.default), ja: () => import('@/i18n/ja').then((m) => m.default), pt: () => import('@/i18n/pt').then((m) => m.default), diff --git a/src/i18n/hi/batch1.ts b/src/i18n/hi/batch1.ts new file mode 100644 index 0000000..eafe1c9 --- /dev/null +++ b/src/i18n/hi/batch1.ts @@ -0,0 +1,1268 @@ +const batch1 = { + "common": { + "loading": "लोड हो रहा है...", + "error": "त्रुटि", + "save": "सहेजें", + "cancel": "रद्द करें", + "delete": "हटाएँ", + "edit": "संपादित करें", + "add": "जोड़ें", + "remove": "हटाएँ", + "create": "बनाएँ", + "submit": "सबमिट करें", + "close": "बंद करें", + "back": "वापस", + "next": "आगे", + "done": "हो गया", + "search": "खोजें", + "filter": "फ़िल्टर", + "sort": "क्रमबद्ध करें", + "share": "साझा करें", + "more": "और", + "copy": "कॉपी करें", + "copied": "कॉपी हो गया!", + "viewAll": "सभी देखें", + "seeMore": "और देखें", + "showMore": "और दिखाएँ", + "showLess": "कम दिखाएँ", + "noResults": "कोई परिणाम नहीं मिला", + "tryAgain": "फिर कोशिश करें", + "learnMore": "और जानें", + "getStarted": "शुरू करें", + "yes": "हाँ", + "no": "नहीं", + "or": "या", + "and": "और", + "free": "मुफ़्त", + "new": "नया", + "popular": "लोकप्रिय", + "featured": "विशेष", + "verified": "सत्यापित", + "sats": "sats", + "clear": "साफ़ करें", + "clearFilters": "फ़िल्टर हटाएँ", + "clearAll": "सब साफ़ करें", + "hide": "छिपाएँ", + "undo": "पूर्ववत करें" + }, + "nav": { + "searchLanguages": "भाषाएँ खोजें...", + "noLanguages": "कोई भाषा नहीं मिली", + "home": "होम", + "map": "स्पॉट", + "lab": "द लैब", + "events": "इवेंट", + "crews": "क्रू", + "wallet": "वॉलेट", + "settings": "सेटिंग्स", + "more": "और", + "rewards": "इनाम", + "stats": "समुदाय आँकड़े", + "about": "परिचय", + "food": "खाना", + "marketplace": "मार्केटप्लेस", + "mints": "मिंट", + "appShop": "ऐप शॉप", + "diy": "DIY", + "trades": "मार्केटप्लेस", + "stash": "स्टैश", + "collections": "संग्रह", + "contacts": "संपर्क", + "messages": "संदेश", + "skaters": "स्केटर", + "glossary": "शब्दावली", + "riderCard": "राइडर कार्ड", + "supporters": "समर्थक ⚡", + "newsletter": "न्यूज़लेटर", + "viewProfile": "प्रोफ़ाइल देखें", + "leaderboards": "लीडरबोर्ड" + }, + "chromeUi": { + "skipToContent": "सामग्री पर जाएँ", + "menu": "मेन्यू", + "inBadge": "शामिल", + "loggedIn": "लॉग इन हैं", + "profile": "प्रोफ़ाइल", + "logIn": "लॉग इन करें", + "logOut": "लॉग आउट", + "notLoggedIn": "लॉग इन नहीं हैं", + "loggedOutPrompt": "स्पॉट जोड़ने, स्केटरों को ज़ैप करने और अपने पसंदीदा सहेजने के लिए लॉग इन करें", + "accounts": "खाते", + "addAnotherAccount": "दूसरा खाता जोड़ें", + "setStatus": "स्टेटस सेट करें", + "setYourStatus": "अपना स्टेटस सेट करें", + "status": "स्टेटस", + "addSpot": "स्पॉट जोड़ें", + "myData": "मेरा डेटा", + "myStash": "मेरा स्टैश", + "myCollections": "मेरे संग्रह", + "viewMyProfile": "मेरी प्रोफ़ाइल देखें", + "customizeNavBar": "नेव बार बदलें", + "ecash": "ई-कैश", + "madeWith": "बनाया गया", + "forSkateCommunity": "स्केटबोर्डिंग समुदाय के लिए", + "beta": "बीटा", + "license": "लाइसेंस", + "privacy": "गोपनीयता", + "collaborators": "सहयोगी और मित्र", + "notSponsoredBy": "प्रायोजित नहीं", + "errorTitle": "यह लोड नहीं हो सका", + "errorDescription": "नेटवर्क अनुरोध विफल रहा। अपना कनेक्शन जाँचें और फिर कोशिश करें।", + "tryAgain": "फिर कोशिश करें", + "weatherOn": "मौसम चालू", + "weatherOff": "मौसम बंद", + "trustFilter": "विश्वास फ़िल्टर", + "filterByTrustLevel": "विश्वास स्तर से फ़िल्टर करें", + "trust": { + "all": "सभी उपयोगकर्ता", + "allDesc": "सभी का कंटेंट दिखाएँ", + "verified": "सत्यापित", + "verifiedDesc": "आप उन्हें फ़ॉलो करते हैं या वे सत्यापित हैं (विश्वास ≥90)", + "trusted": "भरोसेमंद", + "trustedDesc": "मित्रों के मित्र या NIP-05 सत्यापित (विश्वास ≥60)", + "following": "केवल फ़ॉलोइंग", + "followingDesc": "केवल उन लोगों का कंटेंट दिखाएँ जिन्हें आप फ़ॉलो करते हैं", + "followingShort": "फ़ॉलोइंग" + }, + "sort": { + "recent": "सबसे नए", + "recentDesc": "नए पहले", + "trust": "सर्वाधिक विश्वास", + "trustDesc": "सबसे भरोसेमंद क्रिएटर", + "proximity": "मेरे सबसे करीब", + "proximityDesc": "निकटतम स्थान", + "popular": "सबसे लोकप्रिय", + "popularDesc": "सबसे ज़्यादा टिप्पणियाँ/प्रतिक्रियाएँ", + "zaps": "सबसे ज़्यादा ज़ैप", + "zapsDesc": "सर्वाधिक मूल्य प्राप्त" + }, + "spotType": { + "street": "स्ट्रीट", + "transition": "ट्रांज़िशन", + "park": "पार्क", + "plaza": "प्लाज़ा", + "diy": "DIY", + "bowl": "बाउल", + "vert": "वर्ट", + "indoor": "इनडोर", + "skatepark": "स्केटपार्क", + "miniramp": "मिनी रैंप" + } + }, + "auth": { + "login": "लॉग इन करें", + "logout": "लॉग आउट", + "signUp": "साइन अप करें", + "signUpTitle": "Nostr पर नए हैं?", + "signUpDesc": "शुरू करने के लिए नया खाता बनाएँ। यह मुफ़्त और खुला है।", + "orLogIn": "या लॉग इन करें", + "loginWithExtension": "एक्सटेंशन से लॉग इन करें", + "loginWithAmber": "Amber से लॉग इन करें (Android)", + "loginWithKey": "सीक्रेट की (nsec) या रिकवरी फ़्रेज़", + "loginWithBunker": "Nostr Connect से लॉग इन करें", + "bunkerUri": "Bunker कनेक्शन स्ट्रिंग", + "openAmber": "Amber खोलें", + "connectToBunker": "Bunker से कनेक्ट करें", + "noExtension": "कोई एक्सटेंशन नहीं मिला।", + "extensionHelp": "नया खाता बनाने के लिए ऊपर दिया गया साइन अप बटन आज़माएँ, या अगर आपके पास पहले से क्रेडेंशियल हैं तो Amber, Key या Bunker टैब का उपयोग करें।", + "amberDesc": "Amber Android डिवाइस के लिए एक सुरक्षित Nostr साइनर ऐप है। Amber खोलने और पहुँच अधिकृत करने के लिए नीचे दिया गया बटन दबाएँ।", + "bunkerDesc": "रिमोट साइनर (bunker) से किसी भी डिवाइस पर अपने खाते का उपयोग करें। आपकी चाबियाँ सर्वर पर सुरक्षित रहती हैं, कभी वेबसाइटों के सामने नहीं आतीं।", + "keyPlaceholder": "nsec1... या आपका 12-शब्दों वाला रिकवरी फ़्रेज़", + "keyHint": "आप अपनी nsec की या 12-शब्दों वाला रिकवरी फ़्रेज़ पेस्ट कर सकते हैं", + "uploadKeyFile": "अपनी की फ़ाइल अपलोड करें", + "loggingIn": "लॉग इन हो रहा है...", + "connecting": "कनेक्ट हो रहा है...", + "verifying": "सत्यापित हो रहा है..." + }, + "home": { + "tagline": "समुदाय-संचालित • रिले-आधारित", + "title": "SKATE SPOTS", + "subtitle": "स्पॉट खोजें • मिलें • ट्रिक सीखें • स्थानीय लोगों का साथ दें", + "description": "असली स्केटबोर्डिंग ऑफ़लाइन होती है — यह टूल उसे खोजने में मदद करता है।", + "betaWarning": "बीटा - निर्माणाधीन • अपने जोखिम पर उपयोग करें", + "pwaHint": "प्रोग्रेसिव वेब ऐप - अपने डिवाइस पर इंस्टॉल करें", + "exploreMap": "मैप देखें", + "addSpot": "स्पॉट जोड़ें", + "globalSpots": "वैश्विक स्पॉट", + "openCommunity": "खुला समुदाय", + "lightningZaps": "Lightning ज़ैप", + "featuredSpots": "विशेष स्पॉट", + "featuredSpotsDesc": "दुनिया भर के समुदाय-सत्यापित स्केट स्पॉट", + "upcomingEvents": "आने वाले इवेंट", + "upcomingEventsDesc": "जल्द होने वाले कॉन्टेस्ट, मीटअप और सेशन", + "noSpotsYet": "अभी कोई स्पॉट नहीं मिला", + "noSpotsHint": "पहला स्केट स्पॉट जोड़ने वाले बनें!", + "noEventsYet": "कोई आने वाला इवेंट नहीं", + "noEventsHint": "बाद में देखें या एक बनाएँ!", + "theLab": "द लैब", + "theLabDesc": "ट्रिक सीखें, कोच खोजें और अपनी स्केटिंग को अगले स्तर पर ले जाएँ", + "coaches": "कोच", + "coachesDesc": "अनुभवी स्केटरों से सीखें जो आपको आगे बढ़ने में मदद कर सकते हैं", + "filmers": "फ़िल्मर", + "filmersDesc": "अपने बेहतरीन क्लिप कैप्चर करने के लिए फ़िल्मरों से जुड़ें", + "findCoach": "कोच खोजें", + "becomeCoach": "कोच बनें", + "findFilmer": "फ़िल्मर खोजें", + "becomeFilmer": "फ़िल्मर बनें", + "viewAllSpots": "सभी स्पॉट देखें", + "viewAllEvents": "सभी इवेंट देखें", + "createEvent": "इवेंट बनाएँ", + "readyToShare": "साझा करने के लिए तैयार?", + "readyToShareDesc": "अपने पसंदीदा स्पॉट जोड़कर स्केटबोर्डिंग समुदाय को बढ़ने में मदद करें। आपके द्वारा साझा किया गया हर स्थान साथी स्केटरों को नई जगहें खोजने में मदद करता है।" + }, + "spots": { + "addSpot": "स्पॉट जोड़ें", + "editSpot": "स्पॉट संपादित करें", + "spotDetails": "स्पॉट विवरण", + "spotName": "स्पॉट का नाम", + "spotType": "स्पॉट का प्रकार", + "description": "विवरण", + "location": "स्थान", + "address": "पता", + "photos": "फ़ोटो", + "addPhotos": "फ़ोटो जोड़ें", + "obstacles": "बाधाएँ", + "features": "विशेषताएँ", + "bustLevel": "बस्ट स्तर", + "bestTime": "सबसे अच्छा समय", + "tips": "सुझाव", + "reviews": "समीक्षाएँ", + "addReview": "समीक्षा जोड़ें", + "reportSpot": "स्पॉट रिपोर्ट करें", + "directions": "दिशाएँ", + "shareSpot": "स्पॉट साझा करें", + "createdBy": "बनाया", + "lastUpdated": "अंतिम अपडेट", + "types": { + "park": "स्केटपार्क", + "street": "स्ट्रीट स्पॉट", + "diy": "DIY स्पॉट", + "plaza": "प्लाज़ा", + "indoor": "इनडोर", + "bowl": "बाउल", + "vert": "वर्ट", + "miniramp": "मिनी रैंप" + }, + "bustLevels": { + "chill": "आराम से", + "moderate": "मध्यम", + "sketchy": "जोखिम भरा", + "heavy": "सख़्त" + } + }, + "events": { + "title": "स्केट इवेंट", + "createEvent": "इवेंट बनाएँ", + "editEvent": "इवेंट संपादित करें", + "eventDetails": "इवेंट विवरण", + "eventName": "इवेंट का नाम", + "eventType": "इवेंट का प्रकार", + "date": "तारीख़", + "time": "समय", + "startDate": "शुरू होने की तारीख़", + "endDate": "समाप्ति तारीख़", + "venue": "स्थान", + "organizer": "आयोजक", + "attendees": "शामिल होने वाले", + "going": "जा रहे हैं", + "interested": "रुचि है", + "rsvp": "RSVP", + "ticketPrice": "टिकट की कीमत", + "freeEntry": "मुफ़्त प्रवेश", + "register": "रजिस्टर करें", + "moreInfo": "और जानकारी", + "upcomingEvents": "आने वाले", + "pastEvents": "पिछले", + "noEvents": "कोई इवेंट नहीं मिला", + "findEvents": "कॉन्टेस्ट, डेमो, सेशन और बहुत कुछ खोजें", + "searchPlaceholder": "इवेंट खोजें...", + "loginToCreate": "इवेंट बनाने के लिए लॉग इन करें", + "noEventsMatch": "आपके फ़िल्टर से कोई आने वाला इवेंट मेल नहीं खाता।", + "noUpcoming": "कोई आने वाला इवेंट नहीं मिला।", + "noPast": "कोई पिछला इवेंट नहीं मिला।", + "types": { + "contest": "कॉन्टेस्ट", + "session": "सेशन", + "meetup": "मीटअप", + "premiere": "वीडियो प्रीमियर", + "workshop": "वर्कशॉप", + "demo": "डेमो", + "jam": "जैम" + } + }, + "mapUi": { + "mapFooter": { + "links": "लिंक", + "hide": "मैप लिंक बार छिपाएँ" + }, + "findingSpots": "स्पॉट खोजे जा रहे हैं", + "loadingSpots": "स्पॉट लोड हो रहे हैं", + "loadingMap": "मैप लोड हो रहा है...", + "mapViewAria": "मैप दृश्य", + "listViewAria": "सूची दृश्य", + "layers": "लेयर", + "mapLayers": "मैप लेयर", + "showOnMap": "मैप पर दिखाएँ", + "showResults": "परिणाम दिखाएँ", + "quickActions": "त्वरित क्रियाएँ", + "spots": "स्पॉट", + "shops": "दुकानें", + "gear": "गियर", + "tours": "टूर", + "events": "इवेंट", + "crews": "क्रू", + "spotType": "स्पॉट का प्रकार", + "sortBy": "क्रमबद्ध करें", + "trustLevel": "विश्वास स्तर", + "weather": "मौसम", + "buySellGear": "गियर खरीदें/बेचें", + "stash": "स्टैश", + "more": "और", + "newHere": "नए हैं?", + "welcomeDesc": "स्केट स्पॉट, इवेंट और समुदाय खोजें।", + "firstRunTitle": "शुरू करें", + "firstRunAddSpot": "अपना पहला स्पॉट जोड़ें", + "firstRunJoinCrew": "क्रू से जुड़ें", + "firstRunStartCrew": "अपना क्रू शुरू करें", + "firstRunWallet": "अपना वॉलेट सेट करें", + "getOnZapstore": "Zapstore पर जाएँ", + "dismiss": "खारिज करें", + "addedBy": "जोड़ा", + "directions": "दिशाएँ", + "viewDetails": "विवरण देखें", + "viewDetailsArrow": "विवरण देखें →", + "spotDetails": "स्पॉट विवरण", + "skateShop": "स्केट शॉप", + "skateSpot": "स्केट स्पॉट", + "youAreHere": "आप यहाँ हैं", + "conditions": "परिस्थितियाँ", + "weatherScoreSuffix": "{{score}}/100 मौसम", + "wind": "हवा", + "humidity": "नमी", + "airQuality": "वायु गुणवत्ता", + "threeDayForecast": "3-दिन का पूर्वानुमान", + "forecastDays": "{{count}}-दिन का पूर्वानुमान", + "gearForSale": "बिक्री के लिए गियर ({{count}})", + "viewItems": "आइटम देखें →", + "viewAllItems": "सभी {{count}} आइटम देखें →", + "viewGear": "गियर देखें →", + "localTour": "स्थानीय टूर", + "meetAt": "यहाँ मिलें: {{place}}", + "hours": "{{count}} घंटे", + "level": "{{level}} स्तर", + "viewTour": "टूर देखें →", + "upcomingEvent": "आने वाला इवेंट", + "viewEvent": "इवेंट देखें →", + "skateCrew": "स्केट क्रू", + "members": "{{count}} सदस्य", + "since": "{{year}} से", + "viewCrew": "क्रू देखें →", + "acceptsBitcoin": "Bitcoin स्वीकार करता है", + "boosted": "बूस्ट किया गया", + "website": "वेबसाइट", + "offlineSavedSpots": "ऑफ़लाइन · सहेजे गए स्पॉट दिख रहे हैं", + "cantReachRelays": "रिले तक नहीं पहुँच सकते", + "relayOnlineNoAnswer": "आप ऑनलाइन हैं, लेकिन समुदाय रिले अभी जवाब नहीं दे रहा है।", + "youreOffline": "आप ऑफ़लाइन हैं।", + "savedOnDevice": "आपने जो स्पॉट पहले देखे हैं वे इस डिवाइस पर सहेजे गए हैं और यहाँ दिखेंगे।", + "noSpotsMatchTitle": "कोई स्पॉट मेल नहीं खाता", + "noSpotsMatchDesc": "कोई दूसरी खोज आज़माएँ या अपने फ़िल्टर हटाएँ।", + "noSpotsMappedYet": "अभी कोई स्पॉट मैप नहीं हुआ", + "noSpotsMappedDesc": "अपने पार्क को मैप करने वाले पहले व्यक्ति बनें — बस एक मिनट लगेगा, यह आपका होगा, और अगला स्केटर जो यहाँ आएगा वह आपको धन्यवाद देगा।", + "addFirstSpot": "पहला स्पॉट जोड़ें", + "findSpotsNearMe": "मेरे पास के स्पॉट खोजें", + "locating": "स्थान खोजा जा रहा है…", + "refiningLocation": "आपका स्थान और सटीक किया जा रहा है…", + "refiningLocationDesc": "आपके पिछले स्पॉट पर केंद्रित — ताज़ा GPS फ़िक्स लिया जा रहा है।", + "locatingYou": "आपका स्थान खोजा जा रहा है…", + "locatingDesc": "GPS फ़िक्स लिया जा रहा है। पहली बार इसमें एक मिनट तक लग सकता है।", + "foundYou": "आप मिल गए", + "foundYouDesc": "मैप को आपके स्थान पर केंद्रित किया गया।", + "locationPermissionNeeded": "स्थान अनुमति चाहिए", + "permissionNeededDesc": "अपने डिवाइस की सेटिंग्स → ऐप्स → SkateSpots → अनुमतियाँ में SkateSpots के लिए स्थान की अनुमति दें, फिर Near Me पर फिर टैप करें।", + "locationTimedOut": "स्थान का समय समाप्त", + "timeoutNativeDesc": "समय पर स्थान नहीं मिल सका। अगर आप घर के अंदर हैं, तो GPS उपग्रह नहीं देख सकता — नेटवर्क स्थान (सेटिंग्स → स्थान) चालू करें या बाहर जाएँ, फिर कोशिश करें।", + "timeoutWebDesc": "समय पर आपका स्थान नहीं मिल सका। सिग्नल जाँचें और फिर कोशिश करें।", + "noLocationProvider": "कोई स्थान प्रदाता नहीं", + "noProviderNativeDesc": "आपका फ़ोन स्थान नहीं दे रहा है। गोपनीयता-केंद्रित ROM (जैसे GrapheneOS) पर सेटिंग्स → स्थान के अंतर्गत नेटवर्क स्थान चालू करें, या सुनिश्चित करें कि GPS चालू है और बाहर कोशिश करें।", + "noProviderWebDesc": "कोई स्थान प्रदाता उपलब्ध नहीं है। स्थान सेवाएँ चालू करें और फिर कोशिश करें।", + "locationUnavailable": "स्थान उपलब्ध नहीं", + "unavailableNativeDesc": "अपने फ़ोन की सेटिंग्स में स्थान/GPS चालू करें, SkateSpots के लिए स्थान की अनुमति दें (सेटिंग्स → ऐप्स → SkateSpots → अनुमतियाँ), फिर कोशिश करें।", + "unavailableWebDesc": "आपका स्थान निर्धारित नहीं हो सका। सुनिश्चित करें कि स्थान सेवाएँ चालू हैं।", + "locationBlocked": "स्थान अवरुद्ध", + "locationBlockedDesc": "आपके ब्राउज़र ने इस साइट के लिए स्थान पहुँच रोक दी है। इसे फिर से चालू करने का तरीका:", + "locationPlatformAndroid": "Android Chrome", + "locationPlatformIos": "iOS Safari", + "locationPlatformDesktop": "डेस्कटॉप Chrome", + "locationPlatformFirefox": "Firefox", + "locationStepsAndroid": "एड्रेस बार में लॉक आइकन टैप करें → साइट सेटिंग्स → स्थान → अनुमति दें", + "locationStepsIos": "सेटिंग्स ऐप → Safari → स्थान → अनुमति दें (या Safari के एड्रेस बार में \"AA\" बटन टैप करें)", + "locationStepsDesktop": "लॉक आइकन पर क्लिक करें → साइट सेटिंग्स → स्थान → अनुमति दें", + "locationStepsFirefox": "लॉक आइकन पर क्लिक करें → कनेक्शन सुरक्षित → अधिक जानकारी → अनुमतियाँ → आपका स्थान एक्सेस करें → अनुमति दें", + "gotIt": "समझ गया", + "addSpot": "स्पॉट जोड़ें", + "addShop": "दुकान जोड़ें", + "addEvent": "इवेंट जोड़ें", + "addSpotHereTitle": "यहाँ स्पॉट जोड़ें?", + "addSpotHereDesc": "जहाँ आपने टैप किया वहाँ पिन डालें", + "sellGear": "गियर बेचें", + "offerTour": "टूर दें", + "closeAddMenu": "जोड़ने का मेन्यू बंद करें", + "addMenuAria": "स्पॉट, दुकान, इवेंट, गियर या टूर जोड़ें", + "localChat": "स्थानीय चैट", + "localChatDesc": "मैप जहाँ केंद्रित है वहाँ की लाइव चैट। चुनें कि चैनल कितनी दूर तक पहुँचे।", + "btcMapShowing": "आसपास के {{count}} स्थान दिख रहे हैं जहाँ आप अपने sats खर्च कर सकते हैं", + "btcMapShow": "वे स्थान दिखाएँ जहाँ आप अपने sats खर्च कर सकते हैं (BTC Map के ज़रिए)", + "yourPrivateStash": "आपका निजी स्टैश", + "stashIntro": "अपना गियर ट्रैक करें, कीमतें तय करें और अन्य स्केटरों के साथ ट्रेड खोजें।", + "encryptionRequired": "एन्क्रिप्शन आवश्यक", + "encryptionRequiredDesc": "NIP-44 समर्थन वाला साइनर उपयोग करें (Alby, nos2x, Amber)।", + "myStash": "मेरा स्टैश", + "encrypted": "एन्क्रिप्टेड", + "itemsCount": "{{count}} आइटम", + "items": "आइटम", + "wishlist": "विशलिस्ट", + "types": "प्रकार", + "stashEmpty": "आपका स्टैश खाली है", + "addFirstItem": "पहला आइटम जोड़ें", + "wishlistCount": "विशलिस्ट ({{count}})", + "myGearCount": "मेरा गियर ({{count}})", + "openFullStash": "पूरा स्टैश खोलें", + "addItem": "आइटम जोड़ें", + "searchSpotsPlaceholder": "स्पॉट खोजें...", + "selected": "चयनित", + "noSpotsFound": "कोई स्पॉट नहीं मिला। कोई दूसरी खोज आज़माएँ।", + "addingSpotsHint": "स्पॉट जोड़ने से उपयोगकर्ता विशिष्ट स्थान ब्राउज़ करते समय आपको ढूँढ पाते हैं", + "report": "रिपोर्ट करें", + "spotSingular": "1 स्पॉट", + "spotPlural": "{{count}} स्पॉट", + "view": "देखें", + "myCollections": "मेरे संग्रह", + "collectionsSubtitle": "अपने पसंदीदा स्पॉट को व्यक्तिगत सूचियों में व्यवस्थित करें", + "newCollection": "नया संग्रह", + "loginToCreate": "संग्रह बनाने के लिए लॉग इन करें", + "loginToCreateDesc": "अपने पसंदीदा स्पॉट \"Barcelona Trip 2024\" या \"Best Rails in LA\" जैसी व्यक्तिगत सूचियों में सहेजें", + "noCollections": "अभी कोई संग्रह नहीं", + "noCollectionsDesc": "स्पॉट व्यवस्थित करना शुरू करने के लिए अपना पहला संग्रह बनाएँ", + "createFirstCollection": "अपना पहला संग्रह बनाएँ", + "createNewCollection": "नया संग्रह बनाएँ", + "createCollectionDesc": "अपने संग्रह को नाम और वैकल्पिक विवरण दें", + "collectionName": "संग्रह का नाम", + "collectionNamePlaceholder": "Barcelona Trip 2024", + "descriptionOptional": "विवरण (वैकल्पिक)", + "descriptionPlaceholder": "मेरी Barcelona यात्रा के पसंदीदा स्पॉट...", + "creating": "बनाया जा रहा है...", + "createCollection": "संग्रह बनाएँ", + "editCollection": "संग्रह संपादित करें", + "saving": "सहेजा जा रहा है...", + "saveChanges": "बदलाव सहेजें", + "deleteCollectionTitle": "संग्रह हटाएँ?", + "deleteCollectionDesc": "इससे \"{{title}}\" हमेशा के लिए हट जाएगा। स्पॉट स्वयं प्रभावित नहीं होंगे।", + "deleting": "हटाया जा रहा है...", + "collectionCreated": "संग्रह बन गया!", + "collectionCreatedDesc": "\"{{title}}\" स्पॉट के लिए तैयार है", + "collectionCreateFailed": "संग्रह बनाने में विफल", + "collectionUpdated": "संग्रह अपडेट हो गया!", + "changesSaved": "आपके बदलाव सहेजे गए हैं", + "collectionUpdateFailed": "संग्रह अपडेट करने में विफल", + "collectionDeleted": "संग्रह हटा दिया गया", + "collectionDeletedDesc": "\"{{title}}\" हटा दिया गया है", + "collectionDeleteFailed": "संग्रह हटाने में विफल", + "somethingWentWrong": "कुछ गलत हो गया" + }, + "spotUi": { + "claim": { + "areYouOwner": "क्या यह आपका स्पॉट है?", + "privateDesc": "यह स्पॉट निजी के रूप में चिह्नित है। अगर यह आपका है या आप इसे प्रबंधित करते हैं, तो इसे क्लेम करें — SkateSpots मॉडरेटर स्वामित्व की पुष्टि करता है, फिर आप लिस्टिंग संभालते हैं।", + "claimSpot": "यह स्पॉट क्लेम करें", + "nip05Required": "निजी स्पॉट क्लेम करने के लिए आपके पास सत्यापित NIP-05 हैंडल होना चाहिए (प्रमाण कि आप एक Nostr पहचान नियंत्रित करते हैं)। अपनी प्रोफ़ाइल में एक जोड़ें, फिर वापस आएँ।", + "addNip05": "सेटिंग्स में NIP-05 जोड़ें", + "pendingTitle": "क्लेम समीक्षा के लिए लंबित", + "pendingDesc": "आपका क्लेम सबमिट हो गया है। SkateSpots मॉडरेटर इसकी समीक्षा करेगा — स्वीकृत होने पर आप स्पॉट क्लेम करना पूरा कर सकते हैं।", + "approvedTitle": "क्लेम स्वीकृत", + "approvedDesc": "मॉडरेटर ने आपका क्लेम स्वीकृत कर दिया है। इस स्पॉट का स्वामी बनने के लिए पूरा करें।", + "complete": "क्लेम पूरा करें", + "submitted": "क्लेम सबमिट हो गया", + "submittedDesc": "मॉडरेटर आपके क्लेम की समीक्षा करेगा। स्वीकृत होने पर आप स्पॉट संभाल लेंगे।", + "submitFailed": "क्लेम सबमिट नहीं हो सका", + "submit": "क्लेम सबमिट करें", + "submitting": "सबमिट हो रहा है…", + "confirmTitle": "\"{{title}}\" क्लेम करें?", + "confirmIntro": "आप इस निजी स्पॉट के स्वामी बनने का अनुरोध कर रहे हैं।", + "confirmBullet1": "SkateSpots मॉडरेटर अनुरोध की समीक्षा करता है (हम संपत्ति सत्यापित नहीं कर सकते, केवल Nostr चाबियाँ)", + "confirmBullet2": "स्वीकृत होने पर, आप स्वामी बनने के लिए क्लेम पूरा करते हैं और स्पॉट संपादित कर सकते हैं", + "confirmBullet3": "मूल स्पॉट Nostr पर रहता है — नेटवर्क विकेंद्रीकृत है", + "adminTitle": "लंबित स्वामित्व क्लेम", + "adminApprove": "स्वीकृत करें", + "adminApproved": "स्वीकृत", + "adminApprovedDesc": "वे अब स्पॉट क्लेम करना पूरा कर सकते हैं।", + "adminApproveFailed": "क्लेम स्वीकृत नहीं हो सका", + "loginRequired": "इस निजी स्पॉट को क्लेम करने, या स्वामित्व अनुरोध करने के लिए लॉग इन करें।" + }, + "abandonedDesc": "अंतिम अपडेट {{time}}। अगर मूल स्वामी निष्क्रिय है, तो आप इस स्पॉट को क्लेम करके इसे बनाए रख और सुधार सकते हैं।", + "claimedNotice": "क्लेम की गई लिस्टिंग", + "claimedNoticeDesc": "यह स्पॉट क्लेम के बाद एक नए स्वामी द्वारा फिर से प्रकाशित किया गया था। मूल लिस्टिंग अलग से अभी भी मौजूद हो सकती है।", + "abandonedLoginDesc": "अंतिम अपडेट {{time}}। इस स्पॉट को क्लेम करने और बनाए रखने के लिए लॉग इन करें।", + "accessDeniedDesc": "आप केवल उन्हीं स्पॉट को संपादित कर सकते हैं जो आपने बनाए हैं।", + "accessDeniedTitle": "पहुँच अस्वीकृत", + "addAtLeastOneTag": "कृपया कम से कम एक टैग जोड़ें।", + "additionalDetails": "अतिरिक्त विवरण (वैकल्पिक)", + "additionalDetailsPlaceholder": "कोई भी अतिरिक्त जानकारी दें जो मदद कर सके...", + "addNewTags": "नए टैग जोड़ें:", + "addNip05InSettings": "सेटिंग्स में NIP-05 जोड़ें", + "addPhoto": "फ़ोटो जोड़ें", + "addPhotoDesc": "दूसरों को यह स्पॉट खोजने में मदद करने के लिए फ़ोटो जोड़ें।", + "addPhotoOrDescription": "फ़ोटो या विवरण जोड़ें", + "addPhotoOrDescriptionDesc": "स्केटरों को कुछ ठोस दें — एक तस्वीर, या जगह के बारे में एक पंक्ति।", + "addPhotos": "फ़ोटो जोड़ें", + "addPhotoToSpot": "स्पॉट में फ़ोटो जोड़ें", + "adminDeleteDialogDesc": "SkateSpots एडमिन के रूप में आप \"{{title}}\" हटा रहे हैं। यह सभी के लिए ऐप में छिपा दिया जाएगा और रिले को हटाने का अनुरोध भेजा जाएगा।", + "adminDeleteReason": "SkateSpots एडमिन ने स्पॉट \"{{title}}\" हटाया", + "airQuality": "वायु गुणवत्ता", + "altSkateSpot": "स्केट स्पॉट: {{title}}", + "areYouShopOwner": "क्या आप इस दुकान के मालिक हैं?", + "askBeforeSkating": "स्केटिंग से पहले पूछें", + "backToSpot": "स्पॉट पर वापस", + "beFirstToListGear": "इस स्पॉट पर गियर सूचीबद्ध करने वाले पहले व्यक्ति बनें!", + "beFirstToSay": "कुछ कहने वाले पहले व्यक्ति बनें।", + "byAuthor": "{{name}} द्वारा", + "captionPlaceholder": "कैप्शन जोड़ें (वैकल्पिक) - बताएँ कि फ़ोटो में क्या है, कब ली गई, आदि।", + "chatPublicNote": "कोई भी इसे पढ़ सकता है — संदेश सार्वजनिक और अस्थायी हैं। निजी चैट के लिए Direct Messages का उपयोग करें।", + "checkPinBelow": "डुप्लिकेट जोड़ने से पहले नीचे पिन जाँचें।", + "claimBullet1": "आप स्वामी बन जाते हैं और स्पॉट संपादित कर सकते हैं", + "claimBullet2": "मूल स्पॉट बना रहता है (Nostr विकेंद्रीकृत है)", + "claimBullet3": "आपका संस्करण मूल के साथ दिख सकता है", + "claimFailed": "क्लेम विफल", + "claiming": "क्लेम किया जा रहा है...", + "claimIntro": "आप इस स्पॉट का स्वामित्व क्लेम करने वाले हैं। इससे स्पॉट का आपका अपना संस्करण बनेगा जिसे आप संपादित और बनाए रख सकते हैं।", + "claimSpot": "स्पॉट क्लेम करें", + "claimThisSpot": "यह स्पॉट क्लेम करें", + "claimTitle": "\"{{title}}\" क्लेम करें?", + "claimWhatHappens": "क्लेम करने पर क्या होता है:", + "coachesAndFilmersAvailable": "इस स्पॉट पर उपलब्ध कोच और फ़िल्मर", + "coachesCount": "कोच ({{count}})", + "coachHere": "यहाँ कोच", + "community": "समुदाय", + "communityVerified": "समुदाय-सत्यापित", + "communityVerifiedTitle": "किसी अन्य स्केटर ने यहाँ योगदान दिया है (फ़ोटो या स्टेटस रिपोर्ट)।", + "conditions": "परिस्थितियाँ", + "contactForPermission": "अनुमति के लिए संपर्क करें", + "contactInfo": "संपर्क जानकारी", + "contributePhoto": "फ़ोटो दें", + "contributing": "योगदान दिया जा रहा है...", + "couldNotSendMessage": "संदेश नहीं भेजा जा सका।", + "couldNotSubmit": "सबमिट नहीं हो सका", + "couldNotUploadPhoto": "फ़ोटो अपलोड नहीं हो सकी। आप नीचे एक जोड़ सकते हैं।", + "crewsThatSkateHere": "यहाँ स्केट करने वाले क्रू", + "current": "वर्तमान:", + "currentTags": "इस स्पॉट पर मौजूद टैग:", + "daysAgo": "{{count}} दिन पहले", + "daysAgoPlural": "{{count}} दिन पहले", + "deleteDialogDesc": "इससे \"{{title}}\" सभी रिले से हमेशा के लिए हट जाएगा। यह क्रिया वापस नहीं ली जा सकती।", + "deletedSpotReason": "हटाया गया स्पॉट", + "deleteFailed": "हटाने में विफल", + "deleteSpot": "स्पॉट हटाएँ", + "deleteSpotTitle": "स्पॉट हटाएँ?", + "differentSpotPublishAnyway": "यह अलग स्पॉट है — फिर भी प्रकाशित करें", + "dragDropOrClick": "खींचकर छोड़ें या क्लिक करें", + "dropPhotos": "फ़ोटो छोड़ें", + "duplicateOne": "आपके पिन के 60 मीटर के भीतर एक स्पॉट है। अगर यह वही जगह है, तो डुप्लिकेट बनाने के बजाय वहाँ अपनी फ़ोटो या स्टेटस रिपोर्ट जोड़ें।", + "duplicateOther": "आपके पिन के 60 मीटर के भीतर स्पॉट हैं। अगर यह वही जगह है, तो डुप्लिकेट बनाने के बजाय वहाँ अपनी फ़ोटो या स्टेटस रिपोर्ट जोड़ें।", + "editSpotSeoDesc": "अपना स्केटबोर्डिंग स्पॉट संपादित करें।", + "failedToContribute": "योगदान देने में विफल", + "failedToPublish": "प्रकाशित करने में विफल", + "failedToPublishDesc": "कुछ गलत हो गया। विवरण के लिए कंसोल देखें।", + "failedToSubmitReport": "रिपोर्ट सबमिट करने में विफल", + "failedToSuggestTags": "टैग सुझाने में विफल", + "failedToUpdate": "अपडेट करने में विफल", + "failedToUploadImage": "इमेज अपलोड करने में विफल", + "failedToUploadPhoto": "फ़ोटो अपलोड करने में विफल", + "feelsLikeTemp": "महसूस होता है {{temp}}°C", + "filmersCount": "फ़िल्मर ({{count}})", + "filmHere": "यहाँ फ़िल्म बनाएँ", + "gearSwap": "गियर स्वैप", + "geolocationNotSupported": "जियोलोकेशन समर्थित नहीं है", + "geolocationNotSupportedDesc": "आपका ब्राउज़र जियोलोकेशन का समर्थन नहीं करता।", + "getDirections": "दिशाएँ पाएँ", + "hangTight": "थोड़ा इंतज़ार करें", + "hangTightDesc": "आपकी फ़ोटो अभी अपलोड हो रही है। एक क्षण में जुड़ जाएगी।", + "helpImproveSpot": "फ़ोटो जोड़कर या टैग सुझाकर इस स्पॉट को बेहतर बनाने में मदद करें", + "hiddenByModerator": "मॉडरेटर द्वारा छिपाया गया", + "hiddenByModeratorDesc": "यह स्पॉट मैप या खोज में नहीं दिखता। आप इसे अभी भी देख सकते हैं क्योंकि यह आपका है। इसे संपादित करने से यह अप्रकट नहीं होगा — जब तक मॉडरेटर फ़ैसला वापस नहीं लेता, यह छिपा रहेगा।", + "humidity": "नमी", + "imageUploaded": "इमेज अपलोड हो गई", + "imageUploadedDesc": "आपकी इमेज सफलतापूर्वक अपलोड हो गई है।", + "imHere": "मैं यहाँ हूँ", + "invalidCoordinates": "अमान्य निर्देशांक", + "invalidCoordinatesDesc": "कृपया मान्य अक्षांश (-90 से 90) और देशांतर (-180 से 180) दर्ज करें।", + "invalidNpub": "अमान्य npub", + "invalidNpubDesc": "कृपया मान्य npub पता दर्ज करें।", + "lastReported": "अंतिम {{time}}", + "listGear": "गियर सूचीबद्ध करें", + "listYourGearHere": "अपना गियर यहाँ सूचीबद्ध करें", + "loadingChat": "चैट लोड हो रही है…", + "locationError": "स्थान त्रुटि", + "locationFound": "स्थान मिल गया", + "locationFoundDesc": "आपका वर्तमान स्थान सेट हो गया है।", + "locationRequired": "स्थान आवश्यक", + "locationRequiredDesc": "कृपया निर्देशांक दर्ज करें या अपने वर्तमान स्थान का उपयोग करें।", + "loginRequiredTitle": "लॉग इन आवश्यक", + "logInToChat": "स्थानीय चैट में शामिल होने के लिए लॉग इन करें।", + "logInToContributePhotos": "फ़ोटो योगदान करने के लिए लॉग इन करें", + "loginToEditSpot": "इस स्पॉट को संपादित करने के लिए आपको लॉग इन करना होगा।", + "logInToReport": "कंटेंट रिपोर्ट करने के लिए आपको लॉग इन होना चाहिए।", + "logInToReportStatus": "इस स्पॉट की स्थिति रिपोर्ट करने के लिए लॉग इन करें।", + "logInToSuggestTags": "टैग सुझाने के लिए लॉग इन करें", + "manageNip05ToClaim": "क्लेम करने के लिए NIP-05 प्रबंधित करें", + "meetAtSpotForPickup": "💡 सुरक्षित पिकअप के लिए इस स्पॉट पर मिलें", + "memberOne": "{{count}} सदस्य", + "memberOther": "{{count}} सदस्य", + "messageFailed": "संदेश विफल", + "messageMapper": "मैसेज मैपर", + "messagePlaceholder": "इस स्पॉट को संदेश भेजें… (/me या /who आज़माएँ)", + "messagesHiddenOne": "आपके विश्वास फ़िल्टर द्वारा {{count}} संदेश छिपाया गया है। और देखने के लिए फ़िल्टर कम करें।", + "messagesHiddenOther": "आपके विश्वास फ़िल्टर द्वारा {{count}} संदेश छिपाए गए हैं। और देखने के लिए फ़िल्टर कम करें।", + "messagesHiddenShortOne": "आपके विश्वास फ़िल्टर द्वारा {{count}} संदेश छिपाया गया है", + "messagesHiddenShortOther": "आपके विश्वास फ़िल्टर द्वारा {{count}} संदेश छिपाए गए हैं", + "metresAway": "{{distance}} मीटर दूर", + "moderatorVouchedDesc": "एक मॉडरेटर ने इस स्पॉट की समीक्षा की और इसकी पुष्टि की। बढ़िया!", + "monthsAgo": "{{count}} महीने पहले", + "monthsAgoPlural": "{{count}} महीने पहले", + "newOwnerNpub": "नए स्वामी का npub", + "newOwnerNpubHint": "उस उपयोगकर्ता का npub दर्ज करें जिसे आप यह स्पॉट ट्रांसफ़र करना चाहते हैं।", + "nip05RequiredToClaim": "⚠️ दुकानें क्लेम करने के लिए NIP-05 सत्यापन आवश्यक", + "noCommunitySignalTitle": "अभी तक कोई समुदाय फ़ोटो या स्टेटस रिपोर्ट नहीं — किसी ने इस जगह की पुष्टि नहीं की है।", + "breakdownPhotos": "{{count}} फ़ोटो", + "breakdownStatus": "{{count}} स्टेटस रिपोर्ट", + "breakdownComments": "{{count}} टिप्पणी", + "breakdownReactions": "{{count}} प्रतिक्रिया", + "breakdownCollections": "{{count}} सहेजा गया", + "breakdownZaps": "{{count}} ज़ैप", + "breakdownTags": "{{count}} टैग सुझाव", + "breakdownCrews": "{{count}} क्रू", + "breakdownLab": "{{count}} प्रो लिंक", + "verifyNudgeTitle": "इस स्पॉट की पुष्टि करने वाले पहले व्यक्ति बनें", + "verifyNudgeBody": "एक फ़ोटो या “मैंने यहाँ स्केट किया है” से स्पॉट सत्यापित होता है — अगले स्केटर की मदद करें।", + "verifyNudgeStatus": "मैंने यहाँ स्केट किया है", + "communityChip": "समुदाय", + "seenChip": "देखा गया", + "noGearListedYet": "अभी कोई गियर सूचीबद्ध नहीं", + "noMessagesYet": "इस स्थानीय चैनल में अभी कोई संदेश नहीं। हैलो कहें — \"आज रात कोई स्केटिंग कर रहा है?\"", + "noPhoto": "कोई फ़ोटो नहीं", + "noReportsYet": "अभी कोई रिपोर्ट नहीं", + "noTags": "कोई टैग नहीं", + "notASkateSpot": "स्केट स्पॉट नहीं है", + "offerServicesHere": "💡 इस स्पॉट पर अपनी सेवाएँ दें", + "photoCaptured": "फ़ोटो कैप्चर हो गई!", + "photoCapturedDesc": "आपकी फ़ोटो सफलतापूर्वक अपलोड हो गई है।", + "photoContributed": "फ़ोटो योगदान दी गई!", + "photoContributedDesc": "आपकी फ़ोटो इस स्पॉट में जोड़ दी गई है।", + "photosAdded": "आपकी फ़ोटो जोड़ दी गई हैं।", + "photosRecommended": "अत्यधिक अनुशंसित — बिना फ़ोटो वाले स्पॉट असत्यापित चिह्नित रहते हैं", + "photosUploaded": "{{count}} फ़ोटो अपलोड हुईं", + "photoUploaded": "फ़ोटो अपलोड हुई", + "photoUploadedDesc": "कैप्शन जोड़ें और योगदान देने के लिए सबमिट करें!", + "photoUploadFailed": "फ़ोटो अपलोड विफल", + "pleaseTryAgain": "कृपया फिर कोशिश करें", + "public": "सार्वजनिक", + "publicChatTitle": "कोई भी इस चैनल के संदेश पढ़ सकता है — यह सार्वजनिक और अनएन्क्रिप्टेड है।", + "recentReports": "हाल की रिपोर्ट", + "recipientRequired": "प्राप्तकर्ता आवश्यक", + "recipientRequiredDesc": "कृपया नए स्वामी का npub दर्ज करें।", + "removeAdmin": "हटाएँ (एडमिन)", + "removeSpot": "स्पॉट हटाएँ", + "removeSpotAdminTitle": "यह स्पॉट हटाएँ? (एडमिन)", + "reportOne": "रिपोर्ट", + "reportContent": "कंटेंट रिपोर्ट करें", + "reportContentDesc": "अनुचित कंटेंट रिपोर्ट करके समुदाय को सुरक्षित रखने में मदद करें।", + "reportedBySkaters": " {{count}} स्केटरों द्वारा — समीक्षाधीन। अगर यह असली स्पॉट है, तो पुष्टि के लिए फ़ोटो या स्टेटस रिपोर्ट जोड़ें।", + "reportedNotASpot": "स्केट स्पॉट नहीं होने की रिपोर्ट", + "reportingType": "{{type}} रिपोर्ट किया जा रहा है", + "reports": "रिपोर्ट", + "reportShop": "दुकान रिपोर्ट करें", + "reportSpot": "स्पॉट रिपोर्ट करें", + "reportStatus": "स्थिति रिपोर्ट करें", + "reportSubmitted": "रिपोर्ट सबमिट हो गई", + "reportSubmittedDesc": "SkateSpots को सुरक्षित रखने में मदद के लिए धन्यवाद।", + "reportSubmittedLong": "SkateSpots को सुरक्षित और सटीक रखने में मदद के लिए धन्यवाद। आपकी रिपोर्ट की भरोसेमंद समुदाय सदस्यों द्वारा समीक्षा की जाएगी।", + "reportSubmittedTitle": "रिपोर्ट सबमिट हुई", + "report": { + "notASkateSpot": { + "label": "स्केट स्पॉट नहीं है", + "description": "परीक्षण प्रविष्टि, या ऐसी जगह जो स्केटिंग के लिए नहीं है" + }, + "fakeSpot": { + "label": "नकली/गैर-मौजूद स्पॉट", + "description": "यह स्पॉट मौजूद नहीं है या स्थान गलत है" + }, + "stolenPhotos": { + "label": "चोरी/नकली फ़ोटो", + "description": "फ़ोटो स्टॉक इमेज हैं या कहीं और से चुराई गई हैं" + }, + "spamAd": { + "label": "स्पैम या विज्ञापन", + "description": "प्रचार सामग्री या डुप्लिकेट लिस्टिंग" + }, + "dangerousLocation": { + "label": "खतरनाक स्थान", + "description": "निजी संपत्ति, असुरक्षित, या पहुँचना गैरकानूनी" + }, + "inappropriateContent": { + "label": "अनुचित कंटेंट", + "description": "आपत्तिजनक या वयस्क कंटेंट शामिल है" + }, + "impersonation": { + "label": "प्रतिरूपण", + "description": "कोई किसी और के रूप में अपनी पहचान बता रहा है" + }, + "other": { + "label": "अन्य", + "description": "कुछ और जो ऊपर सूचीबद्ध नहीं है" + } + }, + "targetType": { + "spot": "स्पॉट", + "event": "इवेंट", + "tour": "टूर", + "shop": "दुकान", + "user": "उपयोगकर्ता", + "listing": "लिस्टिंग", + "coach": "कोच", + "filmer": "फ़िल्मर" + }, + "sameOwner": "वही स्वामी", + "sameOwnerDesc": "वर्तमान स्वामी को ट्रांसफ़र नहीं कर सकते।", + "saveChanges": "बदलाव सहेजें", + "saving": "सहेजा जा रहा है...", + "services": "सेवाएँ", + "shareSpotText": "यह स्केट स्पॉट देखें: {{title}}", + "shelter": "आश्रय", + "shelterHint": "क्या यह स्पॉट मौसम के सामने खुला है? बारिश में स्केटरों को सूखी जगहें खोजने में मदद करता है।", + "shopClaimDesc": "अगर यह दुकान आपकी है या आप इसे प्रबंधित करते हैं, तो स्वामित्व सत्यापित करने और लिस्टिंग प्रबंधित करने के लिए इसे क्लेम कर सकते हैं।", + "shopClaimNip05Hint": "इस दुकान को क्लेम करने के लिए, दुकान की वेबसाइट डोमेन से मेल खाने वाला NIP-05 पहचानकर्ता जोड़ें।", + "skatersActiveDesc": "जिन लोगों ने पिछले 24 घंटों में इस चैनल में पोस्ट किया।", + "skatersActiveOne": "{{count}} स्केटर यहाँ सक्रिय", + "skatersActiveOther": "{{count}} स्केटर यहाँ सक्रिय", + "skatersSellingGear": "इस स्पॉट के स्केटर गियर बेच रहे हैं", + "skateSpot": "स्केट स्पॉट", + "somethingWentWrong": "कुछ गलत हो गया", + "spot": "स्पॉट", + "spotAdded": "स्पॉट जोड़ा गया!", + "spotAddedDesc": "आपका स्केट स्पॉट नेटवर्क पर प्रकाशित हो गया है।", + "spotAddedNoPhoto": "प्रकाशित — और जब तक कोई फ़ोटो नहीं जोड़ता, असत्यापित चिह्नित। स्पॉट की एक तस्वीर बहुत मायने रखती है।", + "spotChat": "स्पॉट चैट", + "spotClaimed": "स्पॉट क्लेम हो गया!", + "spotClaimedDesc": "अब आप इस स्पॉट के स्वामी हैं। आप इसे अपनी प्रोफ़ाइल से संपादित कर सकते हैं।", + "spotDeleted": "स्पॉट हटाया गया", + "spotDeletedDesc": "रिले को हटाने का अनुरोध भेजा गया। अधिकांश रिले यह कंटेंट हटा देंगे।", + "spotMayAlreadyBeOnMap": "वह स्पॉट पहले से मैप पर हो सकता है", + "spotMayAlreadyExist": "यह स्पॉट पहले से मौजूद हो सकता है", + "spotMayBeAbandoned": "स्पॉट छोड़ा हुआ हो सकता है", + "spotPhotoAlt": "स्पॉट", + "spotRemoved": "स्पॉट हटा दिया गया", + "spotRemovedDesc": "यह स्पॉट हटा दिया गया है और पूरे SkateSpots में छिपा रहेगा।", + "spotSeoDesc": "SkateSpots पर यह स्केटबोर्डिंग स्पॉट देखें।", + "spotStatus": "स्पॉट स्थिति", + "spotStatusDesc": "क्या \"{{title}}\" अभी भी स्केट करने लायक है? समुदाय को इसकी वर्तमान स्थिति बताएँ।", + "spotTypeRequired": "स्पॉट प्रकार आवश्यक", + "spotTypeRequiredDesc": "कृपया स्पॉट प्रकार चुनें ताकि स्केटरों को पता हो वे कहाँ जा रहे हैं।", + "spotUpdated": "स्पॉट अपडेट हो गया!", + "spotUpdatedDesc": "आपके बदलाव नेटवर्क पर प्रकाशित हो गए हैं।", + "staffVerifiedTitle": "SkateSpots एडमिन ने इस स्पॉट की समीक्षा की और पुष्टि की।", + "statusNotePlaceholder": "वैकल्पिक: विवरण जोड़ें (जैसे \"लेज पर नए नॉब्स\", \"6 बजे के बाद गार्ड भगा देता है\")", + "statusReported": "स्थिति रिपोर्ट हुई", + "statusReportedDesc": "मैप को ताज़ा रखने के लिए धन्यवाद। आपकी रिपोर्ट लाइव है।", + "submitReport": "रिपोर्ट सबमिट करें", + "submitting": "सबमिट हो रहा है...", + "suggestedByUser": "{{count}} उपयोगकर्ता द्वारा सुझाया गया", + "suggestedByUsers": "{{count}} उपयोगकर्ताओं द्वारा सुझाया गया", + "suggestedTagsContent": "{{title}} के लिए सुझाए गए टैग: {{tags}}", + "suggestNTags": "{{count}} टैग सुझाएँ", + "suggestOneTag": "1 टैग सुझाएँ", + "suggestTags": "टैग सुझाएँ", + "suggestTagsDesc": "प्रासंगिक टैग सुझाकर इस स्पॉट को वर्गीकृत करने में मदद करें।", + "tags": "टैग", + "tagsHint": "फ़ीचर, सतह, माहौल के लिए टैग जोड़ें (अधिकतम {{max}})", + "tagsSuggested": "टैग सुझाए गए!", + "tagsSuggestedDesc": "आपके टैग सुझाव सबमिट हो गए हैं।", + "takePhoto": "फ़ोटो लें", + "threeDayForecast": "3-दिन का पूर्वानुमान", + "forecastDays": "{{count}}-दिन का पूर्वानुमान", + "tipTheMapper": "मैपर को टिप दें", + "tipTheMapperDesc": "यह स्पॉट उपयोगी लगा? मैपर को धन्यवाद देने के लिए ज़ैप भेजें!", + "titleRequired": "शीर्षक आवश्यक", + "titleRequiredDesc": "कृपया इस स्पॉट के लिए नाम दर्ज करें।", + "today": "आज", + "tomorrow": "कल", + "transferDesc": "\"{{title}}\" को किसी अन्य उपयोगकर्ता को ट्रांसफ़र करें। यह क्रिया वापस नहीं ली जा सकती।", + "transferFailed": "ट्रांसफ़र विफल", + "transferOwnership": "स्वामित्व ट्रांसफ़र करें", + "transferRequestContent": "स्पॉट \"{{title}}\" के लिए स्वामित्व ट्रांसफ़र अनुरोध", + "transferRequested": "ट्रांसफ़र का अनुरोध किया गया", + "transferRequestedDesc": "ट्रांसफ़र पूरा करने के लिए नए स्वामी को स्पॉट क्लेम करना होगा।", + "transferring": "ट्रांसफ़र हो रहा है...", + "transferSpotOwnership": "स्पॉट स्वामित्व ट्रांसफ़र करें", + "transferWarningDesc": "ट्रांसफ़र के बाद, आप इस स्पॉट को संपादित या हटा नहीं पाएँगे।", + "typeToSearchTags": "टैग खोजने या जोड़ने के लिए टाइप करें...", + "underReview": " — समीक्षाधीन। अगर यह असली स्पॉट है, तो पुष्टि के लिए फ़ोटो या स्टेटस रिपोर्ट जोड़ें।", + "untitledSpot": "बिना नाम का स्पॉट", + "unverified": "असत्यापित", + "updateDetailsFor": "{{title}} के विवरण अपडेट करें", + "updateSpotDesc": "इस स्पॉट की जानकारी अपडेट करें। * से चिह्नित सभी फ़ील्ड आवश्यक हैं।", + "uploadAPhoto": "फ़ोटो अपलोड करें", + "uploadAPhotoHint": "खींचकर छोड़ें या क्लिक करें · JPG, PNG, WebP", + "uploadedAlt": "अपलोड किया गया", + "uploadFailed": "अपलोड विफल", + "uploadingPhoto": "फ़ोटो अपलोड हो रही है…", + "uploadPhotoFirst": "कृपया पहले एक फ़ोटो अपलोड करें।", + "uvIndex": "UV इंडेक्स", + "verifiedBySkateSpots": "SkateSpots द्वारा सत्यापित", + "viewPhotoFullScreen": "फ़ोटो पूरी स्क्रीन में देखें", + "viewPhotoOf": "{{total}} में से फ़ोटो {{n}} देखें", + "warning": "चेतावनी", + "weatherConditions": "मौसम की स्थिति", + "weatherOnly": "केवल मौसम", + "weatherOnlyUnconfirmed": "केवल मौसम। किसी ने अभी पुष्टि नहीं की है कि यह स्केट स्पॉट है, इसलिए कोई स्थिति स्कोर नहीं — पुष्टि के लिए फ़ोटो या स्टेटस रिपोर्ट जोड़ें।", + "whyReporting": "आप इसे क्यों रिपोर्ट कर रहे हैं?", + "wind": "हवा", + "yearsAgo": "{{count}} साल पहले", + "yearsAgoPlural": "{{count}} साल पहले" + }, + "weatherUi": { + "condition": { + "clearSky": "साफ़ आसमान", + "mainlyClear": "मुख्यतः साफ़", + "partlyCloudy": "कुछ बादल", + "overcast": "घने बादल", + "foggy": "कोहरा", + "depositingRimeFog": "पाला जमाने वाला कोहरा", + "lightDrizzle": "हल्की फुहार", + "moderateDrizzle": "मध्यम फुहार", + "denseDrizzle": "घनी फुहार", + "lightFreezingDrizzle": "हल्की जमने वाली फुहार", + "denseFreezingDrizzle": "घनी जमने वाली फुहार", + "slightRain": "हल्की बारिश", + "moderateRain": "मध्यम बारिश", + "heavyRain": "भारी बारिश", + "lightFreezingRain": "हल्की जमने वाली बारिश", + "heavyFreezingRain": "भारी जमने वाली बारिश", + "slightSnow": "हल्की बर्फ़", + "moderateSnow": "मध्यम बर्फ़", + "heavySnow": "भारी बर्फ़", + "snowGrains": "बर्फ़ के दाने", + "slightRainShowers": "हल्की बारिश की बौछारें", + "moderateRainShowers": "मध्यम बारिश की बौछारें", + "violentRainShowers": "तेज़ बारिश की बौछारें", + "slightSnowShowers": "हल्की बर्फ़ की बौछारें", + "heavySnowShowers": "भारी बर्फ़ की बौछारें", + "thunderstorm": "आंधी-तूफ़ान", + "thunderstormSlightHail": "हल्के ओलों के साथ आंधी-तूफ़ान", + "thunderstormHeavyHail": "भारी ओलों के साथ आंधी-तूफ़ान", + "unknown": "अज्ञात" + }, + "aqi": { + "good": "अच्छी", + "moderate": "मध्यम", + "unhealthySensitive": "संवेदनशील समूहों के लिए हानिकारक", + "unhealthy": "हानिकारक", + "veryUnhealthy": "बहुत हानिकारक", + "hazardous": "खतरनाक" + }, + "skateability": { + "perfect": "बेहतरीन", + "good": "अच्छी", + "okay": "ठीक", + "poor": "खराब", + "bad": "बुरी", + "unrideable": "स्केट करना असंभव" + }, + "updated": "अपडेट किया गया", + "refresh": "रीफ़्रेश करें", + "unavailable": "मौसम उपलब्ध नहीं।", + "retry": "फिर कोशिश करें", + "sunrise": "सूर्योदय", + "sunset": "सूर्यास्त", + "legendTitle": "मौसम स्कोर", + "legendWeatherOnly": "केवल मौसम", + "reason": { + "currentlyRaining": "अभी बारिश हो रही है", + "raining": "बारिश हो रही है", + "snowing": "बर्फ़ पड़ रही है", + "thunderstorm": "आंधी-तूफ़ान", + "freezingTemperature": "जमने वाला तापमान", + "veryCold": "बहुत ठंडा", + "extremelyHot": "अत्यधिक गर्म", + "veryHot": "बहुत गर्म", + "veryStrongWind": "बहुत तेज़ हवा", + "strongWind": "तेज़ हवा", + "moderateWind": "मध्यम हवा", + "veryUnhealthyAir": "बहुत हानिकारक हवा", + "unhealthyAir": "हानिकारक हवा", + "moderateAirQuality": "मध्यम वायु गुणवत्ता", + "veryHumid": "बहुत उमस", + "humid": "उमस भरा", + "extremeUv": "अत्यधिक UV - सनस्क्रीन लगाएँ", + "highUv": "तेज़ UV - सन प्रोटेक्शन की सलाह", + "perfectConditions": "स्केटिंग के लिए बेहतरीन स्थितियाँ" + } + }, + "cordnUi": { + "title": "निजी चैट", + "subtitle": "क्रू सदस्यों के बीच एंड-टू-एंड एन्क्रिप्टेड (MLS)। कोऑर्डिनेटर केवल सिफ़रटेक्स्ट और मेटाडेटा रूट करता है — संदेश की सामग्री कभी नहीं देखता।", + "notLoggedIn": "क्रू की निजी चैट उपयोग करने के लिए लॉग इन करें।", + "membersOnly": "केवल क्रू सदस्य निजी चैट खोल सकते हैं।", + "connecting": "कनेक्ट हो रहा है…", + "noCoordinator": "इस क्रू के लिए अभी कोई कोऑर्डिनेटर कॉन्फ़िगर नहीं है।", + "noGroupAdmin": "इस क्रू की निजी चैट अभी बनाई नहीं गई है।", + "noGroupMember": "आप अभी इस क्रू की निजी चैट में नहीं हैं।", + "create": "निजी चैट बनाएँ", + "requestJoin": "शामिल होने का अनुरोध करें", + "checkInvite": "निमंत्रण जाँचें", + "requested": "अनुरोध भेजा गया — क्रू एडमिन इसे स्वीकृत करेगा।", + "noInvite": "अभी कोई निमंत्रण प्रतीक्षा में नहीं। एडमिन से अपना अनुरोध स्वीकृत करने को कहें।", + "placeholder": "क्रू को संदेश भेजें…", + "send": "भेजें", + "refresh": "रीफ़्रेश करें", + "requests": "शामिल होने के अनुरोध", + "checkRequests": "अनुरोध जाँचें", + "approve": "जोड़ें", + "noRequests": "कोई लंबित शामिल होने का अनुरोध नहीं।", + "inviteHint": "अभी तक इस चैट में केवल आप हैं — क्रू सदस्य “शामिल होने का अनुरोध करें” टैप कर सकते हैं, फिर आप उन्हें यहाँ स्वीकृत करें।", + "shareInvite": "निमंत्रण दें", + "shareInviteText": "{{crew}} से जुड़ें — निजी क्रू चैट", + "inviteCopied": "निमंत्रण लिंक कॉपी हो गया", + "memberCount": "ग्रुप में {{count}}", + "you": "आप", + "groupRef": "ग्रुप लिंक", + "copyRef": "कॉपी करें", + "copied": "कॉपी हो गया", + "attachImage": "इमेज संलग्न करें", + "uploading": "अपलोड हो रहा है…", + "uploadFailed": "इमेज अपलोड नहीं हो सकी।", + "bannerTitle": "इस क्रू की अभी कोई निजी चैट नहीं है", + "bannerBody": "अपने क्रू के लिए एंड-टू-एंड एन्क्रिप्टेड (MLS) चैट सेट करें — सदस्य टैब से जुड़ते हैं।", + "bannerCta": "सेट करें", + "ready": "कनेक्टेड · MLS", + "errorPrefix": "कोऑर्डिनेटर तक नहीं पहुँच सके", + "interactiveHint": "आपका साइनर हर क्रिया पर स्वीकृति माँगता है — ज़रूरत के अनुसार रीफ़्रेश और भेजें का उपयोग करें।" + }, + "trustUi": { + "alertsTitle": "नेटवर्क अलर्ट", + "alertsDesc": "आप जिन खातों को फ़ॉलो करते हैं, उन्हें भरोसेमंद लोगों ने रिपोर्ट या म्यूट किया है।", + "alertsEmpty": "कोई अलर्ट नहीं। हम आपके फ़ॉलो किए खातों में भरोसेमंद रिपोर्ट जाँचते हैं।", + "alertsReported": "{{count}} भरोसेमंद लोगों द्वारा रिपोर्ट किया गया", + "alertsMuted": "{{count}} भरोसेमंद लोगों द्वारा म्यूट किया गया", + "alertsIgnore": "अनदेखा करें", + "alertsUnfollow": "अनफ़ॉलो करें", + "alertsLogin": "अपने फ़ॉलो किए खातों के अलर्ट देखने के लिए लॉग इन करें।", + "providerTitle": "प्रदाता", + "providerDesc": "स्कोर आपके चुने हुए प्रदाता से आते हैं। समुदाय प्रदाता डिफ़ॉल्ट है।", + "useCommunity": "समुदाय प्रदाता उपयोग करें", + "setProvider": "प्रदाता सेट करें", + "customPubkeyPlaceholder": "प्रदाता npub या हेक्स पबकी", + "customRelayPlaceholder": "wss://relay.example.com", + "invalidProvider": "मान्य npub या 64-वर्ण हेक्स पबकी, और wss:// रिले दर्ज करें।", + "publishFailed": "प्रदाता प्रकाशित नहीं हो सका। फिर कोशिश करें।", + "providerSaved": "प्रदाता अपडेट हो गया।", + "loggedOutProvider": "प्रदाता चुनने के लिए लॉग इन करें।", + "showMarks": "विश्वास चिह्न दिखाएँ", + "showMarksDesc": "सत्यापित और अज्ञात चिह्न। रिपोर्ट हमेशा दिखती हैं।", + "sourceLabel": "स्रोत", + "sourceHouse": "समुदाय विश्वास प्रदाता", + "sourceCustom": "आपका प्रदाता", + "loggedOut": "अपना विश्वास प्रदाता चुनने के लिए लॉग इन करें।", + "seoTitle": "विश्वास कैसे काम करता है", + "seoDescription": "SkateSpots विश्वास कैसे दिखाता है: तीन अवस्थाएँ, स्कोर कहाँ से आते हैं, और क्यों अनुपस्थिति का मतलब अविश्वास नहीं है।", + "title": "विश्वास कैसे काम करता है", + "intro": "यहाँ विश्वास एक संकेत है, फ़ैसला नहीं। यह इससे आता है कि आप किसे जानते हैं, या आपके चुने प्रदाता से। हम लोगों को वैश्विक रूप से रैंक नहीं करते।", + "statesTitle": "तीन अवस्थाएँ", + "verifiedTitle": "सत्यापित", + "verifiedDesc": "आपके नेटवर्क में कोई इस खाते की पुष्टि करता है: मित्र का मित्र, या आपका चुना प्रदाता।", + "unknownTitle": "अज्ञात", + "unknownDesc": "अभी किसी ने पुष्टि नहीं की है। हर नया खाता यहीं से शुरू होता है।", + "flaggedTitle": "चिह्नित", + "flaggedDesc": "भरोसेमंद लोगों ने इस खाते को रिपोर्ट किया है। यह करीब से देखने की चेतावनी है, किसी बात का प्रमाण नहीं।", + "absenceTitle": "बैज न होना अविश्वास नहीं है", + "absenceDesc": "अधिकांश खाते कुछ भी नहीं दिखाते। इसका मतलब है कि आपके नेटवर्क में किसी ने अभी उनकी पुष्टि नहीं की, यह नहीं कि कुछ गड़बड़ है। अनुपस्थित चिह्न को कभी नकारात्मक मत समझें।", + "sourceTitle": "इसे कौन गणना करता है", + "sourceDesc": "डिफ़ॉल्ट रूप से हम आपका अपना नेटवर्क उपयोग करते हैं। आप ऐसा विश्वास प्रदाता भी चुन सकते हैं जो Nostr (NIP-85) पर हस्ताक्षरित स्कोर प्रकाशित करता है, या प्रदर्शन बंद कर सकते हैं। चिह्नित हमेशा दिखेगा, क्योंकि यह सुरक्षा संकेत है।", + "endorsementTitle": "उपस्थिति समर्थन नहीं है", + "endorsementDesc": "सत्यापित चिह्न का मतलब है किसी ने पुष्टि की, यह नहीं कि व्यक्ति अच्छा है। चिह्न का मतलब है भरोसेमंद लोगों ने उन्हें रिपोर्ट किया, यह नहीं कि वे दोषी हैं। तय करने से पहले विवरण देखें।", + "povTitle": "यह नज़रिए पर निर्भर है", + "povDesc": "स्कोर इस पर निर्भर है कि कौन देख रहा है। एक प्रदाता या एक व्यक्ति की रैंक दूसरे से तुलनीय नहीं है, और हम इसे कभी वस्तुनिष्ठ तथ्य के रूप में प्रस्तुत नहीं करते।", + "settingsCta": "सेटिंग्स में प्रबंधित करें" + }, + "notifyUi": { + "activity": { + "zappedWithAmount": "आपको {{sats}} sats का ज़ैप मिला", + "zapped": "आपको ज़ैप मिला", + "liked": "किसी ने आपकी पोस्ट पसंद की", + "reposted": "किसी ने आपको रीपोस्ट किया", + "mentioned": "किसी ने आपका ज़िक्र किया", + "replied": "किसी ने आपको जवाब दिया", + "rsvp": "किसी ने आपके इवेंट के लिए RSVP किया", + "eventUpdated": "आप जिस इवेंट में जा रहे हैं वह अपडेट हुआ", + "newActivity": "नई गतिविधि", + "tapToOpen": "SkateSpots खोलने के लिए टैप करें" + }, + "crew": { + "inviteTitle": "क्रू निमंत्रण", + "inviteBody": "आपको {{crew}} में आमंत्रित किया गया है", + "addedTitle": "आपको एक क्रू में जोड़ा गया है", + "addedBody": "{{crew}} — शामिल होने की पुष्टि करें", + "joinRequestTitle": "शामिल होने का अनुरोध", + "joinRequestBody": "कोई {{name}} में शामिल होना चाहता है" + }, + "dm": { + "title": "नया सीधा संदेश", + "body": "पढ़ने के लिए टैप करें" + }, + "trade": { + "confirm": "ट्रेड की पुष्टि करें", + "confirmed": "ट्रेड की पुष्टि हो गई", + "newOffer": "आपकी लिस्टिंग पर नया ऑफ़र", + "counter": "जवाबी ऑफ़र", + "accepted": "ऑफ़र स्वीकृत 🎉", + "declined": "ऑफ़र अस्वीकृत", + "withdrawn": "ऑफ़र वापस लिया गया" + }, + "newsletter": { + "drop": "नया SkateSpots ड्रॉप" + }, + "summary": { + "moreUpdates": "{{count}} और अपडेट", + "openToCatchUp": "अपडेट देखने के लिए SkateSpots खोलें" + } + }, + "toastsUi": { + "followingSuccess": "सफलतापूर्वक फ़ॉलो किया", + "followingSuccessDesc": "यह उपयोगकर्ता अब आपके नेटवर्क में है", + "followFailed": "फ़ॉलो करने में विफल", + "unfollowSuccess": "सफलतापूर्वक अनफ़ॉलो किया", + "unfollowSuccessDesc": "आपके नेटवर्क से हटा दिया गया", + "unfollowFailed": "अनफ़ॉलो करने में विफल", + "reportThanks": "धन्यवाद — समीक्षा के लिए भेजा गया", + "reportFailed": "रिपोर्ट नहीं भेजी जा सकी", + "savedOffline": "ऑफ़लाइन सहेजा गया", + "savedOfflineDesc": "ऑनलाइन होने पर हम इसे अपने आप प्रकाशित कर देंगे।", + "cacheCleaned": "कैश साफ़ हुआ", + "cacheCleanedDesc": "कैश से {{count}} पुराने स्पॉट हटाए गए", + "cacheCleared": "कैश खाली किया गया", + "cacheClearedDesc": "सभी कैश किए गए स्पॉट हटा दिए गए हैं", + "backOnline": "फिर ऑनलाइन", + "backOnlineDesc": "{{count}} सहेजी गई क्रिया भेजी गईं।", + "postQueued": "पोस्ट कतार में", + "postQueuedDesc": "ऑनलाइन होने पर आपकी पोस्ट प्रकाशित होगी", + "invalidIdentifier": "अमान्य पहचानकर्ता। npub1..., user@domain.com, या हेक्स पबकी का उपयोग करें", + "notASpotThanks": "धन्यवाद — समीक्षा के लिए भेजा गया", + "notASpotThanksDesc": "कोई बुरी बात नहीं: यह पिन को विषय-बाहर के रूप में चिह्नित करता है ताकि लोग खुद तय कर सकें।", + "notASpotFailed": "रिपोर्ट नहीं भेजी जा सकी", + "pleaseTryAgain": "कृपया फिर कोशिश करें।", + "relayUnreachable": "किसी भी रिले तक नहीं पहुँच सके — अपना कनेक्शन जाँचें और फिर कोशिश करें।", + "loginToReport": "स्पॉट रिपोर्ट करने के लिए लॉग इन करें।", + "zapLoginRequired": "लॉग इन आवश्यक", + "zapLoginRequiredDesc": "ज़ैप भेजने के लिए आपको लॉग इन होना चाहिए।", + "zapEventNotFound": "इवेंट नहीं मिला", + "zapEventNotFoundDesc": "ज़ैप करने के लिए इवेंट नहीं मिल सका।", + "zapAuthorNotFound": "लेखक नहीं मिला", + "zapAuthorNotFoundDesc": "इस आइटम का लेखक नहीं मिल सका।", + "zapSuccess": "ज़ैप सफल!", + "zapSuccessNwcDesc": "आपने NWC के ज़रिए लेखक को {{amount}} sats भेजे।", + "zapSuccessDesc": "आपने लेखक को {{amount}} sats भेजे।", + "zapStatusUnknown": "भुगतान स्थिति अज्ञात", + "zapStatusUnknownDesc": "हो सकता है आपका वॉलेट अभी भी यह ज़ैप सेटल कर रहा हो। दोबारा कोशिश करने से पहले वॉलेट जाँचें — दो बार भुगतान न करें।", + "zapNwcFailed": "NWC भुगतान विफल", + "zapWeblnFailed": "WebLN भुगतान विफल", + "zapFallingBack": "{{error}}। अन्य भुगतान विधियों पर जा रहे हैं...", + "zapFailed": "ज़ैप विफल", + "zapUnknownNwcError": "अज्ञात NWC त्रुटि", + "zapUnknownWeblnError": "अज्ञात WebLN त्रुटि", + "nwcInvalidUri": "अमान्य NWC URI", + "nwcInvalidUriDesc": "कृपया कनेक्शन स्ट्रिंग जाँचें और फिर कोशिश करें।", + "nwcExists": "कनेक्शन पहले से मौजूद", + "nwcExistsDesc": "यह वॉलेट पहले से कनेक्टेड है।", + "nwcConnected": "वॉलेट कनेक्टेड", + "nwcConnectedDesc": "{{alias}} से सफलतापूर्वक कनेक्ट हुआ।", + "nwcFailed": "कनेक्शन विफल", + "nwcFailedDesc": "वॉलेट से कनेक्ट नहीं हो सका: {{error}}", + "nwcUnknownError": "अज्ञात त्रुटि हुई", + "nwcDisconnected": "वॉलेट डिस्कनेक्टेड", + "nwcDisconnectedDesc": "वॉलेट कनेक्शन हटा दिया गया है।", + "deleteApproveAmber": "Amber में स्वीकृत करें", + "deleteApproveAmberDesc": "Amber खुलेगा — हटाने की पुष्टि के लिए Approve टैप करें।", + "deleteCancelled": "रद्द किया गया", + "deleteCancelledDesc": "आपने Amber में अनुरोध अस्वीकार किया।", + "deleteCouldntSign": "हस्ताक्षर नहीं हो सके", + "deletePublishing": "चरण 2/2: प्रकाशित हो रहा है…", + "deletePublishingDesc": "रिले को हटाने का अनुरोध भेजा जा रहा है।", + "deleteStuck": "PUBLISHING पर अटका", + "deleteStuckDesc": "रिले चरण विफल: {{error}}। हस्ताक्षर ठीक हुए थे; रिले ने पुष्टि नहीं की।", + "stashMerged": "दूसरे डिवाइस से बदलाव मिलाए गए", + "stashMergedDesc": "आपका स्टैश कहीं और संपादित हुआ — दोनों के बदलाव रखे गए।", + "statusUpdated": "स्टेटस अपडेट हुआ!", + "statusUpdatedDesc": "आपका स्केटिंग स्टेटस अब दूसरों को दिखता है।", + "statusFailed": "स्टेटस सेट करने में विफल", + "statusCleared": "स्टेटस साफ़ हुआ", + "statusClearedDesc": "आपका स्टेटस हटा दिया गया है।", + "statusClearFailed": "स्टेटस साफ़ करने में विफल", + "nutzapEnabled": "Nutzap प्राप्त करना चालू", + "nutzapEnabledDesc": "अब आप ई-कैश ज़ैप प्राप्त कर सकते हैं!", + "nutzapSetupFailed": "सेटअप विफल", + "nutzapUnavailable": "Nutzap भेजना उपलब्ध नहीं", + "tokenReceived": "टोकन प्राप्त हुआ", + "tokenReceivedDesc": "Cashu टोकन सफलतापूर्वक भुनाया गया!", + "receiveFailed": "प्राप्त करने में विफल", + "invalidAmount": "अमान्य राशि", + "invalidAmountDesc": "कृपया मान्य राशि दर्ज करें", + "tokenCreated": "टोकन बनाया गया", + "sendFailed": "भेजने में विफल", + "mintAdded": "मिंट जोड़ा गया", + "mintAddedDesc": "मिंट जोड़ा और सफलतापूर्वक भरोसा किया गया", + "mintAddFailed": "मिंट जोड़ने में विफल", + "mintRemoved": "मिंट हटाया गया", + "mintRemoveFailed": "मिंट हटाने में विफल", + "paymentReceived": "भुगतान प्राप्त हुआ", + "paymentReceivedDesc": "सफलतापूर्वक {{amount}} sats प्राप्त हुए!", + "paymentSent": "भुगतान भेजा गया", + "paymentSentDesc": "Lightning भुगतान सफलतापूर्वक पूरा हुआ", + "loginRequired": "लॉग इन आवश्यक", + "loginToFollowFounder": "संस्थापक को फ़ॉलो करने के लिए लॉग इन करें", + "alreadyFollowing": "पहले से फ़ॉलो कर रहे हैं", + "alreadyFollowingDesc": "आप पहले से {{name}} को फ़ॉलो कर रहे हैं!", + "couldNotComplete": "वह पूरा नहीं हो सका", + "tryAgainLower": "फिर कोशिश करें।", + "couldNotLoadProfile": "प्रोफ़ाइल लोड नहीं हो सकी", + "couldNotLoadProfileDesc": "अपना इंटरनेट कनेक्शन जाँचें और रीफ़्रेश करें।", + "undone": "पूर्ववत किया गया", + "undoneDesc": "तटस्थ पर वापस — न छिपाया, न पुष्टि की।", + "confirmed": "पुष्टि हुई", + "confirmedDesc": "पुष्टि की गई — यह इस कतार से हट गया।", + "hiddenToast": "छिपाया गया", + "couldNotUndo": "पूर्ववत नहीं हो सका", + "couldNotConfirm": "पुष्टि नहीं हो सकी", + "deleteFailed": "हटाने में विफल", + "somethingWentWrong": "कुछ गलत हो गया" + }, + "miscUi": { + "openingCamera": "कैमरा खुल रहा है…", + "usePhoneCamera": "अपने फ़ोन का कैमरा उपयोग करें, फिर यहाँ वापस आएँ", + "startingCamera": "कैमरा शुरू हो रहा है...", + "cameraAccessRequired": "कैमरा पहुँच आवश्यक", + "cameraAccessHint": "अपनी ब्राउज़र सेटिंग्स में कैमरा पहुँच की अनुमति दें, या नीचे फ़ाइल चयनकर्ता का उपयोग करें।", + "cameraErrorTitle": "कैमरा त्रुटि", + "cameraErrorDesc": "कैमरा नहीं खुल सका। कृपया सेटिंग्स में ऐप अनुमतियाँ जाँचें।", + "cameraDeniedTitle": "कैमरा पहुँच अस्वीकृत", + "cameraDeniedDesc": "कृपया अपनी ब्राउज़र सेटिंग्स में कैमरा पहुँच की अनुमति दें।", + "uploadFromGallery": "गैलरी से अपलोड करें", + "uploading": "अपलोड हो रहा है...", + "usePhoto": "फ़ोटो उपयोग करें", + "earningPotential": "कमाई की संभावना", + "qualityExcellent": "बेहतरीन!", + "qualityGood": "अच्छा", + "qualityBasic": "बुनियादी", + "qualityGettingStarted": "शुरुआत", + "qualityLocationAdded": "स्थान जोड़ा गया", + "qualityOnePhoto": "कम से कम 1 फ़ोटो", + "qualityThreePhotos": "3+ फ़ोटो", + "qualityMoreAngles": "ज़्यादा एंगल = बेहतर", + "qualityDescription": "विवरण", + "qualityDetailedDesc": "विस्तृत विवरण (100+ अक्षर)", + "qualityContact": "संपर्क जानकारी", + "qualityPhoneOrWebsite": "फ़ोन या वेबसाइट", + "qualityHours": "खुलने का समय", + "qualitySpotType": "स्पॉट प्रकार चुना गया", + "failedToLoadComments": "टिप्पणियाँ लोड नहीं हो सकीं", + "commentsTitle": "टिप्पणियाँ", + "noCommentsYet": "अभी कोई टिप्पणी नहीं", + "beFirstComment": "अपने विचार साझा करने वाले पहले व्यक्ति बनें!", + "removeMember": "सदस्य हटाएँ", + "whoIsThisFor": "यह प्रोफ़ाइल किसके लिए है?", + "individual": "व्यक्तिगत", + "individualDesc": "एक व्यक्ति", + "collective": "सामूहिक", + "collectiveDesc": "क्रू, स्टूडियो या कंपनी", + "membersLabel": "सदस्य", + "dismissReport": "रिपोर्ट खारिज करें", + "reportedBy": "द्वारा रिपोर्ट", + "completingLoginAmber": "Amber से लॉग इन पूरा हो रहा है...", + "entityMembersHint": "अपने क्रू के Nostr खाते जोड़ें। प्रत्येक सदस्य अपनी चाबी से अपना स्पॉट स्वयं पुष्टि करता है — तब तक वे “लंबित” दिखते हैं।", + "entityVerifiedHint": "सदस्यता प्रत्येक सदस्य के लिए सत्यापित होती है — किसी को भी उसके अपने खाते से पुष्टि के बिना आपके क्रू में नहीं जोड़ा जा सकता।", + "entityInvalidPubkey": "मान्य npub, nprofile, या 64-वर्ण हेक्स पबकी दर्ज करें।", + "entityAlreadyAdded": "वह सदस्य पहले से जोड़ा गया है।", + "offline": "ऑफ़लाइन", + "connected": "कनेक्टेड", + "offlineMode": "ऑफ़लाइन मोड", + "allFeaturesAvailable": "सभी सुविधाएँ उपलब्ध", + "browsingCachedSpots": "कैश किए गए स्पॉट ब्राउज़ हो रहे हैं", + "queuedActions": "{{count}} कतार में क्रियाएँ", + "syncing": "सिंक हो रहा है", + "publishingWhenStable": "कनेक्शन स्थिर होने पर प्रकाशित किया जाएगा...", + "willPublishOnline": "ऑनलाइन होने पर प्रकाशित होगा", + "availableOffline": "ऑफ़लाइन उपलब्ध:", + "offlineBrowseSpots": "पहले देखे गए स्पॉट ब्राउज़ करें", + "offlineViewDetails": "कैश किए गए स्पॉट विवरण देखें", + "offlineKeepActing": "क्रियाएँ जारी रखें — पोस्ट, RSVP, लिस्टिंग और संदेश कतार में रहते हैं और पुनः कनेक्ट होने पर भेजे जाते हैं" + }, + "feesUi": { + "feeFeaturedEventLabel": "विशेष इवेंट", + "feeFeaturedEventDesc": "अपने इवेंट को SkateSpots पर विशेष बनाएँ", + "feeFeaturedEventBenefit": "आपका इवेंट इवेंट पेज के ऊपर दिखता है", + "feeLabProfileLabel": "लैब प्रो प्रोफ़ाइल", + "feeLabProfileDesc": "The Lab में अपनी सेवाएँ विशेष रूप से दिखाएँ", + "feeLabProfileBenefit": "प्रो बैज + स्केटरों द्वारा The Lab ब्राउज़ करते समय विशेष स्थान", + "feeFeaturedShopLabel": "विशेष दुकान", + "feeFeaturedShopDesc": "अपनी स्केट दुकान को मैप और डायरेक्टरी पर विशेष बनाएँ", + "feeFeaturedShopBenefit": "सत्यापित बैज + मैप पर विशेष पिन", + "feeFeaturedTourLabel": "विशेष टूर", + "feeFeaturedTourDesc": "अपने टूर को SkateSpots पर विशेष बनाएँ", + "feeFeaturedTourBenefit": "प्रो बैज + स्केटरों द्वारा टूर ब्राउज़ करते समय शीर्ष स्थान", + "duration7d": "7 दिन", + "duration30d": "1 महीना", + "duration90d": "3 महीने", + "duration365d": "12 महीने", + "metaActive": "{{label}} — सक्रिय", + "daysRemainingOne": "{{count}} दिन शेष", + "daysRemainingMany": "{{count}} दिन शेष", + "zapRequestContent": "SkateSpots {{label}} ({{tier}})", + "errGenerate": "इनवॉइस बनाने में विफल", + "paymentReceived": "⚡ भुगतान प्राप्त हुआ!", + "paymentReceivedDesc": "{{amount}} sats — {{label}} अब सक्रिय है।", + "autoPayFailed": "ऑटो-भुगतान विफल", + "autoPayFailedDesc": "नीचे QR या इनवॉइस से मैन्युअल रूप से भुगतान करें।", + "payStatusUnknown": "भुगतान स्थिति अज्ञात — भुगतान हो गया हो सकता है। दोबारा भुगतान करने से पहले अपना वॉलेट जाँचें।", + "invoiceCopied": "इनवॉइस कॉपी हो गया!", + "activeBang": "{{label}} सक्रिय!", + "chooseDuration": "अवधि चुनें", + "bestValue": "सबसे बेहतर मूल्य", + "perDay": "{{price}}/दिन", + "validFor": "के लिए मान्य", + "amountLine": "~${{usd}} USD · {{name}} को · {{tier}}", + "payToContinue": "जारी रखने के लिए {{amount}} sats भुगतान करें", + "generating": "इनवॉइस बनाया जा रहा है…", + "processing": "भुगतान संसाधित हो रहा है…", + "invoiceQrAlt": "Lightning इनवॉइस QR", + "copyInvoice": "इनवॉइस कॉपी करें", + "openWallet": "वॉलेट खोलें", + "payConnected": "कनेक्टेड वॉलेट से भुगतान करें", + "scanAny": "किसी भी Lightning वॉलेट से स्कैन करें", + "tryAgain": "फिर कोशिश करें", + "proReceiptTitle": "🦧⚡ Sasquatch Pro — आप अंदर हैं!", + "proReceiptPass": "पास: {{pass}} ({{sats}} sats)", + "proReceiptActiveUntil": "सक्रिय तक: {{until}}", + "proReceiptUnlocked": "आपने क्या अनलॉक किया:", + "proReceiptBullet1": "• निजी सहायक — मैं आपका स्टैश, क्रू, स्पॉट और लिस्टिंग पढ़ता हूँ", + "proReceiptBullet2": "• क्रिया ड्राफ़्ट — गियर सूचीबद्ध करें, स्पॉट स्टेटस पोस्ट करें, यात्रा योजना बनाएँ (आप पुष्टि करते हैं)", + "proReceiptBullet3": "• ऐसे उत्तर जो आपके निजी संदर्भ का उपयोग करते हैं, केवल सार्वजनिक डेटा का नहीं", + "proReceiptBullet4": "• ⚡ आप सीधे SkateSpots का साथ दे रहे हैं और इसे मुफ़्त + विज्ञापन-मुक्त रख रहे हैं", + "proReceiptThanks": "SkateSpots को मुफ़्त और विज्ञापन-मुक्त रखने के लिए धन्यवाद। अब जाकर श्रेड करें। 🛹", + "proReceiptSubject": "Sasquatch Pro रसीद", + "receiptContent": "Sasquatch Pro — {{tier}} समर्थक पास 🦧⚡", + "receiptAlt": "Sasquatch Pro समर्थक पास ({{tier}}), {{until}} तक मान्य", + "purchaseComment": "Sasquatch Pro — {{tier}} 🦧", + "errLogin": "Pro में अपग्रेड करने के लिए लॉग इन करें।", + "errStart": "खरीदारी शुरू नहीं हो सकी।", + "errRecord": "आपका पास रिकॉर्ड नहीं हो सका।" + } +}; + +export default batch1; diff --git a/src/i18n/hi/batch2.ts b/src/i18n/hi/batch2.ts new file mode 100644 index 0000000..4d4dd98 --- /dev/null +++ b/src/i18n/hi/batch2.ts @@ -0,0 +1,1491 @@ +const batch2 = { + "socialUi": { + "agentPanel": { + "spot": "स्पॉट", + "event": "इवेंट", + "labPro": "Lab प्रो", + "gear": "गियर", + "crew": "क्रू", + "description": "इस क्रू को जानता है — इसके जैम, रोस्टर और ओपन कॉल — साथ ही लाइव डेटा के साथ पूरा सीन।", + "greeting": "नमस्ते! मैं Sasquatch हूँ, {{crew}} का गाइड। क्रू के बारे में पूछें — अगला जैम, इसे कौन चलाता है, हम क्या चाहते हैं — या पूरा सीन।", + "suggestion1": "हमारा अगला जैम कब है?", + "suggestion2": "यह क्रू कौन चलाता है?", + "suggestion3": "हम क्या खोज रहे हैं?", + "suggestion4": "हमारे पास के बेहतरीन स्पॉट?", + "suggestion5": "स्केटिंग के लिए मौसम कैसा है?", + "thinking": "Sasquatch सोच रहा है…", + "placeholder": "अपने लोकल सीन के बारे में पूछें…", + "disclaimer": "AI गलत हो सकता है — लिंक असली लिस्टिंग पर जाते हैं।" + }, + "badge": { + "upcomingOne": "{{count}} आने वाला इवेंट", + "upcomingMany": "{{count}} आने वाले इवेंट", + "comingOne": "{{count}} इवेंट आ रहा है", + "comingMany": "{{count}} इवेंट आ रहे हैं" + }, + "bell": { + "youAreIn": "आप {{crew}} में हैं! 🛹", + "membershipConfirmed": "सदस्यता पुष्ट हो गई।", + "couldNotConfirm": "पुष्ट नहीं कर सके", + "addedYouTo": "ने आपको जोड़ा", + "confirmToAppear": "सदस्य के रूप में दिखने के लिए पुष्टि करें।", + "notifications": "सूचनाएँ", + "notificationsNew": "सूचनाएँ ({{count}} नई)", + "unreadCount": "{{count}} बिना पढ़ी सूचनाएँ", + "markRead": "पढ़ा हुआ चिह्नित करें", + "allClear": "सब देख लिया", + "tabAll": "सभी", + "tabTrades": "ट्रेड", + "tabSocial": "सोशल", + "tabNews": "समाचार", + "tabCrews": "क्रू", + "checkingUpdates": "अपडेट जाँच रहे हैं…", + "checkingTrades": "ऑफ़र और ट्रेड जाँच रहे हैं…", + "loadingDrops": "नए ड्रॉप लोड हो रहे हैं…", + "emptyAll": "ऑफ़र, ट्रेड, ज़ैप, जवाब, न्यूज़लेटर ड्रॉप और क्रू गतिविधि यहाँ दिखेंगे।", + "emptyTrades": "ऑफ़र, काउंटर-ऑफ़र और ट्रेड पुष्टि सब यहाँ आते हैं — चाहे आप बेच रहे हों, खरीद रहे हों या बदल रहे हों।", + "emptySocial": "ज़ैप, रिएक्शन, रीपोस्ट, मेंशन, जवाब, इवेंट RSVP और होस्ट अपडेट सब यहाँ आते हैं।", + "emptyNews": "SkateSpots न्यूज़लेटर ड्रॉप यहाँ आएँगे। न्यूज़लेटर पेज पर सब्सक्राइब करें।", + "emptyCrews": "क्रू निमंत्रण, कलेक्टिव अनुरोध और सदस्यता अनुरोध यहाँ दिखेंगे।", + "subscribeBanner": "नए ड्रॉप अपनी बेल में पाने के लिए सब्सक्राइब करें", + "read": "पढ़ा गया", + "allCaughtUp": "आपने सब देख लिया" + }, + "chat": { + "hidden": "छिपा हुआ", + "hideMessageAria": "यह संदेश छिपाएँ", + "hideMessageTitle": "संदेश छिपाएँ (एडमिन)", + "messageHidden": "संदेश छिपा दिया", + "messageHiddenDesc": "सभी के लिए क्रू चैट से छिपा दिया गया।", + "messageHideFailed": "संदेश छिपाने में विफल", + "encryptionUnavailable": "एन्क्रिप्शन उपलब्ध नहीं", + "encryptionUnavailableDesc": "आपका साइनर NIP-44 एन्क्रिप्शन का समर्थन नहीं करता। कृपया अपना एक्सटेंशन अपडेट करें।", + "messageFailed": "संदेश विफल", + "couldNotSend": "संदेश नहीं भेज सके।", + "noOneToMessage": "अभी संदेश भेजने के लिए कोई नहीं", + "noOneToMessageDesc": "इस क्रू में चैट करने के लिए कोई और सदस्य नहीं है।", + "subject": "{{crew}} क्रू चैट", + "title": "क्रू चैट", + "cordnBadgeTitle": "इस क्रू के Cordn कोऑर्डिनेटर से ContextVM के ज़रिए रूट किया गया। एंड-टू-एंड एन्क्रिप्टेड।", + "private": "निजी", + "privateBadgeTitle": "एंड-टू-एंड एन्क्रिप्टेड — सिर्फ़ क्रू सदस्य ही ये संदेश पढ़ सकते हैं।", + "encryptedCordn": "एन्क्रिप्टेड और क्रू कोऑर्डिनेटर (Cordn) से रूट — कोई संदेश सार्वजनिक रिले पर नहीं जाता।", + "encryptedNip17": "संस्थापक और सभी सूचीबद्ध क्रू सदस्यों के लिए एन्क्रिप्टेड ग्रुप चैट।", + "moderatorNote": " मॉडरेटर के रूप में आप क्रू से संदेश छिपा सकते हैं।", + "loginToSee": "क्रू चैट जॉइन कर सकते हैं या नहीं, देखने के लिए लॉग इन करें।", + "membersOnly": "यह चैट क्रू सदस्यों के लिए निजी है। बातचीत में शामिल होने के लिए संस्थापक से कहें कि आपको क्रू में जोड़ें।", + "noMessages": "अभी कोई संदेश नहीं। क्रू चैट शुरू करें — सेशन प्लान करें, स्पॉट साझा करें, क्लिप का मज़ा लें।", + "newMessages": "नए संदेश", + "new": "नया", + "placeholder": "अपने क्रू को संदेश भेजें…", + "sendAria": "संदेश भेजें" + }, + "collectiveJoinRequest": { + "addedTitle": "{{name}} को {{collective}} में जोड़ा 🛹", + "addedDesc": "वे अपनी ओर से पुष्टि करेंगे ताकि सत्यापित सदस्य के रूप में दिखें।", + "couldNotAdd": "सदस्य नहीं जोड़ सके", + "couldNotDismiss": "खारिज नहीं कर सके", + "addedDone": "जोड़ा गया", + "addedTo": "में", + "dismissedDone": "{{name}} का अनुरोध खारिज किया", + "wantsToJoin": "जॉइन करना चाहते हैं", + "alreadyOnRoster": "पहले से रोस्टर पर", + "openCollective": "ओपन कलेक्टिव", + "dismiss": "खारिज करें", + "addToCollective": "कलेक्टिव में जोड़ें" + }, + "collectiveMembers": { + "confirmed": "पुष्ट", + "pending": "लंबित", + "pendingTooltip": "कलेक्टिव द्वारा सूचीबद्ध — इस सदस्य की पुष्टि का इंतज़ार।", + "crewOnly": "सिर्फ़ क्रू", + "crewOnlyTooltip": "इस सदस्य ने सिर्फ़ क्रू-साथियों को दिखना चुना है। आप उन्हें देख सकते हैं क्योंकि आप क्रू में हैं।", + "hiddenMember": "छिपा सदस्य", + "title": "सदस्य", + "verifiedOf": "{{total}} में से {{confirmed}} सत्यापित — हर पुष्ट सदस्य ने अपनी खुद की Nostr कुंजी से हस्ताक्षर किए।", + "verifiedPerMember": "सदस्यता प्रति सदस्य सत्यापित होती है। हर सदस्य अपनी Nostr कुंजी से पुष्टि करता है।", + "adminsOne": "{{count}} एडमिन क्रू चलाने में मदद करते हैं।", + "adminsMany": "{{count}} एडमिन क्रू चलाने में मदद करते हैं।" + }, + "confirmMembership": { + "public": "सार्वजनिक", + "crewOnly": "सिर्फ़ क्रू", + "confirmedTitle": "सदस्यता पुष्ट हो गई!", + "confirmedCrew": "आप {{name}} में सत्यापित हैं — सिर्फ़ क्रू-साथियों को दिखते हैं।", + "confirmedPublic": "अब आप {{name}} के सत्यापित सदस्य के रूप में दिखते हैं।", + "failed": "पुष्टि नहीं हो सकी", + "addedTo": "आपको {{name}} में जोड़ा गया है", + "addedDesc": "अपनी सदस्यता पुष्ट करें ताकि यह आपकी और उनकी प्रोफ़ाइल पर सत्यापित दिखे।", + "yourVisibility": "आपकी दृश्यता", + "confirming": "पुष्टि हो रही है…", + "confirmButton": "सदस्यता पुष्ट करें" + }, + "contacts": { + "message": "संदेश", + "removePrivate": "निजी संपर्कों से हटाएँ", + "savePrivate": "निजी संपर्कों में सहेजें", + "seoTitle": "संपर्क - SkateSpots", + "seoDescription": "आपका सीन — क्रू-साथी, जिन्हें आप फ़ॉलो करते हैं और हाल की बातचीत, निजी एन्क्रिप्टेड संपर्कों के साथ।", + "encryptionUnavailableDesc": "आपका साइनर NIP-44 एन्क्रिप्शन का समर्थन नहीं करता।", + "removed": "निजी संपर्कों से हटा दिया", + "saved": "निजी संपर्कों में सहेजा गया", + "savedDesc": "यह सूची सिर्फ़ आप देख सकते हैं।", + "updateFailed": "संपर्क अपडेट नहीं कर सके", + "loginTitle": "आपका सीन, एक ही जगह", + "loginDesc": "अपने क्रू-साथी, फ़ॉलो किए लोग और हाल की बातचीत देखने के लिए लॉग इन करें — और निजी, एन्क्रिप्टेड संपर्क सूची रखें।", + "title": "संपर्क", + "subtitle": "आपका सीन — क्रू-साथी, फ़ॉलो और बातचीत", + "filterPlaceholder": "npub से फ़िल्टर करें…", + "tabCrew": "क्रू", + "tabFollows": "फ़ॉलोइंग", + "tabDms": "DM", + "tabSaved": "सहेजे गए", + "emptyCrewmates": "अभी कोई क्रू-साथी नहीं। अपना सीन नेटवर्क बनाने के लिए क्रू जॉइन या शुरू करें।", + "emptyFollowing": "आप अभी किसी को फ़ॉलो नहीं कर रहे।", + "emptyDms": "अभी कोई बातचीत नहीं। शुरू करने के लिए किसी स्केटर को संदेश भेजें।", + "savedHint": "यह सूची आपकी कुंजी से एन्क्रिप्टेड है — सिर्फ़ आप इसे पढ़ सकते हैं। किसी को जोड़ने के लिए उन पर स्टार टैप करें।", + "emptySaved": "अभी कोई सहेजा संपर्क नहीं। अपनी निजी पता पुस्तिका बनाने के लिए किसी भी टैब से लोगों को स्टार करें।" + }, + "conversation": { + "unknown": "अज्ञात", + "seoTitle": "{{name}} के साथ चैट - SkateSpots", + "seoDescription": "निजी एन्क्रिप्टेड बातचीत", + "sendFailed": "संदेश भेजने में विफल", + "sendFailedDesc": "कृपया थोड़ी देर में फिर कोशिश करें।", + "tradeConfirmed": "ट्रेड पुष्ट", + "tradeConfirmedDesc": "आप दोनों की प्रतिष्ठा अपडेट हो गई।", + "tradeConfirmFailed": "ट्रेड पुष्ट नहीं कर सके", + "somethingWrong": "कुछ गड़बड़ हो गई।", + "soldNote": "{{name}} को बेचा।", + "saleConfirmed": "बिक्री पुष्ट", + "saleConfirmedDesc": "{{name}} अब अपनी ओर से पुष्टि कर सकते हैं।", + "saleConfirmFailed": "बिक्री पुष्ट नहीं कर सके", + "escrowRedeemed": "एस्क्रो रिडीम हुआ", + "escrowRedeemedDesc": "रकम अब आपके Cashu वॉलेट में है।", + "escrowRedeemFailed": "एस्क्रो रिडीम नहीं कर सके", + "loginTitle": "संदेश देखने के लिए लॉग इन करें", + "secureLoginTitle": "सुरक्षित लॉगिन आवश्यक", + "secureLoginDesc": "संदेशों के लिए सुरक्षित साइनर ऐप चाहिए।", + "encrypted": "एन्क्रिप्टेड", + "refresh": "रीफ़्रेश", + "didCompleteTrade": "क्या आपने यह ट्रेड पूरा किया?", + "recordedSale": "{{name}} ने बिक्री दर्ज की। दोनों की प्रतिष्ठा अपडेट करने के लिए पुष्टि करें।", + "confirm": "पुष्टि करें", + "confirmSale": "यह बिक्री पुष्ट करें?", + "askedToRecord": "{{name}} ने इसे दर्ज करने को कहा। पुष्टि करने से दोनों की प्रतिष्ठा बढ़ेगी।", + "confirmSaleButton": "बिक्री पुष्ट करें", + "redeemEscrow": "एस्क्रो रिडीम करें", + "escrowAppOnly": "Cashu एस्क्रो सिर्फ़ ऐप में है — रिडीम करने के लिए फ़ोन पर SkateSpots खोलें।", + "startThread": "बातचीत शुरू करने के लिए संदेश भेजें", + "placeholder": "संदेश लिखें...", + "e2eeNote": "संदेश NIP-17 से एंड-टू-एंड एन्क्रिप्टेड हैं" + }, + "coordinator": { + "secondsAgo": "{{count}} सेकंड पहले", + "minutesAgo": "{{count}} मिनट पहले", + "hoursAgo": "{{count}} घंटे पहले", + "daysAgo": "{{count}} दिन पहले", + "statusIdle": "जाँचा नहीं गया", + "statusChecking": "जाँच हो रही है…", + "statusOnline": "कनेक्टेड", + "statusStale": "शांत", + "statusOffline": "नहीं दिखा", + "statusError": "पहुँच से बाहर", + "notACoordinator": "यह कोऑर्डिनेटर नहीं है", + "notACoordinatorDesc": "nprofile, npub या cordn.net लिंक पेस्ट करें।", + "added": "कोऑर्डिनेटर जोड़ा गया", + "relayOne": "{{count}} रिले", + "relayMany": "{{count}} रिले", + "lastSeen": "आख़िरी बार {{time}} देखा गया", + "onlineDesc": "घोषणा कर रहा है। जो ग्रुप इसे इस्तेमाल करते हैं, वे अब संदेश भेज सकते हैं।", + "staleDesc": "मिला, लेकिन हाल में घोषणा नहीं की — हो सकता है सो रहा हो।", + "offlineDesc": "कोई घोषणा नहीं दिखी। हो सकता है यह निजी हो (कोई बात नहीं), या बस ऑफ़लाइन हो।", + "errorDesc": "रिले तक नहीं पहुँच सके।", + "idleDesc": "जाँच हो रही है…", + "checkingDesc": "इसकी घोषणा खोज रहे हैं…", + "eventFoundOne": "{{count}} इवेंट मिला।", + "eventFoundMany": "{{count}} इवेंट मिले।", + "check": "जाँचें", + "addLinkCopied": "ऐड लिंक कॉपी हो गया", + "copyFailed": "कॉपी नहीं हो सका", + "copyManually": "इसे मैन्युअली कॉपी करें।", + "addLink": "लिंक जोड़ें", + "removeConfirm": "इस डिवाइस से यह कोऑर्डिनेटर हटाएँ?", + "scanToJoin": "इस कोऑर्डिनेटर से जुड़ने के लिए Cordn में स्कैन करें।", + "noCoordinator": "अभी कोई कोऑर्डिनेटर नहीं", + "noCoordinatorDescA": "कोऑर्डिनेटर आपके क्रू के", + "encryptedWord": "एन्क्रिप्टेड", + "noCoordinatorDescB": "ग्रुप संदेश क्रम से पहुँचाता है। यह देखता है कौन, कब और कौन-सा ग्रुप — कभी सामग्री नहीं। एक चुनें, या अपना चलाएँ।", + "change": "कोऑर्डिनेटर बदलें", + "addTitle": "कोऑर्डिनेटर जोड़ें", + "add": "जोड़ें", + "scanQR": "कोऑर्डिनेटर QR स्कैन करें", + "inputPlaceholder": "nprofile… या cordn.net लिंक", + "runOwn": "अपना चलाएँ", + "runOwnDesc": "यह पुराने फ़ोन, Raspberry Pi या किसी भी छोटे बॉक्स पर चल सकता है जिसे आप चालू छोड़ें। जब तक यह चलता है, आपका ग्रुप काम करता रहता है — और आप ग्रुप को कभी भी कहीं भी ले जा सकते हैं।", + "onPhone": "फ़ोन पर", + "onPhoneDesc": "Cordn Coordinator ऐप इस्तेमाल करें, फिर यहाँ उसका QR स्कैन करके जोड़ें।", + "ourDefaultTitle": "SkateSpots कोऑर्डिनेटर", + "ourDefaultDesc": "SkateSpots relay.skate-spots.org पर एक कोऑर्डिनेटर चलाता है। इसे डिफ़ॉल्ट रूप से इस्तेमाल करें, या अपना चलाएँ — कोऑर्डिनेटर सिर्फ़ सिफ़रटेक्स्ट और मेटाडेटा देखता है, आपके संदेश कभी नहीं।", + "useOurs": "SkateSpots कोऑर्डिनेटर इस्तेमाल करें", + "openCordn": "Cordn खोलें", + "scanItsQR": "इसका QR स्कैन करें", + "onServer": "सर्वर पर", + "commandCopied": "कमांड कॉपी हो गया", + "copyCommand": "कमांड कॉपी करें", + "androidSleep": "Android फ़ोन कोऑर्डिनेटर को सुला सकता है। समय-समय पर ग्रुप शिफ़्ट करने के लिए तैयार रहें।", + "privacyNote": "🔒 कोऑर्डिनेटर सिर्फ़ सिफ़रटेक्स्ट और मेटाडेटा देखता है — संदेश की सामग्री कभी नहीं। मेटाडेटा भी अपना रखने के लिए अपना कोऑर्डिनेटर चलाएँ।", + "customTitle": "कस्टम चैट कोऑर्डिनेटर", + "customBadge": "· प्रयोगात्मक · आपका अपना रिले", + "customDescShort": "वैकल्पिक — आपके क्रू में पहले से एंड-टू-एंड एन्क्रिप्टेड चैट है, इसलिए इसकी ज़रूरत नहीं। सिर्फ़ तब सेट करें जब आप अपना चलाते हों", + "remove": "हटाएँ", + "pointerNote": "अभी सिर्फ़ पॉइंटर: wss:// एंडपॉइंट क्रू के चैट रिले के रूप में इस्तेमाल होता है; https:// वाला साझा ContextVM रिले से। असली Cordn MLS अभी जुड़ा नहीं है।", + "cordnCoordinator": "Cordn कोऑर्डिनेटर", + "invalid": "यह कोऑर्डिनेटर जैसा नहीं लगता। nprofile, cordn.net लिंक या https/wss URL पेस्ट करें।", + "useMine": "मेरा कोऑर्डिनेटर इस्तेमाल करें" + }, + "createCrew": { + "seoTitle": "क्रू बनाएँ - SkateSpots", + "seoDescription": "अपना स्केट क्रू बनाएँ — होम टर्फ़, सदस्य और स्पॉट।", + "loginRequired": "लॉगिन आवश्यक", + "loginRequiredDesc": "क्रू बनाने के लिए आपको लॉग इन करना होगा।", + "backToCrews": "क्रू पर वापस", + "title": "क्रू बनाएँ", + "intro": "आपका स्केट परिवार — जिनके साथ आप स्केट करते हैं। शुरू करने के लिए बस एक नाम काफ़ी है; बाकी सब वैकल्पिक है।" + }, + "crew": { + "seoTitleNamed": "{{name}} - SkateSpots क्रू", + "seoTitle": "क्रू - SkateSpots", + "seoDescription": "SkateSpots पर एक स्केट क्रू।", + "postHidden": "पोस्ट छिपी", + "postHiddenDesc": "सभी के लिए क्रू फ़ीड से हटा दिया गया।", + "postHideFailed": "पोस्ट छिपाने में विफल", + "backToCrews": "क्रू पर वापस", + "disband": "भंग करें", + "youAreCaptain": "आप कप्तान हैं", + "member": "सदस्य", + "askSasquatch": "Sasquatch से पूछें", + "agent": "क्रू एजेंट", + "agentDesc": "आपके क्रू का AI गाइड — पास के स्पॉट, इवेंट, कोच और गियर, लाइव डेटा के साथ।", + "eventsTab": "इवेंट", + "chatTab": "चैट", + "newMessages": "नए संदेश", + "hostJam": "जैम होस्ट करें", + "noEvents": "अभी कोई क्रू इवेंट नहीं। क्रू के रूप में जैम, कॉम्प या मीटअप होस्ट करें — यह आपके क्रू को इवेंट कैलेंडर से जोड़ता है और लोग इसे ज़ैप कर सकते हैं।", + "support": "सपोर्ट", + "zapCrew": "क्रू को ज़ैप करें", + "bandTitle": "क्रू बैंड", + "bandTagline": "लाइव संगीत · स्केट और साउंड", + "listenTitle": "सुनें: {{domain}}", + "listen": "धुनें सुनें", + "setUpGig": "गिग सेट करें", + "bookGigMessage": "नमस्ते {{crew}} — {{band}} को गिग के लिए बुक करने में रुचि है। तारीख़ों पर बात करने के लिए उपलब्ध हैं?", + "messageAboutGig": "गिग के बारे में संदेश", + "gigHintA": "कैलेंडर में इस क्रू द्वारा होस्ट किया गया संगीत इवेंट जोड़ता है।", + "messageShort": "संदेश", + "gigHintB": "तारीख़ें और ब्यौरे तय करने के लिए क्रू को एन्क्रिप्टेड DM खोलता है।", + "homeSpots": "होम स्पॉट", + "viewSpot": "स्पॉट देखें", + "seeOnMap": "मैप पर देखें →", + "founderLinks": "संस्थापक और लिंक", + "startedBy": "{{name}} ने शुरू किया", + "opens": "खुलता है: {{domain}}" + }, + "crews": { + "seoTitle": "क्रू - SkateSpots", + "seoDescription": "अपने लोग खोजें। अपने आस-पास के लोकल स्केट क्रू, कलेक्टिव और समुदाय खोजें।", + "videoPartTooltip": "इस क्रू का वीडियो पार्ट है", + "part": "पार्ट", + "bandTooltip": "क्रू बैंड: {{name}}", + "band": "बैंड", + "focusAll": "सभी", + "focusAllShort": "सभी", + "focusDiy": "DIY", + "focusPhoto": "फ़ोटो", + "focusCoaching": "कोचिंग", + "focusArt": "कला", + "focusMusic": "संगीत", + "focusPhysio": "फ़िज़ियो", + "focusMixed": "मिक्स्ड", + "title": "क्रू", + "heroLine": "मैप से जुड़ा आपका स्केट परिवार — वे लोग जिनके साथ आप स्केट करते हैं", + "heroWith": "साथ", + "heroRest": ", न कि जिन्हें आप हायर करते हैं (वह The Lab है)।", + "crewCountOne": "{{count}} क्रू", + "crewCountMany": "{{count}} क्रू", + "cityCountOne": "{{count}} शहर", + "cityCountMany": "{{count}} शहर", + "createCrew": "क्रू बनाएँ", + "create": "बनाएँ", + "searchPlaceholder": "नाम या शहर से क्रू खोजें…", + "filterTitle": "क्रू फ़िल्टर करें", + "filterDesc": "क्रू में किस चीज़ में रुचि है।", + "nearMe": "मेरे पास", + "emptySearchTitle": "आपकी खोज से कोई क्रू नहीं मिला", + "emptySearchHint": "“{{query}}” के लिए कुछ नहीं मिला। दूसरा नाम या शहर आज़माएँ।", + "clearSearch": "खोज साफ़ करें", + "emptyFocusTitle": "अभी कोई {{label}} क्रू नहीं", + "emptyFocusHint": "यहाँ अभी कोई “{{label}}” का झंडा नहीं फहरा रहा। सभी क्रू दिखाएँ, या इसे खुद शुरू करें।", + "showAll": "सभी क्रू दिखाएँ", + "claimTitle": "अपने लोकल सीन पर दावा करें", + "claimHint": "यहाँ अभी कोई क्रू नहीं है। पहले बनें — अपना क्रू शुरू करें, अपने होम स्पॉट जोड़ें, और अपने सीन को मैप पर लाएँ ताकि सब उसे खोज सकें।" + }, + "crewCoordinator": { + "privateChat": "निजी क्रू चैट", + "encryptedChat": "एन्क्रिप्टेड चैट", + "privateChatName": "निजी चैट", + "privateChatDesc": "कोऑर्डिनेटर के ज़रिए फ़ॉरवर्ड-सीक्रेट ग्रुप चैट (MLS)।", + "privateChatDescFull": "निजी चैट एक बार एडमिन बनाता है, फिर सदस्य जुड़ते हैं।", + "chatRowDesc": "क्रू में सभी — हर सदस्य की कुंजी से सीलबंद (NIP-17)।", + "openChat": "खोलें", + "setUpChat": "सेट करें", + "joinChat": "जॉइन करें", + "checking": "जाँच हो रही है…", + "openInAnotherApp": "दूसरे ऐप में खोलें", + "on": "चालू", + "defaultA": "यह", + "chatWord": "चैट", + "defaultB": "टैब", + "e2ee": "एंड-टू-एंड एन्क्रिप्टेड है", + "defaultC": "— संस्थापक और सभी सूचीबद्ध सदस्यों के लिए; कुछ सेट करने की ज़रूरत नहीं। संदेश हर सदस्य की कुंजी से सीलबंद होते हैं (NIP-17), इसलिए सिर्फ़ आपका क्रू उन्हें पढ़ सकता है।", + "advancedA": "एडवांस्ड: अपना चलाएँ", + "cordnCoordinator": "Cordn कोऑर्डिनेटर", + "routeThrough": "चैट को इससे रूट करें", + "coordinator": "कोऑर्डिनेटर", + "deliveredOver": "इससे डिलीवर", + "sharedRelay": "— साझा ContextVM रिले।", + "ownRelay": "— आपके क्रू का अपना रिले।", + "chatLive": "निजी चैट चालू है", + "routesA": "यह", + "routesB": "टैब इस कोऑर्डिनेटर से रूट होता है: संदेश एंड-टू-एंड एन्क्रिप्टेड हैं (NIP-44, हर सदस्य के लिए सीलबंद), इसलिए यह सिर्फ़ सीलबंद ट्रैफ़िक संभालता है।", + "publicWarning": "ध्यान दें: यह साझा ContextVM रिले से एड्रेस होता है, इसलिए सिफ़रटेक्स्ट और उसका मेटाडेटा (कौन-सा क्रू, और कब) सार्वजनिक रूप से दिखता है — बस पढ़ा नहीं जा सकता। इसे भी निजी रखने के लिए क्रू को निजी wss:// रिले पर ले जाएँ।", + "ownRelaySafe": "क्रू से जुड़ी कोई बात आपके क्रू के अपने रिले से बाहर नहीं जाती।", + "manage": "कोऑर्डिनेटर प्रबंधित करें", + "open": "{{domain}} खोलें", + "openInCordnWeb": "Cordn (वेब)", + "openCordnGroup": "क्रू चैट खोलें", + "copyForStaircase": "Staircase के लिए कॉपी करें", + "runBy": "कोऑर्डिनेटर चलाता है" + }, + "dms": { + "securityReminder": "सुरक्षा अनुस्मारक", + "phishingStrong": "SkateSpots आपको कभी DM नहीं करेगा", + "phishingRest": "अपना खाता वेरिफ़ाई करने, कुंजियाँ साझा करने या भुगतान भेजने के लिए। अगर कोई DM में SkateSpots सपोर्ट होने का दावा करे — वह धोखाधड़ी है।", + "dismissReminder": "सुरक्षा अनुस्मारक खारिज करें", + "peopleCount": "{{count}} लोग", + "youPrefix": "आप: ", + "unreadMessages": "बिना पढ़े संदेश", + "seoTitle": "संदेश - SkateSpots", + "seoDescription": "स्केटबोर्डिंग समुदाय के साथ निजी एन्क्रिप्टेड संदेश", + "loginTitle": "संदेश एक्सेस करने के लिए लॉग इन करें", + "loginDesc": "समुदाय के स्केटर्स के साथ निजी, एन्क्रिप्टेड मैसेजिंग", + "secureLoginTitle": "सुरक्षित लॉगिन आवश्यक", + "secureLoginDesc": "निजी संदेशों के लिए आपकी बातचीत एन्क्रिप्ट करने हेतु सुरक्षित साइनर ऐप चाहिए।", + "onAndroid": "Android पर:", + "useAmber": "Amber ऐप इस्तेमाल करें", + "getAmber": "Amber पाएँ →", + "onIOS": "iOS पर:", + "iosHint": "सेटिंग्स से bunker कनेक्शन (nsec.app) से लॉग इन करके देखें", + "browserHint": "Alby या nos2x जैसे एन्क्रिप्शन-सपोर्ट वाले ब्राउज़र एक्सटेंशन से लॉग इन करके देखें।", + "title": "संदेश", + "subtitleFull": "NIP-17 से एंड-टू-एंड एन्क्रिप्टेड", + "subtitleShort": "एन्क्रिप्टेड", + "newMessage": "नया संदेश", + "groups": "ग्रुप", + "refresh": "रीफ़्रेश", + "crews": "क्रू", + "crewFounder": "संस्थापक", + "crewMember": "सदस्य", + "crewOpen": "खोलें", + "crewSetUp": "सेट करें", + "loadFailed": "संदेश लोड नहीं हो सके", + "emptyTitle": "अभी कोई संदेश नहीं", + "emptyDesc": "समुदाय में किसी से बातचीत शुरू करें", + "startConversation": "बातचीत शुरू करें", + "undecryptableOne": "{{count}} एन्क्रिप्टेड संदेश आपका साइनर नहीं खोल सका।", + "undecryptableMany": "{{count}} एन्क्रिप्टेड संदेश आपका साइनर नहीं खोल सका।" + }, + "editCrew": { + "seoTitleNamed": "{{name}} संपादित करें - SkateSpots", + "seoTitle": "क्रू संपादित करें - SkateSpots", + "seoDescription": "अपना स्केट क्रू संपादित करें।", + "loginRequired": "लॉगिन आवश्यक", + "notYours": "यह आपका क्रू नहीं है", + "notYoursDesc": "सिर्फ़ क्रू संस्थापक ही इसे संपादित कर सकते हैं।", + "backToCrew": "क्रू पर वापस", + "title": "क्रू संपादित करें" + }, + "form": { + "add": "जोड़ें", + "added": "जोड़ा गया", + "addNameInBasicsA": "क्रू का नाम फिर से जोड़ें", + "addNameInBasicsB": "पूरा करने के लिए।", + "adminsDescA": "भरोसेमंद सदस्यों को बनाएँ", + "adminsWord": "एडमिन", + "adminsDescB": "— वे सदस्यों को आमंत्रित कर सकते हैं और अपनी खुद की कुंजियों से क्रू फ़ीड और चैट मॉडरेट कर सकते हैं। आप (संस्थापक) हमेशा क्रू की पहचान के मालिक रहते हैं।", + "agentDescA": "जोड़ें", + "agentDescB": ", एक AI गाइड जो वाकई आपके क्रू को जानता है। सदस्य पूछ सकते हैं", + "agentDescC": "— साथ ही लाइव SkateSpots डेटा से पास के स्पॉट, इवेंट, कोच और गियर। सीधे ब्राउज़र में चलता है; कोई कुंजी या सेटअप नहीं। यह शुरुआती दौर है (फ़्री-टियर AI, इसलिए कभी-कभी धीमा)।", + "agentDescStrong": "आपका अगला जैम, क्रू कौन चलाता है, आप क्या खोज रहे हैं और आपका वाइब", + "agentEnabledNote": "सेव करते ही Sasquatch आपके क्रू पेज पर दिखेगा।", + "bandDesc": "बैंड है? स्केट सीन और लोकल संगीत साथ-साथ चलते हैं — अपने बैंड का नाम और धुनों का लिंक डालें।", + "bandFooterA": "पूरी बैंड प्रोफ़ाइल (शैलियाँ, वाद्य, गिग) के लिए", + "musicianWord": "संगीतकार", + "bandFooterB": "The Lab में बनाएँ, फिर उसे", + "linkedLabWord": "जुड़ी Lab प्रोफ़ाइल", + "bandFooterC": "अनुभाग में ऊपर लिंक करें।", + "bandMusicWord": "बैंड और संगीत", + "bandName": "बैंड का नाम", + "bandNamePlaceholder": "जैसे The Bail Outs", + "bandNudgeA": "आपका बैंड है — अपना", + "crewTypeWord": "क्रू टाइप", + "bandNudgeB": "सेट करने के लिए टैप करें,", + "bandNudgeC": "ताकि आप The Lab के Music सीन में भी दिखें।", + "beta": "बीटा", + "bioLabel": "परिचय / मैनिफ़ेस्टो", + "bioPlaceholder": "आप कौन हैं, क्या स्केट करते हैं, आपकी कहानी...", + "continue": "जारी रखें", + "crewCreated": "क्रू बन गया!", + "crewUpdated": "क्रू अपडेट हो गया!", + "crewName": "क्रू का नाम", + "cordnGroup": "Cordn ग्रुप", + "cordnGroupHint": "वैकल्पिक: Staircase या Cordn वेब से ग्रुप लिंक पेस्ट करें। फिर आपके क्रू को हमारे कोऑर्डिनेटर पर असली एंड-टू-एंड MLS चैट मिलेगी।", + "crewOnlyWord": "सिर्फ़ क्रू", + "crewType": "क्रू टाइप", + "crewTypeDescA": "क्या आपका क्रू किसी क्राफ़्ट पर केंद्रित है? एक चुनें ताकि आप उस सीन में भी दिखें", + "theLab": "The Lab", + "crewTypeDescB": "। सामान्य स्केट क्रू रहते हैं", + "mixedWord": "मिक्स्ड", + "crewTypeDescC": "।", + "customVibeHint": "# के साथ अपना वाइब या फ़ोकस जोड़ें", + "customVibePlaceholder": "जैसे downhill, night-sessions, no-comply", + "editDesc": "आपके क्रू की पहचान, होम टर्फ़ और सदस्य", + "enableAgent": "क्रू एजेंट चालू करें", + "enableTreasury": "क्रू ट्रेज़री चालू करें", + "failed": "विफल", + "founded": "स्थापना (वर्ष)", + "geolocationUnsupported": "जियोलोकेशन समर्थित नहीं", + "gettingLocation": "प्राप्त हो रहा है...", + "goalHint": "सुनिश्चित करें कि आपकी Nostr प्रोफ़ाइल में Lightning पता (lud16) हो ताकि योगदान पहुँच सकें।", + "goalPlaceholder": "जैसे DIY स्पॉट को कंक्रीट करें", + "goalTarget": "लक्ष्य (sats)", + "goalWhat": "लक्ष्य क्या है?", + "homeSpots": "होम स्पॉट", + "homeSpotsDesc": "उन स्पॉट को जोड़ें जहाँ आपका क्रू अक्सर जाता है — वे मैप पर आपके क्रू से जुड़ेंगे", + "homeTurf": "होम टर्फ़ (शहर / क्षेत्र)", + "homeTurfPlaceholder": "Bristol, UK", + "instagramDetected": "Instagram क्लिप मिली", + "invalidMember": "मान्य npub, nprofile या hex pubkey दर्ज करें।", + "latitude": "अक्षांश", + "leaveBlankLocation": "मौजूदा होम टर्फ़ लोकेशन रखने के लिए खाली छोड़ें।", + "links": "लिंक", + "locationError": "लोकेशन त्रुटि", + "locationFound": "लोकेशन मिल गई", + "logoAlt": "क्रू", + "logoHint": "लोगो से आपका क्रू मैप और फ़ीड में तुरंत पहचाना जा सकता है। चौकोर सबसे अच्छा रहता है।", + "logoLabel": "क्रू लोगो / फ़ोटो", + "logoUploaded": "लोगो अपलोड हो गया", + "longitude": "देशांतर", + "looksGood": "अच्छा लग रहा है", + "makeAdmin": "एडमिन बनाएँ", + "mapPin": "मैप पिन", + "mapPinHint": "अपने क्रू को मैप पर रखें ताकि लोकल लोग आपको खोज सकें। बटन टैप करें — टाइप करने की ज़रूरत नहीं।", + "memberAlreadyAdded": "यह सदस्य पहले से जोड़ा गया है।", + "members": "सदस्य", + "membersDesc": "अपने क्रू के Nostr खाते जोड़ें। हर सदस्य अपनी कुंजी से पुष्टि करता है — तब तक वे “लंबित” दिखते हैं।", + "musicLink": "संगीत लिंक", + "nameCrew": "अपने क्रू का नाम रखें", + "nameCrewDesc": "आगे बढ़ने से पहले क्रू को नाम चाहिए।", + "nameCrewFirst": "पहले अपने क्रू का नाम रखें", + "nameHint": "यही एकमात्र चीज़ है जो वाकई ज़रूरी है। आप इसे बाद में बदल सकते हैं।", + "namePlaceholder": "जैसे Backyard Bandits", + "nameRequired": "नाम आवश्यक है", + "nameRequiredDesc": "अपने क्रू को एक नाम दें।", + "nip05DescA": "एक सत्यापन-योग्य हैंडल जिसे आप किसी भी डोमेन पर नियंत्रित करते हैं, जैसे", + "nip05DescB": "। यह इस क्रू की संस्थापक कुंजी के विरुद्ध सत्यापित होता है, और आप कुछ जोड़ सकते हैं — जब उनका डोमेन पुष्टि करता है तो हर एक पर हरा चेक दिखता है।", + "nip05Label": "क्रू NIP-05", + "nip05Placeholder": "crew@yourdomain.com", + "nip05Add": "जोड़ें", + "nip05Invalid": "crew@yourdomain.com जैसा हैंडल दर्ज करें", + "nip05TooMany": "आप अधिकतम {{count}} हैंडल जोड़ सकते हैं।", + "nip05Unverified": "जाँचा नहीं गया", + "nip05Remove": "{{handle}} हटाएँ", + "notAKeyA": "यह अभी Nostr कुंजी जैसा नहीं लगता — पेस्ट करें एक", + "notAKeyB": ",", + "notAKeyC": ", या hex pubkey।", + "onlyYouTubeInstagram": "सिर्फ़ YouTube और Instagram लिंक समर्थित हैं।", + "openCall": "ओपन कॉल", + "openCallDescA": "फ़िल्मर, एडिटर या नए लोग खोज रहे हैं? कॉल निकालें — यह आपके क्रू पेज पर दिखता है ताकि", + "openCallDescB": "से मेल खाने वाले लोग संपर्क कर सकें।", + "optional": "· वैकल्पिक", + "optionalParen": "(वैकल्पिक)", + "otherSocials": "अन्य सोशल", + "otherSocialsDesc": "जितने चाहें जोड़ें — YouTube, TikTok, Discord, Telegram आदि।", + "ownVisibility": "अपनी दृश्यता", + "progress": "प्रगति", + "publicWord": "सार्वजनिक", + "publishedToScene": "सीन पर प्रकाशित।", + "publishFailed": "प्रकाशित नहीं कर सके", + "publishing": "प्रकाशित हो रहा है...", + "ready": "तैयार", + "readyToRollA": "तैयार — दबाएँ", + "readyToRollB": "जब चाहें।", + "removeAdminRole": "एडमिन भूमिका हटाएँ", + "removeMember": "सदस्य हटाएँ", + "removeSocial": "सोशल लिंक हटाएँ", + "removeVibe": "{{vibe}} हटाएँ", + "roles": "भूमिकाएँ:", + "sasquatch": "Sasquatch", + "saveCrew": "क्रू सहेजें", + "skipToEnd": "अंत तक जाएँ", + "socialPlaceholder": "@username या लिंक", + "sponsorDesc": "अगर कोई लोकल शॉप आपके क्रू को सपोर्ट करती है, उसे यहाँ चुनें ताकि “Sponsored by” बैनर उनकी शॉप का लिंक देते हुए दिखे।", + "stepAria": "चरण {{step}}: {{title}}", + "stepBasics": "बुनियादी बातें", + "stepBasicsShort": "बुनियादी", + "stepBasicsHint": "बस ज़रूरी चीज़ें — सिर्फ़ इस चरण से भी क्रू बना सकते हैं।", + "stepVibe": "पहचान और वाइब", + "stepVibeShort": "वाइब", + "stepVibeHint": "आपका क्रू ऐप में कैसे दिखेगा। सब वैकल्पिक।", + "stepSquad": "टीम और स्पॉट", + "stepSquadShort": "टीम", + "stepSquadHint": "अपने लोग और अपना होम टर्फ़ जोड़ें। यह आप बाद में कभी भी कर सकते हैं।", + "stepExtras": "अतिरिक्त", + "stepExtrasShort": "अतिरिक्त", + "stepExtrasHint": "बाद के लिए पावर-अप — जिस चीज़ पर यक़ीन न हो उसे छोड़ दें।", + "extrasAllOptional": "इस चरण की हर चीज़ वैकल्पिक है।", + "groupIdentity": "पहचान", + "groupIdentityHint": "हैंडल, लिंक", + "groupAi": "Sasquatch AI", + "groupShowcase": "शोकेस", + "groupPayments": "भुगतान और ट्रेज़री", + "groupIntegrations": "इंटीग्रेशन", + "groupAdvanced": "एडवांस्ड", + "groupAdvancedHint": "प्रयोगात्मक", + "pro": "प्रो", + "agentProNote": "Sasquatch द्वारा संचालित। Pro को सबसे अच्छे मॉडल मिलते हैं; Pro के बिना फ़्री फ़ॉलबैक इस्तेमाल होता है।", + "stepOf": "{{total}} में से चरण {{step}}", + "treasuryDescA": "साझा लक्ष्य के लिए sats जुटाएँ — लोकल DIY स्पॉट ठीक करना, क्रू ट्रिप, कॉम्प का इनाम। यह पारदर्शी Lightning लक्ष्य है; ज़ैप सीधे", + "treasuryDescStrong": "आपके वॉलेट में", + "treasuryDescB": "(आपकी प्रोफ़ाइल के Lightning पते से) जाते हैं। SkateSpots कभी पैसा अपने पास नहीं रखता।", + "upload": "अपलोड करें", + "uploadFailed": "अपलोड विफल", + "useCurrentLocation": "मौजूदा लोकेशन इस्तेमाल करें", + "vibeLabel": "वाइब / फ़ोकस", + "videoDescA": "आपके क्रू का पूरा पार्ट, मोंटाज या नई क्लिप। पेस्ट करें", + "videoDescB": "लिंक — यह सीधे आपके क्रू पेज पर चलेगा।", + "visibilityDescA": "हर सदस्य अपनी", + "visibilityDescB": "नियंत्रित करता है — जब वे अपनी कुंजी से पुष्टि करते हैं तो चुन सकते हैं", + "visibilityDescC": "— बाहर वालों से छिपा)। आप उनके लिए यह सेट नहीं कर सकते; यह उनका फ़ैसला है।", + "website": "वेबसाइट", + "yourRoles": "आपकी भूमिकाएँ (टीम लीडर)", + "youtubeDetected": "YouTube वीडियो मिला", + "invalidUrl": "मान्य लिंक दर्ज करें (जैसे https://example.com)।" + }, + "groupConversation": { + "seoTitle": "ग्रुप चैट - SkateSpots", + "invalidLink": "यह ग्रुप चैट लिंक अमान्य है।", + "loginTitle": "यह ग्रुप देखने के लिए लॉग इन करें", + "secureSignerTitle": "सुरक्षित साइनर आवश्यक", + "secureSignerDesc": "ग्रुप संदेशों के लिए NIP-44 सक्षम साइनर चाहिए।", + "encryptedGroup": "एंड-टू-एंड एन्क्रिप्टेड ग्रुप", + "empty": "अभी कोई संदेश नहीं — ग्रुप को नमस्ते कहें।", + "placeholder": "ग्रुप को संदेश भेजें..." + }, + "hero": { + "established": "स्थापना {{year}}", + "teamLeader": "टीम लीडर: {{name}}", + "ledBy": "नेतृत्व" + }, + "inviteCard": { + "acceptedTitle": "निमंत्रण स्वीकार हो गया 🛹", + "acceptedDesc": "क्रू संस्थापक {{crew}} पर सदस्यों की पुष्टि करते हैं। मंज़ूरी मिलते ही आप रोस्टर पर दिखेंगे।", + "couldNotAccept": "स्वीकार नहीं कर सके", + "couldNotDecline": "अस्वीकार नहीं कर सके", + "acceptedDone": "स्वीकार किया —", + "confirmsMembers": "सदस्यों की पुष्टि करते हैं", + "declinedDone": "{{crew}} का निमंत्रण अस्वीकार किया", + "invitedYou": "ने आपको जॉइन करने का निमंत्रण दिया", + "admin": "एडमिन", + "accept": "स्वीकार करें", + "decline": "अस्वीकार करें" + }, + "inviteDialog": { + "messageIntro": "नमस्ते — SkateSpots पर {{crew}} क्रू जॉइन करें 🛹", + "messageBody": "अपनी Nostr कुंजी से लॉग इन करें, फिर क्रू पेज से जॉइन करने का अनुरोध करें।", + "copyFailed": "कॉपी नहीं हो सका", + "shareTitle": "{{crew}} जॉइन करें", + "sentTitle": "निमंत्रण भेज दिया! 🛹", + "sentDesc": "उन्हें स्वीकार या अस्वीकार करने की सूचना मिलेगी।", + "couldNotSend": "निमंत्रण नहीं भेज सके", + "trigger": "आमंत्रित करें", + "title": "{{crew}} में आमंत्रित करें", + "description": "किसी की Nostr कुंजी पर निमंत्रण भेजें, या लिंक साझा करें।", + "sendTab": "निमंत्रण भेजें", + "shareTab": "लिंक साझा करें", + "npubLabel": "स्केटर का npub", + "invalidNpub": "यह मान्य npub जैसा नहीं लगता।", + "noteLabel": "नोट", + "optional": "(वैकल्पिक)", + "notePlaceholder": "हमारे साथ स्केट करने आएँ…", + "inviteAsAdmin": "एडमिन के रूप में आमंत्रित करें", + "inviteAsAdminDesc": "क्रू प्रबंधित कर सकते हैं और दूसरों को आमंत्रित कर सकते हैं।", + "sendButton": "निमंत्रण भेजें", + "sendFooter": "उन्हें स्वीकार या अस्वीकार करने की सूचना मिलेगी। सदस्यता तभी गिनी जाएगी जब वे स्वीकार करें।", + "inviteLink": "निमंत्रण लिंक", + "messageLabel": "संदेश", + "copyMessage": "संदेश कॉपी करें", + "founderHint": "संस्थापक के रूप में आप सीधे किसी सदस्य की कुंजी जोड़ सकते हैं, फिर वे पुष्टि करेंगे।", + "addMemberSettings": "क्रू सेटिंग्स में सदस्य जोड़ें" + }, + "joinRequest": { + "moreCount": "+{{count}} और", + "addedTitle": "{{name}} को {{crew}} में जोड़ा 🛹", + "addedDesc": "वे अपनी ओर से पुष्टि करेंगे ताकि सदस्य के रूप में दिखें।", + "vouchedTitle": "आपने {{name}} की सिफ़ारिश की 🤝", + "vouchedDesc": "{{crew}} के संस्थापक आपकी सिफ़ारिश देखेंगे और उन्हें जोड़ सकेंगे।", + "couldNotEndorse": "सिफ़ारिश नहीं कर सके", + "endorsedDoneA": "आपने सिफ़ारिश की", + "endorsedDoneB": "— संस्थापक पुष्टि करेंगे", + "vouchedBy": "सिफ़ारिशकर्ता", + "approveAndAdd": "स्वीकृत करें और जोड़ें", + "addToCrew": "क्रू में जोड़ें", + "vouchedWaiting": "सिफ़ारिश की — संस्थापक का इंतज़ार", + "vouchForThem": "उनकी सिफ़ारिश करें", + "leadershipOnly": "सिर्फ़ क्रू लीडरशिप के लिए।", + "adminHelp": "एडमिन सीधे सदस्य नहीं जोड़ सकते — सिफ़ारिश संस्थापक को बताती है कि आप इस राइडर के साथ हैं।" + }, + "leadership": { + "teamLeader": "टीम लीडर", + "captain": "कप्तान", + "verifiedMember": "सत्यापित सदस्य", + "messageName": "{{name}} को संदेश भेजें", + "title": "लीडरशिप", + "captainsOne": "{{count}} कप्तान", + "captainsMany": "{{count}} कप्तान", + "footer": "टीम लीडर रोस्टर चलाते हैं; कप्तान आमंत्रित करने, जैम होस्ट करने और क्रू व्यवस्थित रखने में मदद करते हैं।" + }, + "linkField": { + "title": "जुड़ा क्रू", + "description": "आप भी क्रू चलाते हैं? इसे लिंक करें ताकि लोग आपके स्टूडियो और क्रू के बीच जा सकें। वैकल्पिक। इस क्रू को क्रू एडिटर से प्रोफ़ाइल से वापस लिंक करें और दोनों पर हरा", + "descriptionRest": "बैज दिखेगा।", + "none": "आपके पास अभी कोई क्रू नहीं है। इसे यहाँ लिंक करने के लिए क्रू पेज पर एक बनाएँ।", + "linkedCrew": "जुड़ा क्रू ({{id}})" + }, + "lookingFor": { + "title": "ओपन कॉल", + "subtitle": "यह क्रू खोज रहा है:" + }, + "memberVisibility": { + "updatedTitle": "दृश्यता अपडेट हुई", + "updatedCrew": "अब आप सिर्फ़ क्रू-साथियों को दिखते हैं।", + "updatedPublic": "अब आप इस क्रू में सार्वजनिक रूप से दिखते हैं।", + "couldNotUpdate": "अपडेट नहीं कर सके", + "title": "इस क्रू में आपकी दृश्यता", + "save": "दृश्यता सहेजें" + }, + "newMessage": { + "inCrew": "आपके क्रू में: {{crews}}", + "crewmate": "क्रू-साथी", + "following": "फ़ॉलोइंग", + "invalidKey": "यह मान्य npub या सार्वजनिक कुंजी जैसा नहीं लगता।", + "description": "अपने लोगों को नाम से खोजें, या किसी को संदेश भेजने के लिए npub पेस्ट करें। ग्रुप शुरू करने के लिए दो या अधिक चुनें।", + "searchPlaceholder": "नाम खोजें या npub1... पेस्ट करें", + "messageThisKey": "इस कुंजी को संदेश भेजें", + "loadingPeople": "आपके लोग लोड हो रहे हैं...", + "noPeople": "अभी कोई क्रू-साथी या फ़ॉलो नहीं।", + "noPeopleHint": "बातचीत शुरू करने के लिए ऊपर किसी का npub पेस्ट करें।", + "yourCrews": "आपके क्रू", + "selected": "{{count}} चुने गए", + "startGroup": "ग्रुप शुरू करें ({{count}})", + "message": "संदेश" + }, + "nip05": { + "mismatch": "यह डोमेन हैंडल को क्रू संस्थापक से अलग Nostr कुंजी पर ले जाता है। सत्यापित नहीं।", + "verified": "सत्यापित — डोमेन पुष्टि करता है कि यह हैंडल क्रू की संस्थापक कुंजी का है।" + }, + "requestCollective": { + "sentTitle": "अनुरोध भेजा गया 🤝", + "sentDesc": "{{name}} इसे अपनी सूचनाओं में देखेंगे और आपको जोड़ सकेंगे।", + "couldNotSend": "अनुरोध नहीं भेज सके", + "title": "इस कलेक्टिव को जॉइन करें", + "waiting": "अनुरोध भेजा गया — {{name}} का इंतज़ार।", + "askA": "इसके पीछे के क्रू से कहें", + "askB": "कि वे आपको रोस्टर में जोड़ें। उन्हें सूचना मिलेगी और वे एक टैप में आपको जोड़ सकेंगे।", + "placeholder": "वैकल्पिक: बताएँ कि आप क्यों अच्छे रहेंगे…", + "sendButton": "अनुरोध भेजें" + }, + "requestToJoin": { + "sentTitle": "अनुरोध भेजा गया! 🛹", + "sentDesc": "{{crew}} की लीडरशिप इसे अपनी सूचनाओं में देखेगी।", + "couldNotSend": "अनुरोध नहीं भेज सके", + "trigger": "जॉइन करने का अनुरोध", + "title": "{{crew}} जॉइन करें", + "description": "क्रू के संस्थापक और एडमिन को सूचित करता है ताकि वे आपको जोड़ सकें।", + "placeholder": "नमस्ते कहें — कहाँ स्केट करते हैं, किसे जानते हैं, क्यों शामिल होना चाहते हैं…", + "sending": "भेज रहे हैं…", + "sendButton": "जॉइन अनुरोध भेजें" + }, + "sponsorBanner": { + "loading": "स्पॉन्सर लोड हो रहा है…", + "sponsoredBy": "स्पॉन्सर" + }, + "sponsorPicker": { + "selected": "स्पॉन्सर चुना गया", + "setLoading": "स्पॉन्सर सेट (शॉप लोड हो रही है…)", + "set": "स्पॉन्सर सेट", + "clearAria": "स्पॉन्सर हटाएँ", + "searchPlaceholder": "नाम या शहर से स्केट शॉप खोजें…", + "loading": "शॉप लोड हो रही हैं…", + "noMatch": "कोई शॉप नहीं मिली — दूसरी खोज आज़माएँ।", + "none": "अभी कोई शॉप नहीं मिली।" + }, + "treasury": { + "title": "क्रू ट्रेज़री", + "ofGoal": "{{target}} लक्ष्य में से", + "goalReached": "लक्ष्य पूरा!", + "funded": "{{percent}}% जुटा", + "contributionOne": "{{count}} योगदान", + "contributionMany": "{{count}} योगदान", + "daysLeft": "{{days}} दिन बाकी", + "closed": "बंद", + "nonCustodial": "नॉन-कस्टोडियल · ज़ैप सीधे क्रू के Lightning वॉलेट में जाते हैं" + }, + "userStatus": { + "atSpot": "📍 किसी स्पॉट पर", + "autoClears": "⏱️ {{min}} मिनट में अपने आप हटेगा" + }, + "video": { + "title": "पार्ट", + "fullVideo": "पूरा वीडियो · मोंटाज", + "latestClip": "नई क्लिप", + "watch": "देखें", + "iframeTitle": "{{crew}} — वीडियो", + "playAria": "{{crew}} वीडियो चलाएँ", + "thumbAlt": "{{crew}} वीडियो थंबनेल", + "instagramTitle": "Instagram क्लिप" + }, + "vouch": { + "removedTitle": "सिफ़ारिश हटाई", + "vouchedTitle": "सिफ़ारिश की!", + "removedDesc": "अब आप {{name}} की सिफ़ारिश नहीं करते।", + "vouchedDesc": "आपने {{name}} की सिफ़ारिश की। सीन अपने लोगों पर भरोसा करता है।", + "couldNotVouch": "सिफ़ारिश नहीं कर सके", + "title": "सीन सिफ़ारिशें", + "sceneVerified": "सीन-सत्यापित", + "vouched": "सिफ़ारिश किया", + "newUnvouched": "नया · बिना सिफ़ारिश", + "checking": "सीन जाँच रहे हैं…", + "empty": "अभी कोई सिफ़ारिश नहीं। आपके दायरों के स्केटर्स की सिफ़ारिश सबसे अच्छा संकेत है कि कोई असली है — कोई भटका हुआ नहीं।", + "countOne": "{{count}} सिफ़ारिश", + "countMany": "{{count}} सिफ़ारिशें", + "trusted": "आपके भरोसे के जाल के स्केटर्स से {{count}}", + "remove": "सिफ़ारिश हटाएँ", + "vouchFor": "{{name}} की सिफ़ारिश करें", + "ownerNote": "जो स्केटर आपका काम जानते हैं, वे यहाँ आपकी सिफ़ारिश कर सकते हैं।" + } + }, + "labelsUi": { + "spotCategory": { + "street": { + "label": "स्ट्रीट", + "description": "मिले-जुले स्पॉट, शहरी इलाक़ा" + }, + "transition": { + "label": "ट्रांज़िशन", + "description": "घुमावदार/रैंप वाली सतहें" + }, + "park": { + "label": "पार्क", + "description": "बने हुए स्केटपार्क" + }, + "plaza": { + "label": "प्लाज़ा", + "description": "शहरी प्लाज़ा (जैसे MACBA, Love Park)" + } + }, + "spotFeature": { + "wallrides": "वॉलराइड", + "stairs": "सीढ़ियाँ और हैंडरेल", + "rails": "रेल", + "ledges": "लेज और कर्ब", + "gaps": "गैप", + "flatground": "फ़्लैटग्राउंड", + "manual-pads": "मैनुअल पैड", + "half-pipes": "हाफ़ पाइप", + "quarter-pipes": "क्वार्टर पाइप", + "mini-ramps": "मिनी रैंप", + "bowls": "बाउल", + "vert": "वर्ट रैंप", + "mega-ramps": "मेगा रैंप", + "hubbas": "हब्बा", + "euro-gaps": "यूरो गैप", + "banks": "बैंक", + "spine-ramps": "स्पाइन रैंप", + "roll-ins": "रोल-इन", + "hips": "हिप", + "volcano": "वोल्केनो", + "pyramids": "पिरामिड / फ़नबॉक्स", + "snake-runs": "स्नेक रन", + "pump-track": "पंप ट्रैक रोलर", + "flat-bars": "फ़्लैट बार" + }, + "spotType": { + "street": "स्ट्रीट", + "transition": "ट्रांज़िशन", + "park": "पार्क", + "plaza": "प्लाज़ा", + "wallrides": "वॉलराइड", + "stairs": "सीढ़ियाँ और हैंडरेल", + "rails": "रेल", + "ledges": "लेज और कर्ब", + "gaps": "गैप", + "flatground": "फ़्लैटग्राउंड", + "manual-pads": "मैनुअल पैड", + "half-pipes": "हाफ़ पाइप", + "quarter-pipes": "क्वार्टर पाइप", + "mini-ramps": "मिनी रैंप", + "bowls": "बाउल", + "vert": "वर्ट रैंप", + "mega-ramps": "मेगा रैंप", + "hubbas": "हब्बा", + "euro-gaps": "यूरो गैप", + "banks": "बैंक", + "spine-ramps": "स्पाइन रैंप", + "roll-ins": "रोल-इन", + "hips": "हिप", + "volcano": "वोल्केनो", + "pyramids": "पिरामिड / फ़नबॉक्स", + "snake-runs": "स्नेक रन", + "pump-track": "पंप ट्रैक रोलर", + "flat-bars": "फ़्लैट बार", + "diy": "DIY", + "rail": "रेल", + "ledge": "लेज", + "gap": "गैप", + "bowl": "बाउल", + "stall": "स्टॉल", + "slappy": "स्लैपी" + }, + "access": { + "public": { + "label": "सार्वजनिक - सबके लिए खुला" + }, + "private": { + "label": "निजी संपत्ति - अनुमति आवश्यक" + }, + "locals": { + "label": "पहले लोकल्स से पूछें" + } + }, + "shelter": { + "outdoor": { + "label": "आउटडोर", + "short": "आउटडोर", + "description": "पूरी तरह खुला — बारिश में स्केटिंग रुक जाती है" + }, + "partial": { + "label": "कुछ हिस्सा ढका", + "short": "कुछ हिस्सा ढका", + "description": "कुछ ऑब्स्टैकल सूखे रहते हैं" + }, + "covered": { + "label": "ढका / छत वाला", + "short": "ढका हुआ", + "description": "आउटडोर लेकिन छत के नीचे" + }, + "indoor": { + "label": "इनडोर", + "short": "इनडोर", + "description": "पूरी तरह बंद — बारिश हो या धूप, स्केट करें" + } + }, + "eventType": { + "contest": "कॉन्टेस्ट", + "demo": "डेमो", + "session": "सेशन", + "workshop": "वर्कशॉप", + "premiere": "प्रीमियर", + "tradeshow": "ट्रेड शो", + "gameskate": "गेम ऑफ़ स्केट", + "concert": "🎸 कॉन्सर्ट", + "jam": "🎵 जैम", + "festival": "🎪 फ़ेस्टिवल", + "popup": "🎯 पॉप-अप" + }, + "gearCategory": { + "deck": "डेक", + "trucks": "ट्रक", + "wheels": "व्हील", + "bearings": "बेयरिंग", + "shoes": "स्केट शूज़", + "clothing": "कपड़े", + "protective": "प्रोटेक्टिव गियर", + "stickers": "स्टिकर", + "wax": "वैक्स", + "tools": "औज़ार", + "griptape": "ग्रिपटेप", + "rubbrick": "रब ब्रिक" + }, + "gearCondition": { + "new": { + "label": "नया", + "description": "कभी इस्तेमाल नहीं, पैकिंग में ही" + }, + "like_new": { + "label": "नए जैसा", + "description": "बहुत कम इस्तेमाल, बेहतरीन हालत" + }, + "good": { + "label": "अच्छा", + "description": "सामान्य घिसाव, पूरी तरह काम करता है" + }, + "well_used": { + "label": "खूब इस्तेमाल", + "description": "घिसा हुआ पर अब भी काम करता है" + } + }, + "priceType": { + "fixed": { + "label": "तय कीमत", + "description": "USD या sats में कीमत तय करें" + }, + "free": { + "label": "मुफ़्त", + "description": "दान में दे रहे हैं" + }, + "trade": { + "label": "ट्रेड", + "description": "बदलना चाहते हैं" + }, + "offer": { + "label": "ऑफ़र दें", + "description": "कीमत पर बात हो सकती है" + } + }, + "listingType": { + "selling": { + "label": "बेच रहे हैं", + "description": "गियर बिक्री के लिए लिस्ट करें" + }, + "wtb": { + "label": "खरीदना चाहते हैं", + "description": "खास गियर खोज रहे हैं" + } + }, + "tour": { + "spotType": { + "street": "स्ट्रीट", + "park": "पार्क", + "diy": "DIY", + "transition": "ट्रांज़िशन", + "hidden": "छिपे रत्न" + }, + "category": { + "local": { + "label": "लोकल टूर", + "description": "अपने शहर के छिपे स्पॉट दिखाएँ" + }, + "national": { + "label": "नेशनल टूर", + "description": "देश भर में कई शहरों की रोड ट्रिप" + }, + "international": { + "label": "इंटरनेशनल टूर", + "description": "कई देशों में सरहद पार के रोमांच" + }, + "destruction": { + "label": "वर्ल्ड डिस्ट्रक्शन", + "description": "KOTR जैसी वैश्विक टीम प्रतियोगिता" + } + } + }, + "crew": { + "vibe": { + "street": "स्ट्रीट", + "transition": "ट्रांज़िशन / वर्ट", + "park": "पार्क", + "diy": "DIY", + "cruising": "क्रूज़िंग / फ़िल्मिंग", + "oldschool": "ओल्ड स्कूल", + "allterrain": "हर टेरेन", + "girls": "लड़की / महिला", + "youth": "युवा / ग्रोम्स", + "adaptive": "अडैप्टिव", + "punk": "पंक", + "hiphop": "रैप / हिप-हॉप" + }, + "focus": { + "mixed": "मिक्स्ड / सामान्य", + "builder": "DIY और बिल्डर", + "photo": "फ़ोटो और फ़िल्म", + "coaching": "कोचिंग", + "art": "कला और डिज़ाइन", + "music": "बैंड और संगीत", + "wellness": "ट्रेनिंग और फ़िज़ियो" + }, + "focusDescription": { + "mixed": "एक सामान्य स्केट क्रू — सिर्फ़ क्रू पेज पर दिखता है।", + "builder": "एक DIY / पार्क-बिल्डिंग क्रू — The Lab में Builders के तहत भी दिखता है।", + "photo": "फ़िल्मिंग, फ़ोटोग्राफ़ी या एडिटिंग क्रू — The Lab में Photo & Film के तहत भी दिखता है।", + "coaching": "कोचिंग / लेसन क्रू — The Lab में Coaching के तहत भी दिखता है।", + "art": "कला, डिज़ाइन, ग्रैफ़िटी या टैटू कलेक्टिव — The Lab में Art & Design के तहत भी दिखता है।", + "music": "बैंड या संगीत कलेक्टिव — The Lab में Music के तहत भी दिखता है।", + "wellness": "ट्रेनिंग, फ़िटनेस या फ़िज़ियो क्रू — The Lab में Training के तहत भी दिखता है।" + }, + "lookingFor": { + "filmer": "फ़िल्मर", + "photographer": "फ़ोटोग्राफ़र", + "editor": "वीडियो एडिटर", + "coach": "कोच", + "builder": "रैंप बिल्डर", + "artist": "कलाकार / डिज़ाइनर", + "musician": "संगीतकार / बैंड", + "members": "नए सदस्य" + }, + "role": { + "filmer": "फ़िल्मर", + "photographer": "फ़ोटोग्राफ़र", + "editor": "एडिटर", + "coach": "कोच", + "builder": "बिल्डर", + "artist": "कलाकार", + "graffiti": "ग्रैफ़िटी", + "tattoo": "टैटू", + "trainer": "ट्रेनर", + "musician": "संगीतकार", + "judge": "जज", + "manager": "टीम मैनेजर", + "og": "OG" + } + }, + "memberVisibility": { + "public": { + "label": "सार्वजनिक", + "description": "इस क्रू में कोई भी आपको देख सकता है — सार्वजनिक क्रू पेज पर और क्रू-साथी खोज में।" + }, + "crew": { + "label": "सिर्फ़ क्रू", + "description": "सिर्फ़ पुष्ट क्रू-साथी और संस्थापक ही आपको यहाँ देखते हैं। बाकी सबके लिए आप अनाम “छिपा सदस्य” होते हैं। ध्यान दें: यह ऐप-स्तर की निजता है — आपका सदस्यता टैग रिले पर सार्वजनिक रूप से मौजूद रहता है, बस बाहर वालों को कभी नहीं दिखाया जाता।" + } + }, + "tagCategory": { + "features": { + "name": "फ़ीचर", + "description": "ऑब्स्टैकल और टेरेन" + }, + "surfaces": { + "name": "सतहें", + "description": "सामग्री और बनावट" + }, + "sizes": { + "name": "आकार", + "description": "माप और पैमाना" + }, + "stairs": { + "name": "सीढ़ियों की गिनती", + "description": "सीढ़ियों की संख्या" + }, + "vibes": { + "name": "वाइब", + "description": "माहौल और हालत" + }, + "location": { + "name": "लोकेशन", + "description": "लोकेशन संदर्भ" + }, + "tricks": { + "name": "ट्रिक", + "description": "खास ट्रिक के लिए अच्छा" + } + }, + "spotTagCategory": { + "street": { + "label": "स्ट्रीट", + "description": "स्ट्रीट स्पॉट - सीढ़ियाँ, रेल, लेज" + }, + "park": { + "label": "पार्क", + "description": "स्केटपार्क - सार्वजनिक या निजी" + }, + "diy": { + "label": "DIY", + "description": "DIY/खुद बनाए स्पॉट" + }, + "plaza": { + "label": "प्लाज़ा", + "description": "स्केट-फ़्रेंडली आर्किटेक्चर वाले सार्वजनिक प्लाज़ा" + } + }, + "status": { + "active": { + "label": "सक्रिय", + "description": "सब ठीक — स्केट करें।" + }, + "bust": { + "label": "बस्ट", + "description": "निकाले जाने का ज़्यादा ख़तरा — सिक्योरिटी या पुलिस।" + }, + "skate_stopped": { + "label": "स्केट-स्टॉप्ड", + "description": "नॉब/कैप लगा है, पर कुछ हिस्सों पर स्केट हो सकता है।" + }, + "closed": { + "label": "बंद", + "description": "अस्थायी रूप से बंद — निर्माण या इवेंट।" + }, + "gone": { + "label": "चला गया", + "description": "ढहा दिया गया, पक्का किया गया या हमेशा के लिए बाड़ से बंद।" + } + }, + "price": { + "free": "मुफ़्त", + "trade": "ट्रेड", + "makeOffer": "ऑफ़र दें", + "offer": "ऑफ़र" + } + }, + "cardUi": { + "save": "कार्ड Nostr पर सहेजें", + "saved": "कार्ड सहेजा गया", + "savedDesc": "आपका कार्ड अब हस्ताक्षरित और सत्यापन-योग्य है।", + "saveFailed": "कार्ड सहेज नहीं सके", + "notPublished": "प्रकाशित नहीं", + "titleNeon": "राइडर", + "titleRest": "कार्ड", + "saveFrontPng": "सामने वाला हिस्सा सहेजें (PNG)", + "expired": "समाप्त", + "logoUploaded": "लोगो अपलोड हो गया", + "logoUploadFailed": "लोगो अपलोड नहीं कर सके", + "venue": "जुड़ा वेन्यू (वैकल्पिक)", + "venueNone": "कोई वेन्यू नहीं", + "venueHint": "इस पास को किसी वेन्यू से जोड़ने के लिए अपने किसी स्पॉट को चुनें। वेरिफ़ायर पुष्टि करेगा कि यह आपका है।", + "venuePick": "अपना वेन्यू चुनें", + "parkNoVenue": "पार्क पास सिर्फ़ वेन्यू का मालिक ही जारी कर सकता है — पहले अपना कोई स्पॉट मैप करें।", + "parkAddVenue": "स्पॉट जोड़ें", + "parkNeedsVenue": "अपना वेन्यू चुनें", + "parkIssued": "जारी पास", + "parkRevoke": "रद्द करें", + "parkRevoked": "रद्द", + "parkRevokeFailed": "रद्द नहीं कर सके", + "v": { + "valid": "मान्य", + "validDesc": "हस्ताक्षर मान्य है और वेन्यू द्वारा जारी।", + "expired": "समाप्त", + "expiredDesc": "इसकी वैधता तिथि बीत चुकी है।", + "revoked": "रद्द", + "revokedDesc": "जारीकर्ता ने यह पास रद्द कर दिया — इसे स्वीकार न करें।", + "invalid": "अमान्य", + "invalidDesc": "हस्ताक्षर सत्यापित नहीं होता। इस पर भरोसा न करें।", + "notFound": "नहीं मिला", + "notFoundDesc": "रिले पर कोई मेल खाता रिकॉर्ड नहीं।", + "unverifiedIssuer": "असत्यापित जारीकर्ता", + "unverifiedIssuerDesc": "यह पास ऐसे वेन्यू का नाम देता है जो जारीकर्ता की कुंजी का नहीं है।", + "notBound": "जुड़ा नहीं", + "notBoundDesc": "किसी वेन्यू से जुड़ा नहीं — एक्सेस के बारे में कुछ साबित नहीं करता।", + "noRsvp": "कोई RSVP नहीं", + "noRsvpDesc": "धारक का इस इवेंट के लिए कोई RSVP दर्ज नहीं है।", + "admitted": "प्रवेश स्वीकृत", + "admittedDesc": "आयोजक का इवेंट + धारक ने RSVP किया।", + "noHolder": "लिंक में कोई धारक नहीं", + "noHolderDesc": "इस QR में कोई टिकट धारक नहीं है (`?h=`), इसलिए धारक की जाँच नहीं हो सकती।" + }, + "passes": { + "tab": "मेरे पास", + "pass": "एक्सेस पास", + "none": "अभी कोई पास नहीं। जब कोई वेन्यू या आयोजक आपको पास जारी करेगा, वह यहाँ दिखेगा।" + }, + "facets": { + "title": "पहचान के पहलू दिखाएँ", + "crews": "क्रू", + "local": "लोकल", + "roles": "Lab भूमिकाएँ" + }, + "roles": { + "coach": "कोच", + "filmer": "फ़िल्मर", + "editor": "एडिटर", + "photographer": "फ़ोटोग्राफ़र", + "builder": "बिल्डर", + "artist": "कलाकार", + "graffiti": "ग्रैफ़िटी", + "tattoo": "टैटू", + "trainer": "ट्रेनर", + "musician": "संगीतकार", + "judge": "जज", + "organizer": "आयोजक", + "barber": "नाई" + }, + "crew": { + "crewCard": "क्रू कार्ड", + "crewSub": "आपका क्रू, एक कार्ड पर", + "pick": "क्रू चुनें", + "none": "आप अभी किसी क्रू में नहीं हैं — पहले जॉइन करें या शुरू करें।", + "hint": "कार्ड क्रू के अपने हस्ताक्षरित डेटा से बनता है। बदलने के लिए क्रू को उसके पेज पर संपादित करें।", + "members": "सदस्य", + "spots": "स्पॉट", + "est": "स्थापना {{year}}", + "openCall": "ओपन कॉल", + "verifiedCrew": "सत्यापित क्रू", + "viewCrew": "क्रू देखें" + }, + "event": { + "pass": "इवेंट पास", + "passSub": "उस इवेंट का पास जहाँ आप जा रहे हैं", + "pick": "इवेंट चुनें", + "none": "अभी कोई इवेंट नहीं — पहले एक बनाएँ या किसी में RSVP करें।", + "hint": "पास इवेंट के अपने हस्ताक्षरित डेटा से बनता है। सिर्फ़ आयोजक ही इसे बदल सकता है।", + "admits": "प्रवेश", + "going": "{{count}} जा रहे हैं", + "verifiedEvent": "सत्यापित इवेंट", + "viewEvent": "इवेंट देखें", + "issuePass": "चेक-इन पास जारी करें", + "issuePassBtn": "पास जारी करें", + "issuePassHint": "किसी खास उपस्थित व्यक्ति के लिए हस्ताक्षरित पास — वे इसे दरवाज़े पर दिखाते हैं।", + "notOrganiser": "सिर्फ़ आयोजक ही पास जारी कर सकता है", + "passIssued": "पास जारी हुआ", + "issueFailed": "पास जारी नहीं कर सके", + "issuedPasses": "जारी चेक-इन पास" + }, + "studio": { + "unsaved": "बिना सहेजे बदलाव", + "saved": "सहेजा गया", + "saveChanges": "बदलाव सहेजें", + "allSaved": "सहेजा गया — अप टू डेट", + "showOnCard": "कार्ड पर दिखाएँ", + "derived": "आपकी Skater प्रोफ़ाइल से", + "noSkaterProfile": "अभी कोई Skater प्रोफ़ाइल नहीं —", + "editSkaterProfile": "अपनी शैलियाँ और स्तर जोड़ें", + "noPhoto": "अभी कोई प्रोफ़ाइल फ़ोटो नहीं —", + "addPhoto": "अपनी प्रोफ़ाइल में एक जोड़ें", + "finishTitle": "अपना कार्ड पूरा करें", + "finishDesc": "फ़ोटो और Skater प्रोफ़ाइल इसे असली रूप देते हैं।", + "checkPhoto": "प्रोफ़ाइल फ़ोटो", + "checkName": "डिस्प्ले नाम", + "checkProfile": "शैलियाँ और स्तर", + "checkCrew": "क्रू जॉइन करें", + "moreTypes": "जैसे-जैसे आप अपने स्पॉट मैप करते, क्रू जॉइन करते या इवेंट में RSVP करते हैं, और कार्ड टाइप खुलते हैं।", + "accent": "एक्सेंट रंग", + "accentHint": "थीम का एक्सेंट बदल देता है", + "accentClear": "थीम रंग इस्तेमाल करें", + "logo": "कस्टम लोगो / क्रेस्ट", + "logoAdd": "अपलोड करें", + "logoChange": "बदलें", + "logoClear": "हटाएँ" + }, + "back": { + "title": "प्रिंट करने योग्य पिछला हिस्सा", + "desc": "पीछे क्रू, भूमिकाएँ, स्पॉन्सर और लिंक", + "showBack": "पिछला दिखाएँ", + "showFront": "सामने वाला दिखाएँ", + "empty": "अभी यहाँ कुछ नहीं — क्रू, भूमिकाएँ या स्पॉन्सर जोड़ें।" + }, + "verify": { + "checking": "कार्ड जाँच रहे हैं…", + "notFound": "कार्ड नहीं मिला", + "notFoundDesc": "रिले पर कोई मेल खाता इवेंट नहीं मिला। हो सकता है इसे हटा दिया गया हो, या लिंक गलत है।", + "invalid": "हस्ताक्षर अमान्य", + "invalidDesc": "यह इवेंट मौजूद है पर इसका हस्ताक्षर सत्यापित नहीं होता। इस पर भरोसा न करें।", + "authentic": "प्रामाणिक", + "authenticDesc": "जारीकर्ता का हस्ताक्षर मान्य है।", + "kind": "प्रकार", + "kindPark": "पार्क एक्सेस कार्ड", + "kindRider": "राइडर कार्ड", + "kindCrew": "क्रू कार्ड", + "kindEvent": "इवेंट पास", + "organiser": "आयोजक", + "expired": "समाप्त", + "valid": "मान्य", + "holder": "धारक", + "ticketHolder": "टिकट धारक", + "rsvp": "RSVP", + "rsvpGoing": "जा रहे हैं", + "rsvpInterested": "दिलचस्पी है", + "rsvpNone": "कोई RSVP नहीं मिला", + "revoked": "पास रद्द", + "revokedDesc": "जारीकर्ता ने यह पास रद्द कर दिया — इसे स्वीकार न करें।", + "issuedBy": "जारीकर्ता", + "accessLevel": "एक्सेस स्तर", + "validThru": "वैधता तक", + "selfIssued": "स्थिति", + "selfIssuedDesc": "स्व-जारी पहचान कार्ड", + "venue": "वेन्यू", + "venueVerified": "सत्यापित — इस वेन्यू की मालिक कुंजी जारीकर्ता से मेल खाती है।", + "venueMismatch": "यह पास ऐसे वेन्यू का नाम देता है जो जारीकर्ता की कुंजी का नहीं है।", + "venueNone": "किसी वेन्यू से जुड़ा नहीं।", + "viewCard": "कार्ड देखें", + "disclaimer": "मान्य हस्ताक्षर साबित करता है कि यह कार्ड किसने साइन किया — यह कौशल या वेन्यू द्वारा दिए गए एक्सेस अधिकारों से आगे कुछ साबित नहीं करता।", + "details": "विवरण", + "invalidLink": "अमान्य लिंक", + "invalidLinkDesc": "यह मान्य कार्ड लिंक जैसा नहीं लगता।" + }, + "public": { + "invalid": "यह मान्य कार्ड लिंक जैसा नहीं लगता।", + "createYourOwn": "अपना कार्ड बनाएँ", + "editYourCard": "अपना कार्ड संपादित करें", + "backToEditor": "एडिटर पर वापस", + "backHome": "होम पर वापस", + "notCustomised": "इस स्केटर ने अभी अपना कार्ड कस्टमाइज़ नहीं किया — यह डिफ़ॉल्ट रूप है।", + "verifyNote": "सत्यापित करने के लिए कार्ड पर QR स्कैन करें।" + } + }, + "routeUi": { + "destination": "गंतव्य", + "routeTo": "{{label}} तक रूट", + "routeToLabel": "रूट", + "search": "खोजें", + "description": "रूट विकल्प और ऐप में दिशा-निर्देश।", + "routeMapAria": "रूट मैप", + "findingLocation": "आपकी लोकेशन खोज रहे हैं…", + "plottingRoute": "आपका रूट बना रहे हैं…", + "refiningLocation": "लोकेशन सटीक कर रहे हैं…", + "offlineSavedRoute": "ऑफ़लाइन · सहेजा रूट {{age}}", + "tapMapStart": "शुरुआती बिंदु सेट करने के लिए मैप टैप करें", + "fitRouteAria": "पूरा रूट मैप पर फ़िट करें", + "wholeRoute": "पूरा रूट", + "next": "अगला", + "nextStep": "अगला · चरण {{n}}", + "followTheLine": "लाइन पर चलें", + "toTheTurn": "मोड़ तक", + "toGo": "बाकी", + "tryAgain": "फिर कोशिश करें", + "mode": { + "foot": "स्केट / पैदल", + "bike": "साइकिल", + "moto": "मोटो", + "car": "कार", + "transit": "पब्लिक ट्रांसपोर्ट" + }, + "from": "से", + "myLocation": "मेरी लोकेशन", + "tapTheMap": "मैप टैप करें…", + "chooseOnMap": "मैप पर चुनें", + "direct": "सीधा", + "transferOne": "1 ट्रांसफ़र", + "transfers": "{{count}} ट्रांसफ़र", + "options": "{{count}} विकल्प", + "ride": "राइड", + "arrive": "पहुँचें", + "speedAvg": "औसत {{speed}} km/h", + "stepsCount": "{{count}} चरण", + "onABoard": "बोर्ड पर", + "usesDrivingRoads": "गाड़ी वाली सड़कों से", + "drivingEstimate": "ड्राइविंग अनुमान", + "updating": "अपडेट हो रहा है…", + "pickMode": "अपना रूट देखने के लिए मोड चुनें।", + "waitingLocation": "आपकी लोकेशन का इंतज़ार…", + "routeSteps": "रूट के चरण", + "walkingRoute": "पैदल रूट — बोर्ड पर तेज़", + "planningView": "प्लानिंग व्यू — लाइव मोड़, आवाज़ और आगमन के साथ चलने के लिए Start टैप करें।", + "leaveNow": "अभी निकलें", + "departAt": "प्रस्थान", + "arriveBy": "पहुँचना", + "departureTime": "प्रस्थान समय", + "arrivalTime": "आगमन समय", + "only": "सिर्फ़", + "clear": "साफ़ करें", + "itinerary": "यात्रा योजना", + "group": { + "bus": "बस", + "tram": "ट्राम", + "metro": "मेट्रो", + "train": "ट्रेन", + "ferry": "फ़ेरी" + }, + "walk": "पैदल", + "rideVerb": "राइड", + "walkLower": "पैदल", + "rideLower": "राइड", + "toStop": "तक", + "track": "ट्रैक {{track}}", + "stopOne": "1 स्टॉप", + "stopsCount": "{{count}} स्टॉप", + "tickets": "टिकट ↗", + "done": "पूरा", + "stop": "स्टॉप", + "start": "शुरू करें", + "arrived": "आप पहुँच गए। 🛹", + "voiceOnNote": "स्क्रीन चालू रहती है · आवाज़ चालू — मोड़ और आगमन बोले जाते हैं।", + "voiceOffNote": "स्क्रीन चालू रहती है · आवाज़ बंद।", + "followNote": "चलते समय मोड़, आवाज़ और आगमन। स्क्रीन चालू रखता है।", + "voiceOffAria": "आवाज़ मार्गदर्शन बंद करें", + "voiceOnAria": "आवाज़ मार्गदर्शन चालू करें", + "voiceStart": "नेविगेशन शुरू हो रहा है", + "voiceArrived": "आप पहुँच गए", + "voiceIn": "{{metres}} मीटर में, {{instruction}}", + "voiceContinue": "जारी रखें", + "voiceContinueCaps": "जारी रखें", + "errPermissionDenied": "लोकेशन अनुमति अस्वीकृत।", + "errWaitingGps": "GPS फ़िक्स का इंतज़ार…", + "errPermissionDeniedLong": "लोकेशन अनुमति अस्वीकृत। जहाँ आप हैं वहाँ से रूट करने के लिए लोकेशन चालू करें।", + "errNoLocation": "आपकी लोकेशन नहीं मिल सकी। फिर कोशिश करें।", + "errNoLocationShort": "आपकी लोकेशन नहीं मिल सकी।", + "errTransitNoRouteFiltered": "उस समय या साधन के लिए कोई रूट नहीं — दूसरा समय आज़माएँ, या और साधन शामिल करें।", + "errTransitNoRoute": "यहाँ कोई पब्लिक ट्रांसपोर्ट रूट नहीं मिला — हो सकता है यह इलाक़ा खुली समय-सारणी प्रकाशित न करता हो।", + "errTransitUnreachable": "ट्रांज़िट सेवा तक नहीं पहुँच सके। अपना कनेक्शन जाँचें और फिर कोशिश करें।", + "errRoutingBusy": "रूटिंग सेवा अभी व्यस्त है — थोड़ी देर में फिर कोशिश करें।", + "errNoRouteMode": "इस मोड के लिए कोई रूट नहीं — गंतव्य सड़क नेटवर्क से बाहर हो सकता है। दूसरा मोड आज़माएँ।", + "errRoutingUnreachable": "रूटिंग सेवा तक नहीं पहुँच सके। अपना कनेक्शन जाँचें और फिर कोशिश करें।", + "departures": "प्रस्थान", + "upcomingFrom": "{{stop}} से आने वाले प्रस्थान", + "loadingDepartures": "प्रस्थान लोड हो रहे हैं…", + "noDepartures": "इस स्टॉप पर कोई आने वाला प्रस्थान नहीं मिला।", + "live": "लाइव", + "cancelled": "रद्द", + "refresh": "रीफ़्रेश", + "tripLoginTitle": "सहेजने के लिए लॉग इन करें", + "tripLoginDesc": "इस ट्रिप को Collection के रूप में रखने के लिए साइन इन करें।", + "tripCollectionTitle": "{{destination}} स्केट ट्रिप 🛹", + "tripCollectionDesc": "The Sasquatch की ट्रिप योजना — {{destination}} में {{count}} दिन।", + "tripCollectionDescOne": "The Sasquatch की ट्रिप योजना — {{destination}} में {{count}} दिन।", + "tripSavedTitle": "Collections में सहेजा गया 🦧", + "tripSavedDesc": "आपकी {{destination}} ट्रिप बुकमार्क हो गई।", + "tripSaveFailed": "सहेज नहीं सके", + "tripSaveFailedDesc": "एक सेकंड में फिर कोशिश करें।", + "daysInDestinationOne": "{{destination}} में {{count}} दिन", + "daysInDestination": "{{destination}} में {{count}} दिन", + "wetForecast": "बारिश का अनुमान — ढके/इनडोर विकल्पों के लिए लोकल क्रू से संपर्क करें।", + "dayLabel": "दिन {{n}}", + "freeSkate": "फ़्री स्केट — घूमें और फ़िल्माएँ। 🎥", + "tapToBook": "बुक करने / ज़ैप करने के लिए टैप करें ⚡", + "localCrews": "लोकल क्रू", + "saving": "सहेज रहे हैं…", + "savedToCollections": "Collections में सहेजा गया", + "saveSpotOne": "{{count}} स्पॉट को Collection में सहेजें", + "saveSpots": "{{count}} स्पॉट को Collection में सहेजें", + "flights": "फ़्लाइट", + "stays": "ठहरने की जगह", + "gettingAround": "आना-जाना", + "noMiddleman": "स्केटिंग की योजना मैं बनाता हूँ — फ़्लाइट और ठहरने की जगह असली साइटों पर खुलती हैं (कोई KYC नहीं, कोई बिचौलिया नहीं)।", + "ageJustNow": "अभी-अभी", + "ageMinAgo": "{{count}} मिनट पहले", + "ageHourAgo": "{{count}} घंटे पहले", + "ageDayAgo": "{{count}} दिन पहले", + "skateRightHere": "यहीं", + "skateMin": "~{{count}} मिनट क्रूज़", + "skateHours": "~{{hours}} घंटे क्रूज़", + "maneuver": { + "headOut": "निकलें", + "arrive": "स्पॉट पर पहुँचें", + "continueStraight": "जारी रखें", + "bearLeft": "बाईं ओर झुकें", + "bearRight": "दाईं ओर झुकें", + "turnLeft": "बाएँ मुड़ें", + "turnRight": "दाएँ मुड़ें", + "sharpLeft": "तेज़ बाएँ", + "sharpRight": "तेज़ दाएँ", + "turn": "मुड़ें", + "keepLeft": "बाईं ओर रहें", + "keepRight": "दाईं ओर रहें", + "takeFork": "फ़ोर्क लें", + "merge": "मर्ज करें", + "roundabout": "राउंडअबाउट लें", + "takeRamp": "रैंप लें", + "takeExit": "एग्ज़िट लें" + }, + "maneuverOnto": "{{road}} पर {{instruction}}" + } +}; + +export default batch2; diff --git a/src/i18n/hi/batch3.ts b/src/i18n/hi/batch3.ts new file mode 100644 index 0000000..4e9865d --- /dev/null +++ b/src/i18n/hi/batch3.ts @@ -0,0 +1,1300 @@ +const batch3 = { + "settingsUi": { + "proSupport": { + "title": "Pro और सहायता", + "subtitle": "वैकल्पिक सुविधाएँ जो SkateSpots को मुफ़्त रखती हैं", + "prepaidTitle": "प्रीपेड, सब्सक्रिप्शन नहीं", + "prepaidBody": "हर खरीदारी एक बार का Bitcoin/Lightning भुगतान है — कोई अकाउंट नहीं, कोई आवर्ती शुल्क नहीं, कोई कस्टडी नहीं। दोबारा भुगतान करने से आपका समय बढ़ जाता है।", + "sasquatchTitle": "Sasquatch Pro", + "sasquatchBenefit": "निजी AI सहायक अनलॉक करता है — यह आपका अपना Stash, crews और listings पढ़ सकता है — और प्रोजेक्ट को फंड करने में मदद करता है।", + "active": "सक्रिय", + "activeUntil": "{{date}} तक सक्रिय", + "daysLeft": "{{count}} दिन बचे", + "notActive": "सक्रिय नहीं", + "goPro": "Pro बनें", + "extend": "Pro बढ़ाएँ", + "day": "दिन", + "featuredTitle": "फ़ीचर्ड प्लेसमेंट", + "featuredBenefit": "Pro बैज के साथ किसी listing को ऊपर लाएँ — Lab प्रोफ़ाइल, इवेंट, दुकान और टूर के लिए।", + "featuredHow": "अवधि के स्तर हर प्रकार पर लागू होते हैं; लंबी अवधि में प्रति दिन लागत कम होती है। listing बनाते या संपादित करते समय आप उसे फ़ीचर्ड करते हैं।", + "featuredUntil": "{{date}} तक", + "yourFeatured": "आपकी फ़ीचर्ड listings", + "noneFeatured": "कोई सक्रिय फ़ीचर्ड प्लेसमेंट नहीं।", + "freeTitle": "मुफ़्त रास्ते", + "freeBody": "AI FAQ और स्थानीय खोज हमेशा मुफ़्त हैं, और आप sats शुल्क के बजाय मुफ़्त proof-of-work से marketplace listing प्रकाशित कर सकते हैं।" + }, + "notFound": { + "seoTitle": "404 - पेज नहीं मिला", + "seoDescription": "आप जो पेज खोज रहे हैं वह नहीं मिला। ब्राउज़िंग जारी रखने के लिए होम पेज पर लौटें।", + "message": "अरे! पेज नहीं मिला", + "returnHome": "होम पर लौटें" + }, + "loginArea": { + "signUp": "साइन अप करें", + "logIn": "लॉग इन करें" + }, + "accountSwitcher": { + "switchAccount": "अकाउंट बदलें", + "walletSettings": "वॉलेट सेटिंग्स", + "addAccount": "दूसरा अकाउंट जोड़ें", + "logout": "लॉग आउट" + }, + "amberHint": { + "defaultAction": "भेजना", + "multiBefore": "आपका साइनर आपसे अनुमोदन माँगेगा", + "multiTimes": "{{approvals}} बार", + "multiAfter": "{{action}} के लिए — एन्क्रिप्टेड संदेशों में यह सामान्य है (प्रत्येक सदस्य के लिए एक encrypt + एक हस्ताक्षर)। हर एक को अनुमोदित करें।", + "single": "आपका साइनर {{action}} के लिए अनुमोदन माँगेगा।" + }, + "amberCallback": { + "processing": "Amber लॉगिन हो रहा है...", + "gotResult": "परिणाम मिला: {{result}}", + "noResultDebug": "Amber से कोई परिणाम नहीं", + "noResultToast": "Amber से कोई परिणाम नहीं मिला। हो सकता है ऑपरेशन रद्द हो गया हो।", + "validPubkey": "मान्य pubkey! लॉग इन हो रहा है...", + "loginSuccessful": "लॉगिन सफल!", + "loginErrorDebug": "लॉगिन त्रुटि: {{error}}", + "invalidResultDebug": "अमान्य परिणाम प्रारूप: {{result}}", + "loggedInTitle": "लॉग इन हो गया", + "amberLoginDesc": "Amber के साथ सफलतापूर्वक लॉग इन हो गया!", + "loginFailedTitle": "लॉगिन विफल", + "loginFailedDesc": "Amber लॉगिन पूरा नहीं हो सका। कृपया फिर से प्रयास करें।", + "invalidPubkeyDesc": "Amber से अमान्य pubkey प्राप्त हुआ।", + "sessionLostToast": "सेशन डेटा खो गया। कृपया फिर से प्रयास करें।", + "eventSignedTitle": "इवेंट साइन हुआ", + "eventSignedDesc": "आपका इवेंट Amber द्वारा साइन कर दिया गया है।", + "signingFailedTitle": "साइनिंग विफल", + "signingFailedDesc": "Amber से साइन किया गया इवेंट प्रोसेस नहीं हो सका।", + "operationCompleteTitle": "ऑपरेशन पूरा", + "operationCompleteDesc": "{{op}} पूरा हुआ।" + }, + "loginDialog": { + "loginWithAmber": "Amber से लॉग इन करें (Android)", + "welcomeTitle": "SkateSpots में आपका स्वागत है", + "welcomeSubtitle": "जारी रखने के लिए साइन अप करें या लॉग इन करें", + "welcomeSubtitleBrowse": "साइन अप या लॉग इन करें — या ब्राउज़ करते रहें।", + "extensionCard": "ब्राउज़र एक्सटेंशन", + "signerCard": "साइनर ऐप", + "secretKeyLink": "इसके बजाय secret key इस्तेमाल करें", + "whereBunker": "bunker कहाँ से मिलेगा?", + "newHere": "नए हैं?", + "createFree": "मुफ़्त अकाउंट बनाएँ। ईमेल की ज़रूरत नहीं।", + "createAccount": "अकाउंट बनाएँ", + "orLogIn": "या लॉग इन करें", + "loggedInTitle": "🛹 लॉग इन हो गया!", + "loggedIn": "लॉग इन हो गया!", + "connectedAmber": "Amber से जुड़ गए!", + "amberLoginFailed": "Amber लॉगिन विफल", + "amberCancelled": "लॉगिन रद्द हुआ। फिर से कोशिश करने के लिए \"Open Amber\" पर टैप करें।", + "amberNotFound": "Amber नहीं मिला। सुनिश्चित करें कि ZapStore से Amber इंस्टॉल है।", + "loginFailed": "लॉगिन विफल", + "pubkeyError": "Amber से अपना hex pubkey (64 अक्षर) या npub पेस्ट करें", + "pairedSigner": "आपके साइनर से पेयर हो गया।", + "connectFailed": "आपके साइनर से कनेक्ट नहीं हो सका।", + "openedEncrypted": "आपकी एन्क्रिप्टेड key खुल गई।", + "openKeyFailed": "वह key खुल नहीं सकी।", + "bunkerPrefix": "bunker:// से शुरू होना चाहिए", + "connectedBunker": "bunker से जुड़ गए!", + "bunkerFailed": "विफल: {{error}}", + "checkBunkerUri": "अपना bunker URI जाँचें", + "nsecPrefix": "nsec1 से शुरू होना चाहिए", + "invalidNsec": "अमान्य nsec: {{error}}", + "checkKey": "अपनी key जाँचें", + "noExtensionTitle": "कोई एक्सटेंशन नहीं मिला", + "noExtensionDesc": "Alby या कोई अन्य NIP-07 एक्सटेंशन इंस्टॉल करें।", + "amberIdleDesc": "आपकी key Amber के अंदर ही रहती है। एक टैप — Amber में अनुमोदित करें और आप साइन इन होकर यहाँ वापस आ जाते हैं। कुछ कॉपी करने की ज़रूरत नहीं।", + "continueWithAmber": "Amber के साथ जारी रखें", + "noAmberGetIt": "Amber नहीं है? इसे पाएँ →", + "waitingAmberTitle": "Amber की प्रतीक्षा…", + "waitingAmberDesc": "Amber में अनुरोध स्वीकृत करें। जैसे ही आप वापस आएँगे, आप अपने आप साइन इन हो जाएँगे।", + "openAmberAgain": "Amber फिर से खोलें", + "havingTrouble": "परेशानी हो रही है? अपनी key मैन्युअल रूप से दर्ज करें", + "enterPublicKey": "अपनी public key दर्ज करें", + "enterPublicKeyDescBefore": "केवल तब जब स्वचालित प्रक्रिया काम न करे। Amber में: अपनी प्रोफ़ाइल पर टैप करें →", + "copyPublicKey": "public key कॉपी करें", + "enterPublicKeyDescAfter": "फिर उसे यहाँ पेस्ट करें।", + "connect": "कनेक्ट करें", + "back": "← वापस", + "signInWithPhone": "अपने फ़ोन से साइन इन करें", + "signInWithPhoneDesc": "साइनर ऐप (Amber, nsec.app) से स्कैन करें। आपकी key कभी आपका फ़ोन नहीं छोड़ती।", + "showPairingCode": "पेयरिंग कोड दिखाएँ", + "waitingSigner": "आपके साइनर की प्रतीक्षा…", + "copyLink": "लिंक कॉपी करें", + "orPasteBunker": "या bunker URL पेस्ट करें", + "bunkerTitle": "Bunker (NIP-46)", + "bunkerPasteBefore": "अपना", + "bunkerPasteAfter": "URI पेस्ट करें।", + "amberInstructions": "Settings → NIP-46 Bunker → Create → Copy", + "nsecAppInstructions": "Connect app → Copy bunker URI", + "secretKeyTitle": "Secret Key", + "secretKeyRawDesc": "अपनी Nostr secret key सीधे पेस्ट करें।", + "secretKeyEncDesc": "पासवर्ड से सुरक्षित key बैकअप खोलें।", + "rawNsec": "रॉ nsec", + "encryptedNip49": "एन्क्रिप्टेड (NIP-49)", + "nsecWarning": "⚠️ इसे केवल किसी भरोसेमंद डिवाइस पर इस्तेमाल करें। अपना nsec कभी साझा न करें।", + "login": "लॉगिन", + "encSaferDesc": "अधिक सुरक्षित: पासवर्ड दर्ज करने तक key एन्क्रिप्टेड रहती है, इसलिए बैकअप cloud storage या password manager में रखना सुरक्षित है।", + "password": "पासवर्ड", + "openEncryptedKey": "एन्क्रिप्टेड key खोलें", + "browserExtensionTitle": "ब्राउज़र एक्सटेंशन (NIP-07)", + "browserExtensionDesc": "डेस्कटॉप के लिए सबसे अच्छा। Alby, nos2x, Flamingo के साथ काम करता है।", + "loginWithExtension": "एक्सटेंशन से लॉग इन करें" + }, + "signupDialog": { + "download": "डाउनलोड", + "stepChoose": "चुनें", + "stepProfile": "प्रोफ़ाइल", + "stepSaveKey": "key सहेजें", + "somethingWrong": "कुछ गड़बड़ हो गई", + "createFailed": "आपका अकाउंट नहीं बन सका। कृपया फिर से प्रयास करें।", + "keySavedTitle": "Secret Key सहेजी गई!", + "keySavedDesc": "आपकी key सुरक्षित रूप से संग्रहीत कर दी गई है।", + "downloadFailedTitle": "डाउनलोड विफल", + "downloadFailedDesc": "key फ़ाइल डाउनलोड नहीं हो सकी। कृपया इसे मैन्युअल रूप से कॉपी करें।", + "encSavedTitle": "एन्क्रिप्टेड बैकअप सहेजा गया 🔐", + "encSavedDesc": "फ़ाइल और पासवर्ड दोनों रखें — वापस लॉग इन करने के लिए दोनों चाहिए।", + "encFailed": "वह key एन्क्रिप्ट नहीं हो सकी।", + "invalidFileTitle": "अमान्य फ़ाइल प्रकार", + "invalidFileDesc": "कृपया अपने अवतार के लिए कोई इमेज फ़ाइल चुनें।", + "fileTooLargeTitle": "फ़ाइल बहुत बड़ी है", + "fileTooLargeDesc": "अवतार इमेज 5MB से छोटी होनी चाहिए।", + "avatarUploadedTitle": "अवतार अपलोड हो गया!", + "avatarUploadedDesc": "आपका अवतार सफलतापूर्वक अपलोड हो गया है।", + "uploadFailedTitle": "अपलोड विफल", + "uploadFailedDesc": "अवतार अपलोड नहीं हो सका। कृपया फिर से प्रयास करें।", + "nameRequiredTitle": "डिस्प्ले नाम आवश्यक है", + "nameRequiredDesc": "कोई डिस्प्ले नाम चुनें ताकि अन्य स्केटर्स जान सकें कि आप कौन हैं। आप इसे कभी भी बदल सकते हैं।", + "reserveFailedTitle": "वह नाम आरक्षित नहीं हो सका", + "reserveFailedDesc": "{{error}} आप इसे बाद में Settings में ले सकते हैं।", + "profileCreatedTitle": "प्रोफ़ाइल बन गई!", + "profileCreatedDesc": "आपकी प्रोफ़ाइल सेट हो गई है।", + "profileFailedTitle": "प्रोफ़ाइल सेटअप विफल", + "profileFailedDesc": "आपका अकाउंट बन गया लेकिन प्रोफ़ाइल सेटअप विफल रहा। आप इसे बाद में अपडेट कर सकते हैं।", + "welcomeToastTitle": "स्वागत है!", + "welcomeToastDesc": "आपका अकाउंट तैयार है।", + "titleWelcome": "SkateSpots से जुड़ें", + "titleProfile": "अपनी प्रोफ़ाइल सेट करें", + "titleDone": "स्वागत है!", + "createFreeAccount": "अपना मुफ़्त अकाउंट बनाएँ", + "createFreeAccountDesc": "न ईमेल, न फ़ोन, न पासवर्ड। आपका अकाउंट एक Nostr key है — चुनें कि वह कहाँ रहे।", + "recommended": "अनुशंसित", + "signUpWithAmber": "Amber से साइन अप करें", + "signUpWithAmberDesc": "आपकी key Amber ऐप के अंदर बनती और रहती है — SkateSpots उसे कभी नहीं छूता। सबसे सुरक्षित। अनुमोदित करने के लिए एक टैप।", + "continueWithAmber": "Amber के साथ जारी रखें", + "orQuickWay": "या तेज़ तरीका", + "quickAccount": "इस डिवाइस पर त्वरित अकाउंट", + "quickAccountDesc": "हम एक key बनाते हैं जो इस डिवाइस पर रहती है। सबसे तेज़ शुरुआत — हम ठीक बाद बैकअप सहेजने में आपकी मदद करेंगे।", + "createQuickAccount": "त्वरित अकाउंट बनाएँ", + "quickReassurance": "5 सेकंड लगते हैं · इस डिवाइस पर रहता है · अगले कदम में हम इसे बैकअप करने में मदद करेंगे", + "preferAnotherSigner": "कोई दूसरा साइनर पसंद है?", + "iosDesktopNudge": "iOS या डेस्कटॉप पर हैं? साइनर ऐप या ब्राउज़र एक्सटेंशन सबसे सुरक्षित विकल्प है —", + "seeAllOptions": "सभी विकल्प देखें", + "youreInPickName": "आप अंदर हैं! 🛹 कोई डिस्प्ले नाम चुनें ताकि स्केटर्स जान सकें कि आप कौन हैं", + "changeAnytime": "आप इसे बाद में कभी भी बदल सकते हैं। बायो और अवतार वैकल्पिक हैं।", + "publishingProfile": "आपकी प्रोफ़ाइल प्रकाशित हो रही है...", + "displayName": "डिस्प्ले नाम", + "displayNamePlaceholder": "जैसे Tony, gnarlyGrind, या आपकी crew का नाम", + "displayNameHint": "आवश्यक — SkateSpots पर आप इसी नाम से दिखेंगे। इसे कभी भी बदलें।", + "skateName": "आपका SkateSpots नाम", + "skateNameHint": "मुफ़्त और वैकल्पिक — एक सत्यापित हैंडल जो आपकी प्रोफ़ाइल पर ✓ दिखाता है।", + "bio": "बायो", + "bioPlaceholder": "अपने बारे में दूसरों को बताएँ...", + "avatar": "अवतार", + "uploadAvatar": "अवतार इमेज अपलोड करें", + "saving": "सहेजा जा रहा है...", + "saveAndStart": "सहेजें और स्केटिंग शुरू करें", + "addNameToContinue": "जारी रखने के लिए डिस्प्ले नाम जोड़ें।", + "savingPublishesNote": "सहेजने पर आपकी प्रोफ़ाइल Nostr पर प्रकाशित होती है — आपका साइनर एक बार अनुमोदन माँग सकता है।", + "youreIn": "आप अंदर हैं! 🛹", + "oneQuickThing": "ड्रॉप-इन करने से पहले एक छोटी बात…", + "saveLoginKey": "अपनी लॉगिन key सहेजें", + "saveLoginKeyBefore": "यह", + "only": "एकमात्र", + "saveLoginKeyAfter": "तरीका है अपने अकाउंट में वापस आने का — न ईमेल, न पासवर्ड रीसेट। इसे अभी सहेजें और आप किसी भी डिवाइस पर, जहाँ भी स्केट करें, लॉग इन कर सकते हैं।", + "revealSaveKey": "अपनी key दिखाएँ और सहेजें", + "recoveryCopied": "रिकवरी कोड कॉपी हो गया। इसे सुरक्षित जगह रखें।", + "saved": "सहेजा गया", + "treatLikeBoardKeys": "इसे अपने बोर्ड की चाबियों की तरह मानें — इस कोड वाला कोई भी आपके अकाउंट को नियंत्रित कर सकता है। इसे कभी साझा न करें।", + "hideEncBackup": "एन्क्रिप्टेड बैकअप छिपाएँ", + "saveEncBackup": "एन्क्रिप्टेड बैकअप सहेजें", + "encBackupBefore": "पासवर्ड-सुरक्षित प्रति — cloud storage या password manager में रखना सुरक्षित है। आपको फ़ाइल चाहिए होगी", + "and": "और", + "encBackupAfter": "पासवर्ड।", + "choosePassword": "पासवर्ड चुनें", + "saveEncBackupCta": "एन्क्रिप्टेड बैकअप सहेजें", + "savedCodeAria": "मैंने अपना रिकवरी कोड सहेज लिया है", + "savedCodeLabel": "मैंने अपना रिकवरी कोड कहीं सुरक्षित सहेज लिया है — password manager में, या ऑफ़लाइन लिख लिया है।", + "letsSkate": "चलो स्केट करें", + "saveLater": "मैं इसे बाद में Settings से सहेजूँगा", + "advancedSigner": "उन्नत: इसके बजाय साइनर ऐप इस्तेमाल करें" + }, + "mnemonic": { + "generatedTitle": "रिकवरी फ़्रेज़ बन गई! 🎉", + "generatedDesc": "इन 12 शब्दों को क्रम में लिख लें। ये आपके अकाउंट की key हैं!", + "savedTitle": "रिकवरी फ़्रेज़ सहेजी गई!", + "savedDesc": "इस फ़ाइल को सुरक्षित स्थान पर रखें।", + "downloadFailedTitle": "डाउनलोड विफल", + "downloadFailedDesc": "फ़ाइल डाउनलोड नहीं हो सकी। कृपया मैन्युअल रूप से कॉपी करें।", + "copiedTitle": "क्लिपबोर्ड पर कॉपी हो गया!", + "copiedDesc": "आपकी रिकवरी फ़्रेज़ कॉपी हो गई है।", + "qrWindowTitle": "रिकवरी फ़्रेज़ QR कोड", + "qrHeading": "आपकी रिकवरी फ़्रेज़ का QR कोड", + "qrAlt": "रिकवरी फ़्रेज़ QR कोड", + "qrWarning": "इस QR कोड को निजी और सुरक्षित रखें!", + "qrPrint": "QR कोड प्रिंट करें", + "qrFailedTitle": "QR कोड विफल", + "qrFailedDesc": "QR कोड जनरेट नहीं हो सका।", + "accountCreatedTitle": "अकाउंट बन गया! 🎉", + "accountCreatedDesc": "सब तैयार है! आपकी रिकवरी फ़्रेज़ सुरक्षित है।", + "loginFailedTitle": "लॉगिन विफल", + "loginFailedDesc": "अकाउंट नहीं बन सका। कृपया फिर से प्रयास करें।", + "verifyFailedTitle": "सत्यापन विफल", + "verifyFailedDesc": "शब्द मेल नहीं खाते। कृपया जाँचें और फिर से प्रयास करें।", + "titlePrefix": "अकाउंट बनाने का तरीका:", + "titleSuffix": "रिकवरी फ़्रेज़", + "twelveWordTitle": "12-शब्दों वाली रिकवरी फ़्रेज़", + "twelveWordDesc": "आपकी रिकवरी फ़्रेज़ एक मास्टर पासवर्ड जैसी है। इसे कागज़ पर लिखें और सुरक्षित रखें। अन्य डिवाइस से अपने अकाउंट तक पहुँचने या ब्राउज़र डेटा साफ़ होने पर आपको इसकी ज़रूरत होगी।", + "generate": "रिकवरी फ़्रेज़ बनाएँ", + "useNsecInstead": "इसके बजाय उन्नत nsec key इस्तेमाल करें", + "yourPhrase": "आपकी रिकवरी फ़्रेज़", + "copy": "कॉपी करें", + "download": "डाउनलोड", + "qrCode": "QR कोड", + "criticalWarning": "गंभीर सुरक्षा चेतावनी", + "warnWriteStrong": "इसे लिख लें", + "warnWrite": "कागज़ पर और सुरक्षित जगह रखें", + "warnNeverShareStrong": "कभी साझा न करें", + "warnNeverShare": "अपनी रिकवरी फ़्रेज़ किसी के साथ", + "warnBackupsStrong": "कई बैकअप रखें", + "warnBackups": "अलग-अलग सुरक्षित स्थानों पर", + "warnAnyoneStrong": "इस फ़्रेज़ वाला कोई भी", + "warnAnyone": "हमेशा के लिए आपका अकाउंट नियंत्रित कर सकता है", + "warnLoseStrong": "अगर आप इसे खो दें", + "warnLose": "तो आप अपना अकाउंट हमेशा के लिए खो देंगे", + "savedSecurely": "मैंने इसे सुरक्षित सहेज लिया है", + "verifyTitle": "अपनी रिकवरी फ़्रेज़ सत्यापित करें", + "verifyDesc": "यह सुनिश्चित करने के लिए कि आपने इसे सही सहेजा है, कृपया ये शब्द दर्ज करें:", + "wordLabel": "शब्द #{{n}}", + "wordPlaceholder": "शब्द #{{n}} दर्ज करें", + "goBack": "वापस जाएँ", + "verifyCreate": "सत्यापित करें और अकाउंट बनाएँ", + "completeTitle": "अकाउंट बन गया!", + "completeDesc": "आपका Nostr अकाउंट तैयार है!", + "signerTitle": "अनुशंसित: साइनर ऐप सेट करें", + "signerSubtitle": "अपनी keys को अतिरिक्त सुरक्षित रखें", + "signerDesc": "बेहतर सुरक्षा के लिए, हर जगह अपनी रिकवरी फ़्रेज़ पेस्ट करने के बजाय समर्पित साइनर ऐप इस्तेमाल करें। साइनर ऐप आपकी keys सुरक्षित रखते हैं और आपको कोई भी Nostr ऐप इस्तेमाल करने देते हैं।", + "signerCta": "साइनर ऐप के बारे में जानें", + "skip": "अभी छोड़ें" + }, + "signupMethod": { + "titlePrefix": "अपना", + "titleSuffix": "साइनअप तरीका चुनें", + "subtitle": "दोनों तरीके सुरक्षित हैं। जो आपके लिए सबसे अच्छा हो वह चुनें!", + "recommended": "अनुशंसित", + "mnemonicTitle": "रिकवरी फ़्रेज़", + "mnemonicDesc": "12 आसानी से याद रहने वाले शब्द। Bitcoin, Ethereum और अधिकांश crypto wallets में इस्तेमाल होने वाला उद्योग मानक।", + "mnemonicF1": "कागज़ पर लिखना आसान", + "mnemonicF2": "अन्य Nostr ऐप के साथ काम करता है (NIP-06)", + "mnemonicF3": "कई अकाउंट बना सकता है", + "mnemonicF4": "crypto उपयोगकर्ताओं के लिए परिचित", + "useMnemonic": "रिकवरी फ़्रेज़ इस्तेमाल करें", + "advanced": "उन्नत", + "nsecTitle": "Secret Key (nsec)", + "nsecDesc": "रॉ क्रिप्टोग्राफ़िक key। अधिक तकनीकी, लेकिन आपको अपनी Nostr पहचान तक सीधी पहुँच देता है।", + "nsecF1": "सीधा क्रिप्टोग्राफ़िक नियंत्रण", + "nsecF2": "सभी Nostr ऐप के साथ संगत", + "nsecF3": "बैकअप के लिए एक ही स्ट्रिंग", + "nsecF4": "कोई derivation परत नहीं", + "useNsec": "Secret Key इस्तेमाल करें", + "footer": "🔒 दोनों तरीके समान रूप से सुरक्षित हैं। अपनी पसंद के अनुसार चुनें!" + }, + "skateNip05": { + "placeholder": "aapkanaam", + "claimedSuffix": "आपका है — इसे प्रकाशित करने के लिए अपनी प्रोफ़ाइल सहेजें।", + "checking": "उपलब्धता जाँची जा रही है…", + "available": "{{name}}@{{domain}} उपलब्ध है", + "claim": "इसे लें", + "hint": "अक्षर, संख्याएँ, डैश। मुफ़्त, और आपकी प्रोफ़ाइल पर ✓ बैज के रूप में दिखता है।" + }, + "nip05Required": { + "getFree": "मुफ़्त / सस्ता NIP-05 पाएँ", + "paid": "सशुल्क", + "requiredTitle": "NIP-05 सत्यापन आवश्यक", + "bannerReason": "स्पैम रोकने और भरोसा बनाने के लिए, {{role}} को सत्यापित Nostr पता (NIP-05) चाहिए।", + "gateReason": "स्पैम रोकने और भरोसा बनाने के लिए, {{role}} के पास NIP-05 सत्यापन होना चाहिए।", + "addInSettings": "Settings में NIP-05 जोड़ें", + "explainer": "NIP-05 आपकी Nostr प्रोफ़ाइल को किसी डोमेन से जोड़कर आपकी पहचान साबित करता है — जैसे", + "updateProfile": "अपनी प्रोफ़ाइल अपडेट करें" + }, + "editProfile": { + "uploadSuccessTitle": "सफल", + "uploadSuccessDesc": "{{field}} सफलतापूर्वक अपलोड हुआ", + "uploadErrorDesc": "{{field}} अपलोड नहीं हो सका। कृपया फिर से प्रयास करें।", + "mustBeLoggedIn": "प्रोफ़ाइल अपडेट करने के लिए आपको लॉग इन होना चाहिए", + "invalidClinkTitle": "अमान्य CLINK कोड", + "invalidClinkDesc": "यह मान्य noffer1… कोड जैसा नहीं लगता। इसे साफ़ करें या मान्य कोड पेस्ट करें।", + "invalidLightningTitle": "अमान्य Lightning पता", + "invalidLightningDesc": "you@walletofsatoshi.com जैसा ईमेल-शैली का पता इस्तेमाल करें।", + "invalidSpTitle": "अमान्य Silent Payment पता", + "invalidSpDesc": "Silent Payment पता \"sp1\" से शुरू होता है और काफ़ी लंबा होता है। इसे साफ़ करें या मान्य पता पेस्ट करें।", + "invalidCordnTitle": "अमान्य Cordn लिंक", + "invalidCordnDesc": "पूरा https://… Cordn संपर्क लिंक पेस्ट करें।", + "updateSuccessTitle": "सफल", + "updateSuccessDesc": "आपकी प्रोफ़ाइल अपडेट हो गई", + "updateErrorDesc": "प्रोफ़ाइल प्रकाशित नहीं हो सकी। Settings > Relays में अपने relay कनेक्शन जाँचें", + "identityTitle": "पहचान", + "identityDesc": "SkateSpots पर आप कैसे दिखते हैं।", + "displayName": "डिस्प्ले नाम", + "displayNamePlaceholder": "आपका नाम", + "bio": "बायो", + "bioPlaceholder": "अपने और अपनी स्केटिंग के बारे में कुछ शब्द…", + "profilePicture": "प्रोफ़ाइल तस्वीर", + "pictureDesc": "कोई चौकोर इमेज अपलोड करें या पेस्ट करें।", + "bannerImage": "बैनर इमेज", + "bannerDesc": "आपकी प्रोफ़ाइल के ऊपर के लिए चौड़ी इमेज।", + "website": "वेबसाइट", + "bitcoinTitle": "Bitcoin और भुगतान", + "bitcoinDesc": "लोगों को सीधे zap, tip और भुगतान करने दें — कोई बिचौलिया नहीं।", + "lightningAddress": "Lightning पता", + "lud16Invalid": "ईमेल-शैली का पता इस्तेमाल करें, जैसे you@yourdomain.com।", + "lud16Ok": "आपकी प्रोफ़ाइल पर “Zap” बटन चालू करता है।", + "lud16Hint": "तुरंत Bitcoin tips। आपकी प्रोफ़ाइल पर “Zap” बटन चालू करता है।", + "silentPaymentAddress": "Silent Payment पता", + "spInvalid": "“sp1” से शुरू होना चाहिए और काफ़ी लंबा होना चाहिए।", + "spOk": "मान्य — पुन: उपयोग योग्य, निजी on-chain पता।", + "spHint": "पुन: उपयोग योग्य स्थिर on-chain पता (BIP-352)। एक बार साझा करें; हर भुगतान अलग रहता है।", + "clinkTipCode": "CLINK tip कोड", + "nofferInvalid": "यह मान्य noffer1… कोड जैसा नहीं लगता।", + "nofferOk": "मान्य — आपकी प्रोफ़ाइल पर “Tip in Bitcoin” बटन दिखेगा।", + "nofferHint": "सेल्फ-कस्टडी CLINK कोड ताकि कोई भी Nostr पर आपको tip कर सके — कोई बिचौलिया नहीं।", + "skateProfileTitle": "स्केट प्रोफ़ाइल", + "skateProfileDesc": "अपने प्रायोजकों और crew आपसे कैसे संपर्क करे, यह दिखाएँ।", + "badges": "बैज", + "badgesHint": "(लेबल + वैकल्पिक लिंक)", + "badgeExample": "जैसे Independent Trucks", + "badgeLabelPlaceholder": "बैज लेबल…", + "badgeUrlPlaceholder": "https://… (वैकल्पिक)", + "removeBadge": "बैज हटाएँ", + "addBadge": "बैज जोड़ें", + "badgesDescBefore": "प्रायोजक, दुकानें या वे लोग जो आपकी स्केटिंग का समर्थन करते हैं — और कुछ भी जो आप दिखाना चाहें। हर एक आपकी प्रोफ़ाइल पर क्लिक करने योग्य चिप बनता है। आपका", + "badgesDescAfter": "सदस्य बैज अपने आप जुड़ जाता है।", + "coordinator": "कोऑर्डिनेटर", + "cordnInvalid": "यह कोऑर्डिनेटर जैसा नहीं लगता। nprofile, cordn.net लिंक, या https:// URL पेस्ट करें।", + "cordnOk": "आपकी प्रोफ़ाइल पर दिखता है — दूसरे एक टैप में जोड़ सकते हैं।", + "cordnHint": "वह Cordn कोऑर्डिनेटर जिससे दूसरे आपको संदेश भेजते हैं। निजी, एन्क्रिप्टेड, आपका।", + "useMyCoordinator": "मेरा कोऑर्डिनेटर इस्तेमाल करें", + "accountTitle": "अकाउंट", + "accountDesc": "अतिरिक्त अकाउंट सेटिंग्स।", + "botAccount": "बॉट अकाउंट", + "botAccountDesc": "इस अकाउंट को स्वचालित या बॉट के रूप में चिह्नित करें।", + "saving": "सहेजा जा रहा है…", + "saveProfile": "प्रोफ़ाइल सहेजें", + "nip05VerifiedHandle": "NIP-05 सत्यापित हैंडल", + "nip05How": "कैसे?", + "extraHandles": "अतिरिक्त हैंडल", + "extraHandlesHint": "वैकल्पिक — 5 तक जोड़ें", + "nip05HintEmpty": "you@yourdomain.com जैसा सत्यापित हैंडल — Nostr का ब्लू चेक। आपकी प्रोफ़ाइल पर ✓ बैज दिखाता है और Skaters डायरेक्टरी में “Verified” फ़िल्टर खोलता है।", + "nip05Invalid": "ईमेल-शैली का हैंडल इस्तेमाल करें, जैसे you@yourdomain.com — “https://” या स्पेस नहीं।", + "nip05Checking": "आपका डोमेन जाँचा जा रहा है…", + "nip05Verified": "सत्यापित — आपका डोमेन पुष्टि करता है कि यह हैंडल आपका है। ✓", + "nip05Mismatch": "आपका डोमेन इस हैंडल को किसी अलग key से जोड़ता है। अपनी .well-known/nostr.json ठीक करें ताकि वह इस अकाउंट की ओर इशारा करे।", + "nip05Unreachable": "आपके डोमेन का /.well-known/nostr.json अभी नहीं पहुँच सका। डोमेन सही सेट होने पर सहेजे गए हैंडल फिर भी काम करेंगे।", + "nip05Enter": "अपना NIP-05 हैंडल दर्ज करें।", + "freeHandleBefore": "अपना डोमेन नहीं है? मुफ़्त", + "freeHandleAfter": "हैंडल SkateSpots से लें।", + "uploadLabel": "{{label}} अपलोड करें", + "previewLabel": "{{label}} पूर्वावलोकन" + }, + "security": { + "recoveryCopied": "रिकवरी कोड कॉपी हो गया। इसे सुरक्षित जगह रखें।", + "savedTitle": "सहेजा गया!", + "recoveryDownloaded": "रिकवरी कोड डाउनलोड हो गया। इसे सुरक्षित जगह रखें।", + "downloadFailedTitle": "डाउनलोड विफल", + "downloadFailedDesc": "कृपया इसके बजाय इसे मैन्युअल रूप से कॉपी करें।", + "loginRequired": "लॉगिन आवश्यक", + "loginRequiredDesc": "सुरक्षा सेटिंग्स तक पहुँचने के लिए लॉग इन करें।", + "backupConfirmedTitle": "बैकअप की पुष्टि हुई! ✅", + "backupConfirmedDesc": "बढ़िया! आपकी keys सुरक्षित हैं।", + "yourRecoveryCode": "आपका रिकवरी कोड", + "recoveryCodeDesc": "साइन अप करते समय इसे नहीं सहेजा? आप इसे यहाँ कभी भी ले सकते हैं।", + "recoveryCodeBefore": "यह कोड", + "only": "एकमात्र", + "recoveryCodeAfter": "तरीका है नए डिवाइस या ब्राउज़र पर वापस लॉग इन करने का। इसे सुरक्षित जगह सहेजें (password manager, या कागज़ पर लिखकर)। इसके पास जो भी है वह आपका अकाउंट नियंत्रित कर सकता है — इसे कभी साझा न करें।", + "revealRecovery": "मेरा रिकवरी कोड दिखाएँ", + "qrHint": "लॉग इन करने के लिए किसी अन्य Nostr ऐप से स्कैन करें। इस स्क्रीन को निजी रखें।", + "neverShareHide": "⚠️ इसे कभी साझा न करें। काम हो जाने पर इसे छिपाएँ।", + "hide": "छिपाएँ", + "amberNoteBefore": "आप इससे लॉग इन हैं:", + "amberNoteAfter": "। आपका रिकवरी कोड Amber के अंदर रहता है — बैकअप के लिए Amber ऐप खोलें। SkateSpots आपकी key कभी नहीं देखता।", + "bunkerNoteBefore": "आप इससे लॉग इन हैं:", + "remoteSigner": "रिमोट साइनर (bunker)", + "bunkerNoteAfter": "। आपका रिकवरी कोड आपकी साइनर सेवा के पास है, SkateSpots के पास नहीं। वहीं बैकअप लें।", + "extensionNoteBefore": "आप इससे लॉग इन हैं:", + "browserExtension": "ब्राउज़र एक्सटेंशन", + "extensionNoteAfter": "। आपका रिकवरी कोड एक्सटेंशन में रहता है — उसका अपना बैकअप/एक्सपोर्ट विकल्प इस्तेमाल करें। SkateSpots आपकी key कभी नहीं देखता।", + "otherNote": "आपका रिकवरी कोड आपके साइनर ऐप द्वारा प्रबंधित है, SkateSpots द्वारा नहीं। वहीं बैकअप लें।", + "backupWarningTitle": "⚠️ क्या आपने अपनी रिकवरी फ़्रेज़ या secret key का बैकअप लिया है?", + "backupWarningBody": "आपकी keys ही आपके अकाउंट तक पहुँचने का एकमात्र तरीका हैं। अगर आप उन्हें खो देंगे, तो सब कुछ खो देंगे - पासवर्ड रीसेट का कोई विकल्प नहीं है!", + "iveBackedUp": "मैंने अपनी keys का बैकअप ले लिया है", + "backupConfirmed": "✅ बैकअप की पुष्टि हुई", + "backupNotConfirmed": "⚠️ बैकअप की पुष्टि नहीं हुई", + "backupConfirmedStatusDesc": "आपने पुष्टि की है कि आपकी keys सुरक्षित रूप से बैकअप हैं।", + "backupNotConfirmedDesc": "अपनी रिकवरी फ़्रेज़ या secret key का बैकअप ज़रूर लें!", + "notSavedYetBefore": "अभी तक अपना रिकवरी कोड नहीं सहेजा? कोई बात नहीं — इसे", + "notSavedYetAfter": "ऊपर के सेक्शन से लें, सुरक्षित जगह रखें, फिर नीचे पुष्टि करें।", + "yesBackedUp": "हाँ, मैंने अपनी keys का बैकअप ले लिया है", + "bestPracticesTitle": "key सुरक्षा के सर्वोत्तम तरीके", + "bestPracticesDesc": "अपना Nostr अकाउंट सुरक्षित कैसे रखें", + "bp1Title": "इसे कागज़ पर लिखें", + "bp1Desc": "फ़िज़िकल बैकअप सबसे सुरक्षित है। इसे तिजोरी जैसी सुरक्षित जगह रखें।", + "bp2Title": "कई बैकअप", + "bp2Desc": "अलग-अलग सुरक्षित स्थानों पर प्रतियाँ रखें (घर की तिजोरी, बैंक लॉकर, आदि)", + "bp3Title": "अपनी keys कभी साझा न करें", + "bp3Desc": "असली Nostr ऐप पहली लॉगिन के बाद कभी आपका nsec या रिकवरी फ़्रेज़ नहीं माँगते", + "bp4Title": "cloud में बिना एन्क्रिप्शन न रखें", + "bp4Desc": "Google Docs, ईमेल ड्राफ़्ट, या सादे टेक्स्ट cloud storage से बचें", + "bp5Title": "ब्राउज़र एक्सटेंशन इस्तेमाल करने पर विचार करें", + "bp5Desc": "Alby, nos2x, या Flamingo आपकी keys सुरक्षित रखते हैं और उन्हें कभी वेबसाइटों के सामने नहीं लाते", + "importantReminders": "⚠️ ज़रूरी बातें", + "rem1": "अगर आप अपनी keys खो देंगे, तो अपना अकाउंट हमेशा के लिए खो देंगे", + "rem2": "कोई कंपनी या व्यक्ति आपका पासवर्ड रीसेट नहीं कर सकता - हम भी नहीं", + "rem3": "आपकी keys वाला कोई भी आपके अकाउंट पर पूरा नियंत्रण रखता है", + "rem4": "आपकी keys सभी ऐप में आपके सारे Nostr डेटा को नियंत्रित करती हैं", + "recommendedSigners": "🔌 अनुशंसित Nostr साइनर", + "recommendedSignersDesc": "बेहतर सुरक्षा और सुविधा के लिए Nostr साइनर इस्तेमाल करें", + "recommended": "अनुशंसित", + "amberDesc": "Android के लिए सुरक्षित Nostr साइनर। आपकी keys आपके फ़ोन पर सुरक्षित रखता है और उन्हें उजागर किए बिना इवेंट साइन करता है।", + "albyDesc": "Lightning वॉलेट, WebLN और NWC सहायता वाला पूर्ण-सुविधा एक्सटेंशन।", + "flamingoDesc": "सरल, साफ़ इंटरफ़ेस। वॉलेट सुविधाओं के बिना Nostr साइनिंग पर केंद्रित।", + "nos2xDesc": "उन्नत उपयोगकर्ताओं के लिए न्यूनतम, हल्का एक्सटेंशन।", + "nostrConnectTitle": "☁️ Nostr Connect (रिमोट साइनर)", + "nostrConnectDesc": "किसी भी डिवाइस से अपने अकाउंट तक पहुँचने के लिए रिमोट साइनर इस्तेमाल करें", + "nostrConnectBody": "Nostr Connect (जिसे \"bunkers\" भी कहते हैं) आपकी keys सुरक्षित सर्वर पर रखने देता है और आप किसी भी डिवाइस से साइन इन कर सकते हैं। आपकी keys सर्वर कभी नहीं छोड़तीं, लेकिन आप अपना अकाउंट कहीं भी इस्तेमाल कर सकते हैं!", + "nsecAppDesc": "मुफ़्त, सुरक्षित रिमोट साइनर। bunker:// URI बनाएँ और लॉग इन करते समय पेस्ट करें।", + "nostrumDesc": "मोबाइल सहायता वाला एक और रिमोट साइनर विकल्प।", + "howToUse": "💡 कैसे इस्तेमाल करें:", + "howToUseDesc": "इनमें से किसी सेवा पर अकाउंट बनाएँ, अपनी bunker:// कनेक्शन स्ट्रिंग लें, फिर लॉग इन करते समय उसे \"Nostr Connect\" टैब में पेस्ट करें।" + }, + "relayList": { + "connected": "कनेक्टेड", + "connecting": "कनेक्ट हो रहा है…", + "offline": "ऑफ़लाइन", + "removeUrl": "{{url}} हटाएँ", + "add": "जोड़ें", + "publishedTitle": "Relay सूची प्रकाशित हुई", + "publishedDesc": "Nostr (kind 10002) से सिंक हुआ।", + "publishFailedTitle": "Relay सूची प्रकाशित नहीं हो सकी", + "invalidUrlTitle": "अमान्य relay URL", + "invalidUrlDesc": "wss://relay.example.com जैसा कुछ आज़माएँ", + "alreadyInList": "Relay पहले से आपकी सूची में है", + "keepReadWriteTitle": "read या write में से एक चालू रखें", + "keepReadWriteDesc": "किसी relay के लिए read/write में से कम से कम एक ज़रूरी है।", + "alreadyInThisList": "Relay पहले से इस सूची में है", + "dmPublishedTitle": "DM relays प्रकाशित हुए", + "dmPublishedDesc": "NIP-17 inbox अपडेट हुआ।", + "dmPublishFailedTitle": "DM relays प्रकाशित नहीं हो सके", + "nip65Title": "Relays (NIP-65)", + "nip65DescUser": "टॉगल करने के लिए Read / Write पर टैप करें। आपकी kind 10002 सूची के रूप में Nostr पर प्रकाशित।", + "nip65DescLoggedOut": "टॉगल करने के लिए Read / Write पर टैप करें। अपनी सूची Nostr पर प्रकाशित करने के लिए लॉग इन करें।", + "noRelays": "अभी कोई relay नहीं — नीचे एक जोड़ें।", + "local": "लोकल", + "read": "Read", + "readHint": "इस relay से सामग्री लाएँ", + "write": "Write", + "writeHint": "अपने इवेंट इस relay पर प्रकाशित करें", + "dmTitle": "DM इनबॉक्स relays", + "dmDesc": "जहाँ आप NIP-17 सीधे संदेश (kind 10050) प्राप्त करते हैं। खाली होने पर आपके write relays इस्तेमाल होते हैं।", + "localTitle": "लोकल relays", + "localDesc": "केवल ऐप (जैसे LAN नोड)। reads और writes के लिए; कभी प्रकाशित नहीं।", + "blockedTitle": "ब्लॉक किए गए relays", + "blockedDesc": "इनसे कभी कनेक्ट न हों — हर read और write से बाहर।" + }, + "relatr": { + "searchingTitle": "Relatr सेवा खोजी जा रही है...", + "searchingDesc": "Relatr प्रोफ़ाइल के लिए Nostr से पूछ रहे हैं", + "foundTitle": "Relatr सेवा मिल गई!", + "foundDesc": "सेवा: {{name}}", + "unknown": "अज्ञात", + "notFoundTitle": "कोई Relatr सेवा नहीं मिली", + "notFoundDesc": "pubkey मैन्युअल रूप से दर्ज करें या https://www.relatr.xyz/ देखें", + "searchFailedTitle": "खोज विफल", + "searchFailedDesc": "Relatr प्रोफ़ाइल के लिए Nostr से पूछा नहीं जा सका", + "invalidPubkeyTitle": "अमान्य pubkey", + "invalidPubkeyDesc": "कृपया 64 अक्षरों वाला मान्य hex pubkey दर्ज करें", + "enabledTitle": "Relatr चालू!", + "enabledDesc": "ग्लोबल trust स्कोर अब सक्रिय हैं।", + "disabledTitle": "Relatr बंद", + "disabledDesc": "trust स्कोर अब नहीं लाए जा रहे।", + "title": "Relatr Trust स्कोर", + "desc": "ग्लोबल trust स्कोर भरोसेमंद उपयोगकर्ताओं की पहचान करने और स्पैम कम करने में मदद करते हैं", + "status": "स्थिति", + "active": "सक्रिय", + "disabled": "बंद", + "activeStrong": "Relatr सक्रिय है।", + "activeDesc": "ContextVM के ग्लोबल नेटवर्क विश्लेषण से trust स्कोर भरोसेमंद स्केटर्स की पहचान करने और स्पैम कम करने में मदद करते हैं।", + "disabledStrong": "Relatr बंद है।", + "disabledHint": "ग्लोबल Nostr नेटवर्क से trust स्कोर पाने के लिए इसे चालू करें।", + "disable": "Relatr बंद करें", + "enable": "Relatr चालू करें", + "advancedSettings": "उन्नत सेटिंग्स", + "servicePubkey": "Relatr सेवा Pubkey", + "pubkeyPlaceholder": "64 अक्षरों वाला hex pubkey दर्ज करें...", + "searching": "खोजा जा रहा है...", + "autoDiscover": "ऑटो-डिस्कवर", + "pubkeyDefault": "डिफ़ॉल्ट: ContextVM की आधिकारिक Relatr सेवा (npub1dvmc...)", + "relayLabel": "Relay (जहाँ Relatr स्कोर प्रकाशित करता है)", + "relayDefault": "डिफ़ॉल्ट: wss://relay.contextvm.org (ContextVM का आधिकारिक relay)", + "applyChanges": "बदलाव लागू करें", + "learnMore": "और जानें:", + "website": "Relatr वेबसाइट", + "github": "Relatr GitHub", + "nip85Spec": "NIP-85 विनिर्देश" + }, + "followList": { + "unfollow": "अनफ़ॉलो करें", + "title": "आपका Nostr नेटवर्क", + "desc": "आप किसे फ़ॉलो करते हैं यह प्रबंधित करें। उपयोगकर्ताओं को फ़ॉलो करने से आपका Web of Trust बनता है और तय होता है कि कौन से spots trust बैज दिखाएँ।", + "following": "फ़ॉलो कर रहे ({{count}})", + "followers": "फ़ॉलोअर ({{count}})", + "follow": "फ़ॉलो करें", + "followHint": "💡 Nostr pubkey (npub1...), NIP-05 पता (user@domain.com), या hex pubkey पेस्ट करें", + "notFollowing": "आप अभी किसी को फ़ॉलो नहीं कर रहे", + "notFollowingHint": "स्केटर्स को फ़ॉलो करें ताकि उनके spots ✅ VERIFIED बैज के साथ दिखें", + "trustActiveStrong": "✅ Trust बैज सक्रिय:", + "trustActive": "आपके फ़ॉलो किए लोगों के बनाए spots अब VERIFIED बैज दिखाएँगे। उनके दोस्तों के spots TRUSTED बैज दिखाएँगे।", + "noFollowers": "अभी कोई फ़ॉलोअर नहीं", + "noFollowersHint": "फ़ॉलोअर पाने के लिए अपनी Nostr प्रोफ़ाइल साझा करें!", + "howTitle": "💡 फ़ॉलो करना Trust बैज को कैसे प्रभावित करता है", + "verifiedStrong": "✅ VERIFIED (हरा):", + "verifiedDesc": "आपके सीधे फ़ॉलो किए लोगों के बनाए spots", + "trustedStrong": "🟡 TRUSTED (पीला):", + "trustedDesc": "आपके दोस्तों के फ़ॉलो किए लोगों के बनाए spots (2 हॉप)", + "unverifiedStrong": "⚪ असत्यापित:", + "unverifiedDesc": "आपके नेटवर्क से कोई संबंध न रखने वाले उपयोगकर्ताओं के spots", + "tip": "💡 सुझाव: अधिक सत्यापित spots देखने और अपना trust नेटवर्क बनाने के लिए सक्रिय स्केटबोर्डर्स को फ़ॉलो करें!" + }, + "notify": { + "enableTitle": "सूचनाएँ चालू करें", + "enableDesc": "जब कुछ आपका ध्यान चाहे तो यह डिवाइस बज़े।", + "checkingPermission": "अनुमति जाँची जा रही है…", + "unsupported": "यह डिवाइस यहाँ सूचनाएँ सपोर्ट नहीं करता। अपने फ़ोन पर उन्हें चालू करने के लिए Android ऐप फिर से बनाएँ।", + "denied": "इस साइट के लिए सूचनाएँ ब्लॉक हैं। अपने ब्राउज़र/OS सेटिंग्स में उन्हें अनुमति दें, फिर प्रयास करें।", + "backgroundTitle": "बैकग्राउंड सूचनाएँ", + "backgroundDesc": "SkateSpots बंद होने पर भी संदेशों और ट्रेडों के लिए पिंग पाएँ।", + "pushUnsupported": "यह ब्राउज़र बैकग्राउंड push सपोर्ट नहीं करता। मोबाइल पर, SkateSpots को अपनी होम स्क्रीन पर जोड़ें।", + "pushPrivacy": "बंद होने पर आप तक पहुँचने के लिए, जब आपकी key के लिए कुछ आता है तो आपके relay से एक SkateSpots सूचना सर्वर को पिंग मिलती है और वह उसे आपके फ़ोन की push सेवा तक पहुँचाता है। उसे केवल इतना दिखता है कि आपकी key के पास कुछ है — कभी नहीं कि किसने भेजा या क्या लिखा, और वह आपके संदेश डिक्रिप्ट नहीं कर सकता। प्रति डिवाइस ऑप्ट इन करें।", + "bgDeliveryTitle": "बैकग्राउंड डिलीवरी (Android)", + "bgDeliveryDesc": "ऐप बंद होने पर भी नए संदेश, ऑफ़र और ट्रेड जाँचें — बिना Google सेवाओं के।", + "off": "बंद", + "standard": "मानक (~15 मिनट)", + "fast": "तेज़ (~5 मिनट)", + "bgDeliveryNote": "मानक best-effort है — Android Doze के तहत इसे टाल सकता है। तेज़ एक स्थायी सूचना दिखाता है और अधिक बैटरी लेता है। हमारे सर्वर पर कुछ भी डिक्रिप्ट नहीं होता।", + "notifyMeAbout": "मुझे इनके बारे में सूचित करें", + "couldNotEnable": "चालू नहीं हो सका", + "sendTest": "परीक्षण सूचना भेजें", + "testTitle": "SkateSpots सूचनाएँ चालू हैं 🛹", + "testBody": "DM, zap या crew निमंत्रण ऐसा दिखेगा।", + "footerBefore": "अलर्ट आपके डिवाइस पर ऐप के पास पहले से मौजूद डेटा से बनते हैं, और DM अलर्ट आपके संदेश कभी डिक्रिप्ट नहीं करते — इसलिए Amber से कोई संदेश खोलने को कभी नहीं कहा जाता। साथ में", + "footerAfter": "बंद होने पर, पूरी तरह बंद ऐप तक पहुँच नहीं होती, इसलिए अलर्ट अगली बार SkateSpots खोलने पर आते हैं।", + "cat_dms_label": "सीधे संदेश", + "cat_dms_hint": "कोई आपको निजी संदेश भेजता है", + "cat_crew_label": "Crews", + "cat_crew_hint": "निमंत्रण, शामिल होने के अनुरोध और सदस्यता पुष्टियाँ", + "cat_social_label": "Zaps, जवाब और उल्लेख", + "cat_social_hint": "प्रतिक्रियाएँ, reposts, zaps, जवाब और इवेंट अपडेट", + "cat_newsletter_label": "न्यूज़लेटर", + "cat_newsletter_hint": "नए SkateSpots ड्रॉप (केवल सब्सक्राइबर)", + "cat_trades_label": "ऑफ़र और ट्रेड", + "cat_trades_hint": "ऑफ़र, काउंटर-ऑफ़र और ट्रेड पुष्टियाँ", + "cat_reminders_label": "इवेंट रिमाइंडर", + "cat_reminders_hint": "जिन इवेंट में आप जा रहे हैं उनसे एक घंटा पहले नज (Android ऐप)" + }, + "regionBackfill": { + "taggedTitle": "{{count}} स्थान{{s}} टैग किए", + "taggedSkipped": "{{count}} छोड़े गए (कोई निर्देशांक नहीं या geocoder मिलान नहीं)।", + "taggedOk": "क्षेत्र टैग community relay पर लिखे गए।", + "nothingTitle": "टैग करने के लिए कुछ नहीं", + "nothingDesc": "किसी pin का geocode नहीं हो सका। बाद में फिर प्रयास करें।", + "failedTitle": "बैकफ़िल विफल", + "title": "क्षेत्र टैग बैकफ़िल करें", + "admin": "एडमिन", + "descBefore": "geocoding से पहले बने pins में निर्देशांक हैं लेकिन शहर/देश टैग नहीं, इसलिए मैप उन्हें दिखाता है जबकि Community Stats केवल “Uncategorised” कह सकता है। यह हर pin से टैग फिर से निकालकर पुनः प्रकाशित करता है", + "descStrong": "आपके अपने", + "descAfter": "बिना टैग वाले spots और दुकानें।", + "scanning": "आपके spots स्कैन हो रहे हैं…", + "allTagged": "आपके हर spot और दुकान पर पहले से क्षेत्र टैग है। 🎉 बचे हुए “Uncategorised” pins अन्य मैपर्स के हैं — केवल उनकी अपनी keys ही उन्हें टैग कर सकती हैं।", + "countLine": "आपके {{count}} spot{{s}}/दुकानों पर क्षेत्र टैग नहीं है। आपका साइनर हर एक को अनुमोदित करने को कह सकता है।", + "tagging": "{{done}}/{{total}} टैग हो रहे हैं…", + "run": "क्षेत्र टैग बैकफ़िल करें", + "summary": "{{updated}} अपडेट · {{skipped}} छोड़े · {{failed}} विफल" + }, + "adminReview": { + "title": "समीक्षा कतार", + "flagged": "{{count}} spot{{s}} संदिग्ध संकेतों से टकराते हैं — छिपाएँ या खारिज करें।", + "clean": "वे spots जो टेस्ट प्रविष्टियाँ या विषय से हटकर लगते हैं।" + }, + "grantPro": { + "invalidNpub": "मान्य npub (या hex pubkey) दर्ज करें", + "invalidDays": "दिन एक सकारात्मक संख्या होनी चाहिए", + "grantedTitle": "Pro दिया गया ⚡", + "grantedDesc": "{{npub}} को {{date}} तक", + "failedTitle": "ग्रांट विफल", + "title": "Sasquatch Pro दें", + "owner": "मालिक", + "desc": "सत्यापित भुगतान के लिए मैन्युअल विकल्प जिसे zap रसीद ने छोड़ दिया। मालिक द्वारा हस्ताक्षरित ग्रांट प्रकाशित करता है; उपयोगकर्ता इसे नकली नहीं बना सकता।", + "targetPlaceholder": "npub1… (या hex)", + "grant": "दें" + }, + "myData": { + "reactionTitle": "{{emoji}} प्रतिक्रिया", + "deleting": "हटाया जा रहा है...", + "requestDeletion": "हटाने का अनुरोध करें", + "selectContentTitle": "हटाने के लिए सामग्री चुनें", + "selectContentDesc": "जिन विशिष्ट आइटम को आप हटाने का अनुरोध करना चाहते हैं उन्हें चुनें।", + "all": "सभी", + "spots": "Spots", + "events": "इवेंट", + "shops": "दुकानें", + "listings": "Listings", + "collections": "संग्रह", + "lab": "Lab", + "posts": "पोस्ट", + "reactions": "प्रतिक्रियाएँ", + "selectAll": "सभी चुनें", + "selectAllVisible": "सभी दिखने वाले चुनें", + "selectedCount": "{{count}} चुने गए", + "noItemsCategory": "इस श्रेणी में कोई आइटम नहीं", + "decentralizedStrong": "ज़रूरी:", + "decentralizedNote": "Nostr विकेंद्रीकृत है। relays को हटाने के अनुरोध मानने चाहिए, लेकिन कुछ नहीं मान सकते। यह स्थायी रूप से हटने की गारंटी नहीं है।", + "deleteCount": "{{count}} आइटम{{s}} हटाएँ", + "noDataTitle": "निर्यात करने के लिए कोई डेटा नहीं", + "noDataDesc": "आपने अभी तक कोई इवेंट प्रकाशित नहीं किया।", + "exportedTitle": "डेटा निर्यात हो गया!", + "exportedDesc": "{{count}} इवेंट JSON के रूप में डाउनलोड हुए।", + "deletionRequestedTitle": "हटाने का अनुरोध किया गया", + "deletionRequestedDesc": "हटाने का अनुरोध relays पर प्रकाशित कर दिया गया है।", + "deletionRequestedMany": "{{count}} आइटम हटाने का अनुरोध किया। ध्यान दें: कुछ relays इसे नहीं मान सकते।", + "deletionFailedTitle": "हटाना विफल", + "deletionFailedDesc": "हटाने का अनुरोध प्रकाशित नहीं हो सका। कृपया फिर से प्रयास करें।", + "loginRequired": "लॉगिन आवश्यक", + "loginRequiredDesc": "अपना डेटा देखने और प्रबंधित करने के लिए लॉग इन करें।", + "title": "मेरा डेटा", + "desc": "Nostr नेटवर्क पर आपकी सामग्री। यह डेटा आपका है - इसे कभी भी निर्यात करें या हटाने का अनुरोध करें।", + "coachFilmer": "कोच/फ़िल्मर", + "zaps": "Zaps", + "received": "प्राप्त", + "exportAll": "सारा डेटा निर्यात करें", + "recentActivity": "हाल की गतिविधि", + "viewAll": "सभी देखें ({{count}})", + "noDataPublished": "अभी कोई डेटा प्रकाशित नहीं", + "startBy": "शुरुआत करें", + "addingASpot": "spot जोड़कर", + "aboutYourData": "आपके डेटा के बारे में", + "ownDataStrong": "आपका डेटा आपका है।", + "ownData": "सारी सामग्री आपकी क्रिप्टोग्राफ़िक keys से हस्ताक्षरित है और Nostr relays पर संग्रहीत है। कोई कंपनी इसे नियंत्रित नहीं करती।", + "exportAnytimeStrong": "कभी भी निर्यात करें", + "exportAnytime": "- अपने सभी इवेंट JSON के रूप में डाउनलोड करें", + "portableStrong": "पोर्टेबल", + "portable": "- अपनी keys किसी भी Nostr ऐप में इस्तेमाल करें", + "selectiveStrong": "चुनिंदा हटाना", + "selective": "- ठीक यह चुनें कि क्या हटाना है", + "caveatStrong": "विकेंद्रीकरण की सीमा", + "caveat": "- हटाने के अनुरोध के बावजूद कुछ relays डेटा रख सकते हैं" + }, + "settingsPage": { + "seoTitle": "सेटिंग्स - SkateSpots", + "seoDescription": "अपनी SkateSpots अकाउंट सेटिंग्स प्रबंधित करें।", + "heading": "सेटिंग्स", + "subtitle": "अकाउंट और ऐप प्राथमिकताएँ", + "editProfile": "प्रोफ़ाइल संपादित करें", + "profileRefreshed": "प्रोफ़ाइल रीफ़्रेश हुई!", + "found": "मिला: {{name}}", + "unnamed": "बिना नाम", + "profileNotFound": "प्रोफ़ाइल नहीं मिली", + "notFoundOnRelay": "किसी relay पर नहीं मिली।", + "refreshFailed": "रीफ़्रेश विफल", + "refreshFailedDesc": "relays से कनेक्ट नहीं हो सका।", + "loginToEdit": "प्रोफ़ाइल संपादित करने के लिए लॉग इन करें", + "noProfileRelays": "हमें relays पर कोई प्रोफ़ाइल नहीं मिली। अगर आपने पहले सेट की है, तो रीफ़्रेश आज़माएँ।", + "checkDisplayName": "एक डिस्प्ले नाम", + "checkPhoto": "एक प्रोफ़ाइल तस्वीर", + "checkBio": "एक छोटा बायो", + "checkLightning": "एक Lightning पता ताकि लोग आपको zap कर सकें", + "checkHandle": "एक मुफ़्त @skate-spots.org हैंडल", + "finishProfile": "अपनी प्रोफ़ाइल पूरी करें", + "addItem": "{{item}} जोड़ें", + "nip05Title": "NIP-05 सत्यापन", + "nip05Desc": "भरोसा बनाने के लिए सत्यापित Nostr पता (जैसे name@domain.com) पाएँ। इवेंट, कोचिंग प्रोफ़ाइल और दुकानें बनाने के लिए आवश्यक।", + "freeFromSkateSpots": "SkateSpots से मुफ़्त", + "claimHandleBefore": "ऐसा हैंडल लें", + "claimHandleAfter": "— कोई साइनअप नहीं, कोई शुल्क नहीं, कोई डोमेन चलाने की ज़रूरत नहीं। इसे Profile टैब में लें, फिर सहेजें।", + "claimInProfile": "Profile में लें", + "nip05Footer": "NIP-05 मिलने के बाद, इसे Profile फ़ील्ड में जोड़ें और सहेजें।", + "localRelayOn": "लोकल relay चालू", + "localRelayOff": "लोकल relay बंद", + "lookingForCitrine": "इस डिवाइस पर Citrine खोजा जा रहा है…", + "noLongerUsing": "अब ऑन-डिवाइस relay इस्तेमाल नहीं हो रहा।", + "localRelay": "लोकल Relay", + "citrineOff": "इस डिवाइस पर तेज़ reads और ऑफ़लाइन बैकअप", + "citrineSearching": "इस डिवाइस पर Citrine खोजा जा रहा है…", + "citrineLive": "कनेक्टेड — लोकल रूप से पढ़ रहे हैं और बैकअप ले रहे हैं", + "citrineWaiting": "चालू — कनेक्ट होने के लिए Citrine शुरू करें", + "toggleCitrine": "लोकल Citrine relay टॉगल करें", + "citrineDetected": "Citrine relay मिला", + "citrineLooking": "Citrine खोजा जा रहा है…", + "citrineNotDetected": "Citrine नहीं मिला", + "recheckCitrine": "Citrine relay फिर से जाँचें", + "checking": "जाँचा जा रहा है", + "recheck": "फिर जाँचें", + "chipInstantReads": "तुरंत reads", + "chipWorksOffline": "ऑफ़लाइन काम करता है", + "chipOnDeviceBackup": "ऑन-डिवाइस बैकअप", + "cantReachStrong": "Citrine तक नहीं पहुँच सके।", + "cantReachBefore": "सुनिश्चित करें कि मुफ़्त Citrine ऐप इंस्टॉल है और उसका relay", + "started": "शुरू है", + "cantReachAfter": ", फिर Recheck पर टैप करें। यह आपके फ़ोन पर तुरंत reads और ऑफ़लाइन बैकअप के लिए निजी Nostr relay चलाता है।", + "citrineStep1Before": "Citrine खोलें → टैप करें", + "start": "शुरू करें", + "citrineStep2Before": "यहाँ वापस आएँ → टैप करें", + "getCitrine": "Citrine पाएँ", + "citrinePrivacy": "आपका Stash और संदेश यहाँ एंड-टू-एंड एन्क्रिप्टेड रहते हैं, बिल्कुल हर जगह की तरह। लोकल relay केवल चीज़ें तेज़ करता है और आपके डिवाइस पर एक प्रति रखता है — यह एन्क्रिप्शन की जगह कभी नहीं लेता।", + "communityRelayDisabled": "Community relay बंद", + "communityRelayEnabled": "Community relay चालू", + "usingOnlyPersonal": "केवल आपके कॉन्फ़िगर किए relays इस्तेमाल हो रहे हैं।", + "skateRelayIncluded": "SkateSpots relay शामिल है।", + "relays": "Relays", + "relayPrivacyBefore": "Relays आपका", + "ipAddress": "IP पता", + "relayPrivacyAfter": "देख सकते हैं जब आप कनेक्ट होते हैं। Tor इसे छिपाता है — और \"मुफ़्त\" VPN को चेतावनी संकेत मानें; वे आमतौर पर आपके ट्रैफ़िक से कमाई करते हैं।", + "communityRelay": "Community Relay", + "syncingGlobal": "ग्लोबल स्केट समुदाय के साथ सिंक हो रहा है", + "usingOnlyPersonalShort": "केवल व्यक्तिगत relays इस्तेमाल हो रहे हैं", + "appearance": "रूप-रंग", + "language": "भाषा", + "darkModeOnly": "केवल डार्क मोड", + "darkModeDesc": "SkateSpots स्केट संस्कृति से प्रेरित डार्क नियॉन सौंदर्य रखता है। काला बैकग्राउंड, नियॉन गुलाबी, लाइम हरा और नारंगी।", + "navigation": "नेविगेशन", + "sasquatchExpanded": "Sasquatch का विस्तार हो गया! 🦧 उसे देखने के लिए पेज रीफ़्रेश करें।", + "advanced": "उन्नत", + "sasquatchGuide": "🦧 Sasquatch गाइड", + "sasquatchResetDesc": "ऑनबोर्डिंग गाइड को विस्तारित दृश्य में रीसेट करें", + "expandSasquatch": "Sasquatch का विस्तार करें", + "wallet": "वॉलेट", + "loginToWallet": "अपना वॉलेट प्रबंधित करने के लिए लॉग इन करें", + "openWallet": "वॉलेट खोलें", + "balanceSendReceive": "बैलेंस, भेजें, प्राप्त करें", + "connectNwc": "NWC वॉलेट कनेक्ट करें", + "account": "अकाउंट", + "security": "सुरक्षा", + "securitySub": "Keys, साइनिंग, Amber", + "nip05Sub": "सत्यापित Nostr पता पाएँ", + "app": "ऐप", + "myStash": "मेरा Stash", + "myStashSub": "निजी गियर सूची", + "relaysSub": "Nostr relay कनेक्शन", + "appearanceSub": "भाषा और थीम", + "assistant": "सहायक", + "showSasquatch": "Sasquatch सहायक दिखाएँ", + "showSasquatchDesc": "मैप और अन्य स्क्रीन पर तैरता Sasquatch बटन दिखाएँ।", + "showMapFooter": "मैप लिंक बार दिखाएँ", + "showMapFooterDesc": "मैप के नीचे पतली लिंक पट्टी दिखाएँ।", + "notifications": "सूचनाएँ", + "notificationsSub": "DM, crews और zaps के लिए अलर्ट", + "coordinator": "कोऑर्डिनेटर", + "coordinatorSub": "आपका Cordn ग्रुप सर्वर", + "data": "डेटा", + "myData": "मेरा डेटा", + "myDataSub": "निर्यात, आयात, प्रबंधन", + "advancedSub": "Relatr, Sasquatch, उपकरण", + "trust": "भरोसा", + "trustSub": "स्रोत और प्रदर्शन", + "notLoaded": "लोड नहीं हुआ", + "notLoggedIn": "लॉग इन नहीं हैं" + }, + "onboarding": { + "seoTitle": "शुरू करें — SkateSpots", + "seoDescription": "विकेंद्रीकृत स्केटबोर्डिंग समुदाय से जुड़ें। Spots खोजें, कोच से जुड़ें, zaps भेजें। हमेशा के लिए मुफ़्त।", + "homeSetTitle": "घर सेट हो गया 🛹", + "homeSetDesc": "अब मैप आपके क्षेत्र पर खुलेगा।", + "locationFailedTitle": "आपकी लोकेशन नहीं मिल सकी", + "locationFailedDesc": "लोकेशन अनुमतियाँ जाँचें, या मैप से अपना क्षेत्र चुनें।", + "niceTitle": "🎉 बढ़िया!", + "niceDesc": "अब आप समझ गए कि Nostr कैसे काम करता है। चलो स्केट करने चलें!", + "npubCopied": "npub क्लिपबोर्ड पर कॉपी हो गया।", + "saveLoginNow": "अपना लॉगिन सहेजें — यह अभी करें", + "saveLoginNowDesc": "आपका रिकवरी कोड ही आपके अकाउंट में वापस आने का एकमात्र तरीका है। न ईमेल, न पासवर्ड रीसेट।", + "betaBadge": "बीटा — दुनिया भर के स्केटर्स के लिए खुला", + "headline1": "स्केट", + "headline2": "अपनी दुनिया", + "heroBefore": "एक", + "decentralized": "विकेंद्रीकृत", + "heroAfter": "स्केट समुदाय। इसका मालिक कोई कंपनी नहीं। कोई एल्गोरिदम आपके spots नहीं दबाता। कोई बैन हथौड़ा नहीं। सिर्फ़ स्केटर्स।", + "pillMap": "Spot मैप", + "pillCoaches": "कोच और फ़िल्मर", + "pillEvents": "इवेंट", + "pillGear": "गियर खरीदें/बेचें", + "pillZaps": "Bitcoin zaps", + "pillStash": "गियर Stash", + "pillCrews": "Crews", + "createFreeAccount": "अपना मुफ़्त अकाउंट बनाएँ", + "noEmailNoPassword": "न ईमेल। न पासवर्ड। अपनी पहचान हमेशा के लिए अपनी रखें।", + "findSpots": "अपने पास के Spots खोजें", + "addFirstSpot": "अपना पहला Spot जोड़ें", + "accountCreated": "आप अंदर हैं! अकाउंट बन गया ✓", + "identityYours": "आपकी पहचान आपकी है — आपकी key में संग्रहीत, हमारे सर्वर पर नहीं।", + "whereSkate": "आप कहाँ स्केट करते हैं?", + "whereSkateDesc": "अपना होम क्षेत्र एक बार सेट करें और मैप हर बार आपके spots पर खुलेगा। आपका GPS कभी आपका डिवाइस नहीं छोड़ता।", + "useMyLocation": "मेरी लोकेशन इस्तेमाल करें", + "pickOnMap": "मैप पर चुनें", + "loginSaved": "लॉगिन सहेजा गया — आपका अकाउंट सुरक्षित रूप से रिकवर हो सकता है।", + "whyBother": "क्यों भला?", + "why1Title": "हर spot, एक मैप", + "why1Body": "लेज, रेल, DIY, पार्क — उन स्केटर्स द्वारा मैप किए गए जो वाकई वहाँ राइड करते हैं। निकलने से पहले स्थिति देखें ताकि बस्ट पर सेशन बर्बाद न हो।", + "why2Title": "स्केटर्स ने बनाया, सूट-बूट ने नहीं", + "why2Body": "कोई विज्ञापन नहीं, कोई एल्गोरिदम आपके सामने कचरा नहीं धकेलता, कोई डेटा चोरी नहीं। ओपन सोर्स। मैप समुदाय का है — आपका भी।", + "why3Title": "राइड के लिए भुगतान पाएँ", + "why3Body": "कोई बढ़िया spot मैप करें, धमाकेदार क्लिप फ़िल्माएँ, सेशन चलाएँ — और असली Bitcoin सीधे अपने वॉलेट में zap के रूप में पाएँ। कोई प्लेटफ़ॉर्म कटौती नहीं, कोई बिचौलिया नहीं।", + "why4Title": "आपका अकाउंट सचमुच आपका है", + "why4Body": "एक key आपको हर Nostr ऐप में लॉग इन कराती है। कोई कंपनी आपको बाहर नहीं कर सकती या मनमौजी से आपका अकाउंट नहीं हटा सकती। अपनी पहचान कहीं भी ले जाएँ।", + "everythingFree": "आप जो कुछ भी कर सकते हैं — मुफ़्त", + "featSpots": "Spots खोजें", + "featSpotsDesc": "दुनिया भर में हज़ारों spots वाला इंटरैक्टिव मैप", + "featLab": "The Lab", + "featLabDesc": "अपने पास कोच, फ़िल्मर और वीडियो एडिटर खोजें", + "featEvents": "इवेंट", + "featEventsDesc": "प्रतियोगिताएँ, सेशन, मीटअप", + "featGear": "गियर खरीदें / बेचें", + "featGearDesc": "पुराने स्केट गियर के लिए पीयर-टू-पीयर मार्केटप्लेस", + "featStash": "मेरा Stash", + "featStashDesc": "आपके पास जो कुछ है उसकी निजी एन्क्रिप्टेड सूची", + "featCrews": "Crews", + "featCrewsDesc": "अपनी crew के साथ राइड करें — साझा spots, चैट और सेशन", + "whatIsNostr": "Nostr क्या है?", + "whatIsNostrSub": "वह प्रोटोकॉल जो SkateSpots को चलाता है", + "nostrBefore": "Nostr एक खुला प्रोटोकॉल है — ईमेल जैसा, लेकिन सोशल ऐप के लिए। आपका अकाउंट एक", + "cryptoKeyPair": "क्रिप्टोग्राफ़िक key पेयर", + "nostrAfter": "है जो आपका है। कोई एक कंपनी आपके अकाउंट या डेटा को नियंत्रित नहीं करती — आप चुनते हैं कौन से relays उसे संग्रहीत करें, और आप अपना खुद का भी चला सकते हैं। आपकी पहचान हर Nostr ऐप में काम करती है।", + "nostrPoint1": "आपका डेटा और keys आपके हैं", + "nostrPoint2": "कोई कंपनी आप पर प्रतिबंध नहीं लगा सकती", + "nostrPoint3": "पहचान हर जगह काम करती है", + "nostrPoint4": "सीधे Bitcoin tips", + "deepDive": "गहराई में: Nostr कैसे काम करता है", + "privacyTip": "गोपनीयता सुझाव: आपका GPS कभी आपका डिवाइस नहीं छोड़ता। जिन सर्वरों से आप जुड़ते हैं (जैसे map tiles) वे फिर भी आपका IP देख सकते हैं — अगर वह भी छिपाना चाहें, तो VPN या Tor काम करता है। पूरी तरह वैकल्पिक।", + "readPrivacy": "हमारा गोपनीयता पेज पढ़ें", + "zapsWallet": "⚡ Zaps और वॉलेट", + "optional": "वैकल्पिक", + "walletDesc": "Zaps वे Bitcoin tips हैं जो आप सीधे उस स्केटर को भेजते हैं जिसने शानदार spot जोड़ा, धमाकेदार क्लिप फ़िल्माया, या बढ़िया सेशन चलाया। कोई प्लेटफ़ॉर्म शुल्क नहीं। कोई बिचौलिया नहीं। 100% उन्हीं को जाता है।", + "builtInWallet": "अंतर्निहित Cashu वॉलेट", + "builtInWalletDesc": "ऐप में ही Lightning भुगतान प्राप्त करें। कोई सेटअप नहीं।", + "balance": "बैलेंस", + "connectExternal": "बाहरी वॉलेट कनेक्ट करें", + "connectExternalDesc": "Alby, Mutiny, या कोई और वॉलेट है? इसे NWC से कनेक्ट करें।", + "connectViaNwc": "NWC से कनेक्ट करें", + "loginToConnect": "अपना वॉलेट कनेक्ट करने के लिए लॉग इन करें।", + "fiveDollars": "💡 $5 का Bitcoin = समुदाय में बाँटने के लिए सैकड़ों zaps", + "commonQuestions": "आम सवाल", + "faq1Q": "क्या SkateSpots मुफ़्त है?", + "faq1A": "100% मुफ़्त। Spots ब्राउज़ करें, लोकेशन जोड़ें, कोच खोजें, इवेंट बनाएँ, सेशन में शामिल हों — सब मुफ़्त, हमेशा। अगर आप क्रिएटर्स को tip देना चाहें तो Bitcoin (zaps) वैकल्पिक है।", + "faq2Q": "Nostr क्या है और SkateSpots इसे क्यों इस्तेमाल करता है?", + "faq2Before": "Nostr विकेंद्रीकृत ऐप के लिए एक खुला प्रोटोकॉल है — इसे इंटरनेट की तरह समझें, जिसका मालिक कोई कंपनी नहीं। आपका SkateSpots अकाउंट एक क्रिप्टोग्राफ़िक key पेयर है जो", + "faq2Strong": "आपका है", + "faq2After": "। कोई एक कंपनी आपका अकाउंट प्रतिबंधित नहीं कर सकती या आपका डेटा बंधक नहीं रख सकती — आप चुनते हैं कौन से relays आपका डेटा संग्रहीत करें, और आप अपना खुद का भी चला सकते हैं। आपकी पहचान Primal, Damus, या Amethyst जैसे अन्य Nostr ऐप पर भी काम करती है।", + "faq3Q": "nsec क्या है और यह क्यों ज़रूरी है?", + "faq3Before": "आपका", + "faq3Mid": "आपकी निजी key है — यही एकमात्र सबूत है कि अकाउंट आपका है। पासवर्ड की तरह, यहाँ", + "faq3Strong": "\"पासवर्ड भूल गए\"", + "faq3After": "नहीं है। अगर आप अपना nsec खो देंगे, तो आपका अकाउंट हमेशा के लिए चला जाएगा। अकाउंट बनाते समय तुरंत अपना बैकअप डाउनलोड करें और सुरक्षित जगह रखें (password manager, ऑफ़लाइन लिखकर)।", + "faq4Q": "कौन से साइनर / ऐप SkateSpots के साथ काम करते हैं?", + "faq4Desktop": "डेस्कटॉप पर:", + "faq4Extensions": "ब्राउज़र एक्सटेंशन।", + "faq4Android": "Android पर:", + "faq4AndroidAfter": "(नेटिव ऐप के साथ सबसे अच्छा अनुभव)।", + "faq4Ios": "iOS पर:", + "faq4IosAfter": "या अपना nsec सीधे पेस्ट करें (कम सुरक्षित)।", + "faq4Note": "आप अपना nsec सीधे पेस्ट करके भी लॉग इन कर सकते हैं — लेकिन साइनर एक्सटेंशन इस्तेमाल करना अधिक सुरक्षित है।", + "faq5Q": "क्या मैं SkateSpots अपने फ़ोन पर इस्तेमाल कर सकता हूँ?", + "faq5Before": "हाँ! SkateSpots एक PWA (Progressive Web App) है। अपने फ़ोन के ब्राउज़र में", + "faq5Mid": "पर जाएँ और टैप करें", + "faq5Em": "\"Add to Home Screen\"", + "faq5After": "पूरे ऐप अनुभव के लिए। या इसे यहाँ से डाउनलोड करें:", + "faq5End": "— एक विकेंद्रीकृत ऐप स्टोर।", + "faq6Q": "zap क्या है?", + "faq6A": "Zap एक तुरंत Bitcoin tip है जो Lightning Network पर भेजा जाता है। जब आप किसी स्केटर को zap करते हैं, तो sats सेकंडों में उनके वॉलेट में पहुँच जाते हैं — न PayPal, न Venmo, कोई कटौती नहीं। जिसने वह 4-स्टेयर क्लिप फ़िल्माया, उसे फ़ैन्स से सीधे भुगतान मिलता है।", + "faq7Q": "अगर SkateSpots बंद हो जाए तो क्या मेरे spots हट जाएँगे?", + "faq7A": "नहीं। आपके spots Nostr relays पर प्रकाशित होते हैं — वितरित सर्वर जिन्हें कोई भी चला सकता है। भले ही SkateSpots उत्पाद कल गायब हो जाए, आपका डेटा relays पर रहेगा और कोई भी Nostr क्लाइंट उसे दिखा सकता है।", + "faq8Q": "क्या मैं निजी संपत्ति पर स्थित spot जोड़ सकता हूँ?", + "faq8A": "जोड़ सकते हैं, लेकिन सामान्य समझदारी रखें। निजी संपत्ति के spots को वैसा ही चिह्नित करना चाहिए ताकि स्केटर्स स्थिति जानें। SkateSpots अवैध प्रवेश के लिए ज़िम्मेदार नहीं है — मालिकों और स्थानीय लोगों का हमेशा सम्मान करें।", + "faq9Q": "मैं बग कैसे रिपोर्ट करूँ या फ़ीडबैक कैसे दूँ?", + "faq9Before": "Nostr पर सीधे SkateSpots टीम को DM करें, या हमारे बीटा कोऑर्डिनेटर से संपर्क करें:", + "faq9Link": "बीटा फ़ीडबैक → cordn.net", + "readyToShred": "श्रेड के लिए तैयार?", + "stopScrolling": "स्क्रॉल करना बंद करें। ऐप लें। spot खोजें। स्केट करें।", + "exploreSpots": "Spots देखें", + "betaFeedbackTitle": "बीटा — हमें आपका फ़ीडबैक चाहिए", + "betaFeedbackDesc": "SkateSpots सक्रिय विकास में है। कुछ खुरदुरे किनारे मिल सकते हैं — यह हमारी ग़लती है, आपकी नहीं। बग रिपोर्ट करें, सुविधाएँ सुझाएँ, बताएँ क्या खराब है।", + "betaCoordinator": "बीटा कोऑर्डिनेटर", + "betaCoordinatorDesc": "cordn.net → हमें संदेश भेजें", + "dmOnNostr": "Nostr पर DM करें", + "fixSameDay": "बग मिला? हम उसी दिन ठीक करते हैं। आपकी रिपोर्ट हर स्केटर के लिए ऐप बेहतर बनाती हैं।", + "relaySetup": "Relay सेटअप" + }, + "relayEdu": { + "understandingNostr": "Nostr को समझना", + "stepOf": "चरण {{current}} / {{total}}", + "step1Title": "Relays को समझना", + "step1Desc": "relays को उन स्केट शॉप्स की तरह समझें जो spots की खबरें साझा करती हैं", + "you": "आप", + "relays": "Relays", + "skaters": "स्केटर्स", + "s1Good1": "कोई कंपनी आपके अकाउंट की मालिक नहीं", + "s1Good1Desc": "आपकी पहचान कई relay सर्वरों पर रहती है", + "s1Good2": "आपका डेटा कहाँ रहेगा यह आप तय करते हैं", + "s1Good2Desc": "आपकी पोस्ट उन relays पर सिंक होती हैं जो आप चुनते हैं — अपने चुनें, या खुद एक चलाएँ", + "s1Warn": "Relay ऑपरेटर सार्वजनिक पोस्ट देख सकते हैं", + "s1WarnDesc": "इसे नोटिस बोर्ड पर पोस्ट करने जैसा समझें", + "step2Title": "सार्वजनिक बनाम निजी", + "step2Desc": "जानें क्या दिखता है और क्या एन्क्रिप्टेड है", + "publicTitle": "सार्वजनिक (कोई भी देख सकता है)", + "pub1": "मैप पर आपके जोड़े spots", + "pub2": "समीक्षाएँ और टिप्पणियाँ", + "pub3": "आपकी प्रोफ़ाइल जानकारी (नाम, तस्वीर)", + "pub4": "आप किसे फ़ॉलो करते हैं", + "privateTitle": "निजी (एन्क्रिप्टेड)", + "priv1": "सीधे संदेश", + "priv2": "वॉलेट संचार", + "noteStrong": "ध्यान दें:", + "note": "पोस्ट relays पर स्थायी रूप से संग्रहीत हो सकती हैं। पोस्ट करने से पहले सोचें - असली ज़िंदगी की तरह!", + "step3Title": "आपकी keys = आपका अकाउंट", + "step3Desc": "यह समझने वाली सबसे ज़रूरी बात है", + "secretKeyTitle": "आपकी Secret Key (nsec)", + "secretKeyDesc": "इसे अपने स्केटबोर्ड की तरह समझें - इसे कभी किसी को न दें। यह साबित करती है कि अकाउंट आपका है।", + "s3Bad1": "खोने पर, आपका अकाउंट रिकवर नहीं हो सकता", + "s3Bad2": "कोई \"पासवर्ड भूल गए\" नहीं - इसे कोई रीसेट नहीं कर सकता", + "s3Good": "इसका बैकअप लें और सुरक्षित रखें", + "publicKeyTitle": "आपकी Public Key (npub)", + "publicKeyDesc": "यह आपके यूज़रनेम जैसी है - इसे खुलकर साझा करें ताकि दूसरे आपको ढूँढ सकें!", + "inControl": "🔐 नियंत्रण आपके पास है - कोई कंपनी आपको बाहर नहीं कर सकती!", + "skip": "छोड़ें", + "gotIt": "समझ गया!" + }, + "about": { + "seoTitle": "परिचय - SkateSpots", + "seoDescription": "SkateSpots और विकेंद्रीकृत स्केटबोर्डिंग समुदाय बनाने के हमारे मिशन के बारे में जानें।", + "npubCopied": "npub क्लिपबोर्ड पर कॉपी हो गया। DM भेजने के लिए इसे अपने पसंदीदा Nostr क्लाइंट में पेस्ट करें।", + "bugReport": "🐛 बग रिपोर्ट", + "bugWhatHappened": "क्या हुआ:", + "bugExpected": "मुझे क्या उम्मीद थी:", + "bugSteps": "दोहराने के चरण:", + "aboutWord": "परिचय", + "heroBefore": "दुनिया भर के स्थानीय स्केट दृश्यों से जुड़ें।", + "skaterOwned": "स्केटर-स्वामित्व वाला डेटा", + "heroAfter": ", समुदाय द्वारा संचालित relays।", + "viewStats": "Community Stats देखें", + "missionTitle": "हमारा मिशन", + "mission1": "SkateSpots स्केटबोर्डर्स को spots खोजने, The Lab में प्रो से जुड़ने और सेशन आयोजित करने में मदद करता है - बिना किसी कॉर्पोरेट नियंत्रण के। असली स्केटिंग ऑफ़लाइन होती है, यह टूल बस आपको उससे जोड़ता है।", + "mission2": "स्केटबोर्डिंग का ज्ञान समुदाय के पास होना चाहिए, कॉर्पोरेट ऐप में बंद नहीं। इसलिए SkateSpots Nostr पर चलता है - relay-आधारित प्रणाली जहाँ स्केटर्स अपना डेटा नियंत्रित करते हैं, चुनते हैं कौन से relays उसे संग्रहीत करें, और अपना खुद का चला सकते हैं। मैप का मालिक कोई एक कंपनी नहीं।", + "whyNostr": "Nostr क्यों?", + "why1Title": "समुदाय-नियंत्रित", + "why1Desc": "आपके spots समुदाय के relays पर रहते हैं। सर्वर स्केटर्स चलाते हैं, कॉर्पोरेशन नहीं।", + "why2Title": "आपका डेटा आपका", + "why2Desc": "आपकी Nostr पहचान आपकी है। इसे किसी भी Nostr ऐप में ले जाएँ - कोई लॉक-इन नहीं।", + "why3Title": "Bitcoin एकीकरण", + "why3Desc": "क्रिएटर्स को सीधे Bitcoin से zap करें। कोई प्लेटफ़ॉर्म 30% नहीं लेता।", + "why4Title": "ओपन सोर्स", + "why4Desc": "खुले में बनाया गया। कोई भी योगदान दे सकता है या कोड फ़ोर्क कर सकता है।", + "getInvolved": "शामिल हों", + "getInvolvedDesc": "SkateSpots ओपन सोर्स और समुदाय-संचालित है। कोड योगदान दें, spots साझा करें, या दूसरों को शुरू करने में मदद करें।", + "betaTitle": "बीटा परीक्षण", + "betaDesc": "प्रिय उपयोगकर्ता! SkateSpots का बीटा परीक्षण करने के लिए धन्यवाद। ध्यान दें कि ऐप अभी बीटा में है, और बग या सुरक्षा समस्याएँ हो सकती हैं। अगर आपको कोई समस्या आए या बग/समस्या रिपोर्ट करनी हो, तो संपर्क करें!", + "giveFeedback": "हमें फ़ीडबैक दें:", + "copyNpub": "npub कॉपी करें", + "reportBug": "बग रिपोर्ट करें", + "viewProfile": "प्रोफ़ाइल देखें", + "downloadApp": "ऐप डाउनलोड करें", + "downloadAppDesc": "Zapstore से Android पर SkateSpots इंस्टॉल करें — ओपन-सोर्स, Bitcoin-नेटिव ऐप स्टोर।", + "getOnZapstore": "Zapstore पर पाएँ", + "credits": "क्रेडिट", + "creditPoweredBy": "संचालित", + "creditNostr": "विकेंद्रीकृत प्रोटोकॉल", + "creditCrewChat": "Crew चैट द्वारा", + "creditCordn": "एंड-टू-एंड एन्क्रिप्टेड ग्रुप चैट", + "creditEcash": "Ecash द्वारा", + "creditCashu": "Lightning के लिए Chaumian ecash", + "creditWalletConnect": "वॉलेट कनेक्ट द्वारा", + "creditNwc": "Nostr Wallet Connect (NIP-47)", + "creditSigning": "Android पर साइनिंग", + "creditAmber": "Android के लिए Nostr साइनर", + "creditMapData": "Bitcoin मैप डेटा", + "creditBtcmap": "Bitcoin स्वीकार करने वाली जगहें", + "creditCrowdfunding": "क्राउडफंडिंग", + "creditAngor": "विकेंद्रीकृत Bitcoin क्राउडफंडिंग", + "creditDistributed": "वितरित", + "creditZapstore": "ओपन-सोर्स ऐप स्टोर", + "creditTrust": "Trust और crew चैट द्वारा", + "creditContextvm": "Relatr trust स्कोर और एन्क्रिप्टेड crew-चैट समन्वय", + "stillQuestions": "अब भी सवाल हैं?", + "stillQuestionsDesc": "Sasquatch हमारा AI गाइड है — लाइव SkateSpots डेटा से संचालित। उससे spots, इवेंट, कोच, गियर, या कुछ भी कैसे काम करता है पूछें।", + "askSasquatch": "Sasquatch से पूछें", + "poweredBy": "संचालित", + "decentralized": "विकेंद्रीकृत", + "communityOwned": "समुदाय के स्वामित्व वाला" + }, + "faq": { + "seoTitle": "सामान्य प्रश्न - SkateSpots", + "seoDescription": "SkateSpots के बारे में Sasquatch से कुछ भी पूछें।", + "greeting": "अरे! मैं Sasquatch हूँ 🦧 — SkateSpots के बारे में कुछ भी पूछें। Spots, इवेंट, गियर, वॉलेट, गोपनीयता, Nostr — मैं हूँ ना। आप क्या जानना चाहते हैं?", + "gotQuestions": "सवाल हैं?", + "heroDesc": "Sasquatch से पूछें — उसे SkateSpots, Nostr, Bitcoin और स्केटबोर्डिंग के बारे में सब पता है।", + "askTitle": "Sasquatch से पूछें", + "askDesc": "Sasquatch आपकी स्क्रीन के निचले-बाएँ कोने में खुला है — उस पर क्लिक करें और अपना सवाल लिखें। उसके पास spots, इवेंट, कोच और मौसम तक लाइव पहुँच है।", + "askQuestion": "SkateSpots पर आप मेरी किस चीज़ में मदद कर सकते हैं?", + "openSasquatch": "Sasquatch खोलें", + "commonQuestions": "आम सवाल — पूछने के लिए टैप करें", + "quickAnswers": "त्वरित जवाब", + "footerHint": "Sasquatch आपके सवालों का जवाब देने के लिए SkateSpots relay के लाइव Nostr डेटा + AI का उपयोग करता है। 🛹", + "chip1Label": "SkateSpots क्या है?", + "chip1Q": "SkateSpots क्या है और यह कैसे काम करता है?", + "chip2Label": "spot कैसे जोड़ूँ?", + "chip2Q": "मैप पर स्केट spot कैसे जोड़ूँ?", + "chip3Label": "zaps क्या हैं?", + "chip3Q": "zaps क्या हैं?", + "chip4Label": "क्या यह मुफ़्त है?", + "chip4Q": "क्या SkateSpots इस्तेमाल करना मुफ़्त है?", + "chip5Label": "My Stash क्या है?", + "chip5Q": "My Stash क्या है?", + "chip6Label": "लॉग इन कैसे करूँ?", + "chip6Q": "मैं लॉग इन या अकाउंट कैसे बनाऊँ?", + "chip7Label": "Nostr क्या है?", + "chip7Q": "Nostr क्या है?", + "chip8Label": "गोपनीयता और डेटा", + "chip8Q": "SkateSpots पर कौन सा डेटा सार्वजनिक है और कौन सा निजी?", + "chip9Label": "गियर कैसे बेचूँ?", + "chip9Q": "SkateSpots पर गियर कैसे बेचूँ?", + "chip10Label": "The Lab क्या है?", + "chip10Q": "The Lab क्या है?", + "fact1Label": "दुनिया भर में स्केट spots", + "fact1Value": "खोजें और जोड़ें", + "fact2Label": "Bitcoin Lightning zaps", + "fact2Value": "100% मुफ़्त", + "fact3Label": "Nostr पर विकेंद्रीकृत", + "fact3Value": "डेटा आपका", + "fact4Label": "निजी गियर सूची", + "fact4Value": "एन्क्रिप्टेड Stash", + "s1Q": "SkateSpots क्या है?", + "s1A": "Nostr पर बना स्केटबोर्डिंग के लिए विकेंद्रीकृत मैप और समुदाय। Spots खोजें, कोच और फ़िल्मर ढूँढें, crews में शामिल हों, इवेंट सूचीबद्ध करें, और गियर खरीदें/बेचें — बीच में कोई कंपनी नहीं।", + "s2Q": "spot कैसे जोड़ूँ?", + "s2A": "मैप पर टैप करें, या + / \"Add Spot\" बटन इस्तेमाल करें, फिर pin डालें और विवरण भरें। आपको मुफ़्त Nostr अकाउंट चाहिए (Log In → Create Account टैप करें — ईमेल की ज़रूरत नहीं)।", + "s3Q": "zaps क्या हैं?", + "s3A": "Zaps Bitcoin Lightning tips हैं। आप उन spots, इवेंट, crews और लोगों को zap कर सकते हैं जिन्हें आप पसंद करते हैं। ये Lightning पर सीधे प्राप्तकर्ता तक जाते हैं — SkateSpots आपके फंड कभी नहीं रखता।", + "s4Q": "क्या यह मुफ़्त है?", + "s4A": "हाँ। अकाउंट बनाना, spots जोड़ना और ब्राउज़ करना मुफ़्त है। वैकल्पिक सशुल्क अतिरिक्त (जैसे फ़ीचर्ड listings) और tips (zaps) सीधे लोगों के बीच चुकाए जाते हैं।", + "s5Q": "कौन सा डेटा सार्वजनिक है?", + "s5A": "आप जो भी प्रकाशित करते हैं — spots, इवेंट, आपकी प्रोफ़ाइल — वह Nostr relays पर सार्वजनिक है। आपके निजी संदेश और आपका Stash एंड-टू-एंड एन्क्रिप्टेड हैं। विवरण के लिए गोपनीयता पेज देखें।", + "s6Q": "The Lab क्या है?", + "s6A": "The Lab वह जगह है जहाँ आप काम पर रखने या सीखने के लिए लोग ढूँढते हैं: कोच, ट्रेनर, फ़िल्मर, वीडियो एडिटर, फ़ोटोग्राफ़र, बिल्डर, कलाकार और बहुत कुछ।" + }, + "privacy": { + "seoTitle": "गोपनीयता — SkateSpots", + "seoDescription": "SkateSpots आपका डेटा कैसे संभालता है: आपका GPS आपके डिवाइस पर रहता है, आपके प्रकाशित spots सार्वजनिक हैं, और अगर चाहें तो VPN या Tor से अपना IP कैसे छिपाएँ।", + "heroBefore": "आपकी", + "heroHighlight": "गोपनीयता", + "heroDesc": "कोई ट्रैकिंग नहीं, कोई विज्ञापन नहीं, डेटा बिक्री नहीं। यहाँ ठीक-ठीक बताया गया है कि क्या आपके डिवाइस पर रहता है, क्या सार्वजनिक है, और अगर आप चाहें तो चीज़ें और कैसे लॉक करें।", + "locationTitle": "आपकी लोकेशन आपके डिवाइस पर रहती है", + "locationBefore": "जब आप", + "nearMe": "\"Near Me\"", + "locationAfter": "पर टैप करते हैं, आपकी GPS लोकेशन आपके डिवाइस पर पढ़ी जाती है और केवल मैप को केंद्रित करने और पास के spots क्रमबद्ध करने के लिए इस्तेमाल होती है।", + "locationGood1": "यह कभी Nostr पर प्रकाशित नहीं होती।", + "locationGood2": "यह कभी SkateSpots को नहीं भेजी जाती — इसे इकट्ठा करने वाला कोई SkateSpots सर्वर नहीं है।", + "locationGood3": "यह कभी किसी तीसरे पक्ष के साथ साझा नहीं होती।", + "locationGood4": "नेटिव ऐप पर हम सीधे आपके फ़ोन की अपनी लोकेशन प्रणाली इस्तेमाल करते हैं और Google Play Services छोड़ देते हैं — इसलिए यह de-Googled फ़ोन (GrapheneOS, /e/OS) पर काम करता है और Google इसे कभी नहीं देखता।", + "weatherBefore": "मौसम डिफ़ॉल्ट रूप से बंद है। इसे चालू करने पर, यह", + "weatherEm": "spot की", + "weatherAfter": "सार्वजनिक लोकेशन के लिए स्थितियाँ देखता है — आपकी नहीं।", + "publicTitle": "डिज़ाइन से क्या सार्वजनिक है", + "publicDesc": "SkateSpots एक साझा मैप है, इसलिए कुछ चीज़ें सबको दिखने के लिए हैं। जब आप उन्हें प्रकाशित करना चुनते हैं, तो ये Nostr नेटवर्क पर सार्वजनिक होती हैं:", + "public1Strong": "आपके जोड़े spots", + "public1": "— उनके निर्देशांकों सहित। अगर आप अपनी ठीक लोकेशन पर spot जोड़ते हैं, तो वह लोकेशन सार्वजनिक हो जाती है। अपनी ही ड्राइववे पर pin डालने से पहले सोचें।", + "public2Strong": "समीक्षाएँ, टिप्पणियाँ, और आपकी सार्वजनिक प्रोफ़ाइल", + "public2": "(नाम, तस्वीर)।", + "public3": "आप किसे फ़ॉलो करते हैं, और सार्वजनिक प्रतिक्रियाएँ।", + "public4Strong": "Zaps", + "public4": "डिफ़ॉल्ट रूप से सार्वजनिक हैं: एक zap आपके अकाउंट को — अक्सर आपके lightning पते को — उस पोस्ट से जोड़ता है जिसे आपने भुगतान किया और स्वयं tip से। अगर आप नहीं चाहते, तो आपका वॉलेट इसे गुमनाम रूप से भेज सकता है।", + "publicNoteBefore": "VPN या Tor", + "notWord": "नहीं", + "publicNoteAfter": "छिपाता कि आप क्या प्रकाशित करते हैं — spot के निर्देशांक वैसे भी सार्वजनिक हैं। गोपनीयता उपकरण आपकी नेटवर्क पहचान (आपका IP) छिपाते हैं, न कि वे चीज़ें जो आप पोस्ट करना चुनते हैं।", + "encryptedTitle": "क्या निजी और एन्क्रिप्टेड है", + "enc1Strong": "सीधे संदेश", + "enc1Mid": "और", + "enc1Strong2": "crew चैट", + "enc1": "एंड-टू-एंड एन्क्रिप्टेड हैं (NIP-17)। केवल प्रतिभागी ही उन्हें पढ़ सकते हैं।", + "enc2Strong": "My Stash", + "enc2": "— आपकी निजी गियर सूची — आपकी अपनी key से एन्क्रिप्टेड है।", + "enc3Strong": "केवल-crew सदस्य", + "enc3": "चुन सकते हैं कि केवल अपने crew-साथियों को दिखें।", + "ipTitle": "आपका डिवाइस क्या छोड़ता है: आपका IP", + "ipBefore": "हर वेबसाइट की तरह, जिन सर्वरों से SkateSpots बात करता है वे आपका", + "ipAddress": "IP पता", + "ipAfter": "(आपके क्षेत्र का मोटा संकेत) देख सकते हैं। यह किसी भी वेब या मैप ऐप के लिए सामान्य है और केवल हमारी ख़ास बात नहीं। वे सर्वर हैं:", + "ipTileStrong": "मैप टाइल", + "ipTile": "(OpenStreetMap) — आपका IP और मैप का कौन सा हिस्सा आप देख रहे हैं, दोनों देखते हैं।", + "ipGeoStrong": "Spot/दुकान geocoding", + "ipGeo": "— जब आप spot या दुकान बनाते/संपादित करते हैं, तो उसके निर्देशांक शहर/देश टैग भरने के लिए OpenStreetMap Nominatim को जाते हैं। जब आप Community Stats खोलते हैं, तो बिना लोकेशन टैग वाले pins के निर्देशांक BigDataCloud को जाते हैं ताकि उन्हें क्षेत्र के अनुसार समूहित किया जा सके (आपके डिवाइस पर कैश — प्रति pin अधिकतम एक बार)। दोनों आपका IP देखते हैं। ये आपके रखे pin / सार्वजनिक pin निर्देशांक हैं, कभी आपके डिवाइस का लाइव GPS नहीं।", + "ipPushStrong": "बैकग्राउंड सूचनाएँ", + "ipPush": "(ऑप्ट-इन) — अगर आप उन्हें चालू करते हैं, तो एक SkateSpots push सर्वर देखता है कि आपकी key को कुछ मिला और कब (कभी नहीं कि किसने भेजा या क्या कहा — संदेश एन्क्रिप्टेड रहते हैं), और आपकी OS push सेवा (Google/Mozilla/Apple) अलर्ट पहुँचाती है।", + "ipBtcStrong": "Bitcoin जगहें", + "ipBtc": "(BTCMap, जब आप वह लेयर चालू करते हैं) — आपका IP और आप जो क्षेत्र देख रहे हैं, दोनों देखते हैं।", + "ipRelayStrong": "Nostr relays", + "ipRelay": "— जब ऐप पढ़ता या प्रकाशित करता है तो आपका IP देखते हैं।", + "ipMintStrong": "Cashu mints", + "ipMint": "— जब भी आपका वॉलेट भेजता, प्राप्त करता या melt करता है, आपका IP देखते हैं।", + "ipRouteStrong": "दिशा-निर्देश", + "ipRoute": "(OSRM, और ट्रांज़िट के लिए Transitous) — आपके किसी भी माँगे गए रूट का आरंभ और अंत प्राप्त करते हैं, केवल आपका IP नहीं। रूटिंग ऐप में ही रहती है: आपका आरंभ और गंतव्य Google या Apple Maps को कभी नहीं सौंपे जाते।", + "ipWeatherStrong": "मौसम", + "ipWeatherMid": "(Open-Meteo, ऑप्ट-इन) और", + "ipUploadStrong": "इमेज अपलोड", + "ipWeather": "(Blossom), जब आप उनका उपयोग करते हैं।", + "ipAiStrong": "Sasquatch AI", + "ipAi": "— आपका संदेश हमारे अपने सर्वर पर, फिर मॉडल प्रदाता के पास जाता है।", + "ipLink1": "चूँकि आप उसी कनेक्शन पर अपनी सार्वजनिक key (npub) भेजते हैं, एक relay आपके IP को आपसे जोड़ सकता है — सिर्फ़ \"कोई जुड़ा\" नहीं, बल्कि \"यह व्यक्ति, इस पते से\"।", + "ipShieldBefore": "एक चीज़ हम ज़रूर ढालते हैं:", + "ipMintsStrong": "mints डायरेक्टरी", + "ipShieldAfter": "हमारे सर्वर से लाई जाती है, इसलिए MintRadar कभी आपका IP नहीं देखता।", + "vpnTitle": "और गोपनीयता चाहिए? VPN या Tor (वैकल्पिक)", + "vpnDesc": "अधिकांश स्केटर्स के लिए यह ज़रूरी नहीं — लेकिन अगर आप ऊपर के सर्वरों से अपना IP और मोटा स्थान छिपाना चाहते हैं, तो आपके पास दो मुफ़्त विकल्प हैं:", + "vpnReputable": "🛡️ कोई भरोसेमंद VPN", + "vpnReputableDesc": "आपका IP VPN के सर्वरों के पीछे छिपाता है। आसान और तेज़। ऐसा इस्तेमाल करें जिसका आप भुगतान करते हैं और भरोसा करते हैं; मुफ़्त VPN आमतौर पर आपके ट्रैफ़िक से कमाई करते हैं, इसलिए \"मुफ़्त\" को चेतावनी संकेत मानें।", + "torBrowser": "🧅 Tor Browser", + "torDesc": "मुफ़्त, अधिकतम IP गोपनीयता, कई relays से होकर गुज़रता है। धीमा — मैप और कुछ Nostr relays लैग कर सकते हैं या Tor exit नोड्स ब्लॉक कर सकते हैं। अतिरिक्त सतर्क लोगों के लिए बढ़िया।", + "readThis": "इसे पढ़ें ताकि आप धोखे में न रहें", + "caveat1Before": "VPN/Tor आपका", + "ipWord": "IP", + "caveat1": "छिपाता है — न कि आपके प्रकाशित spots। आपके घर पर रखा pin सार्वजनिक है, चाहे आप VPN इस्तेमाल करें या नहीं।", + "caveat2Before": "अगर आपका लक्ष्य गुमनाम रहना है तो", + "nearMeGps": "\"Near Me\" / ब्राउज़र GPS", + "caveat2": "चालू न करें — सटीक GPS किसी भी IP छिपाने को बेअसर कर देता है।", + "caveat3": "कोई भी उपकरण आपको पूरी तरह \"गुमनाम\" नहीं बनाता। ये केवल कम करते हैं कि सर्वर आपकी नेटवर्क लोकेशन के बारे में क्या अनुमान लगा सकें — बस इतना ही।", + "keysTitle": "आपकी keys, आपका अकाउंट", + "keysBefore": "आपका अकाउंट एक क्रिप्टोग्राफ़िक key पेयर है जो आपका है। लॉग इन करने का सबसे सुरक्षित तरीका एक", + "signer": "साइनर", + "keysAfter": "(Alby, nos2x, या Android पर Amber) है ताकि आपकी secret key कभी ऐप में पेस्ट न हो।", + "keysCaveatBefore": "अगर आप अपना", + "keysCaveatAfter": "सीधे पेस्ट करते हैं, तो वह आपके ब्राउज़र में संग्रहीत होता है। जब हो सके, इसके बजाय साइनर एक्सटेंशन इस्तेमाल करें, और अपना nsec बैकअप कहीं सुरक्षित ऑफ़लाइन रखें।", + "footerBefore": "सवाल हैं? पूछें", + "sasquatchName": "Sasquatch", + "footerMid": "से ऐप में, या पढ़ें", + "gettingStarted": "शुरुआत करने की गाइड", + "about": "परिचय" + }, + "license": { + "seoTitle": "लाइसेंस - SkateSpots", + "seoDescription": "SkateSpots लाइसेंस। आप स्केटबोर्ड करने के लिए स्वतंत्र हैं।", + "tagline": "स्केट करें, कमाएँ, मज़े करें और जहाँ भी हों Sats खर्च करें।", + "copyright": "SkateSpots योगदानकर्ता और समुदाय", + "licenseLabel": "लाइसेंस", + "freeLine1": "आप स्वतंत्र हैं", + "freeLine2": "स्केटबोर्ड करने के लिए", + "body": "यह प्रोजेक्ट खुला है। इसे साझा करें, फ़ोर्क करें, इस पर बनाएँ, इसे स्केट करें। सड़कें सबकी हैं। यह कोड भी। स्केट करते रहें, मज़े करें, ट्रिक सीखें, बिल्डर्स का साथ दें और फिर स्केट करें।", + "builtBefore": "❤️ से बनाया गया", + "builtMid": "· संचालित", + "lightning": "Bitcoin Lightning ⚡", + "viewSource": "सोर्स देखें", + "aboutSkateSpots": "SkateSpots के बारे में", + "supporters": "समर्थक" + }, + "glossary": { + "seoTitle": "ट्रिक शब्दावली · SkateSpots", + "seoDescription": "संपूर्ण स्केटबोर्डिंग शब्दावली — {{count}} प्रविष्टियाँ जिनमें flips, grinds, slides, grabs, airs, lip tricks, handplants, freestyle, transition शब्द, stance और hardware, वैकल्पिक नामों के साथ।", + "heading": "ट्रिक शब्दावली", + "subheading": "{{count}} प्रविष्टियाँ · ट्रिक, transition, freestyle, stance और hardware", + "searchPlaceholder": "ट्रिक या उपनाम खोजें — tre flip, crooks, method…", + "clearSearch": "खोज साफ़ करें", + "all": "सभी", + "results": "{{count}} परिणाम{{s}}", + "noMatch": "कोई ट्रिक मेल नहीं खाती। “tre flip”, “crooks”, या “melon” जैसा उपनाम आज़माएँ।", + "tricksCount": "{{count}} ट्रिक", + "footerBefore": "कोई ट्रिक या उपनाम छूट गया? हर सीन में ट्रिक्स के अलग नाम होते हैं — संपर्क करें", + "sasquatch": "Sasquatch 🦧", + "footerAfter": "और हमें बताएँ।" + }, + "signers": { + "seoTitle": "साइनर ऐप - अपनी Nostr keys सुरक्षित करें | SkateSpots", + "seoDescription": "उन साइनर ऐप के बारे में जानें जो आपकी Nostr keys सुरक्षित रखते हैं। Android, iOS, या डेस्कटॉप ब्राउज़र के लिए सबसे अच्छा विकल्प खोजें।", + "securityGuide": "सुरक्षा गाइड", + "protect": "अपनी", + "nostrKeys": "Nostr keys सुरक्षित करें", + "heroDesc": "साइनर ऐप आपकी निजी keys को उजागर किए बिना इवेंट साइन करके सुरक्षित रखते हैं। हर ऐप में अपनी key पेस्ट करने के बजाय, साइनर उसे सुरक्षित रूप से संभालने दें।", + "whySignerStrong": "साइनर क्यों इस्तेमाल करें?", + "whySigner": "आपकी Nostr निजी key ऐसे पासवर्ड जैसी है जिसे कभी बदला नहीं जा सकता। साइनर ऐप उसे सुरक्षित रखता है और आपको कोई भी Nostr ऐप इस्तेमाल करने देता है।", + "androidTitle": "Android साइनर", + "androidDesc": "Android डिवाइस, GrapheneOS सहित, के लिए नेटिव साइनर ऐप।", + "iosTitle": "iOS साइनर", + "iosDesc": "iPhone और iPad उपयोगकर्ताओं के लिए साइनर विकल्प।", + "browserTitle": "ब्राउज़र एक्सटेंशन", + "browserDesc": "वेब ऐप पर साइन करने के लिए डेस्कटॉप ब्राउज़र एक्सटेंशन।", + "recommended": "अनुशंसित", + "yourPlatform": "आपका प्लेटफ़ॉर्म", + "get": "{{name}} पाएँ", + "protocolsTitle": "प्रोटोकॉल को समझना", + "nip07Desc": "ब्राउज़र एक्सटेंशन मानक। एक्सटेंशन वेब ऐप में साइनिंग क्षमताएँ जोड़ता है। Alby, nos2x, Flamingo और ऐसे ही एक्सटेंशन इसका उपयोग करते हैं।", + "nip46Desc": "रिमोट साइनिंग प्रोटोकॉल (\"bunker\")। आपका साइनर ऐप आपकी keys साझा किए बिना अन्य ऐप के अनुरोध स्वीकृत करता है। Nsec.app, Nostria, और Nowser इसका उपयोग करते हैं।", + "nip55Desc": "Android-विशिष्ट साइनर प्रोटोकॉल। नेटिव ऐप keys उजागर किए बिना Amber से हस्ताक्षर माँग सकते हैं। सबसे सहज Android अनुभव।", + "whichChoose": "कौन सा चुनें?", + "chooseAndroid": "Android:", + "chooseAndroidDesc": "नेटिव ऐप के लिए Amber (NIP-55)", + "chooseIos": "iOS:", + "chooseIosDesc": "सर्वोत्तम संगतता के लिए Nsec.app (NIP-46)", + "chooseDesktop": "डेस्कटॉप:", + "chooseDesktopDesc": "Alby, nos2x, या Flamingo (NIP-07)", + "amberDesc": "सुरक्षा और सरलता पर केंद्रित नेटिव Android साइनर। Android उपयोगकर्ताओं के लिए सबसे अच्छा विकल्प।", + "nsecAppDesc": "क्रॉस-प्लेटफ़ॉर्म रिमोट साइनर जो आपकी keys के लिए सुरक्षित तिजोरी का काम करता है।", + "nostriaDesc": "रिमोट साइनर ऐप जिसकी keys सुरक्षित डिवाइस स्टोरेज में रहती हैं।", + "nowserDesc": "मल्टी-ऑथ साइनर जो ब्राउज़र एक्सटेंशन और रिमोट साइनिंग दोनों प्रोटोकॉल सपोर्ट करता है।", + "nsecAppIosDesc": "iOS के लिए सबसे अच्छा विकल्प। इसे किसी भी Nostr क्लाइंट के साथ रिमोट साइनर के रूप में इस्तेमाल करें।", + "nowserTfDesc": "TestFlight के ज़रिए उपलब्ध iOS साइनर जिसमें Android जैसी साइनिंग क्षमताएँ हैं।", + "nostriaIosDesc": "आपके डिवाइस पर सुरक्षित key स्टोरेज वाला रिमोट साइनर।", + "nos2xDesc": "Nostr इवेंट साइन करने के लिए सरल और भरोसेमंद ब्राउज़र एक्सटेंशन।", + "albyDesc": "अंतर्निहित Nostr key प्रबंधन और WebLN वाला Bitcoin Lightning वॉलेट।", + "flamingoDesc": "साफ़ इंटरफ़ेस वाला Nostr-केंद्रित ब्राउज़र एक्सटेंशन।", + "kiwiDesc": "Android/GrapheneOS पर, nos2x या Alby एक्सटेंशन लोड करने के लिए Kiwi Browser इस्तेमाल करें।", + "fNativeApp": "नेटिव ऐप", + "fMultiKey": "कई keys का समर्थन", + "fEventSigning": "इवेंट साइनिंग", + "fSecureStorage": "सुरक्षित key स्टोरेज", + "fRemoteSigning": "रिमोट साइनिंग", + "fAnyClient": "किसी भी क्लाइंट के साथ काम करता है", + "fCrossDevice": "क्रॉस-डिवाइस सिंक", + "fMultiKeySupport": "मल्टी-key समर्थन", + "fNip07": "NIP-07 समर्थन", + "fNip46": "NIP-46 समर्थन", + "fFlexibleSigning": "लचीली साइनिंग", + "fNativeIos": "नेटिव iOS ऐप", + "fLightweight": "हल्का", + "fEasyToUse": "इस्तेमाल में आसान", + "fChromeSupport": "Chrome/Brave/Edge समर्थन", + "fLightningPayments": "Lightning भुगतान", + "fNostrSigning": "Nostr साइनिंग", + "fWebln": "WebLN समर्थन", + "fNwc": "NWC समर्थन", + "fCleanUi": "साफ़ UI", + "fPrivacyFocused": "गोपनीयता-केंद्रित", + "fExtensionMobile": "मोबाइल पर एक्सटेंशन समर्थन", + "fFullBrowser": "पूरा ब्राउज़र अनुभव", + "fGraphene": "GrapheneOS पर काम करता है" + }, + "betaDisclaimer": { + "title": "ध्यान दें — यह बीटा है", + "subtitle": "ड्रॉप-इन करने से पहले एक छोटी बात।", + "ossTitle": "ओपन-सोर्स और प्रयोगात्मक", + "ossBody": "समुदाय द्वारा खुले में बनाया गया। इसे छेड़ें, फ़ोर्क करें, तोड़ें।", + "betaTitle": "बीटा में — ऑडिट नहीं हुआ", + "betaBody": "कोड का अभी औपचारिक सुरक्षा ऑडिट नहीं हुआ है। बग होते हैं।", + "moneyTitle": "असली Bitcoin और Lightning संभालता है", + "moneyBody": "इस पर पैसा अपने जोखिम पर इस्तेमाल करें। केवल उतना ही डालें जो आप खोने का जोखिम ले सकें।", + "finePrint": "किसी भी प्रकार की कोई वारंटी नहीं। आपके अपने फंड और keys की ज़िम्मेदारी पूरी तरह आपकी है।", + "viewCode": "कोड देखें", + "accept": "समझ गया, मुझे अंदर ले चलो" + } + } +}; + +export default batch3; diff --git a/src/i18n/hi/batch4.ts b/src/i18n/hi/batch4.ts new file mode 100644 index 0000000..51a40d3 --- /dev/null +++ b/src/i18n/hi/batch4.ts @@ -0,0 +1,1427 @@ +const batch4 = { + "marketUi": { + "gearSwap": { + "title": "गियर स्वैप", + "subtitle": "दूसरे स्केटर्स के साथ पुराना स्केट गियर खरीदें और बेचें", + "listGear": "गियर लिस्ट करें", + "searchPlaceholder": "गियर खोजें...", + "allCategories": "सभी श्रेणियाँ", + "forSale": "बिक्री के लिए", + "wtb": "खरीदना है", + "trust": "भरोसा", + "filterByTrust": "भरोसे के अनुसार फ़िल्टर करें", + "allSellers": "सभी विक्रेता", + "verifiedOnly": "केवल सत्यापित", + "trustedPlus": "भरोसेमंद+", + "followingOnly": "केवल फ़ॉलो किए गए", + "pickupOrShip": "पिकअप या डिलीवरी", + "localPickup": "स्थानीय पिकअप", + "ships": "डिलीवरी", + "sortBy": "क्रमबद्ध करें", + "newest": "सबसे नए", + "priceLowHigh": "कीमत: कम → ज़्यादा", + "priceHighLow": "कीमत: ज़्यादा → कम", + "trustScore": "भरोसा स्कोर", + "nearest": "सबसे नज़दीकी (स्थानीय)", + "listingFound": "{{count}} लिस्टिंग मिली", + "listingsFound": "{{count}} लिस्टिंग मिलीं", + "loadFailed": "लिस्टिंग लोड नहीं हो सकीं", + "tryLater": "कृपया बाद में फिर कोशिश करें।", + "noneTitle": "कोई लिस्टिंग नहीं मिली", + "noneFiltered": "आपके मौजूदा फ़िल्टर से कोई गियर मेल नहीं खाता। फ़िल्टर हटाकर या कुछ और खोजकर देखें।", + "noneFirst": "अपना गियर सबसे पहले लिस्ट करें — डेक, ट्रक, पहिये, जूते, स्केट से जुड़ी कोई भी चीज़!", + "listYourGear": "अपना गियर लिस्ट करें", + "faqLink": "कोई सवाल है? FAQ देखें →" + }, + "hub": { + "browse": "ब्राउज़ करें", + "selling": "बेचना", + "myTrades": "मेरे सौदे", + "reputation": "प्रतिष्ठा", + "loginListings": "अपनी लिस्टिंग प्रबंधित करने के लिए लॉग इन करें।", + "loginReputation": "अपनी प्रतिष्ठा और समीक्षाएँ देखने के लिए लॉग इन करें।" + }, + "marketplace": { + "heroTitle": "दुकानें और मार्केटप्लेस", + "heroBefore": "हमारा मार्केटप्लेस संचालित होता है", + "heroAfter": "— Nostr पर एक विकेंद्रीकृत मार्केटप्लेस। स्केट दुकानें अपने उत्पाद लिस्ट कर सकती हैं, और आप सीधे Bitcoin से पुराना गियर खरीद या बेच सकते हैं।", + "whatIsTitle": "Plebeian Market क्या है?", + "whatIsBody": "Plebeian Market, Nostr पर बना एक विकेंद्रीकृत मार्केटप्लेस है। Bitcoin से दूसरे स्केटर्स के साथ सीधे स्केटबोर्डिंग गियर खरीदें और बेचें। कोई बिचौलिया नहीं, कोई शुल्क नहीं, पूरी आज़ादी।", + "noFeesTitle": "कोई शुल्क नहीं", + "noFeesBody": "कोई प्लेटफ़ॉर्म 30% नहीं लेता। सीधे पीयर-टू-पीयर बिक्री।", + "bitcoinTitle": "Bitcoin भुगतान", + "bitcoinBody": "Bitcoin से भुगतान करें। तेज़, सुरक्षित, वैश्विक।", + "decentralizedTitle": "विकेंद्रीकृत", + "decentralizedBody": "Nostr पर बना। कोई कंपनी इसे नियंत्रित नहीं करती।", + "visit": "Plebeian Market देखें", + "buySellTitle": "आप क्या खरीद और बेच सकते हैं", + "catCompletes": "पूरे डेक", + "preBuilt": "तैयार कम्प्लीट", + "customSetups": "कस्टम सेटअप", + "beginnerBoards": "शुरुआती बोर्ड", + "catParts": "डेक पार्ट्स", + "decks": "डेक", + "trucks": "ट्रक", + "wheels": "पहिये", + "bearings": "बेयरिंग", + "gripTape": "ग्रिप टेप", + "hardware": "हार्डवेयर", + "catApparel": "कपड़े और सुरक्षा", + "skateShoes": "स्केट जूते", + "clothing": "कपड़े", + "helmets": "हेलमेट", + "pads": "पैड", + "backpacks": "बैकपैक", + "catAccessories": "एक्सेसरीज़", + "tools": "औज़ार", + "wax": "वैक्स", + "rails": "रेल", + "stickers": "स्टिकर", + "videos": "वीडियो", + "magazines": "पत्रिकाएँ", + "howItWorks": "यह कैसे काम करता है", + "step1Title": "उत्पाद ब्राउज़ करें", + "step1Body": "Plebeian Market पर जाएँ और दुनिया भर की दुकानों और व्यक्तियों से स्केटबोर्डिंग गियर देखें।", + "step2Title": "विक्रेता से संपर्क करें", + "step2Body": "Nostr के ज़रिए सीधे विक्रेताओं को संदेश भेजें। कीमत पर बात करें, सवाल पूछें, डिलीवरी तय करें।", + "step3Title": "Bitcoin से भुगतान करें", + "step3Body": "तुरंत और कम शुल्क वाले भुगतान के लिए Bitcoin Lightning से अपनी खरीद पूरी करें।", + "step4Title": "फ़ीडबैक दें", + "step4Body": "अपने अनुभव को रेट करें और Nostr पर विक्रेता की प्रतिष्ठा बनाएँ। आपकी समीक्षाएँ समुदाय की मदद करती हैं।", + "needBitcoinTitle": "Bitcoin चाहिए?", + "needBitcoinBefore": "खरीदारी के लिए आपको कुछ sats वाला Lightning वॉलेट चाहिए होगा। देखें", + "onboardingGuide": "शुरुआती गाइड", + "needBitcoinAfter": "वॉलेट सुझावों के लिए।", + "ownShopTitle": "आपकी अपनी स्केट दुकान है?", + "ownShopBody": "अपनी दुकान SkateSpots पर लिस्ट करें और Plebeian Market पर अपने उत्पाद बेचें। बिना किसी प्लेटफ़ॉर्म शुल्क के दुनिया भर के ग्राहकों तक पहुँचें।", + "addShop": "अपनी दुकान जोड़ें", + "startSelling": "बेचना शुरू करें" + }, + "listingDetail": { + "notFound": "लिस्टिंग नहीं मिली", + "notFoundBody": "हो सकता है इसे हटा दिया गया हो, या लिंक ग़लत है।", + "backToGearSwap": "गियर स्वैप पर वापस जाएँ", + "gearSwap": "गियर स्वैप", + "viewPhoto": "फ़ोटो {{n}} देखें", + "photoAlt": "{{title}} — फ़ोटो {{n}}", + "wantToBuy": "खरीदना है", + "sold": "बिक गया", + "description": "विवरण", + "usuallyHere": "आमतौर पर यहाँ उपलब्ध {{availability}}", + "listed": "{{date}} को लिस्ट किया गया", + "listingCountOne": "{{count}} लिस्टिंग · {{age}} दिन पुरानी", + "listingCountMany": "{{count}} लिस्टिंग · {{age}} दिन पुरानी", + "relistActive": "फिर से सक्रिय करें", + "markSold": "बिक गया चिह्नित करें", + "deleteListing": "लिस्टिंग हटाएँ", + "makeOffer": "ऑफ़र दें", + "shareListing": "लिस्टिंग साझा करें", + "unknown": "अज्ञात", + "linkCopied": "लिंक कॉपी हुआ", + "linkCopiedBody": "इसे किसी स्केटर के साथ साझा करें।", + "copyFailed": "लिंक कॉपी नहीं हो सका", + "relisted": "फिर से लिस्ट किया गया", + "relistedBody": "आपकी लिस्टिंग फिर सक्रिय है।", + "couldNotUpdate": "अपडेट नहीं हो सका", + "somethingWrong": "कुछ गड़बड़ हो गई" + }, + "create": { + "imageUploaded": "तस्वीर अपलोड हुई", + "uploadFailed": "अपलोड विफल", + "failed": "विफल", + "cooldownActive": "कूलडाउन सक्रिय", + "cooldownWait": "अगली लिस्टिंग बनाने से पहले कृपया {{time}} तक प्रतीक्षा करें", + "limitReached": "लिस्टिंग सीमा पूरी", + "limitReachedBody": "आप मासिक सीमा {{limit}} लिस्टिंग तक पहुँच गए हैं", + "feeRequired": "शुल्क आवश्यक", + "feeRequiredBody": "जारी रखने के लिए कृपया स्पैम-रोधी शुल्क चुकाएँ", + "titleRequired": "शीर्षक आवश्यक", + "categoryRequired": "श्रेणी आवश्यक", + "photoRequired": "फ़ोटो आवश्यक", + "photoRequiredBody": "गियर बेचते समय कम से कम एक फ़ोटो आवश्यक है", + "nip05Required": "NIP-05 सत्यापन आवश्यक", + "nip05RequiredBody": "गियर लिस्ट करने के लिए आपके पास सत्यापित Nostr पता होना चाहिए", + "priceRequired": "तय कीमत वाली लिस्टिंग के लिए कीमत आवश्यक है", + "sizeRequired": "साइज़ आवश्यक", + "sizeRequiredBody": "कृपया {{category}} के लिए साइज़ चुनें", + "conditionRequired": "स्थिति आवश्यक", + "conditionRequiredBody": "कृपया अपने {{category}} की स्थिति चुनें", + "wtbPosted": "खरीदना है पोस्ट हुआ!", + "wtbPostedBody": "विक्रेता आपका अनुरोध देख सकेंगे।", + "listingCreated": "लिस्टिंग बन गई!", + "listingCreatedBody": "आपका गियर अब लिस्ट है।", + "publishFailed": "प्रकाशित नहीं हो सका", + "loginRequired": "लॉग इन आवश्यक", + "loginRequiredBody": "गियर लिस्ट करने के लिए आपको लॉग इन करना होगा।", + "backToStash": "स्टैश पर वापस जाएँ", + "backToSpot": "{{title}} पर वापस जाएँ", + "backToMarketplace": "मार्केटप्लेस पर वापस जाएँ", + "backToMap": "मैप पर वापस जाएँ", + "wantToBuy": "खरीदना है", + "listYourGear": "अपना गियर लिस्ट करें", + "wtbSubtitle": "समुदाय को बताएँ कि आप कौन-सा गियर ढूँढ रहे हैं", + "sellSubtitle": "समुदाय को स्केटबोर्डिंग गियर बेचें", + "fromStashTitle": "अपने स्टैश से लिस्टिंग", + "fromStashBody": "आपके स्टैश आइटम के विवरण पहले से भरे हैं। जाँचें और मिलने की जगह चुनें!", + "nip05Banner": "स्पैम रोकने और खरीदारों की सुरक्षा के लिए, गियर लिस्ट करने के लिए सत्यापित Nostr पता (NIP-05) ज़रूरी है।", + "verifiedLabel": "सत्यापित:", + "checkingTrust": "आपका भरोसा स्तर जाँचा जा रहा है...", + "trustLevel": "भरोसा स्तर:", + "trusted": "भरोसेमंद", + "active": "सक्रिय", + "newcomer": "नए सदस्य", + "newUser": "नया उपयोगकर्ता", + "remaining": "इस महीने {{limit}} में से {{remaining}} लिस्टिंग बाकी", + "cooldownBody": "नए उपयोगकर्ताओं के लिए लिस्टिंग के बीच 24 घंटे का कूलडाउन है।", + "timeRemaining": "बचा समय: {{time}}", + "monthlyLimitTitle": "मासिक सीमा पूरी", + "monthlyLimitBody": "आप इस महीने {{limit}} लिस्टिंग की सीमा तक पहुँच गए हैं। स्पॉट बनाकर या बिक्री पूरी करके प्रतिष्ठा बढ़ाएँ ताकि सीमा बढ़े।", + "powAccepted": "प्रूफ़ ऑफ़ वर्क स्वीकार हुआ!", + "feePaid": "शुल्क चुकाया गया!", + "canCreateNow": "अब आप अपनी लिस्टिंग बना सकते हैं।", + "whatDoTitle": "आप क्या करना चाहते हैं?", + "sellGear": "गियर बेचें", + "categoryTitle": "श्रेणी *", + "categoryHint": "किस तरह का गियर?", + "detailsTitle": "गियर का विवरण", + "detailsWtbHint": "बताएँ कि आप क्या ढूँढ रहे हैं", + "detailsSellHint": "खरीदारों को अपनी चीज़ के बारे में बताएँ", + "titleLabel": "शीर्षक *", + "titlePlaceholderWtb": "8.0\" डेक चाहिए", + "titlePlaceholderSell": "लगभग नया Palace डेक 8.25\"", + "summaryLabel": "संक्षिप्त सारांश", + "summaryPlaceholderWtb": "कोई भी ब्रांड, कम ग्राफ़िक्स पसंद", + "summaryPlaceholderSell": "बढ़िया स्थिति, बमुश्किल इस्तेमाल", + "descriptionLabel": "विवरण", + "descriptionPlaceholderWtb": "ठीक-ठीक बताएँ कि आप क्या ढूँढ रहे हैं — ब्रांड पसंद, स्थिति की शर्तें, आदि।", + "descriptionPlaceholderSell": "यह डेक क्रिसमस पर मिला था पर मुझे छोटा साइज़ पसंद है। खरीदने से पहले आज़मा सकते हैं!", + "fulfilmentLabel": "यह कैसे पूरा होगा?", + "pickup": "पिकअप", + "pickupHint": "स्थानीय रूप से मिलें", + "ships": "डिलीवरी", + "shipsHint": "भेज दें", + "both": "दोनों", + "bothHint": "कोई भी", + "addressNote": "हम आपका पता कभी नहीं लेते — डिलीवरी के लिए इसे ट्रेड चैट में निजी तौर पर साझा करें।", + "postageLabel": "डाक खर्च कौन देगा?", + "requireEscrow": "एस्क्रो आवश्यक", + "requireEscrowHint": "खरीदार से Cashu एस्क्रो से भुगतान करने को कहें।", + "postageBuyer": "खरीदार देगा", + "postageSeller": "मैं दूँगा", + "postageSplit": "बराबर बाँटें", + "sizeLabel": "साइज़", + "selectSize": "साइज़ चुनें", + "truckHeight": "ट्रक ऊँचाई", + "selectHeight": "ऊँचाई चुनें", + "wheelHardness": "पहिये की कठोरता", + "selectHardness": "कठोरता चुनें", + "pricingTitle": "कीमत", + "pricingWtbHint": "आप भुगतान कैसे करना चाहते हैं?", + "pricingSellHint": "आप बेचना कैसे चाहते हैं?", + "priceLabel": "कीमत *", + "currencyLabel": "मुद्रा", + "photosTitle": "फ़ोटो", + "photosSellHint": "कम से कम एक फ़ोटो आवश्यक है", + "photosWtbHint": "वैकल्पिक — संदर्भ तस्वीरें जोड़ें", + "productPhoto": "उत्पाद {{n}}", + "upload": "अपलोड करें", + "photosNote": "5 फ़ोटो तक जोड़ें। पहली तस्वीर मुख्य फ़ोटो होगी।", + "pickupLocationTitle": "पिकअप स्थान", + "pickupLocationHint": "आसान मुलाक़ात के लिए किसी स्केट स्पॉट से जोड़ें", + "searchSpots": "स्पॉट खोजें...", + "noSpotsFound": "कोई स्पॉट नहीं मिला। दूसरी खोज आज़माएँ।", + "availabilityLabel": "आप आमतौर पर कब उपलब्ध हैं?", + "availabilityPlaceholder": "वीकेंड 10am-2pm, मंगल/गुरु शाम", + "availabilityHint": "इससे खरीदारों को आपके साथ मुलाक़ात तय करने में मदद मिलती है", + "durationTitle": "लिस्टिंग अवधि", + "durationHint": "यह लिस्टिंग कितने समय तक सक्रिय रहनी चाहिए?", + "publishing": "प्रकाशित हो रहा है...", + "checkingEligibility": "पात्रता जाँची जा रही है...", + "cooldownButton": "कूलडाउन: {{time}}", + "limitReachedButton": "सीमा पूरी", + "payFeeButton": "जारी रखने के लिए शुल्क दें", + "postWtbButton": "खरीदना है पोस्ट करें", + "listForSaleButton": "गियर बिक्री के लिए लिस्ट करें" + }, + "trades": { + "title": "मेरे सौदे", + "loginBody": "अपने मार्केटप्लेस सौदों और प्रतिष्ठा को प्रबंधित करने के लिए लॉग इन करें।", + "subtitle": "पुष्टियाँ, अनुरोध और उनसे बनने वाली प्रतिष्ठा। भुगतान दूसरे स्केटर के साथ तय होता है — ऐप सिर्फ़ सौदा दर्ज करता है।", + "actionNeeded": "कार्रवाई ज़रूरी", + "askedToConfirmSale": "ने आपसे बिक्री की पुष्टि करने को कहा", + "recordedSale": "ने बिक्री दर्ज की — अपनी तरफ़ से पुष्टि करें", + "confirmSale": "बिक्री की पुष्टि करें", + "confirm": "पुष्टि करें", + "stateRevoked": "रद्द किया गया", + "stateVerifying": "सत्यापन हो रहा है", + "nothingWaiting": "अभी आप पर कुछ बाकी नहीं है। 🛹", + "yourRecords": "आपके सौदों के रिकॉर्ड", + "noTrades": "अभी कोई सौदा नहीं। कोई डील पूरी करें और पुष्टि करें ताकि प्रतिष्ठा बननी शुरू हो।", + "browseGearSwap": "गियर स्वैप ब्राउज़ करें", + "roleSold": "बेचा", + "roleBought": "खरीदा", + "roleTrade": "अदला-बदली", + "with": "के साथ", + "viewListing": "लिस्टिंग देखें", + "revoke": "रद्द करें", + "revokeTitle": "यह सौदा रिकॉर्ड रद्द करें?", + "revokeBody": "यह आपकी प्रतिष्ठा में नहीं गिना जाएगा। दूसरा पक्ष अपना रिकॉर्ड रखेगा। विवादित या ग़लत सौदे के लिए इसका उपयोग करें।", + "revokeNote": "लेखक द्वारा वापस लिया गया।", + "revoked": "सौदा रिकॉर्ड रद्द हुआ", + "revokedBody": "अब यह प्रतिष्ठा में नहीं गिना जाएगा।", + "revokeFailed": "सौदा रद्द नहीं हो सका", + "saleConfirmed": "बिक्री की पुष्टि हुई", + "saleConfirmedBody": "अब वे अपनी तरफ़ से पुष्टि कर सकते हैं।", + "saleConfirmFailed": "बिक्री की पुष्टि नहीं हो सकी", + "tradeConfirmed": "सौदे की पुष्टि हुई", + "tradeConfirmedBody": "आप दोनों की प्रतिष्ठा अपडेट हुई।", + "tradeConfirmFailed": "सौदे की पुष्टि नहीं हो सकी", + "somethingWrong": "कुछ गड़बड़ हो गई।" + }, + "card": { + "listingDeleted": "लिस्टिंग हटाई गई", + "listingRemoved": "लिस्टिंग हटा दी गई", + "listingDeletedBody": "आपकी लिस्टिंग हटा दी गई है। जो रिले डिलीशन मानते हैं वे इसे दिखाना बंद कर देंगे।", + "listingRemovedBody": "यह लिस्टिंग हटा दी गई है और पूरे SkateSpots पर छिपी रहेगी।", + "removeFailed": "हटाना विफल", + "somethingWrong": "कुछ गड़बड़ हो गई", + "markedSold": "बिक गया चिह्नित हुआ", + "markedSoldBody": "आपकी लिस्टिंग अब बिक चुकी दिखाई जा रही है।", + "couldNotUpdate": "अपडेट नहीं हो सका", + "relisted": "फिर से लिस्ट किया गया", + "relistedBody": "आपकी लिस्टिंग फिर सक्रिय है।", + "listingOptions": "लिस्टिंग विकल्प", + "report": "रिपोर्ट करें", + "removeAdmin": "हटाएँ (एडमिन)", + "postage": "डाक खर्च", + "newSeller": "नया विक्रेता", + "saleOne": "{{count}} बिक्री", + "saleMany": "{{count}} बिक्री", + "iHaveThis": "मेरे पास यह है!", + "deleteTitle": "\"{{title}}\" हटाएँ?", + "adminRemoveTitle": "यह लिस्टिंग हटाएँ? (एडमिन)", + "deleteBody": "यह रिले से आपकी लिस्टिंग \"{{title}}\" हटाने का अनुरोध करेगा। इसे यहाँ से वापस नहीं लाया जा सकता — नई लिस्टिंग बनानी होगी।", + "adminRemoveBody": "SkateSpots एडमिन के रूप में आप \"{{title}}\" हटा रहे हैं। यह सभी के लिए ऐप में छिपी रहेगी और रिले को डिलीशन अनुरोध भेजा जाएगा।", + "deleting": "हटाया जा रहा है…", + "removing": "हटाया जा रहा है…", + "deleteListing": "लिस्टिंग हटाएँ", + "removeListing": "लिस्टिंग हटाएँ", + "reportCount": "{{count}} रिपोर्ट", + "reports": "{{count}} रिपोर्ट", + "viewTitle": "{{title}} देखें", + "reportListing": "लिस्टिंग की रिपोर्ट करें", + "manageListing": "लिस्टिंग प्रबंधित करें", + "trusted": "भरोसेमंद", + "daysOld": "{{n}} दिन पुरानी", + "monthsOld": "{{n}} महीने पुरानी", + "yearsOld": "{{n}} साल पुरानी", + "listingsCount": "{{count}} लिस्टिंग", + "postageBuyer": "डाक खर्च: खरीदार", + "postageSeller": "डाक खर्च: विक्रेता", + "postageSplit": "डाक खर्च: बराबर", + "powTitle": "NIP-13 प्रूफ़ ऑफ़ वर्क — मुफ़्त स्पैम-रोध", + "verifiedTradeOne": "{{count}} सत्यापित सौदा", + "verifiedTrades": "{{count}} सत्यापित सौदे", + "reportSubmitted": "रिपोर्ट भेजी गई", + "reportSubmittedBody": "मार्केटप्लेस को सुरक्षित रखने में मदद के लिए धन्यवाद।", + "reportFailed": "रिपोर्ट भेजने में विफल", + "selectReason": "कृपया कारण चुनें", + "reportDialogBody": "अनुचित या भ्रामक लिस्टिंग की रिपोर्ट करके मार्केटप्लेस सुरक्षित रखने में मदद करें।", + "reasonLabel": "रिपोर्ट का कारण *", + "detailsLabel": "अतिरिक्त विवरण (वैकल्पिक)", + "detailsPlaceholder": "कोई भी अतिरिक्त जानकारी दें जो मदद कर सके...", + "reportNote": "रिपोर्टें Nostr पर प्रकाशित होती हैं और समुदाय को संदिग्ध लिस्टिंग पहचानने में मदद करती हैं। कई रिपोर्ट वाली लिस्टिंग अपने आप छिप सकती हैं।", + "submitting": "भेजा जा रहा है...", + "submitReport": "रिपोर्ट भेजें" + }, + "tradeActions": { + "tradeConfirmed": "सौदे की पुष्टि हुई", + "tradeConfirmedWithProof": "सत्यापन योग्य रसीद जुड़ी है — यह सत्यापित सौदों में गिना जाएगा।", + "tradeConfirmedBody": "आप दोनों की प्रतिष्ठा अपडेट हुई।", + "tradeConfirmFailed": "सौदे की पुष्टि नहीं हो सकी", + "somethingWrong": "कुछ गड़बड़ हो गई।", + "requestNote": "कृपया \"{{title}}\" के लिए हमारे सौदे की पुष्टि करें।", + "requestSent": "पुष्टि का अनुरोध भेजा गया", + "requestSentBody": "विक्रेता अब बिक्री की पुष्टि कर सकते हैं और दोनों की प्रतिष्ठा बनेगी।", + "requestFailed": "अनुरोध नहीं भेजा जा सका", + "escrowRefunded": "एस्क्रो वापस किया गया", + "escrowRefundedBody": "धन आपके Cashu वॉलेट में वापस आ गया है।", + "escrowRefundFailed": "एस्क्रो वापस नहीं किया जा सका", + "confirmThisTrade": "इस सौदे की पुष्टि करें", + "escrowAndRequest": "एस्क्रो और अनुरोध", + "shipsEscrowHint": "भेजे जाने वाला सौदा — एस्क्रो इस्तेमाल करें ताकि कोई भी पक्ष नुक़सान में न रहे। अपना पता ट्रेड चैट में निजी तौर पर साझा करें, यहाँ कभी नहीं।", + "shipsHint": "भेजे जाने वाला सौदा — अगर विक्रेता एस्क्रो दे रहे हैं तो उसे प्राथमिकता दें, और पता केवल चैट में साझा करें।", + "askSeller": "विक्रेता से पुष्टि करने को कहें", + "waitingSeller": "पुष्टि का अनुरोध भेजा गया — विक्रेता की प्रतीक्षा है।", + "refundEscrow": "एस्क्रो वापस पाएँ", + "buyWithSats": "sats से खरीदें", + "depositTitle": "सद्भावना जमा (वैकल्पिक)", + "payDeposit": "जमा राशि दें", + "depositBefore": "अदला-बदली में कोई इनवॉइस नहीं होता, इसलिए इस तरह उसे मिलता है", + "verifiableCost": "सत्यापन योग्य लागत", + "depositAfter": "। डिलीवरी पर वापसी (या स्वचालित वापसी के लिए Cashu एस्क्रो इस्तेमाल करें)। ⚠️ यह प्रतिबद्धता साबित करता है, डिलीवरी नहीं।", + "depositPaid": "जमा चुकाई गई", + "depositPaidBody": "सहेजा गया — सौदे की पुष्टि होने पर इसे जोड़ा जाएगा।", + "paid": "भुगतान हुआ ⚡", + "paidWithProof": "सत्यापन योग्य रसीद सहेजी गई — गिनने के लिए सौदे की पुष्टि करें।", + "paidBody": "विक्रेता से सौदे की पुष्टि करने को कहें ताकि यह आप दोनों के लिए गिना जाए।" + }, + "loadFailed": "रिले तक नहीं पहुँच सके। अपना कनेक्शन जाँचें और फिर कोशिश करें।", + "statusPending": "लंबित", + "offers": { + "accepted": "स्वीकार", + "declined": "अस्वीकार", + "withdrawn": "वापस लिया गया", + "open": "खुला", + "closeDeal": "सौदा पूरा करें", + "noAmount": "कोई राशि नहीं", + "titleOwner": "ऑफ़र ({{count}})", + "loadFailed": "ऑफ़र लोड नहीं हो सके। अपना कनेक्शन जाँचें और फिर कोशिश करें।", + "titleBuyer": "आपकी बातचीत", + "you": "आप", + "them": "वे", + "paidAskConfirm": "भुगतान हुआ — विक्रेता से सौदे की पुष्टि करने को कहें।", + "payWithSats": "sats से भुगतान करें", + "accept": "स्वीकार करें", + "decline": "अस्वीकार करें", + "counter": "जवाबी ऑफ़र", + "counterPlaceholder": "आपका जवाबी ऑफ़र (sats)", + "send": "भेजें", + "counterItemPlaceholder": "…या किसी चीज़ के बदले जवाबी ऑफ़र दें (वैकल्पिक)", + "waitingOn": "प्रतीक्षा में", + "waitingOnSuffix": "— अगर वे जवाबी ऑफ़र देंगे तो आपकी बारी फिर आएगी।", + "withdraw": "वापस लें", + "dmAccepted": "✅ आपका ऑफ़र स्वीकार हुआ! हैंडऑफ़ तय करने के लिए संदेश भेजें।", + "dmDeclined": "❌ आपका ऑफ़र अस्वीकार हुआ।", + "offerAccepted": "ऑफ़र स्वीकार हुआ", + "offerDeclined": "ऑफ़र अस्वीकार हुआ", + "respondFailed": "जवाब नहीं दे सके", + "somethingWrong": "कुछ गड़बड़ हो गई।", + "offerWithdrawn": "ऑफ़र वापस लिया गया", + "withdrawFailed": "वापस नहीं लिया जा सका", + "enterAmountOrItem": "राशि या अदला-बदली के लिए कोई चीज़ दर्ज करें", + "counterDm": "जवाबी ऑफ़र", + "counterSent": "जवाबी ऑफ़र भेजा गया", + "counterSentBody": "अब उनकी बारी है।", + "counterFailed": "जवाबी ऑफ़र नहीं भेजा जा सका" + }, + "offer": { + "validAmount": "मान्य राशि दर्ज करें", + "describeOffer": "अपना ऑफ़र बताएँ", + "describeOfferBody": "राशि, अदला-बदली की चीज़, या संदेश जोड़ें।", + "dmAmount": " के लिए {{amount}} sats", + "dmItem": " (प्रस्ताव: {{item}})", + "dmBody": "🛹 आपकी लिस्टिंग \"{{title}}\" पर नया ऑफ़र{{amount}}{{item}}।{{note}}", + "sent": "ऑफ़र भेजा गया", + "sentBody": "{{sellerName}} इसे स्वीकार या अस्वीकार कर सकते हैं।", + "sendFailed": "ऑफ़र नहीं भेजा जा सका", + "somethingWrong": "कुछ गड़बड़ हो गई।", + "title": "ऑफ़र दें", + "description": "sats दें, या किसी चीज़ की अदला-बदली करें — {{sellerName}} स्वीकार, अस्वीकार या जवाबी ऑफ़र कर सकते हैं। हैंडओवर आप आपस में तय करेंगे।", + "amountLabel": "राशि (sats, वैकल्पिक)", + "amountPlaceholder": "जैसे 45000", + "itemLabel": "या किसी चीज़ की अदला-बदली (वैकल्पिक)", + "itemPlaceholder": "जैसे मेरा 8.25 डेक + अतिरिक्त पहिये", + "itemHint": "अदला-बदली? जो पेश कर रहे हैं वह यहाँ लिखें — sats के साथ भी जोड़ सकते हैं।", + "messageLabel": "संदेश (वैकल्पिक)", + "messagePlaceholder": "जो भी विक्रेता को पता होना चाहिए…", + "send": "ऑफ़र भेजें" + }, + "markSold": { + "enterBuyer": "खरीदार का npub दर्ज करें", + "dealClosed": "सौदा पूरा 🎉", + "dealClosedBody": "लिस्टिंग बिक चुकी के रूप में चिह्नित और प्रतिष्ठा के लिए सौदा प्रकाशित हुआ।", + "closeFailed": "सौदा पूरा नहीं हो सका", + "somethingWrong": "कुछ गड़बड़ हो गई।", + "title": "सौदा पूरा करें", + "description": "इस लिस्टिंग को बिका हुआ दर्ज करता है और आपके व खरीदार के लिए हस्ताक्षरित सौदा प्रमाण सहेजता है।", + "buyerLabel": "खरीदार का npub", + "methodLabel": "भुगतान कैसे हुआ? (स्वयं बताया गया)", + "amountLabel": "sats में राशि (वैकल्पिक)", + "submit": "बिक गया चिह्नित करें" + }, + "handoff": { + "title": "हैंडऑफ़ तय करें", + "suggest": "समय और जगह सुझाएँ", + "suggestDm": "नमस्ते! मैं \"{{title}}\" खरीदना चाहता हूँ। मिलने का समय और जगह बताएँ — किसी सार्वजनिक स्केट स्पॉट पर मिल सकते हैं।", + "orMeetAt": "या पास के किसी सार्वजनिक स्पॉट पर मिलें:", + "spotDm": "नमस्ते! मैं \"{{title}}\" खरीदना चाहता हूँ। {{spot}} पर मिलें? {{url}}", + "shareDelivery": "डिलीवरी विवरण साझा करें", + "deliveryDm": "नमस्ते! मैं \"{{title}}\" खरीदना चाहता हूँ। ये मेरे डिलीवरी विवरण हैं:\n\nनाम:\nपता:\n\n(केवल वही साझा करें जो कूरियर को चाहिए।)", + "useLocker": "लॉकर / पार्सल पॉइंट इस्तेमाल करें", + "lockerDm": "नमस्ते! मैं \"{{title}}\" खरीदना चाहता हूँ। घर के पते की जगह पार्सल लॉकर / पार्सल शॉप इस्तेमाल कर सकते हैं?", + "noteBefore": "ये विवरण निजी चैट में रहते हैं — SkateSpots इन्हें कभी नहीं देखता। भेजे जाने वाले सौदों के लिए", + "escrow": "एस्क्रो", + "noteMiddle": "को प्राथमिकता दें, और", + "neverPay": "ऐप के रास्ते के बाहर कभी भुगतान न करें", + "noteAfter": "। सार्वजनिक जगह पर मिलें।" + }, + "shipping": { + "noCounterparty": "अभी दूसरा पक्ष नहीं", + "noCounterpartyBody": "विक्रेता को पहले बिक्री दर्ज करनी चाहिए (खरीदार का नाम लेकर)।", + "markedShipped": "भेजा गया चिह्नित", + "markedReceived": "प्राप्त चिह्नित", + "issueReported": "समस्या दर्ज हुई", + "receivedBody": "धन्यवाद — इससे एस्क्रो नहीं छूटता; विक्रेता के साथ सीधे निपटें।", + "notifiedBody": "दूसरे पक्ष को सूचित कर दिया गया है।", + "updateFailed": "अपडेट नहीं हो सका", + "somethingWrong": "कुछ गड़बड़ हो गई।", + "title": "डिलीवरी", + "shipped": "भेजा गया", + "received": "प्राप्त", + "issue": "समस्या", + "trackingPlaceholder": "ट्रैकिंग नंबर (वैकल्पिक)", + "iShipped": "मैंने भेज दिया", + "iReceived": "मुझे मिल गया", + "reportIssue": "समस्या बताएँ", + "noteBefore": "स्वयं बताया गया — यह लॉजिस्टिक्स नोट है,", + "notProof": "प्रमाण नहीं", + "noteAfter": "। \"प्राप्त\" चिह्नित करने से एस्क्रो नहीं छूटता। ⚠️ पते वाली पार्सल की फ़ोटो न लें, और ट्रैकिंग नंबर तभी साझा करें जब आप उसे सार्वजनिक होने में सहज हों।" + }, + "pay": { + "sent": "भुगतान भेजा गया ⚡", + "sentWithProof": "सत्यापन योग्य भुगतान रसीद सहेजी गई — इसे भुगतान-सत्यापित गिना जाएगा।", + "sentBody": "विक्रेता को बताएँ — वे सौदे की पुष्टि कर सकते हैं ताकि यह आप दोनों के लिए गिना जाए।", + "failed": "भुगतान विफल", + "title": "sats से भुगतान करें", + "descSendPrefix": "भेजें", + "descSendSuffix": "{{sellerName}} को, इस सौदे का भुगतान करने के लिए।", + "descSettle": "इस सौदे का भुगतान सीधे {{sellerName}} को करें।", + "paid": "भुगतान हुआ!", + "paidBody": "विक्रेता से सौदे की पुष्टि करने को कहें — दो पुष्टियाँ दोनों की प्रतिष्ठा बनाती हैं।", + "noMethod": "{{sellerName}} ने भुगतान विधि सेट नहीं की है (कोई Lightning इनवॉइस या पता नहीं)। भुगतान तय करने के लिए उन्हें संदेश भेजें।", + "nonSats": "यह ऑफ़र {{currency}} में है। ऐप में भुगतान केवल sats में है। सीधे विक्रेता के साथ निपटें।", + "unsupported": "यह भुगतान कोड (Cashu अनुरोध) अभी समर्थित नहीं है। विक्रेता से Lightning इनवॉइस या पता माँगें।", + "ownListing": "यह आपकी अपनी लिस्टिंग है।", + "paying": "भुगतान हो रहा है…", + "pay": "भुगतान करें", + "payAmount": "{{amount}} sats भुगतान करें", + "footnote": "आपके जुड़े वॉलेट (NWC, WebLN या Cashu) से सीधे {{sellerName}} को भुगतान — SkateSpots कभी धन नहीं रखता।" + }, + "spamFee": { + "invoiceComment": "SkateSpots लिस्टिंग शुल्क", + "generateFailed": "इनवॉइस बनाने में विफल", + "paymentSuccess": "भुगतान सफल!", + "satsSent": "{{amount}} sats {{name}} को भेजे गए", + "autoPayFailed": "ऑटो-भुगतान विफल", + "autoPayFailedBody": "कृपया QR कोड या इनवॉइस से मैन्युअल भुगतान करें", + "invoiceCopied": "इनवॉइस कॉपी हुआ!", + "copyFailed": "कॉपी नहीं हो सका", + "received": "भुगतान मिला!", + "receivedBody": "आपका {{amount}} sat शुल्क चुका दिया गया है। अब आप अपनी लिस्टिंग बना सकते हैं।", + "title": "एकमुश्त लिस्टिंग शुल्क", + "subtitle": "नए सदस्य के रूप में, आपकी पहली लिस्टिंग के लिए छोटा शुल्क लगता है।", + "whyTitle": "मुझे भुगतान क्यों करना है?", + "spamLabel": "स्पैम रोकथाम:", + "spamBody": "यह शुल्क बॉट्स और ठगों को नकली लिस्टिंग से मार्केटप्लेस भरने से रोकता है।", + "trustLabel": "भरोसा बनाना:", + "trustBody": "नए खातों को लिस्ट करने से पहले प्रतिबद्धता साबित करनी होती है। कुछ सफल लिस्टिंग के बाद यह शुल्क माफ़ हो जाता है।", + "supportsLabel": "समुदाय की मदद:", + "supportsPrefix": "शुल्क जाता है", + "supportsSpotOwner": " को — जिसने यह स्पॉट बनाया!", + "supportsPlatform": " को — SkateSpots चलता रहे, इसके लिए।", + "oneTimeFee": "~${{usd}} USD • एकमुश्त शुल्क", + "payToContinue": "जारी रखने के लिए {{amount}} sats चुकाएँ", + "proveWork": "इसके बजाय काम साबित करें — मुफ़्त", + "proveWorkBody": "{{amount}} sats की जगह कुछ सेकंड CPU लगाएँ। कोई पैसा नहीं, कोई वॉलेट नहीं — यह स्पैम टैक्स है, भुगतान नहीं।", + "generating": "इनवॉइस बन रहा है...", + "processing": "भुगतान प्रोसेस हो रहा है...", + "qrAlt": "भुगतान QR कोड", + "copyInvoice": "इनवॉइस कॉपी करें", + "openWallet": "वॉलेट खोलें", + "payWithWallet": "जुड़े वॉलेट से भुगतान करें", + "scanHint": "QR कोड को Lightning वॉलेट से स्कैन करें या ऊपर के बटन इस्तेमाल करें", + "skipTitle": "आगे यह शुल्क कैसे टालें:", + "skip1": "मैप पर एक स्केट स्पॉट जोड़ें", + "skip2": "2-3 सफल लिस्टिंग पूरी करें", + "skip3": "अपनी सामुदायिक प्रतिष्ठा बनाएँ", + "skipNote": "भरोसेमंद सदस्यों को असीमित मुफ़्त लिस्टिंग मिलती हैं!" + }, + "reputation": { + "highlyTrusted": "अत्यधिक विश्वसनीय व्यापारी", + "building": "प्रतिष्ठा बन रही है", + "newTrader": "नया व्यापारी", + "title": "सौदे", + "verified": "सत्यापित", + "sales": "बिक्री", + "purchases": "खरीद", + "tradeConfirmedOne": "परस्पर पुष्टि किया हुआ सौदा", + "tradeConfirmedMany": "परस्पर पुष्टि किए हुए सौदे", + "with": "के साथ", + "personOne": "व्यक्ति", + "personMany": "लोग", + "awaiting": "परस्पर पुष्टि की प्रतीक्षा", + "withPaymentProof": "भुगतान प्रमाण जुड़ा हुआ", + "selfReported": "(स्वयं बताया — सत्यापित नहीं)", + "paymentVerified": "भुगतान-सत्यापित", + "zapReceipt": "(zap रसीद)", + "singlePartnerWarning": "हर पुष्टि एक ही खाते के साथ है। परस्पर पुष्टि स्वयं बताई जाती है, इसलिए इस रिकॉर्ड को सावधानी से देखें।", + "lowDiversityWarning": "ज़्यादातर पुष्टियाँ बहुत कम खातों से हैं। छोटा समूह एक-दूसरे की पुष्टि करके व्यस्त दिख सकता है — इस रिकॉर्ड को सावधानी से देखें।", + "ringWarning": "ये खाते ज़्यादातर आपस में ही सौदे करते हैं — एक बंद समूह। ऐसे समूह के अंदर परस्पर पुष्टि कमज़ोर प्रमाण है।", + "weighted": "भरोसे और गतिविधि के अनुसार भारित", + "footnote": "स्वयं बताया और परस्पर हस्ताक्षरित — यह संकेत है, भुगतान का प्रमाण नहीं।" + }, + "reputationPanel": { + "reviewOfYou": "आपकी समीक्षा", + "yourRecord": "आपका रिकॉर्ड", + "listing": "लिस्टिंग", + "averageOne": "{{count}} रेटिंग का औसत", + "averageMany": "{{count}} रेटिंग का औसत", + "reviewsTitle": "समीक्षाएँ और सौदा रिकॉर्ड", + "fromOthers": "{{count}} दूसरों से", + "emptyBefore": "अभी कोई सौदा रिकॉर्ड नहीं। कोई डील पूरी करें और इसमें पुष्टि करें", + "emptyAfter": "— हर पुष्टि दोनों प्रोफ़ाइल पर समीक्षा बन जाती है।" + }, + "recommendations": { + "published": "सिफ़ारिश प्रकाशित हुई", + "publishedBody": "सिफ़ारिश के लिए धन्यवाद।", + "failed": "सिफ़ारिश नहीं कर सके", + "somethingWrong": "कुछ गड़बड़ हो गई।", + "title": "विश्वसनीय व्यापारी", + "recommendedBy": "इन्होंने सिफ़ारिश की", + "skaterOne": "स्केटर", + "skaterMany": "स्केटर्स", + "none": "अभी कोई सिफ़ारिश नहीं।", + "youRecommend": "आप इस व्यापारी की सिफ़ारिश करते हैं ✓", + "recommend": "विश्वसनीय व्यापारी के रूप में सिफ़ारिश करें" + }, + "notification": { + "newOffer": "नया ऑफ़र", + "counterOffer": "जवाबी ऑफ़र", + "offerAccepted": "ऑफ़र स्वीकार हुआ", + "offerDeclined": "ऑफ़र अस्वीकार हुआ", + "offerWithdrawn": "ऑफ़र वापस लिया गया", + "confirmTrade": "सौदे की पुष्टि करें", + "tradeConfirmed": "सौदे की पुष्टि हुई", + "reviewOffer": "ऑफ़र देखें", + "openListing": "लिस्टिंग खोलें" + }, + "confirmRow": { + "rateTrade": "सौदे को रेट करें:" + }, + "deckRating": { + "title": "{{value}}/10 डेक", + "aria": "10 में से {{n}}" + }, + "clink": { + "tip": "Bitcoin में टिप दें", + "copiedBody": "CLINK कोड क्लिपबोर्ड पर कॉपी हुआ।", + "copyFailed": "कॉपी विफल", + "copyFailedBody": "क्लिपबोर्ड तक पहुँच नहीं हो सकी।", + "whatIs": "CLINK क्या है?", + "tooltipTitle": "Nostr के ज़रिए सीधे Bitcoin से भुगतान करें", + "tooltipBody": "CLINK एक स्व-हिरासत भुगतान कोड है — कोई ऐप खाता नहीं, कोई बिचौलिया नहीं। इसे किसी संगत Lightning वॉलेट से स्कैन करें और टिप सीधे उन्हें जाती है।", + "descRecipient": "{{recipientName}} को स्व-हिरासत Bitcoin (Lightning) भुगतान भेजें — कोई बिचौलिया नहीं।", + "descGeneric": "Nostr के ज़रिए स्व-हिरासत Bitcoin (Lightning) भुगतान भेजें — कोई बिचौलिया नहीं।", + "qrAlt": "CLINK ऑफ़र QR कोड", + "copyCode": "CLINK कोड कॉपी करें", + "openWallet": "CLINK वॉलेट में खोलें", + "copyToWallet": "अपने वॉलेट के लिए कोड कॉपी करें", + "priceFixed": "तय — {{amount}} sats", + "priceFixedShort": "तय कीमत", + "priceVariable": "परिवर्तनीय कीमत", + "priceVariableCurrency": "{{currency}} में कीमत", + "priceSpontaneous": "राशि आप चुनें", + "footnote": "CLINK-संगत वॉलेट (जैसे ShockWallet) से स्कैन करें। अगर कुछ न खुले, तो ऊपर का कोड कॉपी करें — हो सकता है आपके पास CLINK-संगत वॉलेट न हो। कोई कस्टोडियन नहीं, कोई वेब सर्वर नहीं: इनवॉइस सीधे Nostr पर माँगा जाता है।" + }, + "paymentReadiness": { + "ready": "आप भुगतान प्राप्त कर सकते हैं", + "notReady": "भुगतान पाने के लिए भुगतान सेट करें", + "readyBefore": "आपका Lightning पता", + "readyAfter": " आपकी प्रोफ़ाइल पर है — लोग आपको zap और सीधे भुगतान कर सकते हैं।", + "silentSet": " Bitcoin Silent Payment पता भी सेट है।", + "notReadyBefore": "स्केटर्स आपको भुगतान कर सकें, इसके लिए अपनी", + "nostrProfile": "Nostr प्रोफ़ाइल", + "notReadyAfter": "में Lightning पता (और वैकल्पिक रूप से Bitcoin Silent Payment पता) जोड़ें। यह एक बार सेट होता है और यहाँ की हर प्रोफ़ाइल पर काम करता है।" + }, + "seller": { + "trade": "सौदा", + "active": "सक्रिय", + "markSold": "बिक गया चिह्नित करें", + "yourListings": "आपकी लिस्टिंग", + "activeCount": "{{count}} सक्रिय", + "listItem": "कोई चीज़ लिस्ट करें", + "loading": "आपकी लिस्टिंग लोड हो रही हैं…", + "empty": "आपकी अभी कोई लिस्टिंग नहीं।", + "listFirst": "अपनी पहली चीज़ लिस्ट करें" + }, + "noffer": { + "label": "CLINK ऑफ़र कोड", + "optional": "(वैकल्पिक, उन्नत)", + "offerId": "ऑफ़र: {{id}}", + "relay": "रिले: {{relay}}", + "invalidBefore": "यह मान्य", + "invalidAfter": "कोड नहीं लगता।", + "valid": "मान्य CLINK कोड — आपकी प्रोफ़ाइल पर \"CLINK से भुगतान करें\" बटन दिखेगा।", + "help": "Nostr-मूल Lightning भुगतान स्वीकारने के लिए स्व-हिरासत CLINK भुगतान कोड पेस्ट करें (जैसे ShockWallet / Lightning.Pub से) — कोई वेब सर्वर या कस्टोडियन नहीं।", + "learnSpecs": "स्पेक्स जानें" + }, + "escrowPanel": { + "escrowed": "{{amount}} sats एस्क्रो में", + "mint": "मिंट", + "refundSinceBefore": "खरीदार इनसे वापसी ले सकता है", + "redeemBefore": "विक्रेता अब भुना सकता है · खरीदार बाद में वापसी", + "noExpiry": "इस टोकन पर कोई समय-सीमा सेट नहीं।" + }, + "escrowRequest": { + "enterAmount": "एस्क्रो राशि दर्ज करें", + "minLock": "कम से कम {{days}} दिन के लिए लॉक करें", + "requestNote": "हमारे सौदे के लिए {{amount}} sats एस्क्रो में — कृपया बिक्री की पुष्टि करें।", + "created": "एस्क्रो बना 🎉", + "createdBody": "{{days}} दिनों के लिए {{amount}} sats लॉक। {{sellerName}} डिलीवरी पर भुना सकते हैं।", + "createFailed": "एस्क्रो नहीं बन सका", + "somethingWrong": "कुछ गड़बड़ हो गई।", + "title": "इस सौदे को एस्क्रो करें", + "description": "धन {{sellerName}} के लिए लॉक होता है और अगर समय-सीमा के बाद सौदा न हो, तो आप वापसी ले सकते हैं। जुड़ा Lightning वॉलेट आवश्यक है।", + "amountLabel": "राशि (sats)", + "daysLabel": "खरीदार वापसी (दिनों बाद)", + "daysHint": "इतने दिनों बाद, अगर विक्रेता ने डिलीवरी नहीं की, तो आप धन वापस ले सकते हैं।", + "lockedNotSent": "धन एस्क्रो में लॉक और इस डिवाइस पर सहेजा गया है, पर अनुरोध नहीं भेजा गया। फिर कोशिश करने के लिए लिस्टिंग फिर खोलें। दोबारा भुगतान न करें।", + "mintLabel": "मिंट (जहाँ धन लॉक है)", + "sellerMintHint": "विक्रेता इस मिंट को पसंद करते हैं; यहाँ लॉक धन उनके लिए भुनाना सबसे आसान है।", + "mintHint": "एस्क्रो इस मिंट में रहता है। विक्रेता यहीं भुनाते हैं, इसलिए वह मिंट चुनें जिस पर आप दोनों भरोसा करें।", + "noMints": "कोई मिंट उपलब्ध नहीं", + "p2pkUnsupported": "यह मिंट P2PK (NUT-11) समर्थन नहीं बताता, इसलिए यहाँ एस्क्रो लॉक नहीं हो सकता। दूसरा मिंट चुनें।", + "nativeOnly": "Cashu एस्क्रो केवल SkateSpots ऐप में उपलब्ध है (वेब बिल्ड में नहीं)।", + "lockAndRequest": "लॉक करें और अनुरोध भेजें" + } + }, + "placesUi": { + "addToCalendar": { + "add": "कैलेंडर में जोड़ें", + "appleOutlook": "Apple / Outlook (.ics)", + "google": "Google कैलेंडर" + }, + "attendees": { + "goingCount": "जा रहे हैं", + "goingTab": "जा रहे हैं ({{count}})", + "interestedTab": "रुचि है ({{count}})", + "nobodyGoing": "अभी किसी ने पुष्टि नहीं की।", + "nobodyInterested": "अभी किसी ने रुचि नहीं दिखाई।", + "noRsvps": "अभी कोई RSVP नहीं — जाने वाले पहले व्यक्ति बनें।", + "trusted": "भरोसेमंद", + "trustedTitle": "आपका फ़ॉलो किया हुआ या भरोसेमंद मैपर", + "youTrust": "आपका भरोसा" + }, + "bounty": { + "addressCoords": "पता और निर्देशांक", + "basic": "बुनियादी", + "contactInfo": "संपर्क जानकारी", + "description": "विवरण", + "earningPotential": "कमाई की संभावना", + "excellent": "शानदार!", + "gettingStarted": "शुरुआत करना", + "good": "अच्छा", + "onePhoto": "कम से कम 1 फ़ोटो", + "openingHours": "खुलने का समय", + "shopName": "दुकान का नाम", + "threePhotos": "3+ फ़ोटो", + "tip": "💡 ज़्यादा गुणवत्ता = समुदाय से ज़्यादा zaps!" + }, + "calendar": { + "allDay": "पूरा दिन", + "eventDay": "इवेंट का दिन", + "eventsOnDay": "{{count}} इवेंट", + "eventsThisMonth": "इस महीने के इवेंट", + "going": "जा रहे हैं", + "months": { + "january": "जनवरी", + "february": "फ़रवरी", + "march": "मार्च", + "april": "अप्रैल", + "may": "मई", + "june": "जून", + "july": "जुलाई", + "august": "अगस्त", + "september": "सितंबर", + "october": "अक्टूबर", + "november": "नवंबर", + "december": "दिसंबर" + }, + "nextMonth": "अगला महीना", + "nothingOnDay": "इस दिन कुछ नहीं।", + "prevMonth": "पिछला महीना", + "tapHighlighted": "क्या हो रहा है देखने के लिए किसी हाइलाइट किए दिन पर टैप करें।", + "today": "आज", + "tourDay": "टूर का दिन", + "toursOnDay": "{{count}} टूर", + "toursThisMonth": "इस महीने के टूर", + "weekdays": { + "sun": "रवि", + "mon": "सोम", + "tue": "मंगल", + "wed": "बुध", + "thu": "गुरु", + "fri": "शुक्र", + "sat": "शनि" + }, + "weekdaysShort": { + "sun": "र", + "mon": "सो", + "tue": "मं", + "wed": "बु", + "thu": "गु", + "fri": "शु", + "sat": "श" + } + }, + "countdown": { + "ended": "समाप्त", + "happeningNow": "अभी चल रहा है", + "inDays": "{{count}} दिनों में", + "inHoursMins": "{{hours}}घं {{mins}}मि में", + "inMins": "{{count}} मिनट में", + "startingNow": "अभी शुरू हो रहा है", + "tomorrow": "कल" + }, + "createEvent": { + "add": "जोड़ें", + "addNewSpot": "नया स्पॉट जोड़ें →", + "changeSpot": "स्पॉट बदलें", + "created": "इवेंट बन गया!", + "createdDesc": "आपका इवेंट नेटवर्क पर प्रकाशित हो गया।", + "entryFee": "प्रवेश शुल्क", + "entryFeeHint": "(वैकल्पिक — जैसे \"500 sats\" या \"£10\")", + "entryFeePlaceholder": "मुफ़्त इवेंट के लिए खाली छोड़ें", + "featuring": "{{name}} के साथ", + "featuringDesc": "इस कलाकार को लाइव म्यूज़िक के रूप में टैग किया जाएगा और उनकी गिग सूची में दिखाया जाएगा।", + "fundingGoal": "फ़ंडिंग लक्ष्य", + "fundingGoalHint": "(वैकल्पिक — zaps से जुटाने वाले sats)", + "fundingGoalPlaceholder": "जैसे 50000", + "geoNotSupported": "जियोलोकेशन समर्थित नहीं", + "geoNotSupportedDesc": "आपका ब्राउज़र जियोलोकेशन समर्थित नहीं करता।", + "hideSpots": "स्पॉट छिपाएँ", + "hostingAs": "{{name}} के रूप में होस्ट कर रहे हैं", + "hostingAsDesc": "यह इवेंट आपके क्रू पेज पर दिखेगा और क्रू-होस्टेड के रूप में टैग होगा।", + "imageUploaded": "तस्वीर अपलोड हुई", + "imageUploadedDesc": "आपकी तस्वीर सफलतापूर्वक अपलोड हुई।", + "invalidDate": "अमान्य तारीख़", + "invalidDateDesc": "कृपया मान्य शुरुआती तारीख़ और समय दर्ज करें।", + "invalidEnd": "अमान्य समाप्ति समय", + "invalidEndDesc": "समाप्ति समय शुरुआत के बाद होना चाहिए।", + "linkedTo": "लिंक किया गया: {{title}}", + "linkToSpot": "स्केट स्पॉट से लिंक करें", + "linkToShop": "दुकान से लिंक करें", + "selectedShop": "{{name}} से लिंक किया गया", + "selectShopHint": "वैकल्पिक — किसी स्केट दुकान में या उसके द्वारा आयोजित।", + "selectShop": "दुकान चुनें", + "changeShop": "दुकान बदलें", + "hideShops": "दुकानें छिपाएँ", + "searchShops": "दुकानें खोजें…", + "noShopsMatch": "आपकी खोज से कोई दुकान मेल नहीं खाती।", + "noShopsAvailable": "अभी कोई दुकान उपलब्ध नहीं।", + "linkToTour": "टूर से लिंक करें (वैकल्पिक)", + "linkTourDesc": "इस इवेंट को किसी टूर से जोड़कर दिखाएँ कि यह किसी बड़ी श्रृंखला का हिस्सा है। राष्ट्रीय टूर, अंतरराष्ट्रीय रोमांच या World Destruction Tour चैलेंज दिनों के लिए बढ़िया।", + "loadingSpots": "स्पॉट लोड हो रहे हैं...", + "loadingTours": "टूर लोड हो रहे हैं...", + "locationError": "स्थान त्रुटि", + "locationFound": "स्थान मिल गया", + "locationFoundDesc": "आपका वर्तमान स्थान सेट हो गया है।", + "logoUrl": "लोगो URL (वैकल्पिक)", + "noSpotsAvailable": "कोई स्पॉट उपलब्ध नहीं", + "noSpotsMatch": "आपकी खोज से कोई स्पॉट मेल नहीं खाता", + "noTourLinked": "कोई टूर लिंक नहीं", + "optional": "(वैकल्पिक)", + "pastDesc": "भविष्य की तारीख़ और समय चुनें ताकि स्केटर्स RSVP कर सकें और आ सकें।", + "pastTitle": "वह शुरुआती समय बीत चुका है", + "publishFailed": "प्रकाशित नहीं हो सका", + "publishFeatured": "फ़ीचर्ड इवेंट प्रकाशित करें", + "removeSponsor": "प्रायोजक हटाएँ", + "searchSpots": "नाम, स्थान या श्रेणी से स्पॉट खोजें...", + "selectedSpot": "चयनित: {{name}}", + "selectSpot": "स्पॉट चुनें", + "selectSpotHint": "मैप से वह स्पॉट चुनें जहाँ यह इवेंट होगा", + "selectTour": "टूर चुनें", + "somethingWrong": "कुछ गड़बड़ हो गई", + "sponsorName": "प्रायोजक का नाम", + "sponsors": "प्रायोजक", + "sponsorsHint": "कोई दुकान या ब्रांड इसका समर्थन कर रहा है? उनका लोगो जोड़ें — यह इवेंट पर \"Presented by\" पट्टी के रूप में दिखेगा।", + "startRequired": "शुरुआती समय आवश्यक", + "startRequiredDesc": "कृपया बताएँ कि इवेंट कब शुरू होता है।", + "titleRequired": "शीर्षक आवश्यक", + "titleRequiredDesc": "कृपया इस इवेंट का नाम दर्ज करें।", + "uploadFailed": "अपलोड विफल", + "uploadFailedDesc": "तस्वीर अपलोड नहीं हो सकी", + "websiteUrl": "वेबसाइट URL (वैकल्पिक)" + }, + "createShop": { + "address": "दुकान का पता", + "addressPlaceholder": "जैसे 411 N Fairfax Ave, Los Angeles, CA 90036", + "addressRequired": "पता आवश्यक", + "addressRequiredDesc": "कृपया अपनी दुकान का पता दर्ज करें।", + "contactHint": "ग्राहकों को आप तक पहुँचने में मदद करें (कम से कम एक संपर्क विधि सुझाई जाती है)", + "contactInfo": "संपर्क जानकारी", + "created": "🎉 दुकान जोड़ी गई!", + "createdDesc": "आपकी स्केट दुकान अब मैप पर है। स्केटर्स धन्यवाद कहने के लिए आपको zap कर सकते हैं!", + "descriptionPlaceholder": "लोगों को अपनी दुकान, क्या बेचते हैं, अपनी ख़ासियत के बारे में बताएँ...", + "detailsDesc": "समुदाय को अपनी दुकान के बारे में बताएँ। * वाले सभी फ़ील्ड आवश्यक हैं।", + "email": "ईमेल", + "hoursOfOperation": "खुलने का समय", + "hoursPlaceholder": "जैसे सोम-शनि 10AM-8PM, रवि 12PM-6PM", + "instagram": "Instagram", + "invalidCoords": "अमान्य निर्देशांक", + "invalidCoordsDesc": "कृपया मान्य अक्षांश (-90 से 90) और देशांतर (-180 से 180) दर्ज करें।", + "latPlaceholder": "अक्षांश (जैसे 34.0737)", + "lngPlaceholder": "देशांतर (जैसे -118.3614)", + "locationRequired": "स्थान आवश्यक", + "locationRequiredDesc": "कृपया निर्देशांक दर्ज करें या अपना वर्तमान स्थान इस्तेमाल करें।", + "loginToAdd": "स्केट दुकान जोड़ने के लिए आपको लॉग इन करना होगा।", + "namePlaceholder": "जैसे Supreme Los Angeles", + "nameRequired": "दुकान का नाम आवश्यक", + "nameRequiredDesc": "कृपया अपनी दुकान का नाम दर्ज करें।", + "phoneNumber": "फ़ोन नंबर", + "publishFailedDesc": "कुछ गड़बड़ हो गई। विवरण के लिए कंसोल देखें।", + "shopPhotoAlt": "दुकान", + "shopPhotos": "दुकान की फ़ोटो", + "subtitle": "अपनी दुकान मैप पर लिस्ट करें और समुदाय से जुड़ें", + "upload": "अपलोड करें" + }, + "createTour": { + "acceptedClipSources": "स्वीकृत क्लिप स्रोत", + "acceptedClipSourcesDesc": "क्लिप सबमिशन के लिए कौन-से फ़ॉर्मैट स्वीकार करेंगे?", + "accommodationInfo": "ठहरने की जानकारी", + "accommodationPlaceholder": "ठहरने के सुझाव या इंतज़ाम, जैसे 'रास्ते में बजट हॉस्टल', 'कैंपिंग गियर ज़रूरी', 'Airbnb शामिल'", + "addChallenge": "चैलेंज जोड़ें", + "addCity": "शहर जोड़ें...", + "addCountry": "देश जोड़ें...", + "addShopFirst": "पहले दुकान जोड़ें", + "alsoSelected": "ये भी चुने गए:", + "availabilityPlaceholder": "जैसे वीकेंड, केवल सुबह, अपॉइंटमेंट से", + "availabilityQuestion": "आप आमतौर पर कब उपलब्ध हैं?", + "availableShops": "उपलब्ध स्केट दुकानें ({{count}})", + "challengeDescPlaceholder": "वैकल्पिक विवरण...", + "challenges": "चैलेंज", + "challengesRequired": "चैलेंज आवश्यक", + "challengesRequiredDesc": "कृपया टीमों के लिए कम से कम एक चैलेंज जोड़ें।", + "challengesSecret": "प्रतियोगिता शुरू होने की तारीख़ तक सभी चैलेंज गुप्त रहते हैं। टीमें तब तक उन्हें नहीं देखेंगी!", + "challengeTitlePlaceholder": "चैलेंज का शीर्षक, जैसे '10 सीढ़ी पर किकफ्लिप'", + "citiesLabel": "शहर", + "citiesOnTour": "टूर के शहर", + "cityPlaceholder": "जैसे बर्लिन, जर्मनी", + "cityRegion": "शहर / क्षेत्र", + "cityRequired": "शहर/क्षेत्र आवश्यक", + "cityRequiredDesc": "कृपया अपना शहर या क्षेत्र दर्ज करें।", + "clipAnyUrl": "🔗 कोई भी URL", + "clipBlossom": "📦 Blossom अपलोड", + "clipInstagram": "📸 Instagram", + "clipYouTube": "▶️ YouTube", + "competitionDates": "प्रतियोगिता की तारीख़ें", + "competitionDatesWarning": "⚠️ शुरुआती तारीख़ तक सभी चैलेंज गुप्त हैं! प्रतियोगिता शुरू होने तक टीमें चैलेंज नहीं देखेंगी।", + "competitionLocations": "प्रतियोगिता के स्थान", + "competitionLocationsDesc": "टीमें कहाँ मुक़ाबला करेंगी? सभी शहर और देश जोड़ें।", + "coordsHint": "निर्देशांक वैकल्पिक हैं। मिलने की जगह को मैप पर पिन करने के लिए इन्हें जोड़ें।", + "countriesLabel": "देश", + "countriesRequired": "देश आवश्यक", + "countriesRequiredDesc": "कृपया अपने अंतरराष्ट्रीय टूर के लिए कम से कम एक देश जोड़ें।", + "createdDestruction": "💀 WORLD DESTRUCTION TOUR बन गया!", + "createdDestructionDesc": "टीमें रजिस्टर कर सकती हैं। चैलेंज शुरुआती तारीख़ पर खुलेंगे!", + "createDestructionTour": "World Destruction Tour बनाएँ", + "createdInternational": "✈️ अंतरराष्ट्रीय टूर बन गया!", + "createdInternationalDesc": "आपका वैश्विक रोमांच लिस्ट हो गया! दुनिया भर के स्केटर्स से जुड़ें।", + "createdLocal": "🏠 स्थानीय टूर बन गया!", + "createdLocalDesc": "आपका टूर अब दिख रहा है। स्केटर्स DM से बुक कर सकते हैं!", + "createdNational": "🚐 राष्ट्रीय टूर बन गया!", + "createdNationalDesc": "आपका रोड ट्रिप लाइव है! इच्छुक स्केटर्स के साथ समन्वय शुरू करें।", + "departure": "प्रस्थान *", + "departureRequired": "प्रस्थान तारीख़ आवश्यक", + "departureRequiredDesc": "तय करें कि यात्रा कब निकलेगी ताकि स्केटर्स योजना बना सकें और बुक कर सकें।", + "descriptionPlaceholder": "बताएँ कि स्केटर्स क्या अनुभव करेंगे: आप किन स्पॉट पर जाएँगे, माहौल, आपका टूर क्यों ख़ास है...", + "destructionDesc": "अपनी वैश्विक KOTR-शैली प्रतियोगिता सेट करें — हर चीज़ आप तय करते हैं!", + "discountHint": "टूर प्रतिभागी दुकान पर अपनी बुकिंग पुष्टि दिखाकर यह छूट पा सकते हैं", + "discountPercentage": "छूट प्रतिशत", + "dropTour": "टूर पोस्ट करें", + "duration": "अवधि", + "durationHintDestruction": "प्रतियोगिता कितनी लंबी है? (1-12 महीने)", + "durationHintInternational": "रोमांच कितने हफ़्तों का है? (2 महीने तक)", + "durationHintLocal": "आपका आम टूर कितना लंबा होता है?", + "durationHintNational": "रोड ट्रिप कितने दिनों का है?", + "durationWeeksMonths": "{{weeks}} हफ़्ते (~{{months}} महीने)", + "editTour": "टूर संपादित करें", + "enable": "सक्षम करें", + "enabled": "सक्षम", + "endBeforeStart": "समाप्ति शुरुआत से पहले", + "endBeforeStartDesc": "प्रतियोगिता की समाप्ति तारीख़ शुरुआत की तारीख़ पर या उसके बाद होनी चाहिए।", + "endDate": "समाप्ति तारीख़", + "entryFeeHint": "आप 95% रखते हैं • प्लेटफ़ॉर्म 5% लेता है • मुफ़्त प्रवेश के लिए खाली छोड़ें", + "entryFeePerTeam": "प्रति टीम प्रवेश शुल्क (sats)", + "entryFeePlaceholder": "जैसे 100000", + "entryPrizes": "प्रवेश और पुरस्कार", + "filmPremieres": "टीम फ़िल्म प्रीमियर", + "filmPremieresDesc": "प्रतियोगिता के बाद हर टीम की क्लिप एक पूरी फ़िल्म बनती हैं जिसका प्रीमियर दुनिया भर की स्थानीय स्केट दुकानों में हो सकता है।", + "filmPremieresInfo": "🎥 टीमें अपनी चैलेंज क्लिप से अंतिम फ़िल्म बनाती हैं। दुकानें प्रीमियर इवेंट आयोजित कर सकती हैं, जिससे वैश्विक प्रतियोगिता स्थानीय समुदायों से जुड़ती है।", + "filmReleaseDate": "फ़िल्म रिलीज़ तारीख़ (वैकल्पिक)", + "filmReleaseDateHint": "फ़िल्में कब उपलब्ध होंगी। प्रतियोगिता खत्म होने के तुरंत बाद रिलीज़ के लिए खाली छोड़ें।", + "fixedSession": "तय सत्र", + "fixedSessionDesc": "एक तय तारीख़ और समय", + "flexible": "लचीला", + "flexibleDesc": "DM से कभी भी बुक करें", + "hide": "छिपाएँ", + "howDestruction1": "• वैश्विक टीम प्रतियोगिता — 12 महीने तक लंबी", + "howDestruction2": "• चैलेंज, अंक, पुरस्कार आप तय करते हैं — हम सिर्फ़ प्लेटफ़ॉर्म देते हैं", + "howDestruction3": "• प्रतियोगिता शुरू होने की तारीख़ तक सभी चैलेंज गुप्त", + "howDestruction4": "• क्लिप Blossom अपलोड या बाहरी लिंक (YouTube, Instagram, कोई भी URL) से", + "howDestruction5": "• केवल उन्नत स्तर — सभी स्पॉट प्रकार अपने आप शामिल", + "howDestruction6": "• प्लेटफ़ॉर्म प्रवेश शुल्क का केवल 5% लेता है (पुरस्कार राशि का नहीं)", + "howDestructionTitle": "💀 WORLD DESTRUCTION TOUR - KOTR शैली", + "howInternational1": "• कई देशों में सीमा-पार रोमांच", + "howInternational2": "• कीमत आप तय करते हैं — प्लेटफ़ॉर्म केवल 5% लेता है", + "howInternational3": "• प्रस्थान और वापसी तारीख़ें तय करें ताकि क्रू फ़्लाइट बुक कर सके", + "howInternational4": "• दुनिया भर के स्केटर्स को जोड़ें", + "howInternational5": "• अविस्मरणीय वैश्विक अनुभव बनाएँ!", + "howInternationalTitle": "अंतरराष्ट्रीय टूर कैसे काम करते हैं", + "howItWorks": "यह कैसे काम करता है:", + "howLocal1": "• कीमत आप तय करते हैं — प्लेटफ़ॉर्म 10% लेता है", + "howLocal2": "• छिपे स्पॉट छिपे रहते हैं — आप उन्हें खुद दिखाते हैं", + "howLocal3": "• तय सत्र चलाएँ या इसे लचीला / अपॉइंटमेंट-आधारित रखें", + "howLocal4": "• स्केटर्स DM से बुक करते हैं, Lightning से भुगतान करते हैं और इसे अपने कैलेंडर में जोड़ सकते हैं", + "howLocal5": "• समीक्षाओं और zaps से अपनी प्रतिष्ठा बनाएँ", + "howLocalTitle": "स्थानीय टूर कैसे काम करते हैं", + "howNational1": "• अपने देश में कई शहरों के रोड ट्रिप", + "howNational2": "• कीमत आप तय करते हैं — प्लेटफ़ॉर्म केवल 7% लेता है", + "howNational3": "• यात्रा की तारीख़ें तय करें ताकि स्केटर्स छुट्टी और यात्रा की योजना बना सकें", + "howNational4": "• क्रू के लिए परिवहन / ठहरने की जानकारी जोड़ें", + "howNational5": "• शानदार स्केट रोमांच बनाएँ!", + "howNationalTitle": "राष्ट्रीय टूर कैसे काम करते हैं", + "imageUploadedDesc": "आपकी टूर तस्वीर अपलोड हो गई।", + "incompleteCoords": "अधूरे निर्देशांक", + "incompleteCoordsDesc": "कृपया अक्षांश और देशांतर दोनों दर्ज करें, या दोनों खाली छोड़ें।", + "internationalDetails": "अंतरराष्ट्रीय रोमांच का विवरण", + "languagesSelected": "{{count}} चुनी गईं", + "languagesSpoken": "बोली जाने वाली भाषाएँ", + "latOptional": "अक्षांश (वैकल्पिक)", + "lngOptional": "देशांतर (वैकल्पिक)", + "loadingProfile": "प्रोफ़ाइल लोड हो रही है...", + "loadingProfileDesc": "आपकी NIP-05 सत्यापन स्थिति जाँची जा रही है।", + "loadingShops": "दुकानें लोड हो रही हैं...", + "localShopPremieres": "स्थानीय दुकान प्रीमियर", + "localShopPremieresDesc": "दुनिया भर की स्केट दुकानें फ़िल्म नाइट आयोजित कर सकती हैं", + "loginToCreate": "टूर बनाने के लिए आपको लॉग इन करना होगा।", + "maxGroupSize": "अधिकतम समूह आकार", + "maxTeams": "अधिकतम टीमें", + "maxTeamSize": "अधिकतम टीम आकार", + "meetingLocationSet": "आपका वर्तमान स्थान मिलने की जगह के रूप में सेट हो गया है।", + "meetingPointDesc": "टूर प्रतिभागियों से कहाँ मिलेंगे? कोई सार्वजनिक, जाना-पहचाना स्पॉट चुनें।", + "meetingPointLabel": "मिलने की जगह", + "meetingPointPlaceholder": "जैसे Warschauer Straße स्टेशन", + "meetingPointRequired": "मिलने की जगह आवश्यक", + "meetingPointRequiredDesc": "कृपया बताएँ कि टूर प्रतिभागियों से कहाँ मिलेंगे।", + "minTeamSize": "न्यूनतम टीम आकार", + "noChallenges": "अभी कोई चैलेंज नहीं", + "noChallengesDesc": "टीमों के पूरा करने के लिए चैलेंज जोड़ें", + "noPartnerShop": "कोई साझेदार दुकान नहीं", + "noShopsFound": "नेटवर्क पर अभी कोई स्केट दुकान नहीं मिली।", + "noShopsRegistered": "अभी कोई स्केट दुकान रजिस्टर्ड नहीं", + "onlineRelease": "ऑनलाइन रिलीज़", + "onlineReleaseDesc": "फ़िल्में YouTube/Nostr पर भी रिलीज़ करें", + "organizerContact": "आयोजक के संपर्क विवरण", + "organizerContactHint": "यह रजिस्टर्ड टीमों को दिखेगा", + "organizerContactPlaceholder": "टीमें आपसे कैसे संपर्क कर सकती हैं? जैसे Nostr npub, ईमेल, Telegram, आदि।", + "partnerDiscountDesc": "टूर प्रतिभागियों को स्थानीय स्केट दुकान पर छूट दें", + "partnerStep1": "1. अपनी भरोसेमंद स्थानीय स्केट दुकान से साझेदारी करें", + "partnerStep2": "2. टूर प्रतिभागियों के लिए छूट प्रतिशत तय करें", + "partnerStep3": "3. टूर के बाद प्रतिभागियों को दुकान पर दिखाने के लिए पुष्टि दें", + "partnerStep4": "4. दुकान छूट देगी — समुदाय बढ़ेगा और ग्राहक भी आएँगे!", + "percentOff": "{{percent}}% छूट", + "photoHint": "अपनी स्केटिंग की या टूर के किसी शानदार स्पॉट की फ़ोटो जोड़ें।", + "pickRide": "अपनी सवारी चुनें", + "place1": "🥇 पहला", + "place2": "🥈 दूसरा", + "place3": "🥉 तीसरा", + "platformFee": "कीमत आप तय करते हैं • प्लेटफ़ॉर्म {{percent}} लेता है", + "points": "अंक:", + "pricePerPerson": "प्रति व्यक्ति कीमत (sats)", + "pricePlaceholder": "जैसे 25000", + "prizeDistribution": "पुरस्कार वितरण", + "prizePoolHint": "वैकल्पिक — कुल उपलब्ध पुरस्कार", + "prizePoolPlaceholder": "जैसे 2000000", + "proTipDesc": "साझेदार छूट लिस्ट करने से पहले, DM से दुकान मालिक से संपर्क करके छूट प्रतिशत पर सहमति बनाएँ। इससे वे तैयार रहेंगे और आपके टूर प्रतिभागियों को छूट देंगे।", + "proTipTitle": "💡 प्रो टिप: पहले दुकान से समन्वय करें!", + "return": "वापसी", + "returnBeforeDeparture": "वापसी प्रस्थान से पहले", + "returnBeforeDepartureDesc": "वापसी तारीख़ प्रस्थान तारीख़ पर या उसके बाद होनी चाहिए।", + "roadTripDetails": "रोड ट्रिप का विवरण", + "schedule": "समय-सारणी", + "scheduleDesc": "इसे एक बार का तय सत्र बनाएँ, या लचीला रखें और स्केटर्स को DM से समय बुक करने दें।", + "secretUntilStart": "शुरुआत तक गुप्त", + "selectPartnerShop": "साझेदार दुकान चुनें", + "sessionDateRequired": "सत्र तारीख़ आवश्यक", + "sessionDateRequiredDesc": "अपने तय सत्र की तारीख़ और समय चुनें, या लचीली समय-सारणी पर स्विच करें।", + "sessionDateTime": "सत्र की तारीख़ और समय", + "sessionDateTimeHint": "स्केटर्स यह समय देखेंगे और टूर पेज से इसे अपने कैलेंडर में जोड़ सकेंगे।", + "shopPremieresContact": "फ़िल्म प्रीमियर नाइट तय करने के लिए सीधे इन दुकानों से संपर्क करें। सभी इंतज़ाम निजी हैं।", + "shopPremieresHow": "💡 दुकान प्रीमियर कैसे काम करते हैं: प्रीमियर नाइट तय करने के लिए सीधे दुकानों से संपर्क करें। सभी इंतज़ाम आपके और दुकानों के बीच निजी रहते हैं।", + "shopsCanRegister": "दुकानें /create-shop पर रजिस्टर कर सकती हैं", + "show": "दिखाएँ", + "showAllLanguages": "सभी {{count}} भाषाएँ दिखाएँ", + "somethingWrong": "कुछ गड़बड़ हो गई।", + "spotTypes": "स्पॉट के प्रकार", + "spotTypesRequired": "स्पॉट प्रकार आवश्यक", + "spotTypesRequiredDesc": "कृपया कम से कम एक प्रकार का स्पॉट चुनें जो आप दिखाएँगे।", + "startDate": "शुरुआती तारीख़", + "startDateRequired": "शुरुआती तारीख़ आवश्यक", + "startDateRequiredDesc": "कृपया तय करें कि प्रतियोगिता कब शुरू होगी (इसी तारीख़ पर चैलेंज खुलेंगे)।", + "startingCity": "शुरुआती शहर", + "startingCityPlaceholder": "जैसे लॉस एंजिल्स, USA", + "teamSettings": "टीम सेटिंग्स", + "teamsCount": "{{count}} टीमें", + "titlePlaceholder": "जैसे बर्लिन क्रूज़बर्ग - भूमिगत स्पॉट टूर", + "titleRequired": "टूर शीर्षक आवश्यक", + "titleRequiredDesc": "कृपया अपने टूर का नाम दर्ज करें।", + "totalPercent": "कुल: {{percent}}%", + "totalPrizePool": "कुल पुरस्कार राशि (sats)", + "tourDesc": "स्केटर्स को बताएँ कि आपके टूर में क्या मिलेगा", + "tourDetails": "टूर का विवरण", + "tourPhoto": "टूर फ़ोटो", + "tourTitle": "टूर शीर्षक", + "transportDestructionPlaceholder": "टीमें स्थानों के बीच कैसे यात्रा करेंगी? कोई परिवहन दिया या सुझाया गया?", + "transportInfo": "परिवहन जानकारी", + "transportPlaceholder": "प्रतिभागी कैसे यात्रा करेंगे? जैसे 'वैन दी जाएगी', 'बार्सिलोना फ़्लाई करें, हम वैन किराए पर लेंगे', 'शहरों के बीच ट्रेन'", + "tripDatesDesc": "तारीख़ें तय करें ताकि स्केटर्स छुट्टी माँग सकें, फ़्लाइट बुक कर सकें और यात्रा की योजना बना सकें।", + "tripDatesTitle": "यात्रा की तारीख़ें", + "updated": "टूर अपडेट हुआ!", + "updatedDesc": "आपके बदलाव प्रकाशित हो गए।", + "upload": "अपलोड करें", + "view": "देखें →", + "worldDestruction": "World Destruction Tour", + "youReceive": "आपको मिलेगा: प्रति व्यक्ति {{amount}} sats" + }, + "editEvent": { + "accessDenied": "पहुँच नहीं", + "accessDeniedDesc": "आप केवल वही इवेंट संपादित कर सकते हैं जो आपने बनाए हैं।", + "backToEvent": "इवेंट पर वापस जाएँ", + "detailsDesc": "इस इवेंट की जानकारी अपडेट करें। * वाले सभी फ़ील्ड आवश्यक हैं।", + "eventCover": "इवेंट कवर", + "locationUpdated": "स्थान अपडेट हुआ।", + "loginToEdit": "इस इवेंट को संपादित करने के लिए आपको लॉग इन करना होगा।", + "newSpot": "नया स्पॉट: {{location}}।", + "newTime": "नया समय: {{date}} को {{time}} बजे।", + "saveChanges": "बदलाव सहेजें", + "saving": "सहेजा जा रहा है...", + "title": "इवेंट संपादित करें", + "updated": "इवेंट अपडेट हुआ!", + "updatedDesc": "आपके बदलाव नेटवर्क पर प्रकाशित हो गए।", + "updateDetails": "{{title}} का विवरण अपडेट करें", + "updatedNotified": "बदलाव प्रकाशित — {{count}} उपस्थित लोगों को सूचित किया गया।", + "updateFailed": "अपडेट करने में विफल", + "updateMessage": "{{parts}} — विवरण के लिए इवेंट देखें।" + }, + "editShop": { + "accessDeniedDesc": "आप केवल वही दुकानें संपादित कर सकते हैं जो आपने बनाई हैं।", + "backToShop": "दुकान पर वापस जाएँ", + "detailsDesc": "अपनी दुकान की जानकारी अपडेट करें। * वाले सभी फ़ील्ड आवश्यक हैं।", + "loginToEdit": "इस दुकान को संपादित करने के लिए आपको लॉग इन करना होगा।", + "updated": "दुकान अपडेट हुई!", + "updateDetails": "{{name}} का विवरण अपडेट करें" + }, + "editTour": { + "accessDeniedDesc": "आप केवल वही टूर संपादित कर सकते हैं जो आपने बनाए हैं।", + "loginToEdit": "इस टूर को संपादित करने के लिए आपको लॉग इन करना होगा।" + }, + "eventCard": { + "report": "रिपोर्ट करें" + }, + "eventDetail": { + "aCrew": "एक क्रू", + "addToCalendar": "कैलेंडर में जोड़ें", + "backToEvents": "इवेंट्स पर वापस जाएँ", + "cancelled": "यह इवेंट रद्द हो गया था", + "checkUpdate": "— अपडेट देखें", + "copyFailed": "कॉपी विफल", + "date": "तारीख़", + "editEvent": "इवेंट संपादित करें", + "eventFallback": "इवेंट", + "eventOrganizer": "इवेंट आयोजक", + "getDirections": "रास्ता देखें", + "linkCopied": "लिंक कॉपी हुआ", + "linkCopiedDesc": "इवेंट लिंक आपके क्लिपबोर्ड पर कॉपी हो गया — कहीं भी पेस्ट करें।", + "live": "लाइव:", + "liveMusic": "लाइव म्यूज़िक", + "location": "स्थान", + "newLocation": "नया स्थान", + "noRsvps": "कोई RSVP दर्ज नहीं हुआ।", + "organizer": "आयोजक", + "rsvpsClosed": "RSVP बंद हैं — यह इवेंट होस्ट ने रद्द कर दिया था।", + "seeMap": "मैप देखें", + "shareEvent": "इवेंट साझा करें", + "shareText": "{{title}} — SkateSpots पर एक स्केट इवेंट", + "shareTextFallback": "SkateSpots पर यह स्केट इवेंट देखें", + "time": "समय", + "timeChanged": "समय बदला", + "updatesFromHost": "होस्ट की तरफ़ से अपडेट", + "where": "कहाँ", + "whoCame": "कौन आया", + "whosGoing": "कौन जा रहा है" + }, + "events": { + "calendar": "कैलेंडर", + "createTour": "टूर बनाएँ", + "events": "इवेंट्स", + "faqFooter": "कोई सवाल है? FAQ देखें →", + "hosting": "मेज़बानी", + "hostingSubtitle": "आपके इवेंट — RSVP, अपडेट और त्वरित संपादन", + "list": "सूची", + "noEventsMatchFilters": "आपके फ़िल्टर से कोई इवेंट मेल नहीं खाता। उन्हें बदलकर या हटाकर देखें।", + "noPast": "कोई पिछला इवेंट नहीं", + "noPastBody": "आपके मौजूदा फ़िल्टर में कोई पिछला स्केट इवेंट नहीं मिला।", + "noTours": "कोई टूर नहीं मिला", + "noToursBody": "अभी कोई स्केट टूर नहीं। पहला बनाएँ और स्केटर्स को स्पॉट खोजने पर ले जाएँ!", + "noToursMatchFilters": "आपके फ़िल्टर से कोई टूर मेल नहीं खाता। उन्हें बदलकर या हटाकर देखें।", + "noUpcoming": "कोई आने वाला इवेंट नहीं", + "noUpcomingBody": "कोई आने वाला स्केट इवेंट नहीं मिला। पहला बनाने वाले बनें!", + "past": "पिछले", + "resultsCount": "{{count}} परिणाम", + "searchCity": "शहर…", + "searchEvent": "इवेंट का नाम…", + "searchTour": "टूर का नाम…", + "tours": "टूर", + "toursSubtitle": "स्थानीय गाइड, रोड ट्रिप और world destruction प्रतियोगिताएँ", + "upcoming": "आगामी" + }, + "eventTypes": { + "contest": "प्रतियोगिता", + "demo": "डेमो", + "jam": "जैम", + "meetup": "मीटअप", + "premiere": "प्रीमियर", + "session": "सत्र", + "workshop": "वर्कशॉप" + }, + "featured": { + "active": "सक्रिय", + "bodyEvent": "पोस्ट करना मुफ़्त है। फ़ीचर्ड इवेंट को बैज मिलता है और वे इवेंट्स पेज के ऊपर दिखते हैं।", + "bodyTour": "पोस्ट करना मुफ़्त है। फ़ीचर्ड टूर को बैज मिलता है और वे टूर सूची के ऊपर दिखते हैं।", + "contextEvent": "आपका इवेंट दोनों हाल में मुफ़्त लिस्ट रहता है — फ़ीचर्ड सिर्फ़ बैज और बढ़त जोड़ता है।", + "contextTour": "आपका टूर दोनों हाल में मुफ़्त लिस्ट रहता है — फ़ीचर्ड सिर्फ़ बैज और बढ़त जोड़ता है।", + "daysRemaining": "फ़ीचर्ड सक्रिय · {{count}} दिन बाकी।", + "headingEvent": "इस इवेंट को फ़ीचर करें", + "headingTour": "इस टूर को फ़ीचर करें", + "optional": "वैकल्पिक", + "platformOwner": "प्लेटफ़ॉर्म मालिक — फ़ीचर्ड हमेशा चालू।" + }, + "filters": { + "activeCount": "{{count}} सक्रिय", + "all": "सभी", + "allLevels": "सभी स्तर", + "eventType": "इवेंट प्रकार", + "following": "फ़ॉलो किए गए", + "newest": "सबसे नए", + "popular": "लोकप्रिय", + "showResults": "परिणाम दिखाएँ", + "showResultsActive": "परिणाम दिखाएँ · {{count}} सक्रिय", + "skillLevel": "कौशल स्तर", + "sortBy": "क्रमबद्ध करें", + "topRated": "सर्वाधिक रेटेड", + "tourCategory": "टूर श्रेणी", + "trusted": "भरोसेमंद", + "trustLevel": "भरोसा स्तर", + "verified": "सत्यापित" + }, + "food": { + "bar": "बार", + "cafe": "कैफ़े", + "call": "कॉल करें", + "chooseSpot": "स्पॉट चुनें...", + "directions": "रास्ता", + "fastFood": "फ़ास्ट फ़ूड", + "foodCourt": "फ़ूड कोर्ट", + "locationLabel": "स्थान:", + "noneFound": "कोई खाने का स्पॉट नहीं मिला", + "noneFoundDesc": "इस स्पॉट के 1km के भीतर हमें कोई रेस्तरां या कैफ़े नहीं मिला। कोई दूसरा स्थान चुनकर देखें।", + "placesFound": "{{spot}} के 1km के भीतर {{count}} जगह मिलीं", + "pub": "पब", + "restaurant": "रेस्तरां", + "selectSpot": "स्केट स्पॉट चुनें", + "selectSpotDesc": "पास के रेस्तरां, कैफ़े और खाने के अन्य विकल्प खोजने के लिए ऊपर ड्रॉपडाउन से स्केट स्पॉट चुनें।", + "selectSpotTitle": "स्केट स्पॉट चुनें", + "subtitle": "अपने पसंदीदा स्केट स्पॉट के पास खाने की जगहें खोजें", + "title": "स्पॉट के पास खाना", + "unknown": "अज्ञात", + "website": "वेबसाइट" + }, + "rsvp": { + "areYouGoing": "क्या आप जा रहे हैं?", + "cant": "नहीं", + "cantMakeIt": "नहीं आ पाऊँगा", + "going": "मैं जा रहा हूँ", + "goingCount": "जा रहे हैं", + "goingShort": "जा रहा हूँ", + "hostNote": "आप इसके होस्ट हैं — फिर भी अपनी स्थिति सेट कर सकते हैं।", + "interested": "रुचि है", + "interestedCount": "रुचि है", + "loginToRsvp": "RSVP करने के लिए लॉग इन करें।", + "maybe": "शायद", + "toastError": "RSVP नहीं हो सका", + "toastGoing": "आप जा रहे हैं! 🛹", + "toastInterested": "रुचि के रूप में चिह्नित।", + "toastNotGoing": "न जाने के रूप में चिह्नित।", + "tryAgain": "कृपया फिर कोशिश करें।" + }, + "shop": { + "addNip05Settings": "सेटिंग्स में NIP-05 जोड़ें", + "adminRemovedReason": "SkateSpots एडमिन ने दुकान \"{{name}}\" हटाई", + "areYouOwner": "क्या आप दुकान के मालिक हैं?", + "backToMap": "मैप पर वापस जाएँ", + "claimDesc": "अगर आप इस दुकान के मालिक या प्रबंधक हैं, तो NIP-05 से स्वामित्व सत्यापित करने के लिए इसे क्लेम कर सकते हैं।", + "claimNip05Intro": "इस दुकान को क्लेम करने के लिए ऐसा NIP-05 पहचानकर्ता जोड़ें जो दुकान की वेबसाइट डोमेन से मेल खाए। उदाहरण के लिए, अगर दुकान की वेबसाइट है", + "claimNip05Your": "तो आपका NIP-05 होना चाहिए", + "contactShop": "दुकान से संपर्क करें", + "deleted": "दुकान हटाई गई", + "deletedDesc": "रिले को डिलीशन अनुरोध भेजा गया। ज़्यादातर रिले यह सामग्री हटा देंगे।", + "deleteDialogDesc": "इससे \"{{name}}\" सभी रिले से हमेशा के लिए हट जाएगी। इसे वापस नहीं लाया जा सकता।", + "deleteDialogTitle": "दुकान हटाएँ?", + "deletedReason": "हटाई गई दुकान", + "deleteFailed": "हटाना विफल", + "deleteShop": "दुकान हटाएँ", + "linkCopied": "लिंक कॉपी हुआ!", + "linkCopiedDesc": "दुकान का लिंक क्लिपबोर्ड पर कॉपी हुआ।", + "nip05Required": "⚠️ दुकानें क्लेम करने के लिए NIP-05 सत्यापन आवश्यक", + "opens": "इन पर खुलती है: {{domain}}", + "removeAdmin": "हटाएँ (एडमिन)", + "removed": "दुकान हटाई गई", + "removedDesc": "यह दुकान हटा दी गई है और पूरे SkateSpots पर छिपी रहेगी।", + "removeDialogDesc": "SkateSpots एडमिन के रूप में आप \"{{name}}\" हटा रहे हैं। यह सभी के लिए ऐप में छिपी रहेगी और रिले को डिलीशन अनुरोध भेजा जाएगा।", + "removeDialogTitle": "यह दुकान हटाएँ? (एडमिन)", + "removeShop": "दुकान हटाएँ", + "tipMapper": "मैपर को टिप दें", + "tipMapperDesc": "यह दुकान किसी समुदाय सदस्य ने जोड़ी थी। धन्यवाद कहने के लिए उन्हें zap करें!", + "updateNip05": "क्लेम करने के लिए NIP-05 अपडेट करें", + "viewPhotoFull": "फ़ोटो पूरी स्क्रीन पर देखें", + "viewPhotoOf": "{{total}} में से फ़ोटो {{index}} देखें" + }, + "sponsors": { + "presentedBy": "प्रस्तुतकर्ता" + }, + "tourCard": { + "active": "सक्रिय", + "completed": "पूर्ण", + "contactForPrice": "कीमत के लिए संपर्क करें", + "durationDays": "{{count}} दिन", + "durationHours": "{{count}} घंटे", + "durationMonths": "{{count}} महीने", + "durationWeeks": "{{count}} हफ़्ते", + "entry": "प्रवेश: {{amount}} sats", + "happeningNow": "अभी चल रहा है", + "inDays": "{{count}} दिनों में", + "inHours": "{{count}} घंटे में", + "inMonths": "{{count}} महीनों में", + "inWeeks": "{{count}} हफ़्तों में", + "maxGroup": "अधिकतम {{count}}", + "price": "{{amount}} sats", + "prizePool": "{{amount}} sats", + "registrationOpen": "रजिस्ट्रेशन खुला", + "startingSoon": "जल्द शुरू होगा", + "teamsMax": "अधिकतम {{count}} टीमें", + "tomorrow": "कल", + "worldwide": "दुनिया भर" + }, + "tourDetail": { + "about": "इस टूर के बारे में", + "availability": "उपलब्धता", + "competitionWindow": "प्रतियोगिता अवधि", + "contactToBook": "बुक करने के लिए गाइड से संपर्क करें", + "discountAt": "{{shop}} पर {{percent}}% छूट", + "duration": "अवधि", + "languages": "भाषाएँ", + "loginToBook": "बुक करने के लिए लॉग इन करें", + "loginToBookDesc": "गाइड से संपर्क करने और यह टूर बुक करने के लिए लॉग इन करें", + "maxGroup": "अधिकतम समूह", + "meetingPoint": "मिलने की जगह", + "notFound": "टूर नहीं मिला", + "notFoundDesc": "यह टूर हटा दिया गया हो सकता है या मौजूद नहीं है।", + "organizer": "आयोजक", + "partnerDiscount": "साझेदार दुकान छूट", + "partnerDiscountDesc": "साझेदार स्केट दुकान पर छूट पाने के लिए यह टूर बुक करें। दुकान के कर्मचारियों को अपनी बुकिंग पुष्टि दिखाएँ।", + "people": "{{count}} लोग", + "perPerson": "प्रति व्यक्ति", + "price": "कीमत", + "runsAbout": "लगभग {{duration}} चलता है", + "scheduledSession": "तय सत्र", + "shareText": "यह स्थानीय स्केट टूर देखें: {{title}}", + "skillLevel": "कौशल स्तर", + "spotTypes": "स्पॉट के प्रकार", + "tourGuide": "टूर गाइड", + "tourSponsors": "टूर प्रायोजक", + "tripDates": "यात्रा की तारीख़ें", + "viewProfile": "प्रोफ़ाइल देखें" + }, + "updates": { + "admin": "एडमिन", + "adminNote": "आप SkateSpots एडमिन के रूप में पोस्ट कर रहे हैं। इसे स्पष्ट रूप से एडमिन सूचना के रूप में दिखाया जाएगा, होस्ट की तरफ़ से नहीं।", + "kindCancelled": "रद्द", + "kindNewSpot": "नया स्पॉट", + "kindNewTime": "नया समय", + "kindUpdate": "अपडेट", + "loading": "अपडेट लोड हो रहे हैं…", + "notifiedCount": "{{count}} लोगों को सूचित किया गया।", + "notifiedEveryone": "हर कोई इसे इवेंट पर देखेगा।", + "notifiesRsvps": "{{count}} RSVP को सूचित करता है", + "noUpdates": "होस्ट की तरफ़ से अभी कोई अपडेट नहीं। RSVP करें और कुछ बदलने पर आपको सूचित किया जाएगा।", + "placeholder": "बारिश — रविवार 2pm पर स्थानांतरित। पीछे के लेज पर मिलें…", + "post": "पोस्ट करें", + "postAdminUpdate": "एडमिन अपडेट पोस्ट करें", + "posted": "अपडेट पोस्ट हुआ", + "postError": "अपडेट पोस्ट नहीं हो सका", + "postUpdate": "अपडेट पोस्ट करें", + "tryAgain": "कृपया फिर कोशिश करें।", + "visibleToEveryone": "इस इवेंट पर सभी को दिखाई देगा" + }, + "destination": { + "bitcoin": "Bitcoin", + "closeSearch": "खोज बंद करें", + "nothingMatches": "“{{query}}” से कुछ मेल नहीं खाता।", + "placeholder": "स्पॉट, दुकानें, Bitcoin व्यापारी खोजें…", + "shop": "दुकान", + "spot": "स्पॉट", + "typeChars": "कम से कम 2 अक्षर लिखें। स्केट स्पॉट, स्केट दुकानें और Bitcoin व्यापारी खोजता है।", + "typeCharsNear": "कम से कम 2 अक्षर लिखें। आस-पास के स्केट स्पॉट, स्केट दुकानें और Bitcoin व्यापारी खोजता है।" + }, + "dateWindow": { + "any": "कोई भी", + "anytime": "कभी भी", + "month": "इस महीने", + "monthShort": "महीना", + "today": "आज", + "todayShort": "आज", + "week": "इस हफ़्ते", + "weekend": "वीकेंड", + "weekendShort": "वीकेंड", + "weekShort": "हफ़्ता" + } + }, + "marketplace": { + "title": "मार्केटप्लेस", + "subtitle": "स्केट गियर खरीदें, बेचें और बदलें", + "addListing": "लिस्टिंग जोड़ें", + "condition": "स्थिति", + "conditions": { + "new": "नया", + "likeNew": "लगभग नया", + "good": "अच्छा", + "fair": "ठीक", + "poor": "खराब" + }, + "categories": { + "all": "सभी", + "decks": "डेक", + "trucks": "ट्रक", + "wheels": "पहिये", + "bearings": "बेयरिंग", + "shoes": "जूते", + "clothing": "कपड़े", + "protection": "सुरक्षा", + "other": "अन्य" + }, + "priceRange": "कीमत सीमा", + "location": "स्थान", + "seller": "विक्रेता", + "contact": "विक्रेता से संपर्क करें", + "makeOffer": "ऑफ़र दें", + "sold": "बिक गया", + "available": "उपलब्ध", + "gear": "गियर", + "sellGear": "गियर बेचें", + "wantToBuy": "खरीदना है" + } +}; + +export default batch4; diff --git a/src/i18n/hi/batch5.ts b/src/i18n/hi/batch5.ts new file mode 100644 index 0000000..28702e8 --- /dev/null +++ b/src/i18n/hi/batch5.ts @@ -0,0 +1,1463 @@ +const batch5 = { + "labUi": { + "activeCount": "{{count}} सक्रिय", + "addMusicProfile": "म्यूज़िक प्रोफ़ाइल जोड़ें", + "all": "सभी", + "clearAll": "सब हटाएँ", + "collective": "कलेक्टिव", + "filters": "फ़िल्टर", + "following": "फ़ॉलो किए गए", + "getRiderCard": "राइडर कार्ड पाएँ", + "judgeEvents": "इवेंट जज करें", + "justASkater": "बस एक", + "labForServices": "The Lab सेवाओं के लिए है। पूरी स्केटर कम्युनिटी देखें और जुड़ें", + "loginToOffer": "सेवाएँ देने के लिए लॉग इन करें", + "newest": "नवीनतम", + "noResults": "कोई परिणाम नहीं", + "offer": "ऑफ़र करें", + "offerBuilding": "बिल्डिंग ऑफ़र करें", + "offerCoaching": "कोचिंग ऑफ़र करें", + "offerClothing": "कपड़े ऑफ़र करें", + "offerCuts": "हेयरकट ऑफ़र करें", + "offerDesignArt": "डिज़ाइन / आर्ट ऑफ़र करें", + "offerEditing": "एडिटिंग ऑफ़र करें", + "offerFilming": "फ़िल्मिंग ऑफ़र करें", + "offerGraffiti": "ग्रैफ़िटी ऑफ़र करें", + "offerPhotography": "फ़ोटोग्राफ़ी ऑफ़र करें", + "offerServices": "सेवाएँ ऑफ़र करें", + "yourProfiles": "आपकी Lab प्रोफ़ाइलें", + "preview": { + "button": "प्रीव्यू", + "title": "लाइव प्रीव्यू", + "desc": "पब्लिश होने पर आपकी {{noun}} प्रोफ़ाइल ऐसी दिखेगी।", + "untitled": "आपका नाम", + "noBio": "अभी कोई बायो नहीं — जो आप ऑफ़र करते हैं, उसके बारे में एक लाइन जोड़ें।", + "years": "{{count}} साल का अनुभव", + "portfolio": "पोर्टफ़ोलियो", + "note": "सिर्फ़ प्रीव्यू — अभी कुछ पब्लिश नहीं हुआ है।" + }, + "draft": { + "title": "आपका एक अनसेव्ड ड्राफ़्ट है", + "body": "जहाँ छोड़ा था वहीं से शुरू करें — जब तक आप Publish नहीं दबाते, कुछ पब्लिश नहीं होता। GNU Affero General Public License v3.0 के अंतर्गत लाइसेंस्ड: डेरिवेटिव और होस्टेड वर्ज़न इन्हीं शर्तों के तहत खुले रहने चाहिए, क्योंकि नेटवर्क उपयोग वितरण माना जाता है।", + "resume": "ड्राफ़्ट जारी रखें", + "discard": "ड्राफ़्ट हटाएँ" + }, + "progress": { + "title": "प्रोफ़ाइल पूर्णता", + "count": "{{total}} में से {{done}} पूरे", + "photo": "फ़ोटो", + "bio": "बायो", + "skills": "स्किल्स", + "rate": "दर", + "location": "लोकेशन", + "contact": "संपर्क" + }, + "wizard": { + "identity": "पहचान", + "offer": "आप क्या ऑफ़र करते हैं", + "rates": "दरें", + "contact": "संपर्क", + "media": "मीडिया" + }, + "offerTattoo": "टैटू ऑफ़र करें", + "offerTraining": "ट्रेनिंग / फ़िज़ियो ऑफ़र करें", + "organizeEvents": "इवेंट आयोजित करें", + "resultsMany": "{{count}} परिणाम", + "resultsOne": "{{count}} परिणाम", + "searchCityPlaceholder": "शहर…", + "searchNamePlaceholder": "नाम, बायो…", + "showResults": "परिणाम दिखाएँ", + "showResultsActive": "परिणाम दिखाएँ · {{count}} सक्रिय", + "skaterWord": "स्केटर", + "sortBy": "क्रमबद्ध करें", + "theCrew": "द क्रू", + "topRated": "टॉप रेटेड", + "trusted": "भरोसेमंद", + "trustLevel": "भरोसे का स्तर", + "yearsExp": "{{count}} साल अनुभव", + "tabCoaches": "कोच", + "tabFilmers": "फ़िल्मर", + "tabPhoto": "फ़ोटो", + "tabEditors": "एडिटर", + "tabBuilders": "बिल्डर", + "tabArtists": "आर्टिस्ट", + "tabGraffiti": "ग्रैफ़िटी", + "tabTattoo": "टैटू", + "tabTrainers": "ट्रेनर", + "tabMusic": "म्यूज़िक", + "tabJudges": "जज", + "tabOrganizers": "आयोजक", + "tabBarbers": "बार्बर", + "tabClothing": "कपड़े", + "filterSkillsToLearn": "सीखने के लिए स्किल्स", + "filterContentType": "कंटेंट टाइप", + "filterEquipmentStyle": "इक्विपमेंट और स्टाइल", + "filterServices": "सेवाएँ", + "filterCamera": "कैमरा", + "filterLenses": "लेंस", + "filterLighting": "लाइटिंग", + "filterSupportRig": "सपोर्ट और रिग", + "filterStyle": "स्टाइल", + "filterWhatTheyBuild": "वे क्या बनाते हैं", + "filterMaterialsTrade": "मटीरियल और ट्रेड", + "filterProjectScale": "प्रोजेक्ट का पैमाना", + "filterWhatTheyMake": "वे क्या बनाते हैं", + "filterMedium": "माध्यम", + "filterSoftwareTools": "सॉफ़्टवेयर और टूल्स", + "filterWorkContext": "काम का संदर्भ", + "filterMethod": "तरीका", + "filterFocus": "फ़ोकस", + "filterInjuriesTreated": "इलाज की जाने वाली चोटें", + "filterCredentialsSetting": "क्रेडेंशियल और सेटिंग", + "filterGenre": "जॉनर", + "filterInstrumentsRole": "इंस्ट्रुमेंट और भूमिका", + "filterEventFormats": "इवेंट फ़ॉर्मैट", + "filterSpecialty": "विशेषज्ञता", + "filterLevelCircuit": "स्तर / सर्किट", + "filterEventTypes": "इवेंट प्रकार", + "filterWhatYouHandle": "आप क्या संभालते हैं", + "filterScale": "पैमाना", + "filterWhatTheyOffer": "वे क्या ऑफ़र करते हैं", + "filterSignatureStyles": "सिग्नेचर स्टाइल", + "filterSetting": "सेटिंग", + "filterEditType": "एडिट टाइप", + "role": { + "coach": "कोच", + "filmer": "फ़िल्मर", + "builder": "बिल्डर", + "editor": "वीडियो एडिटर", + "photographer": "फ़ोटोग्राफ़र", + "skater": "स्केटर" + }, + "empty": { + "footer": "कोई सवाल है? FAQ देखें →", + "loginSuffix": "प्रोफ़ाइल बनाने के लिए।", + "coachesTitle": "अभी कोई कोच नहीं", + "coachesBody": "अपने इलाके में स्केटबोर्डिंग कोचिंग देने वाले पहले व्यक्ति बनें।", + "filmersTitle": "अभी कोई फ़िल्मर नहीं", + "filmersBody": "स्केट फ़िल्मिंग देने वाले पहले व्यक्ति बनें — क्लिप, पूरे पार्ट्स, कॉन्टेस्ट कवरेज और बहुत कुछ।", + "photographersTitle": "अभी कोई फ़ोटोग्राफ़र नहीं", + "photographersBody": "अपने इलाके में स्केट फ़ोटोग्राफ़ी देने वाले पहले व्यक्ति बनें — एक्शन शॉट्स, सीक्वेंस, एडिटोरियल और बहुत कुछ।", + "editorsTitle": "अभी कोई वीडियो एडिटर नहीं", + "editorsBody": "स्केट वीडियो एडिटिंग सेवाएँ देने वाले पहले व्यक्ति बनें।", + "buildersTitle": "अभी कोई बिल्डर नहीं", + "buildersBody": "अपना रैंप, पार्क या DIY बिल्ड लिस्ट करने वाले पहले व्यक्ति बनें — कंक्रीट, लकड़ी, रेल्स और बहुत कुछ।", + "artistsTitle": "अभी कोई आर्टिस्ट नहीं", + "artistsBody": "सीन के लिए बोर्ड ग्राफ़िक्स, लोगो, पोस्टर और मर्च देने वाले पहले व्यक्ति बनें।", + "graffitiTitle": "अभी कोई ग्रैफ़िटी आर्टिस्ट नहीं", + "graffitiBody": "अपने इलाके में पीस, म्यूरल और स्केटपार्क आर्ट देने वाले पहले व्यक्ति बनें।", + "tattooTitle": "अभी कोई टैटू आर्टिस्ट नहीं", + "tattooBody": "स्केट-कल्चर टैटू आर्टिस्ट के तौर पर लिस्ट होने वाले पहले व्यक्ति बनें — फ़्लैश, कस्टम, फ़ाइन लाइन और बहुत कुछ।", + "trainersTitle": "अभी कोई ट्रेनर नहीं", + "trainersBody": "स्केटर्स को मज़बूत और स्वस्थ रखने में मदद करने वाले पहले ट्रेनर या फ़िज़ियो बनें।", + "musiciansTitle": "अभी कोई म्यूज़िशियन नहीं", + "musiciansBody": "स्केट करते हैं और म्यूज़िक बनाते हैं? अपना बैंड या सोलो प्रोजेक्ट जोड़ें — जॉनर, इंस्ट्रुमेंट और लिंक।", + "judgesTitle": "अभी कोई जज नहीं", + "judgesBody": "फ़ेयर कॉन्टेस्ट चलाते हैं? Game of S.K.A.T.E., बेस्ट ट्रिक जैम, कॉन्टेस्ट और टूर स्टॉप जज करने के लिए खुद को लिस्ट करें।", + "organizersTitle": "अभी कोई आयोजक नहीं", + "organizersBody": "जैम, कॉम्प, मीटअप या डेमो कराते हैं? खुद को लिस्ट करें ताकि स्केटर्स आपको ढूँढ सकें और बुक कर सकें।", + "barbersTitle": "अभी कोई बार्बर नहीं", + "barbersBody": "स्केटर्स के बाल काटते हैं? अपनी चेयर या मोबाइल सेवा लिस्ट करें ताकि सीन को फ़्रेश ट्रिम मिल सके।", + "clothingTitle": "अभी कोई कपड़े डिज़ाइनर नहीं", + "clothingBody": "सीन के लिए कस्टम कपड़े, टीम किट और अपैरल देने वाले पहले व्यक्ति बनें।" + }, + "become": { + "addNip05": "सेटिंग्स में NIP-05 जोड़ें", + "backToLab": "The Lab पर वापस जाएँ", + "bioWorkLabel": "बायो / अपने काम के बारे में", + "checkContact": "अपने संपर्क विवरण जाँचें", + "cityArea": "शहर / इलाका", + "cityCountry": "शहर, देश", + "connectWallet": "वॉलेट कनेक्ट करें", + "connectWalletNwc": "NWC से वॉलेट कनेक्ट करें", + "contactInfo": "संपर्क जानकारी", + "contactInfoDesc": "क्लाइंट आपसे कैसे संपर्क कर सकते हैं (सभी वैकल्पिक, पर सुझाया गया)", + "coordinatesOptional": "निर्देशांक (वैकल्पिक)", + "email": "ईमेल", + "failedToPublish": "पब्लिश नहीं हो सका", + "fromNostrProfile": "आपकी Nostr प्रोफ़ाइल से", + "geolocationUnsupported": "जियोलोकेशन समर्थित नहीं है", + "getting": "प्राप्त किया जा रहा है…", + "headline": "हेडलाइन", + "headlineHint": "आपके Lab कार्ड पर शीर्षक के रूप में दिखता है — जैसे “{{example}}”। डिफ़ॉल्ट रूप से आपका नाम।", + "imageUploaded": "इमेज अपलोड हो गई", + "instagram": "Instagram", + "invalidEmail": "मान्य ईमेल पता दर्ज करें।", + "invalidPortfolio": "मान्य पोर्टफ़ोलियो URL दर्ज करें।", + "invalidWebsite": "मान्य वेबसाइट URL दर्ज करें।", + "latitude": "अक्षांश", + "learnHow": "तरीका जानें", + "locationError": "लोकेशन त्रुटि", + "locationFound": "लोकेशन मिल गई", + "loginRequired": "लॉग इन आवश्यक", + "loginRequiredDesc": "{{role}} प्रोफ़ाइल बनाने के लिए आपको लॉग इन करना होगा।", + "loginRequiredDescCraft": "{{noun}} प्रोफ़ाइल बनाने के लिए आपको लॉग इन करना होगा।", + "longitude": "देशांतर", + "nip05Recommended": "NIP-05 सत्यापन सुझाया गया", + "nip05RecommendedDesc": "क्लाइंट्स के साथ भरोसा बनाने के लिए अपनी पहचान सत्यापित करें।", + "noWallet": "कोई वॉलेट कनेक्ट नहीं है", + "otherSocial": "अन्य सोशल", + "paymentSetup": "⚡ पेमेंट सेटअप आवश्यक", + "phoneNumber": "फ़ोन नंबर", + "profilePhoto": "प्रोफ़ाइल फ़ोटो", + "profilePublished": "आपकी प्रोफ़ाइल पब्लिश हो गई है।", + "publishing": "पब्लिश हो रहा है...", + "socialMedia": "सोशल मीडिया", + "tip": "💡 सुझाव: ज़्यादातर Lightning वॉलेट NWC सपोर्ट करते हैं (Alby, Minibits, Zeus, Coinos)।", + "tipWithTime": "💡 सुझाव: ज़्यादातर Lightning वॉलेट NWC सपोर्ट करते हैं (Alby, Minibits, Zeus, Coinos)। सेट करने में 30 सेकंड लगते हैं।", + "upload": "अपलोड करें", + "uploadFailed": "अपलोड विफल", + "uploadImage": "इमेज अपलोड करें", + "uploading": "अपलोड हो रहा है…", + "useCurrentLocation": "मौजूदा लोकेशन इस्तेमाल करें", + "useMyLocation": "मेरी लोकेशन इस्तेमाल करें", + "usingNwc": "Nostr Wallet Connect इस्तेमाल हो रहा है", + "usingWebln": "WebLN ब्राउज़र एक्सटेंशन इस्तेमाल हो रहा है", + "walletConnected": "वॉलेट कनेक्टेड — पेमेंट लेने के लिए तैयार!", + "website": "वेबसाइट", + "yearsExperience": "अनुभव के साल" + }, + "coachForm": { + "anonymous": "अनाम कोच", + "bioLabel": "बायो / कोचिंग दर्शन", + "bioPlaceholder": "आपकी पृष्ठभूमि, पढ़ाने का तरीका...", + "create": "कोच प्रोफ़ाइल बनाएँ", + "created": "कोच प्रोफ़ाइल बन गई!", + "createPro": "प्रो कोच प्रोफ़ाइल बनाएँ", + "dmNote": "💬 स्टूडेंट्स SkateSpots की एन्क्रिप्टेड मैसेजिंग से आपको सीधे मैसेज कर सकते हैं", + "heading": "कोच बनें", + "headlineExample": "स्केट कोच बर्लिन", + "hourlyRate": "प्रति घंटा दर", + "identity": "आपकी कोच पहचान", + "nip05Reason": "अपनी पहचान सत्यापित करने और स्टूडेंट्स के साथ भरोसा बनाने के लिए NIP-05 आइडेंटिफ़ायर जोड़ें — इससे उन्हें दिखता है कि आप असली कोच हैं।", + "paymentDesc": "स्टूडेंट्स से लेसन के पैसे लेने के लिए आपको Lightning वॉलेट कनेक्ट करना होगा। स्टूडेंट्स कोचिंग सेशन के लिए आपको सीधे zap करेंगे।", + "profileDesc": "स्टूडेंट्स को अपने अनुभव के बारे में बताएँ", + "profileTitle": "कोच प्रोफ़ाइल", + "ratePlaceholder": "5000 sats/घंटा", + "selectSkill": "कम से कम एक स्किल चुनें।", + "skillsLabel": "मेरे पढ़ाने वाले स्किल * (कम से कम एक चुनें)", + "skillsRequired": "स्किल्स आवश्यक", + "formatsLabel": "सेशन फ़ॉर्मैट", + "formatsHint": "आप कोचिंग कैसे देते हैं।", + "levelsLabel": "पढ़ाए जाने वाले स्तर", + "agesLabel": "आयु वर्ग", + "credentialsLabel": "क्रेडेंशियल और सुरक्षा", + "credentialsHint": "स्वयं घोषित — SkateSpots इन्हें सत्यापित नहीं करता।", + "languagesLabel": "बोली जाने वाली भाषाएँ", + "languagesHint": "जिन भाषाओं में आप कोचिंग दे सकते हैं, वे जोड़ें।", + "languagePlaceholder": "जैसे English, Español", + "availabilityLabel": "उपलब्धता", + "bookingLabel": "बुकिंग लिंक", + "bookingHint": "वैकल्पिक — ऐसा पेज जहाँ स्टूडेंट्स बुक और भुगतान कर सकें।", + "galleryLabel": "पोर्टफ़ोलियो फ़ोटो", + "galleryHint": "असली सेशन, स्टूडेंट्स और स्पॉट दिखाएँ (12 तक)।", + "galleryAdd": "पोर्टफ़ोलियो फ़ोटो जोड़ें", + "galleryUploaded": "{{count}} फ़ोटो अपलोड हुई", + "videoLabel": "हाइलाइट रील", + "videoHint": "वैकल्पिक — आपकी कोचिंग का YouTube या Instagram वीडियो।", + "formatOneOnOne": "1-के-1", + "formatGroup": "ग्रुप", + "formatCamp": "कैंप", + "formatVideo": "वीडियो विश्लेषण", + "formatContestPrep": "कॉन्टेस्ट तैयारी", + "formatParkLesson": "पार्क लेसन", + "formatAdaptive": "अडैप्टिव", + "formatGirls": "गर्ल्स सेशन", + "formatAfterSchool": "स्कूल के बाद", + "levelBeginner": "शुरुआती", + "levelIntermediate": "मध्यम", + "levelAdvanced": "उन्नत", + "levelCompetition": "प्रतियोगिता", + "ageKids": "बच्चे", + "ageTeens": "किशोर", + "ageAdults": "वयस्क", + "ageSeniors": "वरिष्ठ", + "certFirstAid": "प्राथमिक चिकित्सा", + "certCpr": "CPR", + "certSafeguarding": "बाल सुरक्षा", + "certBackgroundCheck": "पृष्ठभूमि जाँच", + "certInsured": "बीमित", + "certFederation": "राष्ट्रीय फ़ेडरेशन कोच", + "certQualification": "कोचिंग योग्यता", + "certJudge": "प्रतियोगिता जज", + "certNoteLabel": "अन्य क्रेडेंशियल (वैकल्पिक)", + "certNotePlaceholder": "जैसे Skateboard GB Level 2, 8 साल की कोचिंग…", + "availWeekdays": "कार्यदिवस", + "availWeekends": "सप्ताहांत", + "availEvenings": "शामें", + "availAfterSchool": "स्कूल के बाद", + "availHolidays": "स्कूल की छुट्टियाँ", + "availSeasonal": "मौसमी", + "sectionWhatYouCoach": "आप क्या कोचिंग देते हैं", + "sectionCredentials": "क्रेडेंशियल और सुरक्षा", + "sectionAvailability": "उपलब्धता और बुकिंग", + "sectionWhereYouCoach": "आप कहाँ कोचिंग देते हैं", + "sectionPortfolio": "पोर्टफ़ोलियो", + "rateAmountLabel": "दर", + "rateCurrencySats": "sats", + "rateCurrencyUsd": "USD", + "rateCurrencyEur": "EUR", + "rateCurrencyGbp": "GBP", + "perHour": "प्रति घंटा", + "perSession": "प्रति सेशन", + "perHalfDay": "प्रति आधा दिन", + "perDay": "प्रति दिन", + "perCamp": "प्रति कैंप", + "perProject": "प्रति प्रोजेक्ट", + "perEvent": "प्रति इवेंट", + "perGig": "प्रति गिग", + "perShoot": "प्रति शूट", + "perPiece": "प्रति पीस", + "perCut": "प्रति कट", + "perMonth": "प्रति माह", + "availByAppointment": "अपॉइंटमेंट से", + "rateNotesLabel": "दर के नोट्स (वैकल्पिक)", + "rateNotesPlaceholder": "स्लाइडिंग स्केल, पहला सेशन मुफ़्त, यात्रा शामिल…", + "sectionPayments": "पेमेंट", + "paymentMethodsHint": "क्लाइंट आपको भुगतान कैसे कर सकते हैं। यह सिर्फ़ जानकारी है — SkateSpots कभी फ़ंड नहीं रखता।", + "payMethodCash": "साइट पर नकद", + "payMethodLightning": "Lightning", + "payMethodCashu": "Cashu", + "payMethodBank": "बैंक ट्रांसफ़र", + "payMethodOther": "अन्य", + "payWhatYouCanLabel": "स्लाइडिंग स्केल / जितना दे सकें उतना दें", + "bookingFeeLabel": "बुकिंग फ़ीस (वैकल्पिक)", + "bookingFeeHint": "बुकिंग कन्फ़र्म करने के लिए सीधे आपको दी जाने वाली छोटी फ़ीस। SkateSpots इसे न रखता है न रिफ़ंड करता है।", + "paymentNoteLabel": "पेमेंट नोट (वैकल्पिक)", + "paymentNotePlaceholder": "पहला सेशन मुफ़्त, यात्रा शामिल, सेशन के बाद भुगतान…", + "spotsDesc": "वे स्पॉट चुनें जहाँ आप कोचिंग सेशन देते हैं", + "spotsLabel": "जहाँ आप कोचिंग देते हैं", + "tagline": "अपनी स्केटबोर्डिंग जानकारी साझा करें", + "update": "कोच प्रोफ़ाइल अपडेट करें", + "updated": "कोच प्रोफ़ाइल अपडेट हो गई!" + }, + "filmerForm": { + "anonymous": "अनाम फ़िल्मर", + "bioPlaceholder": "आपकी पृष्ठभूमि, स्टाइल, इक्विपमेंट...", + "camerasLabel": "कैमरे और इक्विपमेंट * (कम से कम एक चुनें)", + "create": "फ़िल्मिंग प्रोफ़ाइल बनाएँ", + "created": "फ़िल्मिंग प्रोफ़ाइल बन गई!", + "createPro": "प्रो फ़िल्मिंग प्रोफ़ाइल बनाएँ", + "dmNote": "💬 क्लाइंट्स SkateSpots की एन्क्रिप्टेड मैसेजिंग से आपको सीधे मैसेज कर सकते हैं", + "gearHelper": "अपने सटीक कैमरे, लेंस और रिग लिस्ट करें — स्केटर्स सेटअप की परवाह करते हैं।", + "gearLabel": "बैग में क्या है (वैकल्पिक)", + "gearPlaceholder": "जैसे Sony VX1000 + MK1 fisheye, Panasonic HVX200, DJI RS3 gimbal, GoPro Hero 12, Sennheiser माइक...", + "heading": "फ़िल्मर बनें", + "headlineExample": "स्केट फ़िल्मर बर्लिन", + "identity": "आपकी फ़िल्मर पहचान", + "nip05Reason": "अपनी पहचान सत्यापित करने और क्लाइंट्स के साथ भरोसा बनाने के लिए NIP-05 आइडेंटिफ़ायर जोड़ें — इससे उन्हें दिखता है कि आप असली फ़िल्मर हैं।", + "paymentDesc": "फ़िल्मिंग सेवाओं के लिए क्लाइंट्स से पैसे लेने हेतु Lightning वॉलेट कनेक्ट करें। क्लाइंट्स आपके काम के लिए आपको सीधे zap करेंगे।", + "profileDesc": "क्लाइंट्स को अपनी फ़िल्मिंग विशेषज्ञता के बारे में बताएँ", + "profileTitle": "फ़िल्मिंग प्रोफ़ाइल", + "rate": "दर", + "ratePlaceholder": "10000 sats/वीडियो", + "reelLabel": "रील / पोर्टफ़ोलियो", + "selectService": "कम से कम एक सेवा चुनें।", + "selectSkill": "कम से कम एक फ़िल्मिंग स्किल चुनें।", + "servicesLabel": "दी जाने वाली सेवाएँ * (कम से कम एक चुनें)", + "servicesRequired": "सेवाएँ आवश्यक", + "skillsRequired": "स्किल्स आवश्यक", + "spotsDesc": "वे स्पॉट चुनें जहाँ आप फ़िल्मिंग सेवाएँ देते हैं", + "spotsLabel": "जहाँ आप फ़िल्म करते हैं", + "tagline": "अपनी स्केट वीडियो फ़िल्मिंग ऑफ़र करें — क्लिप, लाइन, पूरे पार्ट्स और कॉन्टेस्ट कवरेज", + "update": "फ़िल्मिंग प्रोफ़ाइल अपडेट करें", + "updated": "फ़िल्मिंग प्रोफ़ाइल अपडेट हो गई!" + }, + "editorForm": { + "anonymous": "अनाम एडिटर", + "bioPlaceholder": "आपकी एडिटिंग स्टाइल, पृष्ठभूमि, उल्लेखनीय प्रोजेक्ट…", + "contactPortfolio": "संपर्क और पोर्टफ़ोलियो", + "create": "एडिटर प्रोफ़ाइल पब्लिश करें", + "created": "एडिटर प्रोफ़ाइल बन गई!", + "createPro": "प्रो एडिटर प्रोफ़ाइल पब्लिश करें", + "editTypes": "दिए जाने वाले एडिट टाइप * (कम से कम एक चुनें)", + "hardware": "हार्डवेयर", + "hardwarePlaceholder": "जैसे MacBook Pro M3, Sony FX3", + "heading": "वीडियो एडिटर बनें", + "headlineExample": "स्केट वीडियो एडिटर", + "identity": "आपकी पहचान", + "locationOptional": "लोकेशन (वैकल्पिक)", + "loginDesc": "अपनी वीडियो एडिटर प्रोफ़ाइल बनाने के लिए लॉग इन करें।", + "phoneTelegram": "फ़ोन / Telegram", + "portfolioPlaceholder": "पोर्टफ़ोलियो (Vimeo, YouTube…)", + "profileDesc": "कम्युनिटी को अपनी एडिटिंग स्टाइल और स्किल्स के बारे में बताएँ", + "profileTitle": "एडिटर प्रोफ़ाइल", + "published": "आपकी प्रोफ़ाइल SkateSpots पर पब्लिश हो गई है।", + "rate": "दर / प्राइसिंग", + "ratePlaceholder": "जैसे 50k sats/मिनट, कोट के लिए DM करें", + "selectService": "कम से कम एक एडिट टाइप चुनें।", + "servicesRequired": "सेवाएँ आवश्यक", + "socialPlaceholder": "Instagram / सोशल हैंडल", + "software": "सॉफ़्टवेयर", + "softwareHardware": "सॉफ़्टवेयर और हार्डवेयर स्किल्स", + "softwarePlaceholder": "जैसे DaVinci Resolve, Premiere", + "tagline": "स्केट कम्युनिटी को अपनी वीडियो एडिटिंग सेवाएँ ऑफ़र करें", + "thumbnail": "प्रोफ़ाइल / शोरील थंबनेल", + "update": "एडिटर प्रोफ़ाइल अपडेट करें", + "updated": "एडिटर प्रोफ़ाइल अपडेट हो गई!", + "walletConnected": "वॉलेट कनेक्टेड ✓", + "walletDesc": "अपने एडिटिंग काम के लिए क्लाइंट्स से सीधे Bitcoin ⚡ पेमेंट पाएँ।", + "walletTitle": "⚡ पेमेंट के लिए Lightning वॉलेट", + "yearsExperience": "अनुभव के साल", + "yearsPlaceholder": "जैसे 5 साल" + }, + "photoForm": { + "anonymous": "अनाम फ़ोटोग्राफ़र", + "bioPlaceholder": "आपकी पृष्ठभूमि, स्टाइल, आपको क्या शूट करना पसंद है...", + "cameraLabel": "कैमरा बॉडी * (कम से कम एक चुनें)", + "cameraRequired": "कैमरा आवश्यक", + "contactDesc": "राइडर्स आपका काम कैसे देख सकते हैं और आपसे कैसे संपर्क कर सकते हैं (सभी वैकल्पिक, पर सुझाया गया)", + "create": "फ़ोटोग्राफ़ी प्रोफ़ाइल बनाएँ", + "created": "फ़ोटोग्राफ़ी प्रोफ़ाइल बन गई!", + "createPro": "प्रो फ़ोटोग्राफ़ी प्रोफ़ाइल बनाएँ", + "dmNote": "💬 राइडर्स SkateSpots की एन्क्रिप्टेड मैसेजिंग से आपको सीधे मैसेज कर सकते हैं", + "gearHelper": "सटीक बॉडी, लेंस और लाइट लिस्ट करें — राइडर्स को सेटअप जानना पसंद है।", + "gearPlaceholder": "जैसे Canon R6 II, 8-15mm fisheye, 70-200mm f/2.8, 2× Godox AD200, रिमोट ट्रिगर, Manfrotto ट्राइपॉड...", + "heading": "फ़ोटोग्राफ़र बनें", + "headlineExample": "स्केट फ़ोटोग्राफ़ी", + "identity": "आपकी फ़ोटोग्राफ़र पहचान", + "lensesLabel": "लेंस", + "lightingLabel": "लाइटिंग गियर", + "nip05Reason": "अपनी पहचान सत्यापित करने और क्लाइंट्स के साथ भरोसा बनाने के लिए NIP-05 आइडेंटिफ़ायर जोड़ें।", + "paymentDesc": "शूट के पैसे पाने के लिए Lightning वॉलेट कनेक्ट करें। क्लाइंट्स आपके काम के लिए आपको सीधे zap करेंगे।", + "portfolioLabel": "पोर्टफ़ोलियो / Instagram", + "profileDesc": "राइडर्स को अपनी नज़र, अपने किट और अपनी सेवाओं के बारे में बताएँ", + "profileTitle": "फ़ोटोग्राफ़ी प्रोफ़ाइल", + "ratePlaceholder": "20000 sats/शूट", + "selectCamera": "कम से कम एक कैमरा टाइप चुनें जिस पर आप शूट करते हैं।", + "selectService": "कम से कम एक सेवा चुनें जो आप ऑफ़र करते हैं।", + "servicesLabel": "दी जाने वाली सेवाएँ * (कम से कम एक चुनें)", + "servicesRequired": "सेवाएँ आवश्यक", + "spotsDesc": "वे स्पॉट चुनें जहाँ आप फ़ोटोग्राफ़ी देते हैं", + "spotsLabel": "जहाँ आप शूट करते हैं", + "styleLabel": "शूटिंग स्टाइल", + "supportLabel": "सपोर्ट और रिग", + "tagline": "सेशन शूट करें — अपनी स्केट फ़ोटोग्राफ़ी ऑफ़र करें", + "update": "फ़ोटोग्राफ़ी प्रोफ़ाइल अपडेट करें", + "updated": "फ़ोटोग्राफ़ी प्रोफ़ाइल अपडेट हो गई!" + }, + "builderForm": { + "anonymous": "अनाम बिल्डर", + "bioLabel": "बायो / अपने बिल्ड्स के बारे में", + "bioPlaceholder": "आपका क्रू, उल्लेखनीय बिल्ड्स, आप किसी प्रोजेक्ट को कैसे शुरू करते हैं...", + "buildTypesLabel": "आप क्या बनाते हैं * (कम से कम एक चुनें)", + "buildTypesRequired": "बिल्ड टाइप आवश्यक", + "cityBase": "शहर / बेस", + "contactPortfolio": "संपर्क और पोर्टफ़ोलियो", + "contactPortfolioDesc": "सीन आपके बिल्ड्स कैसे देख सके और आपसे संपर्क कर सके (सभी वैकल्पिक, पर सुझाया गया)", + "create": "बिल्डर प्रोफ़ाइल बनाएँ", + "created": "बिल्डर प्रोफ़ाइल बन गई!", + "createPro": "प्रो बिल्डर प्रोफ़ाइल बनाएँ", + "dmNote": "💬 क्लाइंट्स SkateSpots की एन्क्रिप्टेड मैसेजिंग से आपको सीधे मैसेज कर सकते हैं", + "gearHelper": "क्रू और क्लाइंट्स को आपका किट और तरीका जानना पसंद है।", + "gearLabel": "आप कैसे काम करते हैं / इक्विपमेंट (वैकल्पिक)", + "gearPlaceholder": "जैसे पूरा कंक्रीट क्रू, अपना मिक्सर + शॉटक्रीट रिग, मोबाइल वेल्डिंग, परमिट और ड्रेनेज हम संभालते हैं...", + "heading": "बिल्डर बनें", + "headlineExample": "रैंप और पार्क बिल्डर", + "identity": "आपकी बिल्डर पहचान", + "insured": "लाइसेंस्ड / बीमित", + "insuredHelper": "पब्लिक पार्क और काउंसिल के काम के लिए ज़रूरी", + "logoPhoto": "लोगो / फ़ोटो", + "materialsLabel": "मटीरियल और ट्रेड स्किल्स", + "nip05Reason": "अपनी पहचान सत्यापित करने और क्लाइंट्स के साथ भरोसा बनाने के लिए NIP-05 आइडेंटिफ़ायर जोड़ें।", + "pastBuilds": "पिछले बिल्ड्स / Instagram", + "paymentDesc": "बिल्ड्स के पैसे पाने के लिए Lightning वॉलेट कनेक्ट करें। क्लाइंट्स आपके काम के लिए आपको सीधे zap करेंगे।", + "profileDesc": "सीन को बताएँ कि आप क्या बनाते हैं और कैसे काम करते हैं", + "profileTitle": "बिल्डर प्रोफ़ाइल", + "rateLabel": "दर / कोटेशन का आधार", + "ratePlaceholder": "प्रति m² / प्रोजेक्ट के हिसाब से", + "scaleLabel": "प्रोजेक्ट का पैमाना", + "selectBuild": "कम से कम एक चीज़ चुनें जो आप बनाते हैं।", + "serviceArea": "सेवा क्षेत्र", + "serviceAreaPlaceholder": "जैसे Catalonia, पूरे EU में जाऊँगा", + "spotsDesc": "अपने बनाए स्पॉट और पार्क लिंक करें ताकि लोग मैप पर आपका काम देख सकें", + "spotsLabel": "आपके बनाए स्पॉट", + "tagline": "डालो, वेल्ड करो, बनाओ — अपनी रैंप और पार्क बिल्डिंग लिस्ट करें", + "update": "बिल्डर प्रोफ़ाइल अपडेट करें", + "updated": "बिल्डर प्रोफ़ाइल अपडेट हो गई!", + "yearsBuilding": "बिल्डिंग के साल" + }, + "skaterForm": { + "backToSkaters": "स्केटर्स पर वापस जाएँ", + "bioHelperPulled": "आपकी प्रोफ़ाइल से लिया गया — इसे अपने स्केटर कार्ड के लिए बदलें, या जैसा है वैसा रहने दें।", + "bioHelperShort": "आपके स्केटर कार्ड के लिए छोटा परिचय।", + "bioPlaceholder": "आप कितने समय से स्केट कर रहे हैं, आपको क्या पसंद है, किस पर काम कर रहे हैं…", + "browseSpots": "स्पॉट देखें", + "changePhoto": "प्रोफ़ाइल फ़ोटो बदलें", + "chipBio": "बायो", + "chipPhoto": "फ़ोटो", + "cityArea": "शहर / इलाका", + "created": "आप मैप पर हैं! 🛹", + "custom": "कस्टम", + "customHelper": "आपका अपना लेबल — प्रीसेट की जगह आपके स्केटर कार्ड पर दिखता है।", + "customPlaceholder": "जैसे OG, Weekend Warrior, Retired…", + "discoverable": "अब दूसरे स्केटर्स आपको ढूँढ सकते हैं।", + "editFullProfile": "अपनी पूरी प्रोफ़ाइल संपादित करें", + "fromProfile": "आपकी प्रोफ़ाइल से", + "heroEditPrefix": "एडिट करें अपनी", + "heroJoinPrefix": "जुड़ें —", + "heroSuffix": "डायरेक्टरी", + "homeHelper": "इसे खुला लिखें, या मैप से असली स्पॉट लिंक करें ताकि लोग वहाँ जा सकें।", + "homePlaceholder": "स्थानीय पार्क / प्लाज़ा — या “स्पॉट देखें” पर टैप करें", + "homeSpot": "होम स्पॉट", + "layerEnd": "इन्हें हर जगह बदलने के लिए।", + "layerIntro": "यह आपकी", + "layerMid": "है, जो आपकी Nostr प्रोफ़ाइल पर बनी है। आपका नाम, फ़ोटो, बायो, Lightning और सत्यापन वहीं से आते हैं —", + "layerWord": "स्केट लेयर", + "level": "स्तर", + "linked": "मैप पर स्पॉट से लिंक्ड", + "loadingProfile": "आपकी प्रोफ़ाइल लोड हो रही है…", + "loadingSpots": "स्पॉट लोड हो रहे हैं…", + "locationHelper": "दूसरों को अपने आस-पास स्केटर्स ढूँढने में मदद करता है। सिर्फ़ मोटा-मोटी इलाका साझा होता है।", + "loginToJoin": "जुड़ने के लिए लॉग इन करें", + "loginToJoinDesc": "अपनी स्केटर प्रोफ़ाइल बनाएँ ताकि कम्युनिटी आपको ढूँढ सके।", + "mappedSpot": "मैप किया गया स्पॉट", + "noSpots": "अभी कोई स्पॉट नहीं मिला।", + "noSpotsMatch": "आपकी खोज से कोई स्पॉट नहीं मिला।", + "openMap": "मैप खोलें", + "pickEverything": "जो भी आपकी स्टाइल से मेल खाए, सब चुनें।", + "pickHomeSpot": "अपना होम स्पॉट चुनें", + "pickStyles": "अपनी स्टाइल चुनें", + "pickStylesDesc": "कम से कम एक चीज़ चुनें जो आप स्केट करते हैं।", + "profilePic": "प्रोफ़ाइल फ़ोटो", + "profilePicHelper": "आपका स्केटर कार्ड आपकी Nostr प्रोफ़ाइल फ़ोटो इस्तेमाल करता है — हर जगह वही तस्वीर।", + "publishingAs": "इस रूप में पब्लिश हो रहा है", + "putOnMap": "मुझे मैप पर डालें", + "searchSpots": "नाम या शहर से स्पॉट खोजें…", + "skateStory": "आपकी स्केट कहानी", + "stance": "स्टांस", + "unlinkSpot": "स्पॉट अनलिंक करें", + "updateButton": "मेरी प्रोफ़ाइल अपडेट करें", + "updated": "प्रोफ़ाइल अपडेट हो गई!", + "whatYouSkate": "आप क्या स्केट करते हैं *", + "yearsPlaceholder": "जैसे 8", + "yearsSkating": "स्केटिंग के साल", + "yourProfilePic": "आपकी प्रोफ़ाइल फ़ोटो", + "zapsOn": "Zaps चालू" + }, + "skaters": { + "clearSearch": "खोज साफ़ करें", + "community": "द कम्युनिटी", + "countMany": "स्केटर्स", + "countOne": "स्केटर", + "editProfile": "मेरी स्केटर प्रोफ़ाइल संपादित करें", + "heroDesc": "अपने लोगों को खोजें। SkateSpots को रिप्रेज़ेंट करने वाले स्केटर्स का क्रू देखें — स्टाइल, स्टांस, स्तर और शहर के हिसाब से।", + "nip05Verified": "NIP-05 सत्यापित", + "noMatches": "कोई मेल नहीं", + "noneDesc": "डायरेक्टरी से जुड़ने और SkateSpots को मैप पर लाने वाले पहले व्यक्ति बनें।", + "noneTitle": "अभी कोई स्केटर नहीं", + "noVerifiedMatch": "कोई सत्यापित स्केटर नहीं मिला", + "searchPlaceholder": "नाम, शहर या npub से खोजें…", + "tryDifferentSearch": "कोई दूसरी खोज आज़माएँ या अपने फ़िल्टर साफ़ करें।", + "tryTurnOffVerified": "सभी को देखने के लिए “सत्यापित” फ़िल्टर बंद करके देखें।", + "verifiedFilterTitle": "केवल सत्यापित NIP-05 पहचान वाले स्केटर्स दिखाएँ" + }, + "skaterCard": { + "inDirectory": "आप स्केटर डायरेक्टरी में हैं", + "joinDesc": "अपना स्टांस, स्टाइल और स्तर जोड़ें ताकि स्केटर्स आपको ढूँढ सकें।", + "joinTitle": "स्केटर डायरेक्टरी से जुड़ें" + }, + "crewsStrip": { + "allCrews": "सभी क्रू", + "memberMany": "{{count}} सदस्य", + "memberOne": "{{count}} सदस्य", + "title": "इस सीन के क्रू" + }, + "labLink": { + "coach": "कोच", + "filmer": "फ़िल्मर", + "editor": "एडिटर", + "photographer": "फ़ोटोग्राफ़र", + "builder": "बिल्डर", + "artist": "आर्टिस्ट", + "graffiti": "ग्रैफ़िटी", + "tattoo": "टैटू", + "trainer": "ट्रेनर", + "musician": "म्यूज़िशियन", + "judge": "जज", + "barber": "बार्बर", + "organizer": "आयोजक", + "lab": "Lab", + "linkedProfiles": "लिंक्ड Lab प्रोफ़ाइलें", + "desc": "स्टूडियो, कोचिंग या बिल्ड सेवा भी चलाते हैं? अपनी Lab लिस्टिंग लिंक करें ताकि लोग आपकी टीम को हायर कर सकें। वैकल्पिक। जब Lab प्रोफ़ाइल भी इस क्रू को लिंक करती है, दोनों पर हरा", + "descEnd": "बैज दिखता है।", + "empty": "आपके पास अभी कोई Lab प्रोफ़ाइल नहीं है। इसे यहाँ लिंक करने के लिए The Lab में एक बनाएँ।" + }, + "proUpgrade": { + "goPro": "Pro बनें", + "optional": "· वैकल्पिक", + "freeTo": "लिस्ट करना मुफ़्त। Pro जोड़ता है एक", + "proBadge": "Pro बैज", + "featuredPlacement": "फ़ीचर्ड जगह", + "atTop": "The Lab के टॉप पर।", + "active": "सक्रिय", + "benefit1": "आपकी प्रोफ़ाइल और कार्ड पर गोल्ड “Pro” बैज", + "benefit2": "स्केटर्स के The Lab ब्राउज़ करते समय सबसे पहले फ़ीचर्ड", + "benefit3": "SkateSpots को सपोर्ट करता है — नो विज्ञापन, नो बिचौलिए", + "platformOwner": "प्लेटफ़ॉर्म मालिक — Pro हमेशा चालू।", + "proActiveOne": "Pro सक्रिय · {{count}} दिन बाकी। आपकी प्रोफ़ाइल फ़ीचर्ड होगी।", + "proActiveMany": "Pro सक्रिय · {{count}} दिन बाकी। आपकी प्रोफ़ाइल फ़ीचर्ड होगी।", + "context": "Pro खत्म होने के बाद भी आपकी प्रोफ़ाइल मुफ़्त में लाइव रहती है — बस बैज और बूस्ट चला जाता है।" + }, + "profilePreview": { + "viewPublic": "पब्लिक प्रोफ़ाइल देखें", + "unnamed": "बिना नाम का स्केटर", + "noHandle": "अभी कोई हैंडल नहीं" + }, + "pyramid": { + "pyramidWord": "पिरामिड", + "rankingsWord": "रैंकिंग", + "subtitle": "आपके शहर के टॉप योगदानकर्ता", + "yourRank": "आपकी रैंक", + "keepContributing": "ऊपर चढ़ने के लिए योगदान देते रहें!", + "topContributors": "टॉप योगदानकर्ता", + "noContributors": "अभी कोई योगदानकर्ता नहीं। स्पॉट जोड़ने या इवेंट बनाने वाले पहले व्यक्ति बनें!", + "spots": "स्पॉट", + "events": "इवेंट", + "total": "कुल", + "trust": "भरोसा" + }, + "detail": { + "joined": "जुड़े", + "about": "परिचय", + "howWeWork": "हम कैसे काम करते हैं", + "inTheBag": "बैग में", + "hardware": "हार्डवेयर", + "software": "सॉफ़्टवेयर", + "eventsJudged": "जज किए गए इवेंट", + "eventsOrganized": "आयोजित इवेंट", + "spots": "स्पॉट", + "viewSpot": "स्पॉट देखें", + "credentialsTitle": "क्रेडेंशियल और सुरक्षा", + "selfAttested": "कोच द्वारा स्वयं घोषित — SkateSpots द्वारा सत्यापित नहीं।", + "formats": "फ़ॉर्मैट", + "levels": "स्तर", + "ages": "आयु", + "languages": "भाषाएँ", + "availability": "उपलब्धता", + "bookSession": "सेशन बुक करें", + "portfolio": "पोर्टफ़ोलियो", + "watchReel": "{{platform}} पर देखें", + "paymentsTitle": "पेमेंट", + "payWhatYouCan": "जितना दे सकें उतना दें", + "bookingFee": "बुकिंग फ़ीस", + "payBookingFee": "बुकिंग फ़ीस दें", + "bookingFeeNote": "सीधे कोच को दी जाती है। SkateSpots इसे न रखता है न रिफ़ंड करता है।", + "bookingFeeNoRail": "इस कोच ने कोई Lightning पता सेट नहीं किया है, इसलिए ऐप में पेमेंट उपलब्ध नहीं है — भुगतान का इंतज़ाम करने के लिए उनसे संपर्क करें।", + "serviceArea": "सेवा क्षेत्र", + "licensedInsured": "लाइसेंस्ड / बीमित", + "studio": "स्टूडियो", + "shopStudio": "दुकान / स्टूडियो", + "booksOpen": "बुकिंग खुली", + "credentials": "क्रेडेंशियल", + "remoteOnline": "रिमोट / ऑनलाइन उपलब्ध", + "graffitiCrew": "ग्रैफ़िटी क्रू", + "act": "एक्ट", + "listen": "सुनें", + "upcomingGigs": "आने वाले गिग", + "past": "पिछले", + "experience": "अनुभव", + "yearsCount": "{{count}} साल", + "rate": "दर", + "contact": "संपर्क", + "sendMessage": "मैसेज भेजें", + "bookGig": "गिग के लिए बुक करें", + "portfolioDomain": "पोर्टफ़ोलियो · {{domain}}", + "manage": "मैनेज करें", + "admin": "एडमिन", + "editProfile": "प्रोफ़ाइल संपादित करें", + "publishedTitle": "आप लाइव हैं", + "publishedBody": "आपकी प्रोफ़ाइल The Lab में पब्लिश हो गई है। इसे शेयर करें ताकि स्केटर्स आपको ढूँढ सकें।", + "manageRemove": "The Lab से अपनी {{noun}} प्रोफ़ाइल हटाएँ।", + "adminTakeDown": "इस {{noun}} प्रोफ़ाइल को हटाएँ। इसे पूरे SkateSpots पर छिपा दिया जाएगा।", + "entityLabel": "{{noun}} प्रोफ़ाइल", + "deleteProfile": "प्रोफ़ाइल हटाएँ", + "location": "लोकेशन", + "servicesSkills": "सेवाएँ और स्किल्स", + "noun": { + "coach": "कोच", + "filmer": "फ़िल्मर", + "editor": "वीडियो एडिटर", + "photographer": "फ़ोटोग्राफ़र", + "builder": "बिल्डर", + "artist": "आर्टिस्ट", + "graffiti": "ग्रैफ़िटी आर्टिस्ट", + "tattoo": "टैटू आर्टिस्ट", + "trainer": "ट्रेनर", + "musician": "म्यूज़िशियन", + "judge": "इवेंट जज", + "organizer": "इवेंट आयोजक", + "barber": "बार्बर", + "profile": "प्रोफ़ाइल" + }, + "skillsTitle": { + "skills": "स्किल्स", + "servicesGear": "सेवाएँ और गियर", + "whatWeBuild": "हम क्या बनाते हैं", + "whatTheyMake": "वे क्या बनाते हैं", + "stylesWork": "स्टाइल और काम", + "styles": "स्टाइल", + "focusSpecialties": "फ़ोकस और विशेषज्ञताएँ", + "genresInstruments": "जॉनर और इंस्ट्रुमेंट", + "formatsSpecialties": "फ़ॉर्मैट और विशेषज्ञताएँ", + "servicesStyles": "सेवाएँ और स्टाइल", + "eventTypesServices": "इवेंट प्रकार और सेवाएँ" + } + }, + "rider": { + "heroDesc": "आपकी सत्यापन-योग्य स्केटर पहचान। Nostr से साइन, प्रिंट के लिए तैयार, नक़ल करना असंभव।", + "heroDesc2": "दूसरे स्केटर्स से गवाही वाले स्किल बैज कमाएँ। पार्क एक्सेस पास पाएँ। अपना कार्ड कहीं भी शेयर करें।", + "headerTagline": "Nostr से साइन · प्रिंट के लिए तैयार · QR से सत्यापित", + "tabCard": "मेरा कार्ड", + "tabBadges": "बैज", + "tabAward": "अवॉर्ड दें", + "rendering": "रेंडर हो रहा है…", + "shareCard": "कार्ड शेयर करें", + "savePng": "PNG सेव करें", + "print": "प्रिंट करें", + "copyId": "ID कॉपी करें", + "cardType": "कार्ड टाइप", + "licenseLabel": "लाइसेंस · AGPL-3.0", + "licenseSub": "आपकी व्यक्तिगत राइडर पहचान", + "parkLabel": "पार्क एक्सेस", + "parkSub": "पार्क मालिक के रूप में पास जारी करें", + "theme": "थीम", + "holoTitle": "होलोग्राफ़िक शिमर", + "holoDesc": "एनिमेटेड फ़ॉइल इफ़ेक्ट", + "cardDetails": "कार्ड विवरण", + "skateStyle": "स्केट स्टाइल", + "ridesFor": "किसके लिए राइड करते हैं", + "ridesForPlaceholder": "स्थानीय दुकान…", + "sponsors": "स्पॉन्सर", + "sponsorsPlaceholder": "ब्रांड…", + "showOnCard": "कार्ड पर दिखाएँ", + "zaps": "Zaps ⚡", + "skills": "स्किल्स", + "selected": "{{count}}/6 चुने गए", + "goldBadgesHint1": "आपके कार्ड पर गोल्ड बैज दूसरे स्केटर्स की गवाही से मिलते हैं —", + "goldBadgesHint2": "देखें।", + "parkOwnersOnly": "केवल पार्क मालिकों के लिए।", + "parkOwnersDesc": "इसे उसी Nostr कुंजी से जारी करें जिससे आपकी पार्क लिस्टिंग पब्लिश हुई थी। कोई भी QR स्कैन करके ऑन-चेन सिग्नेचर सत्यापित कर सकता है — किसी केंद्रीय अधिकार की ज़रूरत नहीं।", + "parkDetails": "पार्क विवरण", + "parkName": "पार्क का नाम", + "parkNamePlaceholder": "The Berrics…", + "riderName": "राइडर का नाम", + "riderNamePlaceholder": "कार्ड पर नाम", + "riderNpub": "राइडर की Nostr ID (npub)", + "accessLevel": "एक्सेस स्तर", + "validThru": "मान्य तक", + "publishToNostr": "Nostr पर पब्लिश करें", + "badgesIntro": "ये बैज Nostr पर दूसरे स्केटर्स ने गवाही देकर साइन किए हैं। ये आपके कार्ड पर गोल्ड ⭐ चिप्स के रूप में दिखते हैं।", + "earnMore": "और बैज कमाना चाहते हैं? किसी के सामने स्केट करें और उनसे अपनी ट्रिक की गवाही माँगें।", + "awardSomeone": "किसी और को बैज दें", + "youSawIt": "आपने इसे होते देखा", + "youSawItDesc": "Nostr पर प्रमाण साइन करें। यह उनके स्थायी रिकॉर्ड का हिस्सा बन जाता है — क्रिप्टोग्राफ़िक रूप से आपकी कुंजी से जुड़ा।", + "skillsWitnessed": "जिन स्किल्स की आपने गवाही दी", + "whereSeen": "आपने इसे कहाँ देखा?", + "optional": "(वैकल्पिक)", + "signingOnNostr": "Nostr पर साइन हो रहा है…", + "awardBadge": "बैज दें", + "addRiderSkill": "राइडर का npub + कम से कम एक स्किल जोड़ें", + "invalidNpub": "अमान्य npub", + "badgeAwarded": "🏅 बैज मिल गया!", + "badgeSent": "{{skills}} भेजे गए।", + "failed": "विफल", + "couldNotRender": "कार्ड रेंडर नहीं हो सका", + "popupBlocked": "पॉपअप ब्लॉक हो गया", + "popupBlockedDesc": "इस साइट के लिए पॉपअप की अनुमति दें।", + "linkCopied": "🔗 लिंक कॉपी हो गया!", + "enterRiderNpub": "राइडर का npub दर्ज करें", + "parkPublished": "✅ पार्क एक्सेस कार्ड पब्लिश हो गया!", + "publishFailed": "पब्लिश नहीं हो सका", + "noBadges": "अभी कोई बैज नहीं। किसी के सामने स्केट करें और उनसे अपनी ट्रिक्स की गवाही माँगें!", + "showMore": "{{count}} और दिखाएँ", + "witnessedBy": "गवाही दी", + "at": "पर", + "previewLicense": "स्केटर लाइसेंस", + "previewSince": "{{year}} से", + "previewEvts": "इवेंट्स", + "previewScan": "सत्यापित करने के लिए स्कैन करें", + "previewSkatepark": "स्केटपार्क", + "previewAccessPass": "एक्सेस पास", + "previewMemberName": "सदस्य का नाम", + "previewIssuedBy": "पार्क मालिक द्वारा जारी · Nostr से साइन", + "previewValidThru": "मान्य तक", + "previewNostrVerified": "Nostr से सत्यापित" + }, + "craftFields": { + "detailsTitle": "अतिरिक्त विवरण", + "deliverables": "डिलीवरेबल्स", + "turnaround": "टर्नअराउंड", + "surfaces": "सतहें / दीवारें", + "maxSize": "अधिकतम आकार", + "setLength": "सेट की लंबाई", + "techRider": "टेक राइडर", + "travel": "यात्रा", + "certifications": "प्रमाणन", + "insurance": "बीमा", + "permits": "परमिट", + "deposit": "एडवांस", + "minimum": "न्यूनतम", + "modalities": "मोडैलिटी", + "duration": "अपॉइंटमेंट की अवधि", + "drone": "ड्रोन", + "leadTime": "लेड टाइम", + "warranty": "वारंटी", + "sizing": "साइज़ रेंज", + "samples": "सैंपल / प्रोटोटाइप", + "customization": "कस्टमाइज़ेशन" + }, + "craftForm": { + "profileImage": "प्रोफ़ाइल इमेज", + "nameHeadline": "नाम / हेडलाइन", + "about": "परिचय", + "aboutPlaceholder": "स्केटर्स को अपने {{noun}} काम के बारे में बताएँ…", + "required": "आवश्यक", + "nip05Title": "भरोसा बनाने के लिए NIP-05 जोड़ें", + "nip05Desc": "NIP-05 आइडेंटिफ़ायर स्केटर्स को सत्यापित करने में मदद करता है कि आप असली हैं। लिस्ट करने से पहले बहुत सुझाया गया।", + "editingNote": "आप अपनी मौजूदा {{noun}} प्रोफ़ाइल संपादित कर रहे हैं — पब्लिश करने पर यह बदल जाएगी।", + "location": "लोकेशन", + "pinned": "📍 मैप पर पिन किया ({{lat}}, {{lng}})", + "experienceYears": "अनुभव (साल)", + "expPlaceholder": "जैसे 5", + "ratePlaceholder": "जैसे 20k sats / प्रोजेक्ट के हिसाब से", + "contactLinks": "संपर्क और लिंक", + "phoneOptional": "फ़ोन (वैकल्पिक)", + "emailOptional": "ईमेल (वैकल्पिक)", + "socialPlaceholder": "सोशल (Instagram आदि)", + "gettingPaid": "भुगतान पाना", + "updateProfile": "प्रोफ़ाइल अपडेट करें", + "publishProfile": "प्रोफ़ाइल पब्लिश करें", + "rateLeftBlankNote": "वैकल्पिक — अगर ऊपर की दर पर्याप्त है तो इसे खाली छोड़ दें।", + "sectionRequired": "{{section}} आवश्यक", + "sectionRequiredDesc": "“{{section}}” के अंतर्गत कम से कम एक विकल्प चुनें।", + "updated": "प्रोफ़ाइल अपडेट हो गई!", + "created": "प्रोफ़ाइल बन गई!", + "headlineExample": "स्केट कोच बर्लिन" + } + }, + "labOptions": { + "coach": { + "skill": { + "basics": "बेसिक्स", + "ollies": "ऑली", + "kickflips": "किकफ़्लिप", + "grinds": "ग्राइंड्स और स्लाइड्स", + "manuals": "मैनुअल्स", + "inverts": "इनवर्ट्स", + "vert": "वर्ट/रैंप", + "bowl": "बाउल", + "street": "स्ट्रीट", + "freestyle": "फ़्रीस्टाइल", + "safety": "सुरक्षा", + "diy": "DIY स्केट मॉड्यूल" + }, + "skillDesc": { + "basics": "पुशिंग, स्टांस, बैलेंस, मुड़ना", + "ollies": "ऑली और इसके वेरिएशन (नॉली, फ़ेकी)", + "kickflips": "किकफ़्लिप, हीलफ़्लिप और वेरिएशन", + "grinds": "50-50, 5-0, बोर्डस्लाइड और बहुत कुछ", + "manuals": "मैनुअल, नोज़ मैनुअल, कॉम्बो", + "inverts": "इनवर्ट, हैंडप्लांट, एगप्लांट, एंडरेक्ट", + "vert": "हाफ़-पाइप, क्वार्टर-पाइप, ड्रॉप-इन", + "bowl": "बाउल कार्विंग, पंपिंग, लाइन्स", + "street": "स्ट्रीट ऑब्स्टैकल्स और क्रिएटिविटी", + "freestyle": "फ़्लैटग्राउंड ट्रिक्स और फ़्लो", + "safety": "कैसे गिरें, प्रोटेक्टिव गियर, चोट से बचाव", + "diy": "रैंप, रेल, लेज और दूसरे स्केट ऑब्स्टैकल बनाना" + } + }, + "filmer": { + "service": { + "miniclips": "मिनी क्लिप्स", + "longparts": "लंबे वीडियो पार्ट्स", + "koth": "King of the Road स्टाइल", + "documentaries": "डॉक्यूमेंट्री", + "contests": "कॉन्टेस्ट के लिए फ़िल्मिंग", + "raw": "रॉ फ़ुटेज", + "followlines": "फ़ॉलो / लाइन फ़िल्मिंग", + "lines": "लाइन और B-Roll फ़िल्मिंग" + }, + "serviceDesc": { + "miniclips": "सोशल मीडिया के लिए 15-60 सेकंड की क्लिप", + "longparts": "म्यूज़िक के साथ 3-10 मिनट के पूरे वीडियो पार्ट्स", + "koth": "एडवेंचर/चैलेंज स्टाइल के स्केट वीडियो", + "documentaries": "स्केट कल्चर और कहानी-आधारित कंटेंट", + "contests": "प्रोफ़ेशनल कॉन्टेस्ट और कॉम्पिटिशन कवरेज", + "raw": "बिना एडिट किया मल्टी-एंगल फ़ुटेज", + "followlines": "लाइन्स के लिए फ़िशआई फ़ॉलो-कैम", + "lines": "लॉन्ग-लेंस लाइन्स और सिनेमैटिक b-roll" + }, + "skill": { + "vx1000": "VX1000", + "hvx": "HVX / HPX", + "cinema": "सिनेमा कैमरा", + "dslr": "DSLR / मिररलेस", + "actioncam": "GoPro / एक्शन कैम", + "phone": "फ़ोन फ़िल्मिंग", + "drone": "ड्रोन / एरियल", + "gimbal": "गिंबल / स्टेबलाइज़र", + "fisheye": "फ़िशआई लेंस", + "longlens": "लॉन्ग लेंस", + "4k": "4K / हाई फ़्रेम रेट", + "editing": "वीडियो एडिटिंग", + "color": "कलर ग्रेडिंग" + }, + "skillDesc": { + "vx1000": "क्लासिक VX1000 स्केटबोर्डिंग लुक", + "hvx": "Panasonic HVX/HPX स्टैंडर्ड-डेफ़ / HD लुक", + "cinema": "सिनेमा कैमरा (FX3, C-series, RED, BMPCC)", + "dslr": "हाई क्वालिटी DSLR या मिररलेस कैमरा", + "actioncam": "GoPro / एक्शन कैम POV और माउंट्स", + "phone": "मॉडर्न स्मार्टफ़ोन से मोबाइल फ़िल्मिंग", + "drone": "एरियल और ड्रोन फ़ुटेज", + "gimbal": "स्टेबलाइज़्ड गिंबल मूवमेंट", + "fisheye": "वाइड-एंगल फ़िशआई लेंस शॉट्स", + "longlens": "डिटेल्ड शॉट्स के लिए लॉन्ग लेंस", + "4k": "4K रेज़ोल्यूशन और हाई फ़्रेम रेट स्लो-मो", + "editing": "प्रोफ़ेशनल वीडियो एडिटिंग और पोस्ट-प्रोडक्शन", + "color": "कलर करेक्शन और ग्रेडिंग" + } + }, + "editor": { + "service": { + "parts": "वीडियो पार्ट्स", + "montages": "मोंटाज", + "reels": "रील्स / शॉर्ट क्लिप्स", + "documentaries": "डॉक्यूमेंट्री", + "contest": "कॉन्टेस्ट एडिट्स", + "brand": "ब्रांड / प्रोमो वीडियो", + "motion": "मोशन ग्राफ़िक्स", + "colorgrade": "केवल कलर ग्रेडिंग" + }, + "serviceDesc": { + "parts": "साउंडट्रैक के साथ पूरे स्केट वीडियो पार्ट्स", + "montages": "रॉ फ़ुटेज से कंपाइलेशन एडिट्स", + "reels": "15–60 सेकंड की सोशल मीडिया क्लिप और रील्स", + "documentaries": "कहानी-आधारित स्केट कल्चर फ़िल्में", + "contest": "कॉन्टेस्ट और इवेंट के रिकैप एडिट्स", + "brand": "ब्रांड और दुकानों के लिए प्रोमो कंटेंट", + "motion": "टाइटल, ट्रांज़िशन, इफ़ेक्ट्स और ग्राफ़िक्स", + "colorgrade": "कलर करेक्शन और LUT-आधारित ग्रेडिंग" + }, + "skill": { + "premiere": "Adobe Premiere", + "resolve": "DaVinci Resolve", + "finalcut": "Final Cut Pro", + "aftereffects": "After Effects", + "luts": "कस्टम LUTs", + "vhs": "VHS / रेट्रो लुक", + "4k": "4K और RAW वर्कफ़्लो", + "sound": "साउंड डिज़ाइन / मिक्स" + }, + "skillDesc": { + "premiere": "Adobe Premiere Pro एडिटिंग", + "resolve": "DaVinci Resolve एडिटिंग और ग्रेडिंग", + "finalcut": "Final Cut Pro एडिटिंग", + "aftereffects": "मोशन ग्राफ़िक्स और कंपोज़िटिंग", + "luts": "कस्टम कलर लुक डेवलपमेंट", + "vhs": "VHS ग्लिच, सुपर-8, रेट्रो फ़िल्म लुक", + "4k": "हाई-रेज़ RAW/LOG कैमरा वर्कफ़्लो", + "sound": "म्यूज़िक सिंक, SFX, ऑडियो मास्टरिंग" + } + }, + "photo": { + "service": { + "action": "एक्शन / ट्रिक शॉट्स", + "sequence": "सीक्वेंस शॉट्स", + "portraits": "पोर्ट्रेट्स", + "editorial": "एडिटोरियल / मैगज़ीन", + "product": "प्रोडक्ट / दुकान फ़ोटोग्राफ़ी", + "events": "इवेंट कवरेज", + "lifestyle": "लाइफ़स्टाइल / डॉक्यूमेंट्री", + "prints": "प्रिंट्स और ज़ीन्स" + }, + "serviceDesc": { + "action": "ट्रिक्स और लाइन्स के पीक-एक्शन स्टिल्स", + "sequence": "मल्टी-फ़्रेम ट्रिक सीक्वेंस", + "portraits": "राइडर पोर्ट्रेट और टीम शॉट्स", + "editorial": "मैगज़ीन के लिए तैयार एडिटोरियल स्प्रेड", + "product": "डेक, गियर और दुकान के प्रोडक्ट की फ़ोटोग्राफ़ी", + "events": "कॉम्प, जैम और प्रीमियर कवरेज", + "lifestyle": "बिहाइंड-द-सीन्स और कल्चर डॉक्यूमेंट्री", + "prints": "फ़िज़िकल प्रिंट, ज़ीन और फ़ोटो बुक" + }, + "camera": { + "dslr": "DSLR", + "mirrorless": "मिररलेस", + "medium": "मीडियम फ़ॉर्मेट", + "film35": "35mm फ़िल्म", + "filmmedium": "मीडियम फ़ॉर्मेट फ़िल्म", + "point": "पॉइंट एंड शूट", + "phone": "फ़ोन" + }, + "lens": { + "fisheye": "फ़िशआई", + "wide": "वाइड एंगल", + "standard": "स्टैंडर्ड / प्राइम", + "telephoto": "टेलीफ़ोटो / लॉन्ग लेंस", + "macro": "मैक्रो", + "zoom": "ज़ूम" + }, + "lighting": { + "strobes": "स्टूडियो स्ट्रोब्स", + "speedlights": "स्पीडलाइट / फ़्लैश", + "profoto": "Profoto", + "elinchrom": "Elinchrom", + "godox": "Godox", + "triggers": "रिमोट ट्रिगर्स", + "continuous": "कंटीन्यूअस / LED", + "reflectors": "रिफ़्लेक्टर / डिफ़्यूज़र", + "naturallight": "केवल नेचुरल लाइट" + }, + "support": { + "tripod": "ट्राइपॉड", + "monopod": "मोनोपॉड", + "lightstands": "लाइट स्टैंड", + "gimbal": "गिंबल", + "bag": "मोबाइल रिग / बैग", + "laptop": "ऑन-साइट टेथरिंग" + }, + "style": { + "flashfisheye": "फ़्लैश फ़िशआई", + "natural": "नेचुरल लाइट", + "bw": "ब्लैक एंड व्हाइट", + "film": "फ़िल्म लुक", + "longlens": "लॉन्ग लेंस", + "studio": "स्टूडियो / लिट", + "street": "स्ट्रीट / डॉक्यूमेंट्री" + } + }, + "builder": { + "service": { + "diy": "DIY स्पॉट", + "concrete": "कंक्रीट पार्क", + "wood": "लकड़ी के रैंप", + "bowls": "बाउल और पूल", + "transitions": "ट्रांज़िशन और क्वार्टर्स", + "rails": "रेल और लेज", + "boxes": "मैनी पैड और बॉक्स", + "minis": "मिनी रैंप", + "pumptrack": "पंप ट्रैक", + "foam": "फ़ोम पिट / इनडोर", + "repairs": "मरम्मत और रीसर्फ़ेसिंग", + "design": "डिज़ाइन और कंसल्टिंग" + }, + "serviceDesc": { + "diy": "कम्युनिटी DIY स्पॉट और गुरिल्ला बिल्ड्स", + "concrete": "डाली गई कंक्रीट के स्केटपार्क और फ़ीचर्स", + "wood": "लकड़ी के रैंप, लॉन्च बॉक्स और ऑब्स्टैकल", + "bowls": "बाउल, पूल और गहरे ट्रांज़िशन", + "transitions": "क्वार्टरपाइप, बैंक और ट्रांज़िशन", + "rails": "स्टील रेल, लेज और ग्राइंड फ़ीचर्स", + "boxes": "मैनी पैड, फ़नबॉक्स और स्ट्रीट फ़ीचर्स", + "minis": "मिनी रैंप और बैकयार्ड सेटअप", + "pumptrack": "पंप ट्रैक और फ़्लो लाइन्स", + "foam": "फ़ोम पिट, रेसी और इनडोर ट्रेनिंग फ़ीचर्स", + "repairs": "मौजूदा स्पॉट की मरम्मत, पैचिंग और रीसर्फ़ेसिंग", + "design": "प्लान, ड्रॉइंग और बिल्ड कंसल्टिंग" + }, + "skill": { + "concretework": "कंक्रीट / शॉटक्रीट", + "welding": "वेल्डिंग / स्टील फ़ैब", + "carpentry": "कारपेंट्री / वुडवर्क", + "formwork": "फ़ॉर्मवर्क और रेबार", + "masonry": "मेसनरी / ब्लॉकवर्क", + "coping": "कोपिंग (पूल / स्टील)", + "surfacing": "Skatelite / सर्फ़ेसिंग", + "earthworks": "अर्थवर्क / खुदाई" + }, + "scale": { + "backyard": "बैकयार्ड / मिनी", + "diycommunity": "कम्युनिटी DIY", + "publicpark": "पूरा पब्लिक पार्क", + "indoor": "इनडोर फ़ैसिलिटी", + "event": "इवेंट / कॉन्टेस्ट कोर्स" + } + }, + "artist": { + "service": { + "boardart": "बोर्ड ग्राफ़िक्स", + "logos": "लोगो और ब्रांडिंग", + "posters": "पोस्टर और फ़्लायर", + "merch": "मर्च और अपैरल", + "zines": "ज़ीन और प्रिंट", + "illustration": "इलस्ट्रेशन", + "stickers": "स्टिकर और डिकल", + "webdesign": "वेब / डिजिटल", + "typography": "टाइपोग्राफ़ी / लेटरिंग", + "animation": "एनिमेशन / मोशन" + }, + "serviceDesc": { + "boardart": "डेक ग्राफ़िक्स और ग्रिपटेप आर्ट", + "logos": "ब्रांड आइडेंटिटी, लोगो और वर्डमार्क", + "posters": "इवेंट पोस्टर, फ़्लायर और गिग आर्ट", + "merch": "टी-शर्ट, हुडी और अपैरल ग्राफ़िक्स", + "zines": "ज़ीन, एडिटोरियल और प्रिंट लेआउट", + "illustration": "कस्टम इलस्ट्रेशन और कैरेक्टर वर्क", + "stickers": "स्टिकर पैक, डिकल और स्लैप्स", + "webdesign": "वेबसाइट, डिजिटल और UI", + "typography": "हैंड लेटरिंग और कस्टम टाइप", + "animation": "मोशन ग्राफ़िक्स और एनिमेशन" + }, + "medium": { + "digital": "डिजिटल / वेक्टर", + "handdrawn": "हैंड-ड्रॉन", + "screenprint": "स्क्रीन प्रिंट", + "paint": "पेंट / ऐक्रिलिक", + "collage": "कोलाज / मिक्स्ड", + "photo": "फ़ोटो / Photoshop", + "3d": "3D / रेंडर" + }, + "tool": { + "illustrator": "Adobe Illustrator", + "photoshop": "Adobe Photoshop", + "procreate": "Procreate", + "affinity": "Affinity", + "figma": "Figma", + "blender": "Blender", + "aftereffects": "After Effects", + "clipstudio": "Clip Studio" + } + }, + "graffiti": { + "style": { + "throwups": "थ्रो-अप्स", + "pieces": "पीस / बर्नर्स", + "murals": "म्यूरल", + "characters": "कैरेक्टर्स", + "lettering": "लेटरिंग / वाइल्डस्टाइल", + "stencil": "स्टेंसिल", + "handstyles": "हैंडस्टाइल / टैग्स", + "3dstyle": "3D स्टाइल", + "abstract": "एब्स्ट्रैक्ट" + }, + "styleDesc": { + "throwups": "झटपट दो-रंग के फ़िल", + "pieces": "फ़ुल-कलर पीस और बर्नर्स", + "murals": "बड़े पैमाने के म्यूरल और प्रोडक्शन", + "characters": "कैरेक्टर और फ़िगर वर्क", + "lettering": "वाइल्डस्टाइल और लेटर स्ट्रक्चर", + "stencil": "स्टेंसिल और स्ट्रीट आर्ट", + "handstyles": "टैग और हैंडस्टाइल", + "3dstyle": "3D और एनामॉर्फ़िक लेटरिंग", + "abstract": "एब्स्ट्रैक्ट और फ़्रीस्टाइल" + }, + "medium": { + "spray": "स्प्रे कैन", + "rollers": "रोलर / इमल्शन", + "markers": "मार्कर / इंक", + "brush": "ब्रश / पेंट", + "digital": "डिजिटल / Procreate" + }, + "context": { + "legalwalls": "लीगल वॉल्स", + "commissions": "कमीशन", + "liveart": "लाइव पेंटिंग", + "skateparks": "स्केटपार्क म्यूरल", + "interiors": "इंटीरियर / दुकानें", + "workshops": "वर्कशॉप" + } + }, + "tattoo": { + "style": { + "traditional": "ट्रेडिशनल / ओल्ड स्कूल", + "neotraditional": "नियो-ट्रेडिशनल", + "fineline": "फ़ाइन लाइन", + "blackwork": "ब्लैकवर्क", + "realism": "रियलिज़्म", + "lettering": "लेटरिंग / स्क्रिप्ट", + "illustrative": "इलस्ट्रेटिव", + "skateflash": "स्केट फ़्लैश", + "ignorant": "इग्नोरेंट / हैंडपोक स्टाइल", + "japanese": "जापानी / इरेज़ुमी" + }, + "styleDesc": { + "traditional": "बोल्ड लाइन्स, क्लासिक अमेरिकाना", + "neotraditional": "मॉडर्न डिटेल के साथ ट्रेडिशनल", + "fineline": "बारीक सिंगल-नीडल काम", + "blackwork": "सॉलिड ब्लैक और पैटर्न", + "realism": "फ़ोटो-रियलिस्टिक और पोर्ट्रेट", + "lettering": "स्क्रिप्ट, लेटरिंग और कोट्स", + "illustrative": "इलस्ट्रेटिव और ग्राफ़िक", + "skateflash": "स्केट-कल्चर फ़्लैश डिज़ाइन", + "ignorant": "इग्नोरेंट / सरल हैंडपोक स्टाइल", + "japanese": "जापानी ट्रेडिशनल / इरेज़ुमी" + }, + "method": { + "machine": "मशीन", + "handpoke": "हैंड-पोक / स्टिक एंड पोक", + "flash": "फ़्लैश उपलब्ध", + "custom": "कस्टम डिज़ाइन", + "coverup": "कवर-अप" + } + }, + "trainer": { + "focus": { + "strength": "स्ट्रेंथ और कंडीशनिंग", + "mobility": "मोबिलिटी और फ़्लेक्सिबिलिटी", + "injuryprevention": "चोट से बचाव", + "rehab": "रिहैब / फ़िज़ियो", + "recovery": "रिकवरी और बॉडीवर्क", + "balance": "बैलेंस और स्टेबिलिटी", + "cardio": "कार्डियो / एंड्योरेंस", + "nutrition": "पोषण मार्गदर्शन" + }, + "focusDesc": { + "strength": "स्केटिंग के लिए ताकत और पावर बनाना", + "mobility": "मूवमेंट की रेंज और लचीलापन", + "injuryprevention": "प्रीहैब और चोट का जोखिम कम करना", + "rehab": "चोट के बाद फ़िज़ियोथेरेपी और रिहैब", + "recovery": "मसाज, बॉडीवर्क और रिकवरी", + "balance": "प्रोप्रियोसेप्शन, बैलेंस और स्टेबिलिटी", + "cardio": "कंडीशनिंग और सहनशक्ति", + "nutrition": "फ़्यूलिंग और पोषण सलाह" + }, + "injury": { + "ankles": "टखने", + "knees": "घुटने", + "wrists": "कलाइयाँ", + "hips": "कूल्हे", + "back": "पीठ / रीढ़", + "shoulders": "कंधे", + "heelbruise": "एड़ी की चोट", + "concussion": "कन्कशन प्रोटोकॉल" + }, + "credential": { + "physio": "लाइसेंस्ड फ़िज़ियोथेरेपिस्ट", + "osteo": "ऑस्टियोपैथ", + "certtrainer": "सर्टिफ़ाइड ट्रेनर", + "sportstherapist": "स्पोर्ट्स थेरेपिस्ट", + "massage": "मसाज थेरेपिस्ट", + "inperson": "इन-पर्सन", + "remote": "रिमोट / ऑनलाइन" + } + }, + "musician": { + "genre": { + "punk": "पंक", + "hardcore": "हार्डकोर", + "metal": "मेटल", + "rock": "रॉक", + "indie": "इंडी / ऑल्ट", + "hiphop": "हिप-हॉप / रैप", + "electronic": "इलेक्ट्रॉनिक", + "lofi": "लो-फ़ाई / बीट्स", + "reggae": "रेगे / डब", + "ska": "स्का", + "jazz": "जैज़", + "funk": "फ़ंक / सोल", + "flamenco": "फ़्लैमेंको", + "folk": "फ़ोक / एकॉस्टिक", + "experimental": "एक्सपेरिमेंटल", + "grunge": "ग्रंज" + }, + "instrument": { + "vocals": "वोकल्स", + "guitar": "गिटार", + "bass": "बेस", + "drums": "ड्रम्स", + "keys": "कीज़ / सिंथ", + "dj": "DJ / टर्नटेबल्स", + "producer": "प्रोड्यूसर / बीट्स", + "sax": "सैक्स / ब्रास", + "strings": "स्ट्रिंग्स", + "other": "अन्य" + }, + "act": { + "solo": "सोलो आर्टिस्ट", + "band": "बैंड", + "dj": "DJ", + "producer": "प्रोड्यूसर", + "collective": "कलेक्टिव" + } + }, + "judge": { + "format": { + "game_of_skate": "Game of S.K.A.T.E.", + "best_trick": "बेस्ट ट्रिक", + "jam": "जैम फ़ॉर्मैट", + "contest": "कॉन्टेस्ट / कॉम्प", + "street_league": "Street League स्टाइल", + "bowl": "बाउल / वर्ट", + "mini_ramp": "मिनी रैंप", + "park": "पार्क", + "street": "स्ट्रीट", + "freestyle": "फ़्रीस्टाइल", + "world_tour": "World Destruction Tour", + "am_series": "Am सीरीज़ / क्वालिफ़ायर", + "local_jam": "लोकल जैम / ग्रासरूट्स", + "online": "ऑनलाइन / IG कॉन्टेस्ट" + }, + "specialty": { + "head_judge": "हेड जज", + "scoring": "स्कोरिंग / टैब्युलेशन", + "mc": "MC / एनाउंसर", + "format_design": "फ़ॉर्मैट डिज़ाइन", + "rules": "नियम / ऑफ़िशिएटिंग", + "brackets": "ब्रैकेट / हीट्स", + "livestream": "लाइवस्ट्रीम जजिंग", + "am_scout": "Am स्काउटिंग" + }, + "level": { + "local": "लोकल", + "regional": "रीजनल", + "national": "नेशनल", + "international": "इंटरनेशनल", + "pro": "Pro सर्किट" + } + }, + "organizer": { + "event": { + "street_jam": "स्ट्रीट जैम", + "best_trick": "बेस्ट ट्रिक", + "game_of_skate": "Game of S.K.A.T.E.", + "contest": "कॉन्टेस्ट / कॉम्प", + "bowl": "बाउल / वर्ट", + "mini_ramp": "मिनी रैंप", + "park": "पार्क सेशन", + "demo": "प्रो डेमो", + "clinic": "क्लिनिक / वर्कशॉप", + "meetup": "मीटअप / क्रूज़", + "downhill": "डाउनहिल / रेस", + "slalom": "स्लैलम", + "kids": "बच्चे / युवा", + "charity": "चैरिटी / फ़ंडरेज़र", + "tour_stop": "टूर स्टॉप", + "premiere": "वीडियो प्रीमियर", + "market": "मार्केट / आर्ट शो" + }, + "service": { + "organizing": "पूरा आयोजन", + "hosting": "होस्टिंग / MC", + "permits": "परमिट और काउंसिल", + "sponsorship": "स्पॉन्सरशिप / ब्रांड डील", + "promotion": "प्रमोशन और मार्केटिंग", + "livestream": "लाइवस्ट्रीम / कवरेज", + "sound": "साउंड और म्यूज़िक", + "ramps": "रैंप और ऑब्स्टैकल", + "safety": "सुरक्षा और फ़र्स्ट एड", + "vendors": "फ़ूड और वेंडर्स", + "media": "फ़ोटो / वीडियो कवरेज", + "registration": "साइन-अप और ब्रैकेट" + }, + "scale": { + "grassroots": "ग्रासरूट्स", + "local": "लोकल", + "regional": "रीजनल", + "national": "नेशनल", + "international": "इंटरनेशनल", + "pro": "Pro सर्किट" + } + }, + "barber": { + "service": { + "haircut": "हेयरकट", + "fade": "फ़ेड", + "beard": "बियर्ड ट्रिम", + "lineup": "लाइन-अप / शेप-अप", + "colour": "कलर और डाई", + "kids": "बच्चों के कट" + }, + "serviceDesc": { + "haircut": "क्लासिक कट — क्लिपर और कैंची।", + "fade": "ग्रेजुएटेड फ़ेड — लो, मिड या हाई।", + "beard": "दाढ़ी ट्रिम, शेप और टिडी-अप।", + "lineup": "हेयरलाइन और गर्दन के किनारे साफ़।", + "colour": "कलर, ब्लीच, डाई और टोनिंग।", + "kids": "छोटे स्केटर्स के लिए सब्र से कट।" + }, + "style": { + "skin_fade": "स्किन फ़ेड", + "taper": "टेपर", + "buzz": "बज़ कट", + "mohawk": "मोहॉक", + "mullet": "मलेट", + "curly": "कर्ल्स / एफ़्रो", + "long": "लंबे बाल / लेयर्स", + "classic": "क्लासिक सिज़र कट" + }, + "setting": { + "shop": "दुकान / बार्बरशॉप", + "mobile": "मोबाइल / घर पर", + "event": "स्केट इवेंट और कॉम्प" + } + }, + "clothing": { + "service": { + "tees": "टी-शर्ट", + "hoodies": "हुडी और स्वेट्स", + "pants": "पैंट और शॉर्ट्स", + "jackets": "जैकेट और आउटरवियर", + "kits": "टीम किट और जर्सी", + "caps": "कैप और बीनी", + "socks": "मोज़े", + "accessories": "बैग और एक्सेसरीज़", + "footwear": "फ़ुटवियर और जूते", + "patches": "पैच और अप्लीके", + "griptape": "ग्रिपटेप और डेक अपैरल", + "onepiece": "वन-ऑफ़-वन / अपसाइकल्ड" + }, + "serviceDesc": { + "tees": "कस्टम टी-शर्ट और टॉप्स", + "hoodies": "हुडी, क्रू और स्वेटपैंट", + "pants": "वर्क पैंट, कार्गो और शॉर्ट्स", + "jackets": "कोच जैकेट, शेल और वर्क जैकेट", + "kits": "टीम किट, जर्सी और यूनिफ़ॉर्म", + "caps": "कैप, बीनी और हेडवियर", + "socks": "क्रू मोज़े और निटवियर", + "accessories": "बैग, बेल्ट और छोटी चीज़ें", + "footwear": "कस्टम जूते और फ़ुटवियर", + "patches": "कढ़ाई वाले पैच और अप्लीके", + "griptape": "ग्रिपटेप आर्ट और डेक अपैरल", + "onepiece": "सिंगल पीस और अपसाइकल्ड कपड़े" + }, + "method": { + "screenprint": "स्क्रीन प्रिंट", + "dtg": "DTG / डायरेक्ट-टू-गारमेंट", + "embroidery": "कढ़ाई", + "cutsew": "कट एंड स्यू", + "sublimation": "सब्लिमेशन", + "heattransfer": "हीट ट्रांसफ़र / विनाइल", + "garmentdye": "गारमेंट डाई", + "knit": "निटवियर", + "patchwork": "पैचवर्क", + "allover": "ऑल-ओवर प्रिंट" + }, + "material": { + "cotton": "कॉटन", + "heavyweight": "हैवीवेट", + "organic": "ऑर्गैनिक / सस्टेनेबल", + "fleece": "फ़्लीस", + "denim": "डेनिम", + "canvas": "कैनवास", + "nylon": "नायलॉन / टेक्निकल", + "wool": "मेरिनो / ऊन", + "leather": "लेदर", + "recycled": "रीसाइकल्ड / डेडस्टॉक" + } + }, + "tour": { + "skill": { + "beginner": { + "label": "शुरुआती", + "description": "स्केटिंग में नए या बेसिक ट्रिक्स" + }, + "intermediate": { + "label": "मध्यम", + "description": "ज़्यादातर टेरेन पर सहज" + }, + "advanced": { + "label": "उन्नत", + "description": "अनुभवी स्केटर, कड़े स्पॉट" + }, + "all": { + "label": "सभी स्तर", + "description": "सबके लिए उपयुक्त" + } + } + } + } +}; + +export default batch5; diff --git a/src/i18n/hi/batch6.ts b/src/i18n/hi/batch6.ts new file mode 100644 index 0000000..a1c8b2f --- /dev/null +++ b/src/i18n/hi/batch6.ts @@ -0,0 +1,1137 @@ +const batch6 = { + "walletUi": { + "page": { + "title": "वॉलेट", + "subtitle": "Bitcoin Lightning + Cashu", + "manage": "प्रबंधित करें", + "getAWallet": "वॉलेट लें", + "learnPlanB": "Plan B Academy पर और जानें", + "walletMinibits": "मोबाइल Cashu · NWC", + "walletAlby": "ब्राउज़र एक्सटेंशन · WebLN + NWC", + "walletZeus": "सेल्फ-कस्टडी Lightning", + "walletCoinos": "वेब-आधारित · हर जगह चलता है", + "whatAreZaps": "Zap क्या हैं?", + "whatAreZapsShort": "zap क्या हैं?", + "zapsDesc": "तुरंत Bitcoin Lightning भुगतान। किसी भी स्केटर, स्पॉट क्रिएटर या कोच को sats भेजें — कोई बिचौलिया नहीं, प्लेटफ़ॉर्म का कोई कट नहीं।", + "instant": "तुरंत", + "instantDesc": "कुछ सेकंड में सेटल", + "flexible": "लचीला", + "flexibleDesc": "आपका वॉलेट, आपकी चाबियाँ", + "private": "निजी", + "privateDesc": "Cashu छिपाता है कि भुगतान कौन करता है", + "direct": "सीधा", + "directDesc": "मूल्य सीधे क्रिएटर को", + "loginRequired": "लॉगिन ज़रूरी", + "loginRequiredDesc": "अपना Lightning वॉलेट जोड़ने और zap भेजना शुरू करने के लिए अपने Nostr खाते से लॉग इन करें।", + "browseMints": "Cashu mints देखें" + }, + "modal": { + "walletName": "वॉलेट का नाम (वैकल्पिक)", + "walletNamePlaceholder": "मेरा Lightning वॉलेट", + "connectionUri": "कनेक्शन URI", + "spendLimitTitle": "पहले खर्च की सीमा तय करें", + "spendLimitBody1": "यह स्ट्रिंग SkateSpots को आपके वॉलेट से Lightning इनवॉइस भरने देती है। अपने वॉलेट ऐप में इस कनेक्शन के लिए एक छोटी", + "dailyBudget": "दैनिक सीमा", + "spendLimitBody2": "(जैसे कुछ हज़ार sats) दें और केवल इसे सक्षम करें", + "spendLimitBody3": "बिना सीमा वाला कनेक्शन कभी पेस्ट न करें। आप इसे कभी भी अपने वॉलेट में रद्द कर सकते हैं।", + "addWallet": "वॉलेट जोड़ें", + "nwcConnection": "NWC कनेक्शन", + "lightningWallet": "Lightning वॉलेट", + "pasteNwc": "zap भेजने के लिए अपना NWC कनेक्शन स्ट्रिंग पेस्ट करें", + "connectWallet": "वॉलेट कनेक्ट करें", + "browserExtension": "ब्राउज़र एक्सटेंशन (WebLN)", + "autoDetected": "इंस्टॉल होने पर स्वतः पहचाना जाता है", + "ready": "तैयार", + "notFound": "नहीं मिला", + "getNwcFrom": "NWC यहाँ से लें:", + "connectionRequired": "कनेक्शन URI ज़रूरी", + "connectionRequiredDesc": "कृपया एक मान्य NWC कनेक्शन URI दर्ज करें।", + "activeChanged": "सक्रिय वॉलेट बदला", + "activeChangedDesc": "चुना गया वॉलेट अब zap के लिए सक्रिय है।", + "connectNwc": "NWC वॉलेट कनेक्ट करें", + "connectNwcDesc": "किसी संगत वॉलेट से अपनी कनेक्शन स्ट्रिंग दर्ज करें।", + "connect": "कनेक्ट करें", + "connecting": "कनेक्ट हो रहा है...", + "walletSettings": "वॉलेट सेटिंग्स", + "connectDesc": "तुरंत zap भेजने के लिए अपना Lightning वॉलेट कनेक्ट करें।" + }, + "cashu": { + "title": "Cashu वॉलेट", + "desc": "अंतर्निहित ecash वॉलेट — किसी बाहरी सेटअप की ज़रूरत नहीं", + "initializing": "वॉलेट शुरू हो रहा है...", + "walletError": "वॉलेट त्रुटि", + "balance": "बैलेंस", + "balanceAria": "वॉलेट बैलेंस {{amount}} sats", + "activeMint": "सक्रिय Mint", + "selectMint": "mint चुनें", + "receive": "प्राप्त करें", + "send": "भेजें", + "receiveViaLightning": "⚡ Lightning से प्राप्त करें", + "amountSats": "sats में राशि", + "generateInvoice": "इनवॉइस बनाएँ", + "generating": "बन रहा है…", + "or": "या", + "receiveCashu": "🥜 Cashu टोकन प्राप्त करें", + "scanQr": "QR स्कैन करें", + "pasteCashu": "Cashu टोकन पेस्ट करें (cashu...)", + "receiveToken": "टोकन प्राप्त करें", + "receiving": "प्राप्त हो रहा है…", + "createCashu": "🥜 Cashu टोकन बनाएँ", + "createToken": "टोकन बनाएँ", + "creating": "बन रहा है…", + "payInvoice": "⚡ Lightning इनवॉइस भरें", + "pasteInvoice": "Lightning इनवॉइस पेस्ट करें (lnbc...)", + "payInvoiceBtn": "इनवॉइस भरें", + "processing": "प्रोसेस हो रहा है...", + "payAddress": "📧 Lightning पते पर भुगतान", + "sendToAddress": "पते पर भेजें", + "sending": "भेजा जा रहा है…", + "recentActivity": "हाल की गतिविधि", + "receivedLightning": "⚡ Lightning प्राप्त", + "sentLightning": "⚡ Lightning भेजा", + "sentToken": "🥜 टोकन भेजा", + "receivedToken": "🥜 टोकन प्राप्त", + "whatIsCashu": "Cashu क्या है?", + "whatIsCashuDesc": "Cashu Bitcoin Lightning पर आधारित डिजिटल नकदी है। इसे ऐसे Bitcoin टोकन समझें जो आप अपने ब्राउज़र में रखते हैं।", + "benefitOffline": "स्केट स्पॉट पर ऑफ़लाइन काम करता है", + "benefitInstant": "तुरंत पीयर-टू-पीयर भुगतान", + "benefitPrivacy": "गोपनीयता केंद्रित (mints आपको ट्रैक नहीं कर सकते)", + "benefitRedeemable": "हमेशा Lightning sats में बदला जा सकता है", + "findMints": "mintradar.pedani.eu पर mints खोजें", + "backupTitle": "अपने वॉलेट का बैकअप लें", + "backupDesc": "आपका वॉलेट 12 शब्दों के रिकवरी वाक्यांश से सुरक्षित है। इसे सुरक्षित रखें — ब्राउज़र डेटा साफ़ करने पर बैलेंस बहाल करने के लिए इसकी ज़रूरत होगी।", + "viewRecovery": "रिकवरी वाक्यांश देखें", + "backupNote": "यह आपके Nostr nsec जैसा है — इसे गुप्त रखें और इसका बैकअप लें!", + "tokenReceived": "टोकन प्राप्त हुआ", + "tokenReceivedDesc": "Cashu टोकन सफलतापूर्वक भुनाया गया!", + "receiveFailed": "प्राप्ति विफल", + "unknownError": "अज्ञात त्रुटि", + "requestUnsupported": "Cashu अनुरोध अभी समर्थित नहीं", + "requestUnsupportedDesc": "यह वॉलेट अभी Cashu (creq) अनुरोध का भुगतान नहीं कर सकता — इसके बजाय Lightning इनवॉइस या पता माँगें।", + "onchainUnsupported": "यहाँ on-chain समर्थित नहीं", + "onchainUnsupportedDesc": "यह एक Bitcoin पता है। यह वॉलेट केवल Cashu टोकन और Lightning भुगतान भेजता है।", + "nostrProfile": "यह एक Nostr प्रोफ़ाइल है", + "nostrProfileDesc": "भुगतान के लिए Cashu टोकन, Lightning इनवॉइस या Lightning पता स्कैन करें।", + "clinkUnsupported": "भुगतान कोड अभी समर्थित नहीं", + "clinkUnsupportedDesc": "यह वॉलेट अभी CLINK कोड का भुगतान नहीं कर सकता। इसके बजाय Lightning इनवॉइस या पता इस्तेमाल करें।", + "unrecognizedQr": "अपरिचित QR कोड", + "unrecognizedQrDesc": "Cashu टोकन, Lightning इनवॉइस या Lightning पता स्कैन करें।", + "invalidAmount": "अमान्य राशि", + "invalidAmountDesc": "कृपया मान्य राशि दर्ज करें", + "paymentSent": "भुगतान भेजा गया", + "paymentSentDesc": "{{address}} को {{amount}} sats भेजे गए", + "paymentFailed": "भुगतान विफल", + "copied": "कॉपी हो गया", + "copiedDesc": "{{label}} क्लिपबोर्ड पर कॉपी हो गया", + "receiveSats": "{{amount}} sats प्राप्त करें", + "payInvoiceHint": "इस इनवॉइस का भुगतान किसी भी Lightning वॉलेट से करें", + "invoiceQrAlt": "इनवॉइस QR कोड", + "lightningInvoice": "Lightning इनवॉइस", + "invoiceLabel": "इनवॉइस", + "waiting": "⏳ भुगतान की प्रतीक्षा...", + "tokenReady": "टोकन भेजने के लिए तैयार", + "shareToken": "यह टोकन प्राप्तकर्ता के साथ साझा करें", + "tokenQrAlt": "टोकन QR कोड", + "cashuToken": "Cashu टोकन", + "tokenLabel": "टोकन", + "copyToken": "टोकन कॉपी करें", + "tokenWarning": "इस टोकन वाला कोई भी इसे भुना सकता है - इसे नकदी की तरह संभालें!", + "browser": { + "title": "अंतर्निहित Ecash वॉलेट", + "appOnly": "केवल ऐप में", + "desc": "सेल्फ-कस्टडी Cashu ecash, Bitcoin Lightning से संचालित", + "unlockTitle": "पूरा वॉलेट SkateSpots ऐप में खोलें", + "unlockDesc": "अंतर्निहित ecash वॉलेट आपको सीधे स्पॉट पर Cashu टोकन बनाने, भेजने और भुनाने देता है। यह नेटिव ऐप में रहता है, जहाँ यह सीधे mints से बात कर सकता है — ब्राउज़र आपकी सुरक्षा के लिए ऐसे कनेक्शन सैंडबॉक्स करते हैं।", + "zapTipTitle": "Zap और टिप — अभी आपके ब्राउज़र में काम करता है", + "zapTipDesc": "स्पॉट, इवेंट, कोच और क्रू को sats भेजना यहीं से काम करता है। बस नीचे एक Lightning वॉलेट कनेक्ट करें — Nostr Wallet Connect या Alby जैसा ब्राउज़र एक्सटेंशन। किसी Cashu mint की ज़रूरत नहीं।" + } + }, + "escrow": { + "title": "एस्क्रो", + "desc": "सुरक्षित बेचें: एस्क्रो चालू करें और खरीदार ट्रेड के लिए अपने sats आपके पास लॉक कर सकता है। डिलीवरी देने पर आप उन्हें रिलीज़ करते हैं — न करने पर खरीदार तय समय के बाद उन्हें वापस ले सकता है।", + "active": "एस्क्रो चालू है", + "publish": "एस्क्रो चालू करें", + "published": "एस्क्रो चालू है", + "publishedDesc": "खरीदार अब ट्रेड के लिए आपके पास फंड लॉक कर सकते हैं।", + "failed": "एस्क्रो चालू नहीं हो सका" + }, + "escrowSettings": { + "title": "एस्क्रो सेटिंग्स", + "desc": "Cashu एस्क्रो ट्रेड के लिए डिफ़ॉल्ट। डिवाइस पर ही रहता है।", + "lockWindow": "डिफ़ॉल्ट लॉक अवधि", + "lockWindowHint": "खरीदार के वापस लेने से पहले फंड कितनी देर लॉक रहेंगे। विक्रेता के लिए लंबी अवधि अधिक सुरक्षित है।", + "days": "दिन", + "preferredMint": "एस्क्रो के लिए mint", + "activeMint": "सक्रिय mint", + "preferredMintHint": "कौन सा mint एस्क्रो फंड करेगा। भरोसेमंद mint चुनें।", + "requireListings": "नई लिस्टिंग पर एस्क्रो ज़रूरी करें", + "requireListingsHint": "आइटम लिस्ट करते समय “एस्क्रो ज़रूरी” पहले से चुना रहेगा।" + }, + "privacy": { + "title": "गोपनीयता सुझाव", + "subtitle": "अपनी वित्तीय गोपनीयता बचाना सीखें", + "cashuRecommended": "CASHU (सुझाया गया)", + "anon": "अनाम लेनदेन", + "blind": "ब्लाइंड सिग्नेचर गतिविधि छिपाते हैं", + "noIp": "IP उजागर नहीं होता", + "trustMint": "mint पर फंड का भरोसा", + "lightningAddress": "LIGHTNING पता", + "linked": "पहचान से जोड़ा जा सकता है", + "traceable": "भुगतान इतिहास ट्रेस करने योग्य", + "ipVisible": "इनवॉइस बनाते समय IP दिखता है", + "selfCustody": "सेल्फ-कस्टडी संभव", + "bestPractices": "सर्वोत्तम तरीके", + "tip1Title": "टिप लेने के लिए Cashu इस्तेमाल करें", + "tip1Desc": "zap प्राप्त करने का सबसे निजी तरीका अंतर्निहित Cashu वॉलेट है", + "tip2Title": "SkateSpots के लिए अलग वॉलेट रखें", + "tip2Desc": "अपना मुख्य बचत वॉलेट न इस्तेमाल करें - ऐप के फंड अलग रखें", + "tip3Title": "VPN या Tor पर विचार करें", + "tip3Desc": "लेनदेन करते समय आपका IP पता छिपाता है", + "tip4Title": "पहचान से जुड़े Lightning पतों से बचें", + "tip4Desc": "ऐसे छद्म नाम वाले पते इस्तेमाल करें जो आपके असली नाम से जुड़े न हों", + "proTip": "प्रो टिप:", + "proTipDesc": "पहले भुगतान अपने Cashu वॉलेट में लें, फिर समय-समय पर बड़ी रकम ट्रांसफर के लिए VPN इस्तेमाल करते हुए अपने निजी वॉलेट में भेजें।", + "warnTitle": "गोपनीयता नोट", + "warnDesc": "Lightning पते आपकी SkateSpots गतिविधि को आपकी असली पहचान से जोड़ सकते हैं।", + "betterPrivacy": "बेहतर गोपनीयता के लिए:", + "bullet1": "इस ऐप के लिए समर्पित वॉलेट रखें", + "bullet2": "इसके बजाय Cashu वॉलेट पर विचार करें", + "bullet3": "लेनदेन के लिए VPN/Tor इस्तेमाल करें", + "useCashu": "इसके बजाय Cashu इस्तेमाल करें", + "understand": "मैं समझ गया" + }, + "mintPrivacy": { + "title": "Mint गोपनीयता", + "desc": "कई mints इस्तेमाल करने से गोपनीयता बेहतर होती है, क्योंकि कोई भी अकेला mint आपके सभी लेनदेन नहीं देख सकता", + "distribution": "फंड वितरण", + "singleWarning": "एक ही mint इस्तेमाल करने का मतलब है कि वह mint आपके सभी लेनदेन का समय और राशि देख सकता है। बेहतर गोपनीयता के लिए और mints जोड़ें।", + "yourMints": "आपके Mints ({{count}})", + "default": "डिफ़ॉल्ट", + "addMint": "Mint जोड़ें", + "addMintDesc": "अपने वॉलेट में नया Cashu mint जोड़ें", + "mintUrl": "Mint URL", + "add": "जोड़ें", + "adding": "जोड़ा जा रहा है...", + "orChoose": "या सूची से चुनें", + "recommended": "सुझाए गए Mints", + "allMints": "सभी mints (डायरेक्टरी)", + "searchMints": "mints खोजें…", + "noDirectoryMints": "आपकी खोज से कोई mint नहीं मिला।", + "directoryHint": "सामुदायिक MintRadar डायरेक्टरी से — अनौपचारिक और पुरानी हो सकती है।", + "added": "जोड़ा गया", + "soon": "जल्द", + "autoDistribute": "फंड स्वतः बाँटें", + "autoDesc": "प्राप्त फंड को कई mints में बाँटें", + "autoAria": "फंड स्वतः बाँटें (जल्द आ रहा है)", + "tip1": "बेहतर गोपनीयता के लिए कम से कम 2-3 अलग mints इस्तेमाल करें", + "tip2": "सारा फंड एक mint में न रखें - बाँटकर रखें", + "tip3": "mint का क्षेत्राधिकार देखें (अलग देश = अलग कानूनी पहुँच)", + "tip4": "mints लेनदेन का समय देखते हैं, पर यह नहीं कि आप किसे भुगतान करते हैं (ब्लाइंड सिग्नेचर)", + "future": "आगामी सुविधाएँ: Mint रोटेशन और गोपनीयता स्कोरिंग - बने रहें!", + "findMore": "mintradar.pedani.eu पर और mints खोजें", + "trustWarning": "भरोसा चेतावनी:", + "trustWarningDesc": "mints कस्टोडियल हैं - वे आपका फंड रखते हैं। केवल उन्हीं mints का इस्तेमाल करें जिन पर आप भरोसा करते हैं। mint बंद हो जाए तो फंड खो सकता है। फंड कई mints में बाँटने से जोखिम कम होता है।", + "removeTitle": "Mint हटाएँ?", + "removeDesc": "क्या आप वाकई {{name}} हटाना चाहते हैं?", + "removeMint": "Mint हटाएँ", + "warning": "चेतावनी:", + "withdrawWarning": "इस mint में {{amount}} sats हैं। हटाने से पहले अपना फंड निकालें!", + "invalidUrl": "अमान्य URL", + "invalidUrlDesc": "Mint URL https:// से शुरू होना चाहिए", + "mintAdded": "Mint जोड़ा गया", + "mintAddedDesc": "नया mint सफलतापूर्वक जोड़ा गया", + "mintAddedNamed": "{{name}} सफलतापूर्वक जोड़ा गया", + "failedAdd": "mint जोड़ने में विफल", + "failed": "विफल", + "noMints": "कोई Mint नहीं", + "singleMint": "एकल Mint", + "concentrated": "केंद्रित", + "moderate": "मध्यम", + "wellDistributed": "अच्छी तरह वितरित", + "mintCoinosWebDesc": "वेब-अनुकूल mint (ब्राउज़र के लिए सुझाया गया)", + "mintMinibitsWebDesc": "⚠ केवल नेटिव ऐप — वेब ब्राउज़र से पहुँच नहीं", + "mintMinibitsNativeDesc": "SkateSpots mint — सुझाया गया", + "mintCoinosDesc": "वेब-अनुकूल mint", + "mintLnbitsDesc": "LNbits पर सामुदायिक mint" + }, + "nwc": { + "title": "Lightning वॉलेट", + "noConnection": "NWC वॉलेट", + "refresh": "बैलेंस रीफ़्रेश करें", + "createInvoice": "इनवॉइस बनाएँ", + "copyInvoice": "इनवॉइस कॉपी करें", + "pasteInvoice": "Lightning इनवॉइस पेस्ट करें (lnbc…)", + "amount": "राशि: {{amount}} sats", + "pasteToSee": "राशि देखने के लिए इनवॉइस पेस्ट करें", + "pay": "भुगतान करें", + "invoiceQrAlt": "Lightning इनवॉइस QR कोड", + "enterAmount": "sats में राशि दर्ज करें", + "readBalanceFailed": "बैलेंस पढ़ा नहीं जा सका", + "readBalanceFailedDesc": "आपके वॉलेट ने जवाब नहीं दिया।", + "createInvoiceFailed": "इनवॉइस नहीं बन सका", + "createInvoiceFailedDesc": "थोड़ी देर में फिर कोशिश करें।", + "paymentSent": "भुगतान भेजा गया", + "paidAmount": "{{amount}} sats का भुगतान किया।", + "paid": "भुगतान हो गया।", + "paymentRejected": "वॉलेट ने भुगतान अस्वीकार कर दिया।" + }, + "qr": { + "title": "QR कोड स्कैन करें", + "desc": "स्कैन करने के लिए QR कोड को कैमरा व्यू में रखें", + "paste": "क्लिपबोर्ड से पेस्ट करें", + "hint": "Cashu टोकन, Lightning इनवॉइस या Lightning पता स्कैन करें", + "clipboardEmpty": "क्लिपबोर्ड खाली है", + "clipboardEmptyDesc": "क्लिपबोर्ड में कोई टेक्स्ट नहीं मिला", + "pasteFailed": "पेस्ट विफल", + "pasteFailedDesc": "क्लिपबोर्ड से पढ़ा नहीं जा सका" + }, + "recovery": { + "title": "रिकवरी वाक्यांश", + "desc": "ये 12 शब्द ही आपका ecash बैलेंस बहाल करने का एकमात्र तरीका हैं। इन्हें क्रम से लिखें और ऑफ़लाइन रखें — किसी को भी न बताएँ।", + "tapReveal": "देखने के लिए टैप करें", + "noWatching": "पक्का करें कि कोई देख नहीं रहा", + "hide": "छिपाएँ", + "reveal": "दिखाएँ", + "paperHint": "कागज़ पर लिखना सबसे सुरक्षित है — क्लिपबोर्ड पर कॉपी करने से दूसरे ऐप तक जा सकता है।", + "written": "मैंने इसे लिख लिया है", + "revealFirst": "पहले शब्द दिखाएँ", + "copiedDesc": "रिकवरी वाक्यांश कॉपी हो गया — इसे किसी सुरक्षित जगह पेस्ट करें, फिर क्लिपबोर्ड साफ़ करें।", + "copyFailed": "कॉपी विफल", + "copyFailedDesc": "कृपया शब्दों को लिख लें।" + }, + "guide": { + "quickGuide": "संक्षिप्त गाइड", + "fullGuide": "वॉलेट गाइड (स्केटर संस्करण)", + "cashuSummary": "गोपनीयता + सुविधा", + "mintHoldsFunds": "(mint फंड रखता है)", + "lightningSummary": "नियंत्रण + सुरक्षा", + "youHoldKeys": "(चाबियाँ आपके पास)", + "useBoth": "दोनों इस्तेमाल करें: टिप के लिए Cashu, बचत के लिए Lightning", + "cashuTitle": "CASHU वॉलेट", + "cashuTagline": "स्केटपार्क में आपकी जेब की नकदी जैसा", + "cashuBullet1": "टिप देने के लिए फ़ौरन निकालें", + "cashuBullet2": "अपनी पूरी बचत यहाँ न रखें", + "cashuBullet3": "mint बंद हो जाए तो फंड खो सकता है", + "cashuBullet4": "किसी को नहीं पता आपके पास कितना है (गोपनीयता!)", + "cashuPerfectFor": "सेशन के स्नैक्स, क्लिप पर zap, छोटी टिप", + "lightningTitle": "LIGHTNING वॉलेट", + "lightningTagline": "आपके बैंक खाते जैसा - नियंत्रण आपके पास", + "lightningBullet1": "सुरक्षित, चाबियाँ आपके नियंत्रण में", + "lightningBullet2": "सेटअप में थोड़ा समय लगता है", + "lightningBullet3": "पूरा लेनदेन इतिहास", + "lightningBullet4": "बड़ी रकम के लिए बेहतर", + "lightningPerfectFor": "गियर की खरीद, बचत, बड़े zap", + "perfectFor": "इनके लिए बढ़िया:", + "proTips": "प्रो टिप्स", + "tip1Title": "दोनों वॉलेट इस्तेमाल करें", + "tip1Desc": "सेशन का पैसा Cashu में, बचत Lightning में रखें", + "tip2Title": "अलग-अलग वॉलेट आज़माएँ", + "tip2Desc": "जो आपके लिए ठीक हो वह खोजें। हर एक की सुविधाएँ और समझौते अलग हैं", + "tip3Title": "बेहतर गोपनीयता", + "tip3Desc": "कई वॉलेट इस्तेमाल करने पर कोई अकेला ऐप आपकी सारी गतिविधि नहीं देखता", + "tip4Title": "अनुभव बढ़ाएँ", + "tip4Desc": "जितने ज़्यादा टूल जानेंगे, उतने ज़्यादा विकल्प होंगे। छोटी शुरुआत करें, सीखते रहें", + "tldr": "संक्षेप में:", + "tldrDesc": "कोई “सबसे अच्छा” वॉलेट नहीं है - यह आपकी ज़रूरतों पर निर्भर है। दोनों आज़माएँ, जो सही लगे वह इस्तेमाल करें, और अपने सारे sats एक जगह न रखें!" + }, + "zap": { + "count": "{{count}} zaps", + "connectFirst": "पहले अपना वॉलेट कनेक्ट करें", + "connectFirstDesc": "zap (Bitcoin टिप) भेजने के लिए आपको Lightning वॉलेट कनेक्ट करना होगा।", + "quickSetup": "झटपट सेटअप (30 सेकंड)", + "quickSetupDesc": "Nostr Wallet Connect (NWC) से अपना मौजूदा Lightning वॉलेट कनेक्ट करें। कोई अतिरिक्त खाता नहीं चाहिए।", + "connectNwc": "NWC से वॉलेट कनेक्ट करें", + "noWallet": "वॉलेट नहीं है? जानें कैसे", + "skip": "अभी छोड़ें (मैन्युअल इनवॉइस)", + "note": "ℹ️ ध्यान दें:", + "noteDesc": "वॉलेट कनेक्ट किए बिना भी इनवॉइस बना सकते हैं, पर भुगतान के लिए इसे मैन्युअली कॉपी करना होगा।", + "payWithWebln": "WebLN से भुगतान करें", + "processing": "प्रोसेस हो रहा है...", + "openInWallet": "Lightning वॉलेट में खोलें", + "scanHint": "QR कोड स्कैन करें या किसी भी Lightning वॉलेट से भुगतान के लिए इनवॉइस कॉपी करें।", + "cashuInstant": "अपने अंतर्निहित वॉलेट से तुरंत भुगतान करें", + "satsAvailable": "sats उपलब्ध", + "or": "या", + "customAmount": "कस्टम राशि", + "addComment": "टिप्पणी जोड़ें (वैकल्पिक)", + "insufficientBanner": "⚠️ Cashu बैलेंस कम है। आपको {{amount}} sats और चाहिए। Lightning पर जाएँ या अपना Cashu वॉलेट टॉप अप करें।", + "creatingInvoice": "इनवॉइस बन रहा है...", + "zapAmount": "{{amount}} sats का Zap", + "zapAmountCashu": "Cashu से {{amount}} sats का Zap", + "lightningInvoice": "Lightning इनवॉइस", + "qrAlt": "Lightning इनवॉइस QR कोड", + "enterAmount": "राशि दर्ज करें", + "enterAmountDesc": "प्रीसेट चुनें या sats की मान्य संख्या लिखें।", + "cashuUnavailable": "Cashu वॉलेट उपलब्ध नहीं", + "cashuUnavailableDesc": "आपका Cashu वॉलेट तैयार नहीं है। Lightning पर जाएँ या पहले वॉलेट खोलें।", + "insufficientCashu": "Cashu बैलेंस कम है", + "insufficientCashuDesc": "आपको {{amount}} sats और चाहिए। Lightning पर जाएँ या टॉप अप करें।", + "zapSentCashu": "Zap भेजा गया! 🥜", + "zapSentCashuDesc": "आपके Cashu वॉलेट से {{amount}} sats का zap भेजा गया।", + "cashuFailed": "Cashu भुगतान विफल", + "cashuFailedDesc": "आपके Cashu वॉलेट से भुगतान नहीं हो सका।", + "invoiceCopied": "इनवॉइस कॉपी हो गया", + "invoiceCopiedDesc": "Lightning इनवॉइस क्लिपबोर्ड पर कॉपी हो गया", + "defaultComment": "SkateSpots पर zap किया! 🛹", + "titleConnect": "वॉलेट कनेक्ट करें", + "titlePayment": "Lightning भुगतान", + "titleZap": "Zap भेजें", + "descConnect": "zap भेजने के लिए अपना Lightning वॉलेट कनेक्ट करें", + "descPayment": "Bitcoin Lightning Network से भुगतान करें", + "descZap": "Zaps छोटे Bitcoin भुगतान हैं जो इस आइटम के क्रिएटर का साथ देते हैं। अगर आपको यह पसंद आया, तो zap भेजने पर विचार करें!", + "descZapShort": "Zaps छोटे Bitcoin भुगतान हैं जो क्रिएटर का साथ देते हैं। zap भेजने पर विचार करें!" + }, + "zapCrew": { + "title": "क्रू को Zap करें", + "desc": "{{count}} क्रू सदस्यों में बराबर zap बाँटें जिनका Lightning पता है।", + "noMembers": "अभी zap करने के लिए कोई और क्रू सदस्य नहीं।", + "totalAmount": "कुल राशि", + "customTotal": "कस्टम कुल", + "each": "sats प्रति व्यक्ति", + "rounded": "(गोल किया गया)", + "noWallet": "कोई वॉलेट कनेक्ट नहीं — हर सदस्य के लिए इनवॉइस मिलेगा जिसे आप मैन्युअली भर सकते हैं। एक-टैप बँटवारे के लिए वॉलेट कनेक्ट करें।", + "zapAcross": "{{amount}} sats को {{count}} में Zap करें", + "sentTo": "⚡ {{done}}/{{total}} को भेजा", + "none": "कोई ऑटो-भुगतान पूरा नहीं हुआ", + "copyPending": "मैन्युअली भुगतान पूरा करने के लिए बाकी इनवॉइस कॉपी करें।", + "thanks": "क्रू का साथ देने के लिए धन्यवाद!", + "payingCrew": "क्रू को भुगतान हो रहा है…", + "defaultComment": "{{crew}} क्रू को zap किया! 🤘", + "sent": "भेजा गया", + "paying": "भुगतान हो रहा है", + "resolving": "पता लगाया जा रहा है", + "skipped": "छोड़ा गया", + "failed": "विफल", + "waiting": "प्रतीक्षा", + "copyInvoice": "इनवॉइस कॉपी करें", + "invoiceCopied": "इनवॉइस कॉपी हो गया", + "invoiceCopiedDesc": "इसे किसी भी Lightning वॉलेट में पेस्ट करें" + }, + "zapBadges": { + "title": "Zap बैज", + "zaps": "zaps", + "satsSent": "sats भेजे", + "rank": "रैंक", + "footnote": "पिछले 30 दिनों के zaps के आधार पर।", + "first": "पहला Zap", + "firstHint": "अपना पहला zap भेजें", + "regular": "नियमित", + "regularHint": "10 zaps भेजें", + "generous": "उदार", + "generousHint": "10,000 sats भेजें", + "patron": "संरक्षक", + "patronHint": "100,000 sats भेजें", + "top10": "टॉप 10", + "top10Hint": "टॉप 10 समर्थकों में पहुँचें" + }, + "trust": { + "mute": "म्यूट करें", + "muted": "म्यूट किया", + "mutedDesc": "आपको इनका कंटेंट नहीं दिखेगा।", + "muteFailed": "म्यूट नहीं हो सका। फिर कोशिश करें।", + "loginToMute": "म्यूट करने के लिए लॉग इन करें।", + "attributedNetwork": "आपके नेटवर्क के लोगों से", + "attributedProviderHouse": "सामुदायिक ट्रस्ट प्रोवाइडर से", + "attributedProviderCustom": "आपके चुने प्रोवाइडर से", + "howItWorks": "भरोसा कैसे काम करता है", + "flaggedNoticeTitle": "भरोसेमंद स्केटरों ने रिपोर्ट किया", + "flaggedNoticeDesc": "सावधान रहें। नेटवर्क के भरोसेमंद लोगों ने इस खाते की रिपोर्ट की है।", + "flaggedReporterFollow": "{{count}} जिन्हें आप फ़ॉलो करते हैं", + "flaggedReporterNetwork": "{{count}} आपके नेटवर्क में", + "flaggedReporterOther": "{{count}} अन्य खाते", + "flaggedReport": "रिपोर्ट करें", + "flaggedDismiss": "खारिज करें", + "bucketVerified": "सत्यापित", + "bucketUnknown": "अज्ञात", + "bucketFlagged": "फ़्लैग किया", + "bucketVerifiedDesc": "आपके नेटवर्क का कोई व्यक्ति इस खाते की गारंटी देता है।", + "bucketUnknownDesc": "आपके नेटवर्क के किसी ने अभी इस खाते की गारंटी नहीं दी है।", + "bucketFlaggedDesc": "भरोसेमंद लोगों ने इस खाते की रिपोर्ट की है।", + "reportedByTrusted": "{{count}} भरोसेमंद लोगों ने रिपोर्ट किया", + "unavailable": "भरोसा स्कोर उपलब्ध नहीं", + "yourContent": "यह आपका कंटेंट है", + "following": "आप इस उपयोगकर्ता को फ़ॉलो करते हैं", + "friendOfFriend": "मित्र का मित्र (2 हॉप)", + "nip05": "NIP-05 सत्यापित उपयोगकर्ता", + "unknown": "अज्ञात उपयोगकर्ता", + "help": "भरोसा स्कोर स्केटबोर्डिंग समुदाय में भरोसेमंद योगदानकर्ताओं की पहचान करने में मदद करते हैं।" + }, + "share": { + "title": "प्रोफ़ाइल साझा करें", + "desc": "{{name}} की प्रोफ़ाइल खोलने के लिए फ़ोन कैमरा कोड पर करें।", + "qrAlt": "प्रोफ़ाइल QR कोड", + "copyLink": "लिंक कॉपी करें", + "copyFailed": "कॉपी विफल", + "copyFailedDesc": "लिंक कॉपी नहीं हो सका।", + "shareEllipsis": "साझा करें…" + }, + "addToCollection": { + "title": "संग्रह में सहेजें", + "desc": "\"{{spot}}\" को अपने किसी संग्रह में सहेजें", + "loginRequired": "स्पॉट को संग्रह में सहेजने के लिए कृपया लॉग इन करें", + "noCollections": "आपका अभी कोई संग्रह नहीं है", + "createFirst": "नीचे अपना पहला संग्रह बनाएँ!", + "spotCount": "{{count}} स्पॉट", + "alreadySavedTag": "पहले से सहेजा", + "alreadySaved": "पहले से सहेजा", + "alreadySavedDesc": "“{{spot}}” पहले से “{{collection}}” में है", + "saved": "स्पॉट सहेजा गया!", + "savedDesc": "\"{{spot}}\" को \"{{collection}}\" में जोड़ा गया", + "saveFailed": "सहेजने में विफल", + "somethingWrong": "कुछ गड़बड़ हो गई", + "created": "संग्रह बन गया!", + "createdDesc": "\"{{spot}}\" को आपके नए संग्रह \"{{collection}}\" में जोड़ा गया", + "createFailed": "संग्रह बनाने में विफल", + "name": "संग्रह का नाम", + "descriptionOptional": "विवरण (वैकल्पिक)", + "creating": "बन रहा है...", + "createAndSave": "बनाएँ और सहेजें", + "createNew": "नया संग्रह बनाएँ" + }, + "collection": { + "back": "संग्रहों पर वापस", + "created": "{{date}} को बनाया", + "deleteTitle": "संग्रह हटाएँ?", + "deleteDesc": "इससे \"{{title}}\" हमेशा के लिए हट जाएगा। स्पॉट पर कोई असर नहीं होगा।", + "deleting": "हटाया जा रहा है...", + "deleteFailed": "संग्रह हटाने में विफल", + "deleted": "संग्रह हटाया गया", + "deletedDesc": "\"{{title}}\" हटा दिया गया है", + "empty": "इस संग्रह में कोई स्पॉट नहीं", + "emptyOwner": "किसी भी स्पॉट पर \"संग्रह में सहेजें\" दबाकर अपने संग्रह में स्पॉट जोड़ें", + "emptyOther": "यह संग्रह खाली है", + "browseSpots": "स्पॉट देखें", + "linkCopied": "लिंक कॉपी हो गया!", + "linkCopiedDesc": "संग्रह का लिंक क्लिपबोर्ड पर कॉपी हो गया", + "map": "संग्रह का मैप", + "removeFailed": "स्पॉट हटाने में विफल", + "shareText": "यह स्पॉट संग्रह देखें: {{title}}", + "spotRemoved": "स्पॉट हटाया गया", + "spotRemovedDesc": "\"{{title}}\" को इस संग्रह से हटा दिया गया" + }, + "mints": { + "title": "Mints", + "subtitle": "Cashu mints और उनकी सेहत देखें। Cashu वॉलेट के काम SkateSpots ऐप में चलते हैं।", + "searchPlaceholder": "नाम या URL से mints खोजें…", + "onlineOnly": "केवल ऑनलाइन", + "count": "{{total}} में से {{filtered}} mints", + "directoryError": "mint डायरेक्टरी लोड नहीं हो सकी।", + "directoryHint": "डायरेक्टरी सामुदायिक है और रेट-लिमिटेड — कभी-कभी थोड़ी देर के लिए अनुपलब्ध हो सकती है।", + "goToWallet": "वॉलेट पर जाएँ", + "appOnly": "mint जोड़ना SkateSpots ऐप में होता है (Cashu केवल ऐप में है)।", + "noMatch": "“{{query}}” से कोई mint नहीं मिला।", + "footer": "सेहत डेटा सामुदायिक MintRadar प्रोजेक्ट से — अनौपचारिक और पुराना हो सकता है। फंड सौंपने से पहले mint की शर्तें ज़रूर देखें।", + "archived": "संग्रहीत", + "degraded": "कमज़ोर", + "offline": "ऑफ़लाइन", + "online": "ऑनलाइन", + "terms": "शर्तें", + "reliability": "विश्वसनीयता", + "add": "जोड़ें", + "addToWallet": "वॉलेट में जोड़ें", + "copyUrl": "URL कॉपी करें", + "openMint": "mint खोलें", + "inWallet": "आपके वॉलेट में", + "addedBadge": "जोड़ा गया", + "urlCopied": "Mint URL कॉपी हो गया", + "added": "Mint जोड़ा गया", + "addedDesc": "{{host}} अब आपके वॉलेट में है।", + "couldNotAdd": "mint जोड़ा नहीं जा सका", + "communityRating": "सामुदायिक रेटिंग", + "reliabilityLabel": "विश्वसनीयता", + "uptime": "अपटाइम 24h / 7d", + "location": "स्थान", + "latency": "लेटेंसी", + "nuts": "समर्थित NUTs", + "units": "यूनिट", + "version": "संस्करण", + "ratedBy": "MintRadar पर {{count}} लोगों ने {{rating}}/5 रेटिंग दी है।", + "noRating": "MintRadar पर अभी कोई सामुदायिक रेटिंग नहीं।", + "reviewsNote1": "लिखित समीक्षाएँ डायरेक्टरी का हिस्सा नहीं हैं —", + "openMintRadar": "MintRadar खोलें", + "reviewsNote2": "कोई समीक्षा पढ़ने या लिखने के लिए।", + "liveness": "लाइवनेस ऑडिट: {{mints}} mints और {{melts}} melts जाँचे गए", + "livenessErrors": " · हाल में {{errors}}/{{total}} त्रुटियाँ", + "whatsAMint": "mint क्या है?", + "whatsAMintDesc": "Cashu mint आपके वॉलेट की ecash जारी और भुनाता है। यह उस Bitcoin को रखता है जो आपके टोकन के पीछे है — इसलिए जो mint आप स्वयं नहीं चलाते, उस पर भरोसा करना पड़ता है।", + "mintWarning": "mints ऑफ़लाइन हो सकते हैं, शर्तें बदल सकते हैं, या फंड लेकर गायब हो सकते हैं। जब तक ऑपरेटर पर भरोसा न हो, केवल छोटा बैलेंस रखें।", + "healthDisclaimer": "सेहत डेटा सामुदायिक है (MintRadar) — अनौपचारिक और पुराना हो सकता है।" + }, + "appShop": { + "title": "ऐप शॉप", + "subtitle": "उन लोगों के लिए SkateSpots मर्च जो सीन को चलाते रहते हैं।", + "comingSoon": "जल्द आ रहा है", + "wearThe": "पहनें", + "scene": "सीन", + "heroDesc1": "उन लोगों के लिए मर्च जो इसे चलाते रहते हैं — बेचा जाता है", + "locally": "स्थानीय रूप से, अनुरोध पर", + "heroDesc2": "। आप मुझे मैसेज करें, हम ब्यौरा तय करते हैं, और भुगतान करते हैं", + "heroDesc3": "— Lightning या Cashu — जब आप इसे लेते हैं। कोई कार्ड नहीं, कोई खाता नहीं, कोई चेकआउट रोबोट नहीं, कोई बिचौलिया कट नहीं।", + "requestItem": "आइटम का अनुरोध करें", + "dmHint": "मेरे साथ निजी, एन्क्रिप्टेड DM खुलता है।", + "lightning": "Lightning", + "cashu": "Cashu", + "localHandover": "स्थानीय हैंडओवर", + "inTheWorks": "काम चल रहा है", + "notForSale": "अभी बिक्री पर नहीं", + "soon": "जल्द", + "tees": "टी-शर्ट और हुडी", + "decks": "डेक", + "shopTools": "शॉप टूल", + "stickerPacks": "स्टिकर पैक", + "stickerPacksDesc": "पैक आ रहे हैं। डिज़ाइन नहीं आए — इन दोनों को अभी प्रिंट करें, मुफ़्त।", + "sticker": "स्टिकर", + "stickerTip": "ब्लैक डाई-कट। स्टिकर पेपर पर प्रिंट करें, काली किनारी पर काटें।", + "poster": "पोस्टर", + "posterTip": "A3 पर प्रिंट होता है; A4 (50%) पर छोटा करें और यह फिर भी ठीक स्कैन होता है।", + "printableAlt": "SkateSpots {{title}} — प्रिंट करने योग्य", + "print": "प्रिंट करें", + "printNote1": "इस पर प्रिंट करें", + "actualSize": "100% / “वास्तविक आकार”", + "printNote2": "ताकि आकार सटीक रहे और QR तेज़ रहे — यह skate-spots.org पर जाता है। वेक्टर फ़ाइलें हैं, इसलिए धुंधली हुए बिना स्केल होती हैं।", + "howBuying": "खरीदारी कैसे होती है", + "dmNotCart": "यह DM है, कार्ट नहीं", + "step1Title": "मुझे मैसेज करें", + "step1Desc": "DM में बताएँ कि आपको क्या चाहिए — आइटम, साइज़, रंग, जो भी।", + "step2Title": "हम तय कर लेंगे", + "step2Desc": "sats में कीमत, और कहाँ-कब मिलना है। यह बातचीत है, चेकआउट नहीं।", + "step3Title": "sats में भुगतान करें", + "step3Desc": "हैंडओवर पर Lightning या Cashu, फिर यह आपका। कोई शिपिंग नहीं, कोई इंतज़ार नहीं।" + }, + "newsletter": { + "newIssue": "नया अंक", + "composerTitle": "न्यूज़लेटर अंक प्रकाशित करें", + "composerDesc": "सामुदायिक रिले पर NIP-23 लेख (kind 30023) के रूप में प्रकाशित। सब्सक्राइबर इसे अपनी नोटिफ़िकेशन बेल में पाएँगे। बॉडी में Markdown समर्थित है।", + "fieldTitle": "शीर्षक", + "identifier": "पहचानकर्ता (स्लग)", + "leaveBlank": "स्वतः बनाने के लिए खाली छोड़ें", + "reusingSlug": "मौजूदा स्लग दोबारा इस्तेमाल करने पर नया अंक बनने के बजाय वही अंक संपादित होगा।", + "summary": "सारांश", + "optional": "वैकल्पिक", + "coverImage": "कवर इमेज URL", + "bodyMarkdown": "बॉडी (Markdown)", + "characters": "{{count}} अक्षर", + "publishIssue": "अंक प्रकाशित करें", + "issuePublished": "अंक प्रकाशित! 🛹", + "issuePublishedDesc": "सब्सक्राइबर इसे अपनी नोटिफ़िकेशन बेल में देखेंगे।", + "publishFailed": "प्रकाशन विफल", + "couldNotReachRelay": "किसी रिले तक नहीं पहुँच सके — अपना कनेक्शन जाँचें और फिर कोशिश करें।", + "tryAgain": "कृपया फिर कोशिश करें।", + "publishedToNostr": "Nostr पर प्रकाशित", + "publishedToast": "प्रकाशित!", + "postedToNostr": "Drop {{number}} Nostr पर पोस्ट किया गया।", + "postToNostr": "Nostr पर पोस्ट करें", + "previewLabel": "प्रीव्यू", + "editFirst": "पहले संपादित करें", + "previewNoteDesc": "ज़्यादातर Nostr क्लाइंट पर नोट ऐसा दिखेगा। फ़ॉर्मेटिंग क्लाइंट के हिसाब से बदलती है।", + "editNoteDesc": "नीचे नोट का टेक्स्ट संपादित करें। बदलाव सिर्फ़ इस प्रकाशन पर लागू होंगे — स्रोत फ़ाइल वैसी ही रहेगी।", + "dropNumber": "Drop {{number}}", + "publish": "प्रकाशित करें", + "publishing": "प्रकाशित हो रहा है...", + "dropIsOut": "Drop {{number}} आ गया", + "daysAgo": "{{count}} दिन पहले", + "dismiss": "खारिज करें", + "itsMonday": "सोमवार है", + "mondayDesc": "साप्ताहिक न्यूज़लेटर ड्रॉप करने का समय। एक क्लिक और AI इसे git log से लिख देगा।", + "writeDrop": "Drop {{number}} लिखें", + "dismissReminder": "रिमाइंडर हटाएँ", + "loginPrompt": "नए drops अपने मेलबॉक्स में पाने के लिए Nostr से लॉग इन करें।", + "subscribedToast": "आप सब्सक्राइब हो गए! 🛹", + "subscribedToastDesc": "नए drops आपकी नोटिफ़िकेशन बेल में “News” के नीचे आएँगे।", + "unsubscribed": "सब्सक्रिप्शन हटा", + "unsubscribedDesc": "आप यहाँ कभी भी हर अंक पढ़ सकते हैं।", + "checking": "जाँच हो रही है…", + "subscribed": "सब्सक्राइब किया", + "unsubscribe": "सब्सक्रिप्शन हटाएँ", + "subscribeCta": "न्यूज़लेटर सब्सक्राइब करें", + "archiveSynced": "आर्काइव Nostr पर सिंक हो गया", + "missingCount": "{{count}} आर्काइव अंक अभी Nostr पर नहीं हैं", + "backfillDesc": "{{list}} को NIP-23 लेखों के रूप में प्रकाशित करें ताकि सब्सक्राइबर और लंबे पाठ पढ़ने वाले पूरा आर्काइव देख सकें। पेज अपना समृद्ध लेआउट हर हाल में रखेगा।", + "backfill": "{{count}} को Nostr पर भरें", + "publishing2": "प्रकाशित हो रहा है…", + "publishingLabel": "प्रकाशित हो रहा है…", + "backfilled": "{{count}} अंक भरे गए 🛹", + "backfilledDesc": "आर्काइव अब सब्सक्राइबर और पाठकों के लिए Nostr पर है।", + "partialBackfill": "{{published}} प्रकाशित, {{failed}} विफल", + "retryFinish": "पूरा करने के लिए फिर कोशिश करें: {{list}}।", + "notLoggedIn": "लॉग इन नहीं हैं", + "allIssues": "सभी अंक", + "brand": "SkateSpots न्यूज़लेटर", + "digTheDrop": "Drop पसंद आया? इसे zap करें और अगला कभी न चूकें।", + "sectionStats": "आँकड़ों में समुदाय", + "sectionWhatsNew": "क्या नया है", + "sectionSpotOfWeek": "सप्ताह का स्पॉट", + "sectionCommunity": "समुदाय", + "sectionSupport": "प्रोजेक्ट का साथ दें", + "sectionLatestDrops": "नवीनतम Drops · Nostr से लाइव", + "mappedBy": "मैप किया", + "viewOnMap": "मैप पर देखें", + "noSpotPicked": "इस हफ़्ते कोई स्पॉट नहीं चुना गया। अपना स्पॉट भेजें, हो सकता है अगले drop में आ जाए।", + "browseMap": "मैप देखें", + "spotMap": "स्पॉट मैप", + "statsBadge": "आँकड़े", + "supportDesc": "100% ओपन सोर्स, समुदाय द्वारा वित्त पोषित, कोई विज्ञापन नहीं, कोई निवेशक नहीं। अगर यह उपयोगी है तो zap करें या Angor पर साथ दें।", + "readFull": "पूरा अंक पढ़ें", + "joinSkaters": "{{count}} स्केटरों से जुड़ें जो drops पाते हैं", + "weeklyDrops": "साप्ताहिक Drops", + "tagline": "साप्ताहिक न्यूज़लेटर · जब हमारा मन करे तब भेजा जाता है", + "freeNote": "मुफ़्त। Nostr से संचालित — आपका सब्सक्रिप्शन आपकी चाबियों पर रहता है और सभी डिवाइस पर आपके साथ चलता है। नए drops आपकी नोटिफ़िकेशन बेल में आते हैं।", + "live": "लाइव", + "builtOn": "इस पर बना", + "openSource": "ओपन सोर्स", + "supportUs": "हमारा साथ दें", + "freeToSkate": "आप स्केटबोर्ड करने के लिए स्वतंत्र हैं" + }, + "stats": { + "subtitle": "Nostr नेटवर्क से सीधे लाए गए लाइव आँकड़े। पारदर्शी, विकेंद्रीकृत, कोई भी सत्यापित कर सकता है।", + "dataSource": "डेटा स्रोत:", + "updated": "{{age}} अपडेट", + "refresh": "रीफ़्रेश करें", + "partial": "हर रिले तक नहीं पहुँच सके — ये आँकड़े अधूरे हो सकते हैं।", + "error": "अभी रिले तक नहीं पहुँच सके। कनेक्शन बहाल होते ही आँकड़े लोड होंगे।", + "atAGlance": "एक नज़र में समुदाय", + "skateSpots": "स्केट स्पॉट", + "listedShops": "सूचीबद्ध शॉप", + "events": "इवेंट", + "mappers": "मैपर", + "uniqueContributors": "अद्वितीय योगदानकर्ता", + "labHeader": "द लैब · क्रिएटर और सेवाएँ", + "total": "कुल {{count}}", + "coaches": "कोच", + "filmers": "फ़िल्मर", + "editors": "एडिटर", + "photographers": "फ़ोटोग्राफ़र", + "builders": "बिल्डर", + "artists": "कलाकार", + "graffiti": "ग्रैफ़िटी", + "tattoo": "टैटू", + "trainers": "ट्रेनर", + "musicians": "संगीतकार", + "judges": "जज", + "organizers": "आयोजक", + "barbers": "नाई", + "showFewer": "कम दिखाएँ", + "showAllCrafts": "सभी 13 क्राफ़्ट दिखाएँ", + "community": "समुदाय", + "tours": "टूर", + "crews": "क्रू", + "marketplace": "मार्केटप्लेस", + "liveListings": "लाइव लिस्टिंग", + "tradesRecorded": "दर्ज ट्रेड", + "satsTraded": "ट्रेड किए sats", + "zapsToMappers": "मैपरों को Zaps", + "tradesNote1": "आपसी ट्रेड", + "tradesNote2": "लोगों के बीच। sats ट्रेडर स्वयं बताते हैं — ऐप ऐप से बाहर के भुगतान को नहीं देख सकता — इसलिए मुख्य आँकड़े में केवल", + "mutual": "आपसी", + "tradesNote3": "ट्रेड गिने जाते हैं, प्रति-जोड़ी सीमा के साथ; कच्चा दावा है", + "tradesNote4": "sats। “मैपरों को Zaps” में केवल हमारे शीर्ष योगदानकर्ताओं को भेजी गई रसीदें गिनी जाती हैं — यह", + "not": "नहीं", + "tradesNote5": "वैश्विक zap वॉल्यूम है।", + "byRegion": "क्षेत्र के अनुसार स्पॉट और शॉप", + "resolving": "{{count}} बिना टैग वाले स्थानों को उनके निर्देशांक से पहचाना जा रहा है… एक बार, फिर इस डिवाइस पर कैश।", + "topCountries": "शीर्ष देश", + "topCities": "शीर्ष शहर", + "other": "अन्य", + "otherCountriesTitle": "शीर्ष 6 से बाहर के देश", + "otherCitiesTitle": "शीर्ष 6 से बाहर के शहर", + "uncategorised": "अवर्गीकृत", + "uncategorisedTitle": "कोई शहर/देश टैग नहीं", + "regionNote1": "गिनती", + "spotsAndShops": "स्पॉट और शॉप", + "regionNote2": ", स्केटर नहीं — हर एक के अपने शहर/देश टैग से, या टैग न होने पर उसके पिन के निर्देशांक से (आपके डिवाइस पर कैश; मौजूद होने पर देश ISO कोड से समूहित), केवल सामुदायिक रिले, मॉडरेशन से छिपाया कंटेंट शामिल नहीं।", + "ofTotal": "{{total}} में से {{count}}", + "regionNote3": "स्थानों पर कोई लोकेशन टैग नहीं है और वे “अवर्गीकृत” दिखते हैं।", + "growth": "समय के साथ वृद्धि", + "chartCumulativeTitle": "मैप किए स्पॉट (संचयी)", + "chartCumulativeDesc": "समय के साथ मैप में जोड़े गए कुल स्पॉट", + "chartMonthlyTitle": "मासिक गतिविधि", + "chartMonthlyDesc": "हर महीने प्रकाशित नया कंटेंट", + "chartMappersTitle": "सक्रिय मैपर / माह", + "chartMappersDesc": "हर महीने प्रकाशित करने वाले अद्वितीय योगदानकर्ता", + "chartMixTitle": "कंटेंट मिश्रण", + "chartMixDesc": "कंटेंट प्रकार के अनुसार विभाजन (सर्वकालिक)", + "noData": "अभी कोई डेटा नहीं", + "topMappers": "शीर्ष मैपर", + "mostSpots": "— सबसे ज़्यादा स्पॉट जोड़े", + "noMapperData": "अभी मैपर डेटा नहीं", + "topShops": "शीर्ष शॉप", + "mostShops": "— सबसे ज़्यादा शॉप जोड़ी", + "shopCount": "{{count}} शॉप", + "noShopData": "अभी शॉप डेटा नहीं", + "supporters": "सामुदायिक समर्थक", + "fundedTitle": "समुदाय द्वारा वित्त पोषित", + "fundedDesc1": "Angor के ज़रिए विकेंद्रीकृत Bitcoin क्राउडफ़ंडिंग।", + "fundedDesc2": "कोई विज्ञापन नहीं, कोई निवेशक नहीं, डेटा की बिक्री नहीं।", + "backAngor": "Angor पर हमारा साथ दें", + "communityLink": "समुदाय →", + "footer1": "सारा डेटा लाइव लिया जाता है", + "footer2": "— एक सार्वजनिक Nostr रिले से।", + "footer3": "हर इवेंट अपने क्रिएटर द्वारा साइन किया जाता है और क्रिप्टोग्राफ़िक रूप से सत्यापन योग्य है।", + "footer4": "कोई आँकड़ा नकली नहीं हो सकता।", + "spots": "स्पॉट", + "shops": "शॉप", + "lab": "लैब", + "thisMonth": "इस महीने +{{count}}", + "fromActive": "{{count}} सक्रिय खातों से", + "viewAll": "सभी देखें", + "spotCount": "{{count}} स्पॉट" + }, + "leaderboard": { + "mapEarn": "मैप करें और कमाएँ", + "helpMap": "दुनिया को मैप करने में मदद करें", + "intro": "स्पॉट और शॉप जोड़ें, आभारी स्केटर आपको zap करेंगे। शीर्ष योगदानकर्ताओं को बोनस इनाम भी मिल सकते हैं!", + "howItWorks": "यह कैसे काम करता है", + "step1Title": "1. मैप करें", + "step1Desc": "फ़ोटो और ब्यौरे के साथ स्पॉट और शॉप जोड़ें", + "step2Title": "2. Zaps कमाएँ", + "step2Desc": "जिन स्केटरों को आपके स्पॉट उपयोगी लगेंगे, वे आपको टिप देंगे", + "step3Title": "3. बोनस इनाम", + "step3Desc": "शीर्ष मैपरों को हमारे फंड से बोनस इनाम मिल सकते हैं", + "proTips": "💡 ज़्यादा Zaps के लिए प्रो टिप्स:", + "tipPhotos": "3+ फ़ोटो जोड़ें", + "tipDescriptions": "विस्तृत विवरण लिखें", + "tipLocation": "सटीक लोकेशन", + "mapShop": "शॉप मैप करें", + "mapShopDesc": "स्केट शॉप, बोर्ड स्टोर", + "mapSpot": "स्पॉट मैप करें", + "mapSpotDesc": "पार्क, स्ट्रीट स्पॉट, DIY", + "shops": "शॉप", + "spotsLower": "स्पॉट", + "shopsLower": "शॉप", + "contributions": "योगदान", + "yourRanking": "आपकी रैंकिंग", + "spotsShops": "{{spots}} स्पॉट • {{shops}} शॉप", + "totalLower": "कुल", + "overall": "कुल मिलाकर", + "noContributions": "अभी कोई योगदान नहीं। पहले बनें!", + "addFirstSpot": "पहला स्पॉट जोड़ें", + "noShops": "अभी कोई शॉप मैप नहीं हुई", + "addFirstShop": "पहली शॉप जोड़ें", + "noSpots": "अभी कोई स्पॉट मैप नहीं हुआ", + "poweredBy": "सामुदायिक Zaps से संचालित", + "poweredByDesc": "जब कोई स्पॉट उपयोगी लगे, तो मैपर को zap करें! धन्यवाद कहने और और योगदान बढ़ाने का यह सबसे अच्छा तरीका है।", + "you": "आप", + "zapTitle": "Zap लीडरबोर्ड", + "zapSubtitle": "सबसे ज़्यादा प्यार पाने वाले स्पॉट — और देने वाले स्केटर।", + "thisWeek": "इस हफ़्ते", + "thisMonth": "इस महीने", + "allTime": "सर्वकालिक", + "topZappedSpots": "सबसे ज़्यादा zap किए स्पॉट", + "noZaps": "इस अवधि में अभी कोई zap नहीं। पहले बनें — जिस स्पॉट से प्यार हो उस पर ⚡ दबाएँ।", + "topSupporters": "शीर्ष समर्थक", + "noZapsSent": "इस अवधि में अभी कोई zap नहीं भेजा गया।", + "fromTop10": "⚡ टॉप 10 से {{amount}} sats", + "supporter": "समर्थक", + "skateShop": "स्केट शॉप", + "skateSpot": "स्केट स्पॉट" + }, + "supporters": { + "our": "हमारा", + "community": "समुदाय", + "heroDesc": "SkateSpots समुदाय द्वारा और समुदाय के लिए बनाया गया है। समर्थक, सहयोगी, साझेदार और मित्र इसे मुफ़्त और विकेंद्रीकृत बनाए रखते हैं।", + "backAngor": "Angor पर हमारा साथ दें", + "backers": "समर्थक", + "backersDesc": "वे स्केटर जिन्होंने SkateSpots का साथ दिया — Angor के ज़रिए on-chain फंडिंग, और प्रोजेक्ट को Lightning zaps।", + "sourceAngor": "Angor", + "supportersTotals": "{{count}} समर्थक · Angor से {{angor}} sats · {{zap}} sats zap किए", + "quietNote": "साथ ही वे सब जिन्होंने चुपचाप दिया — धन्यवाद। ❤️", + "silentTitle": "निजी on-chain (साइलेंट पेमेंट)", + "silentDesc": "एक नाम, हर भुगतान के लिए नया पता — on-chain साइलेंट पेमेंट से, या उसी रिकॉर्ड से Lightning। दोबारा इस्तेमाल नहीं, जोड़ने की कोई बात नहीं।", + "silentCopyName": "नाम कॉपी करें", + "silentCopied": "कॉपी हो गया", + "silentWallets": "ऐसा वॉलेट चाहिए जो पेमेंट नेम / साइलेंट पेमेंट संभाले: Sparrow, Cake, Dana, Phoenix, BlueWallet, Wasabi, Nunchuk या BitBox02।", + "wayLightningTitle": "तुरंत और सार्वजनिक", + "wayLightningDesc": "SkateSpots को zap करें, या चुपचाप भुगतान करें। बिना लॉगिन भी चलता है।", + "waySilentTitle": "निजी on-chain", + "waySilentDesc": "साइलेंट-पेमेंट नाम — हर भुगतान के लिए नया पता।", + "wayAngorTitle": "निर्माण का फंड दें", + "wayAngorDesc": "Angor — चरणबद्ध रिलीज़, 100k sats से ऊपर रिफ़ंड योग्य।", + "donateTitle": "SkateSpots का साथ दें", + "donateDesc": "तीन रास्ते, तीन कारण — जो आपको सही लगे चुनें। हर sat मैप को मुफ़्त, विज्ञापन-मुक्त और ओपन-सोर्स रखता है।", + "donatePageLink": "सरल डोनेट पेज खोलें", + "updatedAt": "{{when}} अपडेट", + "tiersNote": "स्तर: 100k sats से कम समर्थक · 100k–1M संरक्षक · 1M+ लेजेंड", + "tierEmpty": "अभी कोई नहीं — पहले बनें।", + "joinSupporters": "{{count}} समर्थकों से जुड़ें", + "showAll": "सभी {{count}} दिखाएँ", + "showLess": "कम दिखाएँ", + "impactSeeStats": "पूरी तस्वीर देखें →", + "impactAsOf": "सामुदायिक रिले से लाइव", + "anonymousBacker": "अनाम समर्थक", + "beFirstBacker": "अभी कोई सार्वजनिक समर्थक नहीं — पहले बनें।", + "backersTotal": "{{count}} समर्थक · {{amount}} sats जुटाए", + "verifiedOnChain": "On-chain सत्यापित", + "supportedBy": "{{count}} का समर्थन", + "tierSupporter": "समर्थक", + "tierPatron": "संरक्षक", + "tierLegend": "लेजेंड", + "topZappers": "SkateSpots को Zap किया", + "topZappersDesc": "वे स्केटर जिन्होंने सीधे प्रोजेक्ट को सार्वजनिक zap भेजा। चुपचाप किए भुगतान सूची में नहीं हैं।", + "paysFor": "आपका समर्थन किसके लिए जाता है", + "paysForDesc": "हर sat कहाँ जाता है — कोई वेतन नहीं, कोई दफ़्तर नहीं, कोई विज्ञापन नहीं।", + "payRelay": "रिले होस्टिंग", + "payDomain": "डोमेन और TLS", + "payAi": "AI / ContextVM नोड", + "payDev": "डेवलपमेंट समय", + "payOps": "संचालन", + "payMarketing": "मार्केटिंग", + "payRelayDesc": "मैप को ऑनलाइन और मज़बूत रखता है।", + "payDomainDesc": "नाम, सर्टिफ़िकेट, सुरक्षित कनेक्शन।", + "payAiDesc": "Sasquatch, सामुदायिक गाइड।", + "payDevDesc": "SkateSpots बनाना और ठीक करना।", + "payOpsDesc": "वह बिना चमक वाला काम जो इसे चलाता रहता है।", + "payMarketingDesc": "नए स्थानीय सीन और स्केटशॉप तक पहुँचना।", + "impact": "अब तक का असर", + "impactDesc": "समुदाय ने क्या बनाया — स्केटरों के फंड से।", + "impactSpots": "स्पॉट", + "impactCrews": "क्रू", + "impactEvents": "इवेंट", + "impactLab": "लैब प्रो", + "impactShops": "शॉप", + "impactMappers": "मैपर", + "support": "साथ दें", + "supportDesc": "Angor पर SkateSpots को फंड करें — विकेंद्रीकृत, on-chain Bitcoin क्राउडफ़ंडिंग। कोई बिचौलिया नहीं, कोई KYC नहीं।", + "collaborators": "सहयोगी", + "collaboratorsDesc": "वे लोग जो सक्रिय रूप से SkateSpots बना रहे हैं — डेवलपर, डिज़ाइनर, रिले ऑपरेटर।", + "partners": "साझेदार", + "partnersDesc": "वे संस्थाएँ और प्रोजेक्ट जिनके साथ हम मिलकर काम करते हैं।", + "friends": "मित्र", + "friendsDesc": "जिनसे हमारी अच्छी बनती है।", + "backTitle": "Angor पर प्रोजेक्ट का साथ दें", + "backDesc": "Angor विकेंद्रीकृत, on-chain Bitcoin फंडिंग है जो Nostr पर बनी है — आपका फंड आपके नियंत्रण में रहता है, चरणों में रिलीज़ होता है, कोई कस्टोडियन पॉट नहीं रखता। 100,000 sats तक का योगदान दान जैसा है (कोई रिकवरी हैंडशेक नहीं); इससे बड़ी रकम निवेश हैं जिनका बिना खर्च हुआ फंड वापस पाया जा सकता है। हर sat डेवलपमेंट, रिले होस्टिंग और SkateSpots को दुनिया के हर स्केटर के लिए मुफ़्त रखने में जाता है।", + "donateNote": "सीधा दान पसंद है? ⚡ नीचे zap करें — न रिफ़ंड, न रिकवरी।", + "openAngor": "Angor खोलें", + "orZap": "या ऐप में सीधे किसी भी स्पॉट, क्रू या क्रिएटर को ⚡ zap करें", + "wantCollaborate": "सहयोग करना चाहते हैं?", + "wantCollaborateDesc": "डेवलपर, डिज़ाइनर, हुनरमंद स्केटर — संपर्क करें।", + "viewNostrHub": "NostrHub पर देखें", + "wantPartner": "SkateSpots के साथ साझेदारी चाहते हैं? Nostr पर संपर्क करें।", + "comingSoon": "जल्द आ रहा है", + "wantListed": "यहाँ सूचीबद्ध होना चाहते हैं?", + "wantListedDesc": "Nostr पर DM से लोगो (PNG/WebP, पारदर्शी बैकग्राउंड, कम से कम 200×200px) और अपना URL भेजें — बस तब जब आपका वाइब सही हो।", + "whyTitle1": "हमें क्यों चाहिए", + "whyTitle2": "समर्थन", + "whyDesc": "SkateSpots 100% मुफ़्त, ओपन-सोर्स है और Nostr पर बना है — एक विकेंद्रीकृत प्रोटोकॉल जिसे बंद करने के लिए कोई केंद्रीय सर्वर नहीं। कोई विज्ञापन नहीं, डेटा की बिक्री नहीं, कोई निवेशक नहीं। हर sat सीधे डेवलपमेंट, रिले होस्टिंग और इसे दुनिया के हर स्केटर के लिए मुफ़्त रखने में जाता है।", + "why1Title": "Nostr-नेटिव", + "why1Desc": "कोई केंद्रीय सर्वर नहीं। आपका डेटा उन रिले पर रहता है जो आप चुनते हैं।", + "why2Title": "Bitcoin से संचालित", + "why2Desc": "स्पॉट मैप करके sats कमाएँ। उन्हें स्थानीय शॉप में खर्च करें।", + "why3Title": "हमेशा के लिए मुफ़्त", + "why3Desc": "ओपन सोर्स, कोई पेवॉल नहीं, कोई ट्रैकिंग नहीं, कोई VC फंडिंग नहीं।", + "thankYou": "धन्यवाद। हर sat स्पॉट को मैप पर बनाए रखता है। 🛹⚡", + "license": "लाइसेंस", + "faq": "सामान्य प्रश्न" + }, + "admin": { + "confirmed": "पुष्ट", + "title": "समीक्षा कतार", + "subtitle": "वे स्पॉट, शॉप, इवेंट, टूर और गियर जो जंक सिग्नल पकड़ते हैं। छिपाएँ और पुष्टि करें नरम, वापस लेने योग्य लेबल हैं; रिपोर्ट सबसे ऊपर रहती हैं। कुछ भी हटाया नहीं जाता।", + "tabReports": "रिपोर्ट", + "tabSpots": "स्पॉट", + "tabShops": "शॉप", + "tabEvents": "इवेंट", + "tabTours": "टूर", + "tabGear": "गियर", + "tabCrews": "क्रू", + "tabLab": "लैब", + "tabClaims": "दावे", + "nothingToReview": "समीक्षा के लिए कुछ नहीं — इस तरह की कोई चीज़ जंक सिग्नल नहीं पकड़ती।", + "hideActioned": "कार्रवाई वाली छिपाएँ", + "showActioned": "कार्रवाई वाली दिखाएँ ({{count}})", + "undoAll": "सभी {{count}} पूर्ववत करें", + "undoAllTitle": "इस टैब के हर निर्णय को पूर्ववत करें?", + "undoAllDesc": "इससे हर आइटम तटस्थ पर लौट आएगा — न छिपा, न गारंटीशुदा। यह हर आइटम के लिए एक सार्वजनिक लेबल प्रकाशित करता है, इसलिए Amber के साथ आपको {{count}} अनुमोदन स्क्रीन मिलेंगी।", + "undoCount": "{{count}} पूर्ववत करें", + "undo": "पूर्ववत करें", + "confirm": "पुष्टि करें", + "hide": "छिपाएँ", + "hideIt": "इसे छिपाएँ", + "hideForEveryone": "इसे सबके लिए छिपाएँ?", + "hideForEveryoneDesc": "इससे आइटम हर SkateSpots उपयोगकर्ता के ब्राउज़ और खोज से हट जाएगा। यह एक सार्वजनिक, वापस लेने योग्य लेबल है — आप इसे इस कतार से पूर्ववत कर सकते हैं।", + "hidden": "छिपा हुआ", + "hiddenDesc": "सार्वजनिक लेबल से ऐप से हटाया गया। वापस लेने योग्य।", + "couldNotHide": "छिपाया नहीं जा सका", + "notASpot": "स्केट स्पॉट नहीं है", + "lookAtIt": "इसे देखें" + }, + "profile": { + "nip05Verified": "NIP-05 सत्यापित", + "nip05NotVerified": "NIP-05 इस कुंजी से सत्यापित नहीं", + "message": "संदेश", + "zapsReceived": "zaps प्राप्त", + "memberSince": "सदस्यता से", + "badges": "बैज", + "sponsorsSupport": "प्रायोजक और सहयोग", + "skater": "स्केटर", + "stance": "स्टांस", + "skating": "स्केटिंग", + "homeSpot": "होम स्पॉट", + "basedIn": "आधार", + "addSkateDetails": "अपना स्केट ब्यौरा जोड़ें", + "addSkateDetailsDesc": "स्केटर डायरेक्टरी में दिखने के लिए अपना स्टांस, स्टाइल और स्तर सेट करें।", + "spotsAdded": "जोड़े गए स्पॉट", + "shopsAdded": "जोड़ी गई शॉप", + "noSpots": "आपने अभी कोई स्पॉट नहीं जोड़ा", + "noSpotsDesc": "अपना स्थानीय स्पॉट मैप पर डालें →", + "stash": "स्टैश", + "gear": "गियर", + "crews": "क्रू", + "info": "जानकारी", + "lightning": "Lightning", + "silentPayment": "साइलेंट पेमेंट", + "coordinator": "कोऑर्डिनेटर", + "coordinatorAdded": "कोऑर्डिनेटर जोड़ा गया", + "add": "जोड़ें", + "messagePrivately": "निजी तौर पर मैसेज करें", + "founder": "संस्थापक", + "member": "सदस्य", + "supportSkater": "इस स्केटर का साथ दें", + "supportSkaterDesc": "उनके योगदान के लिए धन्यवाद कहने के लिए टिप भेजें" + }, + "index": { + "joinCommunity": "स्पॉट जोड़ने, इवेंट बनाने और बहुत कुछ के लिए समुदाय से जुड़ें", + "topZapped": "सबसे ज़्यादा ZAP", + "topZappedDesc": "इस महीने सबसे ज़्यादा समर्थित स्पॉट", + "leaderboard": "लीडरबोर्ड", + "newHere": "नए हैं?", + "newHereDesc": "स्पॉट जोड़ने, इवेंट में शामिल होने, स्केटरों से जुड़ने और समुदाय का हिस्सा बनने के लिए मुफ़्त खाता बनाएँ। ईमेल की ज़रूरत नहीं।", + "followFounder": "संस्थापक को फ़ॉलो करें", + "followFounderDesc": "फ़ॉलो करने और नई सुविधाओं व इवेंट की जानकारी पाने के लिए अवतार को 3 सेकंड दबाए रखें!", + "createAccount": "खाता बनाएँ", + "accountWorks": "आपका खाता नेटवर्क के सभी ऐप में चलता है", + "footerTagline": "ओपन सोर्स • समुदाय के स्वामित्व में • विज्ञापन-मुक्त" + }, + "stash": { + "title": "मेरा स्टैश", + "loginDesc": "आपका निजी गियर इन्वेंटरी। जो आपके पास है उसे ट्रैक करें, कीमत तय करें, और चुनकर ट्रेडरों के साथ साझा करें।", + "encrypted": "एन्क्रिप्टेड", + "syncsEverywhere": "हर जगह सिंक", + "p2pTrading": "P2P ट्रेडिंग", + "encryptionRequired": "एन्क्रिप्शन ज़रूरी", + "encryptionRequiredDesc": "गोपनीयता के लिए आपका स्टैश एन्क्रिप्टेड है। कृपया ऐसा साइनर इस्तेमाल करें जो NIP-44 एन्क्रिप्शन संभाले (जैसे Alby, nos2x या Amber)।", + "learnSigners": "साइनर के बारे में जानें", + "select": "चुनें", + "stash": "स्टैश", + "wishlist": "विशलिस्ट", + "allCategories": "सभी श्रेणियाँ", + "sortNewest": "नवीनतम", + "sortValue": "मूल्य", + "sortCondition": "स्थिति", + "sortAz": "A–Z", + "friendsOnly": "केवल मित्र", + "addToWishlist": "विशलिस्ट में जोड़ें", + "addItemToStash": "स्टैश में आइटम जोड़ें", + "addItem": "आइटम जोड़ें", + "editItem": "आइटम संपादित करें", + "publicStash": "सार्वजनिक स्टैश", + "listView": "सूची दृश्य", + "gridView": "ग्रिड दृश्य", + "uploading": "अपलोड हो रहा है...", + "addPhotos": "फ़ोटो जोड़ें", + "wishlistReqPlaceholder": "कोई खास ज़रूरत...", + "itemDescPlaceholder": "आइटम का विवरण दें, कोई नुकसान...", + "itemsCount": "{{count}} आइटम", + "wishlistEmpty": "विशलिस्ट खाली है", + "wishlistEmptyDesc": "वह गियर जोड़ें जिसकी आपको तलाश है — हम आपको मित्रों के स्टैश से मिलाएँगे।", + "stashEmpty": "आपका स्टैश खाली है", + "stashEmptyDesc": "अपना गियर ट्रैक करना शुरू करें। डेक, ट्रक, जूते — एक बार जोड़ें, Nostr से हर जगह पाएँ।", + "noMatch": "कोई आइटम नहीं मिला", + "noMatchDesc": "अपने फ़िल्टर बदलकर देखें।", + "backupTransfer": "बैकअप और ट्रांसफ़र", + "backupDesc": "आपका स्टैश Nostr पर एन्क्रिप्टेड है। अपने नियंत्रण वाली कॉपी रखें — रिले बंद होने या नए खाते से आपकी गियर सूची नहीं जा सकती।", + "exportTitle": "एन्क्रिप्टेड बैकअप", + "exportDialogDesc": "{{count}} आइटम फ़ाइल में सहेजें। इसे एन्क्रिप्ट करें ताकि फ़ाइल लीक होने पर कुछ लीक न हो।", + "modePassword": "पासवर्ड", + "modeKey": "मेरी कुंजी", + "password": "पासवर्ड", + "confirmPassword": "पासवर्ड की पुष्टि करें", + "passwordHint": "कम से कम 8 अक्षर इस्तेमाल करें। कोई रिकवरी नहीं है — इसे न भूलें।", + "keyModeHint": "आपकी Nostr कुंजी से एन्क्रिप्टेड। केवल वही कुंजी इसे खोल सकती है — कुछ याद रखने की ज़रूरत नहीं।", + "exportPlaintext": "बिना एन्क्रिप्शन एक्सपोर्ट करें", + "pwTooShort": "कम से कम 8 अक्षर इस्तेमाल करें।", + "pwMismatch": "पासवर्ड मेल नहीं खाते।", + "exportFailed": "बैकअप नहीं बन सका।", + "unlockTitle": "बैकअप अनलॉक करें", + "unlockDesc": "यह बैकअप पासवर्ड से सुरक्षित है।", + "unlock": "अनलॉक करें", + "unlockFailed": "बैकअप अनलॉक नहीं हो सका।", + "show": "दिखाएँ", + "hide": "छिपाएँ", + "strength": "पासवर्ड की मज़बूती", + "strengthWeak": "कमज़ोर", + "strengthFair": "ठीक", + "strengthGood": "अच्छा", + "strengthStrong": "मज़बूत", + "filenameWillSave": "{{name}} के रूप में सहेजा जाएगा", + "export": "एक्सपोर्ट करें", + "import": "इम्पोर्ट करें", + "exported": "स्टैश एक्सपोर्ट हो गया", + "exportedDesc": "{{count}} आइटम फ़ाइल में सहेजे गए।", + "noItemsInFile": "उस फ़ाइल में कोई आइटम नहीं मिला।", + "noValidItems": "उस फ़ाइल में कोई मान्य आइटम नहीं मिला।", + "imported": "{{count}} आइटम इम्पोर्ट किए", + "importSkipped": "{{count}} छोड़े गए (पहले से आपके स्टैश में)।", + "importAdded": "आपके स्टैश में जोड़ा गया।", + "importFailed": "इम्पोर्ट विफल", + "couldNotRead": "वह फ़ाइल पढ़ी नहीं जा सकी।", + "updateFailed": "आपका स्टैश अपडेट नहीं हो सका", + "updatedCount": "{{count}} आइटम अपडेट किए", + "markedForSale": "{{count}} बिक्री के लिए चिह्नित", + "unmarkedCount": "{{count}} अचिह्नित किए", + "removedCount": "{{count}} आइटम हटाए", + "selectedCount": "{{count}} चुने गए", + "selectAll": "सभी चुनें", + "visibilityPublic": "सार्वजनिक", + "visibilityPrivate": "निजी", + "forSale": "बिक्री के लिए", + "remove": "हटाएँ", + "bulkDeleteTitle": "{{count}} आइटम हटाएँ?", + "bulkDeleteDesc": "इससे आपका एन्क्रिप्टेड स्टैश एक सिग्नेचर में फिर से लिखा जाएगा और इसे यहाँ वापस नहीं लिया जा सकता। पक्का न हो तो पहले बैकअप एक्सपोर्ट करें।", + "deleteTitle": "स्टैश से हटाएँ?", + "deleteDesc": "“{{title}}” आपके स्टैश से हटा दिया जाएगा", + "deleteDescPublic": " और आपके सार्वजनिक शोकेस से हटा दिया जाएगा", + "deleteUndone": "। इसे वापस नहीं लिया जा सकता।", + "deleteDescGeneric": "यह आइटम आपके स्टैश से हटा दिया जाएगा। इसे वापस नहीं लिया जा सकता।", + "listOnMarketplace": "मार्केटप्लेस पर लिस्ट करें", + "noPriceSet": "कोई कीमत तय नहीं", + "categoryLabel": "श्रेणी", + "photosLabel": "फ़ोटो", + "willingToSell": "बेचने को तैयार", + "willingToTrade": "ट्रेड करने को तैयार", + "whereIsThisItem": "यह आइटम कहाँ है?", + "visibilityLabel": "दृश्यता", + "visibilityPrivateOnlyYou": "निजी - केवल आप", + "visibilityFriendsMutual": "मित्र - पारस्परिक फ़ॉलो", + "visibilityPublicAnyone": "सार्वजनिक - कोई भी", + "visibilityFriends": "मित्र", + "brandLabel": "ब्रांड", + "sizeLabel": "साइज़", + "descriptionLabel": "विवरण", + "conditionLabel": "स्थिति", + "itemName": "आइटम का नाम", + "saveChanges": "बदलाव सहेजें", + "listItemDialogTitle": "\"{{title}}\" लिस्ट करें", + "pickUpWhere": "खरीदार यह आइटम कहाँ से ले सकते हैं?", + "linkToSpot": "स्केट स्पॉट से लिंक करें", + "linkToSpotDesc": "स्थानीय बिक्री के लिए सबसे अच्छा • स्पॉट पेज और मैप पर दिखता है", + "recommended": "सुझाया गया", + "noSpecificSpot": "कोई खास स्पॉट नहीं", + "noSpecificSpotDesc": "केवल मार्केटप्लेस पेज पर दिखेगा", + "tipLinkedSpots": "💡 टिप: स्पॉट से जुड़ी लिस्टिंग स्थानीय स्केटरों को आसानी से मिलती हैं।", + "anyoneCanSee": "ये आपकी प्रोफ़ाइल पर कोई भी देख सकता है।", + "seeWhatOthersSee": "देखें दूसरे क्या देखते हैं", + "inventory": "इन्वेंटरी", + "publicWantsNote": "सार्वजनिक ज़रूरतें मार्केटप्लेस पर “wanted” विज्ञापनों के रूप में पोस्ट होती हैं, ताकि विक्रेता आपको ढूँढ सकें।", + "howItWorks": "यह कैसे काम करता है", + "tapToMarketplace": "मार्केटप्लेस पर जाने के लिए टैप करें →", + "viewWishlist": "विशलिस्ट देखें", + "tipEditItems": "पेन बटन से आइटम संपादित करें", + "tipListForSale": "स्टोर बटन से बिक्री के लिए लिस्ट करें", + "tipAddPhotos": "बेहतर ट्रेड ऑफ़र के लिए फ़ोटो जोड़ें", + "tipKeySyncs": "Nostr कुंजी सभी डिवाइस पर सिंक होती है", + "itemsReadyToSell": "{{count}} आइटम बिकने को तैयार" + } + } + }; + +export default batch6; diff --git a/src/i18n/hi/batch7.ts b/src/i18n/hi/batch7.ts new file mode 100644 index 0000000..ec875bb --- /dev/null +++ b/src/i18n/hi/batch7.ts @@ -0,0 +1,1599 @@ +const batch7 = { + "backup": { + "title": "अपना लॉगिन सहेजें", + "subtitle": "सिर्फ़ 10 सेकंड लगेंगे — एक बार ही करें", + "message": "आपका रिकवरी कोड ही आपके खाते में वापस आने का एकमात्र तरीका है। इसे सहेजें और आप किसी भी डिवाइस पर लॉगिन कर सकते हैं।", + "warning": "इसे खो दिया तो रीसेट नहीं होगा — न ईमेल, न पासवर्ड रिकवरी।", + "backupNow": "अभी सहेजें", + "confirmed": "मैंने सहेज लिया", + "remindLater": "बाद में" + }, + "pwa": { + "installTitle": "SkateSpots इंस्टॉल करें", + "installSubtitle": "पूरा ऐप अनुभव पाएँ", + "addToHomeScreen": "होम स्क्रीन पर जोड़ें", + "installApp": "ऐप इंस्टॉल करें", + "maybeLater": "शायद बाद में", + "gotIt": "समझ गया!", + "benefits": { + "fast": "बिजली-सी तेज़", + "offline": "ऑफ़लाइन काम करता है", + "fullAccess": "पूरी पहुँच" + }, + "iosStep1": "Share बटन पर टैप करें", + "iosStep1Hint": "Safari में नीचे", + "iosStep2": "स्क्रॉल करें और \"होम स्क्रीन पर जोड़ें\" पर टैप करें", + "iosStep2Hint": "शेयर मेन्यू में", + "iosStep3": "\"जोड़ें\" पर टैप करके इंस्टॉल करें", + "iosStep3Hint": "ऐप आपकी होम स्क्रीन पर दिखेगा", + "androidStep1": "मेन्यू बटन पर टैप करें", + "androidStep1Hint": "ब्राउज़र में (तीन डॉट)", + "androidStep2": "\"होम स्क्रीन पर जोड़ें\" चुनें", + "androidStep2Hint": "या \"ऐप इंस्टॉल करें\"", + "androidStep3": "इंस्टॉल करने की पुष्टि करें", + "androidStep3Hint": "ऐप आपकी होम स्क्रीन पर दिखेगा", + "tagline": "मुफ़्त • ऑफ़लाइन काम करता है • तेज़ और भरोसेमंद" + }, + "mapPage": { + "searchSuggestPlaces": "जगहें", + "title": "दुकानें और स्पॉट", + "spots": "स्पॉट", + "shops": "दुकानें", + "filters": "फ़िल्टर", + "listView": "सूची", + "mapView": "नक्शा", + "nearMe": "मेरे पास", + "searchPlaceholder": "स्पॉट खोजें...", + "noSpotsInArea": "इस इलाक़े में कोई स्पॉट नहीं", + "zoomIn": "ज़ूम इन", + "zoomOut": "ज़ूम आउट", + "myLocation": "मेरी लोकेशन", + "locationsFound": "{{count}} लोकेशन मिलीं", + "spotsOnly": "सिर्फ़ स्पॉट", + "shopsOnly": "सिर्फ़ दुकानें", + "spotsAndShops": "स्पॉट और दुकानें", + "noSpotsMatch": "आपके फ़िल्टर से कोई स्पॉट मेल नहीं खाता।", + "noSpotsYet": "अभी तक कोई स्पॉट नहीं जोड़ा गया।", + "addFirstSpot": "पहला स्पॉट जोड़ें" + }, + "shops": { + "title": "स्केट दुकानें", + "addShop": "दुकान जोड़ें", + "editShop": "दुकान संपादित करें", + "shopDetails": "दुकान की जानकारी", + "shopName": "दुकान का नाम", + "hours": "समय", + "phone": "फ़ोन", + "website": "वेबसाइट", + "services": "सेवाएँ", + "brands": "ब्रांड", + "supportLocal": "स्थानीय का साथ दें", + "nip05": "दुकान का NIP-05", + "nip05Hint": "इस दुकान के लिए आपके नियंत्रण वाला वैकल्पिक हैंडल (जैसे shop@yourdomain.com), जो आपकी कुंजी से सत्यापित होता है। 5 तक जोड़ें।" + }, + "wallet": { + "title": "वॉलेट", + "balance": "बैलेंस", + "send": "भेजें", + "receive": "प्राप्त करें", + "transactions": "लेन-देन", + "history": "इतिहास", + "noTransactions": "अभी तक कोई लेन-देन नहीं", + "sendSats": "sats भेजें", + "receiveSats": "sats प्राप्त करें", + "amount": "रकम", + "recipient": "प्राप्तकर्ता", + "lightning": "Lightning", + "onChain": "ऑन-चेन", + "invoice": "इनवॉइस", + "address": "पता", + "scanQR": "QR स्कैन करें", + "paste": "पेस्ट करें", + "payInvoice": "इनवॉइस का भुगतान करें", + "createInvoice": "इनवॉइस बनाएँ", + "copied": "क्लिपबोर्ड पर कॉपी हो गया!", + "insufficientFunds": "पर्याप्त फ़ंड नहीं", + "paymentSent": "भुगतान भेज दिया गया!", + "paymentReceived": "भुगतान प्राप्त हुआ!", + "cashu": { + "title": "Cashu वॉलेट", + "tokens": "टोकन", + "mint": "मिंट", + "mints": "मिंट", + "manageMints": "मिंट प्रबंधित करें", + "addMint": "मिंट जोड़ें", + "removeMint": "मिंट हटाएँ", + "defaultMint": "डिफ़ॉल्ट मिंट", + "backup": "बैकअप", + "restore": "रीस्टोर करें", + "recoveryPhrase": "रिकवरी फ़्रेज़", + "viewRecoveryPhrase": "रिकवरी फ़्रेज़ देखें", + "seedWarning": "यह आपके Nostr nsec जैसा है — इसे गुप्त रखें और बैकअप लें!" + } + }, + "settings": { + "title": "सेटिंग्स", + "profile": "प्रोफ़ाइल", + "editProfile": "प्रोफ़ाइल संपादित करें", + "account": "खाता", + "security": "सुरक्षा", + "relays": "रिले", + "appearance": "रूप", + "language": "भाषा", + "notifications": "सूचनाएँ", + "privacy": "गोपनीयता", + "about": "परिचय", + "help": "सहायता", + "feedback": "फ़ीडबैक", + "version": "संस्करण", + "displayName": "प्रदर्शित नाम", + "username": "उपयोगकर्ता नाम", + "bio": "परिचय", + "website": "वेबसाइट", + "lightningAddress": "Lightning पता", + "profilePicture": "प्रोफ़ाइल तस्वीर", + "banner": "बैनर", + "saveProfile": "प्रोफ़ाइल सहेजें", + "backupKeys": "कुंजियों का बैकअप", + "exportKeys": "कुंजियाँ निर्यात करें", + "secretKey": "गुप्त कुंजी", + "publicKey": "सार्वजनिक कुंजी", + "showSecretKey": "गुप्त कुंजी दिखाएँ", + "hideSecretKey": "गुप्त कुंजी छिपाएँ", + "copyKey": "कुंजी कॉपी करें", + "keysBackedUp": "आपने पुष्टि कर दी है कि आपकी कुंजियाँ सुरक्षित रूप से बैकअप हैं।", + "keysNotBackedUp": "अपनी रिकवरी फ़्रेज़ या गुप्त कुंजी का बैकअप ज़रूर लें!", + "selectLanguage": "भाषा चुनें", + "english": "अंग्रेज़ी", + "spanish": "स्पेनिश" + }, + "lab": { + "title": "The Lab", + "subtitle": "अपनी स्केटिंग को अगले स्तर पर ले जाएँ", + "coaches": "कोच", + "filmers": "फिल्मर", + "findCoach": "कोच खोजें", + "becomeCoach": "कोच बनें", + "findFilmer": "फिल्मर खोजें", + "becomeFilmer": "फिल्मर बनें", + "hourlyRate": "प्रति घंटा दर", + "experience": "अनुभव", + "specialties": "विशेषताएँ", + "availability": "उपलब्धता", + "bookSession": "सेशन बुक करें", + "contactCoach": "कोच से संपर्क करें", + "noCoaches": "आपके इलाक़े में कोई कोच नहीं मिला", + "noFilmers": "आपके इलाक़े में कोई फिल्मर नहीं मिला" + }, + "rewards": { + "title": "इनाम", + "yourPoints": "आपके अंक", + "earnPoints": "अंक कमाएँ", + "redeemPoints": "अंक भुनाएँ", + "leaderboard": "लीडरबोर्ड", + "achievements": "उपलब्धियाँ", + "dailyTasks": "रोज़ के काम", + "weeklyTasks": "हफ़्ते के काम" + }, + "zaps": { + "zapButton": "ज़ैप", + "sendZap": "ज़ैप भेजें", + "zapAmount": "ज़ैप रकम", + "customAmount": "कस्टम रकम", + "addMessage": "संदेश जोड़ें (वैकल्पिक)", + "sending": "भेजा जा रहा है...", + "sent": "ज़ैप भेज दिया गया!", + "failed": "ज़ैप नहीं गया", + "received": "आपको ज़ैप मिला!" + }, + "errors": { + "somethingWentWrong": "कुछ गड़बड़ हो गई", + "tryAgainLater": "कृपया बाद में फिर कोशिश करें", + "notFound": "नहीं मिला", + "pageNotFound": "पेज नहीं मिला", + "unauthorized": "अनधिकृत", + "loginRequired": "जारी रखने के लिए कृपया लॉग इन करें", + "networkError": "नेटवर्क त्रुटि", + "checkConnection": "कृपया अपना इंटरनेट कनेक्शन जाँचें", + "invalidInput": "अमान्य इनपुट", + "requiredField": "यह फ़ील्ड ज़रूरी है" + }, + "time": { + "today": "आज", + "yesterday": "बीता कल", + "tomorrow": "आने वाला कल", + "thisWeek": "इस हफ़्ते", + "nextWeek": "अगले हफ़्ते", + "thisMonth": "इस महीने", + "justNow": "अभी-अभी", + "minutesAgo": "{{count}} मिनट पहले", + "hoursAgo": "{{count}} घंटे पहले", + "daysAgo": "{{count}} दिन पहले" + }, + "footer": { + "vibedWith": "प्यार से बनाया", + "poweredBy": "संचालित", + "openSource": "ओपन सोर्स", + "contribute": "योगदान दें", + "decentralized": "विकेंद्रीकृत", + "communityOwned": "समुदाय के स्वामित्व में" + }, + "createSpot": { + "title": "स्केट स्पॉट जोड़ें", + "subtitle": "समुदाय के साथ स्केटबोर्डिंग स्पॉट साझा करें", + "backToMap": "नक्शे पर वापस", + "namePlaceholder": "जैसे, Hollywood High School", + "descriptionPlaceholder": "स्पॉट, रुकावटें, स्केट करने का सबसे अच्छा समय, सुरक्षा जानकारी आदि बताएँ।", + "addressPlaceholder": "जैसे, 1521 N Highland Ave, Los Angeles, CA", + "selectType": "स्पॉट का प्रकार चुनें", + "selectBustLevel": "पकड़े जाने का जोखिम स्तर चुनें", + "uploadPhotos": "अपलोड करें", + "dragDrop": "अपलोड करने के लिए खींचकर छोड़ें या क्लिक करें", + "maxPhotos": "अधिकतम 5 फ़ोटो", + "publishing": "प्रकाशित हो रहा है...", + "success": "स्पॉट सफलतापूर्वक प्रकाशित हुआ!", + "error": "स्पॉट प्रकाशित नहीं हो सका", + "locationRequired": "कृपया नक्शे पर एक लोकेशन चुनें", + "useCurrentLocation": "मेरी मौजूदा लोकेशन इस्तेमाल करें", + "pickOnMap": "नक्शे पर लोकेशन चुनें", + "loginToAdd": "स्केट स्पॉट जोड़ने के लिए आपको लॉग इन करना होगा।", + "locationLabel": "लोकेशन", + "tapToPlace": "पिन लगाने के लिए नक्शे पर टैप करें, या उसे खींचकर ठीक करें।", + "manualCoords": "निर्देशांक मैन्युअल रूप से दर्ज करें", + "moreDetails": "अधिक जानकारी (वैकल्पिक)", + "photoHint": "प्रकाशित करने के लिए एक फ़ोटो ज़रूरी है", + "nameRequired": "कृपया इस स्पॉट का नाम दर्ज करें।", + "descriptionRequired": "कृपया इस स्पॉट का विवरण दें।", + "addressRequired": "कृपया पता या इलाक़े का नाम जोड़ें।", + "photoRequired": "कृपया कम से कम एक फ़ोटो जोड़ें।", + "draftTitle": "आपका एक बिना सहेजा ड्राफ़्ट है", + "draftBody": "जहाँ छोड़ा था वहीं से जारी रखें, या उसे हटा दें।", + "draftResume": "जारी रखें", + "draftDiscard": "ड्राफ़्ट हटाएँ", + "requiredFields": "हमें इस स्पॉट के बारे में बताएँ। * वाले सभी फ़ील्ड ज़रूरी हैं।", + "coordinates": "निर्देशांक", + "latitudePlaceholder": "अक्षांश (जैसे, 34.1012)", + "longitudePlaceholder": "देशांतर (जैसे, -118.3389)", + "gettingLocation": "लोकेशन मिल रही है...", + "accessType": "पहुँच का प्रकार", + "publicTitle": "सार्वजनिक - सबके लिए खुला", + "publicDesc": "स्केट पार्क, सार्वजनिक चौक, स्ट्रीट स्पॉट", + "privateTitle": "निजी संपत्ति - अनुमति ज़रूरी", + "privateDesc": "घर के पीछे रैंप, निजी ज़मीन, गेट वाले स्पॉट", + "localsTitle": "पहले स्थानीय लोगों से पूछें", + "localsDesc": "स्पॉट का सम्मान करें, इसे ख़त्म न करें", + "contactInfo": "संपर्क जानकारी", + "contactPlaceholder": "जैसे, फ़ोन नंबर, Instagram, ईमेल...", + "contactHintPrivate": "अनुमति के लिए लोग आपसे कैसे संपर्क करें?", + "contactHintLocals": "स्पॉट के बारे में पूछने के लिए लोग आपसे कैसे संपर्क करें?" + }, + "createEvent": { + "title": "इवेंट बनाएँ", + "subtitle": "कम्युनिटी के लिए स्केटबोर्डिंग इवेंट आयोजित करें", + "backToEvents": "इवेंट्स पर वापस", + "namePlaceholder": "जैसे, Summer Skate Session", + "descriptionPlaceholder": "इवेंट के बारे में बताएँ — क्या होगा, नियम, इनाम आदि।", + "selectType": "इवेंट का प्रकार चुनें", + "venuePlaceholder": "जैसे, Venice Beach Skatepark, CA", + "selectDate": "तारीख़ चुनें", + "selectTime": "समय चुनें", + "ticketPricePlaceholder": "मुफ़्त इवेंट के लिए ख़ाली छोड़ें", + "publishing": "प्रकाशित हो रहा है...", + "success": "इवेंट सफलतापूर्वक प्रकाशित हुआ!", + "error": "इवेंट प्रकाशित नहीं हो सका", + "loginToCreate": "इवेंट बनाने के लिए आपको लॉग इन करना होगा।", + "requiredFields": "इस इवेंट के बारे में बताएँ। * वाले सभी फ़ील्ड ज़रूरी हैं।", + "startDateTime": "शुरू होने की तारीख़ और समय", + "endDateTime": "ख़त्म होने की तारीख़ और समय (वैकल्पिक)", + "coordinatesOptional": "निर्देशांक (वैकल्पिक)", + "coverImage": "कवर इमेज", + "uploadCover": "कवर इमेज अपलोड करें", + "nip05Recommended": "NIP-05 सत्यापन सुझाया गया", + "nip05Desc": "अपनी पहचान सत्यापित करने और शामिल होने वालों में भरोसा बनाने के लिए अपनी प्रोफ़ाइल में NIP-05 पहचानकर्ता जोड़ें।", + "addNip05": "सेटिंग्स में NIP-05 जोड़ें" + }, + "spotDetail": { + "postedBy": "पोस्ट करने वाले", + "getDirections": "रास्ता देखें", + "reviews": "समीक्षाएँ", + "noReviews": "अभी कोई समीक्षा नहीं", + "beFirstReview": "इस स्पॉट की पहली समीक्षा आप करें!", + "writeReview": "समीक्षा लिखें", + "submitReview": "समीक्षा भेजें", + "rating": "रेटिंग", + "reviewPlaceholder": "इस स्पॉट पर अपना अनुभव साझा करें...", + "relatedSpots": "आस-पास के स्पॉट" + }, + "eventDetail": { + "organizedBy": "आयोजक", + "eventInfo": "इवेंट की जानकारी", + "location": "जगह", + "dateTime": "तारीख़ और समय", + "price": "कीमत", + "attendeeCount": "{{count}} लोग जा रहे हैं", + "interested": "दिलचस्पी है", + "going": "जा रहे हैं", + "notGoing": "नहीं जा रहे", + "share": "इवेंट साझा करें" + }, + "profile": { + "posts": "पोस्ट", + "spots": "स्पॉट", + "events": "इवेंट", + "following": "फ़ॉलो कर रहे", + "followers": "फ़ॉलोअर", + "editProfile": "प्रोफ़ाइल संपादित करें", + "follow": "फ़ॉलो करें", + "unfollow": "फ़ॉलो हटाएँ", + "noPostsYet": "अभी कोई पोस्ट नहीं", + "noBio": "अभी कोई बायो नहीं", + "zapProfile": "इस स्केटर को Zap करें" + }, + "about": { + "title": "SkateSpots के बारे में", + "subtitle": "एक विकेंद्रीकृत स्केटबोर्डिंग कम्युनिटी", + "whatIs": "SkateSpots क्या है?", + "whatIsDesc": "SkateSpots दुनिया भर में स्केटबोर्डिंग की जगहें ढूँढने का कम्युनिटी-संचालित प्लेटफ़ॉर्म है। Nostr पर बना, यह स्केटर्स को उनके डेटा का सच्चा मालिकाना देता है।", + "features": "फ़ीचर्स", + "featuresDesc": "स्पॉट ढूँढें, इवेंट बनाएँ, कोच से जुड़ें और अपनी लोकल स्केट शॉप को सपोर्ट करें — सब एक ही जगह।", + "nostr": "Nostr पर बना", + "nostrDesc": "Nostr एक सरल, खुला प्रोटोकॉल है जो सच में सेंसरशिप-रोधी वैश्विक संचार संभव बनाता है। आपका अकाउंट और डेटा आपका ही है।", + "openSource": "ओपन सोर्स", + "openSourceDesc": "SkateSpots पूरी तरह ओपन सोर्स है। योगदान दें, fork करें या अपना इंस्टेंस चलाएँ।", + "lightning": "Lightning भुगतान", + "lightningDesc": "Bitcoin Lightning भुगतान से अपने पसंदीदा स्केटर्स, कोच और क्रिएटर्स को Zap करें।" + }, + "faq": { + "title": "अक्सर पूछे जाने वाले सवाल", + "subtitle": "SkateSpots के बारे में जो कुछ जानना ज़रूरी है", + "whatIsNostr": "Nostr क्या है?", + "whatIsNostrAnswer": "Nostr विकेंद्रीकृत सोशल नेटवर्किंग के लिए एक खुला प्रोटोकॉल है। पारंपरिक प्लेटफ़ॉर्म के उलट, आपका डेटा और पहचान आपकी अपनी होती है।", + "howToStart": "शुरुआत कैसे करें?", + "howToStartAnswer": "\"साइन अप\" पर क्लिक करके नया Nostr अकाउंट बनाएँ, या अगर पहले से है तो \"लॉग इन\" करें। आप ब्राउज़र एक्सटेंशन, मोबाइल ऐप या सीक्रेट की का उपयोग कर सकते हैं।", + "whatAreZaps": "Zaps क्या हैं?", + "whatAreZapsAnswer": "Zaps, Bitcoin Lightning के टिप हैं जो आप दूसरे यूज़र्स को भेज सकते हैं। ये अच्छे कंटेंट की सराहना या क्रिएटर्स को सपोर्ट दिखाने का तरीक़ा हैं।", + "howToAddSpot": "स्पॉट कैसे जोड़ें?", + "howToAddSpotAnswer": "अपने अकाउंट में लॉग इन करें, \"स्पॉट जोड़ें\" पर क्लिक करें और लोकेशन, फ़ोटो और विवरण सहित जानकारी भरें।", + "isItFree": "क्या SkateSpots मुफ़्त है?", + "isItFreeAnswer": "हाँ! SkateSpots पूरी तरह मुफ़्त है। आप चाहें तो दूसरे यूज़र्स को Zaps (Bitcoin टिप) भेज सकते हैं।", + "canIEditSpot": "क्या मैं अपने स्पॉट संपादित या हटा सकता हूँ?", + "canIEditSpotAnswer": "हाँ, आप अपने बनाए स्पॉट संपादित कर सकते हैं। Nostr की विकेंद्रीकृत प्रकृति के कारण हटाने का अनुरोध भेजा जाता है, लेकिन कुछ रिले डेटा रख सकते हैं।" + }, + "onboarding": { + "welcome": "SkateSpots में आपका स्वागत है!", + "welcomeDesc": "चलिए, कुछ ही क़दमों में सेटअप कर लें।", + "step1Title": "अपना अकाउंट बनाएँ", + "step1Desc": "आपकी Nostr कीज़ बन रही हैं। यह ऐसा पासवर्ड है जो आपके नियंत्रण में रहता है।", + "step2Title": "अपनी कीज़ बैकअप करें", + "step2Desc": "अपना रिकवरी फ़्रेज़ कहीं सुरक्षित सहेजें। अकाउंट वापस पाने का यही एकमात्र तरीक़ा है!", + "step3Title": "अपनी प्रोफ़ाइल सेट करें", + "step3Desc": "कम्युनिटी को अपने बारे में बताएँ।", + "step4Title": "आप तैयार हैं!", + "step4Desc": "स्पॉट और इवेंट देखना शुरू करें और दूसरे स्केटर्स से जुड़ें।", + "skipForNow": "अभी छोड़ें", + "continueToApp": "ऐप पर जाएँ" + }, + "labPage": { + "title": "The Lab", + "subtitle": "ट्रिक सीखें। पल कैमरे में क़ैद करें। दूसरे स्केटर्स से जुड़ें", + "coachesTab": "कोचिंग", + "filmersTab": "फ़िल्मिंग", + "offerCoaching": "कोचिंग प्रदान करें", + "offerFilming": "फ़िल्मिंग प्रदान करें", + "loginToOffer": "सेवाएँ देने के लिए लॉग इन करें", + "whatToLearn": "आप क्या सीखना चाहते हैं?", + "whatContent": "किस तरह का कंटेंट?", + "selectSkillsDesc": "कौशल चुनें, हम आपको कोच से जोड़ेंगे", + "selectFilmingDesc": "जो फ़िल्मिंग सेवाएँ चाहिए, उन्हें चुनें", + "searchPlaceholder": "नाम, जगह या कौशल से खोजें...", + "noServicesYet": "अभी कोई सेवा नहीं", + "beFirstToOffer": "कम्युनिटी को कोचिंग या फ़िल्मिंग सेवाएँ देने वाले पहले व्यक्ति बनें!", + "skills": "कौशल", + "rate": "दर", + "perHour": "/घंटा", + "contact": "संपर्क करें", + "viewProfile": "प्रोफ़ाइल देखें", + "noProfilesYet": "अभी कोई प्रोफ़ाइल नहीं", + "beFirstCoach": "कोच के रूप में पहले रजिस्टर करने वाले बनें!", + "beFirstFilmer": "फ़िल्मर के रूप में पहले रजिस्टर करने वाले बनें!", + "yearsExperience": "साल का अनुभव" + }, + "becomeCoach": { + "title": "कोच बनें", + "subtitle": "अपने कौशल साझा करें और दूसरे स्केटर्स की प्रगति में मदद करें", + "bioPlaceholder": "अपनी स्केटिंग पृष्ठभूमि और सिखाने का तरीक़ा बताएँ...", + "skillsPlaceholder": "जैसे, kickflip, heelflip, grinds, bowls", + "selectSkills": "वे कौशल चुनें जो आप सिखा सकते हैं", + "hourlyRate": "प्रति घंटा दर (sats)", + "ratePlaceholder": "जैसे, 5000", + "locationPlaceholder": "आपका शहर या इलाक़ा", + "publishing": "प्रोफ़ाइल प्रकाशित हो रही है...", + "success": "कोच प्रोफ़ाइल बन गई!", + "error": "प्रोफ़ाइल नहीं बन सकी" + }, + "becomeFilmer": { + "title": "फ़िल्मर बनें", + "subtitle": "कम्युनिटी के लिए बेहतरीन क्लिप्स कैप्चर करें", + "bioPlaceholder": "अपने फ़िल्मिंग अनुभव और उपकरणों के बारे में बताएँ...", + "specialtiesPlaceholder": "जैसे, fisheye, long lens, drone, editing", + "selectSpecialties": "अपनी विशेषज्ञताएँ चुनें", + "hourlyRate": "प्रति घंटा दर (sats)", + "ratePlaceholder": "जैसे, 5000", + "locationPlaceholder": "आपका शहर या इलाक़ा", + "portfolioUrl": "पोर्टफ़ोलियो URL", + "portfolioPlaceholder": "अपने काम का लिंक (YouTube, Instagram आदि)", + "publishing": "प्रोफ़ाइल प्रकाशित हो रही है...", + "success": "फ़िल्मर प्रोफ़ाइल बन गई!", + "error": "प्रोफ़ाइल नहीं बन सकी" + }, + "skills": { + "kickflip": "Kickflip", + "heelflip": "Heelflip", + "ollie": "Ollie", + "treflip": "360 Flip", + "shuvit": "Shuvit", + "hardflip": "Hardflip", + "varial": "Varial", + "nollie": "Nollie", + "fakie": "Fakie", + "switch": "Switch", + "grind": "Grind", + "slide": "Slide", + "manual": "Manual", + "transition": "Transition", + "bowl": "Bowl", + "vert": "Vert", + "street": "Street", + "flatground": "Flatground" + }, + "food": { + "title": "खाने की जगहें", + "subtitle": "सेशन से पहले या बाद में एनर्जी लें", + "addFood": "खाने की जगह जोड़ें", + "categories": { + "all": "सभी", + "burgers": "बर्गर", + "pizza": "पिज़्ज़ा", + "tacos": "टैकोस", + "coffee": "कॉफ़ी", + "drinks": "ड्रिंक्स", + "snacks": "स्नैक्स" + }, + "skaterFriendly": "स्केटर-फ़्रेंडली", + "nearSpots": "स्केट स्पॉट के पास" + }, + "weather": { + "title": "मौसम", + "current": "मौजूदा हालात", + "forecast": "पूर्वानुमान", + "humidity": "नमी", + "wind": "हवा", + "feelsLike": "महसूस होता है", + "goodForSkating": "स्केटिंग के लिए बढ़िया!", + "notIdeal": "हालात ठीक नहीं", + "allWeather": "हर मौसम", + "goodWeather": "अच्छा मौसम", + "perfectWeather": "बेहतरीन मौसम" + }, + "diyUi": { + "title": "DIY — ख़ुद बनाएँ", + "tagline": "अपने डेक, रैंप और कंक्रीट स्पॉट बनाने के लिए गाइड, खुले टूल और प्लान — और साथ में उनसे जुड़े लोग, जगहें और मार्केटप्लेस खोजें।", + "doItWithPeople": "लोगों के साथ करें", + "backToDiy": "DIY पर वापस", + "calc": { + "title": "डेक लागत कैलकुलेटर", + "intro": "डेक बनाने में क्या लगता है — मज़दूरी, उपकरण, सामग्री, प्रोसेस समय, पैकेजिंग और मार्जिन — और एक उचित बिक्री क़ीमत। इस डिवाइस पर सहेजा जाता है।" + }, + "designer": { + "title": "डेक डिज़ाइनर", + "intro": "स्केटबोर्ड या लॉन्गबोर्ड का आउटलाइन बनाएँ, फिर प्रिंट करने योग्य 1:1 टेम्पलेट, SVG या CNC के लिए DXF एक्सपोर्ट करें। इस डिवाइस पर सहेजा जाता है।", + "presets": "प्रीसेट", + "dimensions": "माप", + "shape": "आकार", + "kicks": "किक्स", + "hardware": "ट्रक होल", + "width": "अधिकतम चौड़ाई", + "wheelbase": "व्हीलबेस", + "nose": "नोज़ की लंबाई", + "tail": "टेल की लंबाई", + "length": "कुल लंबाई", + "waist": "वेस्ट", + "endRound": "सिरों की गोलाई", + "concave": "कॉन्केव", + "thickness": "मोटाई", + "tailKick": "टेल किक", + "noseKick": "नोज़ किक", + "holeNew": "New school (2.125″)", + "holeOld": "Old school (2.5″)", + "holeSpacing": "New school 2.125″ × 1.625″ (54 × 41 mm) है; old school 2.5″ × 1.625″। 3/16″ माउंटिंग होल।", + "topView": "ऊपर से दृश्य", + "sideView": "साइड प्रोफ़ाइल", + "concaveSection": "कॉन्केव सेक्शन", + "export": "एक्सपोर्ट", + "pdfA4": "1:1 PDF · A4", + "pdfLetter": "1:1 PDF · Letter", + "printNote": "PDF को 100% पर प्रिंट करें (“fit to page” नहीं), फिर कोने के क्रॉस से टाइल्स जोड़ें। SVG भी असली साइज़ का है।", + "note": "यह वह 2D आउटलाइन है जिसे आप ट्रेस और काटते हैं। पूरे 3D आकार और मोल्ड डिज़ाइन के लिए असली CAD टूल ही सही चुनाव है।" + }, + "source": "स्रोत", + "comingSoon": "जल्द आ रहा है", + "footer": "स्टेप-बाय-स्टेप गाइड जल्द आ रही हैं। फ़िलहाल: The Lab में बनाने वाले लोगों से मिलें, अपना स्पॉट मैप करें, और मार्केटप्लेस में ख़रीदें या बेचें। सुरक्षित काम करें — पैड, दस्ताने और आँखों की सुरक्षा।", + "categories": { + "boards": "बोर्ड", + "ramps": "रैंप और लकड़ी के ऑब्स्टैकल", + "concrete": "कंक्रीट और DIY स्पॉट", + "repairs": "मरम्मत और ट्यूनिंग", + "tools": "टूल और प्लान" + }, + "cards": { + "ossBuild": { + "title": "स्केटबोर्ड बनाएँ", + "blurb": "स्टेप-बाय-स्टेप डेक निर्माण — विनियर, मोल्ड, प्रेस और फ़िनिशिंग।" + }, + "sk8cad": { + "title": "SK8CAD", + "blurb": "डेक आकार, कॉन्केव और मोल्ड डिज़ाइन के लिए ओपन-सोर्स CAD।" + }, + "deckCost": { + "title": "डेक लागत और क़ीमत", + "blurb": "बनाने से पहले सामग्री, मज़दूरी और उचित बिक्री क़ीमत तय करें।" + }, + "deckDesigner": { + "title": "डेक डिज़ाइनर", + "blurb": "आउटलाइन बनाएँ और 1:1 टेम्पलेट प्रिंट करें — या CNC के लिए SVG/DXF एक्सपोर्ट करें।" + }, + "ledgeBox": { + "title": "लेज या बॉक्स बनाएँ", + "blurb": "शुरुआती लोगों के लिए आसान लकड़ी का ऑब्स्टैकल, एक वीकेंड में तैयार।" + }, + "quarterpipe": { + "title": "क्वार्टरपाइप बनाएँ", + "blurb": "बैकयार्ड मिनी के लिए रैंप प्लान, ट्रांज़िशन और कॉपिंग।" + }, + "flatbar": { + "title": "फ़्लैटबार बनाएँ", + "blurb": "सस्ता, पोर्टेबल और रेल सीखने का सबसे अच्छा तरीक़ा।" + }, + "concreteBasics": { + "title": "कंक्रीट की बुनियादी बातें", + "blurb": "ऐसी लेज या बैंक बनाने के लिए मिक्सिंग, फ़ॉर्मिंग और फ़िनिशिंग जो टिके।" + }, + "coping": { + "title": "कॉपिंग और किनारे", + "blurb": "स्मूद ग्राइंड के लिए कॉपिंग कैसे लगाएँ और ट्रांज़िशन फ़िनिश करें।" + }, + "buyParts": { + "title": "पार्ट्स और गियर ख़रीदें", + "blurb": "मार्केटप्लेस के विक्रेताओं से डेक, हार्डवेयर और टूल लें।" + }, + "mapSpot": { + "title": "अपना DIY स्पॉट मैप करें", + "blurb": "कुछ बनाया है? इसे मैप पर जोड़ें ताकि दूसरे इसे ढूँढकर स्केट कर सकें।" + }, + "regrip": { + "title": "बोर्ड पर नया ग्रिप लगाएँ", + "blurb": "पुराना ग्रिप हटाएँ और नया साफ़-सुथरा लगाएँ।" + }, + "tune": { + "title": "बेयरिंग और ट्रक ट्यून करें", + "blurb": "बेयरिंग साफ़ करें, बुशिंग बदलें और ट्रक ज्यामिति सेट करें।" + }, + "printMolds": { + "title": "3D-प्रिंटेड मोल्ड", + "blurb": "कम्युनिटी से प्रिंट करने योग्य मोल्ड और अलाइनमेंट-बेस फ़ाइलें।" + }, + "sk8cadTools": { + "title": "मोल्ड और अलाइनमेंट टूल", + "blurb": "अंदर बने अलाइनमेंट बेस के साथ मोल्ड डिज़ाइन करें।" + } + }, + "actions": { + "findBuilder": { + "title": "बिल्डर खोजें", + "blurb": "The Lab में रैंप और DIY बिल्डर, जो आपके लिए इसे डिज़ाइन या ढाल सकें।" + }, + "findCrew": { + "title": "DIY क्रू खोजें", + "blurb": "बनाने पर केंद्रित क्रू — उनसे जुड़ें जो स्पॉट को हक़ीक़त बना रहे हैं।" + }, + "mapSpot": { + "title": "DIY स्पॉट मैप करें", + "blurb": "अपना बनाया स्पॉट जोड़ें ताकि वह मैप पर बना रहे।" + }, + "sellBuilds": { + "title": "अपनी बनाई चीज़ें बेचें", + "blurb": "मार्केटप्लेस में अपने बनाए डेक, रैंप या पार्ट्स लिस्ट करें।" + }, + "findCoach": { + "title": "कोच खोजें", + "blurb": "ऐसे कोच जो DIY स्केट मॉड्यूल और स्पॉट बनाना सिखाते हैं।" + } + } + }, + "seoUi": { + "becomeBuilderTitle": "बिल्डर बनें - SkateSpots", + "becomeBuilderDesc": "अपनी रैंप, पार्क और DIY निर्माण सेवाएँ लिस्ट करें — आप क्या बनाते हैं, सामग्री और पैमाना।", + "tradesTitle": "मेरे ट्रेड — SkateSpots", + "tradesDesc": "अपने मार्केटप्लेस ट्रेड, पुष्टियाँ और प्रतिष्ठा प्रबंधित करें।", + "eventsTitle": "स्केट इवेंट और टूर - SkateSpots", + "eventsDesc": "अपने आस-पास स्केटबोर्डिंग इवेंट, प्रतियोगिताएँ, टूर और सेशन खोजें।", + "editShopDesc": "अपनी स्केट शॉप संपादित करें।", + "createTourDesc": "स्केट टूर आयोजित करें — लोकल छिपे रत्नों के टूर, देश भर के रोड ट्रिप, अंतरराष्ट्रीय रोमांच, या KOTR-स्टाइल डिस्ट्रक्शन प्रतियोगिताएँ।", + "deckDesignerTitle": "डेक डिज़ाइनर — SkateSpots DIY", + "deckDesignerDesc": "स्केटबोर्ड या लॉन्गबोर्ड का आउटलाइन डिज़ाइन करें, फिर प्रिंट करने योग्य 1:1 टेम्पलेट, SVG या DXF एक्सपोर्ट करें — कॉन्केव, किक, व्हीलबेस और ट्रक होल सहित।", + "createEventTitle": "स्केट इवेंट बनाएँ - SkateSpots", + "createEventDesc": "कम्युनिटी के लिए नया स्केटबोर्डिंग इवेंट बनाएँ।", + "editTourDesc": "अपना स्केट टूर संपादित करें — स्टॉप, तारीख़ें और जानकारी अपडेट करें।", + "walletTitle": "वॉलेट - SkateSpots", + "walletDesc": "स्केटर्स और स्पॉट क्रिएटर्स को zap भेजने के लिए अपना Lightning वॉलेट जोड़ें।", + "becomePhotographerTitle": "फ़ोटोग्राफ़र बनें - SkateSpots", + "becomePhotographerDesc": "अपनी स्केट फ़ोटोग्राफ़ी प्रोफ़ाइल बनाएँ — कैमरे, लेंस, लाइटिंग और सेवाएँ।", + "newsletterTitle": "न्यूज़लेटर - SkateSpots", + "newsletterDesc": "SkateSpots कम्युनिटी की हर हफ़्ते की झलक। ऐप अपडेट, नए स्पॉट, इवेंट और स्केटबोर्डिंग को ज़िंदा रखने वाले लोग।", + "homeTitle": "SkateSpots - दुनिया भर में स्केटबोर्डिंग की जगहें खोजें", + "zapLeaderboardTitle": "Zap लीडरबोर्ड - SkateSpots", + "zapLeaderboardDesc": "सबसे ज़्यादा zap पाने वाले स्केट स्पॉट और उन्हें सपोर्ट करने वाले कम्युनिटी सदस्य।", + "adminReviewTitle": "समीक्षा क्यू — SkateSpots", + "gearSwapTitle": "गियर स्वैप - SkateSpots", + "gearSwapDesc": "दूसरे स्केटर्स के साथ इस्तेमाल किया स्केट गियर ख़रीदें-बेचें। डेक, ट्रक, व्हील्स, जूते और बहुत कुछ।", + "donateTitle": "दान करें — SkateSpots", + "donateDesc": "SkateSpots को सपोर्ट करें — Lightning, निजी on-chain (silent payments), या Angor पर बिल्ड को फ़ंड करें।", + "verifyCardTitle": "सत्यापित करें — SkateSpots", + "verifyCardDesc": "SkateSpots कार्ड या एक्सेस पास सत्यापित करें।", + "mapTitle": "स्केट स्पॉट मैप - SkateSpots", + "mapDesc": "हमारे इंटरैक्टिव मैप पर दुनिया भर के स्केटबोर्डिंग स्पॉट देखें।", + "diyTitle": "DIY — ख़ुद बनाएँ | SkateSpots", + "diyDesc": "अपने स्केटबोर्ड, रैंप और कंक्रीट स्पॉट बनाने के लिए गाइड, खुले टूल और प्लान — और साथ में उन्हें बनाने वाले लोग और जगहें।", + "appShopTitle": "ऐप शॉप — SkateSpots", + "becomeSkaterTitle": "स्केटर डायरेक्टरी से जुड़ें - SkateSpots", + "becomeSkaterDesc": "अपनी स्केटर प्रोफ़ाइल बनाएँ ताकि कम्युनिटी आपको ढूँढ सके।", + "marketplaceTitle": "मार्केटप्लेस - SkateSpots", + "marketplaceDesc": "विकेंद्रीकृत Plebeian Market पर स्केटबोर्डिंग गियर ख़रीदें और बेचें।", + "becomeEditorTitle": "वीडियो एडिटर बनें - SkateSpots", + "becomeEditorDesc": "SkateSpots पर अपनी स्केटबोर्डिंग वीडियो एडिटर प्रोफ़ाइल बनाएँ।", + "amberCallbackTitle": "Amber से साइन इन - SkateSpots", + "amberCallbackDesc": "आपका Amber (NIP-55) लॉगिन पूरा हो रहा है।", + "supportersTitle": "सपोर्टर्स - SkateSpots", + "supportersDesc": "SkateSpots को ज़िंदा रखने वाली कम्युनिटी — सपोर्टर्स, सहयोगी, साझेदार और दोस्त।", + "becomeCoachTitle": "कोच बनें - SkateSpots", + "becomeCoachDesc": "अपनी स्केटबोर्डिंग कोच प्रोफ़ाइल बनाएँ।", + "riderCardTitle": "स्केटर कार्ड — SkateSpots", + "riderCardDesc": "अपना प्रिंट करने योग्य SkateSpots स्केटर लाइसेंस या पार्क एक्सेस कार्ड बनाएँ।", + "editEventDesc": "अपना स्केटबोर्डिंग इवेंट संपादित करें।", + "createShopTitle": "स्केट शॉप जोड़ें - SkateSpots", + "createShopDesc": "अपनी स्केट शॉप कम्युनिटी में जोड़ें।", + "deckCostTitle": "डेक लागत कैलकुलेटर — SkateSpots DIY", + "deckCostDesc": "डेक बनाने में क्या लागत आती है — मज़दूरी, उपकरण, सामग्री, प्रोसेस समय, पैकेजिंग और मार्जिन — और उचित बिक्री क़ीमत, सब पता करें।", + "pyramidTitle": "पिरामिड रैंकिंग - SkateSpots", + "pyramidDesc": "शीर्ष योगदानकर्ता और कम्युनिटी लीडर।", + "foodTitle": "स्पॉट के पास खाना - SkateSpots", + "foodDesc": "स्केटबोर्डिंग स्पॉट के पास रेस्टोरेंट, कैफ़े और खाने के विकल्प खोजें।", + "createListingTitle": "गियर लिस्ट करें - SkateSpots", + "createListingDesc": "बिक्री के लिए स्केटबोर्डिंग गियर लिस्ट करें या ख़रीदने के लिए गियर खोजें।", + "becomeFilmerTitle": "फ़िल्मर बनें - SkateSpots", + "becomeFilmerDesc": "अपनी स्केटबोर्डिंग फ़िल्मिंग प्रोफ़ाइल बनाएँ।", + "skatersTitle": "स्केटर्स - SkateSpots", + "skatersDesc": "SkateSpots कम्युनिटी के स्केटर्स खोजें। स्टाइल, स्टांस, लेवल और जगह के हिसाब से ब्राउज़ करें।", + "communityStatsTitle": "कम्युनिटी आँकड़े — SkateSpots", + "communityStatsDesc": "SkateSpots के लाइव कम्युनिटी मीट्रिक — स्पॉट, इवेंट, कोच, फ़िल्मर, एडिटर, टूर और समय के साथ वृद्धि। सीधे Nostr से।", + "labTitle": "The Lab - SkateSpots", + "labDesc": "स्केटबोर्डिंग कोच, फ़िल्मर, फ़ोटोग्राफ़र और वीडियो एडिटर खोजें।", + "stashTitle": "मेरा स्टैश - SkateSpots", + "stashDesc": "अपना निजी गियर इन्वेंटरी प्रबंधित करें। जो आपके पास है और जो बेचना या बदलना चाहते हैं, ट्रैक करें।", + "bountyLeaderboardTitle": "मैप करें और कमाएँ - SkateSpots", + "bountyLeaderboardDesc": "स्केट स्पॉट और शॉप मैप करें, कम्युनिटी से zap कमाएँ। शीर्ष योगदानकर्ता देखें।", + "spotCollectionsTitle": "मेरे स्पॉट संग्रह - SkateSpots", + "spotCollectionsDesc": "अपने पसंदीदा स्केट स्पॉट को निजी संग्रह में व्यवस्थित करें", + "mintsTitle": "Cashu Mints — SkateSpots", + "mintsDesc": "Cashu mints ब्राउज़ करें, उनकी सेहत देखें और अपने वॉलेट में एक जोड़ें।" + }, + "statusUi": { + "quickStatus": "क्विक स्टेटस", + "skating": "स्केटिंग", + "skatingDesc": "अभी स्केट कर रहे हैं", + "filming": "फ़िल्मिंग", + "filmingDesc": "ट्रिक फ़िल्म कर रहे हैं", + "lookingForSesh": "सेशन साथी चाहिए", + "lookingForSeshDesc": "दूसरों के साथ स्केट करना चाहते हैं", + "coaching": "कोचिंग", + "coachingDesc": "सिखा रहे हैं/कोचिंग", + "chilling": "टाइम पास", + "chillingDesc": "स्पॉट पर बैठे हैं", + "onMyWay": "रास्ते में", + "onMyWayDesc": "किसी स्पॉट की ओर", + "takingABreak": "ब्रेक ले रहे हैं", + "takingABreakDesc": "आराम/पानी", + "doneForToday": "आज के लिए बस", + "doneForTodayDesc": "स्केटिंग ख़त्म" + }, + "sasquatchGuide": { + "homeTitle": "SkateSpots में आपका स्वागत है! 🦧", + "homeMessage": "यो, मैं The Sasquatch हूँ। बोर्ड, ट्रेल्स और जंगली राइड्स का रखवाला। Nostr की बेलगाम स्केट दुनिया में स्वागत है — न सूट-बूट, न विज्ञापन, बस स्केटर्स जो अपना रास्ता ख़ुद बनाते हैं। यहाँ आपके ट्रिक और आपका डेटा आपके अपने हैं, और अपनी छाप छोड़ने पर Bitcoin भी कमा सकते हैं। अपने इलाक़े या दुनिया के किसी भी कोने के स्केटर्स से जुड़ें। कोई नियम नहीं, सिर्फ़ श्रेडिंग; कोई पदचिह्न नहीं, सिर्फ़ आपके अपने।", + "homeQ1": "बार्सिलोना में 3 दिन का प्लान बनाओ", + "homeQ2": "शुरुआती स्पॉट खोजो", + "homeQ3": "कोई आने वाला इवेंट?", + "homeQ4": "कम्युनिटी आँकड़े", + "homeQ5": "मेरे पास के कोच खोजो", + "homeQ6": "बिकने के लिए गियर?", + "homeQ7": "Nostr क्या है?", + "homeQ8": "क्या यह मुफ़्त है?", + "homeLearnMore": "और जानें", + "onboardingTitle": "शुरुआत करें 🚀", + "onboardingMessage": "बुनियादी बातें समझने में मैं मदद करता हूँ! Nostr आपकी पहचान है, Bitcoin Lightning से आप योगदान के लिए sats कमा सकते हैं, और zaps तुरंत टिप हैं। शुरुआत के बारे में कुछ भी पूछें!", + "onboardingQ1": "लॉगिन कैसे करें?", + "onboardingQ2": "Nostr क्या है?", + "onboardingQ3": "Nostr कैसे काम करता है?", + "onboardingQ4": "Cashu क्या है?", + "onboardingQ5": "Cashu वॉलेट कैसे इस्तेमाल करें?", + "onboardingQ6": "mints क्या हैं?", + "onboardingQ7": "zaps क्या हैं?", + "onboardingQ8": "NWC क्या है?", + "onboardingStart": "देखना शुरू करें", + "onboardingLogin": "शुरू करने के लिए लॉग इन करें", + "labTitle": "The Lab में आपका स्वागत है! 🎓", + "labMessage": "यहीं जादू होता है! ऐसे कोच खोजें जो आपको kickflip से darkslide तक कुछ भी सिखा सकें, या अपने बेहतरीन सेशन कैप्चर करने के लिए फ़िल्मर से जुड़ें। कौशल से फ़िल्टर करें, उनका अनुभव देखें और सेशन बुक करें। याद रखें — हर कोई कहीं से शुरू हुआ था!", + "labQ1": "कोच खोजें", + "labQ2": "फ़िल्मर खोजें", + "labQ3": "फ़ोटोग्राफ़र खोजें", + "labQ4": "वीडियो एडिटर खोजें", + "labQ5": "रैंप बिल्डर खोजें", + "labQ6": "The Lab क्या है?", + "labQ7": "बिल्डर क्या है?", + "labQ8": "कोचिंग कैसे दें?", + "labLogin": "सेवाएँ देने के लिए लॉग इन करें", + "crewsTitle": "क्रू 🤘", + "crewsMessage": "क्रू आपका मैप पर टिका स्केट परिवार हैं — वे लोग जिनके साथ आप स्केट करते हैं, जिन्हें आप हायर नहीं करते। हर क्रू का मैप पर अपना इलाक़ा, होम स्पॉट, सदस्य और एक मैनिफ़ेस्टो होता है। सदस्य अपनी निजी की से पुष्टि करते हैं, इसलिए सदस्य सूची असली होती है। अपना क्रू शुरू करें या अपने लोगों को खोजें!", + "crewsQ1": "क्रू क्या हैं?", + "crewsQ2": "क्रू कैसे शुरू करें?", + "crewsQ3": "क्रू और The Lab में क्या फ़र्क़ है?", + "crewsQ4": "सदस्य पुष्टि कैसे करते हैं?", + "crewsQ5": "Nostr क्या है?", + "crewsQ6": "zaps कैसे काम करते हैं?", + "crewsLogin": "क्रू बनाने के लिए लॉग इन करें" + }, + "supportUi": { + "keepMapFree": "मैप को मुफ़्त रखें", + "keepMapFreeDesc": "न विज्ञापन, न ट्रैकिंग, न VC। आपके sats होस्टिंग, AI नोड और रिले के लिए जाते हैं।", + "thankYou": "धन्यवाद! ⚡", + "satsKeepMapFree": "आपके sats मैप को मुफ़्त रखते हैं।", + "keptFreeNext": "आपने अगले स्केटर के लिए SkateSpots मुफ़्त रखा।", + "scanToPay": "भुगतान के लिए स्कैन करें", + "zapSkateSpots": "SkateSpots को Zap करें", + "payQuietly": "चुपचाप भुगतान करें", + "pickAmount": "राशि चुनें", + "enterAmount": "बताएँ कि आप कितने sats भेजना चाहते हैं।", + "couldNotStartPayment": "भुगतान शुरू नहीं हो सका।", + "customAmountAria": "sats में कस्टम राशि", + "commentPlaceholder": "कुछ कहें (वैकल्पिक — केवल सार्वजनिक zaps)", + "publicZapTitle": "अपनी टिप्पणी के साथ सार्वजनिक zap", + "loginToZapTitle": "सार्वजनिक zap भेजने के लिए लॉग इन करें", + "anonymousTitle": "गुमनाम — न लॉगिन, न कोई रिकॉर्ड", + "copyLightningTitle": "lightning पता कॉपी करें", + "copiedSuffix": "{{label}} कॉपी हो गया", + "invoiceLabel": "इनवॉइस", + "addressLabel": "पता", + "notAPurchase": "यह सपोर्ट है, ख़रीद नहीं — इससे कुछ नहीं मिलता और रिफ़ंड नहीं होता। मर्चेंडाइज़ और Sasquatch Pro अलग हैं। चुपचाप भुगतान में आपकी लोकेशन और पहचान शामिल नहीं होती।" + }, + "role": { + "owner": "मालिक", + "admin": "एडमिन", + "organiser": "आयोजक", + "verifiedOwner": "सत्यापित मालिक" + }, + "nfc": { + "write": "NFC टैग पर लिखें", + "written": "टैग लिखा गया", + "writtenDesc": "सत्यापन पेज खोलने के लिए टैग को फ़ोन पर टैप करें।", + "failed": "टैग नहीं लिखा जा सका" + }, + "venueAccess": { + "title": "एक्सेस पास", + "desc": "राइडर को साइन किया हुआ पास जारी करें ताकि वे दरवाज़े पर एक्सेस साबित कर सकें — वे अपना कार्ड दिखाएँ और कोई भी QR स्कैन करके सत्यापित कर सकता है।", + "active": "{{count}} सक्रिय", + "revoked": "{{count}} रद्द", + "issue": "पास जारी करें", + "verifyHint": "स्कैन करके सत्यापित — जाँचने के लिए किसी ऐप या अकाउंट की ज़रूरत नहीं।", + "publicTitle": "एक्सेस पास", + "publicDesc": "यह वेन्यू एक्सेस पास जारी करता है। दरवाज़े पर राइडर का कार्ड स्कैन करके सत्यापित करें।", + "badge": "पास", + "sellerHint": "यह विक्रेता का वेन्यू एक्सेस पास जारी करता है" + }, + "marketTerms": { + "link": "मार्केटप्लेस दिशानिर्देश", + "seoTitle": "मार्केटप्लेस दिशानिर्देश", + "seoDescription": "SkateSpots गियर लिस्टिंग कैसे काम करती हैं: पीयर-टू-पीयर, ख़रीदार सावधान, और नियम।", + "title": "मार्केटप्लेस दिशानिर्देश", + "intro": "SkateSpots एक पीयर-टू-पीयर गियर बोर्ड है। आप सीधे दूसरे व्यक्ति से लेन-देन करते हैं: हम पैसा नहीं रखते, सामान नहीं भेजते और विवाद नहीं सुलझाते।", + "howTitle": "यह कैसे काम करता है", + "howBody": "गियर लिस्ट करें, विक्रेता से निजी मैसेज में संपर्क करें, और सीधे सेटल करें (कैश, Lightning या स्वैप)। कोई कार्ट या चेकआउट नहीं।", + "rulesTitle": "क्या मान्य नहीं है", + "rulesBody": "कोई अवैध, ख़तरनाक या वयस्क कंटेंट नहीं; कोई ड्रग्स, हथियार, नक़ली या चोरी का सामान नहीं। लिस्टिंग स्केट गियर और उससे जुड़ी चीज़ों तक सीमित रखें।", + "respectTitle": "सम्मान से पेश आएँ", + "respectBody": "कोई दुर्व्यवहार, उत्पीड़न, धमकी या नफ़रत नहीं। मॉडरेटर लिस्टिंग या अकाउंट छिपा सकते हैं।", + "trustTitle": "भरोसा मार्गदर्शक है, गारंटी नहीं", + "trustBody": "सत्यापन चिह्न और ट्रेड प्रतिष्ठा नेटवर्क से मिले संकेत हैं, वादे नहीं। लेन-देन से पहले अपनी जाँच ख़ुद करें।", + "trustLink": "भरोसा कैसे काम करता है", + "privacyLink": "आपके डिवाइस से क्या बाहर जाता है", + "safetyTitle": "सुरक्षित तरीक़े से लेन-देन करें", + "safetyBody": "हैंडओवर के लिए सार्वजनिक जगह मिलें, शिपिंग वाले सौदों के लिए एस्क्रो या अच्छे इरादे की डिपॉज़िट लें, और ऐप के बाहर कभी पैसे न भेजें।", + "moderationTitle": "मॉडरेशन नरम और वापस लेने योग्य है", + "moderationBody": "छिपाया गया कंटेंट रिले पर रहता है और बहाल किया जा सकता है; लोगों के बीच विवाद आपको ही सुलझाना है।" + }, + "sasquatchUi": { + "live": "लाइव", + "offline": "ऑफ़लाइन", + "genericTitle": "SkateSpots सहायक 🦧", + "genericGreeting": "यो! मैं The Sasquatch हूँ। स्पॉट, इवेंट, कोच, गियर या ऐप कैसे काम करता है — कुछ भी पूछें। मेरे पास SkateSpots रिले से लाइव डेटा है!", + "q1": "लिस्बन में 3 दिन का प्लान बनाओ", + "q2": "मेरे पास के स्पॉट खोजो", + "q3": "कोई आने वाला इवेंट?", + "q4": "क्रू क्या हैं?", + "q5": "zaps कैसे काम करते हैं?", + "q6": "Nostr क्या है?", + "q7": "My Stash क्या है?", + "q8": "क्या यह मुफ़्त है?", + "bubbleTitle": "हिलाने के लिए दबाकर खींचें · खोलने के लिए टैप करें", + "openGuideAria": "Sasquatch गाइड खोलें", + "hideAria": "Sasquatch सहायक छिपाएँ", + "hide": "सहायक छिपाएँ", + "showAria": "Sasquatch सहायक दिखाएँ", + "activeUntil": "{{date}} तक सक्रिय", + "platformOwner": "प्लेटफ़ॉर्म मालिक", + "upgradeTitle": "Sasquatch Pro में अपग्रेड करें", + "goPro": "Pro लें", + "goProBlurb": "पर्सनल AI · 2k sats से", + "aiBalanceTitle": "Sasquatch AI क्रेडिट बैलेंस (केवल मालिक) — {{provider}} पर टॉप अप करें", + "aiChip": "⚡ AI {{balance}}", + "minimizeToBubbleAria": "बबल में छोटा करें", + "minimize": "छोटा करें", + "closePanelAria": "पैनल बंद करें", + "close": "बंद करें", + "askLab": "कोचिंग और फ़िल्मिंग के बारे में पूछें", + "askMap": "स्पॉट, शॉप और गियर के बारे में पूछें", + "askAnything": "कुछ भी पूछें 🛹", + "quickQuestions": "क्विक सवाल:", + "you": "🧑 आप", + "thinking": "सोच रहा है...", + "inputPlaceholder": "स्पॉट, इवेंट, कोच के बारे में पूछें...", + "liveDataFrom": "लाइव डेटा यहाँ से:", + "nostrRelays": "Nostr रिले", + "clear": "साफ़ करें", + "gettingLocation": "📍 आपकी लोकेशन ली जा रही है…", + "findingClosest": "🔍 सबसे नज़दीकी स्पॉट ढूँढे जा रहे हैं…", + "checkingLive": "🔍 लाइव डेटा जाँचा जा रहा है…", + "planningTrip": "🗺️ आपकी {{destination}} ट्रिप का प्लान बन रहा है...", + "searchingRelays": "🔍 रिले में {{tool}} खोजा जा रहा है...", + "perk1": "पर्सनल सहायक — Sasquatch आपका अपना Stash, क्रू, स्पॉट और लिस्टिंग पढ़ता है", + "perk2": "एक्शन ड्राफ़्ट: गियर लिस्ट करें, स्केट स्टेटस पोस्ट करें, ट्रिप प्लान करें — कुछ भी प्रकाशित होने से पहले आप पुष्टि करते हैं", + "perk3": "जवाब आपके निजी कॉन्टेक्स्ट से आते हैं, सिर्फ़ सार्वजनिक डेटा से नहीं", + "perk4": "⚡ सीधे SkateSpots को सपोर्ट करें और इसे मुफ़्त व विज्ञापन-मुक्त रखें", + "welcomeTitle": "Sasquatch Pro को सपोर्ट करने के लिए धन्यवाद! 🦧⚡", + "welcomeDesc": "भुगतान भेज दिया गया — प्रोवाइडर की पुष्टि होते ही आपका पास सक्रिय हो जाएगा (आम तौर पर एक मिनट में)। सड़कों को मुफ़्त रखने के लिए धन्यवाद।", + "invoiceCopied": "इनवॉइस कॉपी हो गया", + "dialogDesc": "अपने AI स्केट गाइड को सुपरचार्ज करें। 100% फ़ंड मुफ़्त, विज्ञापन-मुक्त कम्युनिटी ऐप में जाता है।", + "proSupporter": "आप Pro सपोर्टर हैं ⚡", + "extendPrompt": "बढ़ाना चाहते हैं? ज़्यादा समय जोड़ने के लिए नीचे कोई टियर चुनें।", + "scanToPayPre": "भुगतान के लिए स्कैन करें", + "scanToPayAmount": "{{sats}} sats", + "scanToPayPost": "Pro के {{label}} के लिए", + "invoiceQrAlt": "Lightning इनवॉइस QR", + "copyInvoice": "इनवॉइस कॉपी करें", + "ivePaid": "मैंने भुगतान किया", + "ivePaidHint": "वॉलेट की पुष्टि के बाद \"मैंने भुगतान किया\" पर टैप करें — इससे आपका पास आपकी Nostr पहचान पर दर्ज हो जाता है।", + "freeStaysPre": "मुफ़्त Sasquatch मुफ़्त ही रहेगा — सार्वजनिक स्पॉट/इवेंट/कोच खोज, ट्रिप प्लानिंग और पूरी ट्रिक ग्लॉसरी। Pro जोड़ता है ", + "freeStaysEmphasis": "पर्सनल + एक्शन", + "freeStaysPost": " लेयर।", + "loginFirst": "अपग्रेड के लिए पहले लॉग इन करें।", + "paysTo": "भुगतान यहाँ", + "overLightning": "Lightning से। आपके npub से बंधा।", + "popular": "लोकप्रिय", + "sats": "sats", + "extend": "बढ़ाएँ", + "done": "हो गया!", + "cancelledNothing": "रद्द — कुछ भी प्रकाशित नहीं हुआ।", + "draftReview": "ड्राफ़्ट — देखें और पुष्टि करें", + "statusTextPlaceholder": "स्टेटस टेक्स्ट", + "titlePlaceholder": "शीर्षक", + "priceSatsPlaceholder": "क़ीमत (sats)", + "conditionPlaceholder": "हालत", + "cancel": "रद्द करें", + "aiTitle": "Sasquatch AI", + "owner": "मालिक", + "notConfigured": "कॉन्फ़िगर नहीं है", + "unavailable": "उपलब्ध नहीं", + "satsValue": "{{balance}} sats", + "theNode": "नोड", + "lowBalance": "बैलेंस कम है — {{provider}} पर टॉप अप करें, वरना AI बिना-की प्रोवाइडर पर चला जाएगा।", + "aiDesc": "प्रति-अनुरोध भुगतान वाला AI, Routstr से sats में फ़ंड होता है। कम होने पर टॉप अप हो जाता है।", + "tier7d": "7 दिन", + "tier1m": "1 महीना", + "tier3m": "3 महीने", + "tier1y": "1 साल", + "badgeTry": "आज़माएँ", + "badgeOff20": "20% छूट", + "badgeBest": "सबसे बढ़िया वैल्यू · 40% छूट", + "draftPostStatusTitle": "स्केटिंग स्टेटस पोस्ट करें", + "draftAutoExpires": "{{count}} मिनट में अपने आप ख़त्म", + "draftPostStatusCta": "स्टेटस पोस्ट करें", + "draftCategory": "श्रेणी: {{value}}", + "draftSize": "साइज़: {{value}}", + "draftCondition": "हालत: {{value}}", + "draftMaxPrice": "अधिकतम क़ीमत: {{price}} {{currency}}", + "draftPriceOpen": "क़ीमत: खुली", + "draftLookingForTitle": "\"{{title}}\" खोज रहे हैं", + "draftWantedCta": "वांटेड विज्ञापन पोस्ट करें", + "draftPrice": "क़ीमत: {{price}} {{currency}}", + "draftPriceOffer": "क़ीमत: ऑफ़र दें", + "draftListTitle": "\"{{title}}\" बिक्री के लिए लिस्ट करें", + "draftPublishCta": "लिस्टिंग प्रकाशित करें", + "statusPosted": "स्टेटस पोस्ट हुआ 🛹", + "wantedPublished": "वांटेड विज्ञापन प्रकाशित 🔎", + "listingPublished": "लिस्टिंग प्रकाशित 💸", + "mustBeLoggedIn": "आपको लॉग इन होना चाहिए।" + }, + "collectionUi": { + "namePlaceholder": "बार्सिलोना ट्रिप 2024", + "descriptionPlaceholder": "बार्सिलोना ट्रिप के मेरे पसंदीदा स्पॉट..." + }, + "bootUi": { + "ariaLoading": "SkateSpots लोड हो रहा है", + "ariaReady": "SkateSpots तैयार", + "ready": "तैयार", + "statusWaking": "नेटवर्क जगा रहे हैं", + "statusTuning": "रिले ट्यून कर रहे हैं", + "statusPulling": "स्पॉट ला रहे हैं", + "statusDropping": "ड्रॉप इन" + }, + "sasquatchChat": { + "faq": { + "hi": "अरे! मैं The Sasquatch हूँ 🦧 आपका AI स्केट गाइड। स्पॉट, इवेंट, कोच, गियर — या ऐप के बारे में कुछ भी पूछें। क्या चाहिए?", + "hello": "क्या हाल! 🛹 मैं The Sasquatch हूँ। स्केट स्पॉट, इवेंट, कोच या ऐप कैसे काम करता है — कुछ भी पूछें। क्या चल रहा है?", + "hey": "हे स्केटर! 🤙 अपने पास के स्पॉट, आने वाले इवेंट, कोच या SkateSpots के बारे में कुछ भी पूछें।", + "whoAreYou": "मैं The Sasquatch हूँ 🦧 — SkateSpots का AI गाइड। मैं दुनिया भर के स्केट स्पॉट ढूँढ सकता हूँ, इवेंट, कोच, फ़िल्मर और गियर लिस्टिंग देख सकता हूँ। सब लाइव Nostr डेटा से। पूछिए!", + "whatCanYouDo": "मैं शहर या देश से स्केट स्पॉट ढूँढ सकता हूँ, आने वाले इवेंट देख सकता हूँ, The Lab में कोच और फ़िल्मर खोज सकता हूँ, गियर लिस्टिंग खोज सकता हूँ, और ऐप कैसे काम करता है उन सवालों के जवाब दे सकता हूँ। आज़माएँ: 'बैंकॉक में स्पॉट' या 'कोच खोजो'! 🛹", + "whatIsNostr": "Nostr विकेंद्रीकृत सोशल नेटवर्क के लिए एक सरल, खुला प्रोटोकॉल है। Twitter जैसा, पर इसे कोई एक कंपनी नियंत्रित नहीं करती — आप यूज़रनेम की जगह क्रिप्टोग्राफ़िक कीज़ इस्तेमाल करते हैं, चुनते हैं कि आपका डेटा कौन से रिले रखें (या अपना चलाते हैं), और एक अकाउंट हर Nostr ऐप में चलता है! 🔑", + "isThisPrivate": "ईमानदारी से पूरी बात 🛡️\n\n• आपकी **GPS लोकेशन आपके डिवाइस पर ही रहती है** — 'मेरे पास' बस मैप को बीच में लाता है। यह हमें कभी नहीं भेजी जाती और न प्रकाशित होती है।\n• **आपके जोड़े स्पॉट सार्वजनिक होते हैं** (साझा मैप का यही मक़सद है) — इसलिए अपने ही घर के दरवाज़े पर पिन न लगाएँ।\n• **DMs और crew चैट एंड-टू-एंड एन्क्रिप्टेड हैं** — केवल सदस्य ही पढ़ सकते हैं।\n• किसी भी वेबसाइट की तरह, जिन सर्वर से आप जुड़ते हैं (मैप टाइल्स, रिले) उन्हें आपका **IP** दिख सकता है। उसे भी छिपाना है? VPN या Tor इस्तेमाल करें।\n\nपूरी जानकारी [गोपनीयता पेज](/privacy) पर। 🛹", + "privacy": "छोटी बात 🛡️: आपका GPS कभी डिवाइस नहीं छोड़ता, आपके प्रकाशित स्पॉट डिज़ाइन से सार्वजनिक हैं, और DMs/crew चैट एंड-टू-एंड एन्क्रिप्टेड हैं। सर्वर फिर भी आपका IP देख सकते हैं (हर वेबसाइट में ऐसा ही है) — चाहें तो VPN या Tor इसे छिपा देता है। पूरी जानकारी [गोपनीयता पेज](/privacy) पर।", + "amITracked": "SkateSpots आपको ट्रैक नहीं करता — न विज्ञापन, न एनालिटिक्स प्रोफ़ाइलिंग, न डेटा बिक्री, और आपकी लोकेशन इकट्ठा करने वाला कोई SkateSpots सर्वर नहीं। आपका GPS डिवाइस पर ही रहता है। सर्वर जो एक चीज़ देखते हैं (मैप टाइल्स, रिले) वह है आपका **IP** — किसी भी वेबसाइट की तरह। इसे छिपाने के लिए VPN या Tor लें। [गोपनीयता पेज](/privacy) पर और। 🛡️", + "doYouTrack": "नहीं — कोई ट्रैकिंग, विज्ञापन या डेटा संग्रह नहीं। आपका GPS डिवाइस पर रहता है और आपको लॉग करने वाला कोई केंद्रीय सर्वर नहीं। जिन सर्वर से जुड़ते हैं वे आपका IP देख सकते हैं (किसी भी साइट की तरह); VPN/Tor इसे छिपा देता है। [गोपनीयता पेज](/privacy) देखें। 🛹", + "vpn": "पूरी तरह वैकल्पिक, पर ज़्यादा गोपनीयता चाहिए तो अच्छा विकल्प 🛡️। VPN उन सर्वर से आपका **IP** (मोटा-मोटी लोकेशन) छिपाता है जिनसे SkateSpots बात करता है — मैप टाइल्स, रिले आदि। भरोसेमंद लॉग-रहित प्रोवाइडर चुनें (जैसे Mullvad); संदिग्ध मुफ़्त वालों से बचें।\n\nध्यान दें: VPN आपके प्रकाशित स्पॉट **नहीं** छिपाता (वे सार्वजनिक हैं), और गुमनाम रहना है तो ब्राउज़र GPS चालू न करें। पूरी जानकारी [गोपनीयता पेज](/privacy) पर।", + "tor": "Tor Browser सबसे मज़बूत IP गोपनीयता देता है — यह आपको कई रिले से गुज़ारता है ताकि सर्वर आपका असली IP न देख सकें 🧅। क़ीमत: यह धीमा है, और मैप व कुछ Nostr रिले Tor एग्ज़िट को धीमा या ब्लॉक कर सकते हैं। ज़्यादा सतर्क लोगों के लिए बढ़िया।\n\nयाद रखें: Tor IP छिपाता है, आपके प्रकाशित स्पॉट नहीं, और गुमनामी चाहिए तो ब्राउज़र GPS चालू न करें। [गोपनीयता पेज](/privacy) पर और।", + "hideMyIp": "दो मुफ़्त विकल्प 🛡️: **भरोसेमंद VPN** (आसान, तेज़ — आपका IP अपने सर्वर के पीछे छिपाता है) या **Tor Browser** (अधिकतम गोपनीयता, धीमा)। दोनों में से कोई भी SkateSpots के सर्वर को आपका असली IP देखने से रोकता है। ध्यान दें, ये प्रकाशित स्पॉट नहीं छिपाते। [गोपनीयता पेज](/privacy) देखें।", + "isMyLocation": "आपकी लोकेशन सुरक्षित है 📍 — 'मेरे पास' आपका GPS सिर्फ़ आपके डिवाइस पर पढ़ता है, मैप को बीच में लाने और पास के स्पॉट क्रम में लगाने के लिए। यह कभी Nostr पर प्रकाशित नहीं होती, हमें नहीं भेजी जाती, साझा नहीं होती। केवल वे स्पॉट सार्वजनिक हैं जो आप जान-बूझकर जोड़ते हैं। जानकारी [गोपनीयता पेज](/privacy) पर।", + "whatAreZaps": "Zaps Nostr पर भेजे जाने वाले तुरंत Bitcoin Lightning टिप हैं! किसी भी कंटेंट पर ⚡ दबाएँ, सीधे क्रिएटर के वॉलेट में sats भेजें। 'लाइक' दबाने जैसा, पर असली पैसे से। तुरंत, पीयर-टू-पीयर, कोई बिचौलिया नहीं। ⚡", + "howToLogin": "दो तरीक़े:\n1. **ब्राउज़र एक्सटेंशन** (डेस्कटॉप): Alby या nos2x इंस्टॉल करें, फिर 'लॉग इन' दबाएँ\n2. **नया यूज़र**: कीज़ बनाने के लिए 'साइन अप' दबाएँ। अपना nsec (सीक्रेट की) डाउनलोड करें और सहेजें — यही हमेशा के लिए आपका अकाउंट है!", + "whatIsCashu": "बिल्ट-इन Bitcoin वॉलेट! Lightning से समर्थित Cashu ecash टोकन — स्केट स्पॉट पर ऑफ़लाइन काम करता है, गोपनीयता-केंद्रित (mints भुगतान ट्रैक नहीं कर सकते)। सेटिंग्स में वॉलेट पर जाएँ। 🥜", + "whatIsNwc": "Nostr Wallet Connect (NWC) — Lightning वॉलेट के लिए USB-C जैसा। Alby, Minibits, Zeus या Coinos एक बार जोड़ें, और हमेशा एक क्लिक में zap करें। एन्क्रिप्टेड, ख़र्च की सीमाएँ आपके नियंत्रण में। 🔌⚡", + "isItFree": "100% मुफ़्त। न विज्ञापन, न सब्सक्रिप्शन, न कॉर्पोरेट बकवास। स्केटर्स ने स्केटर्स के लिए बनाया। Angor से कम्युनिटी-फ़ंडेड — समर्थक पेज देखें। अच्छे स्पॉट जोड़ने पर कम्युनिटी zaps से Bitcoin भी कमा सकते हैं। 🛹", + "whatCanIDo": "दुनिया भर के स्पॉट मैप पर खोजें, The Lab में प्रो हायर करें (कोच, फ़िल्मर, फ़ोटोग्राफ़र, एडिटर, रैंप बिल्डर), किसी क्रू के साथ चलें, इवेंट में शामिल हों, टूर लें, गियर ख़रीदें-बेचें, अपना निजी Stash ट्रैक करें, क्रिएटर्स को zap करें, स्पॉट का मौसम देखें, और विकेंद्रीकृत स्केट कम्युनिटी बनाएँ!", + "whatIsTheLab": "The Lab वह जगह है जहाँ आप स्केट-सीन के प्रो हायर करते हैं: कोच, फ़िल्मर, फ़ोटोग्राफ़र, वीडियो एडिटर और रैंप/पार्क/DIY बिल्डर। हर कोई अकेला हो सकता है या एक कलेक्टिव (क्रू/स्टूडियो) — सदस्य अपनी निजी की से पुष्टि करते हैं, इसलिए यह असली है। सब Nostr पर, कोई फ़र्ज़ी अकाउंट नहीं। 🎓", + "whatIsACrew": "क्रू आपका मैप पर टिका स्केट परिवार हैं — जिनके साथ आप स्केट करते हैं, जिन्हें आप हायर नहीं करते। हर क्रू का मैप पर अपना इलाक़ा (टील पिन), होम स्पॉट, सदस्य, वाइब और मैनिफ़ेस्टो होता है। सदस्य अपनी निजी की से पुष्टि करते हैं। क्रू → 'क्रू बनाएँ' पर बनाएँ। 🤘", + "whatAreCrews": "क्रू आपका मैप पर टिका स्केट परिवार हैं — जिनके साथ आप स्केट करते हैं, जिन्हें आप हायर नहीं करते। हर क्रू का मैप पर अपना इलाक़ा (टील पिन), होम स्पॉट, सदस्य और मैनिफ़ेस्टो होता है। सदस्य अपनी निजी की से पुष्टि करते हैं। शुरू करने या जुड़ने के लिए क्रू टैब पर जाएँ! 🤘", + "howToStartACrew": "क्रू टैब → 'क्रू बनाएँ' पर जाएँ। नाम रखें, मैप पर अपना इलाक़ा डालें, वाइब जोड़ें (या अपना #हैशटैग), होम स्पॉट लिंक करें, और npub से सदस्य जोड़ें। हर सदस्य अपनी निजी की से पुष्टि करता है, इसलिए सदस्य सूची असली होती है। 🤘", + "whatIsMyStash": "My Stash आपका निजी, एन्क्रिप्टेड गियर लॉकर है (NIP-44 एन्क्रिप्शन)। अपने डेक, ट्रक, व्हील्स, जूते ट्रैक करें — भंडारण की जगह, हालत, दुर्लभता और क़ीमत के साथ। जब तक आप आइटम सार्वजनिक न करें, इसे सिर्फ़ आप पढ़ सकते हैं। बीमा या स्वैप की योजना के लिए बढ़िया। 🎒", + "whatIsStash": "My Stash आपका निजी, एन्क्रिप्टेड गियर इन्वेंटरी है। जो कुछ आपके पास है उसे दर्ज करें — हालत, कहाँ रखा है, क़ीमत — सब एन्क्रिप्टेड ताकि सिर्फ़ आप देख सकें। बेचना या दिखाना चाहें तो आइटम सार्वजनिक करें। 🎒", + "whatIsABuilder": "बिल्डर The Lab में रैंप/पार्क/DIY क्रू होते हैं जिन्हें आप ट्रांज़िशन, बाउल, रेल या पूरा पार्क बनवाने के लिए हायर कर सकते हैं। वे लिस्ट करते हैं कि क्या बनाते हैं, सामग्री, प्रोजेक्ट का पैमाना, और लाइसेंस/बीमा रख सकते हैं। अक्सर कलेक्टिव — और अपने बनाए स्पॉट मैप से जोड़ सकते हैं। 🏗️", + "whatIsANutzap": "Nutzaps (NIP-61) Nostr पर भेजे जाने वाले ecash टिप हैं — किसी को सीधे भेजे गए निजी Cashu टोकन। वॉलेट में nutzap **प्राप्त** करना सेट कर सकते हैं। (पूरे nutzap भेजना शुरू हो रहा है — फ़िलहाल Lightning zaps इस्तेमाल करें।) 🥜⚡", + "whatIsClink": "CLINK एक Nostr-नेटिव पेमेंट कोड है ('noffer')। शॉप, क्रू और Lab प्रो इसे जोड़ सकते हैं ताकि आप Lightning पते की ज़रूरत के बिना उन्हें भुगतान कर सकें — आपको QR के साथ 'Pay via CLINK' बटन दिखेगा। इसे ShockWallet जैसे CLINK वॉलेट से स्कैन करें। 🔗⚡ [specs](https://clinkme.dev/specs.html) [apps](https://clinkme.dev/apps.html)", + "whatIsNoffer": "noffer एक CLINK पेमेंट कोड है — वेब सर्वर या Lightning पते के बिना भुगतान पाने का दोबारा इस्तेमाल होने वाला, Nostr-नेटिव तरीक़ा। इसे अपनी शॉप/क्रू/Lab प्रोफ़ाइल पर जोड़ें और लोग आपको सीधे भुगतान कर सकेंगे। 🔗", + "whatAreTours": "टूर गाइडेड स्केट ट्रिप हैं — लोकल सेशन, देश भर के रोड ट्रिप, या वर्ल्ड डिस्ट्रक्शन टूर। इन्हें मैप या टूर सेक्शन पर खोजें, मिलें, और लोकल लोगों के साथ नया टेरेन स्केट करें। 🗺️🛹", + "whatIsAShop": "स्केट शॉप मैप पर लिस्ट की गई लोकल दुकानें हैं। अपने इलाक़े की असली ईंट-और-मोर्टार (या ऑनलाइन) स्केट शॉप खोजें और सपोर्ट करें — कुछ Bitcoin भी लेती हैं। 🏪", + "howToSellGear": "गियर स्वैप / मार्केटप्लेस पर जाएँ और लिस्टिंग बनाएँ (NIP-99)। फ़ोटो, sats में क़ीमत, हालत जोड़ें, और चाहें तो इसे किसी स्पॉट पर पिन करें ताकि मैप पर दिखे। ख़रीदार आपको zap करेंगे या सीधे मैसेज करेंगे। 🛹💸", + "supporters": "SkateSpots Angor (विकेंद्रीकृत Bitcoin क्राउडफ़ंडिंग) से कम्युनिटी-फ़ंडेड है — न विज्ञापन, न निवेशक, न डेटा बिक्री। प्रोजेक्ट को सपोर्ट करने और सड़कों को मुफ़्त रखने के लिए समर्थक पेज देखें। ❤️⚡", + "trustScore": "Relatr से संचालित ट्रस्ट स्कोर (0-100)। यह आपके Nostr नेटवर्क का विश्लेषण करता है: फ़ॉलोअर, गतिविधि, जुड़ाव, zaps। ज़्यादा = ज़्यादा भरोसेमंद। बॉट और स्पैम फ़िल्टर करने में मदद करता है। किसी भी प्रोफ़ाइल पर उसका स्कोर देखें। 🛡️", + "whatRelay": "SkateSpots इस्तेमाल करता है: 🛹 relay.skate-spots.org (प्राथमिक, गुणवत्ता के लिए अनुमत सूची में) + relay.ditto.pub (ग्लोबल) + purplepag.es (प्रोफ़ाइल एग्रीगेटर)। रिडंडेंसी के लिए आपका डेटा इन सब पर प्रतिलिपित होता है।", + "tripPlanner": "मुझे कोई शहर बताएँ और मैं दिन-प्रतिदिन का स्केट ट्रिप बनाऊँगा 🗺️ — स्पॉट, इवेंट, कोच और लोकल क्रू, मौसम को ध्यान में रखते हुए (बारिश वाले दिन = ढके स्पॉट के लिए क्रू टिप)। आज़माएँ 'लिस्बन में 3 दिन का प्लान बनाओ'। मैं इसे संग्रह में सहेज सकता हूँ, और फ़्लाइट/ठहरने के लिए असली साइटों पर भेज सकता हूँ (न KYC, न बिचौलिया)। 🛹", + "planATrip": "बस कहें 'बार्सिलोना में 3 दिन का प्लान बनाओ' (या कोई भी शहर) और मैं हर दिन के लिए स्पॉट, सेशन, कोच और लोकल क्रू तैयार करूँगा। इसे संग्रह के रूप में सहेजें और श्रेड करने निकलें। 🗺️🛹", + "sasquatchPro": "**Sasquatch Pro** 🦧⚡ एक Lightning सपोर्टर पास है जो मेरा निजी पक्ष खोलता है:\n\n• 🧠 **पर्सनल सहायक** — मैं आपका ख़ुद का Stash, क्रू, स्पॉट और लिस्टिंग पढ़ता हूँ\n• ✨ **एक्शन ड्राफ़्ट** — गियर लिस्ट करें, अपना स्केट स्टेटस पोस्ट करें, ट्रिप प्लान करें (कुछ भी प्रकाशित होने से पहले आप हमेशा पुष्टि करते हैं)\n• 💬 **पर्सनल कॉन्टेक्स्ट** — मेरे जवाब सिर्फ़ सार्वजनिक परिणामों के बजाय आपके अपने डेटा का उपयोग करते हैं\n• ⚡ **प्रोजेक्ट को सपोर्ट** — आप SkateSpots को मुफ़्त और विज्ञापन-मुक्त रखते हैं\n\nमुफ़्त Sasquatch मुफ़्त ही रहता है: सार्वजनिक स्पॉट/इवेंट/कोच/क्रू खोज, ग्लॉसरी और ट्रिप प्लानिंग बिना Pro के काम करते हैं। Pro सिर्फ़ *निजी* चीज़ें जोड़ता है। ऊपर **⚡ Pro लें** दबाएँ। टियर: 7 दिन ~2k sats, 1 महीना ~5k, 3 महीने ~12k, 1 साल ~36k।", + "proPerks": "Pro फ़ायदे 🦧⚡: पर्सनल सहायक (आपका Stash/क्रू/स्पॉट/लिस्टिंग पढ़ता है), एक्शन ड्राफ़्ट (गियर लिस्ट करें, स्टेटस पोस्ट करें, ट्रिप प्लान करें — आप पुष्टि करते हैं), और जवाब जो आपके निजी कॉन्टेक्स्ट का उपयोग करते हैं। साथ ही आप सीधे SkateSpots को सपोर्ट करते हैं और इसे मुफ़्त + विज्ञापन-मुक्त रखते हैं। मुफ़्त मुफ़्त ही रहता है — Pro निजी लेयर जोड़ता है। ऊपर **⚡ Pro लें** दबाएँ।", + "proVersion": "मेरा Pro संस्करण 🦧⚡ **पर्सनल सहायक** जोड़ता है: मैं आपका ख़ुद का Stash, क्रू, स्पॉट और लिस्टिंग पढ़ सकता हूँ, आपके लिए एक्शन ड्राफ़्ट बना सकता हूँ (गियर लिस्ट करें, स्टेटस पोस्ट करें, ट्रिप प्लान करें — आप हमेशा पहले पुष्टि करते हैं), और अपने जवाबों में आपके निजी कॉन्टेक्स्ट का उपयोग कर सकता हूँ। यह सीधे प्रोजेक्ट को भी सपोर्ट करता है। मुफ़्त Sasquatch (स्पॉट/इवेंट/कोच/क्रू खोज, ग्लॉसरी, ट्रिप प्लानर) मुफ़्त ही रहता है। ऊपर **⚡ Pro लें** दबाएँ।", + "perks": "Pro फ़ायदे 🦧⚡: पर्सनल सहायक (आपका Stash/क्रू/स्पॉट/लिस्टिंग), आपकी पुष्टि वाले एक्शन ड्राफ़्ट, और जवाब जो आपके अपने कॉन्टेक्स्ट का उपयोग करते हैं — साथ ही आप ऐप को मुफ़्त और विज्ञापन-मुक्त रखते हैं। ऊपर **⚡ Pro लें** दबाएँ।", + "goPro": "अपग्रेड शीट खोलने के लिए ऊपर **⚡ Pro लें** बटन दबाएँ। Pro मेरा पर्सनल सहायक (Stash/क्रू/स्पॉट/लिस्टिंग) और एक्शन ड्राफ़्ट खोलता है, और सीधे प्रोजेक्ट को सपोर्ट करता है। Lightning से भुगतान करें — 7 दिन ~2k sats से 1 साल ~36k sats तक। मुफ़्त फ़ीचर मुफ़्त रहते हैं। 🦧", + "proPricing": "Pro टियर (Lightning से भुगतान ⚡): **7 दिन** ~2,000 sats (~$1.20), **1 महीना** ~5,000 sats (~$3), **3 महीने** ~12,000 sats (~$7, 20% छूट), **1 साल** ~36,000 sats (~$21, सबसे बढ़िया वैल्यू)। ऊपर **⚡ Pro लें** दबाएँ।", + "howMuchIsPro": "Pro टियर: 7 दिन ~2,000 sats, 1 महीना ~5,000 sats, 3 महीने ~12,000 sats (20% छूट), 1 साल ~36,000 sats (सबसे बढ़िया वैल्यू)। Lightning से भुगतान करें ⚡। ऊपर **⚡ Pro लें** दबाएँ।", + "upgrade": "Sasquatch Pro में अपग्रेड करने के लिए ऊपर **⚡ Pro लें** बटन दबाएँ। Lightning से भुगतान करें (7 दिन ~2k sats से 1 साल ~36k)। Pro मेरा पर्सनल सहायक और एक्शन ड्राफ़्ट खोलता है, और सीधे प्रोजेक्ट को सपोर्ट करता है। 🦧⚡" + }, + "statsTitle": "📊 **SkateSpots आँकड़ों में**", + "weatherTemp": "• {{temp}}°C (महसूस {{feels}}°C)", + "weatherSkateability": "• स्केटबिलिटी: **{{label}}** ({{score}}/100)", + "weatherError": "अभी मौसम पढ़ा नहीं जा सका। एक पल में फिर कोशिश करें। 🌧️", + "labelSpots": "स्पॉट", + "labelEvents": "इवेंट", + "labelLabPros": "Lab प्रो", + "labelCrews": "क्रू", + "labelShops": "स्केट शॉप", + "labelTours": "टूर", + "labelGear": "गियर लिस्टिंग", + "unnamed": "बिना नाम", + "emptyWhere": " **{{place}}** में ", + "emptyResult": "अभी {{where}}कोई {{label}} नहीं मिला 🦧\n\nइसका मतलब हो सकता है कि अभी कुछ लिस्ट नहीं हुआ — या रिले ने जवाब देने में देर की। एक पल में फिर कोशिश करें, वर्तनी जाँचें, या [मैप पर पहला जोड़ें](https://skate-spots.org/map)। 🛹", + "foundTitle": "{{emoji}} **{{count}}** {{label}} मिले:\n{{lines}}{{more}}", + "moreResults": "\n\n…और **{{count}}** और — [सब मैप पर देखें](https://skate-spots.org/map) 🗺️", + "locationDenied": "मुझे आपकी लोकेशन नहीं दिख रही — आपका डेटा कभी डिवाइस नहीं छोड़ता; मैं इसे सिर्फ़ आपके कहने पर लोकली पढ़ता हूँ, और ब्राउज़र ने अभी मना कर दिया। मैप पर 🎯 **मेरे पास** दबाएँ, या मुझे शहर बताएँ: \"बैंकॉक में स्पॉट\"। 🛹", + "noNearbySpots": "आपके पास अभी कोई मैप किया स्पॉट नहीं 🦧 — [पहला जोड़ने वाले बनें](https://skate-spots.org/create-spot)। 🛹", + "closestTitle": "अभी आपके सबसे नज़दीक:", + "closestFooter": "_आपके डिवाइस पर गणना — आपकी लोकेशन इसे कभी नहीं छोड़ी।_", + "proNudge": "यह **Sasquatch Pro** की चीज़ है 🦧⚡ — Pro के साथ मैं आपका Stash, क्रू, स्पॉट और लिस्टिंग पढ़ सकता हूँ, गियर लिस्टिंग, वांटेड विज्ञापन और स्केट स्टेटस ड्राफ़्ट कर सकता हूँ, और आपकी ट्रिप प्लान कर सकता हूँ। यह एक Lightning सपोर्टर पास है जो SkateSpots को मुफ़्त और विज्ञापन-मुक्त रखता है। इसे खोलने के लिए ऊपर **⚡ Pro लें** बटन दबाएँ। 🛹", + "draftingProPerk": "एक्शन ड्राफ़्ट करना (स्टेटस पोस्ट करना, गियर लिस्ट करना) **Sasquatch Pro** का फ़ायदा है 🦧⚡ — इसे खोलने के लिए ऊपर **⚡ Pro लें** दबाएँ।", + "draftIntro": "यह रहा एक ड्राफ़्ट — इसे देखें और प्रकाशित करने के लिए टैप करें। जब तक आप पुष्टि नहीं करते, कुछ भी लाइव नहीं जाता। 🛹", + "draftFailed": "मैं वह ड्राफ़्ट ठीक से नहीं बना सका — विवरण फिर से बताने की कोशिश करें (जैसे \"मेरे Spitfire व्हील्स 8000 sats में लिस्ट करो\")।", + "tripAskCity": "कहाँ जाना है? मुझे कोई शहर बताएँ (जैसे \"लिस्बन में 3 दिन का प्लान बनाओ\") और मैं ट्रिप बनाऊँगा। 🗺️", + "tripEmptyMap": "**{{destination}}** के लिए मैप पर अभी कुछ नहीं 🦧 — [skate-spots.org](https://skate-spots.org) पर पहले स्पॉट जोड़ने वाले बनें। जब लोकल लोग स्पॉट, क्रू और इवेंट जोड़ देंगे, मैं आपके लिए पूरा ट्रिप बनाऊँगा।", + "tripLocked": "आपके लिए **{{destination}}** का मिशन तय 🛹 — स्पॉट, सेशन और लोकल नीचे। इसमें बदलाव करें या सहेजें।", + "tripFailed": "अभी उसकी योजना के लिए लाइव डेटा नहीं मिला। एक पल में फिर कोशिश करें! 🛹", + "tripEmptyMapLocal": "**{{destination}}** के लिए मैप पर अभी कुछ नहीं 🦧 — [skate-spots.org](https://skate-spots.org) पर पहले बनें।", + "tripMissionLocal": "यह रहा **{{destination}}** का मिशन 🛹 — स्पॉट, सेशन और लोकल नीचे।", + "relayFailed": "रिले ने अभी समय पर जवाब नहीं दिया 🛰️ — आम तौर पर यह धीमा कनेक्शन होता है, स्पॉट ग़ायब नहीं। एक पल में फिर कोशिश करें। 🛹", + "couldNotProcess": "हम्म, यह समझ नहीं आया। शब्द बदलकर फिर कहें!", + "freeTierFallback": "उसके लिए AI तर्क चाहिए — यह **Sasquatch Pro** फ़ीचर है ⚡🦧\n\nमैं अभी भी **स्पॉट, इवेंट, कोच, क्रू, शॉप, टूर और गियर** सीधे रिले से ढूँढ सकता हूँ — मुझसे पूछें जैसे \"बार्सिलोना में स्पॉट\" — और [ग्लॉसरी](/glossary) में 150+ ट्रिक और शब्द हैं। AI जवाब खोलने के लिए ऊपर **⚡ Pro लें** दबाएँ।", + "aiDownFallback": "मेरा AI दिमाग़ अभी थोड़ा हवा में है 🦧 — पर मैं अभी भी आपके साथ हूँ:\n\n• 🗺️ [मैप](/) — आपके पास के स्पॉट, शॉप, इवेंट\n• 🧪 [The Lab](/lab) — कोच, फ़िल्मर, एडिटर\n• 📖 [ग्लॉसरी](/glossary) — 150+ ट्रिक और शब्द\n• 👥 [क्रू](/crews) — अपने लोग खोजें\n\nया मुझे कोई **शहर** (\"बार्सिलोना में स्पॉट\") या **ट्रिक** (\"nollie क्या है\") बताएँ और मैं सीधे जवाब दूँगा। 🛹", + "wentWrong": "मेरी तरफ़ कुछ गड़बड़ हो गई। एक पल में फिर कोशिश करें! 🦧", + "publishError": "यह प्रकाशित नहीं हो सका: {{error}}। एक पल में फिर कोशिश करें।", + "unknownError": "अज्ञात त्रुटि" + }, + "navSheet": { + "title": "अपनी बार कस्टमाइज़ करें", + "desc": "वे {{count}} टैब चुनें जो आप सबसे ज़्यादा इस्तेमाल करते हैं। बाक़ी सब मेन्यू में रहेंगे।", + "preview": "प्रीव्यू", + "empty": "ख़ाली", + "order": "क्रम ({{done}}/{{total}})", + "available": "उपलब्ध टैब", + "full": "बार भर गई — बदलने के लिए एक हटाएँ", + "moveUp": "{{name}} को ऊपर ले जाएँ", + "moveDown": "{{name}} को नीचे ले जाएँ", + "login": "लॉग इन", + "profile": "प्रोफ़ाइल", + "reset": "रीसेट", + "done": "हो गया" + }, + "errorsUi": { + "slammedTitle": "धड़ाम", + "slammedBody": "इस स्क्रीन में कहीं गड़बड़ हो गई। आपका अकाउंट और डेटा सुरक्षित है — चलिए, फिर से शुरू करें।", + "tryAgain": "फिर कोशिश करें", + "reloadApp": "ऐप रीलोड करें", + "pageSlammedTitle": "यह पेज धड़ाम", + "pageSlammedBody": "इस स्क्रीन में कहीं गड़बड़ हुई। आपका अकाउंट और डेटा सुरक्षित है। आम तौर पर एक बार रीलोड करने से ठीक हो जाता है।", + "reload": "रीलोड", + "goBack": "वापस जाएँ" + }, + "desktopNav": { + "title": "डेस्कटॉप नेविगेशन", + "desc": "चुनें कि टॉप बार में कौन से टैब और किस क्रम में दिखें। छिपे टैब “और” मेन्यू में रहते हैं।", + "fixed": "फ़िक्स्ड", + "shownInTopBar": "टॉप बार में दिख रहे हैं ({{count}})", + "noExtraTabs": "कोई अतिरिक्त टैब नहीं दिख रहा — सब “और” मेन्यू में है। नीचे से कुछ जोड़ें।", + "inMoreMenu": "“और” मेन्यू में ({{count}})", + "moveUp": "{{name}} को ऊपर ले जाएँ", + "moveDown": "{{name}} को नीचे ले जाएँ", + "hide": "{{name}} छिपाएँ", + "moveToMore": "और मेन्यू में ले जाएँ", + "show": "दिखाएँ", + "showInTopBar": "{{name}} को टॉप बार में दिखाएँ", + "showInTopBarTitle": "टॉप बार में दिखाएँ", + "reset": "डिफ़ॉल्ट पर रीसेट करें" + }, + "deckCostUi": { + "presetPrompt": "इस प्रीसेट को नाम दें", + "presetDefaultName": "प्रीसेट {{n}}", + "summaryCopied": "सारांश कॉपी हो गया", + "couldNotCopy": "कॉपी नहीं हो सका", + "resetConfirm": "सब कुछ उदाहरण मानों पर रीसेट करें?", + "logoTooLarge": "लोगो बहुत बड़ा है (अधिकतम 500 KB)", + "loginToFill": "अपनी Nostr प्रोफ़ाइल से भरने के लिए लॉग इन करें", + "filledFromProfile": "आपकी Nostr प्रोफ़ाइल से भरा गया", + "warnRetailBelowOne": "रिटेल मार्कअप 1× से कम है — आप घाटे में बेचेंगे।", + "warnWholesaleAboveRetail": "होलसेल मार्कअप रिटेल मार्कअप से कम होना चाहिए।", + "warnZeroBoards": "{{count}} पंक्तियों में 0 बोर्ड हैं — उस पंक्ति की लागत नहीं गिनी जाएगी।", + "warnFixedNoBoards": "फ़िक्स्ड मासिक लागतें सेट हैं पर बोर्ड/महीना 0 है, इसलिए संचालन लागत नहीं गिनी जाएगी।", + "warnNoMaterials": "कोई सामग्री लागत नहीं — कम से कम एक सामग्री जोड़ें।", + "warnEquipmentOverhead": "उपकरण + ओवरहेड लागत का 60% से ज़्यादा हैं — यह मॉडल ज़्यादा वॉल्यूम मानता है; अपने बोर्ड काउंट जाँचें।", + "warnOneBoard": "कुछ उपकरण सिर्फ़ एक बोर्ड पर बँटे हैं — उसका बोर्ड काउंट बढ़ाकर उसे फैलाएँ।", + "templateStarterName": "हॉबी स्टार्टर", + "templateStarterBlurb": "कुछ पंक्तियाँ, कोई फ़िक्स्ड लागत नहीं", + "templateShopName": "छोटी शॉप", + "templateShopBlurb": "किराया और ओवरहेड सहित पूरी शीट", + "currency": "मुद्रा", + "noCurrencyMatches": "कोई मुद्रा नहीं मिली।", + "ratesUnavailable": "लाइव दरें उपलब्ध नहीं — बदलने पर सिर्फ़ लेबल बदलेंगे।", + "liveRates": "लाइव BTC दरें · sats शामिल", + "chipCost": "लागत", + "chipSell": "बिक्री", + "chipTotal": "कुल", + "startFrom": "यहाँ से शुरू करें", + "advancedToggleHint": "प्रति-संचालन दरें और स्क्रैप, बैच सेटअप, टैक्स और लागत-बनाम-मात्रा कर्व देखें", + "advanced": "एडवांस्ड", + "simple": "सरल", + "sectionLabor": "मज़दूरी", + "sectionEquipment": "उपकरण", + "sectionOperations": "संचालन ख़र्च", + "sectionMaterials": "सामग्री", + "sectionProcesses": "प्रोसेस लागत", + "sectionPackaging": "पैकेजिंग", + "sectionMargins": "मार्जिन", + "subtotalLoaded": "{{value}}/घंटा लोडेड", + "subtotalPerBoard": "{{value}}/बोर्ड", + "hourlyRate": "प्रति घंटा दर ({{unit}})", + "labourBurden": "लेबर बर्डन (×)", + "loadedRate": "लोडेड दर", + "loadedRateHintBefore": "लोडेड दर = वेतन × बर्डन (लेबर पर नियोक्ता टैक्स और बीमा)। किराया और बिल ", + "loadedRateHintAfter": " में डालें — दोनों जगह न गिनें।", + "colEquipment": "उपकरण", + "colCostUnit": "लागत ({{unit}})", + "colCost": "लागत", + "colSetupH": "सेटअप (घं)", + "colLifetimeBoards": "कुल बोर्ड (लाइफ़टाइम)", + "colPerBoard": "प्रति बोर्ड", + "colMaterial": "सामग्री", + "colOrderUnit": "ऑर्डर ({{unit}})", + "colShipUnit": "शिपिंग ({{unit}})", + "colBoardsOrder": "बोर्ड / ऑर्डर", + "colOrderM": "ऑर्डर (मी)", + "colUnloadM": "अनलोड (मी)", + "colOrder": "ऑर्डर", + "colShipping": "शिपिंग", + "colOrderMin": "ऑर्डर (मिनट)", + "colUnloadMin": "अनलोड (मिनट)", + "colProcess": "प्रोसेस", + "colTimeM": "समय (मिनट)", + "colBoardsRun": "बोर्ड / रन", + "colRateHr": "दर/घं (0 = शॉप)", + "colRateHrShort": "दर/घं", + "colScrapPct": "स्क्रैप %", + "colTimeMin": "समय (मिनट)", + "colPackaging": "पैकेजिंग", + "colTimeBoardM": "समय/बोर्ड (मिनट)", + "colTimeBoardMin": "समय/बोर्ड (मिनट)", + "colMaterialsBoardUnit": "सामग्री/बोर्ड ({{unit}})", + "colMaterialsBoard": "सामग्री/बोर्ड", + "equipmentPerBoard": "प्रति बोर्ड उपकरण:", + "materialsPerBoard": "प्रति बोर्ड सामग्री:", + "processesPerBoard": "प्रति बोर्ड प्रोसेस:", + "packagingPerBoard": "प्रति बोर्ड पैकेजिंग:", + "perBoard": "प्रति बोर्ड:", + "addEquipment": "उपकरण जोड़ें", + "addMaterial": "सामग्री जोड़ें", + "addProcess": "प्रोसेस जोड़ें", + "addPackagingStep": "पैकेजिंग चरण जोड़ें", + "duplicate": "डुप्लिकेट", + "remove": "हटाएँ", + "boardsPerMonth": "बोर्ड / महीना", + "rentPerMonth": "किराया / महीना", + "utilitiesPerMonth": "यूटिलिटीज़ / महीना", + "subscriptionsPerMonth": "सब्सक्रिप्शन / महीना", + "markup": "मार्कअप (×)", + "wholesaleMarkup": "होलसेल मार्कअप (×)", + "scrapWaste": "स्क्रैप / बर्बादी (%)", + "quantityDecks": "मात्रा (डेक)", + "targetMonthlyProfit": "लक्षित मासिक मुनाफ़ा ({{unit}})", + "costNoPackaging": "लागत / बोर्ड (पैकेजिंग के बिना)", + "costWithPackaging": "लागत / बोर्ड (पैकेजिंग सहित)", + "batchSetupHours": "बैच सेटअप (घं / रन)", + "batchSetupCost": "बैच सेटअप लागत ({{unit}} / रन)", + "taxVat": "टैक्स / VAT (%)", + "quoteTax": "कोटेशन टैक्स", + "includedInPrice": "क़ीमत में शामिल", + "addedOnTop": "ऊपर से जोड़ा गया", + "setupPerBoard": "सेटअप / बोर्ड", + "marginNoteBefore": "मार्कअप {{markup}}× ≈ ", + "grossMargin": "{{pct}}% ग्रॉस मार्जिन", + "marginNoteAfter": " · बर्बादी {{waste}}% अच्छे बोर्ड पर बँटी है।", + "sellingPriceNoPackaging": "बिक्री क़ीमत · पैकेजिंग के बिना", + "sellingPriceWithPackaging": "बिक्री क़ीमत · पैकेजिंग सहित", + "profitPerDeck": "मुनाफ़ा / डेक", + "wholesalePerDeck": "होलसेल / डेक", + "orderTotalQty": "ऑर्डर कुल ({{qty}})", + "orderTotal": "ऑर्डर कुल", + "breakeven": "ब्रेकईवन", + "breakevenPerMonth": "{{count}}/माह", + "targetDecksHint": "फ़िक्स्ड लागत के ऊपर {{amount}}/महीना कमाने के लिए हर महीने {{decks}} डेक बेचें।", + "priceIncludesTax": "क़ीमत में {{pct}}% टैक्स शामिल: कुल का {{amount}}।", + "plusTax": "साथ में {{pct}}% टैक्स: {{amount}} → कुल {{total}}।", + "costVsQuantity": "लागत बनाम मात्रा (सेटअप फैला हुआ)", + "deckOne": "डेक", + "deckOther": "डेक", + "perDeckSuffix": "/ डेक", + "orderSuffix": "ऑर्डर {{amount}}", + "shippingNotIncluded": "ख़रीदार तक शिपिंग शामिल नहीं है।", + "clientQuoteDetails": "क्लाइंट कोटेशन विवरण (PDF के लिए)", + "fillFromProfileTitle": "अपनी Nostr प्रोफ़ाइल से नाम, वेबसाइट, NIP-05, Lightning और npub भरें", + "fillFromProfile": "प्रोफ़ाइल से भरें", + "businessName": "व्यवसाय / शॉप का नाम", + "email": "ईमेल", + "phone": "फ़ोन", + "website": "वेबसाइट", + "address": "पता", + "quoteNumber": "कोटेशन #", + "nextNumber": "अगला नंबर", + "validDays": "वैध (दिन)", + "nip05": "NIP-05", + "lightningAddress": "Lightning पता", + "nostrNpub": "Nostr (npub)", + "depositPct": "अग्रिम डिपॉज़िट (%)", + "deliveryTerms": "डिलीवरी शर्तें (Incoterm, वैकल्पिक)", + "paymentMethods": "भुगतान के तरीक़े", + "paymentTerms": "भुगतान शर्तें", + "paymentDetails": "भुगतान विवरण", + "notesTerms": "नोट्स / शर्तें", + "changeLogo": "लोगो बदलें", + "addLogo": "लोगो जोड़ें", + "incotermNone": "कोई नहीं", + "incotermExw": "EXW — विक्रेता से ख़ुद लें", + "incotermFca": "FCA — ख़रीदार के कैरियर को सौंपा गया", + "incotermDap": "DAP — ख़रीदार के पते पर डिलीवर", + "incotermDdp": "DDP — डिलीवर, ड्यूटी सहित", + "payMethodCash": "कैश", + "payMethodLightning": "Lightning", + "payMethodCashu": "Cashu", + "payMethodBank": "बैंक ट्रांसफ़र", + "payMethodCard": "कार्ड", + "payMethodOther": "अन्य", + "listDeckAtPrice": "इस क़ीमत पर डेक लिस्ट करें", + "getItMade": "बनवाएँ — बिल्डर खोजें", + "savePreset": "प्रीसेट सहेजें", + "load": "लोड करें", + "export": "एक्सपोर्ट", + "import": "इम्पोर्ट", + "reset": "रीसेट", + "deletePreset": "प्रीसेट हटाएँ", + "exportPdfFull": "PDF — पूरी शीट", + "exportPdfQuote": "PDF — क्लाइंट कोटेशन", + "exportPng": "PNG इमेज", + "exportXlsx": "XLSX वर्कबुक", + "exportCsv": "CSV (स्प्रेडशीट)", + "exportMarkdown": "Markdown", + "exportJson": "JSON (बैकअप)", + "exportCopySummary": "सारांश कॉपी करें" + }, + "becomeRolesUi": { + "artist": { + "seoTitle": "डिज़ाइनर / आर्टिस्ट बनें - SkateSpots", + "seoDescription": "अपनी स्केट डिज़ाइन और कला लिस्ट करें — बोर्ड ग्राफ़िक्स, लोगो, पोस्टर, मर्च और बहुत कुछ।", + "heading": "डिज़ाइनर / आर्टिस्ट", + "tagline": "बोर्ड ग्राफ़िक्स, लोगो, पोस्टर, मर्च — अपनी कला सीन पर लगाएँ", + "noun": "आर्टिस्ट", + "rateLabel": "दर", + "portfolioLabel": "पोर्टफ़ोलियो / शॉप लिंक", + "sectionWhatYouMake": "आप क्या बनाते हैं", + "sectionMedium": "माध्यम", + "sectionSoftwareTools": "सॉफ़्टवेयर और टूल", + "deliverablesPlaceholder": "जैसे प्रिंट-रेडी फ़ाइलें, सोर्स फ़ाइलें, डेक ग्राफ़िक्स", + "turnaroundPlaceholder": "जैसे 3–5 दिन" + }, + "graffiti": { + "seoTitle": "ग्राफ़िटी / म्यूरल दें - SkateSpots", + "seoDescription": "अपना ग्राफ़िटी और म्यूरल काम लिस्ट करें — पीस, म्यूरल, स्केटपार्क आर्ट और बहुत कुछ।", + "heading": "ग्राफ़िटी / म्यूरल आर्टिस्ट", + "tagline": "पीस, म्यूरल, स्केटपार्क आर्ट — सीन को रंग दें", + "noun": "ग्राफ़िटी आर्टिस्ट", + "rateLabel": "दर", + "portfolioLabel": "पोर्टफ़ोलियो लिंक (IG, साइट)", + "sectionStyle": "स्टाइल", + "sectionMedium": "माध्यम", + "sectionWorkContext": "काम का संदर्भ", + "crewLabel": "ग्राफ़िटी क्रू", + "crewPlaceholder": "आपका राइटिंग क्रू (वैकल्पिक)", + "crewHelper": "आपके स्केट क्रू से अलग — जिन राइटर्स के साथ आप पेंट करते हैं।", + "surfacesPlaceholder": "जैसे कंक्रीट, ईंट, अनुमति वाली दीवारें", + "maxSizePlaceholder": "जैसे 10 मी तक" + }, + "musician": { + "seoTitle": "म्यूज़िक प्रोफ़ाइल जोड़ें - SkateSpots", + "seoDescription": "स्केट करते हैं और संगीत बनाते हैं? अपना बैंड या सोलो प्रोजेक्ट लिस्ट करें — शैलियाँ, वाद्य और लिंक।", + "heading": "म्यूज़िशियन / बैंड", + "tagline": "स्केट और संगीत? डेमो, जैम और आफ़्टर-पार्टी के लिए बुकिंग पाएँ", + "noun": "म्यूज़िशियन", + "rateLabel": "बुकिंग दर", + "portfolioLabel": "वेबसाइट / EPK लिंक", + "sectionGenre": "शैली", + "sectionInstruments": "वाद्य और भूमिका", + "actLabel": "एक्ट का प्रकार", + "actPlaceholder": "सोलो / बैंड / DJ / प्रोड्यूसर", + "spotifyLabel": "Spotify", + "spotifyPlaceholder": "https://open.spotify.com/…", + "bandcampLabel": "Bandcamp", + "bandcampPlaceholder": "https://…bandcamp.com", + "soundcloudLabel": "SoundCloud", + "soundcloudPlaceholder": "https://soundcloud.com/…", + "youtubeLabel": "YouTube", + "youtubePlaceholder": "https://youtube.com/…", + "setLengthPlaceholder": "जैसे 30–45 मिनट", + "techRiderPlaceholder": "जैसे PA, माइक, बैकलाइन" + }, + "judge": { + "seoTitle": "स्केट इवेंट जज करें - SkateSpots", + "seoDescription": "ख़ुद को स्केट इवेंट जज के रूप में लिस्ट करें — Game of S.K.A.T.E., best trick जैम, कॉन्टेस्ट, एमेच्योर सीरीज़ और वर्ल्ड टूर स्टॉप। निष्पक्ष, भरोसेमंद इवेंट चलाने के लिए बुकिंग पाएँ।", + "heading": "स्केट इवेंट जज", + "tagline": "फ़्लैट-ग्राउंड Game of S.K.A.T.E. से World Destruction Tour तक — निष्पक्ष चलाएँ, भरोसेमंद चलाएँ", + "noun": "जज", + "rateLabel": "दैनिक दर / फ़ीस", + "portfolioLabel": "परिणाम संग्रह / प्रोफ़ाइल लिंक", + "sectionEventFormats": "इवेंट फ़ॉर्मैट", + "sectionSpecialty": "विशेषज्ञता", + "sectionLevelCircuit": "लेवल / सर्किट", + "eventsJudgedLabel": "जज किए इवेंट", + "eventsJudgedPlaceholder": "जैसे 40+ कॉन्टेस्ट, 3 वर्ल्ड टूर स्टॉप", + "eventsJudgedHelper": "उल्लेखनीय इवेंट, कॉन्टेस्ट या टूर जिनमें आपने जज किया।", + "travelPlaceholder": "जैसे क्षेत्रीय / देश भर / अंतरराष्ट्रीय", + "certificationsPlaceholder": "जैसे राष्ट्रीय जजिंग कोर्स" + }, + "organizer": { + "seoTitle": "स्केट इवेंट आयोजित करें - SkateSpots", + "seoDescription": "ख़ुद को स्केट इवेंट आयोजक के रूप में लिस्ट करें — स्ट्रीट जैम, best trick, कॉन्टेस्ट, मीटअप, डेमो और टूर स्टॉप। सामने आएँ और सेशन चलाने के लिए बुक हों।", + "heading": "इवेंट आयोजक", + "tagline": "जैम, कॉन्टेस्ट, मीटअप और डेमो — सेशन रखें और सीन को जोड़ें", + "noun": "आयोजक", + "rateLabel": "इवेंट फ़ीस / बजट", + "portfolioLabel": "पिछले इवेंट / परिणाम लिंक", + "sectionEventTypes": "इवेंट प्रकार", + "sectionWhatYouHandle": "आप क्या संभालते हैं", + "sectionScale": "पैमाना", + "eventsHostedLabel": "आयोजित इवेंट", + "eventsHostedPlaceholder": "जैसे 25 जैम, 3 सिटी कॉम्प", + "eventsHostedHelper": "उल्लेखनीय इवेंट, कॉम्प या मीटअप जो आपने चलाए।", + "insurancePlaceholder": "जैसे पब्लिक लायबिलिटी शामिल", + "permitsPlaceholder": "जैसे काउंसिल परमिट संभाले गए" + }, + "tattoo": { + "seoTitle": "टैटू आर्टिस्ट बनें - SkateSpots", + "seoDescription": "स्केट सीन के लिए अपना टैटू काम लिस्ट करें — स्टाइल, फ़्लैश, कस्टम और बहुत कुछ।", + "heading": "टैटू आर्टिस्ट", + "tagline": "सीन के लिए इंक — फ़्लैश, कस्टम, फ़ाइन लाइन और बहुत कुछ", + "noun": "टैटू आर्टिस्ट", + "rateLabel": "दर / प्रति घंटा", + "portfolioLabel": "पोर्टफ़ोलियो लिंक (IG, साइट)", + "sectionStyles": "स्टाइल", + "sectionMethod": "तरीक़ा", + "studioLabel": "स्टूडियो / शॉप", + "studioPlaceholder": "स्टूडियो का नाम (वैकल्पिक)", + "booksOpenLabel": "बुकिंग खुली", + "booksOpenHelper": "क्या आप अभी बुकिंग ले रहे हैं?", + "depositPlaceholder": "जैसे 50 EUR, नॉन-रिफ़ंडेबल", + "minimumPlaceholder": "जैसे 80 EUR" + }, + "trainer": { + "seoTitle": "ट्रेनर / फ़िज़ियो बनें - SkateSpots", + "seoDescription": "स्केटर्स को मज़बूत और स्वस्थ रहने में मदद करें — स्ट्रेंथ, मोबिलिटी, चोट से बचाव और रिकवरी।", + "heading": "ट्रेनर / फ़िज़ियो", + "tagline": "स्केटर्स के लिए स्ट्रेंथ, मोबिलिटी, चोट से बचाव और रिकवरी", + "noun": "ट्रेनर", + "rateLabel": "दर / प्रति सेशन", + "portfolioLabel": "प्रोफ़ाइल / बुकिंग लिंक", + "sectionFocus": "फ़ोकस", + "sectionInjuries": "किन चोटों पर काम करते हैं", + "sectionCredentialsSetting": "योग्यता और सेटिंग", + "credentialsPlaceholder": "जैसे BSc फ़िज़ियोथेरेपी, CSCS…", + "credentialsHelper": "असली योग्यताएँ लिखें — स्केटर्स सत्यापन योग्य क्रेडेंशियल पर भरोसा करते हैं।", + "remoteLabel": "रिमोट / ऑनलाइन", + "remoteHelper": "क्या आप ऑनलाइन कोचिंग या परामर्श देते हैं?", + "modalitiesPlaceholder": "जैसे hands-on, S&C, dry needling" + }, + "barber": { + "seoTitle": "बार्बर / हेयरस्टाइलिस्ट बनें - SkateSpots", + "seoDescription": "स्केट सीन के लिए अपनी बार्बरशॉप या चेयर लिस्ट करें — कट, फ़ेड, दाढ़ी ट्रिम, कलर और बहुत कुछ। स्केटर्स से बुक हों।", + "heading": "बार्बर / हेयरस्टाइलिस्ट", + "tagline": "सीन के लिए कट, फ़ेड और दाढ़ी ट्रिम — शॉप चेयर या मोबाइल", + "noun": "बार्बर", + "rateLabel": "क़ीमत / प्रति कट", + "portfolioLabel": "कट गैलरी / IG लिंक", + "sectionWhatYouOffer": "आप क्या देते हैं", + "sectionSignatureStyles": "सिग्नेचर स्टाइल", + "sectionSetting": "सेटिंग", + "studioLabel": "शॉप / स्टूडियो", + "studioPlaceholder": "शॉप या स्टूडियो का नाम (वैकल्पिक)", + "booksOpenLabel": "बुकिंग खुली", + "booksOpenHelper": "क्या आप अभी बुकिंग ले रहे हैं?", + "durationPlaceholder": "जैसे 30–45 मिनट" + }, + "clothing": { + "seoTitle": "क्लोदिंग डिज़ाइनर बनें - SkateSpots", + "seoDescription": "सीन के लिए कस्टम कपड़े, टीम किट और अपैरल।", + "heading": "क्लोदिंग डिज़ाइनर", + "tagline": "सीन के लिए कस्टम कपड़े, टीम किट और अपैरल", + "noun": "क्लोदिंग डिज़ाइनर", + "rateLabel": "दर", + "portfolioLabel": "शॉप / पोर्टफ़ोलियो लिंक", + "sectionWhatYouMake": "आप क्या बनाते हैं", + "sectionHowYouMake": "आप इसे कैसे बनाते हैं", + "sectionMaterials": "सामग्री", + "minimumPlaceholder": "जैसे 10 पीस", + "turnaroundPlaceholder": "जैसे 2-3 हफ़्ते", + "sizingPlaceholder": "जैसे XS-3XL / नाप के अनुसार", + "samplesHelper": "क्या पूरी रन से पहले सैंपल या प्रोटोटाइप देते हैं?", + "customizationPlaceholder": "जैसे नाम, नंबर, ग्राफ़िक्स" + } + }, + "skaterLabelsUi": { + "stance": { + "regular": "Regular", + "goofy": "Goofy" + }, + "style": { + "street": "स्ट्रीट", + "park": "पार्क", + "vert": "वर्ट", + "transition": "ट्रांज़िशन", + "bowl": "बाउल", + "cruising": "क्रूिंग", + "downhill": "डाउनहिल", + "freestyle": "फ़्रीस्टाइल", + "ledges": "लेज", + "stairs": "सीढ़ियाँ", + "diy": "DIY" + }, + "level": { + "grom": "ग्रोम", + "intermediate": "मध्यम", + "advanced": "एडवांस्ड", + "ripper": "रिपर" + }, + "sponsor": { + "title": "टाइटल स्पॉन्सर", + "gold": "गोल्ड", + "silver": "सिल्वर", + "partner": "पार्टनर" + } + }, + "legacyMiscUi": { + "hostingGoing": "{{count}} जा रहे हैं", + "hostingInterested": "{{count}} की दिलचस्पी है", + "hostingPostUpdate": "अपडेट पोस्ट करें", + "hostingEdit": "संपादित करें", + "hostingLoginToSee": "आप जिन इवेंट्स को होस्ट कर रहे हैं, उन्हें देखने के लिए लॉग इन करें।", + "hostingEmptyTitle": "आप अभी कोई इवेंट होस्ट नहीं कर रहे", + "hostingEmptyBody": "जैम, कॉम्प या सेशन रखें। इवेंट बनाएँ और स्केटर्स RSVP कर सकेंगे, अपडेट पाएँगे और आ जाएँगे।", + "hostingCreateEvent": "इवेंट बनाएँ", + "hostingUpcoming": "आने वाले · {{count}}", + "hostingPast": "पिछले · {{count}}", + "sponsorPartners": "साझेदार", + "sponsorTitleSponsor": "टाइटल स्पॉन्सर", + "sponsorPlatformPartners": "प्लेटफ़ॉर्म साझेदार", + "reportsUntitled": "(बिना शीर्षक)", + "reportsResolveFailed": "रिपोर्ट किया गया इवेंट नहीं ढूँढा जा सका (शायद हटा दिया गया है, या रिपोर्ट किसी पोस्ट के बजाय प्रोफ़ाइल को लक्षित करती है)।", + "reportsLookAtIt": "इसे देखें", + "reportsNoReports": "अभी कोई रिपोर्ट नहीं। या तो सब ठीक है, या किसी को बटन नहीं मिला।", + "statusSetYourStatus": "अपना स्टेटस सेट करें", + "statusSetDesc": "दूसरों को बताएँ कि आप क्या कर रहे हैं। आपका स्टेटस आपकी प्रोफ़ाइल पर और जुड़े स्पॉट पर दिखेगा।", + "statusClear": "साफ़ करें", + "statusOrWriteOwn": "या अपना ख़ुद का लिखें", + "statusCustomPlaceholder": "आप क्या कर रहे हैं?", + "statusLinkToSpot": "स्पॉट से जोड़ें (वैकल्पिक)", + "statusSpotSelected": "स्पॉट चुना गया", + "statusSearchSpots": "स्पॉट खोजें...", + "statusNoSpotsFound": "कोई स्पॉट नहीं मिला।", + "statusSelectSpot": "स्पॉट चुनें", + "statusAutoClearAfter": "अपने आप साफ़ होगा: {{time}} बाद", + "statusExpMin": "{{count}} मिनट", + "statusExpOneHour": "1 घंटा", + "statusExpHours": "{{count}} घंटे", + "statusExpOneDay": "1 दिन", + "statusExpDays": "{{count}} दिन", + "statusSlider15": "15 मिनट", + "statusSlider1h": "1 घं", + "statusSlider4h": "4 घं", + "statusSlider24h": "24 घं", + "statusSetting": "स्टेटस सेट हो रहा है...", + "statusSet": "स्टेटस सेट करें", + "statusSomethingWrong": "कुछ गड़बड़ हो गई", + "seoProfileTitle": "प्रोफ़ाइल - SkateSpots", + "seoViewProfile": "प्रोफ़ाइल देखें।", + "bannerAlt": "बैनर", + "openInCordn": "Cordn में खोलें", + "modHelp": "Hide, org.skatespots.moderation / hidden प्रकाशित करता है; Confirm, … / verified प्रकाशित करता है; Undo, … / cleared (तटस्थ पर वापस) प्रकाशित करता है। तीनों सार्वजनिक, वापस लेने योग्य लेबल हैं — रिले से कुछ भी कभी नहीं हटाया जाता।", + "zapNoActiveMint": "कोई सक्रिय Cashu mint नहीं मिला।", + "altProfile": "प्रोफ़ाइल", + "altCardPreview": "कार्ड प्रीव्यू", + "altCard": "कार्ड", + "altCaptured": "कैप्चर किया गया", + "ariaPrevPhoto": "पिछली फ़ोटो", + "ariaNextPhoto": "अगली फ़ोटो", + "ariaCommentOptions": "टिप्पणी विकल्प", + "ariaMessageConversation": "मैसेज बातचीत", + "exportTitle": "SkateSpots — डेक लागत कैलकुलेटर", + "exportQuoteTitle": "कोटेशन", + "exportPngTitle": "डेक लागत", + "exportMarkdownTitle": "डेक लागत कैलकुलेटर", + "exportSectionLabor": "मज़दूरी", + "exportSectionEquipment": "उपकरण", + "exportSectionOperations": "संचालन ख़र्च", + "exportSectionMaterials": "सामग्री", + "exportSectionProcesses": "प्रोसेस लागत", + "exportSectionPackaging": "पैकेजिंग", + "exportSectionResult": "परिणाम", + "exportLabelOperations": "संचालन", + "exportLabelProcesses": "प्रोसेस", + "exportKvHourlyRate": "प्रति घंटा दर", + "exportKvLabourBurden": "लेबर बर्डन", + "exportKvLoadedRate": "लोडेड दर", + "exportKvEquipmentPerBoard": "प्रति बोर्ड उपकरण", + "exportKvBoardsPerMonth": "बोर्ड / महीना", + "exportKvRentPerMonth": "किराया / महीना", + "exportKvUtilitiesPerMonth": "यूटिलिटीज़ / महीना", + "exportKvSubscriptionsPerMonth": "सब्सक्रिप्शन / महीना", + "exportKvPerBoard": "प्रति बोर्ड", + "exportKvMaterialsPerBoard": "प्रति बोर्ड सामग्री", + "exportKvProcessesPerBoard": "प्रति बोर्ड प्रोसेस", + "exportKvPackagingPerBoard": "प्रति बोर्ड पैकेजिंग", + "exportKvMarkup": "मार्कअप", + "exportMarkupValue": "{{markup}}× (≈ {{pct}}% ग्रॉस मार्जिन)", + "exportKvWasteEffective": "बर्बादी (प्रभावी)", + "exportKvCostNoPack": "लागत / बोर्ड (पैकेजिंग के बिना)", + "exportKvCostWithPack": "लागत / बोर्ड (पैकेजिंग सहित)", + "exportKvBatchSetupPerBoard": "बैच सेटअप / बोर्ड", + "exportKvTax": "टैक्स ({{pct}}%)", + "exportKvTaxIncluded": "टैक्स ({{pct}}%, शामिल)", + "exportKvSellingNoPack": "बिक्री क़ीमत (पैकेजिंग के बिना)", + "exportKvSellingWithPack": "बिक्री क़ीमत (पैकेजिंग सहित)", + "exportShippingNote": "ख़रीदार तक शिपिंग शामिल नहीं है।", + "exportGeneratedBy": "SkateSpots · skate-spots.org द्वारा बनाया गया", + "exportGeneratedWith": "SkateSpots · skate-spots.org के साथ बनाया गया", + "exportDetailSetup": "+ {{hours}} घं सेटअप", + "exportDetailBoards": "{{boards}} बोर्ड", + "exportDetailShip": "+ {{amount}} शिपिंग", + "exportDetailMinutes": "{{minutes}} मिनट", + "exportDetailPerBoards": "/ {{boards}} बोर्ड", + "exportDetailScrap": "{{pct}}% स्क्रैप", + "exportDetailMaterials": "{{materials}} सामग्री", + "exportQuoteRef": "संदर्भ {{ref}}", + "exportQuoteLineItem": "कस्टम स्केटबोर्ड डेक", + "exportQuoteLineItemQty": "कस्टम स्केटबोर्ड डेक × {{qty}}", + "exportQuoteLineDesc": "हाथ से बना, फ़िनिश किया और पैक किया गया। मात्रा 1।", + "exportQuoteLineDescQty": "हाथ से बना, फ़िनिश किया और पैक किया गया। प्रत्येक {{price}}।", + "exportQuoteSubtotal": "सबटोटल", + "exportQuoteSubtotalQty": "सबटोटल ({{qty}} डेक)", + "exportQuoteTax": "टैक्स / VAT ({{pct}}%)", + "exportQuoteTotal": "कुल", + "exportQuoteTotalQty": "कुल ({{qty}} डेक)", + "exportQuoteIncludesTax": "{{pct}}% टैक्स शामिल ({{amount}})", + "exportQuoteDeposit": "अब देय डिपॉज़िट ({{pct}}%)", + "exportQuoteBalance": "काम पूरा होने पर बाक़ी", + "exportQuotePayment": "भुगतान: {{value}}", + "exportQuoteLightning": "Lightning: {{value}}", + "exportQuoteDetails": "विवरण: {{value}}", + "exportQuoteTerms": "शर्तें: {{value}}", + "exportQuoteDelivery": "डिलीवरी: {{value}}", + "exportQuoteValidUntil": "शिपिंग शामिल नहीं। कोटेशन {{date}} तक वैध।", + "exportPngSellingWith": "बिक्री क़ीमत · पैकेजिंग सहित", + "exportPngSellingNo": "बिक्री क़ीमत · पैकेजिंग के बिना", + "exportPngCostWith": "लागत / बोर्ड (पैकेजिंग सहित)", + "exportPngDeposit": "डिपॉज़िट {{pct}}%: {{amount}}", + "exportXlsxSummary": "सारांश", + "exportXlsxCurrency": "मुद्रा", + "exportXlsxDate": "तारीख़", + "exportXlsxOperationsPerBoard": "प्रति बोर्ड संचालन", + "exportColCost": "लागत", + "exportColSetupH": "सेटअप (घं)", + "exportColBoards": "बोर्ड", + "exportColPerBoard": "प्रति बोर्ड", + "exportColMaterial": "सामग्री", + "exportColOrderCost": "ऑर्डर लागत", + "exportColShipping": "शिपिंग", + "exportColOrderMin": "ऑर्डर (मिनट)", + "exportColUnloadMin": "अनलोड (मिनट)", + "exportColProcess": "प्रोसेस", + "exportColTimeMin": "समय (मिनट)", + "exportColTimeBoardMin": "समय/बोर्ड (मिनट)", + "exportColMaterialsBoard": "सामग्री/बोर्ड", + "exportCopyTitle": "डेक लागत — {{currency}}", + "exportCopyCostWith": "लागत / बोर्ड (पैकेजिंग सहित): {{amount}}", + "exportCopySellingNo": "बिक्री क़ीमत (पैकेजिंग के बिना): {{amount}}", + "exportCopySellingWith": "बिक्री क़ीमत (पैकेजिंग सहित): {{amount}}", + "exportCopyBreakdown": "उपकरण {{equipment}} · संचालन {{operations}} · सामग्री {{materials}} · प्रोसेस {{processes}} · पैकेजिंग {{packaging}}", + "exportMdHourlyRate": "प्रति घंटा दर: {{value}}", + "exportMdLabourBurden": "लेबर बर्डन: {{value}}", + "exportMdLoadedRate": "लोडेड दर: {{value}}", + "exportMdBoardsPerMonth": "बोर्ड/महीना: {{value}}", + "exportMdRent": "किराया: {{value}}", + "exportMdUtilities": "यूटिलिटीज़: {{value}}", + "exportMdSubscriptions": "सब्सक्रिप्शन: {{value}}", + "exportMdPerBoard": "प्रति बोर्ड: {{value}}", + "exportMdMarkupWaste": "मार्कअप: {{markup}}× (≈ {{pct}}% ग्रॉस मार्जिन) · बर्बादी: {{waste}}%", + "exportMdCostNoPack": "लागत/बोर्ड (पैकेजिंग के बिना): {{value}}", + "exportMdCostWithPack": "लागत/बोर्ड (पैकेजिंग सहित): {{value}}", + "exportMdBatchSetup": "बैच सेटअप/बोर्ड: {{value}}", + "exportMdSellingNo": "बिक्री क़ीमत (पैकेजिंग के बिना): {{value}}", + "exportMdSellingWith": "बिक्री क़ीमत (पैकेजिंग सहित): {{value}}", + "exportMdDisclaimer": "ख़रीदार तक शिपिंग शामिल नहीं है। SkateSpots द्वारा बनाया गया।" + } +}; + +export default batch7; diff --git a/src/i18n/hi/drift.ts b/src/i18n/hi/drift.ts new file mode 100644 index 0000000..ae632c0 --- /dev/null +++ b/src/i18n/hi/drift.ts @@ -0,0 +1,4 @@ +/** Post-translation corrections for hi. */ +const drift = {}; + +export default drift; diff --git a/src/i18n/hi/index.ts b/src/i18n/hi/index.ts new file mode 100644 index 0000000..c19bbde --- /dev/null +++ b/src/i18n/hi/index.ts @@ -0,0 +1,24 @@ +import batch1 from './batch1'; +import batch2 from './batch2'; +import batch3 from './batch3'; +import batch4 from './batch4'; +import batch5 from './batch5'; +import batch6 from './batch6'; +import batch7 from './batch7'; +import drift from './drift'; +import { deepMerge } from '../deepMerge'; + +const hi = deepMerge( + { + ...batch1, + ...batch2, + ...batch3, + ...batch4, + ...batch5, + ...batch6, + ...batch7, + }, + drift, +); + +export default hi; diff --git a/src/index.css b/src/index.css index 60e420e..1963df5 100644 --- a/src/index.css +++ b/src/index.css @@ -149,18 +149,18 @@ /* ── Display font utilities ───────────────────────────────────────────────── */ /* Bebas Neue — used for all major headlines */ .font-display { - font-family: 'Bebas Neue', 'Kanit', 'Noto Sans JP', 'Noto Sans KR', 'Impact', 'Arial Black', sans-serif; + font-family: 'Bebas Neue', 'Kanit', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans Devanagari', 'Impact', 'Arial Black', sans-serif; letter-spacing: 0.04em; } /* Barlow Condensed — used for subheadings, labels, nav */ .font-condensed { - font-family: 'Barlow Condensed', 'Kanit', 'Noto Sans JP', 'Noto Sans KR', 'Arial Narrow', sans-serif; + font-family: 'Barlow Condensed', 'Kanit', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans Devanagari', 'Arial Narrow', sans-serif; } .neon-header { animation: neon-glow 2s ease-in-out infinite; - font-family: 'Bebas Neue', 'Kanit', 'Noto Sans JP', 'Noto Sans KR', 'Impact', 'Arial Black', sans-serif; + font-family: 'Bebas Neue', 'Kanit', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans Devanagari', 'Impact', 'Arial Black', sans-serif; letter-spacing: 0.06em; } @@ -714,7 +714,7 @@ select { position: relative; overflow: hidden; flex-shrink: 0; - font-family: 'Inter Variable', 'Inter', 'Kanit', 'Noto Sans JP', 'Noto Sans KR', system-ui, sans-serif; + font-family: 'Inter Variable', 'Inter', 'Kanit', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans Devanagari', system-ui, sans-serif; box-shadow: 0 8px 40px rgba(0,0,0,0.6), 0 2px 8px rgba(0,0,0,0.4); } diff --git a/src/lib/dateFnsI18n.ts b/src/lib/dateFnsI18n.ts index e2fcae7..5b5a80a 100644 --- a/src/lib/dateFnsI18n.ts +++ b/src/lib/dateFnsI18n.ts @@ -25,6 +25,7 @@ import { ca as caLocale, eu as euLocale, gl as glLocale, + hi as hiLocale, th as thLocale, ja as jaLocale, ptBR as ptLocale, @@ -67,6 +68,9 @@ export function setDateLocale(language: Language): void { } else if (language === 'gl') { activeLocale = glLocale; activeCode = 'gl-ES'; + } else if (language === 'hi') { + activeLocale = hiLocale; + activeCode = 'hi-IN'; } else if (language === 'th') { activeLocale = thLocale; activeCode = 'th-TH'; diff --git a/src/lib/cjkFonts.ts b/src/lib/localeFonts.ts similarity index 51% rename from src/lib/cjkFonts.ts rename to src/lib/localeFonts.ts index 7299d8e..386887a 100644 --- a/src/lib/cjkFonts.ts +++ b/src/lib/localeFonts.ts @@ -3,15 +3,17 @@ import type { Language } from '@/contexts/language'; const loaded = new Set(); /** - * Lazy-load the CJK display font for the active locale. + * Lazy-load the script-specific display font for the active locale (CJK + + * Devanagari). * - * The Thai (Kanit), Japanese (Noto Sans JP) and Korean (Noto Sans KR) font - * families are large and only needed for users on those locales — but they were - * imported statically in main.tsx, so every visitor downloaded them. They are - * now loaded on demand, once per locale, and non-CJK users never fetch them. - * Text briefly falls back to a system font until the stylesheet resolves. + * The Thai (Kanit), Japanese (Noto Sans JP), Korean (Noto Sans KR) and Hindi + * (Noto Sans Devanagari) font families are large and only needed for users on + * those locales — but they were imported statically in main.tsx, so every + * visitor downloaded them. They are now loaded on demand, once per locale, and + * other users never fetch them. Text briefly falls back to a system font until + * the stylesheet resolves. */ -export function loadCjkFont(language: Language): void { +export function loadLocaleFont(language: Language): void { if (loaded.has(language)) return; loaded.add(language); @@ -34,5 +36,11 @@ export function loadCjkFont(language: Language): void { import('@fontsource/kanit/600.css'), import('@fontsource/kanit/700.css'), ]).catch(() => {}); + } else if (language === 'hi') { + void Promise.all([ + import('@fontsource/noto-sans-devanagari/400.css'), + import('@fontsource/noto-sans-devanagari/500.css'), + import('@fontsource/noto-sans-devanagari/700.css'), + ]).catch(() => {}); } } diff --git a/src/main.tsx b/src/main.tsx index f044c90..6b7a0a6 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -34,9 +34,10 @@ import '@fontsource/bebas-neue'; import '@fontsource/barlow-condensed/400.css'; import '@fontsource/barlow-condensed/600.css'; import '@fontsource/barlow-condensed/700.css'; -// CJK fonts (Thai Kanit, Noto Sans JP, Noto Sans KR) are NOT imported here — -// they're large and only needed for ja/ko/th users, so they're lazy-loaded per -// locale (lib/cjkFonts.ts, wired in contexts/LanguageContext.tsx). +// Script fonts (Thai Kanit, Noto Sans JP/KR, Noto Sans Devanagari) are NOT +// imported here — they're large and only needed for ja/ko/th/hi users, so +// they're lazy-loaded per locale (lib/localeFonts.ts, wired in +// contexts/LanguageContext.tsx). // Cyrillic (Russian) — Inter has Cyrillic; Outfit does not import '@fontsource-variable/inter';