{
  "assessmentTests": {
    "javascript_test": {
      "name": "JavaScript चाचणी",
      "desc": "मूलभूत सिंटॅक्स आणि कोअर्शन, फंक्शन्स/स्कोप/क्लोजर्स आणि this, ऑब्जेक्ट्स/अॅरे आणि डेटा स्ट्रक्चर्स, तसेच इव्हेंट लूप/async/प्रोटोटाइप आयडिअम्स यावरील 30 परिस्थितीवर आधारित प्रश्न — नोकरीच्या जाहिरातीत JavaScript प्रावीण्य म्हणजे जे अपेक्षित असते, ते तुमच्या JavaScript ज्ञानात आहे का हे जाणून घ्या.",
      "recommendation": "तुमचे JavaScript कौशल्य प्रोफाइल",
      "results": {
        "beginner": {
          "name": "नवशिके",
          "desc": "तुम्ही चालणारी फंक्शन्स आणि ऑब्जेक्ट्स लिहू शकता, पण तुमची चुकलेली उत्तरे सिंटॅक्सऐवजी टाइप कोअर्शन आणि रेफरन्स सिमँटिक्सभोवती एकवटलेली आहेत — तुलना करण्यापूर्वी == शांतपणे टाइप बदलणे, ऑब्जेक्टची कॉपी करण्याऐवजी तोच ऑब्जेक्ट शेअर करणारी अॅरे असाइनमेंट, NaN कधीही स्वतःच्या बरोबरीचा का नसतो. यापैकी काहीही JavaScript मध्ये कमकुवत असण्याबद्दल नाही; हे असे विशिष्ट नियम आहेत जे व्हॅल्यू आणि रेफरन्स प्रत्यक्षात कसे वागतात हे शिकण्याऐवजी योगायोगाने चालणारा कोड लिहून भाषा शिकलेल्या लोकांना अडखळवतात. कामावर ते महत्त्वाचे ठरतात, कारण त्यापैकी प्रत्येक ठिकाणी कोड कोणताही एरर न देता चालतो आणि तरीही चुकीचे काम करतो.",
          "recommendation": "या क्रमाने तीन गोष्टींपासून सुरुवात करा: == तुलना करण्यापूर्वी टाइप का बदलतो आणि === का बदलत नाही, एखादी अॅरे किंवा ऑब्जेक्ट नवीन व्हेरिएबलला असाइन केल्यावर व्हॅल्यूऐवजी रेफरन्स का कॉपी होतो, आणि var कसे हॉइस्ट होऊन undefined ने इनिशियलाइझ होते, तर let आणि const त्यांचे डिक्लेरेशन चालेपर्यंत टेम्पोरल डेड झोनमध्ये का राहतात. MDN चे JavaScript मार्गदर्शक या तिन्ही गोष्टी चालवून पाहता येतील अशा उदाहरणांसह समजावते."
        },
        "intermediate": {
          "name": "मध्यम",
          "desc": "तुम्ही रोजचा अॅप्लिकेशन कोड सहज हाताळता — फंक्शन्स, अॅरे मेथड्स, सरळ कंट्रोल फ्लो — आणि नेहमीच्या फीचरच्या कामात तुमचा वेग कमी होणार नाही. येथून प्रगत पातळीपर्यंतचे अंतर बहुतांशी JavaScript चे स्कोपिंग आणि टायमिंगचे नियम एकमेकांशी जुळतात तेव्हा काय होते यात आहे: लूपच्या कॉलबॅकमध्ये पकडलेले var सर्व कॉलबॅकना तीच अंतिम व्हॅल्यू वाचून दाखवते, मेथड ऑब्जेक्टपासून वेगळी केल्यावर this आपोआप त्या ऑब्जेक्टकडे निर्देश करणे थांबवतो, आणि डीप वाटणारी पण फक्त एकच पातळी कॉपी करणारी स्प्रेड कॉपी. असे बग झटपट वाचून पाहताना सुटून जातात आणि फक्त विशिष्ट रनटाइम परिस्थितीतच समोर येतात.",
          "recommendation": "कॉल करताना स्कोप आणि this प्रत्यक्षात कसे निश्चित होतात यावर लक्ष केंद्रित करा, व्याख्या करताना नव्हे: var वापरणारा for लूप प्रत्येक कॉलबॅकला तीच अंतिम काउंटर व्हॅल्यू का देतो आणि let का देत नाही, this हे फंक्शन कुठे लिहिले आहे यावरून नव्हे तर ते कसे कॉल केले जाते यावरून कसे ठरते, आणि स्प्रेड किंवा Object.assign ऑब्जेक्टची फक्त वरची पातळीच का कॉपी करतात. त्यानंतर इव्हेंट लूप समजून घ्या, कारण प्रॉमिसेस वेगवेगळे आधीच माहीत असलेल्या लोकांना तोच अडखळवतो."
        },
        "advanced": {
          "name": "प्रगत",
          "desc": "बहुतेक नोकरीच्या जाहिराती \"मजबूत JavaScript\" म्हणजे जे सांगतात ती हीच पातळी आहे. तुम्ही filter/map/reduce ची साखळी वाचता आणि मूळ अॅरे न बदलता ती नेमके काय परत करेल हे सांगू शकता, सिंक्रोनस console.log नेहमी मायक्रोटास्कच्या आधी येतो आणि मायक्रोटास्क नेहमी setTimeout च्या आधी येतो हे तुम्हाला माहीत आहे, आणि Promise.all कोणतेही एक प्रॉमिस रिजेक्ट होताच रिजेक्ट होतो, उरलेल्यांची वाट पाहत नाही हे जाणून तुम्ही तो वापरता. या पातळीला सर्वोच्च पातळीपासून वेगळे करते ते कामाची प्रोटोटाइप आणि ऑब्जेक्ट-मॉडेलची बाजू: प्रोटोटाइप चेन वारशाने आलेली मेथड hasOwnProperty च्या तुलनेत कशी शोधते आणि प्रायव्हेट क्लास फील्ड प्रत्यक्षात काय लपवते.",
          "recommendation": "इतर कोडही ज्या स्थितीला स्पर्श करतो तिचे संरक्षण करणाऱ्या भागांकडे वळा: JavaScript ची प्रोटोटाइप चेन इन्स्टन्सवर नसलेल्या मेथडचा शोध कसा सोडवते, क्लासची प्रायव्हेट #fields बाहेरील प्रवेशापासून प्रत्यक्षात काय लपवतात, आणि JSON.stringify साध्या ऑब्जेक्टमध्ये आणि अॅरेमध्ये undefined व फंक्शन्सना वेगळ्या प्रकारे कसे हाताळतो. या दोन्हींसाठी इव्हेंट लूप आणि प्रोटोटाइप चेन यावरील MDN चे साहित्य हे स्वाभाविक पुढचे ठिकाण आहे."
        },
        "expert": {
          "name": "तज्ज्ञ",
          "desc": "तुम्ही प्रत्येक विभागात अव्वल गुण मिळवले — मूळ सिंटॅक्स, टाइप्स आणि कोअर्शन; फंक्शन्स, स्कोप, क्लोजर्स आणि this; ऑब्जेक्ट्स, अॅरे आणि डेटा स्ट्रक्चर्स; आणि अॅसिंक, इव्हेंट लूप, प्रोटोटाइप आणि आयडिअम्स. प्रत्यक्षात याचा अर्थ असा की तुम्हाला कोणाचेही अनोळखी फंक्शन दिले तरी ते जे परत करते ते का परत करते हे तुम्ही समजावू शकता, केवळ सिंटॅक्स काय करायला सांगतो हे नव्हे, आणि हे अधिक कठीण व अधिक मौल्यवान कौशल्य आहे. या पातळीवर भाषा स्वतः क्वचितच मर्यादा ठरते; मर्यादा सहसा अॅसिंक कंट्रोल फ्लो किंवा त्याखालील डेटाचे स्वरूप असते.",
          "recommendation": "आता फायदा डिझाइन आणि निदानात आहे: Promise.all आणि Promise.race मधील रेस कंडिशनबद्दल त्यांच्या व्याख्या घोकण्याऐवजी विचार करणे, खासगी स्थितीसाठी क्लोजर कधी योग्य साधन आहे आणि क्लासचे प्रायव्हेट फील्ड कधी, हे निवडणे, आणि मायक्रोटास्क विरुद्ध मॅक्रोटास्क क्रमाचा बग क्विझमध्ये नव्हे तर प्रोडक्शन लॉगमध्ये वाचणे. जर एखाद्या भूमिकेसाठी तुमचे स्क्रीनिंग होत असेल, तर JavaScript च्या फीचर्सची नावे सांगण्याऐवजी तुम्हाला सापडलेल्या टायमिंग बगचे वर्णन करा — जुना क्लोजर व्हेरिएबल किंवा क्रमाबाहेर चाललेला अॅसिंक कॉलबॅक — कारण त्यातून फक्त शब्दसंग्रह नव्हे तर तर्क दिसतो."
        }
      },
      "questions": [
        {
          "question": "console.log(x);\nvar x = 5;\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "5"
            },
            {
              "icon": "",
              "label": "ReferenceError: x is not defined"
            },
            {
              "icon": "",
              "label": "undefined"
            },
            {
              "icon": "",
              "label": "null"
            }
          ]
        },
        {
          "question": "console.log(y);\nlet y = 5;\nकाय होते?",
          "options": [
            {
              "icon": "",
              "label": "ते ReferenceError फेकते"
            },
            {
              "icon": "",
              "label": "ते undefined प्रिंट करते"
            },
            {
              "icon": "",
              "label": "ते 5 प्रिंट करते"
            },
            {
              "icon": "",
              "label": "ते SyntaxError फेकते"
            }
          ]
        },
        {
          "question": "const arr = [1, 2, 3];\narr.push(4);\nconsole.log(arr.length);\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "4"
            },
            {
              "icon": "",
              "label": "ते TypeError थ्रो करते"
            },
            {
              "icon": "",
              "label": "3"
            },
            {
              "icon": "",
              "label": "undefined"
            }
          ]
        },
        {
          "question": "console.log('' == 0);\nconsole.log('' === 0);\nया दोन ओळी काय प्रिंट करतात?",
          "options": [
            {
              "icon": "",
              "label": "true, नंतर true"
            },
            {
              "icon": "",
              "label": "false, नंतर false"
            },
            {
              "icon": "",
              "label": "true, नंतर false"
            },
            {
              "icon": "",
              "label": "ते TypeError थ्रो करते"
            }
          ]
        },
        {
          "question": "console.log(NaN === NaN);\nconsole.log(Number.isNaN(NaN));\nया दोन ओळी काय प्रिंट करतात?",
          "options": [
            {
              "icon": "",
              "label": "true, नंतर true"
            },
            {
              "icon": "",
              "label": "ते TypeError थ्रो करते"
            },
            {
              "icon": "",
              "label": "false, नंतर false"
            },
            {
              "icon": "",
              "label": "false, नंतर true"
            }
          ]
        },
        {
          "question": "console.log(typeof null);\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "\"null\""
            },
            {
              "icon": "",
              "label": "\"object\""
            },
            {
              "icon": "",
              "label": "\"undefined\""
            },
            {
              "icon": "",
              "label": "\"boolean\""
            }
          ]
        },
        {
          "question": "खालीलपैकी कोणते if अटीमध्ये वापरल्यास सत्य मानले जाते?",
          "options": [
            {
              "icon": "",
              "label": "0"
            },
            {
              "icon": "",
              "label": "\"\" (रिकामी स्ट्रिंग)"
            },
            {
              "icon": "",
              "label": "null"
            },
            {
              "icon": "",
              "label": "\"0\" (शून्य स्ट्रिंग)"
            }
          ]
        },
        {
          "question": "foo();\nfunction foo() { console.log('a'); }\nbar();\nvar bar = function() { console.log('b'); };\nकाय होते?",
          "options": [
            {
              "icon": "",
              "label": "दोन्ही कॉल प्रिंट करतात: \"a\" आणि नंतर \"b\""
            },
            {
              "icon": "",
              "label": "foo() \"a\" प्रिंट करते; bar() TypeError फेकते"
            },
            {
              "icon": "",
              "label": "foo() आणि bar() दोन्ही ReferenceError फेकतात"
            },
            {
              "icon": "",
              "label": "foo() ReferenceError फेकते; bar() \"b\" प्रिंट करते"
            }
          ]
        },
        {
          "question": "function makeCounter() {\n  let count = 0;\n  return function() { count++; return count; };\n}\nconst counter = makeCounter();\nconsole.log(counter());\nconsole.log(counter());\nया दोन ओळी काय प्रिंट करतात?",
          "options": [
            {
              "icon": "",
              "label": "1 नंतर 1"
            },
            {
              "icon": "",
              "label": "NaN नंतर NaN"
            },
            {
              "icon": "",
              "label": "undefined नंतर undefined"
            },
            {
              "icon": "",
              "label": "1 नंतर 2"
            }
          ]
        },
        {
          "question": "for (var i = 0; i < 3; i++) {\n  setTimeout(() => console.log(i), 0);\n}\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "0, 1, 2"
            },
            {
              "icon": "",
              "label": "3, 3, 3"
            },
            {
              "icon": "",
              "label": "ते ReferenceError फेकते"
            },
            {
              "icon": "",
              "label": "undefined, undefined, undefined"
            }
          ]
        },
        {
          "question": "for (let i = 0; i < 3; i++) {\n  setTimeout(() => console.log(i), 0);\n}\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "3, 3, 3"
            },
            {
              "icon": "",
              "label": "ते ReferenceError फेकते"
            },
            {
              "icon": "",
              "label": "undefined, undefined, undefined"
            },
            {
              "icon": "",
              "label": "0, 1, 2"
            }
          ]
        },
        {
          "question": "function greet() { return `Hi, ${this.name}`; }\nconst person = { name: 'Ana' };\nconsole.log(greet.call(person));\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "\"Hi, Ana\""
            },
            {
              "icon": "",
              "label": "\"Hi, undefined\""
            },
            {
              "icon": "",
              "label": "ते TypeError थ्रो करते"
            },
            {
              "icon": "",
              "label": "\"Hi, ${this.name}\""
            }
          ]
        },
        {
          "question": "const timer = {\n  seconds: 0,\n  start: function() {\n    setInterval(() => { this.seconds++; }, 1000);\n  },\n};\nयेथे setInterval मध्ये function() { this.seconds++ } ऐवजी लोक अॅरो फंक्शन का पसंत करतात?",
          "options": [
            {
              "icon": "",
              "label": "अॅरो फंक्शन्स start चा this वापरतात, जो timer आहे"
            },
            {
              "icon": "",
              "label": "अॅरो फंक्शन्स नेहमीच्या फंक्शन्सपेक्षा वेगाने चालतात"
            },
            {
              "icon": "",
              "label": "अॅरो फंक्शन्स this ला ग्लोबल ऑब्जेक्टशी बांधतात"
            },
            {
              "icon": "",
              "label": "अॅरो फंक्शन्स this ला ग्लोबल व्हेरिएबल बनवतात"
            }
          ]
        },
        {
          "question": "function multiply(a, b) { return a * b; }\nconst double = multiply.bind(null, 2);\nconsole.log(double(5));\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "5"
            },
            {
              "icon": "",
              "label": "10"
            },
            {
              "icon": "",
              "label": "NaN"
            },
            {
              "icon": "",
              "label": "7"
            }
          ]
        },
        {
          "question": "function outer() {\n  let x = 10;\n  function inner() {\n    let x = 20;\n    console.log(x);\n  }\n  inner();\n  console.log(x);\n}\nouter();\nदोन console.log कॉल्स काय प्रिंट करतात?",
          "options": [
            {
              "icon": "",
              "label": "20 नंतर 20"
            },
            {
              "icon": "",
              "label": "20 नंतर 10"
            },
            {
              "icon": "",
              "label": "10 नंतर 10"
            },
            {
              "icon": "",
              "label": "ते SyntaxError फेकते"
            }
          ]
        },
        {
          "question": "const a = [1, 2, 3];\nconst b = a;\nb.push(4);\nconsole.log(a.length);\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "3"
            },
            {
              "icon": "",
              "label": "undefined"
            },
            {
              "icon": "",
              "label": "ते TypeError थ्रो करते"
            },
            {
              "icon": "",
              "label": "4"
            }
          ]
        },
        {
          "question": "const original = { name: 'Ana', tags: ['x', 'y'] };\nconst copy = { ...original };\ncopy.name = 'Bea';\ncopy.tags.push('z');\nconsole.log(original.name, original.tags.length);\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "'Ana' 2"
            },
            {
              "icon": "",
              "label": "'Ana' 3"
            },
            {
              "icon": "",
              "label": "'Bea' 3"
            },
            {
              "icon": "",
              "label": "'Bea' 2"
            }
          ]
        },
        {
          "question": "const { a: x = 10, b: y = 20 } = { a: 5 };\nconsole.log(x, y);\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "undefined undefined"
            },
            {
              "icon": "",
              "label": "5 undefined"
            },
            {
              "icon": "",
              "label": "10 20"
            },
            {
              "icon": "",
              "label": "5 20"
            }
          ]
        },
        {
          "question": "const [first, ...rest] = [1, 2, 3, 4];\nconsole.log(rest);\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "[1, 2, 3, 4]"
            },
            {
              "icon": "",
              "label": "[2, 3, 4]"
            },
            {
              "icon": "",
              "label": "2"
            },
            {
              "icon": "",
              "label": "[1]"
            }
          ]
        },
        {
          "question": "const nums = [10, 1, 2];\nnums.sort();\nconsole.log(nums);\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "[1, 2, 10]"
            },
            {
              "icon": "",
              "label": "[10, 1, 2]"
            },
            {
              "icon": "",
              "label": "[1, 10, 2]"
            },
            {
              "icon": "",
              "label": "[2, 1, 10]"
            }
          ]
        },
        {
          "question": "const user = { profile: { age: 0 } };\nconsole.log(user.profile?.age ?? 'unknown');\nconsole.log(user.address?.city ?? 'unknown');\nया दोन ओळी काय प्रिंट करतात?",
          "options": [
            {
              "icon": "",
              "label": "'unknown' नंतर 'unknown'"
            },
            {
              "icon": "",
              "label": "0 नंतर 'unknown'"
            },
            {
              "icon": "",
              "label": "0 नंतर undefined"
            },
            {
              "icon": "",
              "label": "'unknown' नंतर 0"
            }
          ]
        },
        {
          "question": "const obj = { a: undefined, b: function(){}, c: NaN, d: [undefined, function(){}, 1] };\nconsole.log(JSON.stringify(obj));\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "'{\"a\":null,\"b\":null,\"c\":null,\"d\":[null,null,1]}'"
            },
            {
              "icon": "",
              "label": "'{\"c\":NaN,\"d\":[1]}'"
            },
            {
              "icon": "",
              "label": "'{\"c\":null,\"d\":[null,null,1]}'"
            },
            {
              "icon": "",
              "label": "ते TypeError थ्रो करते"
            }
          ]
        },
        {
          "question": "console.log('1');\nsetTimeout(() => console.log('2'), 0);\nPromise.resolve().then(() => console.log('3'));\nconsole.log('4');\nहे कोणत्या क्रमाने प्रिंट होतात?",
          "options": [
            {
              "icon": "",
              "label": "1, 2, 3, 4"
            },
            {
              "icon": "",
              "label": "1, 4, 2, 3"
            },
            {
              "icon": "",
              "label": "1, 4, 3, 2"
            },
            {
              "icon": "",
              "label": "1, 3, 4, 2"
            }
          ]
        },
        {
          "question": "async function foo() {\n  console.log('a');\n  await null;\n  console.log('b');\n}\nconsole.log('start');\nfoo();\nconsole.log('end');\nहे कोणत्या क्रमाने प्रिंट होतात?",
          "options": [
            {
              "icon": "",
              "label": "start, a, end, b"
            },
            {
              "icon": "",
              "label": "start, a, b, end"
            },
            {
              "icon": "",
              "label": "start, end, a, b"
            },
            {
              "icon": "",
              "label": "a, start, end, b"
            }
          ]
        },
        {
          "question": "Promise.all([\n  Promise.resolve(1),\n  Promise.reject('err'),\n  Promise.resolve(3),\n]).then(r => console.log('ok', r)).catch(e => console.log('fail', e));\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "'fail err'"
            },
            {
              "icon": "",
              "label": "'ok' [1, 3]"
            },
            {
              "icon": "",
              "label": "'ok' [1, undefined, 3]"
            },
            {
              "icon": "",
              "label": "ते फेकते, आणि कोणताही हँडलर चालत नाही"
            }
          ]
        },
        {
          "question": "const fast = new Promise(res => setTimeout(() => res('fast'), 10));\nconst slow = new Promise(res => setTimeout(() => res('slow'), 100));\nPromise.race([fast, slow]).then(v => console.log(v));\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "'slow'"
            },
            {
              "icon": "",
              "label": "['fast', 'slow']"
            },
            {
              "icon": "",
              "label": "'fast'"
            },
            {
              "icon": "",
              "label": "ते TypeError थ्रो करते"
            }
          ]
        },
        {
          "question": "function Animal(name) { this.name = name; }\nAnimal.prototype.speak = function() { return `${this.name} makes a sound`; };\nconst dog = new Animal('Rex');\nconsole.log(dog.speak());\nconsole.log(dog.hasOwnProperty('speak'));\nया दोन ओळी काय प्रिंट करतात?",
          "options": [
            {
              "icon": "",
              "label": "'Rex makes a sound' नंतर true"
            },
            {
              "icon": "",
              "label": "undefined नंतर false"
            },
            {
              "icon": "",
              "label": "ते TypeError थ्रो करते"
            },
            {
              "icon": "",
              "label": "'Rex makes a sound' नंतर false"
            }
          ]
        },
        {
          "question": "class Counter {\n  #count = 0;\n  increment() { this.#count++; return this.#count; }\n}\nconst c = new Counter();\nconsole.log(c.increment());\nconsole.log(c.count);\nया दोन ओळी काय प्रिंट करतात?",
          "options": [
            {
              "icon": "",
              "label": "1 नंतर undefined"
            },
            {
              "icon": "",
              "label": "1 नंतर 0"
            },
            {
              "icon": "",
              "label": "1 नंतर 1"
            },
            {
              "icon": "",
              "label": "ते SyntaxError फेकते"
            }
          ]
        },
        {
          "question": "const items = ['a', 'b'];\nconst label = `Items: ${items.length > 0 ? items.join(', ') : 'none'}`;\nconsole.log(label);\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "'Items: ${items.length > 0 ? items.join(\\', \\') : \\'none\\'}'"
            },
            {
              "icon": "",
              "label": "'Items: none'"
            },
            {
              "icon": "",
              "label": "'Items: a, b'"
            },
            {
              "icon": "",
              "label": "ते SyntaxError फेकते"
            }
          ]
        },
        {
          "question": "const nums = [1, 2, 3, 4, 5];\nconst result = nums.filter(n => n % 2 === 0).map(n => n * 10).reduce((sum, n) => sum + n, 0);\nconsole.log(result, nums);\nहे काय प्रिंट करते?",
          "options": [
            {
              "icon": "",
              "label": "60 [1, 2, 3, 4, 5]"
            },
            {
              "icon": "",
              "label": "60 [2, 4, 20, 40]"
            },
            {
              "icon": "",
              "label": "150 [1, 2, 3, 4, 5]"
            },
            {
              "icon": "",
              "label": "60 [20, 40]"
            }
          ]
        }
      ],
      "optionOrderVersion": "7335aa056fc9d33a"
    }
  },
  "testNames": {
    "javascript-test": "JavaScript चाचणी"
  }
}
