feat: dashboard Second Brain, essai 7 jours et vérification e-mail
Rendre le dashboard actionnable (inbox, peek, carte mentale), aligner la facturation sur l’essai 7 jours, et bloquer le login e-mail tant que l’adresse n’est pas confirmée. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -38,7 +38,24 @@
|
||||
"privacyTerms": "© 2025 Memento Labs — गोपनीयता · शर्तें",
|
||||
"sessionExpired": "आपकी साइट नेविगेशन और विषय-सूची के साथ बनाई जाती है",
|
||||
"welcomeBack": "वापसी पर स्वागत है",
|
||||
"welcomeBackSubtitle": "अपने नोट्स तक पहुँचने के लिए अपनी प्रमाणीकरण जानकारी दर्ज करें।"
|
||||
"welcomeBackSubtitle": "अपने नोट्स तक पहुँचने के लिए अपनी प्रमाणीकरण जानकारी दर्ज करें।",
|
||||
"checkEmailTitle": "अपना ईमेल देखें",
|
||||
"checkEmailDescription": "हमने {email} पर पुष्टि लिंक भेजा है। साइन इन से पहले खाता सक्रिय करने के लिए इसे खोलें।",
|
||||
"checkEmailDescriptionGeneric": "हमने आपके ईमेल पर पुष्टि लिंक भेजा है। साइन इन से पहले खाता सक्रिय करने के लिए इसे खोलें।",
|
||||
"resendVerification": "पुष्टि ईमेल फिर से भेजें",
|
||||
"verifyResent": "पुष्टि ईमेल भेजा गया। इनबॉक्स देखें।",
|
||||
"verifyResendFailed": "पुष्टि ईमेल नहीं भेजा जा सका। बाद में फिर कोशिश करें।",
|
||||
"verifyMissingEmail": "अपना ईमेल पता दर्ज करें।",
|
||||
"verifyLoading": "ईमेल की पुष्टि हो रही है…",
|
||||
"verifySuccessTitle": "ईमेल पुष्टि हो गई",
|
||||
"verifySuccessDescription": "आपका खाता तैयार है। अब साइन इन कर सकते हैं।",
|
||||
"verifyExpiredTitle": "लिंक समाप्त",
|
||||
"verifyExpiredDescription": "यह पुष्टि लिंक समाप्त हो गया है। नया लिंक माँगें।",
|
||||
"verifyInvalidTitle": "अमान्य लिंक",
|
||||
"verifyInvalidDescription": "यह पुष्टि लिंक अमान्य है या पहले ही उपयोग हो चुका है।",
|
||||
"emailNotVerified": "साइन इन से पहले अपना ईमेल पुष्टि करें।",
|
||||
"emailVerifiedBanner": "ईमेल पुष्टि हो गई। अब साइन इन करें।",
|
||||
"invalidCredentials": "ईमेल या पासवर्ड गलत है।"
|
||||
},
|
||||
"sidebar": {
|
||||
"notes": "नोट्स",
|
||||
@@ -1580,7 +1597,58 @@
|
||||
"STRIPE_PRICE_CREDITS_S": "Pack S — 100 credits (price ID)",
|
||||
"STRIPE_PRICE_CREDITS_M": "Pack M — 500 credits (price ID)",
|
||||
"STRIPE_PRICE_CREDITS_L": "Pack L — 2,000 credits (price ID)",
|
||||
"packsCatalogTitle": "Pack catalogue (code)"
|
||||
"packsCatalogTitle": "Pack catalogue (code)",
|
||||
"healthTitle": "Stripe health check",
|
||||
"healthDescription": "Runtime status of keys, webhooks, price IDs and billing flag (secrets are never shown).",
|
||||
"healthSecret": "Secret key (server)",
|
||||
"healthPublishable": "Publishable key",
|
||||
"healthWebhook": "Webhook secret",
|
||||
"healthBillingFlag": "Billing enabled",
|
||||
"healthTrial": "Free trial",
|
||||
"trialDaysValue": "{days} days on first checkout",
|
||||
"modeTest": "Test mode (sk_test_…)",
|
||||
"modeLive": "Live mode (sk_live_…)",
|
||||
"modePlaceholder": "Placeholder / invalid key",
|
||||
"modeMissing": "Not configured",
|
||||
"configured": "Configured",
|
||||
"missing": "Missing",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"priceStatusTitle": "Price IDs vs Stripe",
|
||||
"colKey": "Plan",
|
||||
"colPriceId": "Price ID",
|
||||
"colSource": "Source",
|
||||
"colStripe": "Stripe amount",
|
||||
"priceError": "Lookup failed",
|
||||
"inactive": "inactive",
|
||||
"notChecked": "Not checked (no Stripe key)",
|
||||
"subsTitle": "Subscriptions overview",
|
||||
"subsDescription": "Counts from the local database (synced via Stripe webhooks).",
|
||||
"statPaid": "Active + trial",
|
||||
"statTrialing": "On trial",
|
||||
"statPastDue": "Past due",
|
||||
"statCanceling": "Cancel at period end",
|
||||
"byTier": "By tier",
|
||||
"byStatus": "By status",
|
||||
"usersWithoutSub": "Users with no Subscription row",
|
||||
"noSubs": "No subscriptions yet",
|
||||
"recentSubs": "Recent paid / trial accounts",
|
||||
"colUser": "User",
|
||||
"colTier": "Tier",
|
||||
"colStatus": "Status",
|
||||
"colPeriod": "Period / trial end",
|
||||
"canceling": "canceling",
|
||||
"manualTier": "manual (no Stripe sub)",
|
||||
"trialUntil": "Trial until {date}",
|
||||
"testGuideTitle": "How to test Stripe locally",
|
||||
"testGuideDescription": "Checklist to validate checkout, webhooks and trial.",
|
||||
"testStep1": "Stripe Dashboard → Test mode ON. Create Pro/Business products + monthly/annual prices + credit packs.",
|
||||
"testStep2": "Put sk_test_…, pk_test_… in .env. Put price_… IDs in Admin → Billing (or env) and enable billing.",
|
||||
"testStep3": "Copy the whsec_… into STRIPE_WEBHOOK_SECRET and restart the app.",
|
||||
"testStep4": "npm run dev → open /settings/billing as a BASIC user.",
|
||||
"testStep5": "Start Pro checkout. Card: 4242 4242 4242 4242, any future expiry, any CVC. Expect a 7-day trial.",
|
||||
"testStep6": "Confirm Admin → Billing shows TRIALING, and /settings/billing shows the trial end date.",
|
||||
"testCardHint": "Other cards: 4000000000009995 = payment fails · 4000002500003155 = 3D Secure. Never use real cards in test mode."
|
||||
}
|
||||
},
|
||||
"about": {
|
||||
@@ -3113,7 +3181,11 @@
|
||||
"packLName": "पावर पैक",
|
||||
"buyPack": "खरीदें",
|
||||
"packCheckoutSuccess": "क्रेडिट पैक आपके शेष में जोड़ा गया!",
|
||||
"packCheckoutFailed": "खरीद शुरू नहीं हो सकी। Stripe कॉन्फ़िग जांचें या पुनः प्रयास करें।"
|
||||
"packCheckoutFailed": "खरीद शुरू नहीं हो सकी। Stripe कॉन्फ़िग जांचें या पुनः प्रयास करें।",
|
||||
"startTrialCta": "{days} दिन मुफ़्त आज़माएँ",
|
||||
"trialFeature": "{days} दिन का मुफ़्त ट्रायल (कार्ड आवश्यक)",
|
||||
"trialEndsOn": "आपका मुफ़्त ट्रायल {date} को समाप्त होता है। उसके बाद स्वचालित रूप से शुल्क लगेगा।",
|
||||
"trialEndsLabel": "ट्रायल समाप्त"
|
||||
},
|
||||
"landing": {
|
||||
"nav": {
|
||||
@@ -3295,7 +3367,16 @@
|
||||
"feature4": "समर्पित सपोर्ट",
|
||||
"feature5": "लाइव ऑनबोर्डिंग"
|
||||
},
|
||||
"basicPrice": "मुफ़्त"
|
||||
"basicPrice": "मुफ़्त",
|
||||
"savePercent": "~17% बचाएँ",
|
||||
"proMonthly": "€9.90",
|
||||
"proAnnualMonthly": "€8.25",
|
||||
"businessMonthly": "€29.90",
|
||||
"businessAnnualMonthly": "€24.92",
|
||||
"enterprisePrice": "कस्टम",
|
||||
"trialBadge": "{days} दिन का मुफ़्त ट्रायल",
|
||||
"trialFeature": "{days} दिन का मुफ़्त ट्रायल (कार्ड आवश्यक)",
|
||||
"trialCta": "{days} दिन मुफ़्त आज़माएँ"
|
||||
},
|
||||
"cta": {
|
||||
"title": "अपने सबसे अच्छे विचारों को खोना बंद करें।",
|
||||
|
||||
Reference in New Issue
Block a user