diff --git a/src/content/learn/conditional-rendering.md b/src/content/learn/conditional-rendering.md
index 895d610d3..369064139 100644
--- a/src/content/learn/conditional-rendering.md
+++ b/src/content/learn/conditional-rendering.md
@@ -1,24 +1,24 @@
---
-title: Conditional Rendering
+title: কন্ডিশনাল বা শর্তসাপেক্ষ রেন্ডারিং
---
-Your components will often need to display different things depending on different conditions. In React, you can conditionally render JSX using JavaScript syntax like `if` statements, `&&`, and `? :` operators.
+আপনার কম্পোনেন্টগুলো বিভিন্ন শর্তের ওপর ভিত্তি করে বিভিন্ন কিছু প্রদর্শন করতে পারে। React-এ, `if` স্টেটমেন্ট, `&&`, এবং `? :` অপারেটরের মতো জাভাস্ক্রিপ্ট সিনট্যাক্স ব্যবহার করে JSX শর্তানুযায়ী রেন্ডার করতে পারেন।
-* How to return different JSX depending on a condition
-* How to conditionally include or exclude a piece of JSX
-* Common conditional syntax shortcuts you’ll encounter in React codebases
+* কিভাবে শর্তানুযায়ী ভিন্ন JSX রিটার্ন করবেন
+* কিভাবে কোনো JSX কে শর্তানুযায়ী অন্তর্ভুক্ত বা বাদ দিবেন
+* সাধারণ শর্তগত সিনট্যাক্স শর্টকাটগুলো, যা আপনি React কোডবেসে দেখতে পাবেন
## Conditionally returning JSX {/*conditionally-returning-jsx*/}
-Let’s say you have a `PackingList` component rendering several `Item`s, which can be marked as packed or not:
+ধরুন আপনার একটি `PackingList` কম্পোনেন্ট আছে, যা কয়েকটি `Item` রেন্ডার করে, যেগুলোকে প্যাক করা হয়েছে বা হয়নি এমন হিসেবে চিহ্নিত করা যায়:
@@ -52,9 +52,9 @@ export default function PackingList() {
-Notice that some of the `Item` components have their `isPacked` prop set to `true` instead of `false`. You want to add a checkmark (✔) to packed items if `isPacked={true}`.
+দেখুন, কিছু `Item` কম্পোনেন্টে `isPacked` প্রপ `true` সেট করা হয়েছে, আর কিছুতে `false`। আপনি প্যাক করা আইটেমগুলোতে একটি চেকমার্ক (✅) যোগ করতে চান যদি `isPacked={true}` হয়।
-You can write this as an [`if`/`else` statement](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else) like so:
+এটি আপনি [`if`/`else` statement](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else) স্টেটমেন্ট দিয়ে লিখতে পারেন, যেমন:
```js
if (isPacked) {
@@ -63,7 +63,7 @@ if (isPacked) {
return
{name};
```
-If the `isPacked` prop is `true`, this code **returns a different JSX tree.** With this change, some of the items get a checkmark at the end:
+যদি `isPacked` প্রপ `true` হয়, এই কোড **একটি ভিন্ন JSX ট্রি রিটার্ন করবে**। এই পরিবর্তনের মাধ্যমে কিছু আইটেমের শেষে একটি চেকমার্ক যোগ হবে।
@@ -100,13 +100,13 @@ export default function PackingList() {
-Try editing what gets returned in either case, and see how the result changes!
+যেকোনো ক্ষেত্রে কী রিটার্ন করা হচ্ছে তা এডিট করে দেখুন, এবং ফলাফল কিভাবে পরিবর্তিত হচ্ছে তা লক্ষ্য করুন!
-Notice how you're creating branching logic with JavaScript's `if` and `return` statements. In React, control flow (like conditions) is handled by JavaScript.
+খেয়াল করুন কিভাবে JavaScript-এর `if` এবং `return` স্টেটমেন্ট ব্যবহার করে আপনি ব্রাঞ্চিং লজিক তৈরি করছেন। React-এ কন্ট্রোল ফ্লো (যেমন কন্ডিশন) JavaScript দ্বারা হ্যান্ডেল করা হয়।
-### Conditionally returning nothing with `null` {/*conditionally-returning-nothing-with-null*/}
+### ### `null` দিয়ে কিছুই রেন্ডার না করা {/*conditionally-returning-nothing-with-null*/}
-In some situations, you won't want to render anything at all. For example, say you don't want to show packed items at all. A component must return something. In this case, you can return `null`:
+কিছু পরিস্থিতিতে, আপনি কোনো কিছুই রেন্ডার করতে চাইবেন না। উদাহরণস্বরূপ, ধরুন আপনি প্যাক করা আইটেমগুলো একদম দেখাতে চান না। এমন পরিস্থিতিতে, আপনি `null` রিটার্ন করতে পারেন:
```js
if (isPacked) {
@@ -115,7 +115,7 @@ if (isPacked) {
return {name};
```
-If `isPacked` is true, the component will return nothing, `null`. Otherwise, it will return JSX to render.
+যদি `isPacked` সত্য হয়, কম্পোনেন্টটি কিছুই রিটার্ন করবে না, অর্থাৎ `null` রিটার্ন করবে। অন্যথায়, এটি JSX রিটার্ন করবে।
@@ -152,23 +152,23 @@ export default function PackingList() {
-In practice, returning `null` from a component isn't common because it might surprise a developer trying to render it. More often, you would conditionally include or exclude the component in the parent component's JSX. Here's how to do that!
+প্রকৃতপক্ষে, কোনো কম্পোনেন্ট থেকে `null` রিটার্ন করা খুব একটা সাধারণ নয়, কারণ এটি রেন্ডার করার চেষ্টা করা কোনো ডেভেলপারকে বিভ্রান্ত করতে পারে। বরং, আপনি সাধারণত মূল কম্পোনেন্টের JSX-এর মধ্যে শর্তানুযায়ী সেই কম্পোনেন্টটি অন্তর্ভুক্ত বা বাদ দেওয়ার চেষ্টা করবেন। এটি কীভাবে করতে হয় তা এখানে দেওয়া হলো!
-## Conditionally including JSX {/*conditionally-including-jsx*/}
+## শর্ত-সাপেক্ষে JSX অন্তর্ভুক্ত করা {/*conditionally-including-jsx*/}
-In the previous example, you controlled which (if any!) JSX tree would be returned by the component. You may already have noticed some duplication in the render output:
+উপরের উদাহরণে, আপনি নির্ধারণ করেছেন কোন (যদি থাকে!) JSX ট্রি কম্পোনেন্টটি রিটার্ন করবে। আপনি হয়তো ইতোমধ্যে রেন্ডার আউটপুটে কিছু ডুপ্লিকেশন লক্ষ্য করেছেন:
```js
{name} ✔
```
-is very similar to
+এটি খুবই অনুরূপ
```js
{name}
```
-Both of the conditional branches return `...`:
+উভয় শর্তের ক্ষেত্রেই `...` রিটার্ন করছে:
```js
if (isPacked) {
@@ -177,13 +177,13 @@ if (isPacked) {
return {name};
```
-While this duplication isn't harmful, it could make your code harder to maintain. What if you want to change the `className`? You'd have to do it in two places in your code! In such a situation, you could conditionally include a little JSX to make your code more [DRY.](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself)
+যদিও এই পুনরাবৃত্তি ক্ষতিকর নয়, এটি আপনার কোড রক্ষণাবেক্ষণ করা কঠিন করে তুলতে পারে। ধরুন আপনি `className` পরিবর্তন করতে চান? সেক্ষেত্রে আপনাকে কোডের দুই জায়গায় এটি পরিবর্তন করতে হবে! এমন পরিস্থিতিতে, আপনার কোড আরও [DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) রাখতে একটু JSX শর্তসাপেক্ষে যুক্ত করতে পারেন।
-### Conditional (ternary) operator (`? :`) {/*conditional-ternary-operator--*/}
+### শর্তসাপেক্ষ (টার্নারি) অপারেটর (`? :`) {/*conditional-ternary-operator--*/}
-JavaScript has a compact syntax for writing a conditional expression -- the [conditional operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator) or "ternary operator".
+JavaScript-এ শর্তসাপেক্ষ এক্সপ্রেশন লেখার একটি সংক্ষিপ্ত সিনট্যাক্স রয়েছে -- [শর্তসাপেক্ষ অপারেটর](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator) বা "টার্নারি অপারেটর"।
-Instead of this:
+এইভাবে লেখার পরিবর্তে:
```js
if (isPacked) {
@@ -202,17 +202,17 @@ return (
);
```
-You can read it as *"if `isPacked` is true, then (`?`) render `name + ' ✔'`, otherwise (`:`) render `name`"*.
+আপনি এটা এভাবে পড়তে পারেন *"if `isPacked` is true, then (`?`) render `name + ' ✔'`, otherwise (`:`) render `name`"*.
-#### Are these two examples fully equivalent? {/*are-these-two-examples-fully-equivalent*/}
+#### এই দুটি উদাহরণ কি পুরোপুরি সমতুল্য? {/*are-these-two-examples-fully-equivalent*/}
-If you're coming from an object-oriented programming background, you might assume that the two examples above are subtly different because one of them may create two different "instances" of ``. But JSX elements aren't "instances" because they don't hold any internal state and aren't real DOM nodes. They're lightweight descriptions, like blueprints. So these two examples, in fact, *are* completely equivalent. [Preserving and Resetting State](/learn/preserving-and-resetting-state) goes into detail about how this works.
+যদি আপনি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ব্যাকগ্রাউন্ড থেকে এসে থাকেন, তাহলে হয়তো মনে করবেন যে উপরোক্ত দুটি উদাহরণ সূক্ষ্মভাবে ভিন্ন, কারণ একটি উদাহরণ সম্ভবত ``-এর দুটি আলাদা "ইনস্ট্যান্স" তৈরি করতে পারে। কিন্তু JSX এলিমেন্টগুলো "ইনস্ট্যান্স" নয়, কারণ এগুলো কোনো অভ্যন্তরীণ স্টেট ধারণ করে না এবং প্রকৃত DOM নোডও নয়। এগুলো হালকা বর্ণনা বা ব্লুপ্রিন্টের মতো। সুতরাং, বাস্তবে এই দুটি উদাহরণ সম্পূর্ণ সমতুল্য। [স্টেট সংরক্ষণ ও রিসেট করা](/learn/preserving-and-resetting-state) বিস্তারিতভাবে ব্যাখ্যা করে কিভাবে এটি কাজ করে।
-Now let's say you want to wrap the completed item's text into another HTML tag, like `` to strike it out. You can add even more newlines and parentheses so that it's easier to nest more JSX in each of the cases:
+এখন ধরুন আপনি সম্পন্ন আইটেমের টেক্সটটিকে অন্য একটি HTML ট্যাগের মধ্যে জড়ানোর জন্য চান, যেমন `` যাতে এটি আউটলাইন করা যায়। আপনি আরও বেশি নিউলাইন এবং বন্ধনী যোগ করতে পারেন যাতে প্রতিটি ক্ষেত্রে আরও JSX নেস্ট করা সহজ হয়।
@@ -256,11 +256,11 @@ export default function PackingList() {
-This style works well for simple conditions, but use it in moderation. If your components get messy with too much nested conditional markup, consider extracting child components to clean things up. In React, markup is a part of your code, so you can use tools like variables and functions to tidy up complex expressions.
+এই স্টাইলটি সহজ শর্তগুলোর জন্য ভালো কাজ করে, তবে এটি সংযতভাবে ব্যবহার করুন। যদি আপনার কম্পোনেন্টগুলো অতিরিক্ত নেস্টেড শর্তযুক্ত মার্কআপ দিয়ে অগোছালো হয়ে যায়, তাহলে শিশু কম্পোনেন্টগুলো আলাদা করে আপনার কোডটিকে পরিষ্কার রাখার কথা ভাবুন। React-এ মার্কআপ কোডেরই অংশ, তাই জটিল এক্সপ্রেশনগুলোকে গোছানোর জন্য আপনি ভ্যারিয়েবল ও ফাংশনের মতো টুল ব্যবহার করতে পারেন।
-### Logical AND operator (`&&`) {/*logical-and-operator-*/}
+### লজিক্যাল AND অপারেটর (`&&`) {/*logical-and-operator-*/}
-Another common shortcut you'll encounter is the [JavaScript logical AND (`&&`) operator.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_AND#:~:text=The%20logical%20AND%20(%20%26%26%20)%20operator,it%20returns%20a%20Boolean%20value.) Inside React components, it often comes up when you want to render some JSX when the condition is true, **or render nothing otherwise.** With `&&`, you could conditionally render the checkmark only if `isPacked` is `true`:
+আরেকটি সাধারণ শর্টকাট হলো [JavaScript লজিক্যাল AND (`&&`) অপারেটর।](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_AND#:~:text=The%20logical%20AND%20(%20%26%26%20)%20operator,it%20returns%20a%20Boolean%20value.) React কম্পোনেন্টের ভেতরে এটি প্রায়ই ব্যবহৃত হয় যখন আপনি শর্তটি সত্য হলে কিছু JSX রেন্ডার করতে চান, **বা অন্যথায় কিছুই রেন্ডার করতে চান না।** `&&` ব্যবহার করে, আপনি কেবল তখনই চেকমার্কটি শর্তসাপেক্ষে রেন্ডার করতে পারেন যদি `isPacked` `true` হয়:
```js
return (
@@ -270,9 +270,9 @@ return (
);
```
-You can read this as *"if `isPacked`, then (`&&`) render the checkmark, otherwise, render nothing"*.
+এটি এভাবে পড়া যায় *"if `isPacked`, then (`&&`) render the checkmark, otherwise, render nothing"*.
-Here it is in action:
+এখানে এটি কার্যকরভাবে দেখানো হলো:
@@ -310,30 +310,30 @@ export default function PackingList() {
-A [JavaScript && expression](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_AND) returns the value of its right side (in our case, the checkmark) if the left side (our condition) is `true`. But if the condition is `false`, the whole expression becomes `false`. React considers `false` as a "hole" in the JSX tree, just like `null` or `undefined`, and doesn't render anything in its place.
+একটি [JavaScript && এক্সপ্রেশন](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_AND) তার ডান পাশের মানটি (আমাদের ক্ষেত্রে চেকমার্ক) ফেরত দেয় যদি বাম পাশের শর্তটি `true` হয়। কিন্তু যদি শর্তটি `false` হয়, তবে পুরো এক্সপ্রেশনটি `false` হয়ে যায়। React `false`-কে JSX ট্রিতে একটি "ফাঁকা" হিসেবে গণ্য করে, যেমন `null` বা `undefined`, এবং এর স্থানে কিছুই রেন্ডার করে না।
-**Don't put numbers on the left side of `&&`.**
+**সংখ্যাগুলোকে `&&`-এর বাম পাশে ব্যবহার করবেন না।**
-To test the condition, JavaScript converts the left side to a boolean automatically. However, if the left side is `0`, then the whole expression gets that value (`0`), and React will happily render `0` rather than nothing.
+শর্ত পরীক্ষা করার জন্য, JavaScript স্বয়ংক্রিয়ভাবে বাম পাশের মানকে একটি বুলিয়ান এ রূপান্তর করে। তবে, যদি বাম পাশের মান `0` হয়, তাহলে পুরো এক্সপ্রেশন `0` মানটি পায়, এবং React এটি কিছু না রেন্ডার করার পরিবর্তে `0` রেন্ডার করবে।
-For example, a common mistake is to write code like `messageCount && New messages
`. It's easy to assume that it renders nothing when `messageCount` is `0`, but it really renders the `0` itself!
+উদাহরণস্বরূপ, একটি সাধারণ ভুল হলো কোড লেখা `messageCount && New messages
` এর মতো। এটি সহজে মনে হতে পারে যে `messageCount` যদি `0` হয় তবে এটি কিছুই রেন্ডার করবে না, কিন্তু আসলে এটি `0` রেন্ডার করে!
-To fix it, make the left side a boolean: `messageCount > 0 && New messages
`.
+এটি ঠিক করতে, বাম পাশের মানটিকে বুলিয়ান করে তুলুন: `messageCount > 0 && New messages
`।
-### Conditionally assigning JSX to a variable {/*conditionally-assigning-jsx-to-a-variable*/}
+### শর্ত-সাপেক্ষে একটি ভেরিয়েবলে JSX অ্যাসাইন কর {/*conditionally-assigning-jsx-to-a-variable*/}
-When the shortcuts get in the way of writing plain code, try using an `if` statement and a variable. You can reassign variables defined with [`let`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let), so start by providing the default content you want to display, the name:
+যখন শর্টকাটগুলি সাধারণ কোড লেখার পথে বাধা দেয়, তখন একটি `if` স্টেটমেন্ট এবং একটি ভেরিয়েবল ব্যবহার করার চেষ্টা করুন। [`let`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let) দিয়ে সংজ্ঞায়িত ভেরিয়েবলগুলিকে পুনঃনির্ধারণ করা যায়, তাই শুরুতে আপনি প্রদর্শন করতে চান এমন ডিফল্ট কনটেন্টটি দিয়ে শুরু করুন, অর্থাৎ নাম:
```js
let itemContent = name;
```
-Use an `if` statement to reassign a JSX expression to `itemContent` if `isPacked` is `true`:
+`if` স্টেটমেন্ট ব্যবহার করে `itemContent`-কে একটি JSX এক্সপ্রেশন পুনঃনির্ধারণ করুন যদি `isPacked` সত্য হয়:
```js
if (isPacked) {
@@ -341,7 +341,7 @@ if (isPacked) {
}
```
-[Curly braces open the "window into JavaScript".](/learn/javascript-in-jsx-with-curly-braces#using-curly-braces-a-window-into-the-javascript-world) Embed the variable with curly braces in the returned JSX tree, nesting the previously calculated expression inside of JSX:
+[কার্লি ব্রেসের মাধ্যমে "জাভাস্ক্রিপ্টের জানালা খোলে।](/learn/javascript-in-jsx-with-curly-braces#using-curly-braces-a-window-into-the-javascript-world)" রিটার্নকৃত JSX ট্রিতে ভেরিয়েবলটি কার্লি ব্রেসের সাথে এম্বেড করুন এবং পূর্বে গণনা করা এক্সপ্রেশনটি JSX-এর ভেতরে নেস্ট করুন:
```js
@@ -349,7 +349,7 @@ if (isPacked) {
```
-This style is the most verbose, but it's also the most flexible. Here it is in action:
+এই স্টাইলটি সবচেয়ে ব্যাখ্যামূলক, তবে এটি সবচেয়ে নমনীয়ও। এখানে এটি কার্যকরভাবে প্রদর্শিত হচ্ছে:
@@ -391,7 +391,7 @@ export default function PackingList() {
-Like before, this works not only for text, but for arbitrary JSX too:
+আগের মত, এটি শুধুমাত্র টেক্সটের জন্য নয়, বরং যেকোনও অর্বিট্রারি JSX-এর জন্যও কাজ করে:
@@ -437,16 +437,16 @@ export default function PackingList() {
-If you're not familiar with JavaScript, this variety of styles might seem overwhelming at first. However, learning them will help you read and write any JavaScript code -- and not just React components! Pick the one you prefer for a start, and then consult this reference again if you forget how the other ones work.
+যদি আপনি জাভাস্ক্রিপ্টে নতুন হন, তাহলে বিভিন্ন স্টাইল প্রথমে কিছুটা জটিল মনে হতে পারে। তবে এগুলো শেখা আপনাকে যেকোনো জাভাস্ক্রিপ্ট কোড বুঝতে ও লিখতে সহায়তা করবে — এবং শুধু React কম্পোনেন্টেই নয়! যেটা আপনার সবচেয়ে সহজ মনে হয় তা দিয়ে শুরু করুন, এবং পরবর্তীতে অন্যগুলো মনে না থাকলে এই রেফারেন্সটি আবার দেখে নিতে পারেন।
-* In React, you control branching logic with JavaScript.
-* You can return a JSX expression conditionally with an `if` statement.
-* You can conditionally save some JSX to a variable and then include it inside other JSX by using the curly braces.
-* In JSX, `{cond ? : }` means *"if `cond`, render ``, otherwise ``"*.
-* In JSX, `{cond && }` means *"if `cond`, render ``, otherwise nothing"*.
-* The shortcuts are common, but you don't have to use them if you prefer plain `if`.
+* React-এ, আপনি JavaScript দিয়ে শাখা লজিক নিয়ন্ত্রণ করেন।
+* আপনি একটি `if` বিবৃতি দিয়ে শর্তসাপেক্ষে একটি JSX প্রকাশ্য ফিরিয়ে দিতে পারেন।
+* আপনি কিছু JSX শর্তসাপেক্ষে একটি ভেরিয়েবলে সংরক্ষণ করতে পারেন এবং তারপর অন্য JSX-এর ভিতরে এটিকে অন্তর্ভুক্ত করতে পারেন কুরি ব্রেস ব্যবহার করে।
+* JSX-এ, `{cond ? : }` এর অর্থ *"যদি `cond` হয়, তবে `` রেন্ডার করুন, অন্যথায় `` রেন্ডার করুন"*।
+* JSX-এ, `{cond && }` এর অর্থ *"যদি `cond` হয়, তবে `` রেন্ডার করুন, অন্যথায় কিছুই নয়"*।
+* শর্টকাটগুলো সাধারণ, তবে আপনি যদি সাধারণ `if` ব্যবহার করতে পছন্দ করেন তবে আপনাকে সেগুলো ব্যবহার করতে হবে না।
@@ -454,9 +454,9 @@ If you're not familiar with JavaScript, this variety of styles might seem overwh
-#### Show an icon for incomplete items with `? :` {/*show-an-icon-for-incomplete-items-with--*/}
+#### "অপূর্ণ আইটেমগুলির জন্য `? :` সহ একটি আইকন দেখান" {/*show-an-icon-for-incomplete-items-with--*/}
-Use the conditional operator (`cond ? a : b`) to render a ❌ if `isPacked` isn’t `true`.
+"`isPacked` যদি `true` না হয় তবে একটি ❌ রেন্ডার করতে শর্তাধীন অপারেটর (`cond ? a : b`) ব্যবহার করুন।"
@@ -534,15 +534,15 @@ export default function PackingList() {
-#### Show the item importance with `&&` {/*show-the-item-importance-with-*/}
+#### "আইটেমের গুরুত্ব `&&` ব্যবহার করে দেখান {/*show-the-item-importance-with-*/}
-In this example, each `Item` receives a numerical `importance` prop. Use the `&&` operator to render "_(Importance: X)_" in italics, but only for items that have non-zero importance. Your item list should end up looking like this:
+এই উদাহরণে, প্রতিটি `Item` একটি সংখ্যাগত `importance` প্রপ পায়। শূন্যের বাইরে গুরুত্ব থাকা আইটেমগুলির জন্য `_ (গুরুত্ব: X) _` ইতালিকসে রেন্ডার করতে `&&` অপারেটর ব্যবহার করুন। আপনার আইটেমের তালিকা এরকম দেখতে হবে:
-* Space suit _(Importance: 9)_
-* Helmet with a golden leaf
-* Photo of Tam _(Importance: 6)_
+* স্পেস স্যুট _(গুরুত্ব: ৯)_
+* স্বর্ণ পাতা যুক্ত হেলমেট
+* ট্যামের ছবি _(গুরুত্ব: ৬)_
-Don't forget to add a space between the two labels!
+দুই লেবেলের মধ্যে একটি স্পেস যুক্ত করতে ভুলবেন না!"
@@ -582,7 +582,7 @@ export default function PackingList() {
-This should do the trick:
+এটি কাজটি সঠিকভাবে করবে::
@@ -624,15 +624,15 @@ export default function PackingList() {
-Note that you must write `importance > 0 && ...` rather than `importance && ...` so that if the `importance` is `0`, `0` isn't rendered as the result!
+"নোট করুন যে আপনাকে `importance > 0 && ...` লিখতে হবে `importance && ...` এর পরিবর্তে, যাতে `importance` যদি `0` হয়, তাহলে `0` ফলস্বরূপ রেন্ডার না হয়!
-In this solution, two separate conditions are used to insert a space between the name and the importance label. Alternatively, you could use a Fragment with a leading space: `importance > 0 && <> ...>` or add a space immediately inside the ``: `importance > 0 && ...`.
+এই সমাধানে, নাম এবং গুরুত্ব লেবেলের মধ্যে একটি স্পেস যুক্ত করতে দুটি আলাদা শর্ত ব্যবহার করা হয়েছে। বিকল্পভাবে, আপনি একটি ফ্রাগমেন্ট ব্যবহার করতে পারেন একটি লিডিং স্পেস সহ: `importance > 0 && <> ...>` অথবা `` এর ভিতরে অবিলম্বে একটি স্পেস যুক্ত করতে পারেন: `importance > 0 && ...`।
-#### Refactor a series of `? :` to `if` and variables {/*refactor-a-series-of---to-if-and-variables*/}
+#### একটি সিরিজ `? :` কে `if` এবং ভেরিয়েবল দ্বারা রিফ্যাক্টর করুন {/*refactor-a-series-of---to-if-and-variables*/}
-This `Drink` component uses a series of `? :` conditions to show different information depending on whether the `name` prop is `"tea"` or `"coffee"`. The problem is that the information about each drink is spread across multiple conditions. Refactor this code to use a single `if` statement instead of three `? :` conditions.
+এই `Drink` কম্পোনেন্টটি `name` প্রপ `"tea"` অথবা `"coffee"` এর উপর ভিত্তি করে ভিন্ন তথ্য প্রদর্শন করতে `? :` শর্তগুলির একটি সিরিজ ব্যবহার করে। সমস্যাটি হল প্রতিটি পানীয় সম্পর্কিত তথ্য বিভিন্ন শর্তের মধ্যে ছড়িয়ে ছিটিয়ে আছে। এই কোডটি তিনটি `? :` শর্তের পরিবর্তে একটি একক `if` বিবৃতি ব্যবহার করতে রিফ্যাক্টর করুন।"
@@ -665,11 +665,11 @@ export default function DrinkList() {
-Once you've refactored the code to use `if`, do you have further ideas on how to simplify it?
+"আপনি যখন কোডটি `if` ব্যবহার করতে রিফ্যাক্টর করবেন, তখন কি আপনি এটি সরল করার জন্য আরও কিছু ধারণা আছে?
-There are multiple ways you could go about this, but here is one starting point:
+এটি করার জন্য বিভিন্ন উপায় রয়েছে, কিন্তু এখানে একটি শুরু পয়েন্ট রয়েছে:"
@@ -712,9 +712,9 @@ export default function DrinkList() {
-Here the information about each drink is grouped together instead of being spread across multiple conditions. This makes it easier to add more drinks in the future.
+"এখানে প্রতিটি পানীয়ের তথ্য একসাথে গোষ্ঠীবদ্ধ করা হয়েছে, যা একাধিক শর্তের মধ্যে ছড়িয়ে ছিটিয়ে থাকার পরিবর্তে। এটি ভবিষ্যতে আরও পানীয় যুক্ত করা সহজ করে তোলে।
-Another solution would be to remove the condition altogether by moving the information into objects:
+অন্য একটি সমাধান হবে শর্তটি সম্পূর্ণরূপে অপসারণ করা, তথ্যগুলিকে অবজেক্টে স্থানান্তরিত করে:"
diff --git a/src/content/learn/javascript-in-jsx-with-curly-braces.md b/src/content/learn/javascript-in-jsx-with-curly-braces.md
index 736065b03..1bfbeed55 100644
--- a/src/content/learn/javascript-in-jsx-with-curly-braces.md
+++ b/src/content/learn/javascript-in-jsx-with-curly-braces.md
@@ -1,25 +1,25 @@
---
-title: JavaScript in JSX with Curly Braces
+title: JSX এ কার্লি ব্রেসের মধ্যে জাভাস্ক্রিপ্ট
---
-JSX lets you write HTML-like markup inside a JavaScript file, keeping rendering logic and content in the same place. Sometimes you will want to add a little JavaScript logic or reference a dynamic property inside that markup. In this situation, you can use curly braces in your JSX to open a window to JavaScript.
+JSX আপনাকে জাভাস্ক্রিপ্ট ফাইলের মধ্যে HTML-এর মতো মার্কআপ লিখতে দেয়, যেখানে রেন্ডারিং লজিক এবং কন্টেন্ট একসাথে থাকে। মাঝে মাঝে আপনি এই মার্কআপের মধ্যে কিছু জাভাস্ক্রিপ্ট লজিক যোগ করতে বা ডায়নামিক প্রপার্টি রেফারেন্স করতে চাইবেন। এই পরিস্থিতিতে, আপনি আপনার JSX-এ `{ }` ব্যবহার করে জাভাস্ক্রিপ্টে প্রবেশ করতে পারবেন।
-* How to pass strings with quotes
-* How to reference a JavaScript variable inside JSX with curly braces
-* How to call a JavaScript function inside JSX with curly braces
-* How to use a JavaScript object inside JSX with curly braces
+- কিভাবে কোটেশনসহ স্ট্রিং পাঠাতে হয়
+- কিভাবে JSX-এ `{ }` দিয়ে জাভাস্ক্রিপ্ট ভেরিয়েবল রেফারেন্স করতে হয়
+- কিভাবে `{ }` দিয়ে JSX-এ জাভাস্ক্রিপ্ট ফাংশন কল করতে হয়
+- কিভাবে `{ }` দিয়ে JSX-এ জাভাস্ক্রিপ্ট অবজেক্ট ব্যবহার করতে হয়
## Passing strings with quotes {/*passing-strings-with-quotes*/}
-When you want to pass a string attribute to JSX, you put it in single or double quotes:
+যখন আপনি JSX-এ একটি স্ট্রিং অ্যাট্রিবিউট পাঠাতে চান, তখন এটি সিঙ্গেল বা ডাবল কোটেশনে রাখুন:
@@ -41,9 +41,9 @@ export default function Avatar() {
-Here, `"https://i.imgur.com/7vQD0fPs.jpg"` and `"Gregorio Y. Zara"` are being passed as strings.
+এখানে, `"https://i.imgur.com/7vQD0fPs.jpg"` এবং `"Gregorio Y. Zara"` স্ট্রিং হিসেবে পাঠানো হয়েছে।
-But what if you want to dynamically specify the `src` or `alt` text? You could **use a value from JavaScript by replacing `"` and `"` with `{` and `}`**:
+কিন্তু যদি আপনি `src` বা `alt` টেক্সটকে ডাইনামিকভাবে নির্দিষ্ট করতে চান, তাহলে **`"` এবং `"` পরিবর্তে `{` এবং `}` ব্যবহার করে জাভাস্ক্রিপ্ট থেকে একটি মান ব্যবহার করতে পারেন**।
@@ -67,11 +67,11 @@ export default function Avatar() {
-Notice the difference between `className="avatar"`, which specifies an `"avatar"` CSS class name that makes the image round, and `src={avatar}` that reads the value of the JavaScript variable called `avatar`. That's because curly braces let you work with JavaScript right there in your markup!
+একটি পার্থক্য লক্ষ্য করুন `className="avatar"`, যা `"avatar"` নামে একটি CSS ক্লাস নির্দিষ্ট করে যাতে ইমেজটি গোলাকৃতি হয়, এবং `src={avatar}` যা `avatar` নামে জাভাস্ক্রিপ্ট ভেরিয়েবলের মান পড়ে। এর কারণ হলো `{ }` আপনাকে আপনার মার্কআপে জাভাস্ক্রিপ্ট ব্যবহার করতে দেয়!
-## Using curly braces: A window into the JavaScript world {/*using-curly-braces-a-window-into-the-javascript-world*/}
+## `{ }` ব্যবহার: জাভাস্ক্রিপ্ট দুনিয়ার একটি জানালা {/*using-curly-braces-a-window-into-the-javascript-world*/}
-JSX is a special way of writing JavaScript. That means it’s possible to use JavaScript inside it—with curly braces `{ }`. The example below first declares a name for the scientist, `name`, then embeds it with curly braces inside the ``:
+JSX হল জাভাস্ক্রিপ্ট লেখার একটি বিশেষ পদ্ধতি। যার মানে, এর মধ্যে `{ }` ব্যবহার করে জাভাস্ক্রিপ্ট ব্যবহার করা সম্ভব। নিচের উদাহরণে প্রথমে একজন বিজ্ঞানীর নাম, `name`, ঘোষণা করা হয়েছে, তারপর `{ }` দিয়ে `` ট্যাগের ভিতরে এটি এম্বেড করা হয়েছে:
@@ -86,9 +86,9 @@ export default function TodoList() {
-Try changing the `name`'s value from `'Gregorio Y. Zara'` to `'Hedy Lamarr'`. See how the list title changes?
+`name` এর মান `'Gregorio Y. Zara'` থেকে `'Hedy Lamarr'` এ পরিবর্তন করার চেষ্টা করুন। দেখুন কিভাবে তালিকার শিরোনাম পরিবর্তিত হয়?
-Any JavaScript expression will work between curly braces, including function calls like `formatDate()`:
+কোনও জাভাস্ক্রিপ্ট এক্সপ্রেশন `{ }` এর মধ্যে কাজ করবে, যেমন ফাংশন কল `formatDate()`:
@@ -111,18 +111,18 @@ export default function TodoList() {
-### Where to use curly braces {/*where-to-use-curly-braces*/}
+### `{ }` কোথায় ব্যবহার করবেন {/*where-to-use-curly-braces*/}
-You can only use curly braces in two ways inside JSX:
+আপনি JSX-এর মধ্যে দুটি উপায়ে `{ }` ব্যবহার করতে পারেন:
-1. **As text** directly inside a JSX tag: `{name}'s To Do List
` works, but `<{tag}>Gregorio Y. Zara's To Do List{tag}>` will not.
-2. **As attributes** immediately following the `=` sign: `src={avatar}` will read the `avatar` variable, but `src="{avatar}"` will pass the string `"{avatar}"`.
+১. **টেক্সট হিসেবে** সরাসরি একটি JSX ট্যাগের মধ্যে: `{name}'s To Do List
` কাজ করবে, কিন্তু `<{tag}>Gregorio Y. Zara's To Do List{tag}>` কাজ করবে না।
+২. **অ্যাট্রিবিউট হিসেবে** `=` চিহ্নের পরে সরাসরি: `src={avatar}` `avatar` ভেরিয়েবলটি পড়বে, কিন্তু `src="{avatar}"` `{avatar}` স্ট্রিংটি পাঠাবে।
-## Using "double curlies": CSS and other objects in JSX {/*using-double-curlies-css-and-other-objects-in-jsx*/}
+## "ডাবল কার্লি" ব্যবহার: CSS এবং অন্যান্য অবজেক্ট JSX-এ {/*using-double-curlies-css-and-other-objects-in-jsx*/}
-In addition to strings, numbers, and other JavaScript expressions, you can even pass objects in JSX. Objects are also denoted with curly braces, like `{ name: "Hedy Lamarr", inventions: 5 }`. Therefore, to pass a JS object in JSX, you must wrap the object in another pair of curly braces: `person={{ name: "Hedy Lamarr", inventions: 5 }}`.
+স্ট্রিং, সংখ্যা এবং অন্যান্য জাভাস্ক্রিপ্ট এক্সপ্রেশনের পাশাপাশি, আপনি JSX-এ অবজেক্টও পাঠাতে পারেন। অবজেক্টও `{ }` দিয়ে নির্ধারণ করা হয়, যেমন `{ name: "Hedy Lamarr", inventions: 5 }`। তাই JSX-এ একটি জাভাস্ক্রিপ্ট অবজেক্ট পাঠাতে আপনাকে অবজেক্টটিকে আরেকটি `{ }` এর মধ্যে মোড়াতে হবে: `person={{ name: "Hedy Lamarr", inventions: 5 }}`।
-You may see this with inline CSS styles in JSX. React does not require you to use inline styles (CSS classes work great for most cases). But when you need an inline style, you pass an object to the `style` attribute:
+আপনি এটি ইনলাইন CSS স্টাইলের সাথে দেখতে পারেন JSX-এ। React ইনলাইন স্টাইল ব্যবহার করতে বলে না (CSS ক্লাস বেশিরভাগ ক্ষেত্রে ভাল কাজ করে)। কিন্তু যখন আপনি একটি ইনলাইন স্টাইলের প্রয়োজন হয়, তখন আপনি `style` অ্যাট্রিবিউটে একটি অবজেক্ট পাঠাতে পারেন:
@@ -148,9 +148,9 @@ ul { padding: 20px 20px 20px 40px; margin: 0; }
-Try changing the values of `backgroundColor` and `color`.
+`backgroundColor` এবং `color` এর মান পরিবর্তন করার চেষ্টা করুন।
-You can really see the JavaScript object inside the curly braces when you write it like this:
+আপনি আসলেই জাভাস্ক্রিপ্ট অবজেক্টটি `{ }` এর ভিতরে দেখতে পাবেন যখন এটি এভাবে লিখবেন:
```js {2-5}