diff --git a/1-js/01-getting-started/1-intro/article.md b/1-js/01-getting-started/1-intro/article.md
index 2f4f518f3e..b0a892e4d7 100644
--- a/1-js/01-getting-started/1-intro/article.md
+++ b/1-js/01-getting-started/1-intro/article.md
@@ -1,72 +1,111 @@
-# An Introduction to JavaScript
+# JavaScriptga Kirish
-Let's see what's so special about JavaScript, what we can achieve with it, and what other technologies play well with it.
+Keling, JavaScript nimasi bilan o'ziga xosligini, u bilan nimalarga erishishimiz mumkinligini va u bilan boshqa texnologiyalar qanday birga ishlashini ko'rib chiqamiz.
-## What is JavaScript?
+## JavaScript o'zi nima?
-*JavaScript* was initially created to "make web pages alive".
+Dastlab, JavaScript "web sahifalarni jonli qilish" maqsadida yaratilgan edi.
-The programs in this language are called *scripts*. They can be written right in a web page's HTML and run automatically as the page loads.
+Bu tilda yozilgan dasturlar skriptlar deb ataladi. Ular web sahifaning HTML qismida to'g'ridan to'gri yozilishi va sahifa yuklanishi bilan avtomatik ravishda ishga tushirilishi mumkin.
-Scripts are provided and executed as plain text. They don't need special preparation or compilation to run.
+Skriptlar oddiy matn ko'rinishida beriladi va ko'rinadi. Ular ishlashi uchun maxsus tayyorgarlik
+yoki jamlash talab qilmaydi.
-In this aspect, JavaScript is very different from another language called [Java](https://en.wikipedia.org/wiki/Java_(programming_language)).
+Bu jihati bilan JavaScript boshqa [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) deb atalgan dasturlash tilidan keskin farq qiladi.
-```smart header="Why is it called JavaScript?"
-When JavaScript was created, it initially had another name: "LiveScript". But Java was very popular at that time, so it was decided that positioning a new language as a "younger brother" of Java would help.
+```smart header="Nima uchun JavaScript deb nomlanadi?"
+JavaScript yaratilganda uning dastlabki nomi "LiveScript" edi. Lekin, o'sha paytda Java juda
+mashxurligi sababli yangi dasturlash tilini Javaning yosh ukasi sifatida tanishtirish
+yordam beradi deb qaror qilingan.
-But as it evolved, JavaScript became a fully independent language with its own specification called [ECMAScript](http://en.wikipedia.org/wiki/ECMAScript), and now it has no relation to Java at all.
+Lekin, JavaScript rivojlangani sari [ECMAScript](http://en.wikipedia.org/wiki/ECMAScript) deb atalgan o'ziga xosligiga ega to'liq mustaqil til bo'ldi va hozir Java bilan umuman bog'liqlik jihati yo'q.
```
-Today, JavaScript can execute not only in the browser, but also on the server, or actually on any device that has a special program called [the JavaScript engine](https://en.wikipedia.org/wiki/JavaScript_engine).
+Bugun, JavaScript nafaqat brauzerda balki serverda ham yoki [JavaScript engine](https://en.wikipedia.org/wiki/JavaScript_engine) deb atalgan maxsus dasturga ega har qanday qurilmada ishlay oladi.
-The browser has an embedded engine sometimes called a "JavaScript virtual machine".
+Brauzerning o'zida o'rnatilgan engine mavjud. Ba'zida u "JavaScript virtual machine" deb ham ataladi.
-Different engines have different "codenames". For example:
+Turli enginelarning turli "kod nomlanishlari" mavjud. Masalan:
-- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- in Chrome, Opera and Edge.
-- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- in Firefox.
-- ...There are other codenames like "Chakra" for IE, "JavaScriptCore", "Nitro" and "SquirrelFish" for Safari, etc.
+- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- Chrome, Opera va Edge brauzerlari uchun.
+- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- in Firefox brauzeri uchun.
+- ...Yana IE uchun "Chakra", Safari uchun "JavaScriptCore", "Nitro" va "SquirrelFish" deb
+nomlangan va boshqa shu kabi kod nomlari mavjud.
-The terms above are good to remember because they are used in developer articles on the internet. We'll use them too. For instance, if "a feature X is supported by V8", then it probably works in Chrome, Opera and Edge.
+Yuqoridagi terminlar eslab qolishga oson, chunki ulardan internetdagi dasturlashga oid
+maqolalarda keng foydalaniladi. Biz ham ulardan foydalanamiz. Misol uchun, agar "X xususiyat V8
+tomonidan qo'llana olsa", demak u Chrome, Opera va Edge brauzerlarida ishlay oladi.
-```smart header="How do engines work?"
+```smart header="Engine lar qanday ishlaydi?"
-Engines are complicated. But the basics are easy.
+Engine lar aslida murakkab. Lekin asoslari ancha oson.
+1. Engine (agar brauzerga o'rnatilgan bo'lsa) skriptlarni o'qiydi (tahlil qiladi).
+2. Keyin skriptni mashina kodiga aylantiradi.
+3. So'ngra mashina kodi ancha tez ishlaydi.
1. The engine (embedded if it's a browser) reads ("parses") the script.
2. Then it converts ("compiles") the script to machine code.
3. And then the machine code runs, pretty fast.
-The engine applies optimizations at each step of the process. It even watches the compiled script as it runs, analyzes the data that flows through it, and further optimizes the machine code based on that knowledge.
+Engine jarayonning har bir bosqichida optimallashtirishlarni amalga oshiradi. U xatto jamlangan
+skriptni ishlashi davomida kuzatadi, u orqali borayotgan ma'lumotni taxlil qiladi va shu bilimga
+asoslangan mashina kodini yanada optimizatsiya qiladi.
```
-## What can in-browser JavaScript do?
+## Ichki-brauzer JavaScript nimalar qila oladi?
+Zamonaviy JacaScript "xavsiz" dasturlash tilidir. U xotira yoki CPU ga kam darajali kirish
+ta'minlamaydi, chunki u dastlab uni talab qilmaydigan brauzerlar uchun yaratilgandi.
Modern JavaScript is a "safe" programming language. It does not provide low-level access to memory or the CPU, because it was initially created for browsers which do not require it.
-JavaScript's capabilities greatly depend on the environment it's running in. For instance, [Node.js](https://wikipedia.org/wiki/Node.js) supports functions that allow JavaScript to read/write arbitrary files, perform network requests, etc.
+JavaScriptning qobiliyatlari u ishlab turgan muhitga katta bog'liq. Misol uchun, [Node.js](https://wikipedia.org/wiki/Node.js) JavaScript ga katta hajmdagi fayllarni o'qish/yozish ga yordam beradigan funksiyalarni
+qo'llab quvvatlaydi, tizim so'rovlarini amalga oshiradi va hokazo.
-In-browser JavaScript can do everything related to webpage manipulation, interaction with the user, and the webserver.
+Ichki-brauzer JavaScript web sahifalarni boshqarish, foydalanuvchi bilan aloqa qilish va web
+server bilan bog'liq hamma narsani qila oladi.
-For instance, in-browser JavaScript is able to:
+Misol uchun, ichki-brauzer JavaScript qodir:
-- Add new HTML to the page, change the existing content, modify styles.
-- React to user actions, run on mouse clicks, pointer movements, key presses.
-- Send requests over the network to remote servers, download and upload files (so-called [AJAX](https://en.wikipedia.org/wiki/Ajax_(programming)) and [COMET](https://en.wikipedia.org/wiki/Comet_(programming)) technologies).
-- Get and set cookies, ask questions to the visitor, show messages.
-- Remember the data on the client-side ("local storage").
+- Sahifaga yangi HTML qo'shish, mavjud kontentni o'zgartirish, dizaynni o'zgartirishga.
+- Foydalanuvchi harakatlariga reaksiya bildirish, sichqoncha bosilganda, kursor harakatlanganda va klaviatura bosilganda ma'lum harakatlarni amalga oshirishga.
+- Uzoq serverlarga tizim orqali so'rovlar yuborish, yuklab olish va yuklashga ([AJAX](https://en.wikipedia.org/wiki/Ajax_(programming)) va [COMET](https://en.wikipedia.org/wiki/Comet_(programming)) deb nomlanadigan texnologiyalar).
+- Kokilar olish va o'rnatish, tashrif buyuruvchidan savollar so'rash, habarlar ko'rsatishga.
+- Mijoz tomonda (ya'ni mahalliy xotirada) ma'lumotlarni saqlab qolishga.
-## What CAN'T in-browser JavaScript do?
+## Ichki-brauzer JavaScript nimalar qila olmaydi?
-JavaScript's abilities in the browser are limited to protect the user's safety. The aim is to prevent an evil webpage from accessing private information or harming the user's data.
+Foydalanuvchining xavfsizligini himoya qilish maqsadida JavaScriptning brauzer dagi
+imkoniyatlari cheklangan. Bundan maqsad yomon web sahifalarning maxfiy ma'lumotlarga kirishini
+yoki foydalanuvchining ma'lumotlariga zarar yetkazishini oldini olishdir.
-Examples of such restrictions include:
+Bunday cheklovlarga misollar:
-- JavaScript on a webpage may not read/write arbitrary files on the hard disk, copy them or execute programs. It has no direct access to OS functions.
+- Web sahifada JavaScript qattiq diskdagi katta hajmli fayllarni o'qishi, ularni nusxalashi
+ yoki dasturlarni ishlatishi mumkin emas. U Operatsion Tizim funksiyalariga to'g'ridan to'gri
+ kira olmaydi.
- Modern browsers allow it to work with files, but the access is limited and only provided if the user does certain actions, like "dropping" a file into a browser window or selecting it via an `` tag.
+ Zamonaviy brauzerlar unga fayllar bilan birga ishlash imkonini beradi, lekin kirish cheklangan va
+ va faqat agar foydalanuvchi brauzer oynasiga fayli tashlash yoki uni `` tegi orqali
+ tanlash kabi ma'lum harakatlarni bajarganda ruxsat beriladi.
+ Kamera/mikrofon va boshqa qurilmalar bilan bog'lanishning yo'llari mavjud, lekin ular foydalanuvchidan
+ ruxsat talab qiladi. Shuning uchun JavaScript yoqilgan sahifa web-kamerani yashirincha yoqishi,
+ atrofni kuzatishi va [NSA](https://en.wikipedia.org/wiki/National_Security_Agency) (Milliy Xavfsizlik Agentligi)ga ma'ulomot jo'natishi mumkin emas.
+- Turli yorlig' yoki oynalar umumiy olib qaraganda bir-biri haqida hech narsa bilishmaydi. Ba'zida
+esa bilishi mumkin, misol uchun bir oyna JavaScriptdan boshqa birini ochish uchun foydalansa.
+Lekin xatto bu holatda ham, agar turli sayt(domen, protokol yoki port)lardan bo'lsa
+bir sahifadagi JavaScript boshqasiga kira olmaydi.
+
+ Bu "Same Origin Policy" ("Bir xil kelib chiqish siyosati") deb nomlanadi.Buni hal qilish uchun ikkala sahifa ham ma'lumotlar almashinuviga rozi bo'lishi va uni boshqaradigan maxsus JavaScript kodini o'z ichiga olishi kerak. Buni qo'llanmada ko'rib chiqamiz.
+
+ Bu cheklov ham foydalanuvchining xavfsizligi uchun. Foydalanuvchi ochgan `http://birorsayt.com`
+ sahifasi, masalan, `http://gmail.com` URL manzili bilan boshqa brauzer yorlig‘iga kira olmasligi
+ va u yerdan ma’lumotlarni o‘g‘irlamasligi kerak.
+- JavaScript tarmoq orqali joriy sahifa kelgan server bilan osongina bog'lanishi mumkin. Ammo uning boshqa saytlardan/domenlardan ma'lumotlarni olish qobiliyati zaif. Mumkin bo'lsa-da, bu uzoq tomondan aniq kelishuvni (HTTP sarlavhalarida ifodalangan) talab qiladi. Yana bir bor, bu xavfsizlik chegarasidir.
+
+
+
+JavaScript brauzerdan tashqarida, masalan, serverda ishlatilsa, bunday cheklovlar mavjud bo'lmaydi. Zamonaviy brauzerlar kengaytirilgan ruxsatnomalarni so'rashi mumkin bo'lgan plagin/kengaytmalarga ham ruxsat beradi.
There are ways to interact with the camera/microphone and other devices, but they require a user's explicit permission. So a JavaScript-enabled page may not sneakily enable a web-camera, observe the surroundings and send the information to the [NSA](https://en.wikipedia.org/wiki/National_Security_Agency).
- Different tabs/windows generally do not know about each other. Sometimes they do, for example when one window uses JavaScript to open the other one. But even in this case, JavaScript from one page may not access the other page if they come from different sites (from a different domain, protocol or port).
@@ -79,33 +118,43 @@ Examples of such restrictions include:
Such limitations do not exist if JavaScript is used outside of the browser, for example on a server. Modern browsers also allow plugins/extensions which may ask for extended permissions.
-## What makes JavaScript unique?
+## JavaScript nimasi bilan alohida ajralib turadi?
-There are at least *three* great things about JavaScript:
+JavaScriptning kamida 3 ta kuchli jihatlari mavjud.
```compare
-+ Full integration with HTML/CSS.
-+ Simple things are done simply.
-+ Supported by all major browsers and enabled by default.
++ HTML/CSS bilan to'liq bilashuv.
++ Oson narsalar osongina bajariladi.
++ Barcha asosiy brauzerlar tomonidan qo'llab-quvvatlanadi va doimiy yoqilgan bo'ladi.
```
-JavaScript is the only browser technology that combines these three things.
+JavaScript bu uch narsani birlashtirgan yagona brauzer texnologiyasidir.
-That's what makes JavaScript unique. That's why it's the most widespread tool for creating browser interfaces.
+Shu bilan JavaScript alohida ajralib turadi. Shuning uchun u brauzer interfeyslarini yaratish uchun eng keng tarqalgan vositadir.
+Shuningdek, JavaScript serverlar, mobil ilovalar va boshqalarni yaratishga ham imkon beradi.
That said, JavaScript can be used to create servers, mobile applications, etc.
-## Languages "over" JavaScript
+## JavaScript "ustidan" tillar
-The syntax of JavaScript does not suit everyone's needs. Different people want different features.
+JavaScript sintaksisi hammaning ham ehtiyojlariga mos kelavermaydi. Turli odamlar turli xil xususiyatlarni xohlashadi.
-That's to be expected, because projects and requirements are different for everyone.
+Shunday qilib, yaqinda ko'plab yangi tillar paydo bo'ldi, ular brauzerda ishga tushishidan oldin JavaScript-ga *ko'chiriladi* (aylantiriladi).
+Zamonaviy vositalar ko'chirilishni juda tez va shaffof qiladi, va bu dasturchilarga boshqa tilda kodlash va uni avtomatik ravishda aylantirish imkonini beradi.
So, recently a plethora of new languages appeared, which are *transpiled* (converted) to JavaScript before they run in the browser.
-Modern tools make the transpilation very fast and transparent, actually allowing developers to code in another language and auto-converting it "under the hood".
+Bunday tillarga misollar:
+
+- [CoffeeScript](http://coffeescript.org/) JavaScript uchun "sytactic sugar"(ya'ni uni oson o'qish va ifodalash xususiyatini qo'shadi). U qisqaroq sintaksisni taqdim etadi, bu bizga aniqroq kod yozish imkonini beradi. Odatda, bu Ruby dasturchilariga yoqadi.
+- [TypeScript](http://www.typescriptlang.org/) murakkab tizimlarni ishlab chiqish va qo'llab-quvvatlashni soddalashtirish uchun "ma'lumotlarni qat'iy tartibda yozish" xusuiyatini qo'shishga qaratilgan. U Microsoft tomonidan ishlab chiqilgan.
+- [Flow](http://flow.org/) ham ma'lumotlarni yozish xususiyatini qo'shadi, lekin boshqacha tarzda. U Facebook tomonidan ishlab chiqilgan.
+- [Dart](https://www.dartlang.org/) mustaqil til boʻlib, brauzerdan tashqari muhitlarda (masalan, mobil ilovalar) ishlaydigan, lekin JavaScript-ga ham koʻchirilishi mumkin bo'lgan o'z engine ga ega. U Google tomonidan ishlab chiqilgan.
+- [Brython](https://brython.info/) JavaScriptga uchun Python-transpiler bo'lib, JavaScriptni ishlatmasdan sof Pythonda ilovalar yozish imkonini beradi.
+- [Kotlin](https://kotlinlang.org/docs/reference/js-overview.html) zamonaviy, ixcham va xavfsiz dasturlash tili bo'lib, u brauzer yoki Node-ni nishonga olishi mumkin.
-Examples of such languages:
+Yana boshqalar ham bor. Albatta, biz transpilyatsiya qilingan tillardan birini ishlatsak ham, nima qilayotganimizni tushunishimiz uchun JavaScript-ni ham bilishimiz kerak.
+## Xulosa
- [CoffeeScript](https://coffeescript.org/) is "syntactic sugar" for JavaScript. It introduces shorter syntax, allowing us to write clearer and more precise code. Usually, Ruby devs like it.
- [TypeScript](https://www.typescriptlang.org/) is concentrated on adding "strict data typing" to simplify the development and support of complex systems. It is developed by Microsoft.
- [Flow](https://flow.org/) also adds data typing, but in a different way. Developed by Facebook.
@@ -115,8 +164,6 @@ Examples of such languages:
There are more. Of course, even if we use one of these transpiled languages, we should also know JavaScript to really understand what we're doing.
-## Summary
-
-- JavaScript was initially created as a browser-only language, but it is now used in many other environments as well.
-- Today, JavaScript has a unique position as the most widely-adopted browser language, fully integrated with HTML/CSS.
-- There are many languages that get "transpiled" to JavaScript and provide certain features. It is recommended to take a look at them, at least briefly, after mastering JavaScript.
+- JavaScript dastlab faqat brauzer tili sifatida yaratilgan edi, ammo hozir u ko'plab boshqa muhitlarda ham qo'llaniladi.
+- Bugungi kunda JavaScript HTML/CSS bilan toʻliq birlashgan eng keng tarqalgan brauzer tili sifatida oʻziga xos mavqega ega.
+- JavaScriptga "ko'chiriladigan" va ma'lum xususiyatlarni ta'minlaydigan ko'plab tillar mavjud. JavaScript-ni o'zlashtirgandan so'ng, ularni hech bo'lmaganda qisqacha ko'rib chiqish tavsiya etiladi.
diff --git a/1-js/01-getting-started/2-manuals-specifications/article.md b/1-js/01-getting-started/2-manuals-specifications/article.md
index 3fa2433363..7b80def434 100644
--- a/1-js/01-getting-started/2-manuals-specifications/article.md
+++ b/1-js/01-getting-started/2-manuals-specifications/article.md
@@ -1,34 +1,44 @@
-# Manuals and specifications
+# Qo'llanma va Ko'rsatmalar
+Bu kitob qisqa-o'quv qo'llanma hisoblanadi. Bu kitobning maqsadi sizga tilni asta-sekin o'rgatishdir. Lekin, siz boshlang'ich narsalar bilan tanishib bo'lganingizdan kegin, sizga boshqa manbalar kerak bo'ladi.
+## ko'rsatma
+[The ECMA-262 specification](https://www.ecma-international.org/publications/standards/Ecma-262.htm) Javascript haqida eng chuqur, batafsil va rasmiy ma'lumotlarni o'z ichiga oladi. U tilni yoritib, izohlab beradi.
This book is a *tutorial*. It aims to help you gradually learn the language. But once you're familiar with the basics, you'll need other resources.
-## Specification
+Ammo u rasmiy bo'lishi bilan bir qatorda, dastlab uni tushunish qiyin. Shuning uchun, agar sizga til tafsilotlari haqida eng ishonchli ma'lumotlar manbasi kerak bo'lsa, bu ko'rsatmalar siz uchun to'g'ri joy.Ammo bu kundalik foydalanishda ishlatilmaydi.
-[The ECMA-262 specification](https://www.ecma-international.org/publications/standards/Ecma-262.htm) contains the most in-depth, detailed and formalized information about JavaScript. It defines the language.
-But being that formalized, it's difficult to understand at first. So if you need the most trustworthy source of information about the language details, the specification is the right place. But it's not for everyday use.
+Har yili yangi ko’rsatmalar varianti(versiyasi) chiqariladi. Ushbu versiyalarning orasida eng so'nggi qo'llanmani htt dan topsa bo'ladi.
A new specification version is released every year. Between these releases, the latest specification draft is at .
-To read about new bleeding-edge features, including those that are "almost standard" (so-called "stage 3"), see proposals at .
-Also, if you're developing for the browser, then there are other specifications covered in the [second part](info:browser-environment) of the tutorial.
+Eng so'ngi xususiyatlar jumladan "almost standard" "Deyarli standart" ("3-bosqich" deb ataladigan) haqida bilish uchun https://github.com/tc39/proposals>. saytidagi takliflarni ko’rib chiqing.
-## Manuals
+Bundan tashqari, agar siz brauzer bo'yicha ishlayotkan bo'lsangiz, qo'llanmaning ikkinchi qismida boshqa ko'rsatmalar ham mavjud [second part](info:browser-environment).
-- **MDN (Mozilla) JavaScript Reference** is the main manual with examples and other information. It's great to get in-depth information about individual language functions, methods etc.
+## Yo'riqnoma
+- **MDN (Mozilla) JavaScript Reference** misollar va boshqa maʼlumotlarga ega bo'lgan asosiy qoʻllanmadir.Tilning individual funktsiyalari, usullari va boshqalar haqida chuqur ma'lumot olish bu - juda yaxshi.
+
+ Buni sahifasidan topsangiz bo'ladi.
You can find it at .
Although, it's often best to use an internet search instead. Just use "MDN [term]" in the query, e.g. to search for the `parseInt` function.
-## Compatibility tables
+Lekin internetdan izlanish ko'pincha eng yaxshisi yo'l hisonblanadi. So'rovda shunchaki "MDN [term]" foydalaning. Masalan, `parseInt` funksiyasini qidirish uchun dan foydalaning.
+## Salohiyat jadvallari
+
+JavaScript rivojlanayotgan til bo'lib, yangi xususiyatlar muntazam qo'shiladi.
-JavaScript is a developing language, new features get added regularly.
+Ularning brauzer va boshqa enjinlar(engine) ga asoslangan qo'llovini ko'rish uchun quyidagilarni ko'rib chiqing:
-To see their support among browser-based and other engines, see:
+- - har bir xususiyat uchun qo'llab-quvvatlash jadvallari, masalan: Qaysi enjin zamonaviy kriptografiya funktsiyalarini qo'llab-quvvatlashini ko'rish uchun: .
+- - til xususiyatlariga va ularni qo'llaydigan yoki qo'llamaydigan enjin(engine) larga ega jadval.
+Bu resurslarning barchasi real hayotni rivojlantirishda foydali, chunki ular til tafsilotlari, ularni qo'llab-quvvatlash va boshqalar haqida qimmatli ma'lumotlarni o'z ichiga oladi.
+ Iltimos, sizga biror dastur to'grisida batafsil ma'lumot kerak bo'lip qolishi mumkin bo'lgan vaziyatlar uchun ularni hammasini (yoki shu betni) eslab qoling.
- - per-feature tables of support, e.g. to see which engines support modern cryptography functions: .
- - a table with language features and engines that support those or don't support.
diff --git a/1-js/01-getting-started/3-code-editors/article.md b/1-js/01-getting-started/3-code-editors/article.md
index ca61947412..360421dc25 100644
--- a/1-js/01-getting-started/3-code-editors/article.md
+++ b/1-js/01-getting-started/3-code-editors/article.md
@@ -1,46 +1,57 @@
-# Code editors
+# Kod muharrirlari
-A code editor is the place where programmers spend most of their time.
+Kod muharrirlari bu - dasturchilar eng ko’p vaqtini o’tqazadigan joy.
-There are two main types of code editors: IDEs and lightweight editors. Many people use one tool of each type.
+Kod muharrirlari ikki xil bo’ladi: IDEs va yengil tahrirlovchi. Ko’p odamlar har bir turidagi bittadan vositadan foydalanadi.
## IDE
-The term [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) (Integrated Development Environment) refers to a powerful editor with many features that usually operates on a "whole project." As the name suggests, it's not just an editor, but a full-scale "development environment."
+ [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) (Integrated Development Environment) atamasi odatda “butun loyihada” ishlaydigan ko’p xususiyatli tahrirlash ma’nosini anglatadi. Nomidan ko’rinib turibdiki, bu faqatkina muharrir emas, balki to’liq miqyosdagi “dasturlash muhiti” hamdir.
-An IDE loads the project (which can be many files), allows navigation between files, provides autocompletion based on the whole project (not just the open file), and integrates with a version management system (like [git](https://git-scm.com/)), a testing environment, and other "project-level" stuff.
-If you haven't selected an IDE yet, consider the following options:
+ IDE bu loyihalarni yuklaydi ( bular bir nechata fayl bo’lishi mumkin), fayllar o’rtasida yo’nalishni aniqlashga imkon beradi(navigatsiya), butun loyihaga asoslangan holda avtomatik tarzda ma’lumotlarni kiritish bilan ta’minlaydi ( bu faqatkina ochiq fayl emas) va versiyalarni boshqaruv tizimi (masalan [git](https://git-scm.com/)), a sinov muhiti va boshqa “loyiha darajasi” dagi narsalar bilan qo’shilib ishlaydi.
- [Visual Studio Code](https://code.visualstudio.com/) (cross-platform, free).
- [WebStorm](https://www.jetbrains.com/webstorm/) (cross-platform, paid).
-For Windows, there's also "Visual Studio", not to be confused with "Visual Studio Code". "Visual Studio" is a paid and mighty Windows-only editor, well-suited for the .NET platform. It's also good at JavaScript. There's also a free version [Visual Studio Community](https://www.visualstudio.com/vs/community/).
-Many IDEs are paid, but have a trial period. Their cost is usually negligible compared to a qualified developer's salary, so just choose the best one for you.
+ Agar siz hali IDE ni tanlamagan bo’lsangiz quyidagi tanlov(variant)larni ko’rib chiqing:
-## Lightweight editors
+- [Visual Studio Code](https://code.visualstudio.com/) (dastur bo’ylab, bepul).
+- [WebStorm](http://www.jetbrains.com/webstorm/) ( dastur bo’ylab, pullik).
-"Lightweight editors" are not as powerful as IDEs, but they're fast, elegant and simple.
+● Windowslar uchun yana “visual Studio” ham bor, lekin buni “visual studio Code” bilan adashtirib yubormaslik kerak. “ Visual studio” pullik va kuchli winows muharriri bo’lib, .NET dasturiga juda mos tushadi. U JavaScriptda ham yaxshi ishlaydi. Shuningdek uning bepul versiyasi ham mavjud [Visual Studio Community](https://www.visualstudio.com/vs/community/).
-They are mainly used to open and edit a file instantly.
+Ko’p IDElar pullik, lekin sinov muddati bor. Ularning narxi dasturchilarning maoshi bilan taqqoslaganda arzimas, shuning uchun o’zingizga eng zo’rini tanlang.
-The main difference between a "lightweight editor" and an "IDE" is that an IDE works on a project-level, so it loads much more data on start, analyzes the project structure if needed and so on. A lightweight editor is much faster if we need only one file.
+## Yengil muharrirlar
-In practice, lightweight editors may have a lot of plugins including directory-level syntax analyzers and autocompleters, so there's no strict border between a lightweight editor and an IDE.
+“Yengil muharrirlar” IDElardek kuchli emas, lekin ular tez, sodda va oddiy.
+Ular asosan fayllarni ochida va darhol tahrir qilishda ishlatiladi.
+
+“yengil tahrirlovchi” va “IDE” o’rtsidagi asosiy farq shundaki, IDE loyiha-darajasida ishlaydi, shuning uchun u ishga tushganda ko’proq ma’lumot yuklaydi,agar kerak bo’lsa, loyiha tuzilishini tahlil qiladi, va hokazo. Agar siz faqat bitta fayl bilan ishlashingiz kerak bo’lsa, yengil tahrirlovchi ancha tez.
There are many options, for instance:
- [Sublime Text](https://www.sublimetext.com/) (cross-platform, shareware).
- [Notepad++](https://notepad-plus-plus.org/) (Windows, free).
- [Vim](https://www.vim.org/) and [Emacs](https://www.gnu.org/software/emacs/) are also cool if you know how to use them.
-## Let's not argue
+Amalda, yengil tahrirlovchi juda ko’p pluginlari (dasturga ko'proq vazifa bajarishi uchun qo'shiladigan qo'shimcha dastur) bo’lishi mumkin, jumladan katalog darajasidagi sintaksis tahlilchilari va avtomatik tarzda ma’lumotlarni to’ldirish dasturlari. Shuning uchun, yengil tahrirlovchi va IDE o’rtasida yaqqol chegara yo’q.
+Quyidagi tanlov(variant)lar ko'rib chiqishingizga:
+
+- [Atom](https://atom.io/) (dastur bo'ylab, bepul).
+- [Sublime Text](http://www.sublimetext.com) (dastur bo'ylab, sinov versiya).
+- [Notepad++](https://notepad-plus-plus.org/) (Windows, bepul).
+- ● Agar foydalanishni bilsangiz .[Vim](http://www.vim.org/) va [Emacs](https://www.gnu.org/software/emacs/)lar ham ajoyib.
+
+## Keling tortishmaylik
-The editors in the lists above are those that either I or my friends whom I consider good developers have been using for a long time and are happy with.
+Yuqorida takidlab o’tilgan tahrirlovchilarni o'zini yaxshi dasturchi dep biladigan, men yoki mening do’stlarim uzoq vaqtlardan beri foydalanib kelishmoqda va bundan juda xursandmiz.
-There are other great editors in our big world. Please choose the one you like the most.
+Bizding bu katta dunyoda boshqa ajoyib tahrirlovchi dasturlar ham bor. Iltimos o’zingizga eng yoqqanini tanlang.
+Boshqa jihozlar kabi, tahrirlovchi dasturini tanlash ham shaxsiy hisoblanadi, va sizning proyektingiz, odatingiz va o'z xohishingizga bog’liq.
The choice of an editor, like any other tool, is individual and depends on your projects, habits, and personal preferences.
The author's personal opinion:
diff --git a/1-js/01-getting-started/4-devtools/article.md b/1-js/01-getting-started/4-devtools/article.md
index 50926d4f76..c4efc59734 100644
--- a/1-js/01-getting-started/4-devtools/article.md
+++ b/1-js/01-getting-started/4-devtools/article.md
@@ -1,63 +1,64 @@
-# Developer console
+# Dasturchi konsoli
-Code is prone to errors. You will quite likely make errors... Oh, what am I talking about? You are *absolutely* going to make errors, at least if you're a human, not a [robot](https://en.wikipedia.org/wiki/Bender_(Futurama)).
+Kodlarda xatoliklar ham bo'lish mumkin.Sizning yanglishishingiz ehtimoli ham anchagina. To'g'rirog'i, agr siz [robot] (https://en.wikipedia.org/wiki/Bender_(Futurama)) emas inson bo'lsangiz, albatta xatolar qilasiz.
-But in the browser, users don't see errors by default. So, if something goes wrong in the script, we won't see what's broken and can't fix it.
+Lekin brauzerda xatolarni foydalanuvchilar to'gridan to'g'ri ko'rishmnaydi. Shuning uchun scriptda biror narsa yanglish ketsa, biz nima buzilganligini ko'rmaymiz va uni tuzata olmaymiz.
-To see errors and get a lot of other useful information about scripts, "developer tools" have been embedded in browsers.
+Xatoliklarni ko'rish va scriptlar haqida boshqa ma'lumotlar olish uchun brauzerlarga "developer tools" (dasturchi vositalari) o'rnatilgan.
-Most developers lean towards Chrome or Firefox for development because those browsers have the best developer tools. Other browsers also provide developer tools, sometimes with special features, but are usually playing "catch-up" to Chrome or Firefox. So most developers have a "favorite" browser and switch to others if a problem is browser-specific.
+Ko'p dasturchilar loyihalash (dasturlash)da Chrome yoki Firefox suyanishadi, chunki ularda eng yaxshi dasturchi vositalari bor.Boshqa brauzerlar ham dasturlash vositasi bilan ta'minlay oladi, xatto ba'zida maxsus xususiyatlari ham mavjud, lekin ular Chrome yoki Firefoxga yeta olmaydi.Xullas, dasturchilarni ko'pining o'z "sevimli" brauzerlari bo'ladi va muammosi brauzeri bilan bog'liq bo'lgan holda boshqasiga o'tib ketadi.
-Developer tools are potent; they have many features. To start, we'll learn how to open them, look at errors, and run JavaScript commands.
+Dasturlash vositalari kuchli ta'sirli bo'lib, ularning xususiyatlari ko'p. Dastlab biz ularni qanday ochishni, xatolarni ko'rib chiqishni hamda JavaScriptda buyruqlarni boshqarishni o'rganib chiqamiz.
## Google Chrome
-Open the page [bug.html](bug.html).
+[bug.html](bug.html) sahifasini ochasiz.
-There's an error in the JavaScript code on it. It's hidden from a regular visitor's eyes, so let's open developer tools to see it.
+Bunda JavaScript kodida xatolik mavjud. Oddiy tashrif buyuruvchilar buni ko'rishmaydi, uni ko'rish uchun esa dasturchi vositalarini ochishimiz kerak bo'ladi.
-Press `key:F12` or, if you're on Mac, then `key:Cmd+Opt+J`.
+`key:F12` tugmasini bosing, yoki agar Mac da bo'lsangiz, u holda `key:Cmd+Opt+J`.
-The developer tools will open on the Console tab by default.
+Dasturchi vositalari kamchiliklar oynasini to'g'ridan to'g'ri ochib beradi.
-It looks somewhat like this:
+Quyidagiga o'xshash narsa paydo bo'ladi:

-The exact look of developer tools depends on your version of Chrome. It changes from time to time but should be similar.
+Dasturchi vositalarining aniq ko'rinishi sizdagi Chrome ning versiyasiga bog'iq. U vaqti-vaqti bilan o'zgarib turasa ham,, har safar ular bir-biriga o'xshash bo'ladi.
-- Here we can see the red-colored error message. In this case, the script contains an unknown "lalala" command.
-- On the right, there is a clickable link to the source `bug.html:12` with the line number where the error has occurred.
+- Buyerda biz qizil rangli xato habarni ko'rishimiz mumkin. Ushbu holatda, scriptda noma'lum "lalala" buyrug'i mavjud.
+- O'ng tomonda xato mavjud bo'lgan raqamlar qatori bilan `bug.html:12` manbasiga link mavjud.
-Below the error message, there is a blue `>` symbol. It marks a "command line" where we can type JavaScript commands. Press `key:Enter` to run them.
+Quyidagi xato habar hisoblanadi, va bu yerda ko'k belgi `>` bor. Bu biz JavaScript buyrug'larini berishimiz mumkin bo'lgan "buyrug'lar chizig'i" (command line)dir. uni ishga tushirish uchun `key:Enter` tugmasini bosing.
-Now we can see errors, and that's enough for a start. We'll come back to developer tools later and cover debugging more in-depth in the chapter .
+Endi xatoliklarni ko'rishimiz mumkin, va bu boshlanishiga yetarli .Biz dasturchi vositalariga yana qaytamiz va bo'limida dasturdagi xatoliklarni to'g'irlashni batafsilroq ko'rib chiqamiz.
-```smart header="Multi-line input"
-Usually, when we put a line of code into the console, and then press `key:Enter`, it executes.
+```smart header="ko'p qatorli kiritilgan ma'lumot" (Multi-line input)
+odatda biz bir qator kodlarni komputerga kiritib,`key:Enter` tugmasini bossak, u ishga tushadi.
-To insert multiple lines, press `key:Shift+Enter`. This way one can enter long fragments of JavaScript code.
+Ko'p qatorli kodlarni kiritish uchun `key:Shift+Enter` tugmasini bosasiz. Bu yo'l bilan siz JAvaScript kodining uzun bo'lak(fragment)larini ham kirita olasiz.
```
-## Firefox, Edge, and others
+## Firefox, Edge, va boshqalar
-Most other browsers use `key:F12` to open developer tools.
+Boshqa ko'plab brauzerlar dasturchi vositalarini topish uchun `key:F12` dan foydalanadi.
-The look & feel of them is quite similar. Once you know how to use one of these tools (you can start with Chrome), you can easily switch to another.
+Ularning ko'rinishi va xarakteristikasi juda o'xshash. Ushbu vositalarning bittasidan foydalanishni o'rganib olganingizdan kegin ( Chrome dan boshlashingiz ham mumkin), boshqasiga osongina o'zgartira olasiz.
## Safari
-Safari (Mac browser, not supported by Windows/Linux) is a little bit special here. We need to enable the "Develop menu" first.
+Safari (Mac brauzer uchun, Windows/Linux da ishlamaydi) bular ichida o'ziga xos. Biz birinchi bo'lib " dastur menyusi" (Develop menu)ni ishga tushurishimiz kerak.
-Open Preferences and go to the "Advanced" pane. There's a checkbox at the bottom:
+Afzalliklarni oching va "yetakchi" (Advanced) oynasiga o'ting. Bu yerda, pastki qismda tanlash oyasi ko'rinadi:

-Now `key:Cmd+Opt+C` can toggle the console. Also, note that the new top menu item named "Develop" has appeared. It has many commands and options.
+Xozir `key:Cmd+Opt+C` ketma-ketligi komputermni boshqa dasturga o'tkaza oladi. Shuningdek bizda koo'p buyruqli va tanlovli "dastur" (Develop) nomli yangi oyna ham paydo bo'ldi .
## Summary
-- Developer tools allow us to see errors, run commands, examine variables, and much more.
-- They can be opened with `key:F12` for most browsers on Windows. Chrome for Mac needs `key:Cmd+Opt+J`, Safari: `key:Cmd+Opt+C` (need to enable first).
+ -Dasturchi vositalari bizga xatolarni ko'rish, buyruqlarni boshqarish, o'zgarishlarni tekshirish hamda ko'plab boshqa narsalar qilsh imkoniyatini beradi.
-Now we have the environment ready. In the next section, we'll get down to JavaScript.
+- Windowsdagi ko'p bruzerlarda ular`key:F12` tugmasi bilan ochiladi .Mac dagi Chrome da dastlab `key:Cmd+Opt+J`, Safarida esa: `key:Cmd+Opt+C` bosilishi lozim bo'ladi.
+
+Endi bizda tayyor muhit bor.Keyingi qismda biz JavaScriptni boshlaymiz.
diff --git a/1-js/01-getting-started/index.md b/1-js/01-getting-started/index.md
index b327c78603..ff2f8271b4 100644
--- a/1-js/01-getting-started/index.md
+++ b/1-js/01-getting-started/index.md
@@ -1,3 +1,3 @@
-# An introduction
+# Kirish
-About the JavaScript language and the environment to develop with it.
+JavaScript tili va u bilan ishlab chiqiladigan muhit haqida.
\ No newline at end of file
diff --git a/1-js/02-first-steps/01-hello-world/1-hello-alert/index.html b/1-js/02-first-steps/01-hello-world/1-hello-alert/index.html
index ff1d871b08..404f211a90 100644
--- a/1-js/02-first-steps/01-hello-world/1-hello-alert/index.html
+++ b/1-js/02-first-steps/01-hello-world/1-hello-alert/index.html
@@ -4,7 +4,7 @@
diff --git a/1-js/02-first-steps/01-hello-world/1-hello-alert/solution.view/index.html b/1-js/02-first-steps/01-hello-world/1-hello-alert/solution.view/index.html
index 45e6744b3a..f8f400154f 100644
--- a/1-js/02-first-steps/01-hello-world/1-hello-alert/solution.view/index.html
+++ b/1-js/02-first-steps/01-hello-world/1-hello-alert/solution.view/index.html
@@ -4,7 +4,7 @@
diff --git a/1-js/02-first-steps/01-hello-world/article.md b/1-js/02-first-steps/01-hello-world/article.md
index 35f82bf5d7..07fb735e00 100644
--- a/1-js/02-first-steps/01-hello-world/article.md
+++ b/1-js/02-first-steps/01-hello-world/article.md
@@ -1,17 +1,17 @@
-# Hello, world!
+# Salom, dunyo!
-This part of the tutorial is about core JavaScript, the language itself.
+Qo'llanmaning bu qismi asosiy JavaScript, ya'ni tilning o'zi haqida.
-But we need a working environment to run our scripts and, since this book is online, the browser is a good choice. We'll keep the amount of browser-specific commands (like `alert`) to a minimum so that you don't spend time on them if you plan to concentrate on another environment (like Node.js). We'll focus on JavaScript in the browser in the [next part](/ui) of the tutorial.
+Ammo skriptlarimizni ishga tushirish uchun bizga ish muhiti kerak va bu kitob onlayn bo'lgani uchun brauzer eng yaxshi tanlovdir. Agar diqqatingizni boshqa muhitga (masalan, Node.js) qaratmoqchi bo‘lsangiz, ularga vaqt sarflamaslik uchun brauzerga oid buyruqlar miqdorini (masalan, "alert") minimal darajada ushlab turamiz. Biz qo'llanmaning [keyingi qismi](/ui) da e'tiborimizni brauzer ichidagi JavaScriptga qaratamiz.
-So first, let's see how we attach a script to a webpage. For server-side environments (like Node.js), you can execute the script with a command like `"node my.js"`.
+Shunday qilib, avval veb-sahifaga skriptni qanday biriktirishimizni ko'rib chiqamiz. Server tomonidagi muhitlar uchun (masalan, Node.js) skriptni `"node my.js"` kabi buyruq bilan bajarishingiz mumkin.
-## The "script" tag
+## "script" tegi
-JavaScript programs can be inserted almost anywhere into an HTML document using the `
*/!*
-