feat: add Hindi translations for various tools and components

This commit is contained in:
AshAnand34
2025-07-12 23:15:17 -07:00
parent f22bb8bd57
commit c281eadd73
14 changed files with 1441 additions and 2 deletions

187
src/i18n/hi.json Normal file
View File

@@ -0,0 +1,187 @@
{
"app": {
"title": "ओमनी टूल्स",
"language": "भाषा"
},
"navbar": {
"home": "होम",
"tools": "टूल्स",
"buyMeACoffee": "मुझे कॉफी खरीदें"
},
"resultFooter": {
"download": "डाउनलोड",
"copy": "क्लिपबोर्ड पर कॉपी करें"
},
"toolTextResult": {
"result": "परिणाम",
"loading": "लोड हो रहा है... इसमें कुछ समय लग सकता है।",
"copied": "टेक्स्ट कॉपी किया गया",
"copyFailed": "कॉपी करने में विफल: {{error}}"
},
"toolFileResult": {
"result": "परिणाम",
"loading": "लोड हो रहा है... इसमें कुछ समय लग सकता है।",
"copied": "फ़ाइल कॉपी की गई",
"copyFailed": "कॉपी करने में विफल: {{error}}"
},
"toolMultiFileResult": {
"result": "परिणाम",
"loading": "लोड हो रहा है... इसमें कुछ समय लग सकता है।",
"copied": "फ़ाइल कॉपी की गई",
"copyFailed": "कॉपी करने में विफल: {{error}}"
},
"toolTextInput": {
"input": "इनपुट टेक्स्ट",
"placeholder": "यहाँ अपना टेक्स्ट दर्ज करें...",
"copied": "टेक्स्ट कॉपी किया गया",
"copyFailed": "कॉपी करने में विफल: {{error}}"
},
"toolOptions": {
"title": "टूल विकल्प"
},
"hero": {
"title": "के साथ जल्दी काम करें",
"brand": "ओमनीटूल्स",
"description": "ओमनीटूल्स के साथ अपनी उत्पादकता बढ़ाएं, जल्दी काम करने के लिए अंतिम टूलकिट! छवियों, टेक्स्ट, सूचियों और डेटा को संपादित करने के लिए हजारों उपयोगकर्ता-अनुकूल उपयोगिताओं तक पहुंचें, सभी सीधे अपने ब्राउज़र से।",
"searchPlaceholder": "सभी टूल्स खोजें"
},
"toolHeader": {
"seeExamples": "उदाहरण देखें"
},
"toolExamples": {
"title": "{{title}} उदाहरण",
"subtitle": "आज़माने के लिए क्लिक करें!"
},
"inputFooter": {
"importFromFile": "फ़ाइल से आयात करें",
"copyToClipboard": "क्लिपबोर्ड पर कॉपी करें",
"clear": "साफ़ करें"
},
"baseFileInput": {
"fileCopied": "फ़ाइल कॉपी की गई",
"copyFailed": "कॉपी करने में विफल: {{error}}",
"dropFileHere": "यहाँ अपनी {{type}} डालें",
"selectFileDescription": "यहाँ क्लिक करें अपने डिवाइस से {{type}} चुनने के लिए, Ctrl+V दबाएं क्लिपबोर्ड से {{type}} का उपयोग करने के लिए, या डेस्कटॉप से फ़ाइल को खींचकर डालें"
},
"toolMultiplePdfInput": {
"noFilesSelected": "कोई फ़ाइल चयनित नहीं",
"inputTitle": "इनपुट {{type}}"
},
"toolMultipleAudioInput": {
"noFilesSelected": "कोई फ़ाइल चयनित नहीं",
"inputTitle": "इनपुट {{type}}"
},
"numericInputWithUnit": {
"unit": "इकाई"
},
"toolLayout": {
"allToolsTitle": "सभी {{type}} टूल्स"
},
"list": {
"group": {
"name": "समूह",
"description": "सूची आइटम को समूहित करने के लिए दुनिया का सबसे सरल ब्राउज़र-आधारित उपयोगिता। अपनी सूची इनपुट करें और समूहीकरण मानदंड निर्दिष्ट करें ताकि आइटम को तार्किक समूहों में व्यवस्थित किया जा सके। डेटा को वर्गीकृत करने, जानकारी को व्यवस्थित करने, या संरचित सूचियां बनाने के लिए बिल्कुल सही। कस्टम विभाजक और विभिन्न समूहीकरण विकल्पों का समर्थन करता है।",
"shortDescription": "सामान्य गुणों द्वारा सूची आइटम को समूहित करें"
},
"reverse": {
"name": "उलटा",
"description": "यह एक सुपर सरल ब्राउज़र-आधारित एप्लिकेशन है जो सभी सूची आइटम को उल्टे क्रम में प्रिंट करती है। इनपुट आइटम किसी भी प्रतीक से अलग किए जा सकते हैं और आप उलटे सूची आइटम के विभाजक को भी बदल सकते हैं।",
"shortDescription": "जल्दी से सूची को उलटा करें"
},
"sort": {
"name": "क्रमबद्ध",
"description": "यह एक सुपर सरल ब्राउज़र-आधारित एप्लिकेशन है जो सूची में आइटम को क्रमबद्ध करती है और उन्हें बढ़ते या घटते क्रम में व्यवस्थित करती है। आप आइटम को वर्णानुक्रमिक, संख्यात्मक, या उनकी लंबाई के अनुसार क्रमबद्ध कर सकते हैं। आप डुप्लिकेट और खाली आइटम को भी हटा सकते हैं, साथ ही उन आइटम को ट्रिम कर सकते हैं जिनके चारों ओर सफेद स्थान है। आप इनपुट सूची आइटम को अलग करने के लिए कोई भी विभाजक वर्ण उपयोग कर सकते हैं या वैकल्पिक रूप से उन्हें अलग करने के लिए एक नियमित अभिव्यक्ति का उपयोग कर सकते हैं। इसके अतिरिक्त, आप क्रमबद्ध आउटपुट सूची के लिए एक नया डिलिमिटर बना सकते हैं।",
"shortDescription": "जल्दी से सूची को क्रमबद्ध करें"
}
},
"string": {
"uppercase": {
"name": "बड़े अक्षर",
"description": "टेक्स्ट को बड़े अक्षरों में बदलने के लिए दुनिया का सबसे सरल ब्राउज़र-आधारित उपयोगिता। बस अपना टेक्स्ट इनपुट करें और यह स्वचालित रूप से सभी बड़े अक्षरों में परिवर्तित हो जाएगा। शीर्षक बनाने, टेक्स्ट पर जोर देने, या टेक्स्ट प्रारूप को मानकीकृत करने के लिए बिल्कुल सही। विभिन्न टेक्स्ट प्रारूपों का समर्थन करता है और विशेष वर्णों को संरक्षित करता है।",
"shortDescription": "टेक्स्ट को बड़े अक्षरों में बदलें"
},
"reverse": {
"name": "उलटा",
"description": "टेक्स्ट को उलटने के लिए दुनिया का सबसे सरल ब्राउज़र-आधारित उपयोगिता। कोई भी टेक्स्ट इनपुट करें और इसे तुरंत उलटा प्राप्त करें, वर्ण दर वर्ण। दर्पण टेक्स्ट बनाने, पैलिंड्रोम का विश्लेषण करने, या टेक्स्ट पैटर्न के साथ खेलने के लिए बिल्कुल सही। उलटते समय स्थान और विशेष वर्णों को संरक्षित करता है।",
"shortDescription": "किसी भी टेक्स्ट को वर्ण दर वर्ण उलटा करें"
},
"repeat": {
"name": "टेक्स्ट दोहराएं",
"description": "यह टूल आपको वैकल्पिक विभाजक के साथ दिए गए टेक्स्ट को कई बार दोहराने की अनुमति देता है।",
"shortDescription": "टेक्स्ट को कई बार दोहराएं"
},
"createPalindrome": {
"name": "पैलिंड्रोम बनाएं",
"description": "किसी भी टेक्स्ट से पैलिंड्रोम बनाने के लिए दुनिया का सबसे सरल ब्राउज़र-आधारित उपयोगिता। टेक्स्ट इनपुट करें और इसे तुरंत एक पैलिंड्रोम में बदल दें जो आगे और पीछे एक जैसा पढ़ता है। शब्द खेलों, सममित टेक्स्ट पैटर्न बनाने, या भाषाई जिज्ञासाओं की खोज के लिए बिल्कुल सही।",
"shortDescription": "ऐसा टेक्स्ट बनाएं जो आगे और पीछे एक जैसा पढ़ता है"
},
"palindrome": {
"name": "पैलिंड्रोम",
"description": "यह जांचने के लिए दुनिया का सबसे सरल ब्राउज़र-आधारित उपयोगिता कि टेक्स्ट पैलिंड्रोम है या नहीं। तुरंत सत्यापित करें कि क्या आपका टेक्स्ट आगे और पीछे एक जैसा पढ़ता है। शब्द पहेलियों, भाषाई विश्लेषण, या सममित टेक्स्ट पैटर्न को मान्य करने के लिए बिल्कुल सही। विभिन्न विभाजकों और बहु-शब्द पैलिंड्रोम पहचान का समर्थन करता है।",
"shortDescription": "जांचें कि क्या टेक्स्ट आगे और पीछे एक जैसा पढ़ता है"
},
"toMorse": {
"name": "टेक्स्ट से मोर्स",
"description": "टेक्स्ट को मोर्स कोड में बदलने के लिए दुनिया का सबसे सरल ब्राउज़र-आधारित उपयोगिता। बाईं ओर इनपुट फॉर्म में अपना टेक्स्ट लोड करें और आपको तुरंत आउटपुट क्षेत्र में मोर्स कोड मिलेगा। शक्तिशाली, मुफ्त, और तेज़। टेक्स्ट लोड करें मोर्स कोड प्राप्त करें।",
"shortDescription": "टेक्स्ट को जल्दी से मोर्स में एनकोड करें"
}
},
"pdf": {
"mergePdf": {
"name": "पीडीएफ मर्ज करें",
"description": "कई पीडीएफ फ़ाइलों को एक दस्तावेज़ में जोड़ें।",
"shortDescription": "कई पीडीएफ फ़ाइलों को एक दस्तावेज़ में मर्ज करें"
},
"pdfToEpub": {
"name": "पीडीएफ से ईपीयूबी",
"description": "बेहतर ई-रीडर संगतता के लिए पीडीएफ दस्तावेज़ों को ईपीयूबी फ़ाइलों में बदलें।",
"shortDescription": "पीडीएफ फ़ाइलों को ईपीयूबी प्रारूप में बदलें"
},
"protectPdf": {
"name": "पीडीएफ सुरक्षित करें",
"description": "अपने ब्राउज़र में सुरक्षित रूप से अपनी पीडीएफ फ़ाइलों में पासवर्ड सुरक्षा जोड़ें",
"shortDescription": "पीडीएफ फ़ाइलों को सुरक्षित रूप से पासवर्ड सुरक्षित करें"
},
"splitPdf": {
"name": "पीडीएफ विभाजित करें",
"description": "पेज नंबर या श्रेणियों का उपयोग करके पीडीएफ फ़ाइल से विशिष्ट पेज निकालें (उदाहरण के लिए, 1,5-8)",
"shortDescription": "पीडीएफ फ़ाइल से विशिष्ट पेज निकालें"
},
"compressPdf": {
"name": "पीडीएफ संपीड़ित करें",
"description": "गोस्टस्क्रिप्ट का उपयोग करके गुणवत्ता बनाए रखते हुए पीडीएफ फ़ाइल आकार कम करें",
"shortDescription": "अपने ब्राउज़र में सुरक्षित रूप से पीडीएफ फ़ाइलों को संपीड़ित करें"
}
},
"number": {
"generate": {
"name": "संख्याएं उत्पन्न करें",
"description": "अपने ब्राउज़र में पूर्णांकों की सूची की तुरंत गणना करें। अपनी सूची प्राप्त करने के लिए, बस पहला पूर्णांक निर्दिष्ट करें, नीचे विकल्पों में मान और कुल संख्या बदलें, और यह उपयोगिता उतने पूर्णांक उत्पन्न करेगी",
"shortDescription": "अपने ब्राउज़र में पूर्णांकों की सूची की तुरंत गणना करें"
},
"sum": {
"name": "संख्याएं जोड़ें",
"description": "यह एक सुपर सरल ब्राउज़र-आधारित एप्लिकेशन है जो संख्याओं को जोड़ती है। इनपुट संख्याएं किसी भी प्रतीक से अलग की जा सकती हैं और आप जोड़ी गई संख्याओं के विभाजक को भी बदल सकते हैं।",
"shortDescription": "जल्दी से संख्याओं की सूची जोड़ें"
}
},
"audio": {
"extractAudio": {
"name": "ऑडियो निकालें",
"description": "वीडियो फ़ाइल से ऑडियो ट्रैक निकालें और इसे अपने चुने हुए प्रारूप (एएसी, एमपी3, डब्ल्यूएवी) में एक अलग ऑडियो फ़ाइल के रूप में सहेजें।",
"shortDescription": "वीडियो फ़ाइलों (एमपी4, एमओवी, आदि) से ऑडियो निकालें एएसी, एमपी3, या डब्ल्यूएवी में।"
},
"changeSpeed": {
"name": "ऑडियो गति बदलें",
"description": "ऑडियो फ़ाइलों की प्लेबैक गति बदलें। पिच बनाए रखते हुए ऑडियो को तेज़ या धीमा करें।",
"shortDescription": "ऑडियो फ़ाइलों की गति बदलें"
}
},
"csv": {
"findIncompleteCsvRecords": {
"name": "अधूरे सीएसवी रिकॉर्ड खोजें",
"description": "बस नीचे फॉर्म में अपनी सीएसवी फ़ाइल अपलोड करें और यह टूल स्वचालित रूप से जांच करेगा कि क्या कोई पंक्ति या स्तंभ मूल्य नहीं खो रहे हैं। टूल विकल्पों में, आप इनपुट फ़ाइल प्रारूप को समायोजित कर सकते हैं (विभाजक, उद्धरण वर्ण, और टिप्पणी वर्ण निर्दिष्ट करें)। इसके अतिरिक्त, आप खाली मूल्यों की जांच सक्षम कर सकते हैं, खाली पंक्तियों को छोड़ सकते हैं, और आउटपुट में त्रुटि संदेशों की संख्या पर सीमा निर्धारित कर सकते हैं।",
"shortDescription": "सीएसवी में जल्दी से पंक्तियां और स्तंभ खोजें जो मूल्य खो रहे हैं।"
}
}
}

View File

@@ -1,17 +1,29 @@
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import enGlobal from './en.json';
import hiGlobal from './hi.json';
import enList from '../pages/tools/list/i18n/en.json';
import hiList from '../pages/tools/list/i18n/hi.json';
import enString from '../pages/tools/string/i18n/en.json';
import hiString from '../pages/tools/string/i18n/hi.json';
import enCsv from '../pages/tools/csv/i18n/en.json';
import hiCsv from '../pages/tools/csv/i18n/hi.json';
import enJson from '../pages/tools/json/i18n/en.json';
import hiJson from '../pages/tools/json/i18n/hi.json';
import enPdf from '../pages/tools/pdf/i18n/en.json';
import hiPdf from '../pages/tools/pdf/i18n/hi.json';
import enImage from '../pages/tools/image/i18n/en.json';
import hiImage from '../pages/tools/image/i18n/hi.json';
import enAudio from '../pages/tools/audio/i18n/en.json';
import hiAudio from '../pages/tools/audio/i18n/hi.json';
import enVideo from '../pages/tools/video/i18n/en.json';
import hiVideo from '../pages/tools/video/i18n/hi.json';
import enNumber from '../pages/tools/number/i18n/en.json';
import hiNumber from '../pages/tools/number/i18n/hi.json';
import enTime from '../pages/tools/time/i18n/en.json';
import hiTime from '../pages/tools/time/i18n/hi.json';
import enXml from '../pages/tools/xml/i18n/en.json';
import hiXml from '../pages/tools/xml/i18n/hi.json';
// Merge translations for demonstration; in a real app, use namespaces
const resources = {
@@ -30,6 +42,22 @@ const resources = {
time: enTime,
xml: enXml
}
},
hi: {
translation: {
...hiGlobal,
list: hiList,
string: hiString,
csv: hiCsv,
json: hiJson,
pdf: hiPdf,
image: hiImage,
audio: hiAudio,
video: hiVideo,
number: hiNumber,
time: hiTime,
xml: hiXml
}
}
};