diff --git a/1-js/01-getting-started/1-intro/article.md b/1-js/01-getting-started/1-intro/article.md
index 2f4f518f3..61a3baf8e 100644
--- a/1-js/01-getting-started/1-intro/article.md
+++ b/1-js/01-getting-started/1-intro/article.md
@@ -1,72 +1,119 @@
-# An Introduction to JavaScript
+# জাভাস্ক্রিপ্ট পরিচিতি
+<<<<<<< HEAD
+চলুন দেখে নেওয়া যাক জাভাস্ক্রিপ্ট এর বিশেষ বিশেষ দিকগুলো, আমরা এটি দিয়ে কী করতে পারি, এবং অন্যান্য প্রযুক্তিগুলি যা এর সাথে ভালো কাজ করে।
+=======
Let's see what's so special about JavaScript, what we can achieve with it, and what other technologies play well with it.
+>>>>>>> d6e88647b42992f204f57401160ebae92b358c0d
-## What is JavaScript?
+## জাভাস্ক্রিপ্ট কী?
-*JavaScript* was initially created to "make web pages alive".
+শুরুতে *জাভাস্ক্রিপ্ট* তৈরি করা হয়েছিল "ওয়েব পেইজগুলি প্রাণবন্ত করতে"।
-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.
+এই ভাষায় প্রোগ্রামগুলিকে বলা হয় স্ক্রিপ্ট। এগুলি সরাসরি কোনও ওয়েব পেজের HTML এর ভিতরে লেখা হয় এবং পেজটি লোড হওয়ার সাথে সাথে স্বয়ংক্রিয়ভাবে চালু হয়ে যায়।
-Scripts are provided and executed as plain text. They don't need special preparation or compilation to run.
+স্ক্রিপ্টগুলি সাধারণ টেক্সট এর মতো সরবরাহ এবং এক্সিকিউট হয়। চালানোর জন্য তাদের বিশেষ প্রস্তুতি বা কম্পাইল করার প্রয়োজন নেই।
-In this aspect, JavaScript is very different from another language called [Java](https://en.wikipedia.org/wiki/Java_(programming_language)).
+এই দিক থেকে, জাভাস্ক্রিপ্ট অন্য একটি প্রোগ্রামিং ভাষা [জাভা](https://bn.wikipedia.org/wiki/Java_(programming_language) থেকে অনেকটাই আলাদা।
-```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="কেন এটিকে জাভাস্ক্রিপ বলা হয়?"
+যখন জাভাস্ক্রিপ্ট তৈরি করা হয়েছিল, তখন এটির আর একটি নাম ছিল: "লাইভ স্ক্রিপ্ট"। কিন্তু জাভা তখন খুব জনপ্রিয় ছিল, তাই সিদ্ধান্ত নেওয়া হয়েছিল যে জাভার একটি "ছোট ভাই" হিসাবে একটি নতুন ভাষার অবস্থান তৈরিতে সহায়তা করবে।
-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.
+তবে বিকশিত হওয়ার সাথে সাথে জাভাস্ক্রিপ্ট [একমা স্ক্রিপ্ট](http://bn.wikipedia.org/wiki/ECMAScript) নামক নিজস্ব স্পেসিফিকেশন সহকারে সম্পূর্ণ স্বাধীন প্রোগ্রামিং ভাষাতে পরিণত হয় এবং এখন জাভার সাথে এর কোনই সম্পর্ক নেই।
```
-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).
+বর্তমানে, জাভাস্ক্রিপ্ট শুধু ব্রাউজারেই নয়, বরং সার্ভারে বা [জাভাস্ক্রিপ্ট ইঞ্জিন](https://bn.wikipedia.org/wiki/JavaScript_engine) নামক একটি বিশেষ প্রোগ্রাম রয়েছে এমন যে কোনও যন্ত্রে কাজ করতে পারে।
-The browser has an embedded engine sometimes called a "JavaScript virtual machine".
+ব্রাউজারে "জাভাস্ক্রিপ্ট ভার্চুয়াল মেশিন" নামে পরিচিত একটি মেশিন সংযুক্ত থাকে।
-Different engines have different "codenames". For example:
+বিভিন্ন ইঞ্জিনের আলাদা আলাদা "কোডনাম" রয়েছে । উদাহরণ স্বরূপ:
+<<<<<<< HEAD
+<<<<<<< HEAD
+- [V8](https://bn.wikipedia.org/wiki/V8_(JavaScript_engine) -- ক্রোম এবং অপেরা
+- [স্পাইডার মাংকি](https://bn.wikipedia.org/wiki/SpiderMonkey) -- ফায়ারফক্স.
+- ...আরও অনেক কোডনাম রয়েছে যেমন ইন্টারনেট এক্সপ্লোরার এর বিভিন্ন ভার্সন এর জন্য "Trident" এবং "Chakra", মাইক্রোসফ্ট এজের জন্য "ChakraCore", সাফারির জন্য "Nitro" এবং "SquirrelFish" ইত্যাদি।
+=======
+- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- in Chrome and Opera.
+- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- in Firefox.
+- ...There are other codenames like "Chakra" for IE, "ChakraCore" for Microsoft Edge, "Nitro" and "SquirrelFish" for Safari, etc.
+>>>>>>> d6e88647b42992f204f57401160ebae92b358c0d
+
+উপরের টার্ম গুলি মনে রাখা ভাল, কারণ সেগুলি ইন্টারনেটে ডেভেলপার আর্টিকেলে ব্যবহৃত হয়। আমরাও সেগুলো ব্যবহার করব। উদাহরণস্বরূপ, যদি "একটি X ফিচার V8 এ সাপোর্ট করে", তবে সম্ভবত এটি ক্রোম এবং অপেরাতেও কাজ করে।
+=======
- [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.
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.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-```smart header="How do engines work?"
+```smart header="ইঞ্জিনগুলি কিভাবে কাজ করে?"
-Engines are complicated. But the basics are easy.
+ইঞ্জিনগুলি জটিল। তবে বেসিকগুলি সহজ
+<<<<<<< HEAD
+১. ইঞ্জিন (ব্রাউজারের সাথে সংযুক্ত থাকে) স্ক্রিপ্টটি পড়ে ("পার্স করে")।
+২. তারপরে এটি স্ক্রিপ্টটিকে মেশিনের ভাষায় রূপান্তর ("কম্পাইল") করে।
+৩. এবং তারপরে মেশিন খুব দ্রুত কোডটি চালায়
+=======
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.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-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.
+ইঞ্জিনটি এই প্রক্রিয়ার প্রতিটি ধাপে অপ্টিমাইজেশন করে। এমনকি এটি স্ক্রিপ্ট চলার সময়ও পর্যবেক্ষন করতে থাকে, এর মধ্য দিয়ে প্রবাহিত ডেটা বিশ্লেষণ করে এবং সেই ধারনার উপর ভিত্তি করে মেশিন কোড অপ্টিমাইজ করে।
```
-## What can in-browser JavaScript do?
+## জাভাস্ক্রিপ্ট ব্রাউজারে কী করতে পারে ?
+<<<<<<< HEAD
+আধুনিক জাভাস্ক্রিপ্ট একটি "নিরাপদ" প্রোগ্রামিং ভাষা। এটি মেমরি বা সিপিইউতে নিম্ন-স্তরের এক্সেস দেয় না, কারণ এটি প্রাথমিকভাবে ব্রাউজারগুলির জন্য তৈরি করা হয়েছিল যার এসব এক্সেস এর প্রয়োজন হত না।
+=======
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.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-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.
+জাভাস্ক্রিপ্টের সামর্থ যে এনভায়রনমেন্ট এ চলছে তার উপর অনেক বেশি নির্ভর করে। উদাহরণস্বরূপ, [Node.js](https://wikipedia.org/wiki/Node.js) এমন কিছু ফাংশন সমর্থন করে যা জাভাস্ক্রিপ্ট কে যেকোনো ফাইল পড়তে/এডিট করতে, নেটওয়ার্ক রিকুয়েস্ট ইত্যাদি করার সুবিধা দেয়।
-In-browser JavaScript can do everything related to webpage manipulation, interaction with the user, and the webserver.
+ব্রাউজারে জাভাস্ক্রিপ্ট ওয়েবপেইজ পরিবর্তন, ব্যবহারকারীর সাথে যোগাযোগ এবং ওয়েবসার্ভার সম্পর্কিত সব কিছুই করতে পারে।
-For instance, in-browser JavaScript is able to:
+উদাহরণস্বরূপ, ব্রাউজারে জাভাস্ক্রিপ্ট যা করতে সক্ষম:
-- 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").
+- ওয়েবপেজে নতুন HTML যুক্ত করা, পেইজ এর কন্টেন্ট পরিবর্তন করা, ডিজাইনে সংশোধন করা ।
+- ব্যবহারকারীর একশন, মাউসের ক্লিক, মাউস পয়েন্টার এর নড়াচড়া এবং কীবোর্ড এ কি চাপলে প্রতিক্রিয়া জানানো।
+- রিমোট সার্ভার এ রিকুয়েস্ট পাঠানো, ফাইল ডাউনলোড এবং আপলোড করা (উল্লেখযোগ্য [AJAX](https://bn.wikipedia.org/wiki/Ajax_(programming) এবং [COMET]() technologies).
+- কুকিজ আনা এবং সেট করা, ব্যবহারকারীদের কাছে প্রশ্ন জিজ্ঞাসা করা, ম্যাসেজ দেখানো।
+- ক্লায়েন্ট-সাইড ("লোকাল স্টোরেজ") এ ডেটা সংরক্ষণ করা।
-## What CAN'T in-browser JavaScript do?
+## জাভাস্ক্রিপ্ট ব্রাউজারে কী করতে পারে না?
+<<<<<<< HEAD
+ব্রাউজারে জাভাস্ক্রিপ্টের ক্ষমতাগুলি ব্যবহারকারীর সুরক্ষার জন্য সীমাবদ্ধ। উদ্দেশ্যটি হ'ল কোনও খারাপ ওয়েবপেজকে ব্যক্তিগত তথ্যে প্রবেশ করা বা ব্যবহারকারীর ডেটা ক্ষতিগ্রস্থ করা থেকে বিরত রাখা।
+=======
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.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
+
+এই জাতীয় বিধিনিষেধের উদাহরণগুলির মধ্যে রয়েছে:
+
+একটি ওয়েবপেজে জাভাস্ক্রিপ্ট হার্ড ডিস্কে যেকোনো ফাইল পড়তে / লিখতে, সেগুলি কপি করতে বা প্রোগ্রামগুলি চালাতে পারে না। এটির ওএস এর সিস্টেম ফাংশন গুলির সরাসরি এক্সেস নেই।
+
+ আধুনিক ব্রাউজারগুলি এটিকে ফাইল নিয়ে কাজ করার অনুমতি দেয়, তবে এর এক্সেস সীমাবদ্ধ এবং কেবলমাত্র যদি ব্যবহারকারী নির্দিষ্ট কিছু কাজ করেন যেমন ব্রাউজার উইন্ডোতে একটি ফাইল "ড্রপ" করা বা একটি "" `ট্যাগের মাধ্যমে ফাইল সিলেক্ট করা।
+
+<<<<<<< HEAD
+ ক্যামেরা / মাইক্রোফোন এবং অন্যান্য যন্ত্রগুলির সাথে ইন্টারঅ্যাক্ট করার উপায় রয়েছে তবে তাদের ব্যবহারকারীর সুস্পষ্ট অনুমতি প্রয়োজন। সুতরাং একটি জাভাস্ক্রিপ্ট-সক্ষম ওয়েবপেজ চাইলেই কোনও ওয়েব-ক্যামেরা চালু করতে পারে না, আশেপাশের কোন কিছু দেখতে পারে না এবং [NSA](https://bn.wikedia.org/wiki/National_Security_Agency) এর কাছে সেগুলি পাঠাতে পারে না।
-Examples of such restrictions include:
+- ভিন্ন ভিন্ন ট্যাব / উইন্ডো সাধারণত একে অপরের সম্পর্কে জানে না। কখনও কখনও তারা জানে, যেমন, যখন একটি উইন্ডো জাভাস্ক্রিপ্ট ব্যবহার করে আরেকটি উইন্ডো খুলে। তবে এই ক্ষেত্রেও, যদি ভিন্ন কোন সাইট থেকে (অন্য কোনও ডোমেন, প্রোটোকল বা পোর্ট থেকে) আসে তবে এক পেইজের জাভাস্ক্রিপ্ট অন্য পেইজের এক্সেস পায় না।
-- 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.
+ একে "same source policy" বলা হয়। এই কাজটি করার জন্য, _ উভয় পেজে _ অবশ্যই ডেটা আদান-প্রদান এর সাথে সম্মতি থাকতে হবে এবং একটি বিশেষ জাভাস্ক্রিপ্ট কোড থাকতে পারে যা এটি পরিচালনা করে। আমরা এগুলো টিউটোরিয়ালে আলোচনা করব।
- 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.
+ এই সীমাবদ্ধতাটিও ব্যবহারকারীর সুরক্ষার জন্য। এই সাইটটির `http: // anysite.com` একটি পেজে যা ব্যাবহারকারী খুলে রেখেছে অবশ্যই তা অন্য কোনো ট্যাবে খুলে রাখা সাইটে URL- `http: // gmail.com` প্রবেশ করতে এবং সেখান থেকে তথ্য চুরি করতে সক্ষম হবে না।
+- জাভাস্ক্রিপ্ট সহজেই ইন্টারনেট এর মাধ্যমে সার্ভারে যোগাযোগ করতে পারে যেখান থেকে বর্তমান পেজটি এসেছে। তবে অন্যান্য সাইট / ডোমেন থেকে ডেটা গ্রহণের ক্ষমতা এর নেই। যদিও এটি সম্ভব, তবে এর জন্যে রিমোট সার্ভার এর সাথে আলাদা চুক্তি (HTTP headers এ বর্ণনা করা হয়েছে) থাকতে হবে। এটিও একটি সুরক্ষা সীমাবদ্ধতা।
+
+
+
+জাভাস্ক্রিপ্ট যদি ব্রাউজারের বাইরে ব্যবহার করা হয় তবে এসব সীমাবদ্ধতা থাকে না, যেমন সার্ভার। আধুনিক ব্রাউজারগুলি প্লাগইন / এক্সটেনশন গুলিকে অতিরিক্ত পার্মিশন চেয়ে নিতে দেয়।
+=======
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).
@@ -78,34 +125,67 @@ 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.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-## What makes JavaScript unique?
+## কী জাভাস্ক্রিপ্টকে অতুলনীয় করে তোলে?
-There are at least *three* great things about JavaScript:
+জাভাস্ক্রিপ্ট সম্পর্কে কমপক্ষে _ তিনটি _ দুর্দান্ত জিনিস রয়েছে:
+<<<<<<< HEAD
+```তুলনা
++ HTML/CSS এর সাথে সম্পূর্ণ ইন্টিগ্রেশন।
++ সহজ জিনিস সহজভাবে করা হয়।
++ প্রত্যেকটা প্রধান ব্রাউজারেই স্বাভাবিক ভাবে চলে।
+=======
```compare
+ Full integration with HTML/CSS.
+ Simple things are done simply.
+ Supported by all major browsers and enabled by default.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
```
-JavaScript is the only browser technology that combines these three things.
-That's what makes JavaScript unique. That's why it's the most widespread tool for creating browser interfaces.
+জাভাস্ক্রিপ্ট একমাত্র ব্রাউজার প্রযুক্তি যা এই তিনটি জিনিসকে একত্রিত করে।
+<<<<<<< HEAD
+এটিই জাভাস্ক্রিপ্টকে অনন্য করে তোলে। এ কারণেই এটি ব্রাউজার ইন্টারফেস তৈরির জন্য সবচেয়ে জনপ্রিয় টুল।
+=======
That said, JavaScript can be used to create servers, mobile applications, etc.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-## Languages "over" JavaScript
+বলা হয়ে থাকে, জাভাস্ক্রিপ্ট দিয়ে সার্ভার, মোবাইল অ্যাপ্লিকেশন ইত্যাদি তৈরি করা যায়।
-The syntax of JavaScript does not suit everyone's needs. Different people want different features.
+## জাভাস্ক্রিপ্ট এর "উপর" প্রোগ্রামিং ভাষাগুলো
-That's to be expected, because projects and requirements are different for everyone.
+জাভাস্ক্রিপ্টের সিনট্যাক্স সবার প্রয়োজনের সাথে খাপ খায় না। বিভিন্ন লোক বিভিন্ন বৈশিষ্ট্য চায়।
+<<<<<<< HEAD
+এটাই অবশ্য স্বাভাবিক, কারণ প্রজেক্ট এবং প্রয়োজনীয়তা সবার জন্য আলাদা।
+=======
So, recently a plethora of new languages appeared, which are *transpiled* (converted) to JavaScript before they run in the browser.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-Modern tools make the transpilation very fast and transparent, actually allowing developers to code in another language and auto-converting it "under the hood".
+সুতরাং সম্প্রতি নতুন ভাষাগুলির আধিক্য উপস্থিত হয়েছে, যা ব্রাউজারে চালানোর আগে জাভাস্ক্রিপ্টে _ট্রান্সপাইল_ (রূপান্তরিত) হয়।
-Examples of such languages:
+আধুনিক টুলগুলি এই ট্রান্সপাইলেশনকে খুব দ্রুত এবং স্বচ্ছ করে তোলে, যা আসলে ডেভেলপার দের অন্য প্রোগ্রামিং ভাষায় কোড করার সুযোগ দেয় এবং এটিকে অভ্যন্তরে ("Under the hood") স্বয়ংক্রিয়ভাবে রূপান্তরিত করে।
+
+<<<<<<< HEAD
+এই জাতীয় প্রোগ্রামিং ভাষার উদাহরণ:
+
+<<<<<<< HEAD
+- [কফিস্ক্রিপ্ট](http://coffeescript.org/) জাভাস্ক্রিপ্টের জন্য একটি "সিনট্যাকটিক সুগার"। এটি সংক্ষিপ্ত সিনট্যাক্স নিয়ে আসে, আমাদের আরও পরিষ্কার এবং আরও সুনির্দিষ্ট কোড লেখার সুযোগ দেয়। সাধারণত, রুবি (একটি প্রোগ্রামিং ভাষা) ডেভেলপার রা এটি পছন্দ করে।
+- [টাইপস্ক্রিপ্ট](http://www.typescriptlang.org/) "স্ট্রিক্ট ডাটা টাইপিং" এ জোর দিয়েছিলো ডেভেলপমেন্ট ও জটিল সমস্যা গুলোকে সহজ করার জন্য। এটি মাইক্রোসফ্ট তৈরি করেছে।
+- [ফ্লো](http://flow.org/) ডাটা টাইপিং যুক্ত করে, তবে একটু অন্যভাবে। ফেইসবুক এটি তৈরি করেছে।
+- [ডার্ট](https://www.dartlang.org/) একটি স্বতন্ত্র প্রোগ্রামিং ভাষা যার নিজস্ব ইঞ্জিন রয়েছে যা ব্রাউজার ছাড়াও (মোবাইল অ্যাপ্লিকেশন হিসাবে) চালানো হয়, তবে এটি জাভাস্ক্রিপ্টে স্থানান্তরিত করা যায়। এটি গুগল তৈরী করছে।
+=======
+- [CoffeeScript](http://coffeescript.org/) is a "syntactic sugar" for JavaScript. It introduces shorter syntax, allowing us to write clearer and more precise code. Usually, Ruby devs like it.
+- [TypeScript](http://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](http://flow.org/) also adds data typing, but in a different way. Developed by Facebook.
+- [Dart](https://www.dartlang.org/) is a standalone language that has its own engine that runs in non-browser environments (like mobile apps), but also can be transpiled to JavaScript. Developed by Google.
+- [Brython](https://brython.info/) is a Python transpiler to JavaScript that allow to write application in pure Python without JavaScript.
+>>>>>>> d6e88647b42992f204f57401160ebae92b358c0d
+আরো অনেক আছে। যদিও আমরা যদি ট্রান্সপাইলড ল্যাঙ্গুয়েজ গুলির মধ্যে যেকোনো একটি ব্যবহার করি তবে আমরা কী করছি তা বুঝতে আমাদের জাভাস্ক্রিপ্ট জানা উচিত।
+=======
- [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.
@@ -114,9 +194,16 @@ Examples of such languages:
- [Kotlin](https://kotlinlang.org/docs/reference/js-overview.html) is a modern, concise and safe programming language that can target the browser or Node.
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.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-## Summary
+## সারাংশ
+<<<<<<< HEAD
+- জাভাস্ক্রিপ্ট প্রথমে শুধুমাত্র-ব্রাউজার ভাষা হিসাবে তৈরি করা হয়েছিল, তবে এখন এটি অন্যান্য অনেক জায়গাতেই ব্যবহৃত হয়।
+- বর্তমানে, জাভাস্ক্রিপ্ট HTML / CSS সম্পূর্ণ ইন্টিগ্রেশনের সাথে ব্রাউজারের বহুল প্রচারিত প্রোগ্রামিং ভাষা হিসাবে একটি বিশেষ অবস্থানে রয়েছে।
+- এমন অনেক প্রোগ্রামিং ভাষা রয়েছে যা জাভাস্ক্রিপ্টে "রূপান্তরিত" হয়ে যায় এবং নির্দিষ্ট বৈশিষ্ট্য সরবরাহ করে। জাভাস্ক্রিপ্টে দক্ষতা অর্জনের পরে কমপক্ষে সংক্ষেপে এগুলি একবার দেখার পরামর্শ দেওয়া হয়।
+=======
- 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.
+>>>>>>> d6e88647b42992f204f57401160ebae92b358c0d
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 3fa243336..6f4e21346 100644
--- a/1-js/01-getting-started/2-manuals-specifications/article.md
+++ b/1-js/01-getting-started/2-manuals-specifications/article.md
@@ -1,37 +1,69 @@
-# Manuals and specifications
+# ম্যানুয়াল ও স্পেসিফিকেশন
+<<<<<<< HEAD
+এই বইটি একটি _টিউটরিয়াল।_ এর উদ্দেশ্য হল আপনাকে আস্তে আস্তে ভাষাটি শিখতে সাহায্য করা। কিন্তু আপনি ব্যাসিকগুলো একবার মোটামুটি শিখে গেলে অন্য আরো সোর্সের প্রয়োজন পড়বে।
+=======
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.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-## Specification
+## স্পেসিফিকেশন
-[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.
+[ECMA-262 স্পেসিফিকেশনে](https://www.ecma-international.org/publications/standards/Ecma-262.htm) জাভাস্ক্রিপ্টের সবচেয়ে গভীর, বিস্তারিত ও আনুষ্ঠানিক তথ্য আছে। এটাই ভাষাটিকে সংজ্ঞায়িত করে।
-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.
+কিন্তু এত বেশি আনুষ্ঠানিক হওয়ার কারণে প্রথমদিকে এটি বুঝতে বেশ অসুবিধা হয়। তাই আপনার যদি ভাষার বিস্তারিত ব্যাপারগুলোতে সবচেয়ে বিশ্বস্ত সোর্সের প্রয়োজন হয়, তাহলে এই স্পেসিফিকেশনটি দেখতে হবে। কিন্তু এটি দৈনন্দিন ব্যবহারের জন্য নয়।
+<<<<<<< HEAD
+প্রতি বছর একটি করে নতুন স্পেসিফিকেশন ভার্সন রিলিজ হয়। মধ্যবর্তী রিলিজসমূহ, সর্বশেষ স্পেসিফিকেশনের খসড়া এখানে পাওয়া যাবে: .
+=======
A new specification version is released every year. Between these releases, the latest specification draft is at .
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-To read about new bleeding-edge features, including those that are "almost standard" (so-called "stage 3"), see proposals at .
+"প্রায় স্ট্যান্ডার্ড" (তথাকথিত "স্টেজ-৩") ফিচারগুলোসহ একেবারে নতুন ও প্রান্তীয় ফিচারগুলোর ব্যাপারে পড়তে এখানকার প্রস্তাবগুলো দেখুন:
+<<<<<<< HEAD
+আর আপনি যদি ব্রাউজারের জন্য ডেভেলাপ করেন তাহলে এ বিষয়ে বিস্তারিত ভাবে এই বইয়ের [দ্বিতীয় অংশে](info:browser-environment) আলোচনা করা হয়েছে।
+=======
Also, if you're developing for the browser, then there are other specifications covered in the [second part](info:browser-environment) of the tutorial.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-## Manuals
+## ম্যানুয়াল
+<<<<<<< HEAD
+- **MDN (Mozilla) JavaScript Reference** হচ্ছে উদাহরণ ও অন্যান্য তথ্যসহ একটি ম্যানুয়াল। ভাষার নির্দিষ্ট কোন ফাংশন, মেথড ইত্যাদির ব্যাপারে বিস্তারিত তথ্যের জন্য এটি খুবই ভাল।
+
+ পাওয়া যাবে এখানে: .
+
+ যদিও বেশিরভাগ সময় ইন্টারনেটে সার্চ করলেই ভাল হয়। সার্চ করার সময় "MDN [term]" ব্যবহার করুন। যেমন `parseInt` ফাংশনের জন্য সার্চ করতে
+
+
+* **MSDN** – জাভাস্ক্রিপ্টসহ অনেক তথ্যসমৃদ্ধ মাইক্রোসফ্টের ম্যানুয়াল (ওরা অনেকসময় বলে JScript)। যদি নির্দিষ্টভাবে ইন্টারনেট এক্সপ্লোরারের ব্যাপারে কিছু লাগে তাহলে ঐখানে যাওয়াই ভাল: .
+
+ আর "RegExp MSDN" অথবা "RegExp MSDN jscript" আকারেও ইন্টারনেট সার্চ করতে পারেন।
+=======
- **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.
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.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
+
+## কম্প্যাটিবিলিটি টেবিল
-## Compatibility tables
+জাভাস্ক্রিপ্ট একটি উন্নয়ণশীল ভাষা, নতুন নতুন ফিচার নিয়মিত যোগ করা হয়।
-JavaScript is a developing language, new features get added regularly.
+ব্রাউজার ভিত্তিক বা অন্যান্য ইন্জিনগুলোতে এগুলোর সাপোর্ট দেখুন:
-To see their support among browser-based and other engines, see:
+<<<<<<< HEAD
+- - ফিচারভিত্তিক সাপোর্টের টেবিল। যেমন- কোন ইন্জিনগুলো অধুনিক ক্রিপ্টোগ্রাফি ফাংশনগুলো সাপোর্ট করে দেখতে: .
+- - ভাষার ফিচারসমূহ ও কোন ইন্জিনগুলো সেগুলো সাপোর্ট করে বা করে না তার উপর একটি টেবিল।
+এই সবগুলো রিসোর্সই সত্যিকারের ডেভেলাপমেন্টে কাজে লাগে। যেহেতু এগুলো ভাষার বিস্তারিত, সেগুলোর সাপোর্ট ইত্যাদি ব্যাপারে মূল্যবান তথ্য ধারণ করে।
+=======
- - 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.
All these resources are useful in real-life development, as they contain valuable information about language details, their support, etc.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-Please remember them (or this page) for the cases when you need in-depth information about a particular feature.
+দয়া করে এগুলো মনে রাখবেন (অথবা এই পেজটি)। যখন কোন একটি নির্দিষ্ট ফিচারের ব্যাপারে বিস্তারিত তথ্য লাগবে তখন এগুলো কাজে আসবে।
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 ca6194741..8dfa635ad 100644
--- a/1-js/01-getting-started/3-code-editors/article.md
+++ b/1-js/01-getting-started/3-code-editors/article.md
@@ -1,49 +1,68 @@
-# Code editors
+# কোড এডিটরঃ
-A code editor is the place where programmers spend most of their time.
+একজন প্রোগ্রামার তার জীবনের বড় একটা সময় কাঁটায় কোড এডিটরের সাথে।
-There are two main types of code editors: IDEs and lightweight editors. Many people use one tool of each type.
+প্রধানত দুই প্রকারের কোড এডিটর রয়েছে। IDE ও লাইটওয়েট এডিটর সমূহ। প্রায় অনেকেই একটি IDE ও একটি লাইটওয়েট এডিটর ব্যবহার করে থাকেন।
## 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) বলতে মুলত বুঝায় যে - (একটি সমন্বিত ডেভেলপমেন্ট পরিবেশ) যার সাথে একটি পাওয়ারফুল এডিটরও থাকে, যাতে অনেক অনেক কার্যকারী ফিচারসমূহ থাকে। যেগুলো একজন ডেভেলপারের জন্য একটি পূর্ণ প্রোজেক্ট সম্পূর্ণ করতে অনেক সহায়তা করে। নাম থেকে যা বুঝা যায় তা হল এটি শুধুমাত্র একটি এডিটর নয়, বরং একটি প্রোজেক্ট করার জন্য স্বয়ংসম্পূর্ণ ডেভেলপমেন্ট পরিবেশ।
-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.
+একটি IDE একটি সম্পূর্ণ প্রোজেক্ট কে লোড করতে পারে, যাতে অনেক অনেক ফাইল থাকতে পারে। ইহা ফাইল গুলো নেভিগেট করতে সাহায্য করবে এবং অটোকমপ্লিট সাজেসন দিবে পুরো প্রোজেক্টের উপর ধারণা করে, শুধু মাত্র ওপেন করা ফাইলের উপর ধারণা করে নয়। এটি একটি ভার্শন কন্ট্রোল সিস্টেমের (যেমনঃ [গিট](https://git-scm.com/) সাথে সমন্বিত ভাবে কাজ করবে। এতে একটি টেস্টিং পরিবেশ থাকবে। এছাড়াও একটি প্রোজেক্ট সম্পূর্ণ করতে প্রয়োজনীয় অন্যান্য সুবিধা সমূহ থাকবে।
-If you haven't selected an IDE yet, consider the following options:
+আপনি যদি এখনো কোন IDE নির্বাচন না করে থাকেন, তবে নিচের যেকোন একটি ব্যবহার করে দেখতে পারেনঃ
+<<<<<<< HEAD
+- [Visual Studio Code](https://code.visualstudio.com/) (এটি ক্রস প্ল্যাটফর্ম ও সম্পূর্ণ ফ্রি)
+- [WebStorm](http://www.jetbrains.com/webstorm/) (এটিও ক্রস প্ল্যাটফর্ম তবে পেইড)
+=======
- [Visual Studio Code](https://code.visualstudio.com/) (cross-platform, free).
- [WebStorm](https://www.jetbrains.com/webstorm/) (cross-platform, paid).
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-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/).
+উইন্ডোজ ব্যবহার কারীদের জন্য "Visual Studio" নামের আরও একটি IDE রয়েছে, তবে "Visual Studio Code" র সাথে কনফিউজ হওয়ার দরকার নাই। এটি সম্পূর্ণ আলাদা একটি IDE, যদিও দুইটাই মাইক্রোসফট এর ডেভেলপ করা। "Visual Studio" একটি পেইড ও উইন্ডোজ ফ্রেন্ডলি এডিটর, এটি সবচেয়ে ভালো কাজ করে ডট নেট প্ল্যাটফর্মে। এটি জাভাস্ক্রিপ্ট এর জন্যও ভালো কাজ করে। একটি ফ্রি কমিউনিটি ভার্শনও আছে [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.
+বেশির ভাগ IDE সমূহ পেইড, তবে তাদের প্রায় সবার ট্রায়াল ভার্শন রয়েছে। এসবের মূল্যও একজন কোয়ালিফাইড ডেভেলপারের বেতনের তুলনায় খুবই নগণ্য। সুতরাং আপনার যেটা ভালো লাগে সেটা পছন্দ করতে পারেন।
-## Lightweight editors
+## লাইটওয়েট এডিটর সমূহ
-"Lightweight editors" are not as powerful as IDEs, but they're fast, elegant and simple.
+"লাইটওয়েট এডিটর সমূহ" IDE গুলোর মত এতটা পাওয়ারফুল নয়। তবে অনেক ফাস্ট, এলিগেনট ও সিম্পল হয়ে থাকে।
-They are mainly used to open and edit a file instantly.
+প্রধানত দ্রুত কোন ফাইল ওপেন ও এডিট করার ক্ষেত্রে এসব এডিটর ব্যবহার করা হয়ে থাকে।
-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.
+লাইটওয়েট এডিটর সমূহের সাথে IDE গুলোর প্রধান পার্থক্য হল যে, IDE গুলো ব্যবহার করা হয় প্রোজেক্ট লেভেলের কাজে। সুতরাং এগুলো শুরুতেই অনেক বেশি ডাটা লোড করে, প্রোজেক্টের গঠন পর্যবেক্ষণ করে ইত্যাদি। এদিক থেকে লাইটওয়েট এডিটর অনেক বেশি দ্রুততর হয়ে থাকে শুধুমাত্র একটি ফাইলে কাজ করার ক্ষেত্রে।
-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.
+কাজের ক্ষেত্রে, লাইটওয়েট এডিটর সমূহের জন্য অনেক অনেক প্লাগিনস রয়েছে - ডিরেক্টরি লেভেল সিনট্যাক্স এনালাইজার থেকে শুরু করে অটোকমপ্লিট সহ নানান কাজ খুব সহজেই করা যায় এসব প্লাগিনস ব্যবহার করে। সুতরাং একটি লাইটওয়েট এডিটর ও IDE এর মধ্যে তেমন বিশাল কোন সীমারেখা নাই।
+<<<<<<< HEAD
+নিচের লিংক গুলো আপনার মনোযোগ আকর্ষণ করবেঃ
+
+- [Atom](https://atom.io/) (এটি ক্রস প্ল্যাটফর্ম ও সম্পূর্ণ ফ্রি)।
+- [Visual Studio Code](https://code.visualstudio.com/) (এটি ক্রস প্ল্যাটফর্ম ও সম্পূর্ণ ফ্রি)।
+- [Sublime Text](http://www.sublimetext.com) (এটি ক্রস প্ল্যাটফর্ম ও কিছু ক্ষেত্রে ফ্রি)।
+- [Notepad++](https://notepad-plus-plus.org/) (উইন্ডোজ, ফ্রি)।
+- [Vim](http://www.vim.org/) এবং [Emacs](https://www.gnu.org/software/emacs/) ও অসাধারণ এডিটর, যদি আপনি এদের সঠিক ব্যবহার করতে জানেন।
+=======
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.
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
-## Let's not argue
+## চলুন ঝগড়া বাদ দিয়ে কিছু কথা বলিঃ
-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.
+উপরে উল্লেখিত এডিটর সমূহ আমি অথবা আমার বন্ধু যাদের আমি ভালো ডেভেলপার মনে করি, তারা অনেক দিন যাবৎ বেশ স্বাচ্ছন্দ্যে ব্যবহার করছে।
-There are other great editors in our big world. Please choose the one you like the most.
+আমাদের এই বৃহৎ পৃথিবীতে আরও অনেক ভালো ভালো এডিটর আছে। আপনি আপনার পছন্দ অনুযায়ী যেকোন একটা ব্যবহার করতে পারেন।
+<<<<<<< HEAD
+একটি এডিটর বাছাই করা অনেক সময় আপনার প্রোজেক্ট, পূর্ব-অভিজ্ঞতা, কাজের স্বাচ্ছন্দ্য এসবের উপর নির্ভর করে।
+=======
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:
- I'd use [Visual Studio Code](https://code.visualstudio.com/) if I develop mostly frontend.
- Otherwise, if it's mostly another language/platform and partially frontend, then consider other editors, such as XCode (Mac), Visual Studio (Windows) or Jetbrains family (Webstorm, PHPStorm, RubyMine etc, depending on the language).
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533
diff --git a/1-js/01-getting-started/4-devtools/article.md b/1-js/01-getting-started/4-devtools/article.md
index bbe8af920..90320a3c9 100644
--- a/1-js/01-getting-started/4-devtools/article.md
+++ b/1-js/01-getting-started/4-devtools/article.md
@@ -1,63 +1,67 @@
-# Developer console
+# ডেভেলপার কনসোল
-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)).
+কোড ভুলপ্রবণ। কোড করতে গিয়ে আপনি খুব সম্ভবত কিছু ভুল করবেন... নাহ, কি বলি? *অবশ্যই* ভুল করবেন। অন্তত আপনি যদি [রোবট](https://en.wikipedia.org/wiki/Bender_(Futurama)) না হয়ে মানুষ হয়ে থাকেন।
-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.
+কিন্তু ব্যবহারকারীরা ব্রাউজারে ডিফল্টভাবে ভুল বা এরর দেখে না। তাই স্ক্রিপ্টে কোনকিছু ঠিকমত না হলে আমারা জানব না সমস্যাটা কোথায়, আর সেটা ঠিকও করতে পারব না।
-To see errors and get a lot of other useful information about scripts, "developer tools" have been embedded in browsers.
+ভুল দেখতে ও স্ক্রিপ্টের বিভিন্ন দরকারী তথ্য পেতে ব্রাউজারগুলোতে 'ডেভেলপার টুলস' সংযুক্ত করে দেয়া হয়েছে।
-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.
+ডেভেলপমেন্টের জন্য বেশিরভাগ ডেভেলপাররা ক্রোম কিংবা ফায়ারফক্সের দিকে ঝোঁকে, কারণ এদের ডেভেলপার টুলগুলো সবচেয়ে ভাল। অন্য ব্রাউজারগুলোও ডেভেলপার টুল দেয়, অনেকসময় বাড়তি সুবিধাসহ। কিন্তু তারা মূলত ক্রোম অথবা ফায়ারফক্সের পর্যায়ে যাওয়ার চেষ্টাই করছে। বেশিরভাগ ডেভেলপারেরই ডেভেলপমেন্টের জন্য একটা 'প্রিয়' ব্রাউজার থাকে, নির্দিষ্ট ব্রাউজারের সাথে জড়িত কোন সমস্যা দেখা দিলে তখন অন্যগুলোতে যায়।
-Developer tools are potent; they have many features. To start, we'll learn how to open them, look at errors, and run JavaScript commands.
+ডেভেলপার টুলগুলো বেশ কার্যকর; এগুলোতে অনেক ফিচার থাকে। শুরুতে আমরা শিখব এগুলো কিভাবে খুলতে হয়, কিভাবে ভুল দেখতে হয় আর কিভাবে সেগুলোতে জাভাস্ক্রিপ্ট কমান্ড চালানো যায়।
-## Google Chrome
+## গুগল ক্রোম
-Open the page [bug.html](bug.html).
+[bug.html](bug.html) পেজটি খুলুন।
-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.
+এর জাভাস্ক্রিপ্টে একটি ভুল আছে। একজন সাধারণ ব্যবহারকারী সেটা দেখবে না। তাই সেটা দেখার জন্য ডেভেলপার টুল খোলা যাক।
-Press `key:F12` or, if you're on Mac, then `key:Cmd+Opt+J`.
+`key:F12` চাপুন, অথবা ম্যাকে হলে `key:Cmd+Opt+J`।
-The developer tools will open on the Console tab by default.
+ডিফল্টভাবে ডেভেলপার টুলটি কনসোল ট্যাবে খুলবে।
-It looks somewhat like this:
+দেখতে অনেকটা এমন হবে:

-The exact look of developer tools depends on your version of Chrome. It changes from time to time but should be similar.
+দেখতে ঠিক কেমন হবে সেটা আপনার ক্রোম ভার্সনের উপর নির্ভর করবে। এটা প্রায়ই বদলায়। তবে কিছুটা এমনই হওয়ার কথা।
-- 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.
+- এখানে এরর মেসেজটি লাল রঙে দেখতে পাচ্ছেন। এক্ষেত্রে স্ক্রিপ্টটিতে একটি অজানা "lalala" কমান্ড আছে।
+- ডানে `bug.html:12` সোর্সটির একটি ক্লিক-উপযোগী লিঙ্ক আছে, যে লাইনে ভুলটি হয়েছে সেই লাইন নাম্বার সহ।
-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.
+এরর মেসেজটির নিচে নীল একটি `>` চিহ্ন আছে। এটি একটি "কমান্ড লাইন" নির্দেশ করে, যেখানে আপনি জাভাস্ক্রিপ্ট কমান্ড টাইপ করতে পারবেন। কমান্ডগুলো চালাতে `key:Enter` চাপুন।
-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 .
+এখন আমরা এরর দেখতে পাচ্ছি। আপাতত এইটুকুই চলবে। সামনে ডেভেলপার টুল আবার আসবে। অধ্যায়ে ডিবাগিং নিয়ে গভীর আলোচনা হবে।
```smart header="Multi-line input"
-Usually, when we put a line of code into the console, and then press `key:Enter`, it executes.
+সাধারণভাবে যখন আপনি কনসোলে এক লাইন কোড দিয়ে `key:Enter` চাপেন, সেটা এক্সিকিউট হয়ে যায়।
-To insert multiple lines, press `key:Shift+Enter`. This way one can enter long fragments of JavaScript code.
+একাধিক লাইন দিতে `key:Shift+Enter` চাপতে হয়। এভাবে বড় বড় জাভাস্ক্রিপ্ট কোড ইনপুট দেয়া যায়।
```
-## Firefox, Edge, and others
+## ফায়ারফক্স, এডজ্ ও অন্যান্য
-Most other browsers use `key:F12` to open developer tools.
+অন্য বেশিরভাগ ব্রাউজার ডেভেলপার টুলস খোলার জন্য `key:F12` ব্যবহার করে।
-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.
+সেগুলো দেখতেও কাছাকাছি। যেকোন একটা একবার ব্যবহার করতে শিখে গেলে (ক্রোম দিয়ে শুরু করা যেতে পারে) পরে সহজেই অন্যগুলোতে যাওয়া যায়।
-## Safari
+## সাফারি
-Safari (Mac browser, not supported by Windows/Linux) is a little bit special here. We need to enable the "Develop menu" first.
+সাফারি (ম্যাকের ব্রাউজার, উইন্ডোজ/লিনাক্সে সাপোর্ট করে না) এখানে একটু অন্যরকম। প্রথমে আমাদের "Develop menu" সক্রিয় করতে হবে।
+<<<<<<< HEAD
+Preferences খুলে "Advanced" প্যানে যান. নিচের দিকে একটি চেকবক্স আছে:
+=======
Open Settings and go to the "Advanced" pane. There's a checkbox at the bottom:
+>>>>>>> 5e893cffce8e2346d4e50926d5148c70af172533

-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.
+এখন `key:Cmd+Opt+C` দিয়ে কনসোল টোগল করা যাব। আর খেয়াল করুন, "Develop" নামে টপ মেনুতে নতুন একটা আইটেম এসেছে। এটাতে অনেক কমান্ড ও অপশন আছে।
-## 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).
+- ডেভেলপার টুল আমাদের অনেককিছু করতে দেয়, যোমন কমান্ড চালানো, ভ্যারিয়েবল পরীক্ষা করা ইত্যাদি।
+- উইন্ডোজে বেশিরভাগ ব্রাউজারে `key:F12` চেপে এগুলো খোলা যায়। ম্যাকের ক্রোমে `key:Cmd+Opt+J`, সাফারিতে: `key:Cmd+Opt+C` (প্রথমে সক্রিয় করে নিতে হয়)।
-Now we have the environment ready. In the next section, we'll get down to JavaScript.
+এখন আমাদের পরিবেশ তৈরী। পরবর্তী অধ্যায়ে আমরা পুরোপুরি জাভাস্ক্রিপ্টে ঢুকে যাব।
diff --git a/1-js/02-first-steps/01-hello-world/1-hello-alert/task.md b/1-js/02-first-steps/01-hello-world/1-hello-alert/task.md
index afed6a91d..42823dae5 100644
--- a/1-js/02-first-steps/01-hello-world/1-hello-alert/task.md
+++ b/1-js/02-first-steps/01-hello-world/1-hello-alert/task.md
@@ -2,11 +2,11 @@ importance: 5
---
-# Show an alert
+# একটি এলার্ট দেখাও
-Create a page that shows a message "I'm JavaScript!".
+একটি পেজ তৈরি করো যেটি "I'm JavaScript!" এই ম্যাসেজটি দেখাবে।
-Do it in a sandbox, or on your hard drive, doesn't matter, just ensure that it works.
+এটা sandbox, অথবা তোমার hard drive যেখানে খুশি সেখানে করো সমস্যা নেই, শুধু মাত্র এটা নিশ্চিত করো এটি কাজ করছে।
[demo src="solution"]
diff --git a/1-js/02-first-steps/01-hello-world/2-hello-alert-ext/solution.md b/1-js/02-first-steps/01-hello-world/2-hello-alert-ext/solution.md
index f42c41e6d..645dd651b 100644
--- a/1-js/02-first-steps/01-hello-world/2-hello-alert-ext/solution.md
+++ b/1-js/02-first-steps/01-hello-world/2-hello-alert-ext/solution.md
@@ -1,8 +1,8 @@
-The HTML code:
+এইচটিএমএল কোড:
[html src="index.html"]
-For the file `alert.js` in the same folder:
+একই ফোল্ডারের `alert.js` ফাইল এর জন্যঃ
[js src="alert.js"]
diff --git a/1-js/02-first-steps/01-hello-world/2-hello-alert-ext/task.md b/1-js/02-first-steps/01-hello-world/2-hello-alert-ext/task.md
index 26168d6a7..3dc62408a 100644
--- a/1-js/02-first-steps/01-hello-world/2-hello-alert-ext/task.md
+++ b/1-js/02-first-steps/01-hello-world/2-hello-alert-ext/task.md
@@ -2,8 +2,8 @@ importance: 5
---
-# Show an alert with an external script
+# বাহিরের একটি স্ক্রিপ্ট দিয়ে একটি এলার্ট দেখাও
-Take the solution of the previous task . Modify it by extracting the script content into an external file `alert.js`, residing in the same folder.
+পূর্ববর্তী কাজের সমাধানটি নাও। . একই ফোল্ডারে একটি আলাদা `alert.js ফাইলে কোডটি রাখো।
-Open the page, ensure that the alert works.
+পেজটি খুলো এবং, নিশ্চিত করো এলার্ট টি কাজ করছে।
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 35f82bf5d..3f894edc1 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,21 @@
-# Hello, world!
+# হ্যালো, বিশ্ব!
-This part of the tutorial is about core JavaScript, the language itself.
+এই টিউটোরিয়াল অংশটি মুলত জাভাস্ক্রিপ্ট প্রোগ্রামিং ভাষার মূল বিষয় সমূহ নিয়ে।
-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.
+কিন্তু আমাদের স্ক্রিপ্টগুলো চালানোর জন্য একটি কাজের পরিবেশ দরকার এবং যেহেতু এই বইটি অনলাইনে রয়েছে, তাই ব্রাউজার একটি ভাল পছন্দ হবে। আমরা ব্রাউজার-নির্দিষ্ট কমান্ড গুলো (যেমনঃ `এলার্ট`) সর্বনিম্ন পরিমান রাখবো যাতে করে এতে আপনাদের সময় নষ্ট না হয়, যদি আপনারা অন্য পরিবেশে মনোনিবেশ করার পরিকল্পনা করে থাকেন(যেমনঃ Node.js)। আমরা এই টিউটরিয়ালের [পরবর্তী অংশে](/ui) ব্রাউজারে জাভাস্ক্রিপ্ট উপর গুরুত্ব দিব।
-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"`.
+তাই প্রথমে, চলুন আমরা দেখি কিভাবে ওয়েবপেজে একটি স্ক্রিপ্ট সংযুক্ত করে। সার্ভার-সাইড পরিবেশ গুলোর জন্য (যেমনঃ Node.js), আপনি একটা কমান্ড দিয়ে স্ক্রিপ্ট চালাতে পারবেন `"node my.js"` এর মত করে।
-## The "script" tag
+## "script" ট্যাগ
+<<<<<<< HEAD
+জাভাস্ক্রিপ্ট এর কার্যক্রম গুলো এইচটিএমএল ডকুমেন্টের যেকোনো অংশে রাখা যেতে পারে `
*/!*
-