From 878e10198d91b205fd8b23235086ab49e4828620 Mon Sep 17 00:00:00 2001 From: ecogetaway Date: Sun, 24 May 2026 22:30:46 +0530 Subject: [PATCH] feat: Add Hindi (hi) localization to status page (#2193) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Add Hindi (hi) localization to status page - Add complete Hindi translation (135 strings) for status page UI - Update locale registry to include Hindi language option - Integrate date-fns Hindi locale for date/time formatting - Add Hindi metadata: name='हिंदी', flag='🇮🇳' Locale addition follows the same pattern as existing locales (en, fr, de, tr). All string interpolation placeholders preserved for dynamic content. Type-safe locale system ensures compile-time validation. Co-Authored-By: Claude Sonnet 4.6 * fix(i18n): polish Hindi status page translations Address review feedback with clearer chart legend wording, shorter status badge labels, and consistent Hindi subscribe terminology. Co-authored-by: Cursor --------- Co-authored-by: Sanjay Localization Bot Co-authored-by: Claude Sonnet 4.6 Co-authored-by: Sanjay Chari Co-authored-by: Cursor --- apps/status-page/messages/hi.json | 137 ++++++++++++++++++++++++++++++ packages/locales/index.ts | 6 +- 2 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 apps/status-page/messages/hi.json diff --git a/apps/status-page/messages/hi.json b/apps/status-page/messages/hi.json new file mode 100644 index 000000000..c0ac9ecfe --- /dev/null +++ b/apps/status-page/messages/hi.json @@ -0,0 +1,137 @@ +{ + "Y9HHck": "प्रमाणित करें", + "1QcGkA": "स्थिति पृष्ठ तक पहुंचने के लिए जादू लिंक प्राप्त करने के लिए अपना ईमेल दर्ज करें। नोट: केवल अनुमोदित डोमेन से ईमेल स्वीकार किए जाते हैं।", + "txkW56": "जमा किया जा रहा है...", + "wSZR47": "जमा करें", + "OrFVks": "अपने इनबॉक्स को जांचें!", + "n36zhX": "ईमेल में लिंक पर क्लिक करके स्थिति पृष्ठ तक पहुंचें।", + "qIAQSi": "संरक्षित पृष्ठ", + "lbw10C": "स्थिति पृष्ठ तक पहुंचने के लिए पासवर्ड दर्ज करें।", + "t262xH": "ईमेल और redirectTo आवश्यक हैं", + "DwevKz": "साइन इन के दौरान अनपेक्षित त्रुटि हुई", + "xOqgA3": "प्रवेश प्रतिबंधित", + "U2RCyj": "यह स्थिति पृष्ठ केवल विशिष्ट IPv4 नेटवर्क से सुलभ है। प्रवेश प्राप्त करने के लिए अपने नेटवर्क प्रशासक से संपर्क करें।", + "Ppx673": "रिपोर्ट", + "JCMXwP": "रखरखाव", + "I7B7SH": "कोई रखरखाव नहीं मिला", + "OSI607": "इस स्थिति पृष्ठ के लिए कोई रखरखाव नहीं मिला।", + "a9S/OH": "रखरखाव नहीं मिला", + "HSv9BP": "आप जिस रखरखाव की तलाश कर रहे हैं वह मौजूद नहीं है।", + "VL1Y/1": "रिपोर्ट नहीं मिली", + "Ew1f8q": "आप जिस रिपोर्ट की तलाश कर रहे हैं वह मौजूद नहीं है।", + "wkVkCX": "सफलतापूर्वक अनसब्सक्राइब किया गया", + "9qFG9F": "अनसब्सक्राइब करने में विफल", + "PV34S9": "अमान्य सदस्यता टोकन", + "ar0fZ/": "यह सदस्यता टोकन अब वैध नहीं है। आप पहले से अनसब्सक्राइब हो सकते हैं या लिंक की समय सीमा समाप्त हो सकती है।", + "orvpWh": "वापस जाएं", + "K8kTfz": "स्थिति पृष्ठ पर अपडेट प्राप्त करने के लिए अपनी सदस्यता प्रबंधित करें।", + "3JgeEq": "{date} को अनसब्सक्राइब किया गया", + "RXTZq5": "अनसब्सक्राइब किया जा रहा है...", + "cctOA4": "अनसब्सक्राइब करें", + "jHSHdV": "क्या आप इस स्थिति पृष्ठ से अनसब्सक्राइब करना चाहते हैं? आप अब अपडेट नहीं प्राप्त करेंगे।", + "47FYwb": "रद्द करें", + "awr0AJ": "मॉनिटर नहीं मिला", + "CVsoUM": "आप जिस मॉनिटर की तलाश कर रहे हैं वह मौजूद नहीं है।", + "BRGcS0": "वैश्विक विलंबता", + "9vqdq3": "क्षेत्र विलंबता", + "fFOayY": "क्षेत्र", + "u81G9+": "अपटाइम", + "i2FBWn": "जांच", + "G5Lt80": "विभिन्न क्वांटाइल के आधार पर सभी सक्रिय क्षेत्रों से एकत्रित विलंबता।", + "YV7rXP": "क्षेत्र द्वारा विलंबता", + "6zzIEm": "p75 क्वांटाइल के अनुसार क्षेत्र विलंबता, सबसे धीमे क्षेत्र द्वारा क्रमबद्ध। 6 क्षेत्रों तक की तुलना करें।", + "6pCzRs": "कुल अपटाइम", + "zL23+z": "अपटाइम और उपलब्धता के मुख्य मूल्य, पारदर्शी।", + "gjBiyj": "लोड हो रहा है...", + "/72cxa": "अमान्य या समाप्त लिंक", + "R10mIw": "यह अनसब्सक्राइब लिंक अब वैध नहीं है। आप पहले से अनसब्सक्राइब हो सकते हैं।", + "yFi/8F": "सफलतापूर्वक अनसब्सक्राइब किया गया", + "CmelO7": "आप अब {pageName} से ईमेल सूचनाएं प्राप्त नहीं करेंगे।", + "JqiqNj": "कुछ गलत हुआ", + "TnvU0H": "कृपया पुनः प्रयास करें या यदि समस्या बनी रहे तो सहायता से संपर्क करें।", + "uW0VWi": "सूचनाओं से अनसब्सक्राइब करें", + "deCYKO": "आप {email} को {pageName} स्थिति अपडेट से अनसब्सक्राइब करने वाले हैं।", + "5HvAzP": "{email} में अपडेट प्राप्त करने के लिए तैयार!", + "ywcUO4": "बस एक पल - हम आपकी सदस्यता की पुष्टि कर रहे हैं", + "0Azlrb": "प्रबंधित करें", + "cyR7Kh": "वापस", + "2yCGR2": "क्लिपबोर्ड में लिंक कॉपी किया गया", + "u5aHb4": "लिंक कॉपी करें", + "m5BctM": "चार्ट विवरण", + "csFahs": "सापेक्ष", + "oBoa2n": "प्रीसेट", + "gdve5D": "कस्टम श्रेणी", + "mOFG3K": "शुरुआत", + "3JVa6k": "अंत", + "79eRW1": "पुष्टि की जा रही है...", + "dX7+Rv": "पुष्टि हुई", + "m0fapd": "पुष्टि करने में विफल", + "sy+pv5": "ईमेल", + "9Utk00": "सदस्यता अपडेट की जा रही है...", + "Eq5gCU": "सदस्यता अपडेट की गई", + "qp+wDV": "सदस्यता अपडेट करने में विफल", + "d/jCcy": "विशिष्ट घटकों की सदस्यता लें", + "FlVuUh": "कोई घटक सदस्यता के लिए नहीं", + "8aUjqQ": "इस स्थिति पृष्ठ में कोई घटक सदस्यता के लिए नहीं है।", + "5sg7KC": "पासवर्ड", + "IGY48m": "सदस्यता की जा रही है...", + "Pgb3Xj": "सदस्यता ली गई", + "WOH7Yj": "सदस्यता लेने में विफल", + "L7z2/k": "इस पृष्ठ में कोई घटक सदस्यता के लिए नहीं है।", + "BQBZU+": "सभी सिस्टम कार्यरत", + "Dnob31": "कार्यरत", + "b9fOA1": "खराब प्रदर्शन", + "VQDmmK": "खराब", + "80EXUh": "डाउनटाइम प्रदर्शन", + "JOZGPR": "डाउनटाइम", + "dudqv/": "अनुरक्षण", + "D3rOMr": "डेटा नहीं", + "W6nSYE": "हल किया", + "1P6GMj": "निगरानी", + "7cv4Uf": "पहचाना गया", + "/GKH/w": "जांच", + "myq2ZL": "सामान्य", + "KN7zKn": "त्रुटि", + "kkpP2k": "आज", + "2wsjxR": "जारी", + "2syGZB": "रिपोर्ट समाधान किया गया", + "FDReLp": "कोई हाल की सूचनाएं नहीं", + "qDj0JR": "पिछले 7 दिनों में कोई रिपोर्ट नहीं।", + "u++vY3": "कोई रिपोर्ट नहीं मिली", + "2HGztY": "इस स्थिति पृष्ठ के लिए कोई रिपोर्ट नहीं मिली।", + "50SA6J": "कोई सार्वजनिक मॉनिटर नहीं", + "FHrzf5": "इस पृष्ठ पर कोई सार्वजनिक मॉनिटर जोड़े गए नहीं हैं।", + "3cc4Ct": "प्रकाश", + "tOdNiY": "डार्क", + "+CwN9C": "सिस्टम", + "EQpyb8": "थीम टॉगल करें", + "uPb/gh": "अपडेट प्राप्त करें", + "8OoV56": "RSS फीड प्राप्त करें", + "Auj/Ki": "Atom फीड प्राप्त करें", + "SyYroX": "JSON अपडेट प्राप्त करें", + "rptmhC": "Slack में स्थिति अपडेट के लिए, नीचे दिया गया पाठ किसी भी चैनल में पेस्ट करें।", + "PSqtlY": "SSH के माध्यम से स्थिति प्राप्त करें", + "NOyDVq": "द्वारा संचालित", + "krEziQ": "संपर्क में रहें", + "3Vaz8F": "स्थिति ट्रैकर", + "apbxET": "दिन {n} की स्थिति", + "GbVCQb": "अनपिन करने के लिए फिर से क्लिक करें", + "heezSZ": "({duration} में)", + "lKJjwW": "({timeFromLast} पहले)", + "VaZnIX": "({duration} के लिए)", + "jC7BY1": "{duration} भर में", + "tzMNF3": "स्थिति", + "ZvKSfJ": "घटनाएं", + "xJrRMG": "मॉनिटर", + "tKMlOc": "मेनू", + "8kyEWd": "एक क्वांटाइल आपके डेटासेट में एक विशिष्ट प्रतिशतक का प्रतिनिधित्व करता है।", + "kd0Igx": "उदाहरण के लिए, p50 50वां प्रतिशतक है - वह बिंदु जिसके नीचे 50% डेटा आता है। उच्च प्रतिशतक अधिक डेटा शामिल करते हैं और ऊपरी श्रेणी को उजागर करते हैं।", + "CYs0LF": "घटनाओं का इतिहास देखें", + "sjzDbu": "Slack", + "q0qMyV": "RSS", + "9y9QQh": "JSON", + "waUHa4": "SSH", + "cVqFq/": "जब भी कोई रिपोर्ट बनाई जाती है या समाधान की जाती है तो ईमेल सूचनाएं प्राप्त करें", + "gczcC5": "सदस्यता लें", + "45YlLU": "अपडेट प्राप्त करने के लिए अपने ईमेल की पुष्टि करें और आप तैयार हैं।" +} diff --git a/packages/locales/index.ts b/packages/locales/index.ts index 5e0c5325e..ab4374785 100644 --- a/packages/locales/index.ts +++ b/packages/locales/index.ts @@ -1,7 +1,7 @@ import type { Locale as DateFnsLocale } from "date-fns/locale"; -import { de, enUS, fr, tr } from "date-fns/locale"; +import { de, enUS, fr, hi, tr } from "date-fns/locale"; -export const locales = ["en", "fr", "de", "tr"] as const; +export const locales = ["en", "fr", "de", "tr", "hi"] as const; export type Locale = (typeof locales)[number]; @@ -12,6 +12,7 @@ export const localeDetails: Record = { fr: { name: "Français", flag: "🇫🇷" }, de: { name: "Deutsch", flag: "🇩🇪" }, tr: { name: "Türkçe", flag: "🇹🇷" }, + hi: { name: "हिंदी", flag: "🇮🇳" }, }; export const dateFnsLocales: Record = { @@ -19,4 +20,5 @@ export const dateFnsLocales: Record = { fr, de, tr, + hi, }; -- 2.54.0