सामग्री पर जाएं

जेसन अनुवादक जो संरचना को बरकरार रखता है | मुफ्त i18n टूल

मुफ्त जेसन अनुवादक जो आपकी संरचना को अक्षुण्ण रखता है। i18n फ़ाइलों, एपीआई प्रतिक्रियाओं और नेस्टेड जेसन का अनुवाद करें, जबकि कुंजियों, डेटा प्रकारों और स्वरूपण को संरक्षित करें। i18next और बहुभाषी ऐप्स के लिए बिल्कुल सही।

JSON संरचना-संरक्षण अनुवादक

यह टूल JSON ऑब्जेक्ट्स की सामग्री का अनुवाद करता है, जबकि उनकी संरचना को बरकरार रखता है। बाएं पैनल में अपना JSON पेस्ट करें, लक्ष्य भाषा चुनें, और दाएं पैनल में अनुवादित आउटपुट देखें।

अनुवादित आउटपुट यहां दिखाई देगा...

उपयोग कैसे करें

  1. स्रोत JSON फील्ड में अपना JSON ऑब्जेक्ट पेस्ट करें।
  2. ड्रॉपडाउन मेनू से अपनी लक्ष्य भाषा चुनें।
  3. अनुवादित JSON स्वचालित रूप से दाएं पैनल में दिखाई देगा।
  4. अनुवादित JSON को क्लिपबोर्ड पर कॉपी करने के लिए कॉपी बटन पर क्लिक करें।
लोडिंग कैलकुलेटर...
📚

दस्तावेज़ीकरण

जेसन संरचना-संरक्षण अनुवादक क्या है?

क्या आपने कभी गूगल ट्रांसलेट में जेसन कॉपी किया और टूटी हुई कुंजियां, गायब ब्रैकेट्स या बिगड़ी हुई सिंटैक्स पाई? यही वह समस्या है जिसे यह टूल हल करता है।

एक जेसन संरचना-संरक्षण अनुवादक आपके जेसन ऑब्जेक्ट्स के अंदर स्ट्रिंग मूल्यों को दूसरी भाषा में परिवर्तित करता है, जबकि अन्य सब कुछ अपरिवर्तित रहता है—कुंजियां समान रहती हैं, संख्याएं संख्याएं ही रहती हैं, बूलियन बूलियन ही रहते हैं, और आपकी नेस्टेड संरचना नहीं टूटती।

यह नियमित अनुवाद टूल्स से अलग है: जब आप एक सामान्य i18n फ़ाइल का अनुवाद करते हैं जिसमें 50+ नेस्टेड कुंजियां हैं, तो संरचना बिल्कुल समान रहनी चाहिए ताकि आपका कोड अभी भी स्पेनिश, फ्रेंच या जापानी में user.profile.displayName को संदर्भित कर सके। उस संरचना को तोड़ दो, और आप घंटों डीबग करते रहोगे।

यह टूल स्वचालित रूप से पुनरावर्ती ट्रैवर्सल को संभालता है, यह पहचानते हुए कि किन स्ट्रिंग्स का अनुवाद करना है और कौन से तत्व (जैसे API कुंजियां, कॉन्फ़िगरेशन मान, या संख्यात्मक आईडी) बिल्कुल वैसे ही रहने चाहिए।

JSON संरचना संरक्षण कैसे काम करता है

संरचना संरक्षण क्यों महत्वपूर्ण है

जब आप JSON अनुवाद के साथ काम कर रहे होते हैं, तो आप आमतौर पर इनमें से एक परिदृश्य में होते हैं:

  • i18n फ़ाइलें जहां आपका ऐप अपेक्षा करता है कि en.json और fr.json में समान कुंजियां हों
  • API प्रतिक्रियाएं जिन्हें क्लाइंट पार्सिंग के लिए सभी भाषाओं में एक समान संरचना की आवश्यकता होती है
  • कॉन्फ़िगरेशन फ़ाइलें जहां कुंजी का नाम बदलने से पूरा एप्लिकेशन टूट जाता है
  • डेटाबेस निर्यात जहां संबंध विशिष्ट फ़ील्ड नामों पर निर्भर करते हैं

चुनौती: JSON केवल पाठ नहीं है। यह संरचित डेटा है जिस पर आपका कोड निर्भर करता है। "userName" को "nombreUsuario" में बदलने पर आपका ऐप एक undefined त्रुटि फेंकता है।

अनुवाद प्रक्रिया कैसे काम करती है

यहां वह है जो JSON अनुवाद के दौरान पीछे के पर्दे पर होता है:

1. पार्स और मान्यकरण टूल सबसे पहले आपकी JSON सिंटैक्स को मान्य करता है। यदि आप एक कॉमा खो रहे हैं या एक अतिरिक्त कोष्ठक है, तो आपको किसी भी अनुवाद से पहले एक स्पष्ट त्रुटि संदेश मिलेगा—जो आपको भ्रष्ट आउटपुट से बचाता है।

2. पुनरावर्ती ट्रैवर्सल जड़ से शुरू करते हुए, एल्गोरिदम आपके JSON वृक्ष में हर नोड के माध्यम से चलता है। प्रत्येक तत्व के लिए, यह डेटा प्रकार की जांच करता है:

  • स्ट्रिंग? अनुवाद के लिए कतार में रखें
  • संख्या, बूलियन, शून्य? इसे पूरी तरह से छोड़ दें
  • ऑब्जेक्ट या सरणी? इसमें पुनरावर्ती हों

3. टाइप-सुरक्षित अनुवाद केवल स्ट्रिंग मूल्य को अनुवाद API को भेजा जाता है। आपका "quantity": 42 42 के रूप में रहता है, "cuarenta y dos" नहीं। आपका "isActive": true true रहता है, "verdadero" नहीं।

4. कुंजी संरक्षण सभी ऑब्जेक्ट कुंजियां अपनी मूल भाषा में रहती हैं। यह महत्वपूर्ण है क्योंकि translations.header.welcomeMessage को हर भाषा फ़ाइल में समान पथ होना चाहिए।

5. संरचना पुनर्संयोजन अनुवादित स्ट्रिंग को बिल्कुल उसी स्थान पर डाला जाता है, सभी नेस्टिंग स्तरों, सरणी सूचकांकों और ऑब्जेक्ट पदानुक्रमों को बनाए रखते हुए।

एक सामान्य गलती: कुछ डेवलपर्स JSON.stringify() ऑब्जेक्ट को अनुवाद करने का प्रयास करते हैं, पूरी स्ट्रिंग का अनुवाद करते हैं, फिर इसे वापस पार्स करते हैं। यह टूट जाता है क्योंकि अनुवादक कुंजियों, कोष्ठकों और सिंटैक्स को संशोधित करता है। पुनरावर्ती दृष्टिकोण इससे पूरी तरह से बचता है।

JSON संरचना-संरक्षण अनुवादक का उपयोग

चरण-दर-चरण गाइड

1. अपना JSON पेस्ट करें अपने JSON ऑब्जेक्ट को कॉपी करें और बाएं पैनल में पेस्ट करें। टूल किसी भी वैध JSON को संभालता है—चाहे वह 5 कुंजियों वाला सरल ऑब्जेक्ट हो या एरे और कई स्तरों के साथ गहराई से नेस्टेड संरचना।

2. लक्ष्य भाषा चुनें भाषा ड्रॉपडाउन से चुनें: स्पेनिश, फ्रेंच, जर्मन, इटालियन, पुर्तगाली, चीनी, जापानी, कोरियाई, रूसी, और अधिक। यदि आप i18next प्रोजेक्ट के लिए अनुवाद कर रहे हैं, तो अपने फ्रेमवर्क द्वारा अपेक्षित भाषा कोड से मेल करें।

3. तत्काल अनुवाद प्राप्त करें अनुवादित आउटपुट दाएं पैनल में स्वचालित रूप से दिखाई देता है। कोई "अनुवाद" बटन नहीं—जैसे ही आपके पास वैध JSON और चयनित भाषा होती है, यह प्रोसेस करता है।

4. कॉपी और उपयोग करें अनुवादित JSON को कॉपी करने के लिए "कॉपी" बटन पर क्लिक करें। यह सीधे आपके प्रोजेक्ट में पेस्ट करने के लिए तैयार है—कोई सफाई नहीं।

5. अगले अनुवाद के लिए साफ करें जब आप दूसरी फ़ाइल का अनुवाद करने के लिए तैयार हों तो "सभी साफ करें" पर क्लिक करें। टूल दोनों पैनल को तुरंत रीसेट करता है।

सामान्य समस्याएं और समाधान

"अवैध JSON प्रारूप" त्रुटि जब कोई सिंटैक्स समस्या होती है तो आप इसे देखेंगे। सामान्य अपराधी:

  • कुंजी-मान युग्मों के बीच अल्पविराम गायब
  • अंतिम आइटम के बाद ट्रेलिंग अल्पविराम (जावास्क्रिप्ट में वैध, JSON में नहीं)
  • एकल उद्धरण के बजाय डबल उद्धरण
  • स्ट्रिंग्स में असुरक्षित विशेष वर्ण

त्वरित समाधान: पेस्ट करने से पहले JSONLint जैसे वैलिडेटर के माध्यम से अपना JSON चलाएं।

अनुवाद मौन रूप से विफल होता है यदि आउटपुट पैनल खाली रहता है:

  • अपने इंटरनेट कनेक्शन की जाँच करें—अनुवाद के लिए API पहुंच की आवश्यकता होती है
  • सुनिश्चित करें कि आपने लक्ष्य भाषा चुनी है
  • समस्या को अलग करने के लिए एक छोटे JSON स्निपेट के साथ प्रयास करें

अनुवाद में अप्रत्याशित परिणाम मशीन अनुवाद मानक वाक्यांशों के लिए अच्छा काम करता है लेकिन इनसे संघर्ष करता है:

  • तकनीकी शब्दजाल या डोमेन-विशिष्ट शब्द
  • ब्रांड नाम (जिन्हें अक्सर अनुवादित नहीं किया जाना चाहिए)
  • प्लेसहोल्डर सिंटैक्स जैसे {{username}} या %s

उत्पादन अनुप्रयोगों के लिए, इस टूल का उपयोग पहले पास के रूप में करें, फिर डोमेन-विशिष्ट या ग्राहक-सामने वाली सामग्री की समीक्षा के लिए एक मूल भाषी से जाँच करवाएं।

बेहतर परिणामों के लिए प्रो टिप्स

तकनीकी स्ट्रिंग्स को अलग रखें यदि आपका JSON उपयोगकर्ता-सामने के पाठ और तकनीकी पहचानकर्ताओं को मिश्रित करता है, तो उन्हें विभाजित करने पर विचार करें। उदाहरण के लिए:

1{
2  "display": {"welcome": "वापसी पर स्वागत है"},
3  "config": {"apiKey": "abc123", "endpoint": "https://api.example.com"}
4}
5

config मूल्यों को संसाधित करने से बचने के लिए display ऑब्जेक्ट का अलग से अनुवाद करें।

अपनी स्ट्रिंग्स में संदर्भ का उपयोग करें "सबमिट" का अनुवाद संदर्भ के आधार पर अलग-अलग हो सकता है। "फॉर्म सबमिट करें" या "भुगतान सबमिट करें" अनुवादकों (मानव या मशीन) को सटीक परिणाम के लिए बेहतर संदर्भ देता है।

वास्तविक डेटा के साथ परीक्षण करें अपनी पूरी i18n फ़ाइल (500+ कुंजियों) का अनुवाद करने से पहले, एक छोटे नमूने के साथ परीक्षण करें जिसमें सभी डेटा प्रकार शामिल हों—स्ट्रिंग्स, संख्याएं, नेस्टेड ऑब्जेक्ट्स, एरे।

कोड उदाहरण

जावास्क्रिप्ट के साथ JSON अनुवाद

1// जावास्क्रिप्ट में समान कार्यक्षमता को लागू करने का उदाहरण
2function translateJsonStructure(jsonObj, targetLanguage) {
3  // एक स्ट्रिंग अनुवाद करने के लिए सहायक फ़ंक्शन
4  function translateString(str, lang) {
5    // वास्तविक कार्यान्वयन में, यह एक अनुवाद API को कॉल करेगा
6    return `[${lang}] ${str}`;
7  }
8  
9  // JSON को ट्रैवर्स और अनुवाद करने के लिए पुनरावर्ती फ़ंक्शन
10  function processNode(node) {
11    if (node === null) return null;
12    
13    if (typeof node === 'string') {
14      return translateString(node, targetLanguage);
15    }
16    
17    if (Array.isArray(node)) {
18      return node.map(item => processNode(item));
19    }
20    
21    if (typeof node === 'object') {
22      const result = {};
23      for (const key in node) {
24        result[key] = processNode(node[key]);
25      }
26      return result;
27    }
28    
29    // संख्याएँ, बूलियन आदि को अपरिवर्तित छोड़ दें
30    return node;
31  }
32  
33  return processNode(jsonObj);
34}
35
36// उपयोग का उदाहरण
37const sourceJson = {
38  "product": {
39    "name": "वायरलेस हेडफोन",
40    "description": "शोर रद्द करने वाले उच्च गुणवत्ता वाले वायरलेस हेडफोन",
41    "features": ["ब्लूटूथ 5.0", "40 घंटे की बैटरी लाइफ", "मोड़ने योग्य डिजाइन"],
42    "price": 99.99,
43    "inStock": true
44  }
45};
46
47const translatedJson = translateJsonStructure(sourceJson, "es");
48console.log(JSON.stringify(translatedJson, null, 2));
49

पायथन के साथ JSON अनुवाद

1import json
2
3def translate_json_structure(json_obj, target_language):
4    """
5    JSON ऑब्जेक्ट में स्ट्रिंग मूल्यों का अनुवाद करता है जबकि संरचना को संरक्षित रखता है।
6    
7    Args:
8        json_obj: पार्स किया गया JSON ऑब्जेक्ट
9        target_language: लक्ष्य भाषा कोड (जैसे 'es', 'fr')
10        
11    Returns:
12        संरक्षित संरचना के साथ अनुवादित JSON ऑब्जेक्ट
13    """
14    def translate_string(text, lang):
15        # वास्तविक कार्यान्वयन में, यह एक अनुवाद API को कॉल करेगा
16        return f"[{lang}] {text}"
17    
18    def process_node(node):
19        if node is None:
20            return None
21        
22        if isinstance(node, str):
23            return translate_string(node, target_language)
24        
25        if isinstance(node, list):
26            return [process_node(item) for item in node]
27        
28        if isinstance(node, dict):
29            result = {}
30            for key, value in node.items():
31                result[key] = process_node(value)
32            return result
33        
34        # संख्याएँ, बूलियन आदि को अपरिवर्तित छोड़ दें
35        return node
36    
37    return process_node(json_obj)
38
39# उपयोग का उदाहरण
40source_json = {
41    "user": {
42        "name": "जेन स्मिथ",
43        "bio": "सॉफ्टवेयर डेवलपर और ओपन सोर्स योगदानकर्ता",
44        "skills": ["जावास्क्रिप्ट", "पायथन", "रिएक्ट"],
45        "active": True,
46        "followers": 245
47    }
48}
49
50translated_json = translate_json_structure(source_json, "fr")
51print(json.dumps(translated_json, indent=2))
52

PHP के साथ JSON अनुवाद

1<?php
2/**
3 * मूल संरचना को संरक्षित रखते हुए JSON संरचना का अनुवाद करता है
4 * 
5 * @param mixed $jsonObj पार्स किया गया JSON ऑब्जेक्ट
6 * @param string $targetLanguage लक्ष्य भाषा कोड
7 * @return mixed अनुवादित JSON ऑब्जेक्ट
8 */
9function translateJsonStructure($jsonObj, $targetLanguage) {
10    // एक स्ट्रिंग अनुवाद करने के लिए सहायक फ़ंक्शन
11    function translateString($text, $lang) {
12        // वास्तविक कार्यान्वयन में, यह एक अनुवाद API को कॉल करेगा
13        return "[$lang] $text";
14    }
15    
16    // प्रत्येक नोड को प्रोसेस करने के लिए पुनरावर्ती फ़ंक्शन
17    function processNode($node, $lang) {
18        if ($node === null) {
19            return null;
20        }
21        
22        if (is_string($node)) {
23            return translateString($node, $lang);
24        }
25        
26        if (is_array($node)) {
27            // जाँच करें कि यह एक एसोसिएटिव ऐरे (ऑब्जेक्ट) है या इंडेक्स्ड ऐरे
28            if (array_keys($node) !== range(0, count($node) - 1)) {
29                // एसोसिएटिव ऐरे (ऑब्जेक्ट)
30                $result = [];
31                foreach ($node as $key => $value) {
32                    $result[$key] = processNode($value, $lang);
33                }
34                return $result;
35            } else {
36                // इंडेक्स्ड ऐरे
37                return array_map(function($item) use ($lang) {
38                    return processNode($item, $lang);
39                }, $node);
40            }
41        }
42        
43        // संख्याएँ, बूलियन आदि को अपरिवर्तित छोड़ दें
44        return $node;
45    }
46    
47    return processNode($jsonObj, $targetLanguage);
48}
49
50// उपयोग का उदाहरण
51$sourceJson = [
52    "company" => [
53        "name" => "ग्लोबल टेक समाधान",
54        "description" => "नवीन सॉफ्टवेयर विकास कंपनी",
55        "founded" => 2010,
56        "services" => ["वेब विकास", "मोबाइल ऐप्स", "क्लाउड समाधान"],
57        "active" => true
58    ]
59];
60
61$translatedJson = translateJsonStructure($sourceJson, "de");
62echo json_encode($translatedJson, JSON_PRETTY_PRINT);
63?>
64

वास्तविक दुनिया के उपयोग के मामले

वेब एप्लिकेशन i18n फ़ाइलें

Next.js, React, या Vue जैसे अधिकांश आधुनिक फ्रेमवर्क JSON प्रारूप में अनुवाद संग्रहीत करते हैं। जब आपको अपने ऐप में एक नई भाषा जोड़ने की आवश्यकता होती है, तो आप एक विकल्प का सामना करते हैं: मैनुअल रूप से कॉपी-पेस्ट करें और प्रत्येक कुंजी का अनुवाद करें (त्रुटि-प्रवण), या इस टूल का उपयोग करके कुछ ही मिनटों में एक पहला ड्राफ्ट तैयार करें।

एक वास्तविक परिदृश्य: आपके ऐप में en.json में 200+ अनुवाद कुंजियां हैं जो नेस्टेड श्रेणियों में फैली हुई हैं—नेविगेशन, फॉर्म, त्रुटि संदेश, टूलटिप्स। आपको अगले स्प्रिंट तक फ्रेंच और जर्मन संस्करण चाहिए।

इनपुट (en.json):

1{
2  "common": {
3    "welcome": "हमारे एप्लिकेशन में स्वागत है",
4    "login": "लॉग इन करें",
5    "signup": "साइन अप करें",
6    "errorMessages": {
7      "required": "यह फ़ील्ड आवश्यक है",
8      "invalidEmail": "कृपया एक वैध ईमेल पता दर्ज करें"
9    }
10  }
11}
12

फ्रेंच में अनुवाद करें, fr.json प्राप्त करें जिसमें समान संरचना हो। आपका कोड अभी भी t('common.errorMessages.required') को बिना किसी परिवर्तन के संदर्भित करता है।

मैंने पाया है कि अच्छा काम करता है: इस टूल के साथ अनुवाद उत्पन्न करें, फिर एक द्विभाषी टीम के सदस्य को तकनीकी शब्दों और बटन लेबल को जांचने दें। यह मामलों को पकड़ता है जहां "सबमिट" को "फॉर्म सबमिट करें" बनाम "भुगतान सबमिट करें" के लिए अलग-अलग अनुवाद की आवश्यकता हो सकती है।

API प्रतिक्रिया स्थानीयकरण

एक API बना रहे हैं जो कई देशों को सेवा देता है? आपको भाषाओं में समान प्रतिक्रिया संरचनाएं चाहिए। एक सूचना API वापस कर सकता है:

1{
2  "status": "सफल",
3  "notification": {
4    "title": "ऑर्डर भेजा गया",
5    "message": "आपका ऑर्डर #12345 भेज दिया गया है",
6    "priority": 1,
7    "timestamp": 1678901234
8  }
9}
10

आपका मोबाइल ऐप notification.title और notification.message को पार्स करता है। यदि फ्रेंच अनुवाद कुंजी संरचना बदलता है, तो ऐप फ्रेंच उपयोगकर्ताओं के लिए टूट जाएगा।

यह टूल सुनिश्चित करता है कि notification.title हर भाषा में notification.title ही रहे, केवल स्ट्रिंग मूल्य अनुवादित हों। आपका क्लाइंट कोड सभी लोकेल में समान रूप से काम करता है।

एक सीमा ध्यान देने योग्य: स्वचालित अनुवाद आपके डोमेन को नहीं समझता। ई-कॉमर्स संदर्भ में "भेजा गया" का अनुवाद लॉजिस्टिक्स या समुद्री संदर्भ से अलग हो सकता है। ग्राहक-सामने वाले API के लिए, तैनात करने से पहले आउटपुट की समीक्षा करें।

हेडलेस CMS सामग्री अनुवाद

Contentful या Strapi जैसे हेडलेस CMS प्लेटफॉर्म अक्सर सामग्री को JSON के रूप में निर्यात करते हैं। जब आपके पास 50 ब्लॉग पोस्ट हों जिनमें संरचित मेटाडेटा (लेखक, टैग, फीचर्ड इमेज URL, प्रकाशन तिथियां) हों, तो आप मेटाडेटा को छुए बिना बॉडी और शीर्षक का अनुवाद करना चाहते हैं।

एक विशिष्ट निर्यात में सामग्री स्ट्रिंग्स और कॉन्फ़िगरेशन दोनों शामिल होते हैं:

  • सामग्री: लेख बॉडी, हेडलाइन, अंश
  • संरचना: लेखक आईडी, इमेज पथ, श्रेणी स्लग, टाइमस्टैम्प

मैनुअल अनुवाद में जोखिम होता है कि स्लग technology से tecnología में बदल सकता है, जिससे आपका राउटिंग टूट सकता है। संरचना-संरक्षण अनुवाद केवल सामग्री फ़ील्ड को संभालता है।

बहु-क्षेत्र तैनाती के लिए कॉन्फ़िगरेशन फ़ाइलें

क्षेत्रों में तैनात करना? आपकी कॉन्फ़िगरेशन फ़ाइलों में स्थानीयकृत स्ट्रिंग्स की आवश्यकता हो सकती है जबकि एंडपॉइंट, क्रेडेंशियल्स और फीचर फ्लैग्स समान रहें:

1{
2  "region": "eu-west",
3  "welcomeMessage": "हमारी सेवा में स्वागत है",
4  "endpoint": "https://api.eu.example.com",
5  "retryAttempts": 3,
6  "features": {"darkMode": true}
7}
8

welcomeMessage को जर्मन में अनुवादित करें जबकि endpoint, retryAttempts, और features को अपरिवर्तित छोड़ दें।

अनुवाद दृष्टिकोणों की तुलना

विधिसबसे उपयुक्तगतिसटीकतासंरचना सुरक्षालागत
यह टूलत्वरित i18n फ़ाइल उत्पादन, प्रोटोटाइप, आंतरिक टूलतत्कालमानक सामग्री के लिए अच्छा100% संरक्षितमुफ्त
गूगल अनुवाद (कॉपी/पेस्ट)एकल वाक्यांश, गैर-तकनीकी पाठतत्कालअलग-अलगJSON तोड़ता हैमुफ्त
पेशेवर अनुवादग्राहक-सामने की सामग्री, कानूनी दस्तावेज, मार्केटिंगदिनउत्कृष्टमैनुअल कार्य आवश्यक$0.08-0.15/शब्द
अनुवाद प्रबंधन सिस्टम (Lokalise, Phrase)एंटरप्राइज एप्स, सहयोग वर्कफ्लोघंटे-दिनसमीक्षा के साथ उत्कृष्टबिल्ट-इन JSON समर्थन$$$+

इस टूल का उपयोग कब करें: प्रारंभिक चरण के प्रोजेक्ट्स, समीक्षा के लिए ड्राफ्ट तैयार करना, आंतरिक अनुप्रयोग जहां परफेक्ट अनुवाद महत्वपूर्ण नहीं है।

पेशेवर अनुवाद में निवेश कब करें: ग्राहक-सामने की सामग्री, कानूनी/अनुपालन पाठ, ब्रांड संदेश, या जब सांस्कृतिक सूक्ष्मता गति से अधिक महत्वपूर्ण हो।

तकनीकी विचार और सीमा मामले

अनुवाद होता है (और नहीं होता)

टूल टाइप जाँच का उपयोग यह निर्धारित करने के लिए करता है कि क्या अनुवाद किया जाएगा:

अनुवादित:

  • स्ट्रिंग मान: "Welcome""स्वागत"
  • सरणियों में स्ट्रिंग: ["Hello", "World"]["नमस्ते", "दुनिया"]
  • किसी भी नेस्टिंग स्तर पर स्ट्रिंग

अनुवादित नहीं:

  • संख्याएँ: 42, 3.14, -10 अपरिवर्तित रहते हैं
  • बूलियन: true और false जैसे रहते हैं
  • नल: null null ही रहता है
  • ऑब्जेक्ट कुंजियाँ: "userName" एक कुंजी के रूप में "userName" ही रहता है
  • खाली स्ट्रिंग: "" "" ही रहता है

विशेष वर्णों को संभालना

यूनिकोड और इमोजी टूल UTF-8 को सही ढंग से संभालता है, इसलिए इमोजी और गैर-लैटिन वर्ण ठीक काम करते हैं:

1{"greeting": "👋 Hello"}
2

हिंदी में अनुवादित होता है:

1{"greeting": "👋 नमस्ते"}
2

एस्केप अनुक्रम JSON एस्केप अनुक्रम (\n, \t, \") संरक्षित रहते हैं:

1{"message": "Line 1\nLine 2"}
2

\n अनुवाद में अक्षुण्ण रहता है।

प्लेसहोल्डर यहाँ एक संभावित समस्या है: यदि आपकी स्ट्रिंग में {username} या %s जैसे प्लेसहोल्डर हैं, तो वे अनुवादित हो सकते हैं या पुनर्व्यवस्थित हो सकते हैं। अरबी या हिब्रू जैसी दाएँ से बाएँ (RTL) भाषाओं में, प्लेसहोल्डर की स्थितियाँ बदल सकती हैं। इन्हें सावधानीपूर्वक जाँचें।

बड़ी JSON प्रदर्शन

वेब-आधारित टूल सामान्य i18n फ़ाइलों (500KB से कम) को बिना किसी समस्या के संभालता है। बड़े डेटासेट के लिए:

  • 500KB - 2MB: काम करता है लेकिन ब्राउज़र में धीमा हो सकता है
  • 2MB से अधिक: तार्किक खंडों में विभाजित करने पर विचार करें (जैसे प्रत्येक सुविधा या अनुभाग के लिए अलग-अलग फ़ाइलें)

ब्राउज़र की स्मृति, एल्गोरिदम से अधिक सीमित करने वाला कारक है।

अक्सर पूछे जाने वाले प्रश्न

यह Google Translate में JSON पेस्ट करने से कैसे अलग है?

Google Translate JSON को सामान्य पाठ के रूप में मानता है, जिसका अर्थ है कि यह सब कुछ अनुवादित करने का प्रयास करता है—जिसमें कुंजियां, सिंटैक्स वर्ण और संख्यात्मक मान शामिल हैं। आपको इस तरह का आउटपुट मिलेगा:

1{ "nom d'utilisateur": "Jean Dupont", "âge": "vingt-cinq" }
2

देखें कैसे "username" "nom d'utilisateur" बन गया और संख्या 25 स्ट्रिंग "vingt-cinq" बन गई? आपका कोड तुरंत टूट जाता है।

यह टूल JSON संरचना को समझता है और केवल स्ट्रिंग मानों का अनुवाद करता है, कुंजियों और अन्य डेटा प्रकारों को अक्षुण्ण रखता है।

क्या यह गहराई से नेस्टेड JSON और एरे को संभाल सकता है?

हाँ। पुनरावर्ती एल्गोरिदम नेस्टिंग के हर स्तर को प्रोसेस करता है:

1{
2  "users": [
3    {"name": "John", "roles": ["admin", "editor"]},
4    {"name": "Jane", "roles": ["viewer"]}
5  ]
6}
7

यह सभी स्ट्रिंग मानों ("John", "Jane", "admin", "editor", "viewer") का अनुवाद करता है जबकि सटीक संरचना को बनाए रखता है।

अगर मेरे JSON में अंग्रेजी और पहले से अनुवादित सामग्री दोनों हैं तो क्या होगा?

टूल हर स्ट्रिंग का अनुवाद करता है, भले ही कुछ पहले से ही लक्षित भाषा में हों। यदि आप किसी मौजूदा अनुवाद फ़ाइल में नई कुंजियां जोड़ रहे हैं, तो केवल नए अनुभाग का अनुवाद अलग से करें, फिर परिणामों को मर्ज करें।

क्या मैं इसे i18next या react-intl फ़ाइलों के लिए उपयोग कर सकता हूँ?

बिल्कुल। आउटपुट संरचना उन फ्रेमवर्क द्वारा अपेक्षित संरचना से मेल खाती है। एक i18next JSON फ़ाइल जैसे:

1{"translation": {"welcome": "Hello", "goodbye": "Goodbye"}}
2

इस प्रकार बन जाएगी:

1{"translation": {"welcome": "Hola", "goodbye": "Adiós"}}
2

आपके t('translation.welcome') कॉल्स अपरिवर्तित रहेंगे।

तकनीकी सामग्री के लिए स्वचालित अनुवाद कितना सटीक है?

यह संदर्भ पर निर्भर करता है:

  • सामान्य UI पाठ: "Save", "Cancel", "Submit" → आमतौर पर सटीक
  • तकनीकी शब्दावली: "webhook", "OAuth2", "idempotent" → गलत अनुवादित या अपरिवर्तित रह सकता है
  • डोमेन-विशिष्ट शब्द: "patient record" (चिकित्सा) बनाम "patient" (धैर्य) → संदर्भ अक्सर छूट जाता है

उत्पादन ऐप्स के लिए, इसे पहला पास मानें, फिर तकनीकी और डोमेन-विशिष्ट शब्दों की समीक्षा के लिए किसी को रखें।

विभिन्न वर्ण सेट वाली भाषाओं (चीनी, अरबी, रूसी) के बारे में क्या?

टूल यूनीकोड को सही ढंग से संभालता है, इसलिए सभी वर्ण सेट काम करते हैं। एक चीज पर ध्यान दें: अरबी और हिब्रू दाएं से बाएं (RTL) होते हैं, जो अनुवादित स्ट्रिंग में प्लेसहोल्डर्स को प्रभावित कर सकता है। JSON संरचना सही रहती है, लेकिन पठनीयता के लिए अनुवादित पाठ की समीक्षा करें।

क्या यह मेरी फ़ॉर्मेटिंग (इंडेंटेशन, लाइन ब्रेक) को संरक्षित रखेगा?

आउटपुट वैध JSON है, लेकिन फ़ॉर्मेटिंग (व्हाइटस्पेस, इंडेंटेशन) आपके इनपुट से भिन्न हो सकती है। यदि आपको विशिष्ट फ़ॉर्मेटिंग चाहिए, तो आउटपुट को अपनी पसंदीदा सेटिंग्स के साथ JSON फ़ॉर्मेटर से गुजारें।

क्या मैं URL या API कुंजियों जैसे कॉन्फ़िगरेशन मूल्यों का अनुवाद कर सकता हूँ?

टूल सभी स्ट्रिंग्स का अनुवाद करता है, जिसमें URL और कॉन्फ़िग मूल्य भी शामिल हैं। इसे रोकने के लिए:

  1. अपने JSON को उपयोगकर्ता-सामने की सामग्री और कॉन्फ़िगरेशन में विभाजित करें
  2. केवल सामग्री अनुभाग का अनुवाद करें
  3. कॉन्फ़िग को अनुवादित न छोड़ें

बेहतर अभी, शुरुआत से ही अपनी फ़ाइलों को अनुवादने योग्य सामग्री और तकनीकी मूल्यों को अलग करने के लिए संरचित करें।

क्या यह मुफ्त है? क्या दर सीमाएं हैं?

वेब-आधारित टूल सामान्य उपयोग के लिए मुफ्त है। बहुत अधिक मात्रा में अनुवाद (प्रति मिनट सैकड़ों फ़ाइलें) अंतर्निहित अनुवाद सेवा पर दर सीमाओं को छू सकता है। अधिकांश विकास वर्कफ़्लो में, आप सीमाओं का सामना नहीं करेंगे।

संदर्भ और अधिक पढ़ने के लिए

JSON संरचना, अंतर्राष्ट्रीयकरण मानक और सर्वोत्तम प्रथाओं की गहरी समझ के लिए:

  • ECMA-404: JSON डेटा इंटरचेंज सिंटैक्स - Ecma International द्वारा मानक प्रारूप को परिभाषित करने वाला आधिकारिक JSON विनिर्देश: ecma-international.org/publications-and-standards/standards/ecma-404/

  • MDN वेब डॉक्स: JSON के साथ काम करना - JSON पार्सिंग, स्ट्रिंगीफिकेशन और संरचना पर Mozilla का व्यापक गाइड: developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON

  • W3C अंतर्राष्ट्रीयकरण (i18n) गतिविधि - वेब अंतर्राष्ट्रीयकरण के लिए मानक और सर्वोत्तम प्रथाएं: w3.org/International/

  • RFC 8259: JSON डेटा इंटरचेंज प्रारूप - JSON सिंटैक्स और सेमेंटिक्स के लिए IETF विनिर्देश: datatracker.ietf.org/doc/html/rfc8259

अपनी JSON फ़ाइलों का अनुवाद शुरू करें

क्या आपको अपने बहुभाषी एप्लिकेशन के लिए अनुवाद फ़ाइलें तुरंत उत्पन्न करने की आवश्यकता है? अपना JSON पेस्ट करें, लक्ष्य भाषा चुनें, और तुरंत संरचना को संरक्षित करने वाले अनुवाद प्राप्त करें। i18next, react-intl, vue-i18n और किसी भी फ्रेमवर्क के साथ काम करता है जो भाषाओं में सुसंगत JSON संरचना की अपेक्षा करता है।

अनुवाद अभी शुरू करें: