diff --git a/README.md b/README.md
index 13183a257..7f6d19af7 100644
--- a/README.md
+++ b/README.md
@@ -31,13 +31,23 @@ Follow these steps to get started using these resources:
[Arabic](./translations/ar/README.md) | [Bengali](./translations/bn/README.md) | [Bulgarian](./translations/bg/README.md) | [Burmese (Myanmar)](./translations/my/README.md) | [Chinese (Simplified)](./translations/zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](./translations/zh-HK/README.md) | [Chinese (Traditional, Macau)](./translations/zh-MO/README.md) | [Chinese (Traditional, Taiwan)](./translations/zh-TW/README.md) | [Croatian](./translations/hr/README.md) | [Czech](./translations/cs/README.md) | [Danish](./translations/da/README.md) | [Dutch](./translations/nl/README.md) | [Estonian](./translations/et/README.md) | [Finnish](./translations/fi/README.md) | [French](./translations/fr/README.md) | [German](./translations/de/README.md) | [Greek](./translations/el/README.md) | [Hebrew](./translations/he/README.md) | [Hindi](./translations/hi/README.md) | [Hungarian](./translations/hu/README.md) | [Indonesian](./translations/id/README.md) | [Italian](./translations/it/README.md) | [Japanese](./translations/ja/README.md) | [Kannada](./translations/kn/README.md) | [Korean](./translations/ko/README.md) | [Lithuanian](./translations/lt/README.md) | [Malay](./translations/ms/README.md) | [Malayalam](./translations/ml/README.md) | [Marathi](./translations/mr/README.md) | [Nepali](./translations/ne/README.md) | [Nigerian Pidgin](./translations/pcm/README.md) | [Norwegian](./translations/no/README.md) | [Persian (Farsi)](./translations/fa/README.md) | [Polish](./translations/pl/README.md) | [Portuguese (Brazil)](./translations/pt-BR/README.md) | [Portuguese (Portugal)](./translations/pt-PT/README.md) | [Punjabi (Gurmukhi)](./translations/pa/README.md) | [Romanian](./translations/ro/README.md) | [Russian](./translations/ru/README.md) | [Serbian (Cyrillic)](./translations/sr/README.md) | [Slovak](./translations/sk/README.md) | [Slovenian](./translations/sl/README.md) | [Spanish](./translations/es/README.md) | [Swahili](./translations/sw/README.md) | [Swedish](./translations/sv/README.md) | [Tagalog (Filipino)](./translations/tl/README.md) | [Tamil](./translations/ta/README.md) | [Telugu](./translations/te/README.md) | [Thai](./translations/th/README.md) | [Turkish](./translations/tr/README.md) | [Ukrainian](./translations/uk/README.md) | [Urdu](./translations/ur/README.md) | [Vietnamese](./translations/vi/README.md)
> **Prefer to Clone Locally?**
-
+>
> This repository includes 50+ language translations which significantly increases the download size. To clone without translations, use sparse checkout:
+>
+> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
+>
+> **CMD (Windows):**
+> ```cmd
+> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
+> cd Web-Dev-For-Beginners
+> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
+> ```
+>
> This gives you everything you need to complete the course with a much faster download.
diff --git a/translated_images/1.b6da8c1394b07491afeb6b2a8e5aca73ebd3cf478e27bcc9aeabb187e722648e.en.png b/translated_images/1.b6da8c1394b07491afeb6b2a8e5aca73ebd3cf478e27bcc9aeabb187e722648e.en.png
deleted file mode 100644
index 4148c1017..000000000
Binary files a/translated_images/1.b6da8c1394b07491afeb6b2a8e5aca73ebd3cf478e27bcc9aeabb187e722648e.en.png and /dev/null differ
diff --git a/translated_images/1.cc07a5cbe114ad1d4728c35134584ac1b87db688eff83cf75985cf31fe0ed95c.en.png b/translated_images/1.cc07a5cbe114ad1d4728c35134584ac1b87db688eff83cf75985cf31fe0ed95c.en.png
deleted file mode 100644
index e89ba6168..000000000
Binary files a/translated_images/1.cc07a5cbe114ad1d4728c35134584ac1b87db688eff83cf75985cf31fe0ed95c.en.png and /dev/null differ
diff --git a/translated_images/2.1dae52ff0804224692cd648afbf2342955d7afe3b0101b617268130dfb427f55.en.png b/translated_images/2.1dae52ff0804224692cd648afbf2342955d7afe3b0101b617268130dfb427f55.en.png
deleted file mode 100644
index 78a6fb81c..000000000
Binary files a/translated_images/2.1dae52ff0804224692cd648afbf2342955d7afe3b0101b617268130dfb427f55.en.png and /dev/null differ
diff --git a/translated_images/after-codeswing-extension-pb.0ebddddcf73b550994947a9084e35e2836c713ae13839d49628e3c764c1cfe83.en.png b/translated_images/after-codeswing-extension-pb.0ebddddcf73b550994947a9084e35e2836c713ae13839d49628e3c764c1cfe83.en.png
deleted file mode 100644
index 6e5a9ef91..000000000
Binary files a/translated_images/after-codeswing-extension-pb.0ebddddcf73b550994947a9084e35e2836c713ae13839d49628e3c764c1cfe83.en.png and /dev/null differ
diff --git a/translated_images/background.148a8d43afde57303419a663f50daf586681bc2fabf833f66ef6954073983c66.en.png b/translated_images/background.148a8d43afde57303419a663f50daf586681bc2fabf833f66ef6954073983c66.en.png
deleted file mode 100644
index 474ed4017..000000000
Binary files a/translated_images/background.148a8d43afde57303419a663f50daf586681bc2fabf833f66ef6954073983c66.en.png and /dev/null differ
diff --git a/translated_images/backgroundColor.e19c3c60768150c8de229c89233ecb5d859aeabef0ada99d2236dd2c44c1510f.en.png b/translated_images/backgroundColor.e19c3c60768150c8de229c89233ecb5d859aeabef0ada99d2236dd2c44c1510f.en.png
deleted file mode 100644
index 3bd93a532..000000000
Binary files a/translated_images/backgroundColor.e19c3c60768150c8de229c89233ecb5d859aeabef0ada99d2236dd2c44c1510f.en.png and /dev/null differ
diff --git a/translated_images/browser-console.efaf0b51aaaf67782a29e1a0bb32cc063f189b18e894eb5926e02f1abe864ec2.en.png b/translated_images/browser-console.efaf0b51aaaf67782a29e1a0bb32cc063f189b18e894eb5926e02f1abe864ec2.en.png
deleted file mode 100644
index ad9341a4b..000000000
Binary files a/translated_images/browser-console.efaf0b51aaaf67782a29e1a0bb32cc063f189b18e894eb5926e02f1abe864ec2.en.png and /dev/null differ
diff --git a/translated_images/browser.60317c9be8b7f84adce43e30bff8d47a1ae15793beab762317b2bc6b74337c1a.en.jpg b/translated_images/browser.60317c9be8b7f84adce43e30bff8d47a1ae15793beab762317b2bc6b74337c1a.en.jpg
deleted file mode 100644
index 06fa7e91e..000000000
Binary files a/translated_images/browser.60317c9be8b7f84adce43e30bff8d47a1ae15793beab762317b2bc6b74337c1a.en.jpg and /dev/null differ
diff --git a/translated_images/canvas.fbd605ff8e5b8aff567d398528ce113db304446b90b9cad55c654de3fdfcda34.en.png b/translated_images/canvas.fbd605ff8e5b8aff567d398528ce113db304446b90b9cad55c654de3fdfcda34.en.png
deleted file mode 100644
index b42a0d08a..000000000
Binary files a/translated_images/canvas.fbd605ff8e5b8aff567d398528ce113db304446b90b9cad55c654de3fdfcda34.en.png and /dev/null differ
diff --git a/translated_images/canvas_grid.5f209da785ded492a01ece440e3032afe51efa500cc2308e5ea4252487ceaf0b.en.png b/translated_images/canvas_grid.5f209da785ded492a01ece440e3032afe51efa500cc2308e5ea4252487ceaf0b.en.png
deleted file mode 100644
index 0076f9c5d..000000000
Binary files a/translated_images/canvas_grid.5f209da785ded492a01ece440e3032afe51efa500cc2308e5ea4252487ceaf0b.en.png and /dev/null differ
diff --git a/translated_images/character.5c0dd8e067ffd693c16e2c5b7412ab075a2215ce31f998305639fa3a05e14fbe.en.png b/translated_images/character.5c0dd8e067ffd693c16e2c5b7412ab075a2215ce31f998305639fa3a05e14fbe.en.png
deleted file mode 100644
index 9f3e12884..000000000
Binary files a/translated_images/character.5c0dd8e067ffd693c16e2c5b7412ab075a2215ce31f998305639fa3a05e14fbe.en.png and /dev/null differ
diff --git a/translated_images/click-register.e89a30bf0d4bc9ca867dc537c4cea679a7c26368bd790969082f524fed2355bc.en.png b/translated_images/click-register.e89a30bf0d4bc9ca867dc537c4cea679a7c26368bd790969082f524fed2355bc.en.png
deleted file mode 100644
index ccc65305d..000000000
Binary files a/translated_images/click-register.e89a30bf0d4bc9ca867dc537c4cea679a7c26368bd790969082f524fed2355bc.en.png and /dev/null differ
diff --git a/translated_images/clone_repo.5085c48d666ead57664f050d806e325d7f883be6838c821e08bc823ab7c66665.en.png b/translated_images/clone_repo.5085c48d666ead57664f050d806e325d7f883be6838c821e08bc823ab7c66665.en.png
deleted file mode 100644
index 42cd07021..000000000
Binary files a/translated_images/clone_repo.5085c48d666ead57664f050d806e325d7f883be6838c821e08bc823ab7c66665.en.png and /dev/null differ
diff --git a/translated_images/clone_repo.6a202fb230ab6bdd8e8f536661f12088315044ed26899f00b5815db04bff9217.en.png b/translated_images/clone_repo.6a202fb230ab6bdd8e8f536661f12088315044ed26899f00b5815db04bff9217.en.png
deleted file mode 100644
index 3220a0f9f..000000000
Binary files a/translated_images/clone_repo.6a202fb230ab6bdd8e8f536661f12088315044ed26899f00b5815db04bff9217.en.png and /dev/null differ
diff --git a/translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.en.png b/translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.en.png
deleted file mode 100644
index 48934523f..000000000
Binary files a/translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.en.png and /dev/null differ
diff --git a/translated_images/create-a-fork.297ab42b4bd0af9989c1a00dc1ad10805a7e109296a5f47acebacaf5ff098a30.en.png b/translated_images/create-a-fork.297ab42b4bd0af9989c1a00dc1ad10805a7e109296a5f47acebacaf5ff098a30.en.png
deleted file mode 100644
index f0a6fa895..000000000
Binary files a/translated_images/create-a-fork.297ab42b4bd0af9989c1a00dc1ad10805a7e109296a5f47acebacaf5ff098a30.en.png and /dev/null differ
diff --git a/translated_images/create-new-file-pb.0797800d977ec3ebf484be2545060e443a902973aaa5267219c07fe199b0e2d4.en.png b/translated_images/create-new-file-pb.0797800d977ec3ebf484be2545060e443a902973aaa5267219c07fe199b0e2d4.en.png
deleted file mode 100644
index aaa3fe3ce..000000000
Binary files a/translated_images/create-new-file-pb.0797800d977ec3ebf484be2545060e443a902973aaa5267219c07fe199b0e2d4.en.png and /dev/null differ
diff --git a/translated_images/create-new-file.2814e609c2af9aeb6c6fd53156c503ac91c3d538f9cac63073b2dd4a7631f183.en.png b/translated_images/create-new-file.2814e609c2af9aeb6c6fd53156c503ac91c3d538f9cac63073b2dd4a7631f183.en.png
deleted file mode 100644
index a1fb99b56..000000000
Binary files a/translated_images/create-new-file.2814e609c2af9aeb6c6fd53156c503ac91c3d538f9cac63073b2dd4a7631f183.en.png and /dev/null differ
diff --git a/translated_images/createcodespace.0238bbf4d7a8d955fa8fa7f7b6602a3cb6499a24708fbee589f83211c5a613b7.en.png b/translated_images/createcodespace.0238bbf4d7a8d955fa8fa7f7b6602a3cb6499a24708fbee589f83211c5a613b7.en.png
deleted file mode 100644
index 99e0f52a2..000000000
Binary files a/translated_images/createcodespace.0238bbf4d7a8d955fa8fa7f7b6602a3cb6499a24708fbee589f83211c5a613b7.en.png and /dev/null differ
diff --git a/translated_images/data-flow.fa2354e0908fecc89b488010dedf4871418a992edffa17e73441d257add18da4.en.png b/translated_images/data-flow.fa2354e0908fecc89b488010dedf4871418a992edffa17e73441d257add18da4.en.png
deleted file mode 100644
index 67291b688..000000000
Binary files a/translated_images/data-flow.fa2354e0908fecc89b488010dedf4871418a992edffa17e73441d257add18da4.en.png and /dev/null differ
diff --git a/translated_images/default-vscode-dev.5d06881d65c1b3234ce50cd9ed3b0028e6031ad5f5b441bcbed96bfa6311f6d0.en.png b/translated_images/default-vscode-dev.5d06881d65c1b3234ce50cd9ed3b0028e6031ad5f5b441bcbed96bfa6311f6d0.en.png
deleted file mode 100644
index 2dec44d47..000000000
Binary files a/translated_images/default-vscode-dev.5d06881d65c1b3234ce50cd9ed3b0028e6031ad5f5b441bcbed96bfa6311f6d0.en.png and /dev/null differ
diff --git a/translated_images/dialog.93bba104afeb79f12f65ebf8f521c5d64e179c40b791c49c242cf15f7e7fab15.en.png b/translated_images/dialog.93bba104afeb79f12f65ebf8f521c5d64e179c40b791c49c242cf15f7e7fab15.en.png
deleted file mode 100644
index d4bd5400b..000000000
Binary files a/translated_images/dialog.93bba104afeb79f12f65ebf8f521c5d64e179c40b791c49c242cf15f7e7fab15.en.png and /dev/null differ
diff --git a/translated_images/dom-tree.7daf0e763cbbba9273f9a66fe04c98276d7d23932309b195cb273a9cf1819b42.en.png b/translated_images/dom-tree.7daf0e763cbbba9273f9a66fe04c98276d7d23932309b195cb273a9cf1819b42.en.png
deleted file mode 100644
index 6de176274..000000000
Binary files a/translated_images/dom-tree.7daf0e763cbbba9273f9a66fe04c98276d7d23932309b195cb273a9cf1819b42.en.png and /dev/null differ
diff --git a/translated_images/earlybrowsers.d984b711cdf3a42ddac919d46c4b5ca7232f68ccfbd81395e04e5a64c0015277.en.jpg b/translated_images/earlybrowsers.d984b711cdf3a42ddac919d46c4b5ca7232f68ccfbd81395e04e5a64c0015277.en.jpg
deleted file mode 100644
index 321b64882..000000000
Binary files a/translated_images/earlybrowsers.d984b711cdf3a42ddac919d46c4b5ca7232f68ccfbd81395e04e5a64c0015277.en.jpg and /dev/null differ
diff --git a/translated_images/edit-a-file-pb.263555922c14fc523f53f394da84b6e155b1c6d1835dfa572b33ea98a209ef94.en.png b/translated_images/edit-a-file-pb.263555922c14fc523f53f394da84b6e155b1c6d1835dfa572b33ea98a209ef94.en.png
deleted file mode 100644
index b324f620d..000000000
Binary files a/translated_images/edit-a-file-pb.263555922c14fc523f53f394da84b6e155b1c6d1835dfa572b33ea98a209ef94.en.png and /dev/null differ
diff --git a/translated_images/edit-a-file.52c0ee665ef19f08119d62d63f395dfefddc0a4deb9268d73bfe791f52c5807a.en.png b/translated_images/edit-a-file.52c0ee665ef19f08119d62d63f395dfefddc0a4deb9268d73bfe791f52c5807a.en.png
deleted file mode 100644
index 2558533fa..000000000
Binary files a/translated_images/edit-a-file.52c0ee665ef19f08119d62d63f395dfefddc0a4deb9268d73bfe791f52c5807a.en.png and /dev/null differ
diff --git a/translated_images/en/.co-op-translator.json b/translated_images/en/.co-op-translator.json
new file mode 100644
index 000000000..245e9b0a4
--- /dev/null
+++ b/translated_images/en/.co-op-translator.json
@@ -0,0 +1,860 @@
+{
+ "1.b6da8c1394b07491.webp": {
+ "original_hash": "6b12479c2e6a54160867fa8945c04082",
+ "translation_date": "2026-03-06T11:52:51+00:00",
+ "source_file": "5-browser-extension/1-about-browsers/images/1.png",
+ "language_code": "en"
+ },
+ "1.cc07a5cbe114ad1d.webp": {
+ "original_hash": "fc436b6749801dd90d0558ae92d56b60",
+ "translation_date": "2026-03-06T11:54:08+00:00",
+ "source_file": "3-terrarium/2-intro-to-css/images/1.png",
+ "language_code": "en"
+ },
+ "2.1dae52ff08042246.webp": {
+ "original_hash": "3995628a6a986308859d0cb6eed8d787",
+ "translation_date": "2026-03-06T11:52:43+00:00",
+ "source_file": "5-browser-extension/1-about-browsers/images/2.png",
+ "language_code": "en"
+ },
+ "after-codeswing-extension-pb.0ebddddcf73b5509.webp": {
+ "original_hash": "861d59ec65a7334c5f3a4c02dfe22ceb",
+ "translation_date": "2026-03-06T11:51:34+00:00",
+ "source_file": "8-code-editor/images/after-codeswing-extension-pb.png",
+ "language_code": "en"
+ },
+ "background.148a8d43afde5730.webp": {
+ "original_hash": "5a50f015fb466782c69063ffebb256de",
+ "translation_date": "2026-03-06T11:49:32+00:00",
+ "source_file": "images/background.png",
+ "language_code": "en"
+ },
+ "backgroundColor.e19c3c60768150c8.webp": {
+ "original_hash": "b3e10fe033f615ec9d3580cce61eae09",
+ "translation_date": "2026-03-06T11:52:21+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/Background/backgroundColor.png",
+ "language_code": "en"
+ },
+ "browser-console.efaf0b51aaaf6778.webp": {
+ "original_hash": "8d6c5077d1f133d27c65c0014ef503a9",
+ "translation_date": "2026-03-06T11:53:03+00:00",
+ "source_file": "7-bank-project/2-forms/images/browser-console.png",
+ "language_code": "en"
+ },
+ "browser.60317c9be8b7f84a.webp": {
+ "original_hash": "aa4461fec006d86899864d991b50cc74",
+ "translation_date": "2026-03-06T11:49:42+00:00",
+ "source_file": "sketchnotes/browser.jpg",
+ "language_code": "en"
+ },
+ "canvas.fbd605ff8e5b8aff.webp": {
+ "original_hash": "29556305738d345dd023554d788d5477",
+ "translation_date": "2026-03-06T11:49:13+00:00",
+ "source_file": "teaching-files/canvas.png",
+ "language_code": "en"
+ },
+ "canvas_grid.5f209da785ded492.webp": {
+ "original_hash": "8da354720ffbfd778571aa17402de890",
+ "translation_date": "2026-03-06T11:52:12+00:00",
+ "source_file": "6-space-game/2-drawing-to-canvas/canvas_grid.png",
+ "language_code": "en"
+ },
+ "character.5c0dd8e067ffd693.webp": {
+ "original_hash": "076bbb4d25a17982c81973b8dba9d4fa",
+ "translation_date": "2026-03-06T11:49:27+00:00",
+ "source_file": "images/character.png",
+ "language_code": "en"
+ },
+ "click-register.e89a30bf0d4bc9ca.webp": {
+ "original_hash": "ef9688313524664fad6ab9b0e080c758",
+ "translation_date": "2026-03-06T11:52:57+00:00",
+ "source_file": "7-bank-project/2-forms/images/click-register.png",
+ "language_code": "en"
+ },
+ "clone_repo.5085c48d666ead57.webp": {
+ "original_hash": "28c00f3d5861ab95d188b4f6a2d337df",
+ "translation_date": "2026-03-06T11:54:10+00:00",
+ "source_file": "1-getting-started-lessons/2-github-basics/images/clone_repo.png",
+ "language_code": "en"
+ },
+ "clone_repo.6a202fb230ab6bdd.webp": {
+ "original_hash": "9261d014674312eece91deae958538cf",
+ "translation_date": "2026-03-06T11:49:29+00:00",
+ "source_file": "images/clone_repo.png",
+ "language_code": "en"
+ },
+ "codespace.bcecbdf5d2747d3d.webp": {
+ "original_hash": "ff86a65511122ddb448e092969566b0a",
+ "translation_date": "2026-03-06T11:54:12+00:00",
+ "source_file": "9-chat-project/assets/codespace.png",
+ "language_code": "en"
+ },
+ "create-a-fork.297ab42b4bd0af99.webp": {
+ "original_hash": "10712b80e3dcfa7c44fb8820a6ff3ad3",
+ "translation_date": "2026-03-06T11:51:36+00:00",
+ "source_file": "8-code-editor/images/create-a-fork.png",
+ "language_code": "en"
+ },
+ "create-new-file-pb.0797800d977ec3eb.webp": {
+ "original_hash": "c149c42e04132f2409651425d6924ffa",
+ "translation_date": "2026-03-06T11:51:07+00:00",
+ "source_file": "8-code-editor/images/create-new-file-pb.png",
+ "language_code": "en"
+ },
+ "create-new-file.2814e609c2af9aeb.webp": {
+ "original_hash": "cf6df76faeac2d92904e5d877b7bdf69",
+ "translation_date": "2026-03-06T11:51:04+00:00",
+ "source_file": "8-code-editor/images/create-new-file.png",
+ "language_code": "en"
+ },
+ "createcodespace.0238bbf4d7a8d955.webp": {
+ "original_hash": "4f504323085308f4a0e7b5bfb37e16d7",
+ "translation_date": "2026-03-06T11:49:25+00:00",
+ "source_file": "images/createcodespace.png",
+ "language_code": "en"
+ },
+ "data-flow.fa2354e0908fecc8.webp": {
+ "original_hash": "c9b82b42fa1973b3b7bfad9c7128c24c",
+ "translation_date": "2026-03-06T11:53:09+00:00",
+ "source_file": "7-bank-project/4-state-management/images/data-flow.png",
+ "language_code": "en"
+ },
+ "default-vscode-dev.5d06881d65c1b323.webp": {
+ "original_hash": "146fecc3a9da37cb1d5c9d628cd94996",
+ "translation_date": "2026-03-06T11:51:53+00:00",
+ "source_file": "8-code-editor/images/default-vscode-dev.png",
+ "language_code": "en"
+ },
+ "dialog.93bba104afeb79f1.webp": {
+ "original_hash": "c56b5ad7eb8c4df4b3ed8a99bf67e6e2",
+ "translation_date": "2026-03-06T11:53:09+00:00",
+ "source_file": "7-bank-project/4-state-management/images/dialog.png",
+ "language_code": "en"
+ },
+ "dom-tree.7daf0e763cbbba92.webp": {
+ "original_hash": "579f4ae298ff15a357def7f442671847",
+ "translation_date": "2026-03-06T11:53:15+00:00",
+ "source_file": "3-terrarium/3-intro-to-DOM-and-closures/images/dom-tree.png",
+ "language_code": "en"
+ },
+ "earlybrowsers.d984b711cdf3a42d.webp": {
+ "original_hash": "810a4d2348668e25289029c5cfcb67bd",
+ "translation_date": "2026-03-06T11:52:40+00:00",
+ "source_file": "5-browser-extension/1-about-browsers/images/earlybrowsers.jpg",
+ "language_code": "en"
+ },
+ "edit-a-file-pb.263555922c14fc52.webp": {
+ "original_hash": "5c52723d35259eadd110d0c720a87b04",
+ "translation_date": "2026-03-06T11:51:49+00:00",
+ "source_file": "8-code-editor/images/edit-a-file-pb.png",
+ "language_code": "en"
+ },
+ "edit-a-file.52c0ee665ef19f08.webp": {
+ "original_hash": "c28903236d60be6bba3f3848ea368c63",
+ "translation_date": "2026-03-06T11:52:11+00:00",
+ "source_file": "8-code-editor/images/edit-a-file.png",
+ "language_code": "en"
+ },
+ "enemyShip.035a46787bff658c.webp": {
+ "original_hash": "2a41854e0eaa974e8619298f3b333e11",
+ "translation_date": "2026-03-06T11:52:17+00:00",
+ "source_file": "6-space-game/5-keeping-score/solution/assets/enemyShip.png",
+ "language_code": "en"
+ },
+ "enemyShip.1a1354d7988de290.webp": {
+ "original_hash": "2a41854e0eaa974e8619298f3b333e11",
+ "translation_date": "2026-03-06T11:52:16+00:00",
+ "source_file": "6-space-game/6-end-condition/solution/assets/enemyShip.png",
+ "language_code": "en"
+ },
+ "enemyShip.22cbee6ea27a5809.webp": {
+ "original_hash": "2a41854e0eaa974e8619298f3b333e11",
+ "translation_date": "2026-03-06T11:52:14+00:00",
+ "source_file": "6-space-game/2-drawing-to-canvas/your-work/assets/enemyShip.png",
+ "language_code": "en"
+ },
+ "enemyShip.321ecb1b4eb21f2c.webp": {
+ "original_hash": "2a41854e0eaa974e8619298f3b333e11",
+ "translation_date": "2026-03-06T11:52:16+00:00",
+ "source_file": "6-space-game/5-keeping-score/your-work/assets/enemyShip.png",
+ "language_code": "en"
+ },
+ "enemyShip.4fbf2889e6129db4.webp": {
+ "original_hash": "2a41854e0eaa974e8619298f3b333e11",
+ "translation_date": "2026-03-06T11:52:15+00:00",
+ "source_file": "6-space-game/6-end-condition/your-work/assets/enemyShip.png",
+ "language_code": "en"
+ },
+ "enemyShip.5df2a822c16650c2.webp": {
+ "original_hash": "2a41854e0eaa974e8619298f3b333e11",
+ "translation_date": "2026-03-06T11:52:14+00:00",
+ "source_file": "6-space-game/2-drawing-to-canvas/solution/assets/enemyShip.png",
+ "language_code": "en"
+ },
+ "enemyShip.62983ed4bfb2220f.webp": {
+ "original_hash": "2a41854e0eaa974e8619298f3b333e11",
+ "translation_date": "2026-03-06T11:52:23+00:00",
+ "source_file": "6-space-game/3-moving-elements-around/solution/assets/enemyShip.png",
+ "language_code": "en"
+ },
+ "enemyShip.add7036e1c3c3014.webp": {
+ "original_hash": "2a41854e0eaa974e8619298f3b333e11",
+ "translation_date": "2026-03-06T11:52:14+00:00",
+ "source_file": "6-space-game/4-collision-detection/solution/assets/enemyShip.png",
+ "language_code": "en"
+ },
+ "enemyShip.b39a140287683bf7.webp": {
+ "original_hash": "2a41854e0eaa974e8619298f3b333e11",
+ "translation_date": "2026-03-06T11:52:23+00:00",
+ "source_file": "6-space-game/3-moving-elements-around/your-work/assets/enemyShip.png",
+ "language_code": "en"
+ },
+ "enemyShip.b9626ed228a17a32.webp": {
+ "original_hash": "2a41854e0eaa974e8619298f3b333e11",
+ "translation_date": "2026-03-06T11:52:13+00:00",
+ "source_file": "6-space-game/4-collision-detection/your-work/assets/enemyShip.png",
+ "language_code": "en"
+ },
+ "enemyShip.deb0477a7312f54d.webp": {
+ "original_hash": "2a41854e0eaa974e8619298f3b333e11",
+ "translation_date": "2026-03-06T11:52:19+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/enemyShip.png",
+ "language_code": "en"
+ },
+ "enemyUFO.bf8585e4e8dcdb68.webp": {
+ "original_hash": "18198bef76e4882928e4092344d0fb98",
+ "translation_date": "2026-03-06T11:52:20+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/enemyUFO.png",
+ "language_code": "en"
+ },
+ "extension-details.9f8f1fd4e9eb2de5.webp": {
+ "original_hash": "f57d2e246e6ba8a58463d7573640d714",
+ "translation_date": "2026-03-06T11:52:09+00:00",
+ "source_file": "8-code-editor/images/extension-details.png",
+ "language_code": "en"
+ },
+ "extension-screenshot.0e7f5bfa110e92e3.webp": {
+ "original_hash": "4fdd1d3fdbc9ac2c2932f83847a5e4b8",
+ "translation_date": "2026-03-06T11:49:23+00:00",
+ "source_file": "5-browser-extension/extension-screenshot.png",
+ "language_code": "en"
+ },
+ "extension-settings.21c752ae4f4cdb78.webp": {
+ "original_hash": "fd7ebcb5d84c78047026ab3337908306",
+ "translation_date": "2026-03-06T11:51:13+00:00",
+ "source_file": "8-code-editor/images/extension-settings.png",
+ "language_code": "en"
+ },
+ "extensions.eca0e0c7f59a10b5.webp": {
+ "original_hash": "a6c9c8f51d3edd917262e53664f08441",
+ "translation_date": "2026-03-06T11:51:38+00:00",
+ "source_file": "8-code-editor/images/extensions.png",
+ "language_code": "en"
+ },
+ "favicon.37b561214b36d454.webp": {
+ "original_hash": "228faa6584f8ba1f7e9a75e3200112e9",
+ "translation_date": "2026-03-06T11:49:25+00:00",
+ "source_file": "images/favicon.png",
+ "language_code": "en"
+ },
+ "form-post.61de4ca1b964d91a.webp": {
+ "original_hash": "7e95c76a8ea2e82bceea70aae89f2360",
+ "translation_date": "2026-03-06T11:52:59+00:00",
+ "source_file": "7-bank-project/2-forms/images/form-post.png",
+ "language_code": "en"
+ },
+ "history.7fdabbafa521e064.webp": {
+ "original_hash": "445d71bea6a747dfe547df7eea846439",
+ "translation_date": "2026-03-06T11:52:52+00:00",
+ "source_file": "7-bank-project/1-template-route/history.png",
+ "language_code": "en"
+ },
+ "install-on-edge.78634f02842c4828.webp": {
+ "original_hash": "6224aad8f1cd252da83c2808ff5c7a4e",
+ "translation_date": "2026-03-06T11:49:17+00:00",
+ "source_file": "5-browser-extension/install-on-edge.png",
+ "language_code": "en"
+ },
+ "install-on-edge.d68781acaf0b3d3d.webp": {
+ "original_hash": "6224aad8f1cd252da83c2808ff5c7a4e",
+ "translation_date": "2026-03-06T11:52:48+00:00",
+ "source_file": "5-browser-extension/1-about-browsers/images/install-on-edge.png",
+ "language_code": "en"
+ },
+ "laserGreen.89904f0f49945560.webp": {
+ "original_hash": "ddf7102c86fc3ec46037714c60091851",
+ "translation_date": "2026-03-06T11:52:19+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/laserGreen.png",
+ "language_code": "en"
+ },
+ "laserGreenShot.e4fbfc4714c08a5b.webp": {
+ "original_hash": "cb6ed500c16736a41998e4cd0c467df7",
+ "translation_date": "2026-03-06T11:52:19+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/laserGreenShot.png",
+ "language_code": "en"
+ },
+ "laserRed.2040e11f55c0a40a.webp": {
+ "original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
+ "translation_date": "2026-03-06T11:52:15+00:00",
+ "source_file": "6-space-game/6-end-condition/solution/assets/laserRed.png",
+ "language_code": "en"
+ },
+ "laserRed.381bc5555491ce67.webp": {
+ "original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
+ "translation_date": "2026-03-06T11:52:23+00:00",
+ "source_file": "6-space-game/3-moving-elements-around/your-work/assets/laserRed.png",
+ "language_code": "en"
+ },
+ "laserRed.69730edd76f0b3bd.webp": {
+ "original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
+ "translation_date": "2026-03-06T11:52:15+00:00",
+ "source_file": "6-space-game/6-end-condition/your-work/assets/laserRed.png",
+ "language_code": "en"
+ },
+ "laserRed.b583dc1728eb8581.webp": {
+ "original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
+ "translation_date": "2026-03-06T11:52:17+00:00",
+ "source_file": "6-space-game/5-keeping-score/solution/assets/laserRed.png",
+ "language_code": "en"
+ },
+ "laserRed.cae9ab24ea9b18fd.webp": {
+ "original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
+ "translation_date": "2026-03-06T11:52:13+00:00",
+ "source_file": "6-space-game/4-collision-detection/solution/assets/laserRed.png",
+ "language_code": "en"
+ },
+ "laserRed.d81ce4986f87c251.webp": {
+ "original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
+ "translation_date": "2026-03-06T11:52:18+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/laserRed.png",
+ "language_code": "en"
+ },
+ "laserRed.e58ef8db2585dfbe.webp": {
+ "original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
+ "translation_date": "2026-03-06T11:52:16+00:00",
+ "source_file": "6-space-game/5-keeping-score/your-work/assets/laserRed.png",
+ "language_code": "en"
+ },
+ "laserRed.e66e29ace6666064.webp": {
+ "original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
+ "translation_date": "2026-03-06T11:52:23+00:00",
+ "source_file": "6-space-game/3-moving-elements-around/solution/assets/laserRed.png",
+ "language_code": "en"
+ },
+ "laserRed.e86e8fb629c6026e.webp": {
+ "original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
+ "translation_date": "2026-03-06T11:52:13+00:00",
+ "source_file": "6-space-game/4-collision-detection/your-work/assets/laserRed.png",
+ "language_code": "en"
+ },
+ "laserRedShot.c39d066745996a71.webp": {
+ "original_hash": "1f1048184aab9d405e9f7d067a57af01",
+ "translation_date": "2026-03-06T11:52:19+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/laserRedShot.png",
+ "language_code": "en"
+ },
+ "life.27144b6d4bfdea76.webp": {
+ "original_hash": "9a5d93e699071693b15b7b157f760a90",
+ "translation_date": "2026-03-06T11:52:19+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/life.png",
+ "language_code": "en"
+ },
+ "life.2a159298dd98f4ef.webp": {
+ "original_hash": "9a5d93e699071693b15b7b157f760a90",
+ "translation_date": "2026-03-06T11:52:16+00:00",
+ "source_file": "6-space-game/5-keeping-score/your-work/assets/life.png",
+ "language_code": "en"
+ },
+ "life.466df3b1692a244a.webp": {
+ "original_hash": "9a5d93e699071693b15b7b157f760a90",
+ "translation_date": "2026-03-06T11:52:13+00:00",
+ "source_file": "6-space-game/4-collision-detection/your-work/assets/life.png",
+ "language_code": "en"
+ },
+ "life.65a2aaceca875284.webp": {
+ "original_hash": "9a5d93e699071693b15b7b157f760a90",
+ "translation_date": "2026-03-06T11:52:14+00:00",
+ "source_file": "6-space-game/4-collision-detection/solution/assets/life.png",
+ "language_code": "en"
+ },
+ "life.6fb9f50d53ee0413.webp": {
+ "original_hash": "9a5d93e699071693b15b7b157f760a90",
+ "translation_date": "2026-03-06T11:52:17+00:00",
+ "source_file": "6-space-game/5-keeping-score/solution/assets/life.png",
+ "language_code": "en"
+ },
+ "life.78b6e96a3003767e.webp": {
+ "original_hash": "9a5d93e699071693b15b7b157f760a90",
+ "translation_date": "2026-03-06T11:52:15+00:00",
+ "source_file": "6-space-game/6-end-condition/your-work/assets/life.png",
+ "language_code": "en"
+ },
+ "life.86d843ce9c23289c.webp": {
+ "original_hash": "9a5d93e699071693b15b7b157f760a90",
+ "translation_date": "2026-03-06T11:52:16+00:00",
+ "source_file": "6-space-game/6-end-condition/solution/assets/life.png",
+ "language_code": "en"
+ },
+ "localstorage.472f8147b6a3f8d1.webp": {
+ "original_hash": "7706ccb87a13a08250f315f03140bc61",
+ "translation_date": "2026-03-06T11:52:26+00:00",
+ "source_file": "5-browser-extension/2-forms-browsers-local-storage/images/localstorage.png",
+ "language_code": "en"
+ },
+ "log.804026979f3707e0.webp": {
+ "original_hash": "4c5e39f339781db01641b77b6b2d6026",
+ "translation_date": "2026-03-06T11:52:37+00:00",
+ "source_file": "5-browser-extension/3-background-tasks-and-performance/images/log.png",
+ "language_code": "en"
+ },
+ "login-error.416fe019b36a6327.webp": {
+ "original_hash": "ea96ed372d7a4c37ee2df3f0352f79d1",
+ "translation_date": "2026-03-06T11:53:04+00:00",
+ "source_file": "7-bank-project/3-data/images/login-error.png",
+ "language_code": "en"
+ },
+ "meteorBig.1e452b3ad7af50ad.webp": {
+ "original_hash": "07f37816512f563dd68780fdee2e30a6",
+ "translation_date": "2026-03-06T11:52:18+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/meteorBig.png",
+ "language_code": "en"
+ },
+ "meteorSmall.0d729bc71c12d41f.webp": {
+ "original_hash": "ebabf6690cc614f9e33f019c356166fa",
+ "translation_date": "2026-03-06T11:52:18+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/meteorSmall.png",
+ "language_code": "en"
+ },
+ "moodle.94eb93d714a50cb2.webp": {
+ "original_hash": "0d04a6ef1ac524b452d5a0aae3f45bee",
+ "translation_date": "2026-03-06T11:49:05+00:00",
+ "source_file": "teaching-files/moodle.png",
+ "language_code": "en"
+ },
+ "mpa.7f7375a1a2d4aa77.webp": {
+ "original_hash": "021255b74f0b79b0c286c163c210ef3d",
+ "translation_date": "2026-03-06T11:53:05+00:00",
+ "source_file": "7-bank-project/3-data/images/mpa.png",
+ "language_code": "en"
+ },
+ "nebula.55c2933d36d035d3.webp": {
+ "original_hash": "e0fa4f86653c6fe97bc77271c46241c2",
+ "translation_date": "2026-03-06T11:52:22+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/Background/nebula.png",
+ "language_code": "en"
+ },
+ "new-file-github.com.c886796d800e8056.webp": {
+ "original_hash": "2e0ddd0dad4734e3968b70907df9c052",
+ "translation_date": "2026-03-06T11:51:58+00:00",
+ "source_file": "8-code-editor/images/new-file-github.com.png",
+ "language_code": "en"
+ },
+ "open-palette-menu.46dda01084738da8.webp": {
+ "original_hash": "1860e80bf0534b9d54ef0fcb7e1a9f9e",
+ "translation_date": "2026-03-06T11:51:51+00:00",
+ "source_file": "8-code-editor/images/open-palette-menu.png",
+ "language_code": "en"
+ },
+ "open-remote-repository.bd9c2598b8949e7f.webp": {
+ "original_hash": "777c01a9242da7d5d0e1b037df9c86f9",
+ "translation_date": "2026-03-06T11:51:36+00:00",
+ "source_file": "8-code-editor/images/open-remote-repository.png",
+ "language_code": "en"
+ },
+ "palette-menu.4946174e07f42622.webp": {
+ "original_hash": "7387b91076790084ec8828866e88c6ce",
+ "translation_date": "2026-03-06T11:51:50+00:00",
+ "source_file": "8-code-editor/images/palette-menu.png",
+ "language_code": "en"
+ },
+ "partI-solution.36c53b48c9ffae2a.webp": {
+ "original_hash": "fbbd263368f61f8ed3a86c4571e6810b",
+ "translation_date": "2026-03-06T11:52:12+00:00",
+ "source_file": "6-space-game/2-drawing-to-canvas/partI-solution.png",
+ "language_code": "en"
+ },
+ "plant1.a876180d8659acb9.webp": {
+ "original_hash": "e08f9b0f46f6d9d7c9949d4c3e590694",
+ "translation_date": "2026-03-06T11:53:34+00:00",
+ "source_file": "3-terrarium/solution/images/plant1.png",
+ "language_code": "en"
+ },
+ "plant10.2f2c47804ae52dd3.webp": {
+ "original_hash": "dba97454882c2796c52a33c403db61f7",
+ "translation_date": "2026-03-06T11:53:49+00:00",
+ "source_file": "3-terrarium/solution/images/plant10.png",
+ "language_code": "en"
+ },
+ "plant11.0ce0081b0ef17aa1.webp": {
+ "original_hash": "68346dbd1ae03331b0a87025c3e8e9e2",
+ "translation_date": "2026-03-06T11:53:45+00:00",
+ "source_file": "3-terrarium/solution/images/plant11.png",
+ "language_code": "en"
+ },
+ "plant12.6b934c4312a00228.webp": {
+ "original_hash": "dafacde8e7a0b56c4baaabe88b4f90e2",
+ "translation_date": "2026-03-06T11:54:06+00:00",
+ "source_file": "3-terrarium/solution/images/plant12.png",
+ "language_code": "en"
+ },
+ "plant13.37d6ab2e2481421f.webp": {
+ "original_hash": "5cac561d7596ee631c4d02436d8f6998",
+ "translation_date": "2026-03-06T11:53:53+00:00",
+ "source_file": "3-terrarium/solution/images/plant13.png",
+ "language_code": "en"
+ },
+ "plant14.908791477a46eb7f.webp": {
+ "original_hash": "349b8e5a33d1221bef4a4ac3bb439bb9",
+ "translation_date": "2026-03-06T11:53:38+00:00",
+ "source_file": "3-terrarium/solution/images/plant14.png",
+ "language_code": "en"
+ },
+ "plant2.9e45efea224115b0.webp": {
+ "original_hash": "24beefd3dcca66085b44d3ae5d9758e1",
+ "translation_date": "2026-03-06T11:54:04+00:00",
+ "source_file": "3-terrarium/solution/images/plant2.png",
+ "language_code": "en"
+ },
+ "plant3.06efdd0fa0c4b115.webp": {
+ "original_hash": "7e40e6f14cf52f7d75ed42320817b044",
+ "translation_date": "2026-03-06T11:53:59+00:00",
+ "source_file": "3-terrarium/solution/images/plant3.png",
+ "language_code": "en"
+ },
+ "plant4.3b78072b427727c6.webp": {
+ "original_hash": "c523205855d0691a9a0161c6abca983c",
+ "translation_date": "2026-03-06T11:53:56+00:00",
+ "source_file": "3-terrarium/solution/images/plant4.png",
+ "language_code": "en"
+ },
+ "plant5.8ec58b18ac336fa8.webp": {
+ "original_hash": "bcf5f2eacd7da3fe6b07c857d7f5a2ce",
+ "translation_date": "2026-03-06T11:54:01+00:00",
+ "source_file": "3-terrarium/solution/images/plant5.png",
+ "language_code": "en"
+ },
+ "plant6.ca4ff8372e6676b1.webp": {
+ "original_hash": "6932fdb455fcae5b324b129367d2f56a",
+ "translation_date": "2026-03-06T11:53:41+00:00",
+ "source_file": "3-terrarium/solution/images/plant6.png",
+ "language_code": "en"
+ },
+ "plant7.194d5a42fcf5a88c.webp": {
+ "original_hash": "b7a1e35f9946cb04440ce620c34f201d",
+ "translation_date": "2026-03-06T11:53:21+00:00",
+ "source_file": "3-terrarium/solution/images/plant7.png",
+ "language_code": "en"
+ },
+ "plant8.7b247809ab0eb492.webp": {
+ "original_hash": "3eb38c747aaf33ce7aa70b58a31b62a8",
+ "translation_date": "2026-03-06T11:53:32+00:00",
+ "source_file": "3-terrarium/solution/images/plant8.png",
+ "language_code": "en"
+ },
+ "plant9.8fe614c01ded1b1e.webp": {
+ "original_hash": "a9655c162938a27c63d48ac675061e2b",
+ "translation_date": "2026-03-06T11:53:25+00:00",
+ "source_file": "3-terrarium/solution/images/plant9.png",
+ "language_code": "en"
+ },
+ "player.137ee0e47f895ffc.webp": {
+ "original_hash": "952e66c2dd458cfd6e82052f7123a97b",
+ "translation_date": "2026-03-06T11:52:16+00:00",
+ "source_file": "6-space-game/6-end-condition/solution/assets/player.png",
+ "language_code": "en"
+ },
+ "player.2887422f6982c3cd.webp": {
+ "original_hash": "952e66c2dd458cfd6e82052f7123a97b",
+ "translation_date": "2026-03-06T11:52:16+00:00",
+ "source_file": "6-space-game/5-keeping-score/your-work/assets/player.png",
+ "language_code": "en"
+ },
+ "player.391fed427ede24f5.webp": {
+ "original_hash": "952e66c2dd458cfd6e82052f7123a97b",
+ "translation_date": "2026-03-06T11:52:17+00:00",
+ "source_file": "6-space-game/5-keeping-score/solution/assets/player.png",
+ "language_code": "en"
+ },
+ "player.3c4f50182552a73a.webp": {
+ "original_hash": "952e66c2dd458cfd6e82052f7123a97b",
+ "translation_date": "2026-03-06T11:52:23+00:00",
+ "source_file": "6-space-game/3-moving-elements-around/your-work/assets/player.png",
+ "language_code": "en"
+ },
+ "player.47bc9de0714c723d.webp": {
+ "original_hash": "952e66c2dd458cfd6e82052f7123a97b",
+ "translation_date": "2026-03-06T11:52:14+00:00",
+ "source_file": "6-space-game/2-drawing-to-canvas/your-work/assets/player.png",
+ "language_code": "en"
+ },
+ "player.57b3107c03012695.webp": {
+ "original_hash": "952e66c2dd458cfd6e82052f7123a97b",
+ "translation_date": "2026-03-06T11:52:19+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/player.png",
+ "language_code": "en"
+ },
+ "player.606f85953e5e564e.webp": {
+ "original_hash": "952e66c2dd458cfd6e82052f7123a97b",
+ "translation_date": "2026-03-06T11:52:15+00:00",
+ "source_file": "6-space-game/6-end-condition/your-work/assets/player.png",
+ "language_code": "en"
+ },
+ "player.680ea4c619b54fe1.webp": {
+ "original_hash": "952e66c2dd458cfd6e82052f7123a97b",
+ "translation_date": "2026-03-06T11:52:13+00:00",
+ "source_file": "6-space-game/4-collision-detection/your-work/assets/player.png",
+ "language_code": "en"
+ },
+ "player.bfe14f110bddf56d.webp": {
+ "original_hash": "952e66c2dd458cfd6e82052f7123a97b",
+ "translation_date": "2026-03-06T11:52:23+00:00",
+ "source_file": "6-space-game/3-moving-elements-around/solution/assets/player.png",
+ "language_code": "en"
+ },
+ "player.c99c25d54a615ca0.webp": {
+ "original_hash": "952e66c2dd458cfd6e82052f7123a97b",
+ "translation_date": "2026-03-06T11:52:14+00:00",
+ "source_file": "6-space-game/4-collision-detection/solution/assets/player.png",
+ "language_code": "en"
+ },
+ "player.dd24c1afa8c71e9b.webp": {
+ "original_hash": "952e66c2dd458cfd6e82052f7123a97b",
+ "translation_date": "2026-03-06T11:52:15+00:00",
+ "source_file": "6-space-game/2-drawing-to-canvas/solution/assets/player.png",
+ "language_code": "en"
+ },
+ "playerDamaged.181703f652fd5176.webp": {
+ "original_hash": "9d71aebe7303edd536064fb0f5e2ae82",
+ "translation_date": "2026-03-06T11:52:20+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/playerDamaged.png",
+ "language_code": "en"
+ },
+ "playerLeft.0f928412e66ba5d9.webp": {
+ "original_hash": "40a42047b8ee49c6dd87c981e98d4d2e",
+ "translation_date": "2026-03-06T11:52:21+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/playerLeft.png",
+ "language_code": "en"
+ },
+ "playerRight.e4825f489e29f737.webp": {
+ "original_hash": "1c7b03f73e1d6ed74955357680cb05cb",
+ "translation_date": "2026-03-06T11:52:21+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/playerRight.png",
+ "language_code": "en"
+ },
+ "playground-choice.1d23ba7d407f4758.webp": {
+ "original_hash": "1c2e88cad7aad10922b4de1e87f1a47f",
+ "translation_date": "2026-03-06T11:54:20+00:00",
+ "source_file": "9-chat-project/assets/playground-choice.png",
+ "language_code": "en"
+ },
+ "playground.d2b927122224ff8f.webp": {
+ "original_hash": "4152bb8cd5f23e73d58b3beb52919477",
+ "translation_date": "2026-03-06T11:54:19+00:00",
+ "source_file": "9-chat-project/assets/playground.png",
+ "language_code": "en"
+ },
+ "preview.9215f0a010074476.webp": {
+ "original_hash": "6eaab6a69de1fa433e822578652c7287",
+ "translation_date": "2026-03-06T11:52:18+00:00",
+ "source_file": "6-space-game/solution/spaceArt/preview.jpg",
+ "language_code": "en"
+ },
+ "profiler.5a4a62479c5df01c.webp": {
+ "original_hash": "40b8a4d9f47e2f3e18aa2e814a15356c",
+ "translation_date": "2026-03-06T11:52:35+00:00",
+ "source_file": "5-browser-extension/3-background-tasks-and-performance/images/profiler.png",
+ "language_code": "en"
+ },
+ "project-on-vscode.dev.e79815a9a95ee7fe.webp": {
+ "original_hash": "35de4bc32ea66a11f919671558e07d52",
+ "translation_date": "2026-03-06T11:51:54+00:00",
+ "source_file": "8-code-editor/images/project-on-vscode.dev.png",
+ "language_code": "en"
+ },
+ "result.96ef01f607bf856a.webp": {
+ "original_hash": "e83c44a0fcaa7720ce32eb71d53d5250",
+ "translation_date": "2026-03-06T11:53:01+00:00",
+ "source_file": "7-bank-project/2-forms/images/result.png",
+ "language_code": "en"
+ },
+ "screen1.baccbba0f1f93364.webp": {
+ "original_hash": "92c8fa2dbe566c4e19c98a9e7de6faa6",
+ "translation_date": "2026-03-06T11:52:54+00:00",
+ "source_file": "7-bank-project/images/screen1.png",
+ "language_code": "en"
+ },
+ "screen2.123c82a831a1d14a.webp": {
+ "original_hash": "43b7f2857d5f758394e443df8fbc31cf",
+ "translation_date": "2026-03-06T11:52:56+00:00",
+ "source_file": "7-bank-project/images/screen2.png",
+ "language_code": "en"
+ },
+ "screenshot.0a1ee0d123df681b.webp": {
+ "original_hash": "f909b463a14ff6542a816470f68bfac3",
+ "translation_date": "2026-03-06T11:54:26+00:00",
+ "source_file": "9-chat-project/assets/screenshot.png",
+ "language_code": "en"
+ },
+ "screenshot.e7a5ad659e364568.webp": {
+ "original_hash": "c562c1fdc9d73658456e02b873e4dff9",
+ "translation_date": "2026-03-06T11:49:34+00:00",
+ "source_file": "images/screenshot.png",
+ "language_code": "en"
+ },
+ "screenshot_gray.0c796099a1f9f25e.webp": {
+ "original_hash": "324b7bff7867c38e100d0acad18ed53d",
+ "translation_date": "2026-03-06T11:53:11+00:00",
+ "source_file": "3-terrarium/images/screenshot_gray.png",
+ "language_code": "en"
+ },
+ "shield.1b9412b7ca6610ab.webp": {
+ "original_hash": "a672dc1a5f905918272bb58f1e236340",
+ "translation_date": "2026-03-06T11:52:20+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/shield.png",
+ "language_code": "en"
+ },
+ "snapshot.97750180ebcad737.webp": {
+ "original_hash": "9db2fa7afcc1d258ec1a130cef145f94",
+ "translation_date": "2026-03-06T11:52:27+00:00",
+ "source_file": "5-browser-extension/3-background-tasks-and-performance/images/snapshot.png",
+ "language_code": "en"
+ },
+ "spa.268ec73b41f992c2.webp": {
+ "original_hash": "3d3d7273070c2ddab04458fbb084ad4a",
+ "translation_date": "2026-03-06T11:53:06+00:00",
+ "source_file": "7-bank-project/3-data/images/spa.png",
+ "language_code": "en"
+ },
+ "speedLine.5bcabb93f48b5ae1.webp": {
+ "original_hash": "ef791dbe8ea2e21cf697831e203803d5",
+ "translation_date": "2026-03-06T11:52:22+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/Background/speedLine.png",
+ "language_code": "en"
+ },
+ "spritesheet.bec82852290b14ee.webp": {
+ "original_hash": "d593b0f366e9efd2f2b3ef18e7eb2d0c",
+ "translation_date": "2026-03-06T11:52:13+00:00",
+ "source_file": "6-space-game/solution/spritesheet.png",
+ "language_code": "en"
+ },
+ "starBackground.a897b8acb1b0587d.webp": {
+ "original_hash": "cca00ba0b9e73859ab5bb928d5ca2fa2",
+ "translation_date": "2026-03-06T11:52:22+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/Background/starBackground.png",
+ "language_code": "en"
+ },
+ "starBig.72e9c6d0d18f363d.webp": {
+ "original_hash": "4e8f1abc8b48d75990117ea8b6207842",
+ "translation_date": "2026-03-06T11:52:21+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/Background/starBig.png",
+ "language_code": "en"
+ },
+ "starSmall.ed78b961dbcd0898.webp": {
+ "original_hash": "609bf88a971475818f95816b8cf71508",
+ "translation_date": "2026-03-06T11:52:22+00:00",
+ "source_file": "6-space-game/solution/spaceArt/png/Background/starSmall.png",
+ "language_code": "en"
+ },
+ "template.67ad477109d29a2b.webp": {
+ "original_hash": "a184e4c012fd4fca9ab3c552df87bd0c",
+ "translation_date": "2026-03-06T11:54:21+00:00",
+ "source_file": "9-chat-project/assets/template.png",
+ "language_code": "en"
+ },
+ "terrarium-final.0920f16e87c13a84.webp": {
+ "original_hash": "324b7bff7867c38e100d0acad18ed53d",
+ "translation_date": "2026-03-06T11:53:17+00:00",
+ "source_file": "3-terrarium/3-intro-to-DOM-and-closures/images/terrarium-final.png",
+ "language_code": "en"
+ },
+ "terrarium-final.2f07047ffc597d0a.webp": {
+ "original_hash": "c669f9222e16690bb2015ce86bb4739c",
+ "translation_date": "2026-03-06T11:54:07+00:00",
+ "source_file": "3-terrarium/2-intro-to-css/images/terrarium-final.png",
+ "language_code": "en"
+ },
+ "validation-error.8bd23e98d416c22f.webp": {
+ "original_hash": "d614ce6b24e2583901da9038297fe327",
+ "translation_date": "2026-03-06T11:53:00+00:00",
+ "source_file": "7-bank-project/2-forms/images/validation-error.png",
+ "language_code": "en"
+ },
+ "vs-code-index.e2986cf919471eb9.webp": {
+ "original_hash": "ed8437cb2629b95551fff5e5d72ef4f5",
+ "translation_date": "2026-03-06T11:53:12+00:00",
+ "source_file": "3-terrarium/1-intro-to-html/images/vs-code-index.png",
+ "language_code": "en"
+ },
+ "webdev101-a11y.8ef3025c858d897a.webp": {
+ "original_hash": "3f5220c5d502a906028b8a85245cc6da",
+ "translation_date": "2026-03-06T11:50:41+00:00",
+ "source_file": "sketchnotes/webdev101-a11y.png",
+ "language_code": "en"
+ },
+ "webdev101-css.3f7af5991bf53a20.webp": {
+ "original_hash": "9de1dc14864697c82395b02f31a72aec",
+ "translation_date": "2026-03-06T11:50:18+00:00",
+ "source_file": "sketchnotes/webdev101-css.png",
+ "language_code": "en"
+ },
+ "webdev101-github.8846d7971abef6f9.webp": {
+ "original_hash": "412ec8fc404fead25f314e2fdb564548",
+ "translation_date": "2026-03-06T11:50:09+00:00",
+ "source_file": "sketchnotes/webdev101-github.png",
+ "language_code": "en"
+ },
+ "webdev101-html.4389c2067af68e98.webp": {
+ "original_hash": "23bf24ecb0e72f0c6c835824dec5ee54",
+ "translation_date": "2026-03-06T11:49:50+00:00",
+ "source_file": "sketchnotes/webdev101-html.png",
+ "language_code": "en"
+ },
+ "webdev101-js-arrays.439d7528b8a29455.webp": {
+ "original_hash": "564c9e2d7f8e5a3b7e23570df300c732",
+ "translation_date": "2026-03-06T11:51:02+00:00",
+ "source_file": "sketchnotes/webdev101-js-arrays.png",
+ "language_code": "en"
+ },
+ "webdev101-js-datatypes.4cc470179730702c.webp": {
+ "original_hash": "20fda1612cc0e8d20e6be01ffc28e5f7",
+ "translation_date": "2026-03-06T11:50:48+00:00",
+ "source_file": "sketchnotes/webdev101-js-datatypes.png",
+ "language_code": "en"
+ },
+ "webdev101-js-decisions.69e1b20f272dd1f0.webp": {
+ "original_hash": "5e49a0b9b4149f782a4378354ba7fd56",
+ "translation_date": "2026-03-06T11:50:33+00:00",
+ "source_file": "sketchnotes/webdev101-js-decisions.png",
+ "language_code": "en"
+ },
+ "webdev101-js-functions.be049c4726e94f8b.webp": {
+ "original_hash": "ec4279b1b2191fa07a83e78a97e81f29",
+ "translation_date": "2026-03-06T11:50:26+00:00",
+ "source_file": "sketchnotes/webdev101-js-functions.png",
+ "language_code": "en"
+ },
+ "webdev101-js.10280393044d7eaa.webp": {
+ "original_hash": "fe1f154de74b31fdeb9a6df40e7ad5e1",
+ "translation_date": "2026-03-06T11:50:56+00:00",
+ "source_file": "sketchnotes/webdev101-js.png",
+ "language_code": "en"
+ },
+ "webdev101-programming.d6e3f98e61ac4bff.webp": {
+ "original_hash": "adf4dac4d350592773dbdba8ebaaa262",
+ "translation_date": "2026-03-06T11:50:02+00:00",
+ "source_file": "sketchnotes/webdev101-programming.png",
+ "language_code": "en"
+ },
+ "working-tree-pb.6cd43e5076f23ba3.webp": {
+ "original_hash": "f6b14887694745dd143a09bd60b74185",
+ "translation_date": "2026-03-06T11:52:04+00:00",
+ "source_file": "8-code-editor/images/working-tree-pb.png",
+ "language_code": "en"
+ },
+ "working-tree.c58eec08e6335c79.webp": {
+ "original_hash": "bf2608b4302123a00a8e7b1b6a430b4a",
+ "translation_date": "2026-03-06T11:52:01+00:00",
+ "source_file": "8-code-editor/images/working-tree.png",
+ "language_code": "en"
+ }
+}
\ No newline at end of file
diff --git a/translated_images/en/1.b6da8c1394b07491.webp b/translated_images/en/1.b6da8c1394b07491.webp
new file mode 100644
index 000000000..f951b91e3
Binary files /dev/null and b/translated_images/en/1.b6da8c1394b07491.webp differ
diff --git a/translated_images/en/1.cc07a5cbe114ad1d.webp b/translated_images/en/1.cc07a5cbe114ad1d.webp
new file mode 100644
index 000000000..33cc711b8
Binary files /dev/null and b/translated_images/en/1.cc07a5cbe114ad1d.webp differ
diff --git a/translated_images/en/2.1dae52ff08042246.webp b/translated_images/en/2.1dae52ff08042246.webp
new file mode 100644
index 000000000..a36fc5a40
Binary files /dev/null and b/translated_images/en/2.1dae52ff08042246.webp differ
diff --git a/translated_images/en/after-codeswing-extension-pb.0ebddddcf73b5509.webp b/translated_images/en/after-codeswing-extension-pb.0ebddddcf73b5509.webp
new file mode 100644
index 000000000..d40b409f5
Binary files /dev/null and b/translated_images/en/after-codeswing-extension-pb.0ebddddcf73b5509.webp differ
diff --git a/translated_images/en/background.148a8d43afde5730.webp b/translated_images/en/background.148a8d43afde5730.webp
new file mode 100644
index 000000000..f735f5cd3
Binary files /dev/null and b/translated_images/en/background.148a8d43afde5730.webp differ
diff --git a/translated_images/en/backgroundColor.e19c3c60768150c8.webp b/translated_images/en/backgroundColor.e19c3c60768150c8.webp
new file mode 100644
index 000000000..415592530
Binary files /dev/null and b/translated_images/en/backgroundColor.e19c3c60768150c8.webp differ
diff --git a/translated_images/en/browser-console.efaf0b51aaaf6778.webp b/translated_images/en/browser-console.efaf0b51aaaf6778.webp
new file mode 100644
index 000000000..a40a81488
Binary files /dev/null and b/translated_images/en/browser-console.efaf0b51aaaf6778.webp differ
diff --git a/translated_images/en/browser.60317c9be8b7f84a.webp b/translated_images/en/browser.60317c9be8b7f84a.webp
new file mode 100644
index 000000000..dd13229c0
Binary files /dev/null and b/translated_images/en/browser.60317c9be8b7f84a.webp differ
diff --git a/translated_images/en/canvas.fbd605ff8e5b8aff.webp b/translated_images/en/canvas.fbd605ff8e5b8aff.webp
new file mode 100644
index 000000000..e3d6318ff
Binary files /dev/null and b/translated_images/en/canvas.fbd605ff8e5b8aff.webp differ
diff --git a/translated_images/en/canvas_grid.5f209da785ded492.webp b/translated_images/en/canvas_grid.5f209da785ded492.webp
new file mode 100644
index 000000000..2d0256c2f
Binary files /dev/null and b/translated_images/en/canvas_grid.5f209da785ded492.webp differ
diff --git a/translated_images/en/character.5c0dd8e067ffd693.webp b/translated_images/en/character.5c0dd8e067ffd693.webp
new file mode 100644
index 000000000..6a0167cb3
Binary files /dev/null and b/translated_images/en/character.5c0dd8e067ffd693.webp differ
diff --git a/translated_images/en/click-register.e89a30bf0d4bc9ca.webp b/translated_images/en/click-register.e89a30bf0d4bc9ca.webp
new file mode 100644
index 000000000..f054292ed
Binary files /dev/null and b/translated_images/en/click-register.e89a30bf0d4bc9ca.webp differ
diff --git a/translated_images/en/clone_repo.5085c48d666ead57.webp b/translated_images/en/clone_repo.5085c48d666ead57.webp
new file mode 100644
index 000000000..c384d7ea7
Binary files /dev/null and b/translated_images/en/clone_repo.5085c48d666ead57.webp differ
diff --git a/translated_images/en/clone_repo.6a202fb230ab6bdd.webp b/translated_images/en/clone_repo.6a202fb230ab6bdd.webp
new file mode 100644
index 000000000..1f0f6ea3a
Binary files /dev/null and b/translated_images/en/clone_repo.6a202fb230ab6bdd.webp differ
diff --git a/translated_images/en/codespace.bcecbdf5d2747d3d.webp b/translated_images/en/codespace.bcecbdf5d2747d3d.webp
new file mode 100644
index 000000000..95ee30832
Binary files /dev/null and b/translated_images/en/codespace.bcecbdf5d2747d3d.webp differ
diff --git a/translated_images/en/create-a-fork.297ab42b4bd0af99.webp b/translated_images/en/create-a-fork.297ab42b4bd0af99.webp
new file mode 100644
index 000000000..3e6b0419b
Binary files /dev/null and b/translated_images/en/create-a-fork.297ab42b4bd0af99.webp differ
diff --git a/translated_images/en/create-new-file-pb.0797800d977ec3eb.webp b/translated_images/en/create-new-file-pb.0797800d977ec3eb.webp
new file mode 100644
index 000000000..902427c30
Binary files /dev/null and b/translated_images/en/create-new-file-pb.0797800d977ec3eb.webp differ
diff --git a/translated_images/en/create-new-file.2814e609c2af9aeb.webp b/translated_images/en/create-new-file.2814e609c2af9aeb.webp
new file mode 100644
index 000000000..2bbfdce93
Binary files /dev/null and b/translated_images/en/create-new-file.2814e609c2af9aeb.webp differ
diff --git a/translated_images/en/createcodespace.0238bbf4d7a8d955.webp b/translated_images/en/createcodespace.0238bbf4d7a8d955.webp
new file mode 100644
index 000000000..9ae4deb49
Binary files /dev/null and b/translated_images/en/createcodespace.0238bbf4d7a8d955.webp differ
diff --git a/translated_images/en/data-flow.fa2354e0908fecc8.webp b/translated_images/en/data-flow.fa2354e0908fecc8.webp
new file mode 100644
index 000000000..f361d3b04
Binary files /dev/null and b/translated_images/en/data-flow.fa2354e0908fecc8.webp differ
diff --git a/translated_images/en/default-vscode-dev.5d06881d65c1b323.webp b/translated_images/en/default-vscode-dev.5d06881d65c1b323.webp
new file mode 100644
index 000000000..8e884d0e8
Binary files /dev/null and b/translated_images/en/default-vscode-dev.5d06881d65c1b323.webp differ
diff --git a/translated_images/en/dialog.93bba104afeb79f1.webp b/translated_images/en/dialog.93bba104afeb79f1.webp
new file mode 100644
index 000000000..20f1cab8f
Binary files /dev/null and b/translated_images/en/dialog.93bba104afeb79f1.webp differ
diff --git a/translated_images/en/dom-tree.7daf0e763cbbba92.webp b/translated_images/en/dom-tree.7daf0e763cbbba92.webp
new file mode 100644
index 000000000..295ff0ed4
Binary files /dev/null and b/translated_images/en/dom-tree.7daf0e763cbbba92.webp differ
diff --git a/translated_images/en/earlybrowsers.d984b711cdf3a42d.webp b/translated_images/en/earlybrowsers.d984b711cdf3a42d.webp
new file mode 100644
index 000000000..f63eaeaa3
Binary files /dev/null and b/translated_images/en/earlybrowsers.d984b711cdf3a42d.webp differ
diff --git a/translated_images/en/edit-a-file-pb.263555922c14fc52.webp b/translated_images/en/edit-a-file-pb.263555922c14fc52.webp
new file mode 100644
index 000000000..85cdc715b
Binary files /dev/null and b/translated_images/en/edit-a-file-pb.263555922c14fc52.webp differ
diff --git a/translated_images/en/edit-a-file.52c0ee665ef19f08.webp b/translated_images/en/edit-a-file.52c0ee665ef19f08.webp
new file mode 100644
index 000000000..7c03d44a1
Binary files /dev/null and b/translated_images/en/edit-a-file.52c0ee665ef19f08.webp differ
diff --git a/translated_images/en/enemyShip.035a46787bff658c.webp b/translated_images/en/enemyShip.035a46787bff658c.webp
new file mode 100644
index 000000000..a668c6e24
Binary files /dev/null and b/translated_images/en/enemyShip.035a46787bff658c.webp differ
diff --git a/translated_images/en/enemyShip.1a1354d7988de290.webp b/translated_images/en/enemyShip.1a1354d7988de290.webp
new file mode 100644
index 000000000..a668c6e24
Binary files /dev/null and b/translated_images/en/enemyShip.1a1354d7988de290.webp differ
diff --git a/translated_images/en/enemyShip.22cbee6ea27a5809.webp b/translated_images/en/enemyShip.22cbee6ea27a5809.webp
new file mode 100644
index 000000000..a668c6e24
Binary files /dev/null and b/translated_images/en/enemyShip.22cbee6ea27a5809.webp differ
diff --git a/translated_images/en/enemyShip.321ecb1b4eb21f2c.webp b/translated_images/en/enemyShip.321ecb1b4eb21f2c.webp
new file mode 100644
index 000000000..a668c6e24
Binary files /dev/null and b/translated_images/en/enemyShip.321ecb1b4eb21f2c.webp differ
diff --git a/translated_images/en/enemyShip.4fbf2889e6129db4.webp b/translated_images/en/enemyShip.4fbf2889e6129db4.webp
new file mode 100644
index 000000000..a668c6e24
Binary files /dev/null and b/translated_images/en/enemyShip.4fbf2889e6129db4.webp differ
diff --git a/translated_images/en/enemyShip.5df2a822c16650c2.webp b/translated_images/en/enemyShip.5df2a822c16650c2.webp
new file mode 100644
index 000000000..a668c6e24
Binary files /dev/null and b/translated_images/en/enemyShip.5df2a822c16650c2.webp differ
diff --git a/translated_images/en/enemyShip.62983ed4bfb2220f.webp b/translated_images/en/enemyShip.62983ed4bfb2220f.webp
new file mode 100644
index 000000000..a668c6e24
Binary files /dev/null and b/translated_images/en/enemyShip.62983ed4bfb2220f.webp differ
diff --git a/translated_images/en/enemyShip.add7036e1c3c3014.webp b/translated_images/en/enemyShip.add7036e1c3c3014.webp
new file mode 100644
index 000000000..a668c6e24
Binary files /dev/null and b/translated_images/en/enemyShip.add7036e1c3c3014.webp differ
diff --git a/translated_images/en/enemyShip.b39a140287683bf7.webp b/translated_images/en/enemyShip.b39a140287683bf7.webp
new file mode 100644
index 000000000..a668c6e24
Binary files /dev/null and b/translated_images/en/enemyShip.b39a140287683bf7.webp differ
diff --git a/translated_images/en/enemyShip.b9626ed228a17a32.webp b/translated_images/en/enemyShip.b9626ed228a17a32.webp
new file mode 100644
index 000000000..a668c6e24
Binary files /dev/null and b/translated_images/en/enemyShip.b9626ed228a17a32.webp differ
diff --git a/translated_images/en/enemyShip.deb0477a7312f54d.webp b/translated_images/en/enemyShip.deb0477a7312f54d.webp
new file mode 100644
index 000000000..a668c6e24
Binary files /dev/null and b/translated_images/en/enemyShip.deb0477a7312f54d.webp differ
diff --git a/translated_images/en/enemyUFO.bf8585e4e8dcdb68.webp b/translated_images/en/enemyUFO.bf8585e4e8dcdb68.webp
new file mode 100644
index 000000000..4f52507d2
Binary files /dev/null and b/translated_images/en/enemyUFO.bf8585e4e8dcdb68.webp differ
diff --git a/translated_images/en/extension-details.9f8f1fd4e9eb2de5.webp b/translated_images/en/extension-details.9f8f1fd4e9eb2de5.webp
new file mode 100644
index 000000000..2bb955796
Binary files /dev/null and b/translated_images/en/extension-details.9f8f1fd4e9eb2de5.webp differ
diff --git a/translated_images/en/extension-screenshot.0e7f5bfa110e92e3.webp b/translated_images/en/extension-screenshot.0e7f5bfa110e92e3.webp
new file mode 100644
index 000000000..fe31cfec7
Binary files /dev/null and b/translated_images/en/extension-screenshot.0e7f5bfa110e92e3.webp differ
diff --git a/translated_images/en/extension-settings.21c752ae4f4cdb78.webp b/translated_images/en/extension-settings.21c752ae4f4cdb78.webp
new file mode 100644
index 000000000..34f6b2188
Binary files /dev/null and b/translated_images/en/extension-settings.21c752ae4f4cdb78.webp differ
diff --git a/translated_images/en/extensions.eca0e0c7f59a10b5.webp b/translated_images/en/extensions.eca0e0c7f59a10b5.webp
new file mode 100644
index 000000000..8a01bafba
Binary files /dev/null and b/translated_images/en/extensions.eca0e0c7f59a10b5.webp differ
diff --git a/translated_images/en/favicon.37b561214b36d454.webp b/translated_images/en/favicon.37b561214b36d454.webp
new file mode 100644
index 000000000..48a53960d
Binary files /dev/null and b/translated_images/en/favicon.37b561214b36d454.webp differ
diff --git a/translated_images/en/form-post.61de4ca1b964d91a.webp b/translated_images/en/form-post.61de4ca1b964d91a.webp
new file mode 100644
index 000000000..edd0691f7
Binary files /dev/null and b/translated_images/en/form-post.61de4ca1b964d91a.webp differ
diff --git a/translated_images/en/history.7fdabbafa521e064.webp b/translated_images/en/history.7fdabbafa521e064.webp
new file mode 100644
index 000000000..162af5d6f
Binary files /dev/null and b/translated_images/en/history.7fdabbafa521e064.webp differ
diff --git a/translated_images/en/install-on-edge.78634f02842c4828.webp b/translated_images/en/install-on-edge.78634f02842c4828.webp
new file mode 100644
index 000000000..d00046ed7
Binary files /dev/null and b/translated_images/en/install-on-edge.78634f02842c4828.webp differ
diff --git a/translated_images/en/install-on-edge.d68781acaf0b3d3d.webp b/translated_images/en/install-on-edge.d68781acaf0b3d3d.webp
new file mode 100644
index 000000000..d00046ed7
Binary files /dev/null and b/translated_images/en/install-on-edge.d68781acaf0b3d3d.webp differ
diff --git a/translated_images/en/laserGreen.89904f0f49945560.webp b/translated_images/en/laserGreen.89904f0f49945560.webp
new file mode 100644
index 000000000..bfe37aafc
Binary files /dev/null and b/translated_images/en/laserGreen.89904f0f49945560.webp differ
diff --git a/translated_images/en/laserGreenShot.e4fbfc4714c08a5b.webp b/translated_images/en/laserGreenShot.e4fbfc4714c08a5b.webp
new file mode 100644
index 000000000..dd3e87139
Binary files /dev/null and b/translated_images/en/laserGreenShot.e4fbfc4714c08a5b.webp differ
diff --git a/translated_images/en/laserRed.2040e11f55c0a40a.webp b/translated_images/en/laserRed.2040e11f55c0a40a.webp
new file mode 100644
index 000000000..27c042acb
Binary files /dev/null and b/translated_images/en/laserRed.2040e11f55c0a40a.webp differ
diff --git a/translated_images/en/laserRed.381bc5555491ce67.webp b/translated_images/en/laserRed.381bc5555491ce67.webp
new file mode 100644
index 000000000..27c042acb
Binary files /dev/null and b/translated_images/en/laserRed.381bc5555491ce67.webp differ
diff --git a/translated_images/en/laserRed.69730edd76f0b3bd.webp b/translated_images/en/laserRed.69730edd76f0b3bd.webp
new file mode 100644
index 000000000..27c042acb
Binary files /dev/null and b/translated_images/en/laserRed.69730edd76f0b3bd.webp differ
diff --git a/translated_images/en/laserRed.b583dc1728eb8581.webp b/translated_images/en/laserRed.b583dc1728eb8581.webp
new file mode 100644
index 000000000..27c042acb
Binary files /dev/null and b/translated_images/en/laserRed.b583dc1728eb8581.webp differ
diff --git a/translated_images/en/laserRed.cae9ab24ea9b18fd.webp b/translated_images/en/laserRed.cae9ab24ea9b18fd.webp
new file mode 100644
index 000000000..27c042acb
Binary files /dev/null and b/translated_images/en/laserRed.cae9ab24ea9b18fd.webp differ
diff --git a/translated_images/en/laserRed.d81ce4986f87c251.webp b/translated_images/en/laserRed.d81ce4986f87c251.webp
new file mode 100644
index 000000000..27c042acb
Binary files /dev/null and b/translated_images/en/laserRed.d81ce4986f87c251.webp differ
diff --git a/translated_images/en/laserRed.e58ef8db2585dfbe.webp b/translated_images/en/laserRed.e58ef8db2585dfbe.webp
new file mode 100644
index 000000000..27c042acb
Binary files /dev/null and b/translated_images/en/laserRed.e58ef8db2585dfbe.webp differ
diff --git a/translated_images/en/laserRed.e66e29ace6666064.webp b/translated_images/en/laserRed.e66e29ace6666064.webp
new file mode 100644
index 000000000..27c042acb
Binary files /dev/null and b/translated_images/en/laserRed.e66e29ace6666064.webp differ
diff --git a/translated_images/en/laserRed.e86e8fb629c6026e.webp b/translated_images/en/laserRed.e86e8fb629c6026e.webp
new file mode 100644
index 000000000..27c042acb
Binary files /dev/null and b/translated_images/en/laserRed.e86e8fb629c6026e.webp differ
diff --git a/translated_images/en/laserRedShot.c39d066745996a71.webp b/translated_images/en/laserRedShot.c39d066745996a71.webp
new file mode 100644
index 000000000..99fcece7a
Binary files /dev/null and b/translated_images/en/laserRedShot.c39d066745996a71.webp differ
diff --git a/translated_images/en/life.27144b6d4bfdea76.webp b/translated_images/en/life.27144b6d4bfdea76.webp
new file mode 100644
index 000000000..442ec0a5b
Binary files /dev/null and b/translated_images/en/life.27144b6d4bfdea76.webp differ
diff --git a/translated_images/en/life.2a159298dd98f4ef.webp b/translated_images/en/life.2a159298dd98f4ef.webp
new file mode 100644
index 000000000..442ec0a5b
Binary files /dev/null and b/translated_images/en/life.2a159298dd98f4ef.webp differ
diff --git a/translated_images/en/life.466df3b1692a244a.webp b/translated_images/en/life.466df3b1692a244a.webp
new file mode 100644
index 000000000..442ec0a5b
Binary files /dev/null and b/translated_images/en/life.466df3b1692a244a.webp differ
diff --git a/translated_images/en/life.65a2aaceca875284.webp b/translated_images/en/life.65a2aaceca875284.webp
new file mode 100644
index 000000000..442ec0a5b
Binary files /dev/null and b/translated_images/en/life.65a2aaceca875284.webp differ
diff --git a/translated_images/en/life.6fb9f50d53ee0413.webp b/translated_images/en/life.6fb9f50d53ee0413.webp
new file mode 100644
index 000000000..442ec0a5b
Binary files /dev/null and b/translated_images/en/life.6fb9f50d53ee0413.webp differ
diff --git a/translated_images/en/life.78b6e96a3003767e.webp b/translated_images/en/life.78b6e96a3003767e.webp
new file mode 100644
index 000000000..442ec0a5b
Binary files /dev/null and b/translated_images/en/life.78b6e96a3003767e.webp differ
diff --git a/translated_images/en/life.86d843ce9c23289c.webp b/translated_images/en/life.86d843ce9c23289c.webp
new file mode 100644
index 000000000..442ec0a5b
Binary files /dev/null and b/translated_images/en/life.86d843ce9c23289c.webp differ
diff --git a/translated_images/en/localstorage.472f8147b6a3f8d1.webp b/translated_images/en/localstorage.472f8147b6a3f8d1.webp
new file mode 100644
index 000000000..a7e41f9d0
Binary files /dev/null and b/translated_images/en/localstorage.472f8147b6a3f8d1.webp differ
diff --git a/translated_images/en/log.804026979f3707e0.webp b/translated_images/en/log.804026979f3707e0.webp
new file mode 100644
index 000000000..f8c31cd10
Binary files /dev/null and b/translated_images/en/log.804026979f3707e0.webp differ
diff --git a/translated_images/en/login-error.416fe019b36a6327.webp b/translated_images/en/login-error.416fe019b36a6327.webp
new file mode 100644
index 000000000..4b4e36656
Binary files /dev/null and b/translated_images/en/login-error.416fe019b36a6327.webp differ
diff --git a/translated_images/en/meteorBig.1e452b3ad7af50ad.webp b/translated_images/en/meteorBig.1e452b3ad7af50ad.webp
new file mode 100644
index 000000000..39fba1031
Binary files /dev/null and b/translated_images/en/meteorBig.1e452b3ad7af50ad.webp differ
diff --git a/translated_images/en/meteorSmall.0d729bc71c12d41f.webp b/translated_images/en/meteorSmall.0d729bc71c12d41f.webp
new file mode 100644
index 000000000..631797205
Binary files /dev/null and b/translated_images/en/meteorSmall.0d729bc71c12d41f.webp differ
diff --git a/translated_images/en/moodle.94eb93d714a50cb2.webp b/translated_images/en/moodle.94eb93d714a50cb2.webp
new file mode 100644
index 000000000..90a52755e
Binary files /dev/null and b/translated_images/en/moodle.94eb93d714a50cb2.webp differ
diff --git a/translated_images/en/mpa.7f7375a1a2d4aa77.webp b/translated_images/en/mpa.7f7375a1a2d4aa77.webp
new file mode 100644
index 000000000..98d533643
Binary files /dev/null and b/translated_images/en/mpa.7f7375a1a2d4aa77.webp differ
diff --git a/translated_images/en/nebula.55c2933d36d035d3.webp b/translated_images/en/nebula.55c2933d36d035d3.webp
new file mode 100644
index 000000000..a294cbf33
Binary files /dev/null and b/translated_images/en/nebula.55c2933d36d035d3.webp differ
diff --git a/translated_images/en/new-file-github.com.c886796d800e8056.webp b/translated_images/en/new-file-github.com.c886796d800e8056.webp
new file mode 100644
index 000000000..838642e1c
Binary files /dev/null and b/translated_images/en/new-file-github.com.c886796d800e8056.webp differ
diff --git a/translated_images/en/open-palette-menu.46dda01084738da8.webp b/translated_images/en/open-palette-menu.46dda01084738da8.webp
new file mode 100644
index 000000000..66cde7f5a
Binary files /dev/null and b/translated_images/en/open-palette-menu.46dda01084738da8.webp differ
diff --git a/translated_images/en/open-remote-repository.bd9c2598b8949e7f.webp b/translated_images/en/open-remote-repository.bd9c2598b8949e7f.webp
new file mode 100644
index 000000000..7e4c3555d
Binary files /dev/null and b/translated_images/en/open-remote-repository.bd9c2598b8949e7f.webp differ
diff --git a/translated_images/en/palette-menu.4946174e07f42622.webp b/translated_images/en/palette-menu.4946174e07f42622.webp
new file mode 100644
index 000000000..a257874a1
Binary files /dev/null and b/translated_images/en/palette-menu.4946174e07f42622.webp differ
diff --git a/translated_images/en/partI-solution.36c53b48c9ffae2a.webp b/translated_images/en/partI-solution.36c53b48c9ffae2a.webp
new file mode 100644
index 000000000..e7df45a1e
Binary files /dev/null and b/translated_images/en/partI-solution.36c53b48c9ffae2a.webp differ
diff --git a/translated_images/en/plant1.a876180d8659acb9.webp b/translated_images/en/plant1.a876180d8659acb9.webp
new file mode 100644
index 000000000..0afdb8492
Binary files /dev/null and b/translated_images/en/plant1.a876180d8659acb9.webp differ
diff --git a/translated_images/en/plant10.2f2c47804ae52dd3.webp b/translated_images/en/plant10.2f2c47804ae52dd3.webp
new file mode 100644
index 000000000..a972d3197
Binary files /dev/null and b/translated_images/en/plant10.2f2c47804ae52dd3.webp differ
diff --git a/translated_images/en/plant11.0ce0081b0ef17aa1.webp b/translated_images/en/plant11.0ce0081b0ef17aa1.webp
new file mode 100644
index 000000000..83718f403
Binary files /dev/null and b/translated_images/en/plant11.0ce0081b0ef17aa1.webp differ
diff --git a/translated_images/en/plant12.6b934c4312a00228.webp b/translated_images/en/plant12.6b934c4312a00228.webp
new file mode 100644
index 000000000..abfcadc6c
Binary files /dev/null and b/translated_images/en/plant12.6b934c4312a00228.webp differ
diff --git a/translated_images/en/plant13.37d6ab2e2481421f.webp b/translated_images/en/plant13.37d6ab2e2481421f.webp
new file mode 100644
index 000000000..77816483d
Binary files /dev/null and b/translated_images/en/plant13.37d6ab2e2481421f.webp differ
diff --git a/translated_images/en/plant14.908791477a46eb7f.webp b/translated_images/en/plant14.908791477a46eb7f.webp
new file mode 100644
index 000000000..9b2eea637
Binary files /dev/null and b/translated_images/en/plant14.908791477a46eb7f.webp differ
diff --git a/translated_images/en/plant2.9e45efea224115b0.webp b/translated_images/en/plant2.9e45efea224115b0.webp
new file mode 100644
index 000000000..e6b517d90
Binary files /dev/null and b/translated_images/en/plant2.9e45efea224115b0.webp differ
diff --git a/translated_images/en/plant3.06efdd0fa0c4b115.webp b/translated_images/en/plant3.06efdd0fa0c4b115.webp
new file mode 100644
index 000000000..fa73f15cf
Binary files /dev/null and b/translated_images/en/plant3.06efdd0fa0c4b115.webp differ
diff --git a/translated_images/en/plant4.3b78072b427727c6.webp b/translated_images/en/plant4.3b78072b427727c6.webp
new file mode 100644
index 000000000..be231012e
Binary files /dev/null and b/translated_images/en/plant4.3b78072b427727c6.webp differ
diff --git a/translated_images/en/plant5.8ec58b18ac336fa8.webp b/translated_images/en/plant5.8ec58b18ac336fa8.webp
new file mode 100644
index 000000000..4e295e185
Binary files /dev/null and b/translated_images/en/plant5.8ec58b18ac336fa8.webp differ
diff --git a/translated_images/en/plant6.ca4ff8372e6676b1.webp b/translated_images/en/plant6.ca4ff8372e6676b1.webp
new file mode 100644
index 000000000..46a89a545
Binary files /dev/null and b/translated_images/en/plant6.ca4ff8372e6676b1.webp differ
diff --git a/translated_images/en/plant7.194d5a42fcf5a88c.webp b/translated_images/en/plant7.194d5a42fcf5a88c.webp
new file mode 100644
index 000000000..420dca0b9
Binary files /dev/null and b/translated_images/en/plant7.194d5a42fcf5a88c.webp differ
diff --git a/translated_images/en/plant8.7b247809ab0eb492.webp b/translated_images/en/plant8.7b247809ab0eb492.webp
new file mode 100644
index 000000000..9b4c15c2f
Binary files /dev/null and b/translated_images/en/plant8.7b247809ab0eb492.webp differ
diff --git a/translated_images/en/plant9.8fe614c01ded1b1e.webp b/translated_images/en/plant9.8fe614c01ded1b1e.webp
new file mode 100644
index 000000000..893f89540
Binary files /dev/null and b/translated_images/en/plant9.8fe614c01ded1b1e.webp differ
diff --git a/translated_images/en/player.137ee0e47f895ffc.webp b/translated_images/en/player.137ee0e47f895ffc.webp
new file mode 100644
index 000000000..879c28a80
Binary files /dev/null and b/translated_images/en/player.137ee0e47f895ffc.webp differ
diff --git a/translated_images/en/player.2887422f6982c3cd.webp b/translated_images/en/player.2887422f6982c3cd.webp
new file mode 100644
index 000000000..879c28a80
Binary files /dev/null and b/translated_images/en/player.2887422f6982c3cd.webp differ
diff --git a/translated_images/en/player.391fed427ede24f5.webp b/translated_images/en/player.391fed427ede24f5.webp
new file mode 100644
index 000000000..879c28a80
Binary files /dev/null and b/translated_images/en/player.391fed427ede24f5.webp differ
diff --git a/translated_images/en/player.3c4f50182552a73a.webp b/translated_images/en/player.3c4f50182552a73a.webp
new file mode 100644
index 000000000..879c28a80
Binary files /dev/null and b/translated_images/en/player.3c4f50182552a73a.webp differ
diff --git a/translated_images/en/player.47bc9de0714c723d.webp b/translated_images/en/player.47bc9de0714c723d.webp
new file mode 100644
index 000000000..879c28a80
Binary files /dev/null and b/translated_images/en/player.47bc9de0714c723d.webp differ
diff --git a/translated_images/en/player.57b3107c03012695.webp b/translated_images/en/player.57b3107c03012695.webp
new file mode 100644
index 000000000..879c28a80
Binary files /dev/null and b/translated_images/en/player.57b3107c03012695.webp differ
diff --git a/translated_images/en/player.606f85953e5e564e.webp b/translated_images/en/player.606f85953e5e564e.webp
new file mode 100644
index 000000000..879c28a80
Binary files /dev/null and b/translated_images/en/player.606f85953e5e564e.webp differ
diff --git a/translated_images/en/player.680ea4c619b54fe1.webp b/translated_images/en/player.680ea4c619b54fe1.webp
new file mode 100644
index 000000000..879c28a80
Binary files /dev/null and b/translated_images/en/player.680ea4c619b54fe1.webp differ
diff --git a/translated_images/en/player.bfe14f110bddf56d.webp b/translated_images/en/player.bfe14f110bddf56d.webp
new file mode 100644
index 000000000..879c28a80
Binary files /dev/null and b/translated_images/en/player.bfe14f110bddf56d.webp differ
diff --git a/translated_images/en/player.c99c25d54a615ca0.webp b/translated_images/en/player.c99c25d54a615ca0.webp
new file mode 100644
index 000000000..879c28a80
Binary files /dev/null and b/translated_images/en/player.c99c25d54a615ca0.webp differ
diff --git a/translated_images/en/player.dd24c1afa8c71e9b.webp b/translated_images/en/player.dd24c1afa8c71e9b.webp
new file mode 100644
index 000000000..879c28a80
Binary files /dev/null and b/translated_images/en/player.dd24c1afa8c71e9b.webp differ
diff --git a/translated_images/en/playerDamaged.181703f652fd5176.webp b/translated_images/en/playerDamaged.181703f652fd5176.webp
new file mode 100644
index 000000000..00d3377d9
Binary files /dev/null and b/translated_images/en/playerDamaged.181703f652fd5176.webp differ
diff --git a/translated_images/en/playerLeft.0f928412e66ba5d9.webp b/translated_images/en/playerLeft.0f928412e66ba5d9.webp
new file mode 100644
index 000000000..0856babce
Binary files /dev/null and b/translated_images/en/playerLeft.0f928412e66ba5d9.webp differ
diff --git a/translated_images/en/playerRight.e4825f489e29f737.webp b/translated_images/en/playerRight.e4825f489e29f737.webp
new file mode 100644
index 000000000..8d6696a22
Binary files /dev/null and b/translated_images/en/playerRight.e4825f489e29f737.webp differ
diff --git a/translated_images/en/playground-choice.1d23ba7d407f4758.webp b/translated_images/en/playground-choice.1d23ba7d407f4758.webp
new file mode 100644
index 000000000..bdb9df17c
Binary files /dev/null and b/translated_images/en/playground-choice.1d23ba7d407f4758.webp differ
diff --git a/translated_images/en/playground.d2b927122224ff8f.webp b/translated_images/en/playground.d2b927122224ff8f.webp
new file mode 100644
index 000000000..dbd7f55c9
Binary files /dev/null and b/translated_images/en/playground.d2b927122224ff8f.webp differ
diff --git a/translated_images/en/preview.9215f0a010074476.webp b/translated_images/en/preview.9215f0a010074476.webp
new file mode 100644
index 000000000..84346fe7c
Binary files /dev/null and b/translated_images/en/preview.9215f0a010074476.webp differ
diff --git a/translated_images/en/profiler.5a4a62479c5df01c.webp b/translated_images/en/profiler.5a4a62479c5df01c.webp
new file mode 100644
index 000000000..0cfd23b63
Binary files /dev/null and b/translated_images/en/profiler.5a4a62479c5df01c.webp differ
diff --git a/translated_images/en/project-on-vscode.dev.e79815a9a95ee7fe.webp b/translated_images/en/project-on-vscode.dev.e79815a9a95ee7fe.webp
new file mode 100644
index 000000000..afbcd98d1
Binary files /dev/null and b/translated_images/en/project-on-vscode.dev.e79815a9a95ee7fe.webp differ
diff --git a/translated_images/en/result.96ef01f607bf856a.webp b/translated_images/en/result.96ef01f607bf856a.webp
new file mode 100644
index 000000000..51ef20f14
Binary files /dev/null and b/translated_images/en/result.96ef01f607bf856a.webp differ
diff --git a/translated_images/en/screen1.baccbba0f1f93364.webp b/translated_images/en/screen1.baccbba0f1f93364.webp
new file mode 100644
index 000000000..07dc0f16a
Binary files /dev/null and b/translated_images/en/screen1.baccbba0f1f93364.webp differ
diff --git a/translated_images/en/screen2.123c82a831a1d14a.webp b/translated_images/en/screen2.123c82a831a1d14a.webp
new file mode 100644
index 000000000..9e6d9a002
Binary files /dev/null and b/translated_images/en/screen2.123c82a831a1d14a.webp differ
diff --git a/translated_images/en/screenshot.0a1ee0d123df681b.webp b/translated_images/en/screenshot.0a1ee0d123df681b.webp
new file mode 100644
index 000000000..5eee42b6e
Binary files /dev/null and b/translated_images/en/screenshot.0a1ee0d123df681b.webp differ
diff --git a/translated_images/en/screenshot.e7a5ad659e364568.webp b/translated_images/en/screenshot.e7a5ad659e364568.webp
new file mode 100644
index 000000000..b2ddd9c88
Binary files /dev/null and b/translated_images/en/screenshot.e7a5ad659e364568.webp differ
diff --git a/translated_images/en/screenshot_gray.0c796099a1f9f25e.webp b/translated_images/en/screenshot_gray.0c796099a1f9f25e.webp
new file mode 100644
index 000000000..5fc633e5c
Binary files /dev/null and b/translated_images/en/screenshot_gray.0c796099a1f9f25e.webp differ
diff --git a/translated_images/en/shield.1b9412b7ca6610ab.webp b/translated_images/en/shield.1b9412b7ca6610ab.webp
new file mode 100644
index 000000000..a2e065ca1
Binary files /dev/null and b/translated_images/en/shield.1b9412b7ca6610ab.webp differ
diff --git a/translated_images/en/snapshot.97750180ebcad737.webp b/translated_images/en/snapshot.97750180ebcad737.webp
new file mode 100644
index 000000000..0babbb24c
Binary files /dev/null and b/translated_images/en/snapshot.97750180ebcad737.webp differ
diff --git a/translated_images/en/spa.268ec73b41f992c2.webp b/translated_images/en/spa.268ec73b41f992c2.webp
new file mode 100644
index 000000000..2bd4c1405
Binary files /dev/null and b/translated_images/en/spa.268ec73b41f992c2.webp differ
diff --git a/translated_images/en/speedLine.5bcabb93f48b5ae1.webp b/translated_images/en/speedLine.5bcabb93f48b5ae1.webp
new file mode 100644
index 000000000..57b77b342
Binary files /dev/null and b/translated_images/en/speedLine.5bcabb93f48b5ae1.webp differ
diff --git a/translated_images/en/spritesheet.bec82852290b14ee.webp b/translated_images/en/spritesheet.bec82852290b14ee.webp
new file mode 100644
index 000000000..02853f8a0
Binary files /dev/null and b/translated_images/en/spritesheet.bec82852290b14ee.webp differ
diff --git a/translated_images/en/starBackground.a897b8acb1b0587d.webp b/translated_images/en/starBackground.a897b8acb1b0587d.webp
new file mode 100644
index 000000000..66280c96a
Binary files /dev/null and b/translated_images/en/starBackground.a897b8acb1b0587d.webp differ
diff --git a/translated_images/en/starBig.72e9c6d0d18f363d.webp b/translated_images/en/starBig.72e9c6d0d18f363d.webp
new file mode 100644
index 000000000..917791333
Binary files /dev/null and b/translated_images/en/starBig.72e9c6d0d18f363d.webp differ
diff --git a/translated_images/en/starSmall.ed78b961dbcd0898.webp b/translated_images/en/starSmall.ed78b961dbcd0898.webp
new file mode 100644
index 000000000..bf86a6e91
Binary files /dev/null and b/translated_images/en/starSmall.ed78b961dbcd0898.webp differ
diff --git a/translated_images/en/template.67ad477109d29a2b.webp b/translated_images/en/template.67ad477109d29a2b.webp
new file mode 100644
index 000000000..919a3d51a
Binary files /dev/null and b/translated_images/en/template.67ad477109d29a2b.webp differ
diff --git a/translated_images/en/terrarium-final.0920f16e87c13a84.webp b/translated_images/en/terrarium-final.0920f16e87c13a84.webp
new file mode 100644
index 000000000..5fc633e5c
Binary files /dev/null and b/translated_images/en/terrarium-final.0920f16e87c13a84.webp differ
diff --git a/translated_images/en/terrarium-final.2f07047ffc597d0a.webp b/translated_images/en/terrarium-final.2f07047ffc597d0a.webp
new file mode 100644
index 000000000..98ea433bf
Binary files /dev/null and b/translated_images/en/terrarium-final.2f07047ffc597d0a.webp differ
diff --git a/translated_images/en/validation-error.8bd23e98d416c22f.webp b/translated_images/en/validation-error.8bd23e98d416c22f.webp
new file mode 100644
index 000000000..6436f89c4
Binary files /dev/null and b/translated_images/en/validation-error.8bd23e98d416c22f.webp differ
diff --git a/translated_images/en/vs-code-index.e2986cf919471eb9.webp b/translated_images/en/vs-code-index.e2986cf919471eb9.webp
new file mode 100644
index 000000000..47d52d488
Binary files /dev/null and b/translated_images/en/vs-code-index.e2986cf919471eb9.webp differ
diff --git a/translated_images/en/webdev101-a11y.8ef3025c858d897a.webp b/translated_images/en/webdev101-a11y.8ef3025c858d897a.webp
new file mode 100644
index 000000000..7089cea71
Binary files /dev/null and b/translated_images/en/webdev101-a11y.8ef3025c858d897a.webp differ
diff --git a/translated_images/en/webdev101-css.3f7af5991bf53a20.webp b/translated_images/en/webdev101-css.3f7af5991bf53a20.webp
new file mode 100644
index 000000000..325aa3a8a
Binary files /dev/null and b/translated_images/en/webdev101-css.3f7af5991bf53a20.webp differ
diff --git a/translated_images/en/webdev101-github.8846d7971abef6f9.webp b/translated_images/en/webdev101-github.8846d7971abef6f9.webp
new file mode 100644
index 000000000..1a24746fa
Binary files /dev/null and b/translated_images/en/webdev101-github.8846d7971abef6f9.webp differ
diff --git a/translated_images/en/webdev101-html.4389c2067af68e98.webp b/translated_images/en/webdev101-html.4389c2067af68e98.webp
new file mode 100644
index 000000000..b52c12fcb
Binary files /dev/null and b/translated_images/en/webdev101-html.4389c2067af68e98.webp differ
diff --git a/translated_images/en/webdev101-js-arrays.439d7528b8a29455.webp b/translated_images/en/webdev101-js-arrays.439d7528b8a29455.webp
new file mode 100644
index 000000000..981bfc47c
Binary files /dev/null and b/translated_images/en/webdev101-js-arrays.439d7528b8a29455.webp differ
diff --git a/translated_images/en/webdev101-js-datatypes.4cc470179730702c.webp b/translated_images/en/webdev101-js-datatypes.4cc470179730702c.webp
new file mode 100644
index 000000000..75bca7c93
Binary files /dev/null and b/translated_images/en/webdev101-js-datatypes.4cc470179730702c.webp differ
diff --git a/translated_images/en/webdev101-js-decisions.69e1b20f272dd1f0.webp b/translated_images/en/webdev101-js-decisions.69e1b20f272dd1f0.webp
new file mode 100644
index 000000000..3f99231cf
Binary files /dev/null and b/translated_images/en/webdev101-js-decisions.69e1b20f272dd1f0.webp differ
diff --git a/translated_images/en/webdev101-js-functions.be049c4726e94f8b.webp b/translated_images/en/webdev101-js-functions.be049c4726e94f8b.webp
new file mode 100644
index 000000000..f5fef90c1
Binary files /dev/null and b/translated_images/en/webdev101-js-functions.be049c4726e94f8b.webp differ
diff --git a/translated_images/en/webdev101-js.10280393044d7eaa.webp b/translated_images/en/webdev101-js.10280393044d7eaa.webp
new file mode 100644
index 000000000..a11f4f882
Binary files /dev/null and b/translated_images/en/webdev101-js.10280393044d7eaa.webp differ
diff --git a/translated_images/en/webdev101-programming.d6e3f98e61ac4bff.webp b/translated_images/en/webdev101-programming.d6e3f98e61ac4bff.webp
new file mode 100644
index 000000000..127becaa2
Binary files /dev/null and b/translated_images/en/webdev101-programming.d6e3f98e61ac4bff.webp differ
diff --git a/translated_images/en/working-tree-pb.6cd43e5076f23ba3.webp b/translated_images/en/working-tree-pb.6cd43e5076f23ba3.webp
new file mode 100644
index 000000000..5c0775fa7
Binary files /dev/null and b/translated_images/en/working-tree-pb.6cd43e5076f23ba3.webp differ
diff --git a/translated_images/en/working-tree.c58eec08e6335c79.webp b/translated_images/en/working-tree.c58eec08e6335c79.webp
new file mode 100644
index 000000000..4dc43168b
Binary files /dev/null and b/translated_images/en/working-tree.c58eec08e6335c79.webp differ
diff --git a/translated_images/enemyShip.035a46787bff658cd126f2e02f640e60fc84536ee2d009a1a5792f3e0423c148.en.png b/translated_images/enemyShip.035a46787bff658cd126f2e02f640e60fc84536ee2d009a1a5792f3e0423c148.en.png
deleted file mode 100644
index 511221671..000000000
Binary files a/translated_images/enemyShip.035a46787bff658cd126f2e02f640e60fc84536ee2d009a1a5792f3e0423c148.en.png and /dev/null differ
diff --git a/translated_images/enemyShip.1a1354d7988de290ea352832e06745922d463e9a4a7cca3b8f89477e934b16b2.en.png b/translated_images/enemyShip.1a1354d7988de290ea352832e06745922d463e9a4a7cca3b8f89477e934b16b2.en.png
deleted file mode 100644
index 511221671..000000000
Binary files a/translated_images/enemyShip.1a1354d7988de290ea352832e06745922d463e9a4a7cca3b8f89477e934b16b2.en.png and /dev/null differ
diff --git a/translated_images/enemyShip.22cbee6ea27a5809ef09dddc81a4f77714de1a4c8fe2b29ee5d13651f8d60fe0.en.png b/translated_images/enemyShip.22cbee6ea27a5809ef09dddc81a4f77714de1a4c8fe2b29ee5d13651f8d60fe0.en.png
deleted file mode 100644
index 511221671..000000000
Binary files a/translated_images/enemyShip.22cbee6ea27a5809ef09dddc81a4f77714de1a4c8fe2b29ee5d13651f8d60fe0.en.png and /dev/null differ
diff --git a/translated_images/enemyShip.321ecb1b4eb21f2c5b74a5118216ac3cbdf4cda52de32993a6c157547e7539bd.en.png b/translated_images/enemyShip.321ecb1b4eb21f2c5b74a5118216ac3cbdf4cda52de32993a6c157547e7539bd.en.png
deleted file mode 100644
index 511221671..000000000
Binary files a/translated_images/enemyShip.321ecb1b4eb21f2c5b74a5118216ac3cbdf4cda52de32993a6c157547e7539bd.en.png and /dev/null differ
diff --git a/translated_images/enemyShip.4fbf2889e6129db41989c4c74999ae81dd8d4dd994f1df01f720e923a5749a36.en.png b/translated_images/enemyShip.4fbf2889e6129db41989c4c74999ae81dd8d4dd994f1df01f720e923a5749a36.en.png
deleted file mode 100644
index 511221671..000000000
Binary files a/translated_images/enemyShip.4fbf2889e6129db41989c4c74999ae81dd8d4dd994f1df01f720e923a5749a36.en.png and /dev/null differ
diff --git a/translated_images/enemyShip.5df2a822c16650c2fb3c06652e8ec8120cdb9122a6de46b9a1a56d54db22657f.en.png b/translated_images/enemyShip.5df2a822c16650c2fb3c06652e8ec8120cdb9122a6de46b9a1a56d54db22657f.en.png
deleted file mode 100644
index 511221671..000000000
Binary files a/translated_images/enemyShip.5df2a822c16650c2fb3c06652e8ec8120cdb9122a6de46b9a1a56d54db22657f.en.png and /dev/null differ
diff --git a/translated_images/enemyShip.62983ed4bfb2220fe28986c8c8c5e6f1528caf879a4290bddbf3550469374c5d.en.png b/translated_images/enemyShip.62983ed4bfb2220fe28986c8c8c5e6f1528caf879a4290bddbf3550469374c5d.en.png
deleted file mode 100644
index 511221671..000000000
Binary files a/translated_images/enemyShip.62983ed4bfb2220fe28986c8c8c5e6f1528caf879a4290bddbf3550469374c5d.en.png and /dev/null differ
diff --git a/translated_images/enemyShip.add7036e1c3c30144d4500534897f937d962ffb178f6d7dbb536c2b19f05d3b7.en.png b/translated_images/enemyShip.add7036e1c3c30144d4500534897f937d962ffb178f6d7dbb536c2b19f05d3b7.en.png
deleted file mode 100644
index 511221671..000000000
Binary files a/translated_images/enemyShip.add7036e1c3c30144d4500534897f937d962ffb178f6d7dbb536c2b19f05d3b7.en.png and /dev/null differ
diff --git a/translated_images/enemyShip.b39a140287683bf7a409e00e19b41f29793c9dea0220e5d9fb174978fec357a2.en.png b/translated_images/enemyShip.b39a140287683bf7a409e00e19b41f29793c9dea0220e5d9fb174978fec357a2.en.png
deleted file mode 100644
index 511221671..000000000
Binary files a/translated_images/enemyShip.b39a140287683bf7a409e00e19b41f29793c9dea0220e5d9fb174978fec357a2.en.png and /dev/null differ
diff --git a/translated_images/enemyShip.b9626ed228a17a323a180f11f359f96848de1c9ee48d76702b49cd1cc3ef3821.en.png b/translated_images/enemyShip.b9626ed228a17a323a180f11f359f96848de1c9ee48d76702b49cd1cc3ef3821.en.png
deleted file mode 100644
index 511221671..000000000
Binary files a/translated_images/enemyShip.b9626ed228a17a323a180f11f359f96848de1c9ee48d76702b49cd1cc3ef3821.en.png and /dev/null differ
diff --git a/translated_images/enemyShip.deb0477a7312f54d5e9b3f707b02af3cfa2cafa04e1e9a3dd5818e6ab0244b2c.en.png b/translated_images/enemyShip.deb0477a7312f54d5e9b3f707b02af3cfa2cafa04e1e9a3dd5818e6ab0244b2c.en.png
deleted file mode 100644
index 511221671..000000000
Binary files a/translated_images/enemyShip.deb0477a7312f54d5e9b3f707b02af3cfa2cafa04e1e9a3dd5818e6ab0244b2c.en.png and /dev/null differ
diff --git a/translated_images/enemyUFO.bf8585e4e8dcdb68e03f67a534d870334c5db3557ad4f960027eac7782cf7ceb.en.png b/translated_images/enemyUFO.bf8585e4e8dcdb68e03f67a534d870334c5db3557ad4f960027eac7782cf7ceb.en.png
deleted file mode 100644
index 0431526ad..000000000
Binary files a/translated_images/enemyUFO.bf8585e4e8dcdb68e03f67a534d870334c5db3557ad4f960027eac7782cf7ceb.en.png and /dev/null differ
diff --git a/translated_images/extension-details.9f8f1fd4e9eb2de5069ae413119eb8ee43172776383ebe2f7cf640e11df2e106.en.png b/translated_images/extension-details.9f8f1fd4e9eb2de5069ae413119eb8ee43172776383ebe2f7cf640e11df2e106.en.png
deleted file mode 100644
index e8763a282..000000000
Binary files a/translated_images/extension-details.9f8f1fd4e9eb2de5069ae413119eb8ee43172776383ebe2f7cf640e11df2e106.en.png and /dev/null differ
diff --git a/translated_images/extension-screenshot.0e7f5bfa110e92e3875e1bc9405edd45a3d2e02963e48900adb91926a62a5807.en.png b/translated_images/extension-screenshot.0e7f5bfa110e92e3875e1bc9405edd45a3d2e02963e48900adb91926a62a5807.en.png
deleted file mode 100644
index 00d0890db..000000000
Binary files a/translated_images/extension-screenshot.0e7f5bfa110e92e3875e1bc9405edd45a3d2e02963e48900adb91926a62a5807.en.png and /dev/null differ
diff --git a/translated_images/extension-settings.21c752ae4f4cdb78a867f140ccd0680e04619d0c44bb4afb26373e54b829d934.en.png b/translated_images/extension-settings.21c752ae4f4cdb78a867f140ccd0680e04619d0c44bb4afb26373e54b829d934.en.png
deleted file mode 100644
index 0b90bfbe1..000000000
Binary files a/translated_images/extension-settings.21c752ae4f4cdb78a867f140ccd0680e04619d0c44bb4afb26373e54b829d934.en.png and /dev/null differ
diff --git a/translated_images/extensions.eca0e0c7f59a10b5c88be7fe24b3e32cca6b6058b35a49026c3a9d80b1813b7c.en.png b/translated_images/extensions.eca0e0c7f59a10b5c88be7fe24b3e32cca6b6058b35a49026c3a9d80b1813b7c.en.png
deleted file mode 100644
index ecc6a080d..000000000
Binary files a/translated_images/extensions.eca0e0c7f59a10b5c88be7fe24b3e32cca6b6058b35a49026c3a9d80b1813b7c.en.png and /dev/null differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.en.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.en.png
deleted file mode 100644
index 26e0ae439..000000000
Binary files a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.en.png and /dev/null differ
diff --git a/translated_images/form-post.61de4ca1b964d91a9e338416e19f218504dd0af5f762fbebabfe7ae80edf885f.en.png b/translated_images/form-post.61de4ca1b964d91a9e338416e19f218504dd0af5f762fbebabfe7ae80edf885f.en.png
deleted file mode 100644
index 5ddd08a26..000000000
Binary files a/translated_images/form-post.61de4ca1b964d91a9e338416e19f218504dd0af5f762fbebabfe7ae80edf885f.en.png and /dev/null differ
diff --git a/translated_images/history.7fdabbafa521e06455b738d3dafa3ff41d3071deae60ead8c7e0844b9ed987d8.en.png b/translated_images/history.7fdabbafa521e06455b738d3dafa3ff41d3071deae60ead8c7e0844b9ed987d8.en.png
deleted file mode 100644
index b66a67183..000000000
Binary files a/translated_images/history.7fdabbafa521e06455b738d3dafa3ff41d3071deae60ead8c7e0844b9ed987d8.en.png and /dev/null differ
diff --git a/translated_images/install-on-edge.78634f02842c48283726c531998679a6f03a45556b2ee99d8ff231fe41446324.en.png b/translated_images/install-on-edge.78634f02842c48283726c531998679a6f03a45556b2ee99d8ff231fe41446324.en.png
deleted file mode 100644
index bcd6d49dd..000000000
Binary files a/translated_images/install-on-edge.78634f02842c48283726c531998679a6f03a45556b2ee99d8ff231fe41446324.en.png and /dev/null differ
diff --git a/translated_images/install-on-edge.d68781acaf0b3d3dada8b7507cde7a64bf74b7040d9818baaa9070668e819f90.en.png b/translated_images/install-on-edge.d68781acaf0b3d3dada8b7507cde7a64bf74b7040d9818baaa9070668e819f90.en.png
deleted file mode 100644
index bcd6d49dd..000000000
Binary files a/translated_images/install-on-edge.d68781acaf0b3d3dada8b7507cde7a64bf74b7040d9818baaa9070668e819f90.en.png and /dev/null differ
diff --git a/translated_images/laserGreen.89904f0f499455604f204b641dfe992cb6f688d5b1c82a2227d1674af84c0b20.en.png b/translated_images/laserGreen.89904f0f499455604f204b641dfe992cb6f688d5b1c82a2227d1674af84c0b20.en.png
deleted file mode 100644
index cfd373b41..000000000
Binary files a/translated_images/laserGreen.89904f0f499455604f204b641dfe992cb6f688d5b1c82a2227d1674af84c0b20.en.png and /dev/null differ
diff --git a/translated_images/laserGreenShot.e4fbfc4714c08a5b1a3e94429dde0e5ad4f010c25f0d0b6c321aea62014ed203.en.png b/translated_images/laserGreenShot.e4fbfc4714c08a5b1a3e94429dde0e5ad4f010c25f0d0b6c321aea62014ed203.en.png
deleted file mode 100644
index 816fdf33c..000000000
Binary files a/translated_images/laserGreenShot.e4fbfc4714c08a5b1a3e94429dde0e5ad4f010c25f0d0b6c321aea62014ed203.en.png and /dev/null differ
diff --git a/translated_images/laserRed.2040e11f55c0a40a9800af7a11247676b4969e6c87e697f29589f605a0192b05.en.png b/translated_images/laserRed.2040e11f55c0a40a9800af7a11247676b4969e6c87e697f29589f605a0192b05.en.png
deleted file mode 100644
index 9b6c5f9b8..000000000
Binary files a/translated_images/laserRed.2040e11f55c0a40a9800af7a11247676b4969e6c87e697f29589f605a0192b05.en.png and /dev/null differ
diff --git a/translated_images/laserRed.381bc5555491ce677eedc34e728c7c4f5676ce6c74db68d8a4d82fde952cb8fb.en.png b/translated_images/laserRed.381bc5555491ce677eedc34e728c7c4f5676ce6c74db68d8a4d82fde952cb8fb.en.png
deleted file mode 100644
index 9b6c5f9b8..000000000
Binary files a/translated_images/laserRed.381bc5555491ce677eedc34e728c7c4f5676ce6c74db68d8a4d82fde952cb8fb.en.png and /dev/null differ
diff --git a/translated_images/laserRed.69730edd76f0b3bd5a45ae075c3dd1a064017020ddff4b4c3f007c21d9a62ebc.en.png b/translated_images/laserRed.69730edd76f0b3bd5a45ae075c3dd1a064017020ddff4b4c3f007c21d9a62ebc.en.png
deleted file mode 100644
index 9b6c5f9b8..000000000
Binary files a/translated_images/laserRed.69730edd76f0b3bd5a45ae075c3dd1a064017020ddff4b4c3f007c21d9a62ebc.en.png and /dev/null differ
diff --git a/translated_images/laserRed.b583dc1728eb8581da951a0ec74c42cf06cf6903e9b939c71baaf04ef1a60f90.en.png b/translated_images/laserRed.b583dc1728eb8581da951a0ec74c42cf06cf6903e9b939c71baaf04ef1a60f90.en.png
deleted file mode 100644
index 9b6c5f9b8..000000000
Binary files a/translated_images/laserRed.b583dc1728eb8581da951a0ec74c42cf06cf6903e9b939c71baaf04ef1a60f90.en.png and /dev/null differ
diff --git a/translated_images/laserRed.cae9ab24ea9b18fd5fde4b22153f4d71291a363bd611de8108bc6a40cecefe24.en.png b/translated_images/laserRed.cae9ab24ea9b18fd5fde4b22153f4d71291a363bd611de8108bc6a40cecefe24.en.png
deleted file mode 100644
index 9b6c5f9b8..000000000
Binary files a/translated_images/laserRed.cae9ab24ea9b18fd5fde4b22153f4d71291a363bd611de8108bc6a40cecefe24.en.png and /dev/null differ
diff --git a/translated_images/laserRed.d81ce4986f87c251d4fd93a2fcfb8215c90684ad71d59de7bb0c2561a8e76d56.en.png b/translated_images/laserRed.d81ce4986f87c251d4fd93a2fcfb8215c90684ad71d59de7bb0c2561a8e76d56.en.png
deleted file mode 100644
index 9b6c5f9b8..000000000
Binary files a/translated_images/laserRed.d81ce4986f87c251d4fd93a2fcfb8215c90684ad71d59de7bb0c2561a8e76d56.en.png and /dev/null differ
diff --git a/translated_images/laserRed.e58ef8db2585dfbe451c9f46f4190d75f555479ddc24e2b75be28fe3a2894f24.en.png b/translated_images/laserRed.e58ef8db2585dfbe451c9f46f4190d75f555479ddc24e2b75be28fe3a2894f24.en.png
deleted file mode 100644
index 9b6c5f9b8..000000000
Binary files a/translated_images/laserRed.e58ef8db2585dfbe451c9f46f4190d75f555479ddc24e2b75be28fe3a2894f24.en.png and /dev/null differ
diff --git a/translated_images/laserRed.e66e29ace6666064cf451ce990d73b779028e21542cded84ecad88577353aad1.en.png b/translated_images/laserRed.e66e29ace6666064cf451ce990d73b779028e21542cded84ecad88577353aad1.en.png
deleted file mode 100644
index 9b6c5f9b8..000000000
Binary files a/translated_images/laserRed.e66e29ace6666064cf451ce990d73b779028e21542cded84ecad88577353aad1.en.png and /dev/null differ
diff --git a/translated_images/laserRed.e86e8fb629c6026e20cc7e8507f8a1f2fc82cc355117c721eb08ac67c40d3e6a.en.png b/translated_images/laserRed.e86e8fb629c6026e20cc7e8507f8a1f2fc82cc355117c721eb08ac67c40d3e6a.en.png
deleted file mode 100644
index 9b6c5f9b8..000000000
Binary files a/translated_images/laserRed.e86e8fb629c6026e20cc7e8507f8a1f2fc82cc355117c721eb08ac67c40d3e6a.en.png and /dev/null differ
diff --git a/translated_images/laserRedShot.c39d066745996a71e5ffb0eeec4eff60fede6dc7fb65bdf8ef8b64193fda04c9.en.png b/translated_images/laserRedShot.c39d066745996a71e5ffb0eeec4eff60fede6dc7fb65bdf8ef8b64193fda04c9.en.png
deleted file mode 100644
index 28ecda5ba..000000000
Binary files a/translated_images/laserRedShot.c39d066745996a71e5ffb0eeec4eff60fede6dc7fb65bdf8ef8b64193fda04c9.en.png and /dev/null differ
diff --git a/translated_images/life.27144b6d4bfdea76e9613184ff89c93d44888d2c9068a8599553a4306cd539ea.en.png b/translated_images/life.27144b6d4bfdea76e9613184ff89c93d44888d2c9068a8599553a4306cd539ea.en.png
deleted file mode 100644
index 3487f796a..000000000
Binary files a/translated_images/life.27144b6d4bfdea76e9613184ff89c93d44888d2c9068a8599553a4306cd539ea.en.png and /dev/null differ
diff --git a/translated_images/life.2a159298dd98f4efde6d8b2792eaff08d6944f39e57dbfa65b0b3d7f27addf7e.en.png b/translated_images/life.2a159298dd98f4efde6d8b2792eaff08d6944f39e57dbfa65b0b3d7f27addf7e.en.png
deleted file mode 100644
index 3487f796a..000000000
Binary files a/translated_images/life.2a159298dd98f4efde6d8b2792eaff08d6944f39e57dbfa65b0b3d7f27addf7e.en.png and /dev/null differ
diff --git a/translated_images/life.466df3b1692a244ad9189538ae5184e6bb43165d7c3172f66b5a60790a1541cc.en.png b/translated_images/life.466df3b1692a244ad9189538ae5184e6bb43165d7c3172f66b5a60790a1541cc.en.png
deleted file mode 100644
index 3487f796a..000000000
Binary files a/translated_images/life.466df3b1692a244ad9189538ae5184e6bb43165d7c3172f66b5a60790a1541cc.en.png and /dev/null differ
diff --git a/translated_images/life.65a2aaceca87528424e6e93a36e953b58d4facfefbfd42dc4d6ad2db43076018.en.png b/translated_images/life.65a2aaceca87528424e6e93a36e953b58d4facfefbfd42dc4d6ad2db43076018.en.png
deleted file mode 100644
index 3487f796a..000000000
Binary files a/translated_images/life.65a2aaceca87528424e6e93a36e953b58d4facfefbfd42dc4d6ad2db43076018.en.png and /dev/null differ
diff --git a/translated_images/life.6fb9f50d53ee0413cd91aa411f7c296e10a1a6de5c4a4197c718b49bf7d63ebf.en.png b/translated_images/life.6fb9f50d53ee0413cd91aa411f7c296e10a1a6de5c4a4197c718b49bf7d63ebf.en.png
deleted file mode 100644
index 3487f796a..000000000
Binary files a/translated_images/life.6fb9f50d53ee0413cd91aa411f7c296e10a1a6de5c4a4197c718b49bf7d63ebf.en.png and /dev/null differ
diff --git a/translated_images/life.78b6e96a3003767e113e7d6fbb5d57fc59245a92579256c08af23c93f2e2b0a3.en.png b/translated_images/life.78b6e96a3003767e113e7d6fbb5d57fc59245a92579256c08af23c93f2e2b0a3.en.png
deleted file mode 100644
index 3487f796a..000000000
Binary files a/translated_images/life.78b6e96a3003767e113e7d6fbb5d57fc59245a92579256c08af23c93f2e2b0a3.en.png and /dev/null differ
diff --git a/translated_images/life.86d843ce9c23289c0094eff7154a7b6d3cada290b7db733424ee1c68864143c5.en.png b/translated_images/life.86d843ce9c23289c0094eff7154a7b6d3cada290b7db733424ee1c68864143c5.en.png
deleted file mode 100644
index 3487f796a..000000000
Binary files a/translated_images/life.86d843ce9c23289c0094eff7154a7b6d3cada290b7db733424ee1c68864143c5.en.png and /dev/null differ
diff --git a/translated_images/localstorage.472f8147b6a3f8d141d9551c95a2da610ac9a3c6a73d4a1c224081c98bae09d9.en.png b/translated_images/localstorage.472f8147b6a3f8d141d9551c95a2da610ac9a3c6a73d4a1c224081c98bae09d9.en.png
deleted file mode 100644
index 251fcfcee..000000000
Binary files a/translated_images/localstorage.472f8147b6a3f8d141d9551c95a2da610ac9a3c6a73d4a1c224081c98bae09d9.en.png and /dev/null differ
diff --git a/translated_images/log.804026979f3707e00eebcfa028b2b5a88cec6292f858767bb6703afba65a7d9c.en.png b/translated_images/log.804026979f3707e00eebcfa028b2b5a88cec6292f858767bb6703afba65a7d9c.en.png
deleted file mode 100644
index 10c7c0d0d..000000000
Binary files a/translated_images/log.804026979f3707e00eebcfa028b2b5a88cec6292f858767bb6703afba65a7d9c.en.png and /dev/null differ
diff --git a/translated_images/login-error.416fe019b36a63276764c2349df5d99e04ebda54fefe60c715ee87a28d5d4ad0.en.png b/translated_images/login-error.416fe019b36a63276764c2349df5d99e04ebda54fefe60c715ee87a28d5d4ad0.en.png
deleted file mode 100644
index 53147dc21..000000000
Binary files a/translated_images/login-error.416fe019b36a63276764c2349df5d99e04ebda54fefe60c715ee87a28d5d4ad0.en.png and /dev/null differ
diff --git a/translated_images/meteorBig.1e452b3ad7af50adaafcbe25c82b2758be31cdff66d6b417b79f5453bf9ad3e0.en.png b/translated_images/meteorBig.1e452b3ad7af50adaafcbe25c82b2758be31cdff66d6b417b79f5453bf9ad3e0.en.png
deleted file mode 100644
index b3cd54079..000000000
Binary files a/translated_images/meteorBig.1e452b3ad7af50adaafcbe25c82b2758be31cdff66d6b417b79f5453bf9ad3e0.en.png and /dev/null differ
diff --git a/translated_images/meteorSmall.0d729bc71c12d41f26f077dfbecaccb9016e21e11dac7966e4f2de825e5de3b6.en.png b/translated_images/meteorSmall.0d729bc71c12d41f26f077dfbecaccb9016e21e11dac7966e4f2de825e5de3b6.en.png
deleted file mode 100644
index a61e0e285..000000000
Binary files a/translated_images/meteorSmall.0d729bc71c12d41f26f077dfbecaccb9016e21e11dac7966e4f2de825e5de3b6.en.png and /dev/null differ
diff --git a/translated_images/moodle.94eb93d714a50cb2c97435b408017dee224348b61bc86203ffd43a4f4e57b95f.en.png b/translated_images/moodle.94eb93d714a50cb2c97435b408017dee224348b61bc86203ffd43a4f4e57b95f.en.png
deleted file mode 100644
index 65b0a4fd6..000000000
Binary files a/translated_images/moodle.94eb93d714a50cb2c97435b408017dee224348b61bc86203ffd43a4f4e57b95f.en.png and /dev/null differ
diff --git a/translated_images/mpa.7f7375a1a2d4aa779d3f928a2aaaf9ad76bcdeb05cfce2dc27ab126024050f51.en.png b/translated_images/mpa.7f7375a1a2d4aa779d3f928a2aaaf9ad76bcdeb05cfce2dc27ab126024050f51.en.png
deleted file mode 100644
index a1eff225e..000000000
Binary files a/translated_images/mpa.7f7375a1a2d4aa779d3f928a2aaaf9ad76bcdeb05cfce2dc27ab126024050f51.en.png and /dev/null differ
diff --git a/translated_images/nebula.55c2933d36d035d359ef8d8422e7a7f260b3f6d15c026a18472bf8e71185d59c.en.png b/translated_images/nebula.55c2933d36d035d359ef8d8422e7a7f260b3f6d15c026a18472bf8e71185d59c.en.png
deleted file mode 100644
index 755230882..000000000
Binary files a/translated_images/nebula.55c2933d36d035d359ef8d8422e7a7f260b3f6d15c026a18472bf8e71185d59c.en.png and /dev/null differ
diff --git a/translated_images/new-file-github.com.c886796d800e8056561829a181be1382c5303da9d902d8b2dd82b68a4806e21f.en.png b/translated_images/new-file-github.com.c886796d800e8056561829a181be1382c5303da9d902d8b2dd82b68a4806e21f.en.png
deleted file mode 100644
index 6032b4abf..000000000
Binary files a/translated_images/new-file-github.com.c886796d800e8056561829a181be1382c5303da9d902d8b2dd82b68a4806e21f.en.png and /dev/null differ
diff --git a/translated_images/open-palette-menu.46dda01084738da84fc55100956fcc915f33e9de8c19813148ac3b1803871cff.en.png b/translated_images/open-palette-menu.46dda01084738da84fc55100956fcc915f33e9de8c19813148ac3b1803871cff.en.png
deleted file mode 100644
index 4d8582431..000000000
Binary files a/translated_images/open-palette-menu.46dda01084738da84fc55100956fcc915f33e9de8c19813148ac3b1803871cff.en.png and /dev/null differ
diff --git a/translated_images/open-remote-repository.bd9c2598b8949e7fc283cdfc8f4050c6205a7c7c6d3f78c4b135115d037d6fa2.en.png b/translated_images/open-remote-repository.bd9c2598b8949e7fc283cdfc8f4050c6205a7c7c6d3f78c4b135115d037d6fa2.en.png
deleted file mode 100644
index 9dc30ee1c..000000000
Binary files a/translated_images/open-remote-repository.bd9c2598b8949e7fc283cdfc8f4050c6205a7c7c6d3f78c4b135115d037d6fa2.en.png and /dev/null differ
diff --git a/translated_images/palette-menu.4946174e07f426226afcdad707d19b8d5150e41591c751c45b5dee213affef91.en.png b/translated_images/palette-menu.4946174e07f426226afcdad707d19b8d5150e41591c751c45b5dee213affef91.en.png
deleted file mode 100644
index 1c1b335c9..000000000
Binary files a/translated_images/palette-menu.4946174e07f426226afcdad707d19b8d5150e41591c751c45b5dee213affef91.en.png and /dev/null differ
diff --git a/translated_images/partI-solution.36c53b48c9ffae2a5e15496b23b604ba5393433e4bf91608a7a0a020eb7a2691.en.png b/translated_images/partI-solution.36c53b48c9ffae2a5e15496b23b604ba5393433e4bf91608a7a0a020eb7a2691.en.png
deleted file mode 100644
index 88783500d..000000000
Binary files a/translated_images/partI-solution.36c53b48c9ffae2a5e15496b23b604ba5393433e4bf91608a7a0a020eb7a2691.en.png and /dev/null differ
diff --git a/translated_images/plant1.a876180d8659acb9a51f95b2466b207b95dec201fafa23efcd4137fb62d0acb1.en.png b/translated_images/plant1.a876180d8659acb9a51f95b2466b207b95dec201fafa23efcd4137fb62d0acb1.en.png
deleted file mode 100644
index 0632233d0..000000000
Binary files a/translated_images/plant1.a876180d8659acb9a51f95b2466b207b95dec201fafa23efcd4137fb62d0acb1.en.png and /dev/null differ
diff --git a/translated_images/plant10.2f2c47804ae52dd3550b3f97782a76629d5819bba30e8a8b79933a9ccde606d4.en.png b/translated_images/plant10.2f2c47804ae52dd3550b3f97782a76629d5819bba30e8a8b79933a9ccde606d4.en.png
deleted file mode 100644
index 209ee5d22..000000000
Binary files a/translated_images/plant10.2f2c47804ae52dd3550b3f97782a76629d5819bba30e8a8b79933a9ccde606d4.en.png and /dev/null differ
diff --git a/translated_images/plant11.0ce0081b0ef17aa1793cc5fe6d7de6f8cf7f8cfb24933c3c457386194fc10e77.en.png b/translated_images/plant11.0ce0081b0ef17aa1793cc5fe6d7de6f8cf7f8cfb24933c3c457386194fc10e77.en.png
deleted file mode 100644
index 201bec9e6..000000000
Binary files a/translated_images/plant11.0ce0081b0ef17aa1793cc5fe6d7de6f8cf7f8cfb24933c3c457386194fc10e77.en.png and /dev/null differ
diff --git a/translated_images/plant12.6b934c4312a00228719509ac56cd568ec45672bfdcc732bac7f42391035d606c.en.png b/translated_images/plant12.6b934c4312a00228719509ac56cd568ec45672bfdcc732bac7f42391035d606c.en.png
deleted file mode 100644
index 593e15732..000000000
Binary files a/translated_images/plant12.6b934c4312a00228719509ac56cd568ec45672bfdcc732bac7f42391035d606c.en.png and /dev/null differ
diff --git a/translated_images/plant13.37d6ab2e2481421f0611f07685309cc07fe42d63e6abbaa963f972dbff7d176d.en.png b/translated_images/plant13.37d6ab2e2481421f0611f07685309cc07fe42d63e6abbaa963f972dbff7d176d.en.png
deleted file mode 100644
index 0f69b814b..000000000
Binary files a/translated_images/plant13.37d6ab2e2481421f0611f07685309cc07fe42d63e6abbaa963f972dbff7d176d.en.png and /dev/null differ
diff --git a/translated_images/plant14.908791477a46eb7f40a85155f53861fa5734be5075443b5c19f78e758f64d286.en.png b/translated_images/plant14.908791477a46eb7f40a85155f53861fa5734be5075443b5c19f78e758f64d286.en.png
deleted file mode 100644
index 221277ef2..000000000
Binary files a/translated_images/plant14.908791477a46eb7f40a85155f53861fa5734be5075443b5c19f78e758f64d286.en.png and /dev/null differ
diff --git a/translated_images/plant2.9e45efea224115b077fade85ce6871246bf85de20f419c57faed6b78e9ac7fcd.en.png b/translated_images/plant2.9e45efea224115b077fade85ce6871246bf85de20f419c57faed6b78e9ac7fcd.en.png
deleted file mode 100644
index 331ca68d1..000000000
Binary files a/translated_images/plant2.9e45efea224115b077fade85ce6871246bf85de20f419c57faed6b78e9ac7fcd.en.png and /dev/null differ
diff --git a/translated_images/plant3.06efdd0fa0c4b1152034312e11765b1a8fad48ebc00b72a3e7df657f66f45449.en.png b/translated_images/plant3.06efdd0fa0c4b1152034312e11765b1a8fad48ebc00b72a3e7df657f66f45449.en.png
deleted file mode 100644
index d94bd097e..000000000
Binary files a/translated_images/plant3.06efdd0fa0c4b1152034312e11765b1a8fad48ebc00b72a3e7df657f66f45449.en.png and /dev/null differ
diff --git a/translated_images/plant4.3b78072b427727c6e6eb08eefc8451b248577412dd025002cefb707238e8bf46.en.png b/translated_images/plant4.3b78072b427727c6e6eb08eefc8451b248577412dd025002cefb707238e8bf46.en.png
deleted file mode 100644
index c60f756c7..000000000
Binary files a/translated_images/plant4.3b78072b427727c6e6eb08eefc8451b248577412dd025002cefb707238e8bf46.en.png and /dev/null differ
diff --git a/translated_images/plant5.8ec58b18ac336fa8ec87ce1d5b433ee58c4918e67fdf0315d5407d80cbd97569.en.png b/translated_images/plant5.8ec58b18ac336fa8ec87ce1d5b433ee58c4918e67fdf0315d5407d80cbd97569.en.png
deleted file mode 100644
index f2fe32fb9..000000000
Binary files a/translated_images/plant5.8ec58b18ac336fa8ec87ce1d5b433ee58c4918e67fdf0315d5407d80cbd97569.en.png and /dev/null differ
diff --git a/translated_images/plant6.ca4ff8372e6676b1ffed650fba21cb2af52c70df969a8203e57fb5bedd81e9f0.en.png b/translated_images/plant6.ca4ff8372e6676b1ffed650fba21cb2af52c70df969a8203e57fb5bedd81e9f0.en.png
deleted file mode 100644
index 82e0db0d9..000000000
Binary files a/translated_images/plant6.ca4ff8372e6676b1ffed650fba21cb2af52c70df969a8203e57fb5bedd81e9f0.en.png and /dev/null differ
diff --git a/translated_images/plant7.194d5a42fcf5a88c5dd4960c68e6f78707acdb4e21bf533a6a65f8d002ab660b.en.png b/translated_images/plant7.194d5a42fcf5a88c5dd4960c68e6f78707acdb4e21bf533a6a65f8d002ab660b.en.png
deleted file mode 100644
index 07cb7054d..000000000
Binary files a/translated_images/plant7.194d5a42fcf5a88c5dd4960c68e6f78707acdb4e21bf533a6a65f8d002ab660b.en.png and /dev/null differ
diff --git a/translated_images/plant8.7b247809ab0eb492105cac4f42b79ac771ce56e401fdf3df170b3b6ef03c5642.en.png b/translated_images/plant8.7b247809ab0eb492105cac4f42b79ac771ce56e401fdf3df170b3b6ef03c5642.en.png
deleted file mode 100644
index a0d261a90..000000000
Binary files a/translated_images/plant8.7b247809ab0eb492105cac4f42b79ac771ce56e401fdf3df170b3b6ef03c5642.en.png and /dev/null differ
diff --git a/translated_images/plant9.8fe614c01ded1b1ec05d1b4d6d527047b1ece5edba299c1c516aaf4b05eb19ed.en.png b/translated_images/plant9.8fe614c01ded1b1ec05d1b4d6d527047b1ece5edba299c1c516aaf4b05eb19ed.en.png
deleted file mode 100644
index bc09a0506..000000000
Binary files a/translated_images/plant9.8fe614c01ded1b1ec05d1b4d6d527047b1ece5edba299c1c516aaf4b05eb19ed.en.png and /dev/null differ
diff --git a/translated_images/player.137ee0e47f895ffcdb50ba1b316936715ec8decfd6cee3258332a6c60e5d0d04.en.png b/translated_images/player.137ee0e47f895ffcdb50ba1b316936715ec8decfd6cee3258332a6c60e5d0d04.en.png
deleted file mode 100644
index 13fc0247c..000000000
Binary files a/translated_images/player.137ee0e47f895ffcdb50ba1b316936715ec8decfd6cee3258332a6c60e5d0d04.en.png and /dev/null differ
diff --git a/translated_images/player.2887422f6982c3cd284b2bafd7551ff073a7b7b8a66edd2f0c2c722f94acfd5c.en.png b/translated_images/player.2887422f6982c3cd284b2bafd7551ff073a7b7b8a66edd2f0c2c722f94acfd5c.en.png
deleted file mode 100644
index 13fc0247c..000000000
Binary files a/translated_images/player.2887422f6982c3cd284b2bafd7551ff073a7b7b8a66edd2f0c2c722f94acfd5c.en.png and /dev/null differ
diff --git a/translated_images/player.391fed427ede24f513d4b559cff8ff60f00818b31c81268b783a7f89054fda90.en.png b/translated_images/player.391fed427ede24f513d4b559cff8ff60f00818b31c81268b783a7f89054fda90.en.png
deleted file mode 100644
index 13fc0247c..000000000
Binary files a/translated_images/player.391fed427ede24f513d4b559cff8ff60f00818b31c81268b783a7f89054fda90.en.png and /dev/null differ
diff --git a/translated_images/player.3c4f50182552a73a2b22542c75209c57231da2f51d88d571f198382e2fb3b45b.en.png b/translated_images/player.3c4f50182552a73a2b22542c75209c57231da2f51d88d571f198382e2fb3b45b.en.png
deleted file mode 100644
index 13fc0247c..000000000
Binary files a/translated_images/player.3c4f50182552a73a2b22542c75209c57231da2f51d88d571f198382e2fb3b45b.en.png and /dev/null differ
diff --git a/translated_images/player.47bc9de0714c723dfe0705c328fb8769de71c87b99d340921c2247674d9d631a.en.png b/translated_images/player.47bc9de0714c723dfe0705c328fb8769de71c87b99d340921c2247674d9d631a.en.png
deleted file mode 100644
index 13fc0247c..000000000
Binary files a/translated_images/player.47bc9de0714c723dfe0705c328fb8769de71c87b99d340921c2247674d9d631a.en.png and /dev/null differ
diff --git a/translated_images/player.57b3107c03012695cedb271fdda06900e2d0d9580ae5fab5c563fdb029ba8584.en.png b/translated_images/player.57b3107c03012695cedb271fdda06900e2d0d9580ae5fab5c563fdb029ba8584.en.png
deleted file mode 100644
index 13fc0247c..000000000
Binary files a/translated_images/player.57b3107c03012695cedb271fdda06900e2d0d9580ae5fab5c563fdb029ba8584.en.png and /dev/null differ
diff --git a/translated_images/player.606f85953e5e564e7711d22697724750fdcc661d5f7c5295e2da7e46905fd322.en.png b/translated_images/player.606f85953e5e564e7711d22697724750fdcc661d5f7c5295e2da7e46905fd322.en.png
deleted file mode 100644
index 13fc0247c..000000000
Binary files a/translated_images/player.606f85953e5e564e7711d22697724750fdcc661d5f7c5295e2da7e46905fd322.en.png and /dev/null differ
diff --git a/translated_images/player.680ea4c619b54fe160261abdfe2e68139dedacb8d884b6cb405b9a6ab162940d.en.png b/translated_images/player.680ea4c619b54fe160261abdfe2e68139dedacb8d884b6cb405b9a6ab162940d.en.png
deleted file mode 100644
index 13fc0247c..000000000
Binary files a/translated_images/player.680ea4c619b54fe160261abdfe2e68139dedacb8d884b6cb405b9a6ab162940d.en.png and /dev/null differ
diff --git a/translated_images/player.bfe14f110bddf56d10a1989066d170af2ce6b1412626c37a7e184963e54c7ef4.en.png b/translated_images/player.bfe14f110bddf56d10a1989066d170af2ce6b1412626c37a7e184963e54c7ef4.en.png
deleted file mode 100644
index 13fc0247c..000000000
Binary files a/translated_images/player.bfe14f110bddf56d10a1989066d170af2ce6b1412626c37a7e184963e54c7ef4.en.png and /dev/null differ
diff --git a/translated_images/player.c99c25d54a615ca088fc55515a6ee76c766fba0e31b167816062f3ab3d22fbcd.en.png b/translated_images/player.c99c25d54a615ca088fc55515a6ee76c766fba0e31b167816062f3ab3d22fbcd.en.png
deleted file mode 100644
index 13fc0247c..000000000
Binary files a/translated_images/player.c99c25d54a615ca088fc55515a6ee76c766fba0e31b167816062f3ab3d22fbcd.en.png and /dev/null differ
diff --git a/translated_images/player.dd24c1afa8c71e9b82b2958946d4bad13308681392d4b5ddcc61a0e818ef8088.en.png b/translated_images/player.dd24c1afa8c71e9b82b2958946d4bad13308681392d4b5ddcc61a0e818ef8088.en.png
deleted file mode 100644
index 13fc0247c..000000000
Binary files a/translated_images/player.dd24c1afa8c71e9b82b2958946d4bad13308681392d4b5ddcc61a0e818ef8088.en.png and /dev/null differ
diff --git a/translated_images/playerDamaged.181703f652fd5176d25dbc286cdab2b79c9d7470dfd95af344dbb024780b6176.en.png b/translated_images/playerDamaged.181703f652fd5176d25dbc286cdab2b79c9d7470dfd95af344dbb024780b6176.en.png
deleted file mode 100644
index 91d73b263..000000000
Binary files a/translated_images/playerDamaged.181703f652fd5176d25dbc286cdab2b79c9d7470dfd95af344dbb024780b6176.en.png and /dev/null differ
diff --git a/translated_images/playerLeft.0f928412e66ba5d9455ccc99ef113088d2510843b23f8dbcd3106425b221979f.en.png b/translated_images/playerLeft.0f928412e66ba5d9455ccc99ef113088d2510843b23f8dbcd3106425b221979f.en.png
deleted file mode 100644
index 941cd3ace..000000000
Binary files a/translated_images/playerLeft.0f928412e66ba5d9455ccc99ef113088d2510843b23f8dbcd3106425b221979f.en.png and /dev/null differ
diff --git a/translated_images/playerRight.e4825f489e29f73719f8e3197ba0e5742e2ffbc178641009b57fe254c6abdc38.en.png b/translated_images/playerRight.e4825f489e29f73719f8e3197ba0e5742e2ffbc178641009b57fe254c6abdc38.en.png
deleted file mode 100644
index 4e69314c4..000000000
Binary files a/translated_images/playerRight.e4825f489e29f73719f8e3197ba0e5742e2ffbc178641009b57fe254c6abdc38.en.png and /dev/null differ
diff --git a/translated_images/playground-choice.1d23ba7d407f47584c9f446c77f0bcf70cae794cc9c8d7849a3cca4a3693e6c4.en.png b/translated_images/playground-choice.1d23ba7d407f47584c9f446c77f0bcf70cae794cc9c8d7849a3cca4a3693e6c4.en.png
deleted file mode 100644
index 0cfc445d7..000000000
Binary files a/translated_images/playground-choice.1d23ba7d407f47584c9f446c77f0bcf70cae794cc9c8d7849a3cca4a3693e6c4.en.png and /dev/null differ
diff --git a/translated_images/playground.d2b927122224ff8ff4028fc842176e353c339147d8925455f36c92fb1655c477.en.png b/translated_images/playground.d2b927122224ff8ff4028fc842176e353c339147d8925455f36c92fb1655c477.en.png
deleted file mode 100644
index 0ae823503..000000000
Binary files a/translated_images/playground.d2b927122224ff8ff4028fc842176e353c339147d8925455f36c92fb1655c477.en.png and /dev/null differ
diff --git a/translated_images/preview.9215f0a010074476f8ab66e6becf3c1b594a30cca0a28b88fb4f3f4821594dc0.en.jpg b/translated_images/preview.9215f0a010074476f8ab66e6becf3c1b594a30cca0a28b88fb4f3f4821594dc0.en.jpg
deleted file mode 100644
index b776392d7..000000000
Binary files a/translated_images/preview.9215f0a010074476f8ab66e6becf3c1b594a30cca0a28b88fb4f3f4821594dc0.en.jpg and /dev/null differ
diff --git a/translated_images/profiler.5a4a62479c5df01cfec9aab74173dba13f91d2c968e1a1ae434c26165792df15.en.png b/translated_images/profiler.5a4a62479c5df01cfec9aab74173dba13f91d2c968e1a1ae434c26165792df15.en.png
deleted file mode 100644
index c1c079cfb..000000000
Binary files a/translated_images/profiler.5a4a62479c5df01cfec9aab74173dba13f91d2c968e1a1ae434c26165792df15.en.png and /dev/null differ
diff --git a/translated_images/project-on-vscode.dev.e79815a9a95ee7feac72ebe5c941c91279716be37c575dbdbf2f43bea2c7d8b6.en.png b/translated_images/project-on-vscode.dev.e79815a9a95ee7feac72ebe5c941c91279716be37c575dbdbf2f43bea2c7d8b6.en.png
deleted file mode 100644
index 98f02933a..000000000
Binary files a/translated_images/project-on-vscode.dev.e79815a9a95ee7feac72ebe5c941c91279716be37c575dbdbf2f43bea2c7d8b6.en.png and /dev/null differ
diff --git a/translated_images/result.96ef01f607bf856aa9789078633e94a4f7664d912f235efce2657299becca483.en.png b/translated_images/result.96ef01f607bf856aa9789078633e94a4f7664d912f235efce2657299becca483.en.png
deleted file mode 100644
index 755bf0f58..000000000
Binary files a/translated_images/result.96ef01f607bf856aa9789078633e94a4f7664d912f235efce2657299becca483.en.png and /dev/null differ
diff --git a/translated_images/screen1.baccbba0f1f93364672eb250d2fbd21574bb1caf79a2155022dc098a741cbdfe.en.png b/translated_images/screen1.baccbba0f1f93364672eb250d2fbd21574bb1caf79a2155022dc098a741cbdfe.en.png
deleted file mode 100644
index 9f669d468..000000000
Binary files a/translated_images/screen1.baccbba0f1f93364672eb250d2fbd21574bb1caf79a2155022dc098a741cbdfe.en.png and /dev/null differ
diff --git a/translated_images/screen2.123c82a831a1d14ab2061994be2fa5de9cec1ce651047217d326d4773a6348e4.en.png b/translated_images/screen2.123c82a831a1d14ab2061994be2fa5de9cec1ce651047217d326d4773a6348e4.en.png
deleted file mode 100644
index 91c965e9b..000000000
Binary files a/translated_images/screen2.123c82a831a1d14ab2061994be2fa5de9cec1ce651047217d326d4773a6348e4.en.png and /dev/null differ
diff --git a/translated_images/screenshot.0a1ee0d123df681b4501eb53ffb267519fcc20aa653eabecef1e7561ddfb1cab.en.png b/translated_images/screenshot.0a1ee0d123df681b4501eb53ffb267519fcc20aa653eabecef1e7561ddfb1cab.en.png
deleted file mode 100644
index 518fbb44f..000000000
Binary files a/translated_images/screenshot.0a1ee0d123df681b4501eb53ffb267519fcc20aa653eabecef1e7561ddfb1cab.en.png and /dev/null differ
diff --git a/translated_images/screenshot.e7a5ad659e3645682a7d44bd944af8147012dc403b4965712a052214b42e77c1.en.png b/translated_images/screenshot.e7a5ad659e3645682a7d44bd944af8147012dc403b4965712a052214b42e77c1.en.png
deleted file mode 100644
index e56466c7e..000000000
Binary files a/translated_images/screenshot.e7a5ad659e3645682a7d44bd944af8147012dc403b4965712a052214b42e77c1.en.png and /dev/null differ
diff --git a/translated_images/screenshot_gray.0c796099a1f9f25e40aa55ead81f268434c00af30d7092490759945eda63067d.en.png b/translated_images/screenshot_gray.0c796099a1f9f25e40aa55ead81f268434c00af30d7092490759945eda63067d.en.png
deleted file mode 100644
index c46266c6b..000000000
Binary files a/translated_images/screenshot_gray.0c796099a1f9f25e40aa55ead81f268434c00af30d7092490759945eda63067d.en.png and /dev/null differ
diff --git a/translated_images/shield.1b9412b7ca6610ab21f8836483f4e1ec7835b7fe61617f2cead3ff3317ddd56f.en.png b/translated_images/shield.1b9412b7ca6610ab21f8836483f4e1ec7835b7fe61617f2cead3ff3317ddd56f.en.png
deleted file mode 100644
index b962a2f13..000000000
Binary files a/translated_images/shield.1b9412b7ca6610ab21f8836483f4e1ec7835b7fe61617f2cead3ff3317ddd56f.en.png and /dev/null differ
diff --git a/translated_images/snapshot.97750180ebcad73794a3594b36925eb5c8dbaac9e03fec7f9b974188c9ac63c7.en.png b/translated_images/snapshot.97750180ebcad73794a3594b36925eb5c8dbaac9e03fec7f9b974188c9ac63c7.en.png
deleted file mode 100644
index 7101e10cd..000000000
Binary files a/translated_images/snapshot.97750180ebcad73794a3594b36925eb5c8dbaac9e03fec7f9b974188c9ac63c7.en.png and /dev/null differ
diff --git a/translated_images/spa.268ec73b41f992c2a21ef9294235c6ae597b3c37e2c03f0494c2d8857325cc57.en.png b/translated_images/spa.268ec73b41f992c2a21ef9294235c6ae597b3c37e2c03f0494c2d8857325cc57.en.png
deleted file mode 100644
index 80f8578e5..000000000
Binary files a/translated_images/spa.268ec73b41f992c2a21ef9294235c6ae597b3c37e2c03f0494c2d8857325cc57.en.png and /dev/null differ
diff --git a/translated_images/speedLine.5bcabb93f48b5ae1fe081a6b8832ed314636560b7bb228889bfbeb75a0322490.en.png b/translated_images/speedLine.5bcabb93f48b5ae1fe081a6b8832ed314636560b7bb228889bfbeb75a0322490.en.png
deleted file mode 100644
index 03018e7f2..000000000
Binary files a/translated_images/speedLine.5bcabb93f48b5ae1fe081a6b8832ed314636560b7bb228889bfbeb75a0322490.en.png and /dev/null differ
diff --git a/translated_images/spritesheet.bec82852290b14ee8f814b4173f8d823658151a2402c2be8f15b17159290d1ab.en.png b/translated_images/spritesheet.bec82852290b14ee8f814b4173f8d823658151a2402c2be8f15b17159290d1ab.en.png
deleted file mode 100644
index c7f6f709d..000000000
Binary files a/translated_images/spritesheet.bec82852290b14ee8f814b4173f8d823658151a2402c2be8f15b17159290d1ab.en.png and /dev/null differ
diff --git a/translated_images/starBackground.a897b8acb1b0587dbb2cdbf8beeaa388269510bb3ac3b4165f0141dc893045a2.en.png b/translated_images/starBackground.a897b8acb1b0587dbb2cdbf8beeaa388269510bb3ac3b4165f0141dc893045a2.en.png
deleted file mode 100644
index 7344ae888..000000000
Binary files a/translated_images/starBackground.a897b8acb1b0587dbb2cdbf8beeaa388269510bb3ac3b4165f0141dc893045a2.en.png and /dev/null differ
diff --git a/translated_images/starBig.72e9c6d0d18f363d485fd26a32c346d269d465f6a87bc0ca5e94ecd34fcd7362.en.png b/translated_images/starBig.72e9c6d0d18f363d485fd26a32c346d269d465f6a87bc0ca5e94ecd34fcd7362.en.png
deleted file mode 100644
index e38c77b7c..000000000
Binary files a/translated_images/starBig.72e9c6d0d18f363d485fd26a32c346d269d465f6a87bc0ca5e94ecd34fcd7362.en.png and /dev/null differ
diff --git a/translated_images/starSmall.ed78b961dbcd0898e8b9b721cbaaa8d54a0a1165a52a13f19650064add273eec.en.png b/translated_images/starSmall.ed78b961dbcd0898e8b9b721cbaaa8d54a0a1165a52a13f19650064add273eec.en.png
deleted file mode 100644
index 56bcfd58c..000000000
Binary files a/translated_images/starSmall.ed78b961dbcd0898e8b9b721cbaaa8d54a0a1165a52a13f19650064add273eec.en.png and /dev/null differ
diff --git a/translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.en.png b/translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.en.png
deleted file mode 100644
index 3b2a2c44b..000000000
Binary files a/translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.en.png and /dev/null differ
diff --git a/translated_images/terrarium-final.0920f16e87c13a84cd2b553a5af9a3ad1cffbd41fbf8ce715d9e9c43809a5e2c.en.png b/translated_images/terrarium-final.0920f16e87c13a84cd2b553a5af9a3ad1cffbd41fbf8ce715d9e9c43809a5e2c.en.png
deleted file mode 100644
index c46266c6b..000000000
Binary files a/translated_images/terrarium-final.0920f16e87c13a84cd2b553a5af9a3ad1cffbd41fbf8ce715d9e9c43809a5e2c.en.png and /dev/null differ
diff --git a/translated_images/terrarium-final.2f07047ffc597d0a06b06cab28a77801a10dd12fdb6c7fc630e9c40665491c53.en.png b/translated_images/terrarium-final.2f07047ffc597d0a06b06cab28a77801a10dd12fdb6c7fc630e9c40665491c53.en.png
deleted file mode 100644
index 50f5d0af5..000000000
Binary files a/translated_images/terrarium-final.2f07047ffc597d0a06b06cab28a77801a10dd12fdb6c7fc630e9c40665491c53.en.png and /dev/null differ
diff --git a/translated_images/validation-error.8bd23e98d416c22f80076d04829a4bb718e0e550fd622862ef59008ccf0d5dce.en.png b/translated_images/validation-error.8bd23e98d416c22f80076d04829a4bb718e0e550fd622862ef59008ccf0d5dce.en.png
deleted file mode 100644
index ca7fed243..000000000
Binary files a/translated_images/validation-error.8bd23e98d416c22f80076d04829a4bb718e0e550fd622862ef59008ccf0d5dce.en.png and /dev/null differ
diff --git a/translated_images/vs-code-index.e2986cf919471eb984a0afef231380c8b132b000635105f2397bd2754d1b689c.en.png b/translated_images/vs-code-index.e2986cf919471eb984a0afef231380c8b132b000635105f2397bd2754d1b689c.en.png
deleted file mode 100644
index 0b483b87e..000000000
Binary files a/translated_images/vs-code-index.e2986cf919471eb984a0afef231380c8b132b000635105f2397bd2754d1b689c.en.png and /dev/null differ
diff --git a/translated_images/webdev101-a11y.8ef3025c858d897a403a1a42c0897c76e11b724d9a8a0c0578dd4316f7507622.en.png b/translated_images/webdev101-a11y.8ef3025c858d897a403a1a42c0897c76e11b724d9a8a0c0578dd4316f7507622.en.png
deleted file mode 100644
index b2b0220d5..000000000
Binary files a/translated_images/webdev101-a11y.8ef3025c858d897a403a1a42c0897c76e11b724d9a8a0c0578dd4316f7507622.en.png and /dev/null differ
diff --git a/translated_images/webdev101-css.3f7af5991bf53a200d79e7257e5e450408d8ea97f5b531d31b2e3976317338ee.en.png b/translated_images/webdev101-css.3f7af5991bf53a200d79e7257e5e450408d8ea97f5b531d31b2e3976317338ee.en.png
deleted file mode 100644
index 098efdf50..000000000
Binary files a/translated_images/webdev101-css.3f7af5991bf53a200d79e7257e5e450408d8ea97f5b531d31b2e3976317338ee.en.png and /dev/null differ
diff --git a/translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.en.png b/translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.en.png
deleted file mode 100644
index 29388480a..000000000
Binary files a/translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.en.png and /dev/null differ
diff --git a/translated_images/webdev101-html.4389c2067af68e98280c1bde52b6c6269f399eaae3659b7c846018d8a7b0bbd9.en.png b/translated_images/webdev101-html.4389c2067af68e98280c1bde52b6c6269f399eaae3659b7c846018d8a7b0bbd9.en.png
deleted file mode 100644
index f6cf31b49..000000000
Binary files a/translated_images/webdev101-html.4389c2067af68e98280c1bde52b6c6269f399eaae3659b7c846018d8a7b0bbd9.en.png and /dev/null differ
diff --git a/translated_images/webdev101-js-arrays.439d7528b8a294558d0e4302e448d193f8ad7495cc407539cc81f1afe904b470.en.png b/translated_images/webdev101-js-arrays.439d7528b8a294558d0e4302e448d193f8ad7495cc407539cc81f1afe904b470.en.png
deleted file mode 100644
index 37c841353..000000000
Binary files a/translated_images/webdev101-js-arrays.439d7528b8a294558d0e4302e448d193f8ad7495cc407539cc81f1afe904b470.en.png and /dev/null differ
diff --git a/translated_images/webdev101-js-datatypes.4cc470179730702c756480d3ffa46507f746e5975ebf80f99fdaaf1cff09a7f4.en.png b/translated_images/webdev101-js-datatypes.4cc470179730702c756480d3ffa46507f746e5975ebf80f99fdaaf1cff09a7f4.en.png
deleted file mode 100644
index a7c724e8a..000000000
Binary files a/translated_images/webdev101-js-datatypes.4cc470179730702c756480d3ffa46507f746e5975ebf80f99fdaaf1cff09a7f4.en.png and /dev/null differ
diff --git a/translated_images/webdev101-js-decisions.69e1b20f272dd1f0b1cb2f8adaff3ed2a77c4f91db96d8a0594132a353fa189a.en.png b/translated_images/webdev101-js-decisions.69e1b20f272dd1f0b1cb2f8adaff3ed2a77c4f91db96d8a0594132a353fa189a.en.png
deleted file mode 100644
index 7f6ffbf6e..000000000
Binary files a/translated_images/webdev101-js-decisions.69e1b20f272dd1f0b1cb2f8adaff3ed2a77c4f91db96d8a0594132a353fa189a.en.png and /dev/null differ
diff --git a/translated_images/webdev101-js-functions.be049c4726e94f8b7605c36330ac42eeb5cd8ed02bcdd60fdac778174d6cb865.en.png b/translated_images/webdev101-js-functions.be049c4726e94f8b7605c36330ac42eeb5cd8ed02bcdd60fdac778174d6cb865.en.png
deleted file mode 100644
index cfce51a5c..000000000
Binary files a/translated_images/webdev101-js-functions.be049c4726e94f8b7605c36330ac42eeb5cd8ed02bcdd60fdac778174d6cb865.en.png and /dev/null differ
diff --git a/translated_images/webdev101-js.10280393044d7eaaec7e847574946add7ddae6be2b2194567d848b61d849334a.en.png b/translated_images/webdev101-js.10280393044d7eaaec7e847574946add7ddae6be2b2194567d848b61d849334a.en.png
deleted file mode 100644
index 259f524b2..000000000
Binary files a/translated_images/webdev101-js.10280393044d7eaaec7e847574946add7ddae6be2b2194567d848b61d849334a.en.png and /dev/null differ
diff --git a/translated_images/webdev101-programming.d6e3f98e61ac4bff0b27dcbf1c3f16c8ed46984866f2d29988929678b0058fde.en.png b/translated_images/webdev101-programming.d6e3f98e61ac4bff0b27dcbf1c3f16c8ed46984866f2d29988929678b0058fde.en.png
deleted file mode 100644
index cb4b05596..000000000
Binary files a/translated_images/webdev101-programming.d6e3f98e61ac4bff0b27dcbf1c3f16c8ed46984866f2d29988929678b0058fde.en.png and /dev/null differ
diff --git a/translated_images/working-tree-pb.6cd43e5076f23ba3d017f7662394bd87f975e194a068556905e4cc99da9cbfdc.en.png b/translated_images/working-tree-pb.6cd43e5076f23ba3d017f7662394bd87f975e194a068556905e4cc99da9cbfdc.en.png
deleted file mode 100644
index e5bfe5642..000000000
Binary files a/translated_images/working-tree-pb.6cd43e5076f23ba3d017f7662394bd87f975e194a068556905e4cc99da9cbfdc.en.png and /dev/null differ
diff --git a/translated_images/working-tree.c58eec08e6335c79cc708c0c220c0b7fea61514bd3c7fb7471905a864aceac7c.en.png b/translated_images/working-tree.c58eec08e6335c79cc708c0c220c0b7fea61514bd3c7fb7471905a864aceac7c.en.png
deleted file mode 100644
index 129c89ced..000000000
Binary files a/translated_images/working-tree.c58eec08e6335c79cc708c0c220c0b7fea61514bd3c7fb7471905a864aceac7c.en.png and /dev/null differ
diff --git a/translations/ar/.co-op-translator.json b/translations/ar/.co-op-translator.json
index 45534e001..f5a44f35c 100644
--- a/translations/ar/.co-op-translator.json
+++ b/translations/ar/.co-op-translator.json
@@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
- "original_hash": "d45ddcc54eb9232a76d08328b09d792e",
- "translation_date": "2025-11-03T12:28:46+00:00",
+ "original_hash": "bec5e35642176d9e483552bfc82996d8",
+ "translation_date": "2026-03-06T16:49:23+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "ar"
},
@@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
- "translation_date": "2026-02-06T15:58:39+00:00",
+ "translation_date": "2026-03-06T16:52:52+00:00",
"source_file": "AGENTS.md",
"language_code": "ar"
},
@@ -516,8 +516,8 @@
"language_code": "ar"
},
"README.md": {
- "original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
- "translation_date": "2026-02-06T15:53:16+00:00",
+ "original_hash": "a2c9eed480687319517c08a6319e5536",
+ "translation_date": "2026-03-06T16:45:52+00:00",
"source_file": "README.md",
"language_code": "ar"
},
diff --git a/translations/ar/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/ar/1-getting-started-lessons/1-intro-to-programming-languages/README.md
index b22f7c838..f1523c3bc 100644
--- a/translations/ar/1-getting-started-lessons/1-intro-to-programming-languages/README.md
+++ b/translations/ar/1-getting-started-lessons/1-intro-to-programming-languages/README.md
@@ -1,183 +1,181 @@
-# مقدمة إلى لغات البرمجة وأدوات المطورين الحديثة
+# مقدمة في لغات البرمجة وأدوات المطور الحديثة
-مرحبًا أيها المطور المستقبلي! 👋 هل يمكنني أن أخبرك بشيء يجعلني أشعر بالحماس كل يوم؟ أنت على وشك اكتشاف أن البرمجة ليست مجرد التعامل مع أجهزة الكمبيوتر – إنها امتلاك قوى خارقة حقيقية لتحويل أفكارك الأكثر جنونًا إلى واقع!
+مرحبًا أيها المطور المستقبلي! 👋 هل يمكنني أن أخبرك بشيء لا يزال يصيبني بالقشعريرة كل يوم؟ أنت على وشك اكتشاف أن البرمجة ليست مجرد أجهزة كمبيوتر – إنها عن امتلاك قوى خارقة حقيقية لإحياء أفكارك الأكثر جنونًا!
-تعرف ذلك الشعور عندما تستخدم تطبيقك المفضل وكل شيء يعمل بسلاسة؟ عندما تضغط على زر ويحدث شيء سحري يجعلك تقول "واو، كيف فعلوا ذلك؟" حسنًا، شخص مثلك تمامًا – ربما جالس في مقهىه المفضل في الساعة الثانية صباحًا مع كوبه الثالث من الإسبريسو – كتب الكود الذي صنع تلك السحرية. وهنا ما سيذهلك: بنهاية هذا الدرس، لن تفهم فقط كيف فعلوا ذلك، بل ستكون متحمسًا لتجربته بنفسك!
+أتعرف ذلك اللحظة عندما تستخدم تطبيقك المفضل ويسير كل شيء على أكمل وجه؟ عندما تضغط زرًا يحدث شيء سحري تمامًا يجعلك تقول "رائع، كيف فعلوا ذلك؟" حسنًا، شخص ما مثلك تمامًا – ربما يجلس في مقهاه المفضل في الساعة 2 صباحًا مع الإسبريسو الثالث – كتب الشفرة التي خلقت تلك السحر. وهنا ما سيفجر عقلك: بحلول نهاية هذا الدرس، لن تفهم فقط كيف فعلوا ذلك، بل ستتشوق لتجربته بنفسك!
-انظر، أنا أفهم تمامًا إذا كانت البرمجة تبدو مخيفة الآن. عندما بدأت لأول مرة، كنت أعتقد بصراحة أنك بحاجة إلى أن تكون عبقريًا في الرياضيات أو أن تكون قد بدأت البرمجة منذ أن كنت في الخامسة من عمرك. لكن ما غير وجهة نظري تمامًا هو أن البرمجة تشبه تمامًا تعلم التحدث بلغة جديدة. تبدأ بـ "مرحبًا" و"شكرًا"، ثم تتقدم إلى طلب القهوة، وقبل أن تدرك، تجد نفسك تخوض مناقشات فلسفية عميقة! إلا أن الأمر هنا يتعلق بالتحدث مع أجهزة الكمبيوتر، وبصراحة؟ إنها أكثر شركاء المحادثة صبرًا – لا تحكم على أخطائك أبدًا ودائمًا متحمسة لتجربة مرة أخرى!
+انظر، أنا أتفهم تمامًا إذا كانت البرمجة تبدو مخيفة الآن. عندما بدأت، كنت أعتقد بصدق أنك بحاجة لأن تكون عبقريًا في الرياضيات أو أنك كنت تبرمج منذ أن كنت في الخامسة من عمرك. ولكن هنا ما غيّر وجهة نظري تمامًا: البرمجة هي تمامًا مثل تعلم المحادثة بلغة جديدة. تبدأ بـ"مرحبا" و"شكرًا"، ثم تتدرج إلى طلب القهوة، وقبل أن تعرف، تكون تجري نقاشات فلسفية عميقة! باستثناء أنك في هذه الحالة، تجري المحادثات مع الحواسيب، وبصراحة؟ إنهم أكثر شركاء المحادثة صبرًا على الإطلاق – لا يحكمون على أخطائك ودائمًا متحمسون لتجربة ثانية!
-اليوم، سنستكشف الأدوات الرائعة التي تجعل تطوير الويب الحديث ليس فقط ممكنًا، بل ممتعًا للغاية. أنا أتحدث عن نفس المحررات والمتصفحات وطرق العمل التي يستخدمها المطورون في Netflix وSpotify واستوديوهات التطبيقات المستقلة المفضلة لديك كل يوم. وهنا الجزء الذي سيجعلك ترقص فرحًا: معظم هذه الأدوات الاحترافية والمعتمدة في الصناعة مجانية تمامًا!
+اليوم، سنستكشف الأدوات المذهلة التي تجعل تطوير الويب الحديث ليس ممكنًا فحسب، بل مدمنًا حقيقيًا. أتحدث عن نفس المحررات والمتصفحات وسير العمل التي يستخدمها المطورون في نيتفليكس، سبوتيفاي، واستوديوهات التطبيقات المستقلة المفضلة لديك يوميًا. وهنا الجزء الذي سيجعلك ترقص فرحًا: معظم هذه الأدوات الاحترافية والمعتمدة على الصناعة هي مجانية تمامًا!

-> رسم توضيحي بواسطة [Tomomi Imura](https://twitter.com/girlie_mac)
+> مخطط مرسوم بواسطة [Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid
journey
- title Your Programming Journey Today
- section Discover
- What is Programming: 5: You
- Programming Languages: 4: You
- Tools Overview: 5: You
- section Explore
- Code Editors: 4: You
- Browsers & DevTools: 5: You
- Command Line: 3: You
- section Practice
- Language Detective: 4: You
- Tool Exploration: 5: You
- Community Connection: 5: You
+ title رحلتك البرمجية اليوم
+ section اكتشف
+ ما هو البرمجة: 5: You
+ لغات البرمجة: 4: You
+ نظرة عامة على الأدوات: 5: You
+ section استكشف
+ محررات الكود: 4: You
+ المتصفحات وأدوات المطور: 5: You
+ سطر الأوامر: 3: You
+ section مارس
+ محقق اللغة: 4: You
+ استكشاف الأدوات: 5: You
+ التواصل المجتمعي: 5: You
```
+## لنرَ ما تعرفه بالفعل!
-## دعنا نرى ما تعرفه بالفعل!
+قبل أن نبدأ في الأشياء الممتعة، أنا فضولي – ما الذي تعرفه بالفعل عن عالم البرمجة هذا؟ واستمع، إذا كنت تنظر إلى هذه الأسئلة وتفكر "ليس لدي أدنى فكرة عن أي شيء من هذا"، فهذا ليس فقط مقبولًا، بل مثالي! هذا يعني أنك في المكان الصحيح تمامًا. فكر في هذا الاختبار كتمرين إحماء قبل التمرين – نحن فقط نقوم بتسخين عضلات الدماغ!
-قبل أن نبدأ في الأمور الممتعة، أنا فضولي – ماذا تعرف بالفعل عن عالم البرمجة هذا؟ وإذا كنت تنظر إلى هذه الأسئلة وتفكر "ليس لدي أي فكرة عن أي من هذا"، فهذا ليس فقط مقبولًا، بل مثالي! هذا يعني أنك في المكان الصحيح تمامًا. فكر في هذا الاختبار كتمرين تمدد قبل التمرين – نحن فقط نقوم بتسخين عضلات الدماغ!
+[خض اختبار ما قبل الدرس](https://ff-quizzes.netlify.app/web/)
-[خذ اختبار ما قبل الدرس](https://forms.office.com/r/dru4TE0U9n?origin=lprLink)
## المغامرة التي سنخوضها معًا
-حسنًا، أنا متحمس جدًا لما سنستكشفه اليوم! بصراحة، أتمنى أن أرى وجهك عندما تفهم بعض هذه المفاهيم. إليك الرحلة الرائعة التي سنخوضها معًا:
+حسنًا، أنا متحمس حقًا لما سنستكشفه اليوم! حقًا، أتمنى لو أستطيع رؤية وجهك عندما تتضح لك بعض هذه المفاهيم. إليك الرحلة الرائعة التي سنسيرها معًا:
-- **ما هي البرمجة حقًا (ولماذا هي أروع شيء على الإطلاق!)** – سنكتشف كيف أن الكود هو السحر الخفي الذي يشغل كل شيء حولك، من المنبه الذي يعرف بطريقة ما أنه صباح يوم الاثنين إلى الخوارزمية التي تختار لك توصيات Netflix المثالية.
-- **لغات البرمجة وشخصياتها المذهلة** – تخيل أنك تدخل حفلة حيث لكل شخص قوى خارقة مختلفة وطرق لحل المشكلات. هذا هو عالم لغات البرمجة، وستحب التعرف عليها!
-- **الأسس التي تجعل السحر الرقمي يحدث** – فكر في هذه كأروع مجموعة LEGO إبداعية. بمجرد أن تفهم كيف تتناسب هذه القطع معًا، ستدرك أنه يمكنك بناء أي شيء تحلم به.
-- **أدوات احترافية ستجعلك تشعر وكأنك حصلت على عصا سحرية** – أنا لا أبالغ هنا – هذه الأدوات ستجعلك تشعر حقًا وكأن لديك قوى خارقة، والجزء الأفضل؟ إنها نفس الأدوات التي يستخدمها المحترفون!
+- **ما هي البرمجة فعليًا (ولماذا هي أروع شيء على الإطلاق!)** – سنكتشف كيف أن الشفرة هي السحر الخفي الذي يدير كل شيء حولك، من ذلك المنبه الذي بطريقة ما يعرف أن اليوم هو الإثنين صباحًا إلى الخوارزمية التي تنسق توصيات نيتفليكس الخاصة بك بشكل مثالي
+- **لغات البرمجة وشخصياتها الرائعة** – تخيل دخولك حفلة حيث يمتلك كل شخص قوى خارقة مختلفة تمامًا وطرقًا مختلفة لحل المشكلات. هذا هو عالم لغات البرمجة، وستحب لقائها!
+- **الكتل الأساسية التي تجعل السحر الرقمي يحدث** – فكر في هذه كما لو كانت مجموعة LEGO الإبداعية النهائية. بمجرد أن تفهم كيف تتلاءم هذه القطع معًا، ستدرك أنه يمكنك بناء أي شيء تحلم به خيالك
+- **الأدوات الاحترافية التي ستجعلك تشعر وكأنك تم تسليمك عصا ساحر** – لست أبالغ هنا – هذه الأدوات ستجعلك تشعر حقًا أن لديك قوى خارقة، والجزء الأفضل؟ إنها نفس الأدوات التي يستخدمها المحترفون!
-> 💡 **إليك الأمر**: لا تفكر حتى في محاولة حفظ كل شيء اليوم! الآن، أريدك فقط أن تشعر بتلك الشرارة من الحماس حول ما هو ممكن. التفاصيل ستبقى بشكل طبيعي عندما نتدرب معًا – هكذا يحدث التعلم الحقيقي!
+> 💡 **إليك الأمر**: لا تفكر حتى في محاولة حفظ كل شيء اليوم! الآن، أريدك فقط أن تشعر بشرارة الحماس حول ما هو ممكن. التفاصيل ستثبت بشكل طبيعي أثناء ممارستنا معًا – هكذا يحدث التعلم الحقيقي!
-> يمكنك أخذ هذا الدرس على [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
+> يمكنك أخذ هذا الدرس على [Microsoft Learn](https://learn.microsoft.com/en-us/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
-## إذًا ما هي البرمجة بالضبط؟
+## فما هو *البرمجة* بالضبط؟
-حسنًا، دعونا نتناول السؤال الذي يساوي مليون دولار: ما هي البرمجة حقًا؟
+حسنًا، دعنا نتناول سؤال المليون دولار: ما هي البرمجة حقًا؟
-سأخبرك بقصة غيرت تمامًا طريقة تفكيري حول هذا الموضوع. الأسبوع الماضي، كنت أحاول شرح كيفية استخدام جهاز التحكم عن بعد الجديد للتلفزيون الذكي لوالدتي. وجدت نفسي أقول أشياء مثل "اضغط على الزر الأحمر، ولكن ليس الزر الأحمر الكبير، الزر الأحمر الصغير على اليسار... لا، يسارك الآخر... حسنًا، الآن اضغط عليه لمدة ثانيتين، ليس واحدة، وليس ثلاث..." يبدو مألوفًا؟ 😅
+سأعطيك قصة غيرت تمامًا كيف أفكر في هذا. الأسبوع الماضي، كنت أحاول أن أشرح لأمي كيف تستخدم جهاز التحكم التلفزيوني الذكي الجديد لدينا. وجدت نفسي أقول أشياء مثل "اضغطي على الزر الأحمر، لكن ليس الزر الأحمر الكبير، الزر الأحمر الصغير على اليسار... لا، الجانب الآخر على اليسار... حسنًا، الآن اضغطي لمدة ثانيتين، ليست واحدة، وليست ثلاث..." هل يبدو مألوفًا؟ 😅
-هذه هي البرمجة! إنها فن إعطاء تعليمات مفصلة للغاية، خطوة بخطوة، لشيء قوي جدًا ولكنه يحتاج إلى كل شيء مكتوب بشكل مثالي. إلا أنك بدلاً من شرح ذلك لوالدتك (التي يمكنها أن تسأل "أي زر أحمر؟!")، تشرحه لجهاز كمبيوتر (الذي يفعل بالضبط ما تقوله، حتى لو لم يكن ما قلته هو ما كنت تقصده).
+هذه هي البرمجة! إنها فن إعطاء تعليمات مفصلة للغاية، خطوة بخطوة، لشيء قوي جدًا لكنه يحتاج إلى كل شيء موضح تمامًا. إلا أن بدلًا من أن تشرح لأمك (التي يمكنها أن تسأل "أي زر أحمر؟!"), أنت تشرح للكمبيوتر (الذي ينفذ بالضبط ما تقول، حتى لو لم يكن ما قلته هو بالضبط ما قصدته).
-إليك ما أدهشني عندما تعلمت هذا لأول مرة: أجهزة الكمبيوتر في الواقع بسيطة جدًا في جوهرها. إنها تفهم حرفيًا شيئين فقط – 1 و0، وهو ما يعني ببساطة "نعم" و"لا" أو "تشغيل" و"إيقاف". هذا كل شيء! ولكن هنا يأتي السحر – لا يتعين علينا التحدث بلغة 1 و0 كما لو كنا في فيلم ماتريكس. هنا تأتي **لغات البرمجة** لإنقاذنا. إنها مثل وجود أفضل مترجم في العالم يأخذ أفكارك البشرية العادية ويحولها إلى لغة الكمبيوتر.
+ما أذهلني عندما تعلمت هذا لأول مرة: الحواسيب في جوهرها بسيطة للغاية. هي تفهم فعليًا شيئين فقط – 1 و0، وهما في الأساس تعني "نعم" و"لا" أو "تشغيل" و"إيقاف". هذا كل شيء! لكنها تصبح سحرية هنا – لا نحتاج لأن نتحدث بالواحدات والأصفار كما لو كنا في المصفوفة. هنا تأتي **لغات البرمجة** لإنقاذنا. فهي مثل وجود أفضل مترجم في العالم يأخذ أفكارك البشرية العادية ويحوّلها إلى لغة الكمبيوتر.
-وهنا ما يجعلني أشعر بالحماس كل صباح عندما أستيقظ: كل شيء رقمي في حياتك بدأ بشخص مثلك تمامًا، ربما جالسًا في بيجامته مع كوب قهوة، يكتب الكود على جهاز الكمبيوتر المحمول الخاص به. ذلك الفلتر في إنستغرام الذي يجعلك تبدو رائعًا؟ شخص ما برمجه. التوصية التي قادتك إلى أغنيتك المفضلة الجديدة؟ مطور بنى تلك الخوارزمية. التطبيق الذي يساعدك على تقسيم فاتورة العشاء مع أصدقائك؟ نعم، شخص ما فكر "هذا مزعج، أراهن أنني أستطيع إصلاح هذا" ثم... فعل ذلك!
+وهذا ما لا يزال يصيبني بالقشعريرة كل صباح عندما أستيقظ: فعليًا *كل* شيء رقمي في حياتك بدأ بشخص مثلك تمامًا، ربما يجلس في بيجامته مع كوب قهوة، يكتب الشفرة على حاسوبه المحمول. ذلك الفلتر في إنستغرام الذي يجعلك تبدو بلا عيوب؟ شخص ما برمج ذلك. التوصية التي قادتك إلى أغنيتك المفضلة الجديدة؟ مطور صنع تلك الخوارزمية. التطبيق الذي يساعدك في تقسيم فاتورة العشاء مع الأصدقاء؟ نعم، شخص فكر "هذا مزعج، أظن أنني يمكنني إصلاحه" ثم… فعلها!
-عندما تتعلم البرمجة، فأنت لا تكتسب مهارة جديدة فقط – بل تصبح جزءًا من مجتمع رائع من حلّال المشاكل الذين يقضون أيامهم في التفكير، "ماذا لو استطعت بناء شيء يجعل يوم شخص ما أفضل قليلاً؟" بصراحة، هل هناك شيء أكثر روعة من ذلك؟
+عندما تتعلم البرمجة، لا تكتسب مهارة جديدة فحسب – بل تصبح جزءًا من هذه الجماعة الرائعة من حلالي المشكلات الذين يقضون أيامهم يفكرون، "ماذا لو استطعت بناء شيء يجعل يوم شخص ما أفضل بقليل؟" بصراحة، هل هناك شيء أروع من ذلك؟
-✅ **معلومة ممتعة للبحث عنها**: إليك شيء رائع يمكنك البحث عنه عندما يكون لديك وقت فراغ – من تعتقد أنه كان أول مبرمج كمبيوتر في العالم؟ سأعطيك تلميحًا: قد لا يكون الشخص الذي تتوقعه! قصة هذا الشخص رائعة حقًا وتظهر أن البرمجة كانت دائمًا تدور حول حل المشكلات الإبداعي والتفكير خارج الصندوق.
+✅ **مطاردة حقائق ممتعة**: إليك شيء رائع لتبحث عنه عندما يكون لديك بعض الوقت – من تعتقد أنه أول مبرمج حواسيب في العالم؟ سأعطيك تلميحًا: قد لا يكون من تتوقع! قصة هذا الشخص مثيرة للغاية وتظهر أن البرمجة كانت دائمًا عن حل المشكلات بإبداع والتفكير خارج الصندوق.
-### 🧠 **وقت التحقق: كيف تشعر؟**
+### 🧠 **وقت التقييم: كيف تشعر؟**
**خذ لحظة للتفكير:**
-- هل فكرة "إعطاء تعليمات لأجهزة الكمبيوتر" أصبحت واضحة لك الآن؟
-- هل يمكنك التفكير في مهمة يومية ترغب في أتمتتها باستخدام البرمجة؟
-- ما هي الأسئلة التي تدور في ذهنك حول هذا الشيء المسمى البرمجة؟
+- هل أصبحت فكرة "إعطاء تعليمات للحواسيب" واضحة الآن؟
+- هل يمكنك التفكير في مهمة يومية تود أتمتتها بالبرمجة؟
+- ما هي الأسئلة التي تخطر ببالك حول موضوع البرمجة هذا؟
-> **تذكر**: من الطبيعي تمامًا إذا كانت بعض المفاهيم لا تزال غامضة الآن. تعلم البرمجة يشبه تعلم لغة جديدة – يستغرق وقتًا حتى يبني عقلك تلك الروابط العصبية. أنت تقوم بعمل رائع!
+> **تذكر**: من الطبيعي تمامًا أن تبدو بعض المفاهيم غير واضحة الآن. تعلم البرمجة يشبه تعلم لغة جديدة – يحتاج دماغك وقتًا لبناء تلك المسارات العصبية. أنت تقوم بعمل رائع!
## لغات البرمجة مثل نكهات مختلفة من السحر
-حسنًا، هذا قد يبدو غريبًا، لكن ابق معي – لغات البرمجة تشبه كثيرًا أنواع الموسيقى المختلفة. فكر في الأمر: لديك الجاز، الذي يتميز بالسلاسة والارتجال، والروك الذي يتميز بالقوة والبساطة، والكلاسيكية التي تتميز بالأناقة والتنظيم، والهيب هوب الذي يتميز بالإبداع والتعبير. كل نوع له طابعه الخاص، ومجتمعه الخاص من المعجبين المتحمسين، وكل واحد مثالي لمزاج ومناسبة مختلفة.
+حسنًا، هذا قد يبدو غريبًا، لكن تمسك معي – لغات البرمجة تشبه كثيرًا أنواع الموسيقى المختلفة. فكر في الأمر: لديك الجاز، الذي هو سلس ويعتمد على الارتجال، والروك الذي هو قوي ومباشر، والكلاسيكي الذي أنيق ومنظم، والهيب هوب الذي مبدع ومعبر. لكل نمط جوه الخاص، وجمهور من المعجبين المتحمسين، وكل واحد منها مثالي لأمزجة ومناسبات مختلفة.
-لغات البرمجة تعمل بنفس الطريقة تمامًا! لن تستخدم نفس اللغة لبناء لعبة هاتف ممتعة كما تستخدم لتحليل كميات هائلة من بيانات المناخ، تمامًا كما لن تشغل موسيقى الميتال الصاخبة في صف يوغا (حسنًا، ربما ليس في معظم صفوف اليوغا! 😄).
+لغات البرمجة تعمل بنفس الطريقة! لن تستخدم نفس اللغة لبناء لعبة موبايل ممتعة كما تستخدم لتحليل كميات هائلة من بيانات المناخ، تمامًا كما أنك لن تعزف ديث ميتال في فصل يوجا (حسنًا، في معظم صفوف اليوجا على الأقل! 😄).
-لكن هنا ما يدهشني كل مرة أفكر فيه: هذه اللغات تشبه وجود مترجم رائع وصبور بجانبك. يمكنك التعبير عن أفكارك بطريقة طبيعية لعقلك البشري، وهم يتولون كل العمل المعقد لتحويل ذلك إلى لغة 1 و0 التي تتحدثها أجهزة الكمبيوتر. إنه مثل وجود صديق يتحدث بطلاقة "الإبداع البشري" و"منطق الكمبيوتر" – ولا يتعب أبدًا، ولا يحتاج إلى استراحة قهوة، ولا يحكم عليك إذا سألت نفس السؤال مرتين!
+ولكن ما يفجر عقلي في كل مرة أفكر فيه: هذه اللغات هي مثل وجود أكثر مترجم عبقري وصبور في العالم جالس بجانبك. يمكنك التعبير عن أفكارك بطريقة طبيعية لدماغك البشري، وهم يتولون العمل المعقد للغاية لترجمتها إلى الواحدات والأصفار التي تتحدثها الحواسيب فعليًا. إنه كأن لديك صديقًا يجيد بطلاقة كل من "الإبداع البشري" و"منطق الكمبيوتر" – وهم لا يتعبون أبدًا، ولا يحتاجون إلى استراحات قهوة، ولا يحكمون عليك لأنك سألت نفس السؤال مرتين!
### لغات البرمجة الشهيرة واستخداماتها
```mermaid
mindmap
- root((Programming Languages))
- Web Development
- JavaScript
- Frontend Magic
- Interactive Websites
- TypeScript
- JavaScript + Types
- Enterprise Apps
- Data & AI
- Python
- Data Science
- Machine Learning
- Automation
- R
- Statistics
- Research
- Mobile Apps
- Java
- Android
- Enterprise
- Swift
+ root((لغات البرمجة))
+ تطوير الويب
+ جافا سكريبت
+ سحر الواجهة الأمامية
+ مواقع تفاعلية
+ تايب سكريبت
+ جافا سكريبت + أنواع
+ تطبيقات المؤسسات
+ البيانات والذكاء الاصطناعي
+ بايثون
+ علم البيانات
+ تعلم الآلة
+ الأتمتة
+ آر
+ الإحصائيات
+ البحث
+ تطبيقات الجوال
+ جافا
+ أندرويد
+ المؤسسات
+ سويفت
iOS
- Apple Ecosystem
- Kotlin
- Modern Android
- Cross-platform
- Systems & Performance
- C++
- Games
- Performance Critical
- Rust
- Memory Safety
- System Programming
- Go
- Cloud Services
- Scalable Backend
+ نظام آبل البيئي
+ كوتلن
+ أندرويد الحديثة
+ متعدد المنصات
+ الأنظمة والأداء
+ سي++
+ الألعاب
+ أداء حرج
+ روست
+ أمان الذاكرة
+ برمجة النظام
+ جو
+ خدمات السحابة
+ خادم خلفي قابل للتوسع
```
-
-| اللغة | الأفضل لـ | لماذا هي شائعة |
-|-------|------------|----------------|
-| **JavaScript** | تطوير الويب، واجهات المستخدم | تعمل في المتصفحات وتشغل المواقع التفاعلية |
+| اللغة | الأفضل لـ | سبب شعبيتها |
+|----------|----------|------------------|
+| **JavaScript** | تطوير الويب، واجهات المستخدم | تعمل في المتصفحات وتدعم المواقع التفاعلية |
| **Python** | علم البيانات، الأتمتة، الذكاء الاصطناعي | سهلة القراءة والتعلم، مكتبات قوية |
-| **Java** | التطبيقات المؤسسية، تطبيقات أندرويد | مستقلة عن المنصة، قوية للأنظمة الكبيرة |
+| **Java** | تطبيقات المؤسسات، تطبيقات أندرويد | مستقلة عن المنصة، قوية للأنظمة الكبيرة |
| **C#** | تطبيقات ويندوز، تطوير الألعاب | دعم قوي من نظام مايكروسوفت |
-| **Go** | خدمات السحابة، أنظمة الخلفية | سريعة، بسيطة، مصممة للحوسبة الحديثة |
+| **Go** | خدمات السحابة، أنظمة الخادم الخلفي | سريعة، بسيطة، مصممة للحوسبة الحديثة |
-### لغات عالية المستوى مقابل لغات منخفضة المستوى
+### لغات المستوى العالي مقابل لغات المستوى المنخفض
-حسنًا، هذا كان المفهوم الذي أربك عقلي عندما بدأت التعلم لأول مرة، لذا سأشاركك التشبيه الذي جعلني أفهمه أخيرًا – وأتمنى أن يساعدك أيضًا!
+حسنًا، هذا كان صراحة المفهوم الذي كسر عقلي عندما بدأت التعلم، لذلك سأشاركك التشبيه الذي جعل الأمر يتضح لي – وآمل حقًا أن يساعدك أيضًا!
-تخيل أنك تزور بلدًا لا تتحدث لغته، وتحتاج بشدة إلى العثور على أقرب حمام (كلنا مررنا بهذا، أليس كذلك؟ 😅):
+تخيل أنك تزور دولة لا تتحدث لغتها، وتحتاج بشدة إلى إيجاد أقرب حمام (كلنا مررنا بذلك، أليس كذلك؟ 😅):
-- **البرمجة منخفضة المستوى** تشبه تعلم اللهجة المحلية بشكل جيد جدًا بحيث يمكنك التحدث مع الجدة التي تبيع الفاكهة في الزاوية باستخدام إشارات ثقافية، وعبارات محلية، ونكات داخلية لا يفهمها إلا من نشأ هناك. مثير للإعجاب للغاية وفعال جدًا... إذا كنت تتحدث بطلاقة! ولكن قد يكون الأمر مربكًا جدًا عندما تحاول فقط العثور على حمام.
+- **البرمجة منخفضة المستوى** مثل تعلم اللهجة المحلية جيدًا بحيث يمكنك الدردشة مع الجدة التي تبيع الفواكه على الزاوية باستخدام مراجع ثقافية، وتعابير محلية، ونكات داخلية لا يفهمها سوى من نشأ هناك. مثير للإعجاب وفعال جدًا... إذا كنت تجيدها! لكنها مربكة جدًا عندما تحاول فقط إيجاد حمام.
-- **البرمجة عالية المستوى** تشبه وجود ذلك الصديق المحلي الرائع الذي يفهمك تمامًا. يمكنك أن تقول "أنا بحاجة ماسة للعثور على حمام" بلغة بسيطة، وهم يتولون كل الترجمة الثقافية ويعطونك الاتجاهات بطريقة منطقية لعقلك غير المحلي.
+- **البرمجة عالية المستوى** مثل وجود صديق محلي رائع يفهمك تمامًا. يمكنك أن تقول "أحتاج بشدة إلى إيجاد حمام" بالإنجليزية البسيطة، وهو يتولى كل الترجمة الثقافية ويعطيك الاتجاهات بطريقة مفهومة لدماغك غير المحلي.
بمصطلحات البرمجة:
-- **اللغات منخفضة المستوى** (مثل Assembly أو C) تتيح لك إجراء محادثات مفصلة للغاية مع الأجهزة الفعلية للكمبيوتر، ولكن عليك التفكير مثل الآلة، وهو... حسنًا، دعنا نقول إنه تغيير عقلي كبير!
-- **اللغات عالية المستوى** (مثل JavaScript، Python، أو C#) تتيح لك التفكير كإنسان بينما تتولى هي كل الحديث بلغة الآلة خلف الكواليس. بالإضافة إلى ذلك، لديها مجتمعات مرحبة مليئة بأشخاص يتذكرون كيف كان الأمر عندما كانوا مبتدئين ويريدون حقًا مساعدتك!
+- **لغات المستوى المنخفض** (مثل Assembly أو C) تتيح لك محادثات مفصلة للغاية مع مكونات الكمبيوتر الحقيقية، لكنك تحتاج إلى التفكير كما تفكر الآلة، وهو... حسنًا، لنقل إنه تحول ذهني كبير جدًا!
+- **لغات المستوى العالي** (مثل JavaScript، Python، أو C#) تتيح لك التفكير كبشر بينما تتولى هي كل لغة الآلة خلف الكواليس. بالإضافة إلى أنها تحوي مجتمعات ترحيبية مليئة بأشخاص يتذكرون كيف كان شعورهم عندما بدأوا ويريدون حقًا المساعدة!
-تخيل أي منها سأقترح عليك أن تبدأ به؟ 😉 اللغات عالية المستوى تشبه وجود عجلات تدريب لا تريد أبدًا إزالتها لأنها تجعل التجربة بأكملها أكثر متعة!
+خمن أيها سأقترح عليك أن تبدأ بها؟ 😉 لغات المستوى العالي مثل وجود عجلات تدريبية لن ترغب في إزالتها أبدًا لأنها تجعل التجربة كلها ممتعة جدًا!
```mermaid
flowchart TB
- A["👤 Human Thought: 'I want to calculate Fibonacci numbers'"] --> B{Choose Language Level}
+ A["👤 التفكير البشري: 'أريد حساب أرقام فيبوناتشي'"] --> B{اختر مستوى اللغة}
- B -->|High-Level| C["🌟 JavaScript/Python Easy to read and write"]
- B -->|Low-Level| D["⚙️ Assembly/C Direct hardware control"]
+ B -->|مستوى عالي| C["🌟 جافا سكريبت/بايثون سهل القراءة والكتابة"]
+ B -->|مستوى منخفض| D["⚙️ التجميع/C التحكم المباشر في العتاد"]
- C --> E["📝 Write: fibonacci(10)"]
- D --> F["📝 Write: mov r0,#00 sub r0,r0,#01"]
+ C --> E["📝 اكتب: fibonacci(10)"]
+ D --> F["📝 اكتب: mov r0,#00 sub r0,r0,#01"]
- E --> G["🤖 Computer Understanding: Translator handles complexity"]
+ E --> G["🤖 فهم الحاسوب: المترجم يتولى التعقيد"]
F --> G
- G --> H["💻 Same Result: 0, 1, 1, 2, 3, 5, 8, 13..."]
+ G --> H["💻 نفس النتيجة: 0، 1، 1، 2، 3، 5، 8، 13..."]
style C fill:#e1f5fe
style D fill:#fff3e0
style H fill:#e8f5e8
```
+### دعني أوضح لك لماذا لغات المستوى العالي أكثر ودية
-### دعني أريك لماذا اللغات عالية المستوى أكثر ودية
-
-حسنًا، سأريك شيئًا يوضح تمامًا لماذا وقعت في حب اللغات عالية المستوى، ولكن أولاً – أحتاجك أن تعدني بشيء. عندما ترى المثال الأول للكود، لا تفزع! من المفترض أن يبدو مخيفًا. هذا هو النقطة التي أريد توضيحها!
+حسنًا، سأريك شيئًا يمثل تمامًا لماذا أحببت لغات المستوى العالي، لكن أولًا – أحتاج منك وعدًا بشيء. عندما ترى المثال الأول للشفرة، لا تقلق! من المفترض أن يبدو مخيفًا. هذا هو بالضبط النقطة التي أريد توضيحها!
-سننظر إلى نفس المهمة مكتوبة بأسلوبين مختلفين تمامًا. كلاهما ينشئ ما يسمى تسلسل فيبوناتشي – إنه نمط رياضي جميل حيث كل رقم هو مجموع الرقمين السابقين: 0، 1، 1، 2، 3، 5، 8، 13... (معلومة ممتعة: ستجد هذا النمط في كل مكان في الطبيعة – دوامات بذور عباد الشمس، أنماط مخروط الصنوبر، وحتى طريقة تشكل المجرات!)
+سننظر إلى نفس المهمة مكتوبة بأسلوبين مختلفين تمامًا. كلاهما ينشئ ما يسمى تسلسل فيبوناتشي – وهو نمط رياضي جميل حيث كل رقم هو مجموع الرقمين السابقين: 0، 1، 1، 2، 3، 5، 8، 13... (معلومة ممتعة: ستجد هذا النمط حرفيًا في كل مكان في الطبيعة – دوامات بذور دوار الشمس، أنماط مخروط الصنوبر، وحتى طريقة تكوين المجرات!)
-جاهز لرؤية الفرق؟ لنبدأ!
+هل أنت مستعد لرؤية الفرق؟ لنبدأ!
-**لغة عالية المستوى (JavaScript) – صديقة للإنسان:**
+**لغة عالية المستوى (JavaScript) – مناسبة للبشر:**
```javascript
-// Step 1: Basic Fibonacci setup
+// الخطوة 1: إعداد الأساسي لفبوناتشي
const fibonacciCount = 10;
let current = 0;
let next = 1;
@@ -185,32 +183,32 @@ let next = 1;
console.log('Fibonacci sequence:');
```
-**ما يفعله هذا الكود:**
-- **تعريف** ثابت لتحديد عدد أرقام فيبوناتشي التي نريد إنشائها
-- **تهيئة** متغيرين لتتبع الرقم الحالي والرقم التالي في التسلسل
-- **إعداد** القيم الأولية (0 و1) التي تحدد نمط فيبوناتشي
-- **عرض** رسالة تعريفية لتحديد الناتج
+**هذا ما تفعله هذه الشفرة:**
+- **تعريف** ثابت يحدد عدد أعداد فيبوناتشي التي نريد توليدها
+- **تهيئة** متغيرين لتتبع الرقم الحالي والتالي في التسلسل
+- **ضبط** القيم الابتدائية (0 و1) التي تحدد نمط فيبوناتشي
+- **عرض** رسالة عنوان لتحديد ناتجنا
```javascript
-// Step 2: Generate the sequence with a loop
+// الخطوة 2: توليد التسلسل باستخدام حلقة
for (let i = 0; i < fibonacciCount; i++) {
console.log(`Position ${i + 1}: ${current}`);
- // Calculate next number in sequence
+ // حساب الرقم التالي في التسلسل
const sum = current + next;
current = next;
next = sum;
}
```
-**تفصيل ما يحدث هنا:**
+**توضيح ما يحدث هنا:**
- **التكرار** عبر كل موقع في التسلسل باستخدام حلقة `for`
-- **عرض** كل رقم مع موقعه باستخدام تنسيق القالب النصي
-- **حساب** الرقم التالي في تسلسل فيبوناتشي بإضافة القيم الحالية والتالية
-- **تحديث** متغيرات التتبع للانتقال إلى التكرار التالي
+- **عرض** كل رقم مع موقعه باستخدام تنسيق القوالب الحرفية
+- **حساب** الرقم التالي في فيبوناتشي بجمع القيم الحالية والتالية
+- **تحديث** متغيرات التتبع للانتقال للتكرار التالي
```javascript
-// Step 3: Modern functional approach
+// الخطوة ٣: النهج الوظيفي الحديث
const generateFibonacci = (count) => {
const sequence = [0, 1];
@@ -221,18 +219,18 @@ const generateFibonacci = (count) => {
return sequence;
};
-// Usage example
+// مثال على الاستخدام
const fibSequence = generateFibonacci(10);
console.log(fibSequence);
```
-**في المثال أعلاه، قمنا بـ:**
-- **إنشاء** وظيفة قابلة لإعادة الاستخدام باستخدام صياغة وظيفة السهم الحديثة
-- **بناء** مصفوفة لتخزين التسلسل الكامل بدلاً من عرضه رقمًا برقم
+**في الأعلى، قمنا بـ:**
+- **إنشاء** دالة قابلة لإعادة الاستخدام باستخدام صياغة الدالة الحديثة بالسهم
+- **بناء** مصفوفة لتخزين التسلسل الكامل بدلاً من العرض واحدًا تلو الآخر
- **استخدام** فهرسة المصفوفة لحساب كل رقم جديد من القيم السابقة
-- **إرجاع** التسلسل الكامل لاستخدامه بشكل مرن في أجزاء أخرى من البرنامج
+- **إرجاع** التسلسل الكامل لاستخدام مرن في أجزاء أخرى من برنامجنا
-**لغة منخفضة المستوى (ARM Assembly) – صديقة للكمبيوتر:**
+**لغة منخفضة المستوى (ARM Assembly) – مناسبة للكمبيوتر:**
```assembly
area ascen,code,readonly
@@ -259,127 +257,127 @@ back add r0,r1
end
```
-لاحظ كيف أن نسخة JavaScript تُقرأ تقريبًا كتعليمات باللغة الإنجليزية، بينما تستخدم نسخة Assembly أوامر غامضة تتحكم مباشرة في معالج الكمبيوتر. كلاهما ينجز نفس المهمة، لكن اللغة عالية المستوى أسهل بكثير للفهم والكتابة والصيانة.
+لاحظ كيف يبدو إصدار JavaScript كما لو كان تعليمات باللغة الإنجليزية تقريبًا، بينما يستخدم إصدار التجميع أوامر غامضة تتحكم مباشرة في معالج الكمبيوتر. كلاهما ينجز نفس المهمة بدقة، لكن لغة المستوى العالي أسهل بكثير على البشر لفهمها وكتابتها وصيانتها.
**الاختلافات الرئيسية التي ستلاحظها:**
-- **الوضوح**: JavaScript تستخدم أسماء وصفية مثل `fibonacciCount` بينما Assembly تستخدم تسميات غامضة مثل `r0`, `r1`
-- **التعليقات**: اللغات عالية المستوى تشجع على كتابة تعليقات توضيحية تجعل الكود واضحًا وسهل الفهم.
-- **الهيكل**: التدفق المنطقي للغة JavaScript يتماشى مع الطريقة التي يفكر بها البشر في حل المشكلات خطوة بخطوة.
-- **الصيانة**: تحديث إصدار JavaScript لتلبية متطلبات مختلفة أمر بسيط وواضح.
+- **سهولة القراءة**: يستخدم جافاسكريبت أسماء وصفية مثل `fibonacciCount` بينما يستخدم الأسمبلي تسميات مشفرة مثل `r0`، `r1`
+- **التعليقات**: تشجع اللغات عالية المستوى على كتابة تعليقات تفسيرية تجعل الكود موثقًا ذاتيًا
+- **الهيكلية**: يتطابق التدفق المنطقي لجافاسكريبت مع طريقة تفكير البشر في حل المشكلات خطوة بخطوة
+- **الصيانة**: تحديث نسخة جافاسكريبت لمتطلبات مختلفة أمر بسيط وواضح
-✅ **حول تسلسل فيبوناتشي**: هذا النمط الرقمي الرائع (حيث يساوي كل رقم مجموع الرقمين السابقين له: 0، 1، 1، 2، 3، 5، 8...) يظهر حرفيًا *في كل مكان* في الطبيعة! ستجده في دوامات عباد الشمس، أنماط أكواز الصنوبر، طريقة انحناء أصداف النوتيلوس، وحتى في كيفية نمو فروع الأشجار. إنه أمر مذهل كيف يمكن للرياضيات والبرمجة مساعدتنا في فهم وإعادة إنشاء الأنماط التي تستخدمها الطبيعة لخلق الجمال!
+✅ **عن متتالية فيبوناتشي**: هذا النمط الرقمي الرائع تمامًا (حيث يساوي كل رقم مجموع الرقمين قبله: 0، 1، 1، 2، 3، 5، 8...) يظهر حرفيًا *في كل مكان* في الطبيعة! ستجده في دوامات عباد الشمس، ونمط الصنوبر، وطريقة تقوس صدفيات النوتيلوس، وحتى في كيفية نمو فروع الأشجار. إنه أمر مذهل حقًا كيف يمكن للرياضيات والكود مساعدتنا على فهم وإعادة إنشاء الأنماط التي تستخدمها الطبيعة لصنع الجمال!
-## اللبنات الأساسية التي تصنع السحر
+## اللبنات الأساسية التي تجعل السحر يحدث
-حسنًا، الآن بعد أن رأيت كيف تبدو لغات البرمجة أثناء العمل، دعنا نحلل العناصر الأساسية التي تشكل كل برنامج تم كتابته على الإطلاق. فكر في هذه العناصر كالمكونات الأساسية لوصفتك المفضلة – بمجرد أن تفهم وظيفة كل منها، ستتمكن من قراءة وكتابة الكود في أي لغة تقريبًا!
+حسنًا، الآن بعد أن رأيت كيف تبدو لغات البرمجة في العمل، دعنا نحلل القطع الأساسية التي تشكل حرفيًا كل برنامج تم كتابته على الإطلاق. فكر في هذه كمكونات أساسية في وصفتك المفضلة — بمجرد أن تفهم وظيفة كل واحدة منها، ستتمكن من قراءة وكتابة الكود في أي لغة تقريبًا!
-هذا يشبه تعلم قواعد البرمجة. تذكر عندما كنت في المدرسة وتعلمت عن الأسماء والأفعال وكيفية تكوين الجمل؟ البرمجة لديها نسختها الخاصة من القواعد، وبصراحة، إنها أكثر منطقية وتسامحًا من قواعد اللغة الإنجليزية! 😄
+هذا يشبه إلى حد ما تعلم قواعد النحو للبرمجة. هل تتذكر في المدرسة عندما تعلمت عن الأسماء والأفعال وكيفية تركيب الجمل؟ للبرمجة نسختها الخاصة من القواعد، وبصراحة، هي أكثر منطقية وتسامحًا بكثير من قواعد اللغة الإنجليزية! 😄
-### العبارات: التعليمات خطوة بخطوة
+### الجمل البرمجية: التعليمات خطوة بخطوة
-لنبدأ بـ **العبارات** – هذه مثل الجمل الفردية في محادثة مع جهاز الكمبيوتر الخاص بك. كل عبارة تخبر الكمبيوتر بفعل شيء محدد، مثل إعطاء توجيهات: "انعطف يسارًا هنا"، "توقف عند الضوء الأحمر"، "اركن في تلك البقعة".
+لنبدأ بـ **الجمل البرمجية** – هذه تشبه جمل منفردة في محادثة مع جهاز الكمبيوتر الخاص بك. كل جملة تخبر الكمبيوتر أن ينفذ شيئًا محددًا، كأن تعطيه إرشادات: "انعطف يسارًا هنا"، "قف عند الإشارة الحمراء"، "اركن في هذا المكان".
-ما أحبه في العبارات هو مدى سهولة قراءتها عادةً. انظر إلى هذا المثال:
+ما يعجبني في الجمل البرمجية هو مدى سهولة قراءتها عادةً. ألقِ نظرة على هذا:
```javascript
-// Basic statements that perform single actions
+// عبارات أساسية تنفذ إجراءات منفردة
const userName = "Alex";
console.log("Hello, world!");
const sum = 5 + 3;
```
-
-**ما يفعله هذا الكود:**
-- **إعلان** متغير ثابت لتخزين اسم المستخدم
-- **عرض** رسالة ترحيب في إخراج وحدة التحكم
-- **حساب** وتخزين نتيجة عملية رياضية
+
+**إليك ما يفعله هذا الكود:**
+- **إعلان** عن متغير ثابت لحفظ اسم المستخدم
+- **عرض** رسالة ترحيب على مخرج الكونسول
+- **حساب** وتخزين نتيجة عملية رياضية
```javascript
-// Statements that interact with web pages
+// بيانات تتفاعل مع صفحات الويب
document.title = "My Awesome Website";
document.body.style.backgroundColor = "lightblue";
```
+
+**خطوة بخطوة، إليك ما يحدث:**
+- **تعديل** عنوان صفحة الويب الذي يظهر على تبويب المتصفح
+- **تغيير** لون خلفية جسم الصفحة بالكامل
-**خطوة بخطوة، ما يحدث هنا:**
-- **تعديل** عنوان صفحة الويب الذي يظهر في علامة تبويب المتصفح
-- **تغيير** لون خلفية جسم الصفحة بالكامل
-
-### المتغيرات: نظام ذاكرة البرنامج الخاص بك
+### المتغيرات: نظام ذاكرة برنامجك
-حسنًا، **المتغيرات** هي واحدة من مفاهيمي المفضلة للتدريس لأنها تشبه الأشياء التي تستخدمها بالفعل كل يوم!
+حسنًا، **المتغيرات** هي حقًا واحدة من مفاهيمي المفضلة جدًا للتدريس لأنها تشبه كثيرًا الأشياء التي تستخدمها يوميًا!
-فكر في قائمة جهات الاتصال على هاتفك للحظة. أنت لا تحفظ أرقام الجميع – بدلاً من ذلك، تحفظ "أمي"، "أفضل صديق"، أو "مطعم البيتزا الذي يوصل حتى الساعة 2 صباحًا" وتترك هاتفك يتذكر الأرقام الفعلية. المتغيرات تعمل بنفس الطريقة تمامًا! إنها مثل حاويات مُعلمة حيث يمكن لبرنامجك تخزين المعلومات واسترجاعها لاحقًا باستخدام اسم منطقي.
+فكر في قائمة جهات اتصال هاتفك للحظة. أنت لا تحفظ أرقام الجميع عن ظهر قلب – بل تحفظ "أمي"، "أفضل صديق"، أو "مطعم البيتزا الذي يوصل حتى الساعة 2 صباحًا" وتترك لهاتفك أن يتذكر الأرقام الحقيقية. المتغيرات تعمل بنفس الطريقة! إنها كحاويات معنونة حيث يمكن لبرنامجك أن يخزن المعلومات ويستدعيها لاحقًا باستخدام اسم مفهوم فعلاً.
-ما هو رائع حقًا: يمكن أن تتغير المتغيرات أثناء تشغيل البرنامج (ومن هنا جاء اسم "متغير" – هل ترى ما فعلوه هنا؟). تمامًا كما قد تقوم بتحديث جهة اتصال مطعم البيتزا عندما تكتشف مكانًا أفضل، يمكن تحديث المتغيرات عندما يتعلم برنامجك معلومات جديدة أو تتغير الظروف!
+وهنا الجزء الرائع: يمكن للمتغيرات أن تتغير أثناء تشغيل البرنامج (ومن هنا جاء اسم "متغير" – هل لاحظت؟). تمامًا كما قد تقوم بتحديث جهة اتصال مطعم البيتزا حين تكتشف مكانًا أفضل، يمكن تحديث المتغيرات مع تعلم برنامجك معلومات جديدة أو تغير الظروف!
-دعني أريك كيف يمكن أن يكون هذا بسيطًا وجميلًا:
+دعني أريك كيف يمكن أن يكون هذا بسيطًا وجميلاً:
```javascript
-// Step 1: Creating basic variables
+// الخطوة 1: إنشاء المتغيرات الأساسية
const siteName = "Weather Dashboard";
let currentWeather = "sunny";
let temperature = 75;
let isRaining = false;
```
-
-**فهم هذه المفاهيم:**
-- **تخزين** القيم الثابتة في متغيرات `const` (مثل اسم الموقع)
-- **استخدام** `let` للقيم التي يمكن أن تتغير أثناء تشغيل البرنامج
-- **تعيين** أنواع بيانات مختلفة: نصوص، أرقام، وقيم منطقية (صحيح/خطأ)
-- **اختيار** أسماء وصفية تشرح ما يحتويه كل متغير
+
+**فهم هذه المفاهيم:**
+- **تخزين** القيم الثابتة في متغيرات `const` (مثل اسم الموقع)
+- **استخدام** `let` للقيم التي قد تتغير خلال البرنامج
+- **تعيين** أنواع بيانات مختلفة: نصوص، أرقام، وقيم منطقية (صح/خطأ)
+- **اختيار** أسماء وصفية تشرح محتوى كل متغير
```javascript
-// Step 2: Working with objects to group related data
+// الخطوة 2: العمل مع الكائنات لتجميع البيانات ذات الصلة
const weatherData = {
location: "San Francisco",
humidity: 65,
windSpeed: 12
};
```
-
-**في المثال أعلاه، قمنا بـ:**
-- **إنشاء** كائن لتجميع معلومات الطقس ذات الصلة معًا
-- **تنظيم** عدة أجزاء من البيانات تحت اسم متغير واحد
-- **استخدام** أزواج المفتاح والقيمة لتسمية كل جزء من المعلومات بوضوح
+
+**في المثال أعلاه، لقد:**
+- **أنشأنا** كائنًا لتجميع معلومات الطقس ذات الصلة معاً
+- **نظمنا** عدة بيانات تحت اسم متغير واحد
+- **استخدمنا** أزواج المفتاح والقيمة لتسمية كل جزء من المعلومات بوضوح
```javascript
-// Step 3: Using and updating variables
+// الخطوة 3: استخدام وتحديث المتغيرات
console.log(`${siteName}: Today is ${currentWeather} and ${temperature}°F`);
console.log(`Wind speed: ${weatherData.windSpeed} mph`);
-// Updating changeable variables
+// تحديث المتغيرات القابلة للتغيير
currentWeather = "cloudy";
temperature = 68;
```
-
-**دعنا نفهم كل جزء:**
-- **عرض** المعلومات باستخدام القوالب النصية مع صيغة `${}`
-- **الوصول** إلى خصائص الكائن باستخدام التدوين النقطي (`weatherData.windSpeed`)
-- **تحديث** المتغيرات المعلنة باستخدام `let` لتعكس الظروف المتغيرة
-- **دمج** عدة متغيرات لإنشاء رسائل ذات معنى
+
+**لنفهم كل جزء:**
+- **عرض** المعلومات باستخدام القوالب النصية مع صيغة `${}`
+- **الوصول** إلى خصائص الكائن باستخدام النقطة (`weatherData.windSpeed`)
+- **تحديث** المتغيرات المعلنة بـ `let` لتعكس الظروف المتغيرة
+- **دمج** عدة متغيرات لصياغة رسائل ذات معنى
```javascript
-// Step 4: Modern destructuring for cleaner code
+// الخطوة 4: التفكيك الحديث لكود أنظف
const { location, humidity } = weatherData;
console.log(`${location} humidity: ${humidity}%`);
```
+
+**ما تحتاج إلى معرفته:**
+- **استخراج** خصائص معينة من الكائنات باستخدام التفكيك
+- **إنشاء** متغيرات جديدة تلقائيًا بأسماء مفاتيح الكائن
+- **تبسيط** الكود بتجنب تكرار الصيغة النقطية
-**ما تحتاج إلى معرفته:**
-- **استخراج** خصائص محددة من الكائنات باستخدام التعيين التفكيكي
-- **إنشاء** متغيرات جديدة تلقائيًا بنفس أسماء مفاتيح الكائن
-- **تبسيط** الكود عن طريق تجنب التدوين النقطي المتكرر
-
-### تدفق التحكم: تعليم برنامجك التفكير
+### تدفق التحكم: تعليم برنامجك على التفكير
-حسنًا، هنا حيث تصبح البرمجة مذهلة للغاية! **تدفق التحكم** هو أساسًا تعليم برنامجك كيفية اتخاذ قرارات ذكية، تمامًا كما تفعل كل يوم دون حتى التفكير في الأمر.
+حسنًا، هذا هو الجزء الذي تصبح فيه البرمجة مذهلة حقًا! **تدفق التحكم** هو ببساطة تعليم برنامجك كيفية اتخاذ قرارات ذكية، تمامًا كما تفعل أنت كل يوم دون أن تفكر.
-تخيل هذا: هذا الصباح ربما مررت بشيء مثل "إذا كان الجو ممطرًا، سأحمل مظلة. إذا كان الجو باردًا، سأرتدي معطفًا. إذا كنت متأخرًا، سأترك الإفطار وأحصل على قهوة في الطريق." عقلك يتبع هذه المنطقية الشرطية عشرات المرات كل يوم!
+تخيل هذا: هذا الصباح ربما قلت لنفسك "إذا كانت تمطر، سأحمل مظلة. إذا كان الجو باردًا، سأرتدي جاكيتًا. إذا كنت متأخرًا، فسأتخطى الإفطار وأشرب القهوة في الطريق." دماغك يتبع هذا المنطق "إذا-ثم" عشرات المرات يوميًا بشكل تلقائي!
-هذا ما يجعل البرامج تبدو ذكية وحيوية بدلاً من مجرد اتباع نص ممل ومتوقع. يمكنها بالفعل النظر في الموقف، وتقييم ما يحدث، والاستجابة بشكل مناسب. إنه مثل إعطاء برنامجك عقلًا يمكنه التكيف واتخاذ الخيارات!
+هذا ما يجعل البرامج تبدو ذكية وحية بدلًا من أن تتبع نصًا مملًا ومتوقعًا فقط. يمكنها فعلاً أن تنظر إلى الموقف، تقيم ما يحدث، وترد بشكل مناسب. إنه كأنك تمنح برنامجك عقلًا يمكنه التكيف واتخاذ القرارات!
-هل تريد أن ترى كيف يعمل هذا بشكل جميل؟ دعني أريك:
+هل تريد أن ترى كيف يعمل هذا بشكل رائع؟ دعني أريك:
```javascript
-// Step 1: Basic conditional logic
+// الخطوة 1: المنطق الشرطي الأساسي
const userAge = 17;
if (userAge >= 18) {
@@ -389,15 +387,15 @@ if (userAge >= 18) {
console.log(`You'll be able to vote in ${yearsToWait} year(s).`);
}
```
-
-**ما يفعله هذا الكود:**
-- **التحقق** مما إذا كان عمر المستخدم يلبي متطلبات التصويت
-- **تنفيذ** كتل كود مختلفة بناءً على نتيجة الشرط
-- **حساب** وعرض المدة حتى أهلية التصويت إذا كان العمر أقل من 18
-- **تقديم** ملاحظات محددة ومفيدة لكل سيناريو
+
+**إليك ما يفعله هذا الكود:**
+- **التحقق** مما إذا كان عمر المستخدم يفي بمتطلبات التصويت
+- **تنفيذ** كتل كود مختلفة بناءً على نتيجة الشرط
+- **حساب** وعرض المدة المتبقية حتى يحق للمستخدم التصويت إذا كان دون 18 عامًا
+- **تقديم** ملاحظات محددة ومفيدة لكل سيناريو
```javascript
-// Step 2: Multiple conditions with logical operators
+// الخطوة 2: شروط متعددة مع عوامل منطقية
const userAge = 17;
const hasPermission = true;
@@ -409,26 +407,26 @@ if (userAge >= 18 && hasPermission) {
console.log("Sorry, you must be at least 16 years old.");
}
```
-
-**تفصيل ما يحدث هنا:**
-- **دمج** شروط متعددة باستخدام المشغل `&&` (و)
-- **إنشاء** تسلسل هرمي للشروط باستخدام `else if` لعدة سيناريوهات
-- **التعامل** مع جميع الحالات الممكنة باستخدام عبارة `else` النهائية
-- **تقديم** ملاحظات واضحة وقابلة للتنفيذ لكل حالة مختلفة
+
+**تفصيل ما يحدث هنا:**
+- **دمج** عدة حالات شرطية باستخدام العامل `&&` (و)
+- **إنشاء** تسلسل هرمي من الشروط باستخدام `else if` لسيناريوهات متعددة
+- **معالجة** جميع الحالات الممكنة بعبارة `else` النهائية
+- **تقديم** ملاحظات واضحة وقابلة للتنفيذ لكل حالة مختلفة
```javascript
-// Step 3: Concise conditional with ternary operator
+// الخطوة 3: شرط موجز باستخدام عامل ثلاثي
const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
console.log(`Status: ${votingStatus}`);
```
-
-**ما يجب أن تتذكره:**
-- **استخدام** المشغل الثلاثي (`? :`) للشروط ذات الخيارين البسيطين
-- **كتابة** الشرط أولاً، متبوعًا بـ `?`، ثم النتيجة الصحيحة، ثم `:`، ثم النتيجة الخاطئة
-- **تطبيق** هذا النمط عندما تحتاج إلى تعيين قيم بناءً على الشروط
+
+**ما يجب أن تتذكره:**
+- **استخدام** معامل الثلاثي (`? :`) لحالات شرطية بسيطة ذات خيارين
+- **كتابة** الشرط أولًا، تليه `?`، ثم نتيجة صحيحة، ثم `:`، ثم نتيجة خاطئة
+- **تطبيق** هذا النمط عندما تحتاج إلى تعيين قيم بناءً على شروط
```javascript
-// Step 4: Handling multiple specific cases
+// الخطوة 4: التعامل مع حالات محددة متعددة
const dayOfWeek = "Tuesday";
switch (dayOfWeek) {
@@ -447,58 +445,57 @@ switch (dayOfWeek) {
console.log("Invalid day of the week");
}
```
+
+**ينجز هذا الكود التالي:**
+- **مقارنة** قيمة المتغير مع عدة حالات محددة
+- **تجميع** الحالات المتشابهة معًا (أيام الأسبوع مقابل عطلات نهاية الأسبوع)
+- **تنفيذ** كتلة الكود المناسبة عند العثور على تطابق
+- **تضمين** حالة `default` لمعالجة القيم غير المتوقعة
+- **استخدام** عبارات `break` لمنع استمرار تنفيذ الكود إلى الحالة التالية
-**هذا الكود يحقق ما يلي:**
-- **مطابقة** قيمة المتغير مع عدة حالات محددة
-- **تجميع** الحالات المتشابهة معًا (أيام الأسبوع مقابل عطلات نهاية الأسبوع)
-- **تنفيذ** كتلة الكود المناسبة عند العثور على تطابق
-- **تضمين** حالة `default` للتعامل مع القيم غير المتوقعة
-- **استخدام** عبارات `break` لمنع الكود من الاستمرار إلى الحالة التالية
-
-> 💡 **تشبيه واقعي**: فكر في تدفق التحكم كأنك تمتلك نظام GPS الأكثر صبرًا في العالم يقدم لك التوجيهات. قد يقول "إذا كان هناك ازدحام في شارع رئيسي، خذ الطريق السريع بدلاً من ذلك. إذا كان البناء يغلق الطريق السريع، جرب الطريق ذو المناظر الخلابة." البرامج تستخدم نفس النوع من المنطق الشرطي للاستجابة بذكاء لمواقف مختلفة وتقديم أفضل تجربة ممكنة للمستخدمين.
+> 💡 **تشبيه من العالم الحقيقي**: فكر في تدفق التحكم كأن لديك جهاز GPS الصبور الأكثر في العالم يوجهك. قد يقول "إذا كان هناك ازدحام في شارع مين، خذ الطريق السريع بدلًا منه. إذا كان هناك إنشاءات تغلق الطريق السريع، جرب الطريق ذو المنظر الخلاب." تستخدم البرامج نفس نوع المنطق الشرطي للرد بذكاء على الحالات المختلفة ولتقديم أفضل تجربة للمستخدمين.
-### 🎯 **اختبار المفاهيم: إتقان اللبنات الأساسية**
+### 🎯 **فحص المفاهيم: إتقان اللبنات الأساسية**
-**دعنا نرى كيف تسير الأمور مع الأساسيات:**
-- هل يمكنك شرح الفرق بين المتغير والعبارة بكلماتك الخاصة؟
-- فكر في سيناريو واقعي حيث ستستخدم قرارًا إذا-ثم (مثل مثال التصويت لدينا)
-- ما هو الشيء الذي فاجأك بشأن منطق البرمجة؟
+**لنرَ مدى تقدمك في الأساسيات:**
+- هل يمكنك شرح الفرق بين المتغير والجملة البرمجية بكلماتك؟
+- فكر في سيناريو واقعي تستخدم فيه قرار إذا-ثم (مثل مثال التصويت)
+- ما هو شيء واحد في منطق البرمجة فاجأك؟
-**تعزيز سريع للثقة:**
+**تعزيز سريع للثقة:**
```mermaid
flowchart LR
- A["📝 Statements (Instructions)"] --> B["📦 Variables (Storage)"] --> C["🔀 Control Flow (Decisions)"] --> D["🎉 Working Program!"]
+ A["📝 التعليمات (الأوامر)"] --> B["📦 المتغيرات (التخزين)"] --> C["🔀 سير التحكم (القرارات)"] --> D["🎉 البرنامج العامل!"]
style A fill:#ffeb3b
style B fill:#4caf50
style C fill:#2196f3
style D fill:#ff4081
-```
-
-✅ **ما القادم**: سنستمتع كثيرًا بالغوص أعمق في هذه المفاهيم بينما نواصل هذه الرحلة الرائعة معًا! الآن، ركز فقط على الشعور بالإثارة بشأن كل الإمكانيات المذهلة التي تنتظرك. المهارات والتقنيات المحددة ستترسخ بشكل طبيعي مع الممارسة – أعدك أن هذا سيكون أكثر متعة مما تتوقع!
+```
+✅ **ما الذي سيأتي بعد ذلك**: سنستمتع كثيرًا بالتعمق أكثر في هذه المفاهيم بينما نواصل هذه الرحلة الرائعة معًا! الآن، ركز فقط على الشعور بالإثارة تجاه كل الإمكانيات المذهلة التي تنتظرك. المهارات والتقنيات المحددة ستترسخ تلقائيًا مع الممارسة – أعدك أن هذه ستكون أكثر متعة مما قد تتوقع!
-## أدوات العمل
+## أدوات المهنة
-حسنًا، هذا هو الجزء الذي يجعلني متحمسًا لدرجة أنني بالكاد أستطيع التحكم في نفسي! 🚀 نحن على وشك الحديث عن الأدوات الرائعة التي ستجعلك تشعر وكأنك حصلت للتو على مفاتيح سفينة فضائية رقمية.
+حسنًا، هذا هو المكان الذي أشعر فيه بحماس لا يُوصف! 🚀 نحن على وشك التحدث عن الأدوات الرائعة التي ستجعلك تشعر وكأنك حصلت للتو على مفاتيح سفينة فضاء رقمية.
-تعرف كيف يمتلك الطاهي تلك السكاكين المتوازنة تمامًا التي تبدو وكأنها امتداد لأيديهم؟ أو كيف يمتلك الموسيقي تلك الجيتار التي تبدو وكأنها تغني بمجرد لمسها؟ حسنًا، المطورون لديهم نسختهم الخاصة من هذه الأدوات السحرية، وإليك ما سيذهلك تمامًا – معظمها مجاني تمامًا!
+هل تعرف كيف يكون لدى الشيف سكاكين متوازنة تمامًا تشعر وكأنها امتداد ليديه؟ أو كيف يكون لدى الموسيقي غيتار يبدو كأنه يغني في اللحظة التي يلمسه فيها؟ حسنًا، لدى المطورين نسختهم الخاصة من هذه الأدوات السحرية، وهنا ما سيبهرك تمامًا – معظمها مجاني بالكامل!
-أنا تقريبًا أقفز من الكرسي وأنا أفكر في مشاركة هذه الأدوات معك لأنها أحدثت ثورة كاملة في كيفية بناء البرمجيات. نحن نتحدث عن مساعدات برمجية مدعومة بالذكاء الاصطناعي يمكنها المساعدة في كتابة الكود الخاص بك (لست أمزح!)، بيئات سحابية حيث يمكنك بناء تطبيقات كاملة من أي مكان به اتصال واي فاي، وأدوات تصحيح الأخطاء متطورة لدرجة أنها تشبه امتلاك رؤية بالأشعة السينية لبرامجك.
+أنا أتكلم وأتحرك على كرسيي بحماس وأنا أفكر في مشاركتها معك لأنها ثورت تمامًا طريقة بناء البرمجيات لدينا. نتحدث عن مساعدي برمجة مدعومين بالذكاء الاصطناعي يمكنهم مساعدتك في كتابة الكود (لست أمزح!)، وبيئات سحابية حيث يمكنك بناء تطبيقات كاملة من أي مكان يتوفر فيه واي فاي، وأدوات تصحيح أخطاء متطورة جدًا تشبه أن يكون لديك رؤية أشعة إكس لبرامجك.
-وهنا الجزء الذي لا يزال يجعلني أشعر بالقشعريرة: هذه ليست "أدوات للمبتدئين" التي ستتجاوزها. هذه هي نفس الأدوات الاحترافية التي يستخدمها المطورون في Google وNetflix واستوديو التطبيقات المستقل الذي تحبه في هذه اللحظة بالذات. ستشعر وكأنك محترف تمامًا أثناء استخدامها!
+وهنا الجزء الذي مازال يثير قشرتي: هذه ليست أدوات "للمبتدئين" ستتجاوزها بسرعة. هذه هي نفس الأدوات المهنية التي يستخدمها مطورو جوجل ونتفليكس واستوديوهات التطبيقات المستقلة التي تحبها في هذه اللحظة بالذات. ستشعر بأنك محترف حقيقي وأنت تستخدمها!
```mermaid
graph TD
- A["💡 Your Idea"] --> B["⌨️ Code Editor (VS Code)"]
- B --> C["🌐 Browser DevTools (Testing & Debugging)"]
- C --> D["⚡ Command Line (Automation & Tools)"]
- D --> E["📚 Documentation (Learning & Reference)"]
- E --> F["🚀 Amazing Web App!"]
+ A["💡 فكرتك"] --> B["⌨️ محرر الأكواد (VS Code)"]
+ B --> C["🌐 أدوات تطوير المتصفح (الاختبار وتصحيح الأخطاء)"]
+ C --> D["⚡ سطر الأوامر (الأتمتة والأدوات)"]
+ D --> E["📚 الوثائق (التعلم والمرجعية)"]
+ E --> F["🚀 تطبيق ويب مذهل!"]
- B -.-> G["🤖 AI Assistant (GitHub Copilot)"]
- C -.-> H["📱 Device Testing (Responsive Design)"]
- D -.-> I["📦 Package Managers (npm, yarn)"]
- E -.-> J["👥 Community (Stack Overflow)"]
+ B -.-> G["🤖 مساعد الذكاء الاصطناعي (GitHub Copilot)"]
+ C -.-> H["📱 اختبار الجهاز (تصميم متجاوب)"]
+ D -.-> I["📦 مدراء الحزم (npm, yarn)"]
+ E -.-> J["👥 المجتمع (Stack Overflow)"]
style A fill:#fff59d
style F fill:#c8e6c9
@@ -506,349 +503,352 @@ graph TD
style H fill:#f3e5f5
style I fill:#ffccbc
style J fill:#e8eaf6
-```
-
-### محررات الكود وبيئات التطوير المتكاملة: أصدقاؤك الرقميون الجدد
+```
+### محررات التعليمات البرمجية وبيئات التطوير المتكاملة: أصدقاؤك الرقميون الجدد
-دعنا نتحدث عن محررات الكود – هذه ستصبح حقًا أماكنك المفضلة الجديدة! فكر فيها كملاذك الشخصي للبرمجة حيث ستقضي معظم وقتك في صياغة وإتقان إبداعاتك الرقمية.
+دعنا نتحدث عن محررات الكود – هذه على وشك أن تصبح أماكنك المفضلة حديثًا للتواجد! فكر فيها كمكانك الشخصي للترميز حيث ستقضي معظم وقتك في صياغة وتحسين إبداعاتك الرقمية.
-لكن إليك ما هو سحري تمامًا بشأن المحررات الحديثة: إنها ليست مجرد محررات نصوص فاخرة. إنها مثل وجود أفضل مرشد برمجة بجانبك على مدار الساعة طوال أيام الأسبوع. إنها تلتقط أخطائك الإملائية قبل أن تلاحظها، تقترح تحسينات تجعلك تبدو كعبقري، تساعدك على فهم ما يفعله كل جزء من الكود، وبعضها يمكنه حتى التنبؤ بما ستكتبه وتقديم اقتراحات لإكمال أفكارك!
+لكن ما هو السحري حقًا في المحررات الحديثة: إنها ليست مجرد محررات نصوص عادية. إنها كأن لديك أذكى وأفضل مرشد للبرمجة جالس بجانبك 24/7. تكتشف أخطاء كتابتك قبل أن تلاحظها، تقترح تحسينات تجعلك تبدو عبقريًا، تساعدك على فهم وظيفة كل قطعة كود، وبإمكان بعضها حتى توقع ما تود كتابته وتقترح إنهاء أفكارك!
-أتذكر عندما اكتشفت الإكمال التلقائي لأول مرة – شعرت حرفيًا وكأنني أعيش في المستقبل. تبدأ بكتابة شيء، ومحررك يقول، "مرحبًا، هل كنت تفكر في هذه الوظيفة التي تفعل بالضبط ما تحتاجه؟" إنه مثل وجود قارئ أفكار كرفيق برمجة!
+أتذكر عندما اكتشفت الإكمال التلقائي لأول مرة – شعرت حرفيًا وكأني أعيش في المستقبل. تبدأ بكتابة شيء، فيقول محررك "مرحبًا، هل كنت تفكر في هذه الدالة التي تفعل بالضبط ما تحتاج؟" إنه كأن لديك قارئ أفكار كرفيق ترميز!
-**ما الذي يجعل هذه المحررات مذهلة للغاية؟**
+**ما الذي يجعل هذه المحررات مذهلة جدًا؟**
-محررات الكود الحديثة تقدم مجموعة رائعة من الميزات المصممة لتعزيز إنتاجيتك:
+تقدم محررات الكود الحديثة مجموعة مبهرة من الميزات المصممة لتعزيز إنتاجيتك:
-| الميزة | ما تفعله | لماذا تساعد |
-|---------|--------------|--------------|
-| **تمييز الصياغة** | تلوين أجزاء مختلفة من الكود | يجعل الكود أسهل للقراءة واكتشاف الأخطاء |
-| **الإكمال التلقائي** | اقتراح الكود أثناء الكتابة | يسرع البرمجة ويقلل الأخطاء |
-| **أدوات التصحيح** | تساعدك على العثور على الأخطاء وإصلاحها | توفر ساعات من وقت استكشاف الأخطاء |
-| **الإضافات** | إضافة ميزات متخصصة | تخصيص المحرر لأي تقنية |
-| **مساعدات الذكاء الاصطناعي** | اقتراح الكود والتفسيرات | تسريع التعلم والإنتاجية |
+| الميزة | الوظيفة | الفائدة |
+|-------------------|------------------------------|------------------------------------|
+| **تمييز الصياغة** | تلوين أجزاء مختلفة من الكود | يجعل الكود أسهل للقراءة واكتشاف الأخطاء |
+| **الإكمال التلقائي** | يقترح الكود أثناء الكتابة | يسرّع البرمجة ويقلل الأخطاء الإملائية |
+| **أدوات تصحيح الأخطاء** | تساعدك على العثور وإصلاح الأخطاء | توفر ساعات من وقت حل المشاكل |
+| **الإضافات** | تضيف ميزات متخصصة | خصص محررك لأي تقنية تستخدمها |
+| **مساعدي الذكاء الاصطناعي** | يقترحون الكود والشروح | يسرّعون التعلم والإنتاجية |
-> 🎥 **مصدر فيديو**: هل تريد رؤية هذه الأدوات أثناء العمل؟ تحقق من هذا [فيديو أدوات العمل](https://youtube.com/watch?v=69WJeXGBdxg) للحصول على نظرة شاملة.
+> 🎥 **مصدر فيديو**: هل تريد رؤية هذه الأدوات في العمل؟ شاهد هذا [فيديو أدوات المهنة](https://youtube.com/watch?v=69WJeXGBdxg) لمحة شاملة.
#### المحررات الموصى بها لتطوير الويب
-**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (مجاني)
-- الأكثر شعبية بين مطوري الويب
-- نظام إضافات ممتاز
-- محطة مدمجة وتكامل Git
-- **الإضافات التي يجب أن تمتلكها**:
- - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - اقتراحات الكود المدعومة بالذكاء الاصطناعي
- - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - التعاون في الوقت الفعلي
- - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - تنسيق الكود تلقائيًا
- - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - اكتشاف الأخطاء الإملائية في الكود
+**[فيجوال ستوديو كود](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (مجاني)
+- الأكثر شعبية بين مطوري الويب
+- نظام إضافات ممتاز
+- مدمج به الطرفية ودمج Git
+- **إضافات لا بد منها**:
+ - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - اقتراحات كود مدعومة بالذكاء الاصطناعي
+ - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - تعاون في الوقت الحقيقي
+ - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - تنسيق الكود تلقائيًا
+ - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - اكتشاف الأخطاء الإملائية في الكود
-**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (مدفوع، مجاني للطلاب)
-- أدوات تصحيح واختبار متقدمة
-- إكمال الكود الذكي
-- التحكم في الإصدارات مدمج
+**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (مدفوع، مجاني للطلاب)
+- أدوات تصحيح واختبار متقدمة
+- إكمال ذكي للكود
+- تحكم مدمج في الإصدارات
-**بيئات التطوير السحابية** (أسعار متنوعة)
-- [GitHub Codespaces](https://github.com/features/codespaces) - كامل VS Code في متصفحك
-- [Replit](https://replit.com/) - رائع للتعلم ومشاركة الكود
-- [StackBlitz](https://stackblitz.com/) - تطوير ويب كامل وفوري
+**بيئات تطوير سحابية** (بأسعار مختلفة)
+- [GitHub Codespaces](https://github.com/features/codespaces) - VS Code كامل في المتصفح
+- [Replit](https://replit.com/) - ممتاز للتعلم ومشاركة الكود
+- [StackBlitz](https://stackblitz.com/) - تطوير ويب كامل وفوري
-> 💡 **نصيحة للبدء**: ابدأ بـ Visual Studio Code – إنه مجاني، يستخدم على نطاق واسع في الصناعة، ولديه مجتمع ضخم يقدم دروسًا وإضافات مفيدة.
+> 💡 **نصيحة للمبتدئين**: ابدأ مع فيجوال ستوديو كود – إنه مجاني، واسع الاستخدام في الصناعة، ولديه مجتمع ضخم ينشئ دروس وإضافات مفيدة.
-### متصفحات الويب: مختبرك السري لتطوير البرمجيات
+### متصفحات الويب: مختبرك السري للتطوير
-حسنًا، استعد لتفاجأ تمامًا! هل تعلم كيف كنت تستخدم المتصفحات لتصفح وسائل التواصل الاجتماعي ومشاهدة الفيديوهات؟ حسنًا، اتضح أنها كانت تخفي مختبرًا سريًا للمطورين مذهلًا طوال الوقت، فقط في انتظار أن تكتشفه!
+حسنًا، استعد لأن ينفجر عقلك تمامًا! هل تعلم كيف كنت تستخدم المتصفحات لتصفح وسائل التواصل الاجتماعي ومشاهدة الفيديوهات؟ حسنًا، اتضح أنها كانت تخفي هذا المختبر السري المذهل للمطورين طوال الوقت، في انتظارك لاكتشافه!
-كل مرة تنقر بزر الفأرة الأيمن على صفحة ويب وتختار "Inspect Element"، فإنك تفتح عالمًا مخفيًا من أدوات المطورين التي هي بصراحة أكثر قوة من بعض البرامج المكلفة التي كنت أدفع مئات الدولارات للحصول عليها. إنه مثل اكتشاف أن مطبخك العادي كان يخفي مختبرًا للطهاة المحترفين خلف لوحة سرية!
-أول مرة أظهر لي أحدهم أدوات المطور في المتصفح، قضيت حوالي ثلاث ساعات فقط أضغط هنا وهناك وأقول: "انتظر، هل يمكنها فعل ذلك أيضًا؟!" يمكنك حرفيًا تعديل أي موقع في الوقت الفعلي، رؤية مدى سرعة تحميل كل شيء، اختبار كيف يبدو موقعك على أجهزة مختلفة، وحتى تصحيح أخطاء JavaScript مثل محترف حقيقي. إنه أمر مذهل للغاية!
+في كل مرة تنقر بزر الماوس الأيمن على صفحة ويب وتختار "فحص العنصر"، فإنك تفتح عالمًا خفيًا من أدوات المطورين التي هي في الحقيقة أكثر قوة من بعض البرامج المكلفة التي كنت أدفع مئات الدولارات ثمنها. يشبه اكتشاف أن مطبخك العادي كان يخفي مختبر طهاة محترفين خلف لوح سري!
+المرة الأولى التي عرّفني فيها شخص على أدوات مطوري المتصفح (DevTools)، قضيت حوالي ثلاث ساعات فقط وأنا أنقر هنا وهناك وأقول "انتظر، هل يمكنه فعل ذلك أيضًا؟!" يمكنك حرفيًا تعديل أي موقع ويب في الوقت الحقيقي، ورؤية مدى سرعة تحميل كل شيء بالضبط، واختبار كيف يبدو موقعك على أجهزة مختلفة، وحتى تصحيح أخطاء JavaScript كمحترف تمامًا. إنه أمر مذهل للغاية!
**إليك لماذا المتصفحات هي سلاحك السري:**
-عندما تنشئ موقعًا أو تطبيقًا ويب، تحتاج إلى رؤية كيف يبدو ويتصرف في العالم الحقيقي. المتصفحات لا تعرض عملك فقط، بل تقدم أيضًا ملاحظات تفصيلية حول الأداء، إمكانية الوصول، والمشكلات المحتملة.
+عندما تنشئ موقع ويب أو تطبيق ويب، تحتاج إلى رؤية كيف يبدو ويتصرف في العالم الحقيقي. المتصفحات لا تعرض فقط عملك بل توفر أيضًا تغذية راجعة مفصلة حول الأداء، وسهولة الوصول، والمشكلات المحتملة.
-#### أدوات المطور في المتصفح (DevTools)
+#### أدوات مطوري المتصفح (DevTools)
تتضمن المتصفحات الحديثة مجموعات تطوير شاملة:
-| فئة الأداة | ما تقوم به | مثال على الاستخدام |
-|------------|------------|--------------------|
-| **مفتش العناصر** | عرض وتعديل HTML/CSS في الوقت الفعلي | تعديل التصميم لرؤية النتائج فورًا |
-| **الكونسول** | عرض رسائل الخطأ واختبار JavaScript | تصحيح المشكلات وتجربة الكود |
+| فئة الأداة | ماذا تفعل | مثال على الاستخدام |
+|---------------|--------------|------------------|
+| **مفتش العناصر** | عرض وتعديل HTML/CSS في الوقت الحقيقي | تعديل التنسيق لرؤية النتائج فورًا |
+| **وحدة التحكم (Console)** | عرض رسائل الخطأ واختبار JavaScript | تصحيح المشكلات وتجربة الشيفرة |
| **مراقب الشبكة** | تتبع كيفية تحميل الموارد | تحسين الأداء وأوقات التحميل |
-| **مدقق إمكانية الوصول** | اختبار التصميم الشامل | ضمان عمل موقعك لجميع المستخدمين |
-| **محاكي الأجهزة** | معاينة على أحجام شاشات مختلفة | اختبار التصميم المتجاوب دون الحاجة إلى أجهزة متعددة |
+| **مدقق سهولة الوصول** | اختبار التصميم الشامل | ضمان عمل موقعك لجميع المستخدمين |
+| **محاكي الأجهزة** | المعاينة على أحجام شاشات مختلفة | اختبار التصميم المتجاوب بدون وجود أجهزة متعددة |
#### المتصفحات الموصى بها للتطوير
-- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - أدوات DevTools معيار الصناعة مع وثائق شاملة
-- **[Firefox](https://developer.mozilla.org/docs/Tools)** - أدوات ممتازة لشبكة CSS وإمكانية الوصول
-- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - مبني على Chromium مع موارد تطوير من Microsoft
+- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - أدوات تطوير معيارية في الصناعة مع توثيق واسع
+- **[Firefox](https://developer.mozilla.org/docs/Tools)** - أدوات ممتازة لـ CSS Grid وسهولة الوصول
+- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - مبني على Chromium مع موارد مطوري مايكروسوفت
-> ⚠️ **نصيحة اختبار مهمة**: اختبر دائمًا مواقعك في متصفحات متعددة! ما يعمل بشكل مثالي في Chrome قد يبدو مختلفًا في Safari أو Firefox. المطورون المحترفون يختبرون عبر جميع المتصفحات الرئيسية لضمان تجربة مستخدم متسقة.
+> ⚠️ **نصيحة اختبار مهمة**: اختبر مواقعك دائمًا في متصفحات متعددة! ما يعمل بشكل مثالي في Chrome قد يبدو مختلفًا في Safari أو Firefox. يختبر المطورون المحترفون عبر كل المتصفحات الرئيسية لضمان تجربة مستخدم متسقة.
-### أدوات سطر الأوامر: بوابتك إلى قوى المطور الخارقة
-حسنًا، دعونا نكون صادقين تمامًا هنا بشأن سطر الأوامر، لأنني أريدك أن تسمع هذا من شخص يفهم الأمر حقًا. عندما رأيته لأول مرة – مجرد شاشة سوداء مخيفة مع نص يومض – فكرت حرفيًا: "لا، بالتأكيد لا! يبدو هذا وكأنه شيء من فيلم هاكرز في الثمانينيات، وأنا بالتأكيد لست ذكيًا بما يكفي لهذا!" 😅
+### أدوات سطر الأوامر: بوابتك إلى قوى خارقة كمطور
-لكن إليك ما كنت أتمنى أن يخبرني به أحدهم حينها، وما سأخبرك به الآن: سطر الأوامر ليس مخيفًا – إنه في الواقع مثل إجراء محادثة مباشرة مع جهاز الكمبيوتر الخاص بك. فكر فيه كأنه الفرق بين طلب الطعام عبر تطبيق فاخر مع صور وقوائم (وهو لطيف وسهل) مقابل الدخول إلى مطعمك المحلي المفضل حيث يعرف الطاهي بالضبط ما تحب ويمكنه إعداد شيء مثالي بمجرد أن تقول "فاجئني بشيء رائع."
+حسنًا، دعنا نصارح أنفسنا هنا حول سطر الأوامر، لأنني أريدك أن تسمع هذا من شخص يفهمه حقًا. عندما رأيته لأول مرة - مجرد شاشة سوداء مخيفة بها نص يومض - فكرت حرفيًا، "لا، بالتأكيد لا! هذا يبدو كشيء من فيلم هاكرز من ثمانينيات القرن الماضي، وأنا بالتأكيد لست ذكيًا بما يكفي لهذا!" 😅
-سطر الأوامر هو المكان الذي يذهب إليه المطورون ليشعروا وكأنهم سحرة حقيقيون. تكتب بضع كلمات تبدو سحرية (حسنًا، إنها مجرد أوامر، لكنها تبدو سحرية!)، تضغط على Enter، وبوم – لقد أنشأت هياكل مشاريع كاملة، قمت بتثبيت أدوات قوية من جميع أنحاء العالم، أو نشرت تطبيقك على الإنترنت ليشاهده الملايين. بمجرد أن تحصل على أول طعم لهذه القوة، يصبح الأمر إدمانًا بصراحة!
+ولكن هنا ما كنت أتمنى أن يخبرني به شخص آنذاك، وما أخبرك به الآن: سطر الأوامر ليس مخيفًا – إنه فعليًا مثل التحدث مباشرة مع حاسوبك. فكر فيه كفرق بين طلب الطعام عبر تطبيق فاخر به صور وقوائم (وهو سهل وجميل) وبين الدخول إلى مطعمك المحلي المفضل حيث يعرف الشيف بالضبط ما تحب ويمكنه إعداد شيء مثالي بمجرد أن تقول "فاجئني بشيء رائع."
+
+سطر الأوامر هو المكان الذي يشعر فيه المطورون كأنهم سحرة حقيقيون. تكتب بعض الكلمات التي تبدو سحرية (حسنًا، هي مجرد أوامر، لكنها تبدو سحرية!)، تضغط Enter، وفجأة – لقد أنشأت هياكل مشاريع كاملة، أو ثبتت أدوات قوية من جميع أنحاء العالم، أو نشرت تطبيقك على الإنترنت ليشاهده الملايين. بمجرد أن تتذوق هذه القوة لأول مرة، تصبح مدمنًا عليها!
**لماذا سيصبح سطر الأوامر أداتك المفضلة:**
-بينما تعتبر الواجهات الرسومية رائعة للعديد من المهام، يتفوق سطر الأوامر في الأتمتة، الدقة، والسرعة. تعمل العديد من أدوات التطوير بشكل أساسي من خلال واجهات سطر الأوامر، وتعلم استخدامها بكفاءة يمكن أن يحسن إنتاجيتك بشكل كبير.
+بينما الواجهات الرسومية رائعة للعديد من المهام، يتفوق سطر الأوامر في الأتمتة والدقة والسرعة. تعمل العديد من أدوات التطوير بشكل أساسي من خلال واجهات سطر الأوامر، وتعلم استخدامها بكفاءة يمكن أن يحسن إنتاجيتك بشكل كبير.
```bash
-# Step 1: Create and navigate to project directory
+# الخطوة 1: إنشاء مجلد المشروع والانتقال إليه
mkdir my-awesome-website
cd my-awesome-website
```
**ما يفعله هذا الكود:**
-- **إنشاء** دليل جديد يسمى "my-awesome-website" لمشروعك
-- **التنقل** إلى الدليل الذي تم إنشاؤه حديثًا لبدء العمل
+- **إنشاء** مجلد جديد يسمى "my-awesome-website" لمشروعك
+- **الانتقال** إلى المجلد الذي تم إنشاؤه حديثًا لبدء العمل
```bash
-# Step 2: Initialize project with package.json
+# الخطوة 2: تهيئة المشروع باستخدام package.json
npm init -y
-# Install modern development tools
+# تثبيت أدوات التطوير الحديثة
npm install --save-dev vite prettier eslint
npm install --save-dev @eslint/js
```
-**خطوة بخطوة، ما يحدث هنا:**
-- **تهيئة** مشروع Node.js جديد بإعدادات افتراضية باستخدام `npm init -y`
-- **تثبيت** Vite كأداة بناء حديثة للتطوير السريع وبناء الإنتاج
-- **إضافة** Prettier لتنسيق الكود تلقائيًا وESLint لفحص جودة الكود
-- **استخدام** العلامة `--save-dev` لتحديد هذه كاعتماديات خاصة بالتطوير فقط
+**خطوة بخطوة، هذا ما يحدث:**
+- **تهيئة** مشروع Node.js جديد بالإعدادات الافتراضية باستخدام `npm init -y`
+- **تثبيت** Vite كأداة بناء حديثة لتطوير وبناء سريع
+- **إضافة** Prettier لتنسيق الشيفرة تلقائيًا و ESLint لفحص جودة الشيفرة
+- **استخدام** العلامة `--save-dev` لوضع هذه التبعيات كاعتمادات خاصة بالتطوير فقط
```bash
-# Step 3: Create project structure and files
+# الخطوة 3: إنشاء هيكل المشروع والملفات
mkdir src assets
echo '
My Site
Hello World
' > index.html
-# Start development server
+# بدء خادم التطوير
npx vite
```
-**في ما سبق، قمنا بـ:**
-- **تنظيم** مشروعنا بإنشاء مجلدات منفصلة للكود المصدري والموارد
-- **إنشاء** ملف HTML أساسي مع هيكل وثيقة مناسب
-- **بدء** خادم تطوير Vite لإعادة التحميل المباشر واستبدال الوحدات الساخنة
+**في الأعلى، قمنا بـ:**
+- **تنظيم** مشروعنا بإنشاء مجلدات منفصلة للكود المصدر والموارد
+- **إنشاء** ملف HTML أساسي به هيكل مستند صحيح
+- **تشغيل** خادم تطوير Vite لإعادة تحميل وتحديث سريع للموديولات الحية
#### أدوات سطر الأوامر الأساسية لتطوير الويب
| الأداة | الغرض | لماذا تحتاجها |
-|--------|-------|---------------|
-| **[Git](https://git-scm.com/)** | التحكم في الإصدارات | تتبع التغييرات، التعاون مع الآخرين، نسخ احتياطي لعملك |
-| **[Node.js & npm](https://nodejs.org/)** | بيئة تشغيل JavaScript وإدارة الحزم | تشغيل JavaScript خارج المتصفحات، تثبيت أدوات التطوير الحديثة |
-| **[Vite](https://vitejs.dev/)** | أداة بناء وخادم تطوير | تطوير سريع للغاية مع استبدال الوحدات الساخنة |
-| **[ESLint](https://eslint.org/)** | جودة الكود | العثور على المشكلات في JavaScript وإصلاحها تلقائيًا |
-| **[Prettier](https://prettier.io/)** | تنسيق الكود | الحفاظ على تنسيق الكود بشكل متسق وقابل للقراءة |
+|------|---------|-----------------|
+| **[Git](https://git-scm.com/)** | التحكم في الإصدارات | تتبع التغييرات، التعاون مع الآخرين، عمل نسخ احتياطية |
+| **[Node.js & npm](https://nodejs.org/)** | بيئة تشغيل JavaScript وإدارة الحزم | تشغيل JavaScript خارج المتصفحات، تثبيت أدوات تطوير حديثة |
+| **[Vite](https://vitejs.dev/)** | أداة بناء وخادم تطوير | تطوير سريع جدًا مع تحديث سريع للموديولات |
+| **[ESLint](https://eslint.org/)** | جودة الكود | اكتشاف وإصلاح المشكلات في JavaScript تلقائيًا |
+| **[Prettier](https://prettier.io/)** | تنسيق الكود | الحفاظ على تنسيق الشيفرة بشكل موحد وقابل للقراءة |
-#### خيارات خاصة بالمنصات
+#### خيارات منصات محددة
**Windows:**
-- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - محطة حديثة وغنية بالميزات
-- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - بيئة برمجة قوية
-- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - سطر أوامر Windows التقليدي
+- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - محطة طرفية حديثة وغنية بالميزات
+- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - بيئة برمجة نصية قوية
+- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - سطر الأوامر التقليدي في ويندوز
**macOS:**
-- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 - تطبيق المحطة المدمج
-- **[iTerm2](https://iterm2.com/)** - محطة محسنة مع ميزات متقدمة
+- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 - تطبيق الطرفية المدمج
+- **[iTerm2](https://iterm2.com/)** - محطة طرفية محسنة بميزات متقدمة
**Linux:**
-- **[Bash](https://www.gnu.org/software/bash/)** 💻 - الصدفة القياسية لنظام Linux
-- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - محاكي محطة متقدم
+- **[Bash](https://www.gnu.org/software/bash/)** 💻 - الشل القياسي في لينوكس
+- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - محاكي طرفية متقدم
> 💻 = مثبت مسبقًا على نظام التشغيل
-> 🎯 **مسار التعلم**: ابدأ بالأوامر الأساسية مثل `cd` (تغيير الدليل)، `ls` أو `dir` (عرض الملفات)، و`mkdir` (إنشاء مجلد). تدرب على أوامر سير العمل الحديثة مثل `npm install`، `git status`، و`code .` (يفتح الدليل الحالي في VS Code). مع تقدمك في الراحة، ستتعلم بشكل طبيعي المزيد من الأوامر المتقدمة وتقنيات الأتمتة.
+> 🎯 **مسار التعلم**: ابدأ بالأوامر الأساسية مثل `cd` (تغيير المجلد)، `ls` أو `dir` (عرض الملفات)، و `mkdir` (إنشاء مجلد). تدرب على أوامر سير العمل الحديثة مثل `npm install`، `git status`، و `code .` (يفتح المجلد الحالي في VS Code). مع الوقت، ستتقن تلقائيًا أوامر وتقنيات أتمتة متقدمة.
+
-### الوثائق: معلمك المتاح دائمًا للتعلم
+### التوثيق: معلمك المتاح دائمًا للتعلم
-حسنًا، دعني أشاركك سرًا صغيرًا سيجعلك تشعر بتحسن كبير بشأن كونك مبتدئًا: حتى أكثر المطورين خبرة يقضون جزءًا كبيرًا من وقتهم في قراءة الوثائق. وليس لأنهم لا يعرفون ما يفعلونه – بل لأن ذلك علامة على الحكمة!
+حسنًا، دعني أشاركك سرًا صغيرًا سيجعلك تشعر بتحسن كبير تجاه كونك مبتدئًا: حتى أكثر المطورين خبرة يقضون جزءًا كبيرًا من وقتهم في قراءة التوثيق. وليس لأنهم لا يعرفون ماذا يفعلون – بل هو دليل على الحكمة!
-فكر في الوثائق كأنك تمتلك وصولًا إلى أكثر المعلمين صبرًا ومعرفة الذين يتوفرون على مدار الساعة. عالق في مشكلة الساعة 2 صباحًا؟ الوثائق موجودة مع عناق افتراضي دافئ والإجابة التي تحتاجها بالضبط. تريد تعلم ميزة جديدة رائعة يتحدث عنها الجميع؟ الوثائق تدعمك بأمثلة خطوة بخطوة. تحاول فهم لماذا يعمل شيء ما بالطريقة التي يعمل بها؟ نعم، الوثائق جاهزة لتشرح لك بطريقة تجعلك تفهمها أخيرًا!
+فكر في التوثيق كالوصول لأكثر المعلمين صبرًا وعلمًا في العالم والمتاحين 24/7. عالق في مشكلة في الثانية 2 صباحًا؟ التوثيق هنا مع حضن افتراضي دافئ وبالضبط الإجابة التي تحتاجها. تريد تعلم ميزة جديدة رائجة؟ التوثيق يدعمك بأمثلة خطوة بخطوة. تحاول فهم لماذا يعمل شيء ما بهذه الطريقة؟ بالطبع – التوثيق جاهز لشرح ذلك بطريقة تجعلك تفهم أخيرًا!
-إليك شيء غير وجهة نظري تمامًا: عالم تطوير الويب يتحرك بسرعة كبيرة، ولا أحد (أعني لا أحد على الإطلاق!) يحتفظ بكل شيء في ذاكرته. لقد شاهدت مطورين كبار لديهم خبرة تزيد عن 15 عامًا يبحثون عن بناء جملة أساسي، وتعلم ماذا؟ هذا ليس محرجًا – إنه ذكي! الأمر لا يتعلق بامتلاك ذاكرة مثالية؛ بل يتعلق بمعرفة أين تجد الإجابات الموثوقة بسرعة وفهم كيفية تطبيقها.
+إليك شيء غير وجهة نظري تمامًا: عالم تطوير الويب يتغير بسرعة خارقة، ولا أحد (أعني حرفيًا لا أحد!) يحفظ كل شيء عن ظهر قلب. شاهدت مطورين كبار بخبرة 15+ سنة يبحثون عن قواعد أساسية، وتعرف ماذا؟ هذا ليس محرجًا – هذا ذكي! المسألة ليست في امتلاك ذاكرة مثالية، بل في معرفة أين تجد إجابات موثوقة بسرعة وكيفية تطبيقها.
-**إليك أين يحدث السحر الحقيقي:**
+**هنا يحدث السحر الحقيقي:**
-يقضي المطورون المحترفون جزءًا كبيرًا من وقتهم في قراءة الوثائق – ليس لأنهم لا يعرفون ما يفعلونه، بل لأن مشهد تطوير الويب يتطور بسرعة كبيرة بحيث يتطلب البقاء على اطلاع مستمر التعلم المستمر. تساعدك الوثائق الجيدة على فهم ليس فقط *كيف* تستخدم شيئًا ما، بل *لماذا* و*متى* تستخدمه.
+يقضي المطورون المحترفون جزءًا كبيرًا من وقتهم في قراءة التوثيق – ليس لأنهم لا يعرفون ماذا يفعلون، بل لأن مجال تطوير الويب يتطور بسرعة هائلة والحفاظ على المعرفة المستحدثة يتطلب تعلمًا مستمرًا. التوثيق الرائع يساعدك على فهم ليس فقط *كيف* تستخدم شيئًا، بل و*لماذا* ومتى تستخدمه.
-#### موارد الوثائق الأساسية
+#### مصادر التوثيق الأساسية
**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)**
-- المعيار الذهبي لوثائق تقنيات الويب
-- أدلة شاملة لـ HTML، CSS، وJavaScript
-- تتضمن معلومات توافق المتصفح
-- تحتوي على أمثلة عملية وعروض تفاعلية
+- المعيار الذهبي لتوثيق تقنيات الويب
+- أدلة شاملة لـ HTML، و CSS، و JavaScript
+- يشمل معلومات توافق المتصفحات
+- يحتوي على أمثلة عملية وعروض تفاعلية
**[Web.dev](https://web.dev)** (من Google)
-- أفضل ممارسات تطوير الويب الحديث
+- أفضل ممارسات تطوير الويب الحديثة
- أدلة تحسين الأداء
-- مبادئ التصميم الشامل وإمكانية الوصول
-- دراسات حالة من مشاريع العالم الحقيقي
+- مبادئ سهولة الوصول والتصميم الشامل
+- دراسات حالة من مشاريع واقعية
**[Microsoft Developer Documentation](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)**
- موارد تطوير متصفح Edge
-- أدلة تطبيقات الويب التقدمية
-- رؤى تطوير عبر الأنظمة الأساسية
+- أدلة Progressive Web App
+- رؤى تطوير عبر المنصات
**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)**
-- مناهج تعليمية منظمة
+- مناهج تعلم منظمة
- دورات فيديو من خبراء الصناعة
-- تمارين برمجة عملية
+- تمرينات برمجية عملية
-> 📚 **استراتيجية الدراسة**: لا تحاول حفظ الوثائق – بدلاً من ذلك، تعلم كيفية التنقل فيها بكفاءة. ضع إشارات مرجعية للمراجع المستخدمة بشكل متكرر وتدرب على استخدام وظائف البحث للعثور على معلومات محددة بسرعة.
+> 📚 **استراتيجية الدراسة**: لا تحاول حفظ التوثيق – بدلاً من ذلك، تعلم كيفية التنقل فيه بكفاءة. احفظ المراجع التي تستخدمها كثيرًا وتدرب على استخدام خاصية البحث لإيجاد المعلومات بسرعة.
-### 🔧 **اختبار إتقان الأدوات: ما الذي يثير اهتمامك؟**
+### 🔧 **فحص إتقان الأدوات: ما الذي يلامسك؟**
**خذ لحظة للتفكير:**
-- أي أداة أنت متحمس لتجربتها أولاً؟ (لا توجد إجابة خاطئة!)
-- هل لا يزال سطر الأوامر يبدو مخيفًا، أم أنك فضولي بشأنه؟
-- هل يمكنك تخيل استخدام أدوات المطور في المتصفح لاستكشاف ما وراء الكواليس لمواقعك المفضلة؟
+- ما الأداة التي أنت متحمس لتجربتها أولاً؟ (لا توجد إجابة خاطئة!)
+- هل لا يزال سطر الأوامر يبدو مخيفًا، أم أنك مهتم به؟
+- هل يمكنك تخيل استخدام أدوات مطوري المتصفح للتجسس على خلفية مواقعك المفضلة؟
```mermaid
-pie title "Developer Time Spent With Tools"
- "Code Editor" : 40
- "Browser Testing" : 25
- "Command Line" : 15
- "Reading Docs" : 15
- "Debugging" : 5
+pie title "الوقت الذي يقضيه المطور مع الأدوات"
+ "محرر الشفرة" : 40
+ "اختبار المتصفح" : 25
+ "سطر الأوامر" : 15
+ "قراءة الوثائق" : 15
+ "تصحيح الأخطاء" : 5
```
+> **معلومة ممتعة**: يقضي معظم المطورين حوالي 40٪ من وقتهم في محرر الشيفرة الخاص بهم، لكن لاحظ كم من الوقت يذهب للاختبار والتعلم وحل المشكلات. البرمجة ليست مجرد كتابة شيفرة – إنها صياغة تجارب!
-> **معلومة ممتعة**: يقضي معظم المطورين حوالي 40% من وقتهم في محرر الكود الخاص بهم، لكن لاحظ كم من الوقت يُخصص للاختبار، التعلم، وحل المشكلات. البرمجة ليست فقط كتابة الكود – إنها صناعة تجارب!
-
-✅ **فكرة للتفكير**: إليك شيء مثير للتفكير – كيف تعتقد أن الأدوات لبناء المواقع (التطوير) قد تختلف عن الأدوات لتصميم كيف تبدو (التصميم)؟ إنه مثل الفرق بين أن تكون مهندسًا معماريًا يصمم منزلًا جميلًا والمقاول الذي يبنيه فعليًا. كلاهما ضروري، لكنهما يحتاجان إلى صناديق أدوات مختلفة! هذا النوع من التفكير سيساعدك حقًا على رؤية الصورة الأكبر لكيفية ظهور المواقع إلى الحياة.
+✅ **غذاء للتفكير**: إليك شيئًا مثيرًا للتفكير – كيف تعتقد أن أدوات بناء المواقع (التطوير) قد تختلف عن أدوات تصميم شكلها (التصميم)؟ مثل الفرق بين مهندس معماري يصمم منزلًا جميلًا والمقاول الذي يبنيه بالفعل. كلاهما ضروري لكن يحتاجان إلى أدوات مختلفة! هذا النوع من التفكير سيساعدك حقًا على رؤية الصورة الأكبر لكيفية حياة المواقع.
## تحدي GitHub Copilot Agent 🚀
استخدم وضع الوكيل لإكمال التحدي التالي:
-**الوصف:** استكشف ميزات محرر الكود الحديث أو بيئة التطوير المتكاملة (IDE) وأظهر كيف يمكن أن تحسن سير عملك كمطور ويب.
+**الوصف:** استكشف ميزات محرر شيفرة حديث أو IDE وشرح كيف يمكنه تحسين سير عملك كمطور ويب.
-**المهمة:** اختر محرر كود أو بيئة تطوير متكاملة (مثل Visual Studio Code، WebStorm، أو IDE قائم على السحابة). قم بتحديد ثلاث ميزات أو إضافات تساعدك على كتابة، تصحيح، أو صيانة الكود بكفاءة أكبر. لكل منها، قدم شرحًا موجزًا عن كيفية تحسينها لسير عملك.
+**المطلب:** اختر محرر شيفرة أو IDE (مثل Visual Studio Code، WebStorm، أو IDE قائم على السحابة). اذكر ثلاث ميزات أو امتدادات تساعدك على كتابة وتصحيح أو الحفاظ على الشيفرة بفعالية أكثر. لكل منها، قدم شرحًا مختصرًا عن كيفية استفادتك منها في سير العمل.
---
## 🚀 التحدي
-**حسنًا، أيها المحقق، هل أنت مستعد لأول قضية لك؟**
+**حسنًا، أيها المحقق، هل أنت مستعد لقضيتك الأولى؟**
-الآن بعد أن حصلت على هذه الأساسيات الرائعة، لدي مغامرة ستساعدك على رؤية مدى تنوع وجاذبية عالم البرمجة حقًا. واستمع – هذا ليس عن كتابة الكود بعد، لذا لا يوجد ضغط هنا! فكر في نفسك كمحقق لغات برمجة في أول قضية مثيرة لك!
+الآن بعد أن أصبحت لديك هذه الأساسيات الرائعة، لدي مغامرة ستساعدك على رؤية مدى التنوع والروعة لعالم البرمجة. واستمع - هذه ليست حول كتابة الشيفرة بعد، فلا ضغط في هذا الأمر! اعتبر نفسك محقق لغات برمجة في قضيتك المثيرة الأولى!
-**مهمتك، إذا اخترت قبولها:**
-1. **كن مستكشفًا للغات**: اختر ثلاث لغات برمجة من عوالم مختلفة تمامًا – ربما واحدة تبني مواقع، واحدة تنشئ تطبيقات جوال، وواحدة تحلل البيانات للعلماء. ابحث عن أمثلة لنفس المهمة البسيطة مكتوبة بكل لغة. أعدك أنك ستندهش تمامًا من مدى اختلافها أثناء القيام بنفس الشيء!
+**مهمتك، إذا قررت قبولها:**
+1. **كن مستكشف لغات**: اختر ثلاث لغات برمجة من عوالم مختلفة تمامًا – ربما واحدة لبناء المواقع، وأخرى لإنشاء تطبيقات الهاتف المحمول، وثالثة لمعالجة البيانات للعلماء. ابحث عن أمثلة لنفس المهمة البسيطة مكتوبة بكل لغة. أعدك بأنك ستندهش تمامًا من مدى اختلافها بينما تؤدي نفس الشيء بالضبط!
-2. **اكتشف قصص أصلها**: ما الذي يجعل كل لغة مميزة؟ إليك حقيقة رائعة – كل لغة برمجة تم إنشاؤها لأن شخصًا ما فكر، "تعرف ماذا؟ يجب أن يكون هناك طريقة أفضل لحل هذه المشكلة المحددة." هل يمكنك معرفة ما كانت تلك المشكلات؟ بعض هذه القصص مثيرة للاهتمام حقًا!
+2. **اكشف قصص نشأتها**: ما الذي يجعل كل لغة مميزة؟ هذه حقيقة رائعة – كل لغة برمجة تم إنشاؤها لأن شخصًا ما فكر، "تعرف ماذا؟ يجب أن تكون هناك طريقة أفضل لحل هذه المشكلة المحددة." هل يمكنك اكتشاف ما هي تلك المشكلات؟ بعض هذه القصص حقًا مثيرة!
-3. **تعرف على المجتمعات**: تحقق من مدى ترحيب وشغف مجتمع كل لغة. البعض لديه ملايين المطورين الذين يشاركون المعرفة ويساعدون بعضهم البعض، والبعض الآخر أصغر ولكن مترابط للغاية وداعم. ستعجبك رؤية الشخصيات المختلفة لهذه المجتمعات!
+3. **التقى المجتمعات**: اطلع على مدى ترحيب وشغف كل مجتمع للغة. بعضها يضم ملايين المطورين الذين يشاركون المعرفة ويساعدون بعضهم البعض، بينما البعض الآخر أصغر لكن مترابط وداعم بشكل كبير. ستحب رؤية الشخصيات المختلفة لهذه المجتمعات!
-4. **اتبع شعورك الداخلي**: أي لغة تبدو أكثر سهولة بالنسبة لك الآن؟ لا تقلق بشأن اتخاذ الخيار "المثالي" – فقط استمع إلى حدسك! لا توجد إجابة خاطئة هنا، ويمكنك دائمًا استكشاف الآخرين لاحقًا.
+4. **تابع حدسك**: أي لغة تبدو أكثر قربًا منك حاليًا؟ لا تشغل بالك بالاختيار "المثالي" – فقط استمع إلى إحساسك! لا توجد إجابة خاطئة هنا، ويمكنك دائمًا استكشاف لغات أخرى لاحقًا.
-**عمل تحري إضافي**: حاول اكتشاف ما هي المواقع أو التطبيقات الرئيسية التي تم بناؤها بكل لغة. أضمن أنك ستُصدم عندما تعرف ما الذي يشغل Instagram، Netflix، أو تلك اللعبة الجوالة التي لا تستطيع التوقف عن لعبها!
+**عمل تحقيق إضافي**: حاول اكتشاف ما هي المواقع أو التطبيقات الكبرى المبنية بكل لغة. أضمن لك أنك ستندهش عندما تعلم ما الذي يشغل إنستغرام، نيتفليكس، أو تلك اللعبة المحمولة التي لا تستطيع التوقف عن لعبها!
-> 💡 **تذكر**: أنت لا تحاول أن تصبح خبيرًا في أي من هذه اللغات اليوم. أنت فقط تتعرف على الحي قبل أن تقرر أين تريد أن تستقر. خذ وقتك، استمتع بالأمر، ودع فضولك يقودك!
+> 💡 **تذكر**: أنت لا تحاول أن تصبح خبيرًا في أي من هذه اللغات اليوم. أنت فقط تتعرف على الحي قبل أن تقرر أين تريد أن تقيم متجرك. خذ وقتك، استمتع، ودع فضولك يقودك!
## لنحتفل بما اكتشفته!
-يا إلهي، لقد استوعبت الكثير من المعلومات الرائعة اليوم! أنا متحمس حقًا لرؤية مدى تأثير هذه الرحلة المذهلة عليك. وتذكر – هذا ليس اختبارًا تحتاج فيه إلى أن تكون مثاليًا. هذا أشبه بالاحتفال بكل الأشياء الرائعة التي تعلمتها عن هذا العالم المثير الذي أنت على وشك الغوص فيه!
+يا إلهي، لقد استوعبت قدرًا هائلًا من المعلومات الرائعة اليوم! أنا متحمس حقًا لرؤية مدى التمسك بهذه الرحلة المذهلة. وتذكر – هذا ليس اختبارًا تحتاج أن تجتازه بشكل مثالي. هذا أقرب إلى احتفال بكل الأشياء الرائعة التي تعلمتها عن هذا العالم الرائع الذي ستغوص فيه قريبًا!
-[خذ اختبار ما بعد الدرس](https://ff-quizzes.netlify.app/web/)
-## المراجعة والدراسة الذاتية
+[خض اختبار ما بعد الدرس](https://ff-quizzes.netlify.app/web/)
-**خذ وقتك للاستكشاف واستمتع بذلك!**
+## مراجعة ودراسة ذاتية
-لقد قطعت شوطًا كبيرًا اليوم، وهذا شيء تفخر به! الآن يأتي الجزء الممتع – استكشاف المواضيع التي أثارت فضولك. تذكر، هذا ليس واجبًا منزليًا – إنها مغامرة!
+**خذ وقتك للاستكشاف والاستمتاع!**
+لقد غطيت الكثير اليوم، وهذا شيء تفخر به! والآن يأتي الجزء الممتع – استكشاف المواضيع التي أثارت فضولك. تذكّر، هذا ليس واجبًا منزليًا – بل هو مغامرة!
-**استكشف ما يثير حماسك بعمق:**
+**اغص في العمق فيما يثير حماسك:**
-**تفاعل مع لغات البرمجة:**
-- قم بزيارة المواقع الرسمية لـ 2-3 لغات أثارت اهتمامك. لكل منها شخصيتها وقصتها الخاصة!
-- جرب بعض منصات البرمجة عبر الإنترنت مثل [CodePen](https://codepen.io/)، [JSFiddle](https://jsfiddle.net/)، أو [Replit](https://replit.com/). لا تخف من التجربة – لن تكسر شيئًا!
-- اقرأ عن كيفية نشأة لغتك المفضلة. صدقني، بعض هذه القصص الأصلية مثيرة للاهتمام وستساعدك على فهم سبب عمل اللغات بالطريقة التي تعمل بها.
+**تعمّق في لغات البرمجة:**
+- زر المواقع الرسمية لـ 2-3 لغات برمجة لفتت انتباهك. كل واحدة لها شخصيتها وقصتها الخاصة!
+- جرّب بعض ساحات البرمجة الإلكترونية مثل [CodePen](https://codepen.io/)، [JSFiddle](https://jsfiddle.net/)، أو [Replit](https://replit.com/). لا تخف من التجربة – لا يمكنك كسر أي شيء!
+- اقرأ عن كيف نشأت لغتك المفضلة. حقًا، بعض هذه القصص الأصلية مثيرة وستساعدك على فهم سبب عمل اللغات بالطريقة التي تعمل بها.
-**تعرف على أدواتك الجديدة:**
-- قم بتنزيل Visual Studio Code إذا لم تقم بذلك بالفعل – إنه مجاني وستحبه!
-- اقضِ بضع دقائق في تصفح سوق الإضافات. إنه مثل متجر التطبيقات لمحرر الكود الخاص بك!
-- افتح أدوات المطور في متصفحك وانقر هنا وهناك. لا تقلق بشأن فهم كل شيء – فقط تعرّف على ما هو موجود.
+**تأقلم مع أدواتك الجديدة:**
+- حمّل Visual Studio Code إذا لم تكن قد فعلت ذلك بالفعل – إنه مجاني وستعجبك بشدة!
+- اقضِ بضع دقائق في تصفح سوق الإضافات. إنه مثل متجر تطبيقات لمحرر الكود الخاص بك!
+- افتح أدوات المطور في متصفحك وانقر هنا وهناك. لا تقلق من فهم كل شيء – فقط تعرّف على ما هو موجود.
**انضم إلى المجتمع:**
-- تابع بعض مجتمعات المطورين على [Dev.to](https://dev.to/)، [Stack Overflow](https://stackoverflow.com/)، أو [GitHub](https://github.com/). مجتمع البرمجة مرحب جدًا بالمبتدئين!
-- شاهد بعض الفيديوهات التعليمية للمبتدئين على YouTube. هناك العديد من المبدعين الرائعين الذين يتذكرون كيف كان الأمر عندما بدأوا.
-- فكر في الانضمام إلى لقاءات محلية أو مجتمعات عبر الإنترنت. صدقني، المطورون يحبون مساعدة المبتدئين!
+- تابع بعض مجتمعات المطورين على [Dev.to](https://dev.to/)، [Stack Overflow](https://stackoverflow.com/)، أو [GitHub](https://github.com/). مجتمع البرمجة ترحيبي للغاية بالمبتدئين!
+- شاهد بعض فيديوهات البرمجة الموجهة للمبتدئين على يوتيوب. هناك العديد من المبدعين الرائعين الذين يتذكرون كيف يكون الأمر عند البدء.
+- فكر في الانضمام إلى لقاءات محلية أو مجتمعات إلكترونية. صدقني، المطورون يحبون مساعدة القادمين الجدد!
+
+> 🎯 **اسمع، هذا ما أريدك أن تتذكره**: لن تتوقع أن تصبح ساحر برمجة بين عشية وضحاها! أنت الآن فقط تتعرف على هذا العالم الرائع الجديد الذي على وشك أن تكون جزءًا منه. خذ وقتك، استمتع بالرحلة، وتذكر – كل مطور تعجب به كان يجلس يومًا ما تمامًا حيث أنت الآن، يشعر بالحماس وربما بقليل من الارباك. هذا أمر طبيعي تمامًا، ويعني أنك تسير على الطريق الصحيح!
+
-> 🎯 **اسمع، هذا ما أريدك أن تتذكره**: لا يُتوقع منك أن تصبح خبيرًا في البرمجة بين ليلة وضحاها! الآن، أنت فقط تتعرف على هذا العالم الجديد الرائع الذي ستصبح جزءًا منه. خذ وقتك، استمتع بالرحلة، وتذكر – كل مطور تعجب به كان يجلس في مكانك تمامًا، يشعر بالحماس وربما قليلًا من الارتباك. هذا طبيعي تمامًا، ويعني أنك تسير في الطريق الصحيح.
## المهمة
-[قراءة الوثائق](assignment.md)
+[Reading the Docs](assignment.md)
-> 💡 **تلميح صغير لمهمتك**: سأكون سعيدًا جدًا برؤية أنك تستكشف بعض الأدوات التي لم نتحدث عنها بعد! تجاوز المحررات، المتصفحات، وأدوات سطر الأوامر التي تحدثنا عنها – هناك عالم مذهل من أدوات التطوير الرائعة ينتظر أن يتم اكتشافه. ابحث عن الأدوات التي يتم تحديثها بانتظام ولديها مجتمعات نشطة وداعمة (عادةً ما تكون هذه الأدوات لديها أفضل الشروحات وأكثر الأشخاص دعمًا عندما تواجه مشكلة وتحتاج إلى يد مساعدة ودية).
+> 💡 **دفعة صغيرة لمهمتك**: سأكون سعيدًا جدًا إذا استكشفت بعض الأدوات التي لم نتطرق إليها بعد! تخطَ المحررات، والمتصفحات، وأدوات سطر الأوامر التي تحدثنا عنها بالفعل – هناك عالم هائل من أدوات التطوير الرائعة في انتظارك لاكتشافها. ابحث عن تلك التي تتم صيانتها بفاعلية وتتمتع بمجتمعات نابضة بالحياة ومساعدة (هذه عادةً ما تحتوي على أفضل الدروس وأكثر الأشخاص دعمًا عندما تعلق وتحتاج إلى يد صديقة).
---
## 🚀 جدول رحلتك البرمجية
-### ⚡ **ما يمكنك القيام به في الدقائق الخمس القادمة**
-- [ ] ضع إشارة مرجعية على مواقع 2-3 لغات برمجة أثارت اهتمامك
-- [ ] قم بتنزيل Visual Studio Code إذا لم تقم بذلك بالفعل
-- [ ] افتح أدوات المطور في متصفحك (F12) وانقر هنا وهناك على أي موقع
-- [ ] انضم إلى مجتمع برمجي واحد (Dev.to، Reddit r/webdev، أو Stack Overflow)
-
-### ⏰ **ما يمكنك إنجازه خلال الساعة القادمة**
-- [ ] أكمل اختبار ما بعد الدرس وفكر في إجاباتك
-- [ ] قم بإعداد VS Code مع إضافة GitHub Copilot
-- [ ] جرب مثال "Hello World" في لغتين برمجيتين مختلفتين عبر الإنترنت
-- [ ] شاهد فيديو "يوم في حياة مطور" على YouTube
-- [ ] ابدأ تحقيقك في لغات البرمجة (من التحدي)
-
-### 📅 **مغامرتك لمدة أسبوع**
-- [ ] أكمل المهمة واستكشف 3 أدوات تطوير جديدة
-- [ ] تابع 5 مطورين أو حسابات برمجية على وسائل التواصل الاجتماعي
-- [ ] حاول بناء شيء صغير على CodePen أو Replit (حتى لو كان مجرد "مرحبًا، [اسمك]!")
-- [ ] اقرأ منشور مدونة لمطور عن رحلته البرمجية
-- [ ] انضم إلى لقاء افتراضي أو شاهد حديثًا عن البرمجة
-- [ ] ابدأ تعلم اللغة التي اخترتها من خلال الدروس عبر الإنترنت
-
-### 🗓️ **تحولك خلال شهر**
-- [ ] قم ببناء أول مشروع صغير لك (حتى لو كان مجرد صفحة ويب بسيطة!)
-- [ ] ساهم في مشروع مفتوح المصدر (ابدأ بإصلاحات الوثائق)
-- [ ] قم بتوجيه شخص بدأ للتو رحلته البرمجية
-- [ ] أنشئ موقع محفظة المطور الخاص بك
-- [ ] تواصل مع مجتمعات المطورين المحلية أو مجموعات الدراسة
-- [ ] ابدأ التخطيط لمرحلة التعلم التالية
-
-### 🎯 **التأمل النهائي**
-
-**قبل أن تنتقل، خذ لحظة للاحتفال:**
-- ما الشيء الذي أثار حماسك بشأن البرمجة اليوم؟
-- ما الأداة أو المفهوم الذي تريد استكشافه أولاً؟
-- كيف تشعر بشأن بدء رحلتك البرمجية؟
-- ما السؤال الذي ترغب في طرحه على مطور الآن؟
+### ⚡ **ما يمكنك فعله في الدقائق الخمس القادمة**
+- [ ] احفظ في المفضلة مواقع 2-3 لغات برمجة لفتت انتباهك
+- [ ] حمّل Visual Studio Code إذا لم تفعل ذلك بعد
+- [ ] افتح أدوات المطور في متصفحك (F12) وانقر في أي موقع إلكتروني
+- [ ] انضم إلى مجتمع برمجة واحد (Dev.to، Reddit r/webdev، أو Stack Overflow)
+
+### ⏰ **ما يمكنك تحقيقه خلال هذه الساعة**
+- [ ] أكمل اختبار ما بعد الدرس وتأمل في إجاباتك
+- [ ] جهز VS Code مع إضافة GitHub Copilot
+- [ ] جرّب مثال "مرحبًا بالعالم" بلغتين برمجيتين مختلفتين أونلاين
+- [ ] شاهد فيديو "يوم في حياة مطور" على يوتيوب
+- [ ] ابدأ في عمل تحقيقك الخاص حول لغات البرمجة (من التحدي)
+
+### 📅 **مغامرتك التي تستمر أسبوعًا**
+- [ ] أتمم المهمة واستكشف 3 أدوات تطوير جديدة
+- [ ] تابع 5 مطورين أو حسابات برمجة على وسائل التواصل الاجتماعي
+- [ ] جرّب بناء شيء صغير في CodePen أو Replit (حتى لو كان مجرد "مرحبًا، [اسمك]!")
+- [ ] اقرأ تدوينة مطور واحدة عن رحلة برمجية لشخص ما
+- [ ] انضم إلى لقاء افتراضي أو شاهد محاضرة برمجية
+- [ ] ابدأ تعلم لغتك المختارة عبر الدروس الإلكترونية
+
+### 🗓️ **تحولك الذي يستمر شهرًا**
+- [ ] ابني مشروعك الصغير الأول (حتى صفحة ويب بسيطة تُحسب!)
+- [ ] ساهم في مشروع مفتوح المصدر (ابدأ بإصلاح التوثيق)
+- [ ] علم شخصًا بدأ رحلته البرمجية للتو
+- [ ] أنشئ موقع ملفك الشخصي كمطور
+- [ ] تواصل مع مجتمعات مطورين محلية أو مجموعات دراسة
+- [ ] ابدأ تخطيط هدفك التعليمي التالي
+
+### 🎯 **تقييم التأمل النهائي**
+
+**قبل أن تتابع، خذ لحظة للاحتفال:**
+- ما هو الشيء الذي أثار حماسك في البرمجة اليوم؟
+- أي أداة أو مفهوم ترغب في استكشافه أولًا؟
+- كيف تشعر حيال بدء هذه الرحلة البرمجية؟
+- ما السؤال الذي تود طرحه على مطور الآن؟
```mermaid
journey
- title Your Confidence Building Journey
- section Today
- Curious: 3: You
- Overwhelmed: 4: You
- Excited: 5: You
- section This Week
- Exploring: 4: You
- Learning: 5: You
- Connecting: 4: You
- section Next Month
- Building: 5: You
- Confident: 5: You
- Helping Others: 5: You
+ title رحلتك في بناء الثقة بالنفس
+ section اليوم
+ Curious: 3: أنت
+ Overwhelmed: 4: أنت
+ Excited: 5: أنت
+ section هذا الأسبوع
+ Exploring: 4: أنت
+ Learning: 5: أنت
+ Connecting: 4: أنت
+ section الشهر القادم
+ Building: 5: أنت
+ Confident: 5: أنت
+ Helping Others: 5: أنت
```
-
-> 🌟 **تذكر**: كل خبير كان يومًا ما مبتدئًا. كل مطور كبير شعر تمامًا كما تشعر الآن – بالحماس، وربما قليلًا من الارتباك، وبالتأكيد فضوليًا بشأن ما هو ممكن. أنت في صحبة رائعة، وهذه الرحلة ستكون مذهلة. مرحبًا بك في عالم البرمجة الرائع! 🎉
+> 🌟 **تذكّر**: كل خبير كان مبتدئًا يومًا ما. كل مطور كبير شعر بنفس شعورك الآن – متحمس، وربما مرتبك قليلاً، وبالتأكيد فضولي حول ما هو ممكن. أنت في صحبة رائعة، وهذه الرحلة ستكون مذهلة. مرحبًا بك في العالم الرائع للبرمجة! 🎉
---
-**إخلاء المسؤولية**:
-تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالترجمة البشرية الاحترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.
\ No newline at end of file
+
+**تنويه**:
+تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى الانتباه إلى أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي والمعتمد. للمعلومات الهامة أو الحرجة، يُنصح بالاعتماد على الترجمة الاحترافية البشرية. نحن غير مسؤولين عن أي سوء فهم أو تفسير خاطئ ناتج عن استخدام هذه الترجمة.
+
\ No newline at end of file
diff --git a/translations/ar/AGENTS.md b/translations/ar/AGENTS.md
index 244b7cd08..16098058d 100644
--- a/translations/ar/AGENTS.md
+++ b/translations/ar/AGENTS.md
@@ -2,27 +2,27 @@
## نظرة عامة على المشروع
-هذا مستودع منهج تعليمي لتدريس أساسيات تطوير الويب للمبتدئين. المنهج هو دورة شاملة لمدة 12 أسبوعًا تم تطويرها بواسطة Microsoft Cloud Advocates، ويحتوي على 24 درسًا عمليًا تغطي JavaScript وCSS وHTML.
+هذا مستودع منهج تعليمي لتعليم أساسيات تطوير الويب للمبتدئين. المنهج عبارة عن دورة شاملة لمدة 12 أسبوعًا طورتها Microsoft Cloud Advocates، تشمل 24 درسًا عمليًا تغطي JavaScript و CSS و HTML.
### المكونات الرئيسية
-- **المحتوى التعليمي**: 24 درسًا منظمين في وحدات تعتمد على المشاريع
-- **مشاريع عملية**: تيراريوم، لعبة الكتابة، امتداد المتصفح، لعبة الفضاء، تطبيق البنك، محرر الشيفرة، ومساعد الدردشة بالذكاء الاصطناعي
-- **اختبارات تفاعلية**: 48 اختبارًا يحتوي كل منها على 3 أسئلة (تقييمات قبل/بعد الدرس)
-- **دعم متعدد اللغات**: ترجمات مؤتمتة لأكثر من 50 لغة عبر GitHub Actions
-- **التقنيات**: HTML، CSS، JavaScript، Vue.js 3، Vite، Node.js، Express، Python (لمشاريع الذكاء الاصطناعي)
+- **المحتوى التعليمي**: 24 درسًا منظمًا في وحدات تعتمد على المشاريع
+- **مشاريع عملية**: Terrarium, لعبة الطباعة، امتداد المتصفح، لعبة الفضاء، تطبيق مصرفي، محرر كود، ومساعد دردشة ذكي
+- **اختبارات تفاعلية**: 48 اختبارًا يحتوي كل منها على 3 أسئلة (تقييمات قبل وبعد الدرس)
+- **دعم متعدد اللغات**: ترجمات آلية لأكثر من 50 لغة عبر GitHub Actions
+- **التقنيات**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (لمشاريع الذكاء الاصطناعي)
-### البنية
+### الهيكلية
-- مستودع تعليمي به هيكلية تعتمد على الدروس
-- كل مجلد درس يحتوي على ملف README، أمثلة شيفرة، وحلول
-- مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع دروس متنوعة)
-- نظام الترجمة يستخدم GitHub Actions (co-op-translator)
-- التوثيق يُقدم عبر Docsify ومتوفر كملف PDF
+- مستودع تعليمي به هيكل يعتمد على الدروس
+- يحتوي كل مجلد درس على README، أمثلة الكود، والحلول
+- مشاريع مستقلة في مجلدات منفصلة (quiz-app، مشاريع الدروس المختلفة)
+- نظام ترجمة باستخدام GitHub Actions (co-op-translator)
+- توثيق مقدم عبر Docsify ومتوافر كملف PDF
## أوامر الإعداد
-هذا المستودع مخصص في المقام الأول لاستهلاك المحتوى التعليمي. للعمل على مشاريع محددة:
+هذا المستودع مخصص بشكل أساسي لاستهلاك المحتوى التعليمي. للعمل مع مشاريع محددة:
### إعداد المستودع الرئيسي
@@ -31,13 +31,13 @@ git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
-### إعداد تطبيق الاختبارات (Vue 3 + Vite)
+### إعداد تطبيق الاختبار (Vue 3 + Vite)
```bash
cd quiz-app
npm install
-npm run dev # بدء خادم التطوير
-npm run build # البناء للإنتاج
+npm run dev # ابدأ خادم التطوير
+npm run build # بناء للإنتاج
npm run lint # تشغيل ESLint
```
@@ -56,7 +56,7 @@ npm run format # التنسيق باستخدام Prettier
```bash
cd 5-browser-extension/solution
npm install
-# اتبع تعليمات تحميل الامتدادات الخاصة بالمتصفح
+# اتبع تعليمات تحميل الإضافات الخاصة بالمتصفح
```
### مشاريع لعبة الفضاء
@@ -64,128 +64,128 @@ npm install
```bash
cd 6-space-game/solution
npm install
-# افتح index.html في المتصفح أو استخدم الخادم المباشر
+# افتح index.html في المتصفح أو استخدم Live Server
```
-### مشروع الدردشة (خلفية Python)
+### مشروع الدردشة (باك إند بايثون)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
-# تعيين متغير بيئة GITHUB_TOKEN
+# تعيين متغير البيئة GITHUB_TOKEN
python api.py
```
-## سير عمل التطوير
+## سير العمل التطويري
-### للمساهمين بالمحتوى
+### للمساهمين في المحتوى
-1. **انسخ المستودع إلى حساب GitHub الخاص بك (Fork)**
-2. **استنسخ نسخة فورك محليًا**
-3. **أنشئ فرعًا جديدًا** لإجراء التغييرات
-4. اجري تغييرات على محتوى الدروس أو أمثلة الشيفرة
-5. اختبر أي تغييرات في مجلدات المشاريع ذات الصلة
-6. قدم طلبات سحب (Pull Requests) وفقًا لإرشادات المساهمة
+1. **فرع المستودع** إلى حسابك على GitHub
+2. **نسخ الفرع** محليًا
+3. **إنشاء فرع جديد** للتعديلات التي ستجريها
+4. أجرِ التعديلات على محتوى الدرس أو أمثلة الكود
+5. اختبر تغييرات الكود في مجلدات المشاريع ذات الصلة
+6. أرسل طلبات السحب وفقًا لإرشادات المساهمة
### للمتعلمين
-1. انسخ أو استنسخ المستودع
-2. انتقل إلى مجلدات الدروس بترتيبها
+1. فرع أو استنسخ المستودع
+2. انتقل تدريجيًا إلى مجلدات الدروس
3. اقرأ ملفات README لكل درس
-4. أكمل اختبارات قبل الدرس على https://ff-quizzes.netlify.app/web/
-5. اعمل على أمثلة الشيفرة في مجلدات الدروس
+4. أكمل الاختبارات قبل الدرس على https://ff-quizzes.netlify.app/web/
+5. تابع أمثلة الكود في مجلدات الدروس
6. أكمل الواجبات والتحديات
-7. خذ اختبارات ما بعد الدرس
+7. خُذ اختبارات ما بعد الدرس
### التطوير الحي
-- **التوثيق**: شغل `docsify serve` من جذر المشروع (المنفذ 3000)
-- **تطبيق الاختبار**: شغل `npm run dev` في مجلد quiz-app
-- **المشاريع**: استخدم امتداد VS Code Live Server لمشاريع HTML
-- **مشاريع API**: شغل `npm start` في مجلدات API المعنية
+- **التوثيق**: شغّل الأمر `docsify serve` في المسار الجذري (المنفذ 3000)
+- **تطبيق الاختبار**: شغّل `npm run dev` في مجلد quiz-app
+- **المشاريع**: استخدم إضافة Live Server في VS Code لمشاريع HTML
+- **مشاريع API**: شغّل `npm start` في مجلدات API المعنية
## تعليمات الاختبار
-### اختبار تطبيق الاختبارات
+### اختبار تطبيق الاختبار
```bash
cd quiz-app
-npm run lint # التحقق من وجود مشاكل في نمط الكود
-npm run build # التحقق من نجاح البناء
+npm run lint # التحقق من مشاكل نمط الكود
+npm run build # التأكد من نجاح الإنشاء
```
### اختبار API البنك
```bash
cd 7-bank-project/api
-npm run lint # تحقق من مشكلات نمط الكود
-node server.js # تحقق من بدء الخادم بدون أخطاء
+npm run lint # التحقق من مشاكل نمط الكود
+node server.js # التحقق من بدء الخادم بدون أخطاء
```
-### منهجية الاختبار العامة
+### نهج الاختبار العام
-- هذا مستودع تعليمي بدون اختبارات مؤتمتة شاملة
-- الاختبارات اليدوية تركز على:
- - تشغيل أمثلة الشيفرة بدون أخطاء
- - عمل الروابط في التوثيق بشكل صحيح
- - اكتمال بناء المشاريع بنجاح
- - اتباع الأمثلة لأفضل الممارسات
+- هذا مستودع تعليمي بدون اختبارات آلية شاملة
+- الاختبار اليدوي يركز على:
+ - تشغيل أمثلة الكود بدون أخطاء
+ - تأكد من عمل الروابط في التوثيق بشكل صحيح
+ - اكتمال بناء المشروع بنجاح
+ - اتباع أمثلة الكود لأفضل الممارسات
-### فحوصات ما قبل الإرسال
+### الفحوصات قبل الإرسال
-- شغل `npm run lint` في المجلدات التي تحتوي package.json
-- تحقق من صلاحية روابط Markdown
-- اختبر أمثلة الشيفرة في المتصفح أو Node.js
-- تأكد أن الترجمات تحافظ على البنية الصحيحة
+- شغّل `npm run lint` في المجلدات التي تحوي package.json
+- تحقق من صحة روابط markdown
+- اختبر أمثلة الكود في المتصفح أو Node.js
+- تأكد من أن الترجمات تحافظ على الهيكل الصحيح
-## إرشادات نمط الشيفرة
+## إرشادات نمط الكود
### جافا سكريبت
-- استخدم بناء جملة ES6+ الحديثة
-- اتبع إعدادات ESLint القياسية المقدمة في المشاريع
-- استخدم أسماء متغيرات ودوال ذات معنى للتعليم
-- أضف تعليقات توضح المفاهيم للمتعلمين
-- نسق الشيفرة باستخدام Prettier حيثما كان مفعلاً
+- استخدم صياغة ES6+ الحديثة
+- اتبع تكوينات ESLint القياسية المقدمة في المشاريع
+- استخدم أسماء متغيرات ودوال ذات معنى لتعزيز وضوح التعليم
+- أضف تعليقات تشرح المفاهيم للمتعلمين
+- نسق باستخدام Prettier حيثما تم التكوين
-### HTML / CSS
+### HTML/CSS
-- عناصر HTML5 الدلالية
-- مبادئ التصميم المستجيب
-- قواعد واضحة لتسمية الأصناف (الكلاسات)
-- تعليقات تفصيلية لتقنيات CSS للمتعلمين
+- استخدم عناصر HTML5 الدلالية
+- مبادئ التصميم المتجاوب
+- تسميات واضحة للفئات (class)
+- تعليقات تشرح تقنيات CSS للمتعلمين
### بايثون
-- إرشادات نمط PEP 8
-- أمثلة شيفرة واضحة وتعليمية
-- تعليمات النوع حيث تفيد في التعلم
+- اتبع إرشادات نمط PEP 8
+- أمثلة كود واضحة وتعليمية
+- استخدم تنبيهات النوع (Type hints) إن كان مفيدًا للتعلم
### توثيق Markdown
-- تسلسل واضح للرؤوس
-- كتل الشيفرة مع تحديد لغة البرمجة
+- تسلسل واضح للعناوين
+- كتل كود مع تحديد اللغة
- روابط لموارد إضافية
-- لقطات شاشة وصور في مجلد `images/`
-- نص بديل للصور من أجل سهولة الوصول
+- لقطات شاشة وصور في مجلدات `images/`
+- نص بديل للصور لدعم إمكانية الوصول
### تنظيم الملفات
-- الدروس مرقمة تسلسليًا (1-getting-started-lessons, 2-js-basics, الخ)
-- لكل مشروع مجلد `solution/` وغالبًا مجلد `start/` أو `your-work/`
-- الصور مخزنة في مجلدات `images/` الخاصة بكل درس
-- الترجمات في بنية `translations/{language-code}/`
+- ترقم الدروس بشكل تسلسلي (1-getting-started-lessons, 2-js-basics، ..)
+- يحتوي كل مشروع على مجلد `solution/` وغالبًا `start/` أو `your-work/`
+- تُخزن الصور في مجلدات `images/` الخاصة بكل درس
+- الترجمات في هيكل `translations/{language-code}/`
## البناء والنشر
-### نشر تطبيق الاختبارات (Azure Static Web Apps)
+### نشر تطبيق الاختبار (Azure Static Web Apps)
-تم تكوين تطبيق الاختبارات للنشر على Azure Static Web Apps:
+تم تكوين quiz-app للنشر على Azure Static Web Apps:
```bash
cd quiz-app
npm run build # ينشئ مجلد dist/
-# ينشر عبر سير عمل GitHub Actions عند الدفع إلى الفرع الرئيسي
+# ينفذ النشر عبر سير عمل GitHub Actions عند الدفع إلى الفرع الرئيسي
```
تكوين Azure Static Web Apps:
@@ -193,11 +193,11 @@ npm run build # ينشئ مجلد dist/
- **موقع المخرجات**: `dist`
- **سير العمل**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
-### إنشاء ملف PDF للتوثيق
+### توليد ملف PDF للتوثيق
```bash
npm install # تثبيت docsify-to-pdf
-npm run convert # إنشاء ملف PDF من مستندات.docs
+npm run convert # إنشاء ملف PDF من المستندات
```
### توثيق Docsify
@@ -207,76 +207,76 @@ npm install -g docsify-cli # تثبيت Docsify على مستوى النظا
docsify serve # الخادم على localhost:3000
```
-### بناء خاص بالمشروع
+### بناء خاص بكل مشروع
قد يحتوي كل مجلد مشروع على عملية بناء خاصة به:
-- مشاريع Vue: `npm run build` لإنشاء الحزم الإنتاجية
-- مشاريع ثابتة: بدون خطوة بناء، قدّم الملفات مباشرة
+- مشاريع Vue: `npm run build` لإنشاء الحزم للإنتاج
+- المشاريع الثابتة: لا توجد خطوة بناء، تقديم الملفات مباشرة
-## إرشادات طلب السحب
+## إرشادات طلبات السحب
### صيغة العنوان
-استخدم عناوين واضحة وواصفة توضح مجال التغيير:
-- `[Quiz-app] إضافة اختبار جديد للدرس X`
-- `[Lesson-3] إصلاح خطأ مطبعي في مشروع التيراريوم`
-- `[Translation] إضافة الترجمة الإسبانية للدرس 5`
-- `[Docs] تحديث تعليمات الإعداد`
+استخدم عناوين واضحة وواصفة تشير إلى مجال التغيير:
+- `[Quiz-app] أضف اختبارًا جديدًا للدرس X`
+- `[Lesson-3] أصلح خطأ إملائي في مشروع Terrarium`
+- `[Translation] أضف ترجمة إسبانية للدرس 5`
+- `[Docs] حدث تعليمات الإعداد`
### الفحوصات المطلوبة
-قبل تقديم طلب السحب:
+قبل إرسال طلب السحب:
-1. **جودة الشيفرة**:
- - شغل `npm run lint` في مجلدات المشاريع المتأثرة
- - أصلح كافة الأخطاء والتحذيرات
+1. **جودة الكود**:
+ - شغّل `npm run lint` في مجلدات المشاريع المتأثرة
+ - أصلح جميع أخطاء التحليل التحذيرية
2. **التحقق من البناء**:
- - شغل `npm run build` إذا كان ذلك ممكنًا
+ - شغّل `npm run build` إذا كان ذلك مطبقًا
- تأكد من عدم وجود أخطاء في البناء
3. **التحقق من الروابط**:
- - اختبر جميع روابط Markdown
+ - اختبر جميع روابط markdown
- تحقق من عمل مراجع الصور
4. **مراجعة المحتوى**:
- - تدقيق تهجئة ونحو
- - تأكد من صحة الأمثلة التعليمية للكود
- - تحقق من أن الترجمات تحافظ على المعنى الأصلي
+ - تدقيق إملائي ونحوي
+ - تأكد من صحة أمثلة الكود وتعليميتها
+ - تحقق من المحافظة على المعنى الأصلي في الترجمات
### متطلبات المساهمة
-- الموافقة على اتفاقية ترخيص المساهمة من Microsoft (التحقق آليًا في أول طلب سحب)
-- اتباع [مدونة السلوك لمصدر Microsoft المفتوح](https://opensource.microsoft.com/codeofconduct/)
-- اطلع على [CONTRIBUTING.md](./CONTRIBUTING.md) للإرشادات المفصلة
-- إرفاق أرقام القضايا في وصف طلب السحب إن وجدت
+- الموافقة على اتفاقية ترخيص المساهمة من Microsoft (فحص تلقائي في أول طلب سحب)
+- الالتزام ب[مدونة السلوك المفتوحة لمايكروسوفت](https://opensource.microsoft.com/codeofconduct/)
+- راجع [CONTRIBUTING.md](./CONTRIBUTING.md) للإرشادات التفصيلية
+- أشر إلى أرقام القضايا في وصف طلب السحب إن وجد
### عملية المراجعة
-- يتم مراجعة طلبات السحب من قبل القائمين على الصيانة والمجتمع
-- تُعطى الأولوية لوضوح المحتوى التعليمي
-- يجب أن تتبع أمثلة الشيفرة أفضل الممارسات الحالية
-- تُراجع الترجمات للدقة والملاءمة الثقافية
+- مراجعة طلبات السحب من قبل الصيانة والمجتمع
+- الأولوية لوضوح التعليم
+- يجب أن تتبع أمثلة الكود أفضل الممارسات الحالية
+- مراجعة الترجمات للدقة والملاءمة الثقافية
## نظام الترجمة
-### الترجمة المؤتمتة
+### الترجمة الآلية
-- تستخدم GitHub Actions مع سير العمل co-op-translator
-- تترجم تلقائيًا إلى أكثر من 50 لغة
-- الملفات المصدرية في الدلائل الرئيسية
+- يستخدم GitHub Actions مع سير العمل co-op-translator
+- يترجم إلى أكثر من 50 لغة تلقائيًا
+- الملفات المصدر في الدلائل الرئيسية
- الملفات المترجمة في مجلدات `translations/{language-code}/`
-### إضافة تحسينات الترجمة يدويًا
+### إضافة تحسينات الترجمة اليدوية
1. حدد موقع الملف في `translations/{language-code}/`
-2. أجرِ تحسينات مع الحفاظ على البنية
-3. تأكد من استمرار عمل أمثلة الشيفرة
+2. أجرِ تحسينات مع الحفاظ على الهيكل
+3. تأكد من بقاء أمثلة الكود فعالة
4. اختبر أي محتوى اختبار محلي
-### بيانات وصف الترجمة
+### بيانات الترجمة الوصفية
-تحتوي الملفات المترجمة على رأس بيانات وصفية:
+الملفات المترجمة تشمل رأس بيانات وصفية:
```markdown
```
-## تصحيح الأخطاء واستكشاف المشكلات
+## التحري عن الأخطاء وحل المشاكل
### المشاكل الشائعة
-**فشل تطبيق الاختبارات في التشغيل**:
-- تحقق من إصدار Node.js (يفضل v14+)
-- احذف `node_modules` و`package-lock.json`، ثم شغل `npm install` من جديد
-- تحقق من تعارض المنفذ (الافتراضي: Vite يستخدم المنفذ 5173)
+**فشل تطبيق الاختبار في البدء**:
+- تحقق من إصدار Node.js (ينصح v14+)
+- احذف `node_modules` و `package-lock.json`، ثم أعد تشغيل `npm install`
+- تحقق من تعارض المنافذ (افتراضي: Vite يستخدم المنفذ 5173)
-**عدم بدء تشغيل خادم API**:
-- تحقق من أن إصدار Node.js يلبي الحد الأدنى (node >=10)
-- تحقق إذا كان المنفذ قيد الاستخدام بالفعل
-- تأكد من تثبيت جميع التبعيات عبر `npm install`
+**عدم بدء خادم API**:
+- تحقق من أن نسخة Node.js تفي بالحد الأدنى (node >=10)
+- تحقق إذا كان المنفذ مستخدمًا بالفعل
+- تأكد من تثبيت جميع التبعيات باستخدام `npm install`
-**امتداد المتصفح لا يتم تحميله**:
-- تحقق من تنسيق ملف manifest.json بشكل صحيح
-- راجع وحدة تحكم المتصفح لأي أخطاء
+**امتداد المتصفح لا يعمل**:
+- تحقق من صحة صياغة manifest.json
+- تحقق من وحدة تحكم المتصفح للأخطاء
- اتبع تعليمات تثبيت الامتداد الخاصة بالمتصفح
**مشاكل مشروع الدردشة بايثون**:
- تأكد من تثبيت حزمة OpenAI: `pip install openai`
- تحقق من تعيين متغير البيئة GITHUB_TOKEN
-- تحقق من أذونات الوصول إلى GitHub Models
+- تحقق من أذونات الوصول لنماذج GitHub
**عدم تقديم Docsify للتوثيق**:
- ثبت docsify-cli عالميًا: `npm install -g docsify-cli`
-- شغّل من دليل الجذر للمستودع
-- تحقق من وجود `docs/_sidebar.md`
+- شغّل الأمر من الدليل الجذري للمستودع
+- تأكد من وجود `docs/_sidebar.md`
### نصائح بيئة التطوير
-- استخدم VS Code مع امتداد Live Server لمشاريع HTML
-- ثبت امتدادات ESLint وPrettier لتنسيق متناسق
-- استخدم أدوات مطور المتصفح لتصحيح JavaScript
-- لمشاريع Vue، ثبت امتداد Vue DevTools للمتصفح
+- استخدم VS Code مع إضافة Live Server لمشاريع HTML
+- ثبت إضافات ESLint و Prettier لتنسيق موحد
+- استخدم أدوات المتصفح لتصحيح جافا سكريبت
+- لمشاريع Vue، ثبت إضافة Vue DevTools للمتصفح
### اعتبارات الأداء
-- العدد الكبير لملفات الترجمة (50+ لغة) يجعل الاستنساخ الكامل ضخمًا
-- استخدم استنساخ سطحي إذا كنت تعمل على المحتوى فقط: `git clone --depth 1`
+- عدد كبير من الملفات المترجمة (أكثر من 50 لغة) يجعل النسخ الكاملة كبيرًا
+- استخدم استنساخ عميق ضحل عند العمل على المحتوى فقط: `git clone --depth 1`
- استبعد الترجمات من عمليات البحث عند العمل على المحتوى الإنجليزي
-- قد تكون عمليات البناء بطيئة في التشغيل الأول (npm install، بناء Vite)
+- عمليات البناء قد تكون بطيئة في أول تشغيل (npm install، بناء Vite)
## اعتبارات الأمان
-### المتغيرات البيئية
+### متغيرات البيئة
-- لا يجب أبدًا حفظ مفاتيح API في المستودع
+- يجب ألا يتم الالتزام بمفاتيح API في المستودع
- استخدم ملفات `.env` (مضمّنة في `.gitignore`)
-- وضح المتغيرات البيئية المطلوبة في ملفات README الخاصة بالمشاريع
+- وثّق متغيرات البيئة المطلوبة في ملفات README الخاصة بالمشاريع
### مشاريع بايثون
- استخدم بيئات افتراضية: `python -m venv venv`
- حافظ على تحديث التبعيات
-- يجب أن يكون لرموز GitHub الأذونات الدنيا المطلوبة
+- يجب أن تمتلك رموز GitHub صلاحيات قليلة قدر الإمكان
-### الوصول إلى GitHub Models
+### وصول نماذج GitHub
-- تُطلب رموز وصول شخصية (PAT) لـ GitHub Models
-- يجب تخزين الرموز كمتغيرات بيئية
-- لا تقم بحفظ الرموز أو بيانات الاعتماد في المستودع
+- يتطلب الوصول رموز وصول شخصية (PAT)
+- يجب تخزين الرموز كمتغيرات بيئة
+- لا تلتزم الرموز أو بيانات الاعتماد في المستودع
## ملاحظات إضافية
### الجمهور المستهدف
-- مبتدئون كاملون في تطوير الويب
-- طلاب ومتعلّمون ذاتيون
-- مدرسون يستخدمون المنهج في الفصول الدراسية
-- المحتوى مصمم لسهولة الوصول وبناء المهارات تدريجيًا
+- مبتدئون تامون في تطوير الويب
+- الطلاب والتعلم الذاتي
+- المعلمون الذين يستخدمون المنهج داخل الصفوف
+- المحتوى مصمم للوصول السهل وبناء المهارات تدريجيًا
-### فلسفة التعليم
+### الفلسفة التعليمية
-- نهج التعلم المعتمد على المشاريع
-- فحوصات معرفية متكررة (اختبارات)
-- تمارين برمجية عملية
-- أمثلة تطبيقية من الواقع
-- التركيز على الأساسيات قبل الأُطُر
+- نهج التعلم القائم على المشاريع
+- اختبارات معرفة متكررة (اختبارات قصيرة)
+- تمارين عملية في البرمجة
+- أمثلة تطبيقية من العالم الحقيقي
+- التركيز على الأساسيات قبل الأُطُر (frameworks)
### صيانة المستودع
- مجتمع نشط من المتعلمين والمساهمين
- تحديثات منتظمة للتبعيات والمحتوى
-- مراقبة القضايا والمناقشات بواسطة القائمين على الصيانة
+- مراقبة القضايا والمناقشات من قِبل القائمين على الصيانة
- تحديثات الترجمة مؤتمتة عبر GitHub Actions
-### الموارد ذات الصلة
+### الموارد المرتبطة
- [وحدات Microsoft Learn](https://docs.microsoft.com/learn/)
- [موارد Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) موصى به للمتعلمين
-- دورات إضافية: الذكاء الاصطناعي التوليدي، علوم البيانات، التعلم الآلي، منهجيات إنترنت الأشياء متاحة
+- دورات إضافية: الذكاء الاصطناعي التوليدي، علم البيانات، التعلم الآلي، مناهج إنترنت الأشياء متاحة
### العمل مع مشاريع محددة
-للحصول على تعليمات مفصلة حول المشاريع الفردية، راجع ملفات README في:
-- `quiz-app/README.md` - تطبيق الاختبارات بـ Vue 3
-- `7-bank-project/README.md` - تطبيق البنك مع المصادقة
-- `5-browser-extension/README.md` - تطوير امتداد المتصفح
+للتعليمات التفصيلية عن المشاريع الفردية، راجع ملفات README في:
+- `quiz-app/README.md` - تطبيق اختبار Vue 3
+- `7-bank-project/README.md` - تطبيق مصرفي مع المصادقة
+- `5-browser-extension/README.md` - تطوير امتدادات المتصفح
- `6-space-game/README.md` - تطوير لعبة باستخدام Canvas
-- `9-chat-project/README.md` - مشروع مساعد الدردشة بالذكاء الاصطناعي
+- `9-chat-project/README.md` - مشروع مساعد دردشة ذكي
-### هيكل المونوريبو
+### هيكل المونوريبوزيتوري
-على الرغم من عدم كونه مونوريبو تقليدي، يحتوي هذا المستودع على مشاريع مستقلة متعددة:
-- كل درس مستقل بذاته
+بينما ليس مونوريبوزيتوري تقليدي، يحتوي هذا المستودع على مشاريع مستقلة متعددة:
+- كل درس مستقل ذاتيًا
- المشاريع لا تشترك في التبعيات
-- العمل على مشاريع فردية دون التأثير على الأخرى
-- استنساخ المستودع الكامل لتجربة المنهج بالكامل
+- العمل على المشاريع الفردية بدون التأثير على الأخرى
+- استنسخ المستودع كاملًا للحصول على تجربة المنهج الكامل
---
-**إخلاء مسؤولية**:
-تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). وعلى الرغم من سعينا لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق. بالنسبة للمعلومات الهامة، يُنصح بالاعتماد على الترجمة البشرية المهنية. نحن غير مسؤولين عن أي سوء فهم أو تأويل ناتج عن استخدام هذه الترجمة.
+**إخلاء المسؤولية**:
+تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى للحفاظ على الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر المعتمد. للوثائق والمعلومات الحيوية، يُنصح بالاستعانة بترجمة بشرية محترفة. نحن غير مسؤولين عن أي سوء فهم أو تفسير خاطئ ينشأ عن استخدام هذه الترجمة.
\ No newline at end of file
diff --git a/translations/ar/README.md b/translations/ar/README.md
index 8b207284e..5d122bf29 100644
--- a/translations/ar/README.md
+++ b/translations/ar/README.md
@@ -12,257 +12,268 @@
# تطوير الويب للمبتدئين - منهج دراسي
-تعلم أساسيات تطوير الويب من خلال دورتنا الشاملة التي تستمر 12 أسبوعًا من قبل دعاة مايكروسوفت السحابيين. كل واحدة من الدروس الـ 24 تغوص في JavaScript و CSS و HTML عبر مشاريع عملية مثل التيراريوم، إضافات المتصفح، وألعاب الفضاء. شارك في الاختبارات والنقاشات والتكليفات العملية. حسّن مهاراتك وفعّل استيعابك للمعرفة باستخدام طريقتنا التعليمية القائمة على المشاريع. ابدأ رحلة الترميز الخاصة بك اليوم!
+تعلم أساسيات تطوير الويب مع دورتنا الشاملة التي تستمر 12 أسبوعًا من قِبل دعاة السحابة في مايكروسوفت. كل درس من الدروس الـ 24 يغوص في JavaScript و CSS و HTML من خلال مشاريع تطبيقية مثل التيراريومات، امتدادات المتصفح، وألعاب الفضاء. شارك في اختبارات، مناقشات، وواجبات عملية. حسن مهاراتك وعزز احتفاظك بالمعرفة من خلال منهجنا الفعال المبني على المشاريع. ابدأ رحلتك في الترميز اليوم!
-انضم إلى مجتمع Azure AI Foundry على Discord
+انضم إلى مجتمع Azure AI Foundry على ديسكورد
[](https://discord.gg/nTYy5BXMWG)
اتبع هذه الخطوات للبدء باستخدام هذه الموارد:
-1. **افعل فورك للمستودع**: اضغط [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
-2. **انسخ المستودع**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
-3. [**انضم إلى Azure AI Foundry على Discord والتقِ بالخبراء والمطورين الآخرين**](https://discord.com/invite/ByRwuEEgH4)
+1. **فرع المستودع**: انقر على [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
+2. **انسخ المستودع محليًا**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
+3. [**انضم إلى Azure AI Foundry على ديسكورد والتقِ بالخبراء والمطورين الآخرين**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 دعم متعدد اللغات
-#### مدعوم عبر GitHub Action (مؤتمت ومُحدث دائمًا)
+#### مدعوم عبر إجراء GitHub (آلي ومحدث دائمًا)
-[Arabic](./README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
+[العربية](./README.md) | [البنغالية](../bn/README.md) | [البلغارية](../bg/README.md) | [البورمية (ميانمار)](../my/README.md) | [الصينية (المبسطة)](../zh-CN/README.md) | [الصينية (التقليدية، هونغ كونغ)](../zh-HK/README.md) | [الصينية (التقليدية، ماكاو)](../zh-MO/README.md) | [الصينية (التقليدية، تايوان)](../zh-TW/README.md) | [الكرواتية](../hr/README.md) | [التشيكية](../cs/README.md) | [الدانماركية](../da/README.md) | [الهولندية](../nl/README.md) | [الإستونية](../et/README.md) | [الفنلندية](../fi/README.md) | [الفرنسية](../fr/README.md) | [الألمانية](../de/README.md) | [اليونانية](../el/README.md) | [العبرية](../he/README.md) | [الهندية](../hi/README.md) | [الهنغارية](../hu/README.md) | [الإندونيسية](../id/README.md) | [الإيطالية](../it/README.md) | [اليابانية](../ja/README.md) | [الكانتادية](../kn/README.md) | [الكورية](../ko/README.md) | [الليتوانية](../lt/README.md) | [الماليزية](../ms/README.md) | [المالايالامية](../ml/README.md) | [الماراثية](../mr/README.md) | [النيبالية](../ne/README.md) | [النيجيرية بيدجن](../pcm/README.md) | [النرويجية](../no/README.md) | [الفارسية (اللغة الفارسية)](../fa/README.md) | [البولندية](../pl/README.md) | [البرتغالية (البرازيل)](../pt-BR/README.md) | [البرتغالية (البرتغال)](../pt-PT/README.md) | [البنجابية (غورموخي)](../pa/README.md) | [الرومانية](../ro/README.md) | [الروسية](../ru/README.md) | [الصربية (السيريلية)](../sr/README.md) | [السلوفاكية](../sk/README.md) | [السلوفينية](../sl/README.md) | [الإسبانية](../es/README.md) | [السواحيلية](../sw/README.md) | [السويدية](../sv/README.md) | [التاغالوغ (الفلبينية)](../tl/README.md) | [التاميلية](../ta/README.md) | [التيلجو](../te/README.md) | [التايلاندية](../th/README.md) | [التركية](../tr/README.md) | [الأوكرانية](../uk/README.md) | [الأردية](../ur/README.md) | [الفيتنامية](../vi/README.md)
-> **تفضل الاستنساخ محليًا؟**
-
-> يحتوي هذا المستودع على أكثر من 50 ترجمة للغات مما يزيد بشكل كبير من حجم التنزيل. لاستنساخ بدون الترجمات، استخدم sparse checkout:
+> **تفضل النسخ محليًا؟**
+>
+> يحتوي هذا المستودع على أكثر من 50 ترجمة للغات مما يزيادة حجم التنزيل بشكل كبير. للنسخ بدون الترجمات، استخدم السحب المتفرق:
+>
+> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
-> هذا يمنحك كل ما تحتاجه لإكمال الدورة مع تنزيل أسرع بكثير.
+>
+> **CMD (Windows):**
+> ```cmd
+> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
+> cd Web-Dev-For-Beginners
+> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
+> ```
+>
+> هذا يمنحك كل ما تحتاجه لإتمام الدورة بسرعة تنزيل أعلى.
-**إذا كنت ترغب في دعم لغات ترجمة إضافية فهي مدرجة [هنا](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
+**إذا رغبت بدعم لغات ترجمة إضافية فهي مدرجة [هنا](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
-[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
+[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑🎓 _هل أنت طالب؟_
-زر [**صفحة مركز الطلاب**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) حيث ستجد الموارد للمبتدئين، حزم الطلاب وحتى طرق للحصول على قسيمة شهادة مجانية. هذه هي الصفحة التي تود حفظها ضمن المفضلة والعودة إليها من حين لآخر مع تغير المحتوى شهريًا.
+قم بزيارة [**صفحة مركز الطلاب**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) حيث ستجد موارد للمبتدئين، حقائب طلابية وحتى طرق الحصول على قسيمة شهادة مجانية. هذه الصفحة هي التي ترغب في إضافتها للمفضلة والتحقق منها بين الحين والآخر مع تحديث المحتوى شهريًا.
-### 📣 إعلان - تحديات وضع GitHub Copilot Agent الجديدة لإكمالها!
+### 📣 إعلان - تحديات وضع GitHub Copilot Agent جديدة لإكمالها!
-تم إضافة تحدي جديد، ابحث عن "GitHub Copilot Agent Challenge 🚀" في معظم الفصول. هذا تحدي جديد لك لإكماله باستخدام GitHub Copilot ووضع Agent. إذا لم تستخدم وضع Agent من قبل فهو قادر ليس فقط على توليد النص بل يمكنه أيضًا إنشاء وتحرير الملفات، تشغيل الأوامر والمزيد.
+تمت إضافة تحدي جديد، ابحث عن "تحدي GitHub Copilot Agent 🚀" في معظم الفصول. إنه تحدٍ جديد لك لتنجزه باستخدام GitHub Copilot ووضع Agent. إذا لم تستخدم وضع Agent من قبل، هو قادر ليس فقط على إنشاء النصوص بل يمكنه أيضًا إنشاء وتحرير الملفات، تشغيل الأوامر والمزيد.
-### 📣 إعلان - _مشروع جديد للبناء باستخدام الذكاء الاصطناعي التوليدي_
+### 📣 إعلان - _مشروع جديد للبناء باستخدام الذكاء الاصطناعي التوليدي_
-تم إضافة مشروع مساعد الذكاء الاصطناعي الجديد، تفقده [المشروع](./9-chat-project/README.md)
+تمت إضافة مشروع مساعد الذكاء الاصطناعي الجديد، تحقق منه [المشروع](./9-chat-project/README.md)
-### 📣 إعلان - _منهج جديد_ حول الذكاء الاصطناعي التوليدي لـ JavaScript تم إصداره للتو
+### 📣 إعلان - _منهج جديد_ عن الذكاء الاصطناعي التوليدي لجافا سكريبت تم إصداره للتو
-لا تفوت منهج الذكاء الاصطناعي التوليدي الجديد!
+لا تفوت منهجنا الجديد عن الذكاء الاصطناعي التوليدي!
-زر [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) لتبدأ!
+زر [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) للبدء!

- دروس تغطي كل شيء من الأساسيات إلى RAG.
-- تفاعل مع شخصيات تاريخية باستخدام GenAI وتطبيقنا المصاحب.
+- تفاعل مع شخصيات تاريخية باستخدام GenAI وتطبيقنا المرافق.
- سرد ممتع وجذاب، ستسافر عبر الزمن!

-كل درس يتضمن مهمة لإكمالها، اختبار معرفة وتحدي لتوجيهك في تعلم موضوعات مثل:
-- التهيئة والهندسة للتهيئة
-- توليد تطبيقات نصوص وصور
+كل درس يتضمن واجبًا لإكماله، اختبار معرفة وتحديًا لترشدك على تعلم مواضيع مثل:
+- الإرشاد والهندسة الموجهة للنصوص
+- إنشاء تطبيقات نصية وصورية
- تطبيقات البحث
-زر [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) لتبدأ!
+زر [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) للبدء!
-## 🌱 البدء
+## 🌱 بداية العمل
-> **يا مدرسين**، لقد [أضفنا بعض الاقتراحات](for-teachers.md) حول كيفية استخدام هذا المنهج. نود ملاحظاتكم [في منتدى النقاش الخاص بنا](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
+> **أيها المعلمون**، لقد قمنا [بإدراج بعض الاقتراحات](for-teachers.md) حول كيفية استخدام هذا المنهج. نحب سماع ملاحظاتكم [في منتدى النقاش الخاص بنا](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
-**[الطلاب](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**، لكل درس ابدأ باختبار تمهيدي ثم تابع بقراءة مواد المحاضرة، إكمال الأنشطة المختلفة وفحص فهمك مع اختبار ما بعد المحاضرة.
+**[المتعلمون](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**، لكل درس، ابدأ باختبار قبلي ثم تابع بقراءة مادة المحاضرة، إكمال الأنشطة المختلفة، وفحص فهمك باختبار بعد المحاضرة.
-لتعزيز تجربتك التعليمية، تواصل مع زملائك للعمل على المشاريع معًا! التشجيع على النقاشات موجود في [منتدى النقاش](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) حيث سيكون فريق المشرفين متاحًا للرد على أسئلتك.
+لتعزيز تجربتك التعليمية، تواصل مع زملائك للعمل معًا على المشاريع! ينصح بالمناقشات في [منتدى النقاش](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) حيث سيكون فريق المشرفين لدينا متاحًا للرد على أسئلتك.
-لتعميق تعليمك، نوصي بشدة باستكشاف [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) لمواد دراسية إضافية.
+لتطوير تعليمك أكثر، نوصي بشدة باستكشاف [مايكروسوفت ليرن](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) للمزيد من مواد الدراسة.
-### 📋 إعداد بيئتك التطويرية
+### 📋 إعداد بيئتك
-هذا المنهج يحتوي على بيئة تطوير جاهزة! أثناء بدءك يمكنك اختيار تشغيل المنهج في [Codespace](https://github.com/features/codespaces/) (_بيئة مستعرضية لا تحتاج تثبيت برمجيات_)، أو محليًا على جهازك باستخدام محرر نصوص مثل [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+هذا المنهج يحتوي على بيئة تطوير جاهزة للعمل! أثناء البدء يمكنك اختيار تشغيل المنهج في [Codespace](https://github.com/features/codespaces/) (_بيئة متصفح لا تحتاج تثبيتات_)، أو محليًا على جهاز الكمبيوتر الخاص بك باستخدام محرر نصوص مثل [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
-#### إنشاء المستودع الخاص بك
-للسهولة في حفظ عملك، يُنصح بإنشاء نسخة خاصة بك من هذا المستودع. يمكنك فعل ذلك بالنقر على زر **Use this template** في أعلى الصفحة. سيؤدي ذلك إلى إنشاء مستودع جديد في حساب GitHub الخاص بك مع نسخة من المنهج.
+#### أنشئ مستودعك الخاص
+لتمكينك من حفظ عملك بسهولة، يُنصح بأن تنشئ نسختك الخاصة من هذا المستودع. يمكنك فعل ذلك بالنقر على زر **Use this template** في أعلى الصفحة. هذا سينشئ مستودعًا جديدًا في حساب GitHub الخاص بك مع نسخة من المنهج.
اتبع هذه الخطوات:
-1. **افعل فورك للمستودع**: انقر على زر "Fork" في الزاوية العلوية اليمنى من هذه الصفحة.
-2. **انسخ المستودع**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
+1. **فرع المستودع**: انقر على زر "Fork" في أعلى يمين هذه الصفحة.
+2. **انسخ المستودع محليًا**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### تشغيل المنهج في Codespace
-ضمن نسختك من هذا المستودع التي أنشأتها، انقر على زر **Code** واختر **Open with Codespaces**. سينشئ هذا Codespace جديد لتعمل فيه.
+في نسختك من هذا المستودع التي أنشأتها، انقر زر **Code** واختر **Open with Codespaces**. سيُنشئ هذا مساحة عمل جديدة للعمل فيها.

-#### تشغيل المنهج محليًا على جهازك
+#### تشغيل المنهج محليًا على جهاز الكمبيوتر الخاص بك
-لتشغيل هذا المنهج محليًا على جهازك، ستحتاج إلى محرر نصوص، متصفح وأداة سطر أوامر. دروسنا الأولى، [مقدمة للغات البرمجة وأدوات المجال](../../1-getting-started-lessons/1-intro-to-programming-languages)، ستأخذك عبر خيارات مختلفة لكل من هذه الأدوات لتختار الأفضل لك.
+لتشغيل هذا المنهج محليًا على جهاز الكمبيوتر الخاص بك ستحتاج إلى محرر نصوص، متصفح أويب وأداة سطر الأوامر. درسنا الأول، [مقدمة إلى لغات البرمجة وأدوات التجارة](../../1-getting-started-lessons/1-intro-to-programming-languages)، سيرشدك عبر خيارات مختلفة لكل من هذه الأدوات لتختار الأنسب لك.
-توصيتنا هو استخدام [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) كمحرر نصوص، والذي يحتوي أيضًا على [طرفية (Terminal)](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) مدمجة. يمكنك تنزيل Visual Studio Code [من هنا](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
-
-
-1. انسخ المستودع إلى جهازك. يمكنك فعل ذلك بالنقر على زر **Code** ونسخ الرابط:
+توصيتنا هي استخدام [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) كمحرر، والذي يحتوي أيضًا على [طرفية مدمجة](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). يمكنك تنزيل Visual Studio Code من [هنا](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+1. قم باستنساخ مستودعك على جهاز الكمبيوتر الخاص بك. يمكنك القيام بذلك بالنقر على زر **Code** ونسخ عنوان URL:
[CodeSpace](./images/createcodespace.png)
-ثم، افتح [الطرفية](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) داخل [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) وقم بتشغيل الأمر التالي، مع استبدال `` بالرابط الذي نسخته للتو:
+
+ ثم، افتح [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) داخل [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) وشغّل الأمر التالي، مستبدلاً `` بعنوان URL الذي قمت بنسخه للتو:
```bash
git clone
```
-2. افتح المجلد في Visual Studio Code. يمكنك القيام بذلك بالنقر على **ملف** > **فتح مجلد** واختيار المجلد الذي قمت باستنساخه.
+2. افتح المجلد في Visual Studio Code. يمكنك القيام بذلك بالنقر على **File** > **Open Folder** واختيار المجلد الذي قمت باستنساخه للتو.
+
-> الإضافات الموصى بها لـ Visual Studio Code:
+> التوصيات الخاصة بالامتدادات في Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - لمعاينة صفحات HTML داخل Visual Studio Code
-> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - لمساعدتك في كتابة الكود بسرعة أكبر
+> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - لمساعدتك في كتابة الشيفرة بسرعة أكبر
-## 📂 تشمل كل درس:
+## 📂 كل درس يشمل:
-- ملاحظة رسمية اختيارية
+- ملاحظات تخطيطية اختيارية
- فيديو تكميلي اختياري
-- اختبار دافئ قبل الدرس
+- اختبار تمهيدي قبل الدرس
- درس مكتوب
-- للدروس القائمة على المشاريع، أدلة خطوة بخطوة حول كيفية بناء المشروع
-- فحوصات معرفية
+- للدروس المبنية على المشاريع، إرشادات خطوة بخطوة لبناء المشروع
+- اختبار معرفة
- تحدي
-- قراءة تكميلية
+- قراءة تكملية
- واجب
-- [اختبار ما بعد الدرس](https://ff-quizzes.netlify.app/web/)
+- [اختبار بعد الدرس](https://ff-quizzes.netlify.app/web/)
-> **ملاحظة حول الاختبارات:** جميع الاختبارات موجودة في مجلد Quiz-app، 48 اختبارًا إجماليًا يحتوي كل منها على ثلاثة أسئلة. وهي متاحة [هنا](https://ff-quizzes.netlify.app/web/) يمكن تشغيل تطبيق الاختبار محليًا أو نشره على Azure؛ اتبع التعليمات في مجلد `quiz-app`.
+> **ملاحظة حول الاختبارات**: جميع الاختبارات موجودة في مجلد Quiz-app، هناك 48 اختبارًا بإجمالي ثلاث أسئلة لكل اختبار. متاحة [هنا](https://ff-quizzes.netlify.app/web/) كما يمكن تشغيل تطبيق الاختبار محلياً أو نشره على Azure؛ اتبع التعليمات في مجلد `quiz-app`.
## 🗃️ الدروس
-| | اسم المشروع | المفاهيم المطروحة | أهداف التعلم | الدرس المرتبط | المؤلف |
+| | اسم المشروع | المفاهيم التي يتم تدريسها | الأهداف التعليمية | الدرس المرتبط | المؤلف |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
-| 01 | البداية | مقدمة في البرمجة وأدوات العمل | تعلم الأساسيات التي تقوم عليها معظم لغات البرمجة وعن البرامج التي تساعد المطورين المحترفين على أداء مهامهم | [مقدمة في لغات البرمجة وأدوات العمل](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
-| 02 | البداية | أساسيات GitHub، بما في ذلك العمل مع فريق | كيفية استخدام GitHub في مشروعك، وكيفية التعاون مع الآخرين على قاعدة الشيفرة | [مقدمة إلى GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
-| 03 | البداية | إمكانية الوصول | تعلم أساسيات إمكانية الوصول على الويب | [أساسيات إمكانية الوصول](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
-| 04 | أساسيات JavaScript | أنواع بيانات JavaScript | أساسيات أنواع بيانات JavaScript | [أنواع البيانات](./2-js-basics/1-data-types/README.md) | Jasmine |
-| 05 | أساسيات JavaScript | الدوال والطرق | تعلم عن الدوال والطرق لإدارة منطق التطبيق | [الدوال والطرق](./2-js-basics/2-functions-methods/README.md) | Jasmine و Christopher |
-| 06 | أساسيات JavaScript | اتخاذ القرارات باستخدام JS | تعلم كيفية إنشاء شروط في الكود باستخدام طرق اتخاذ القرارات | [اتخاذ القرارات](./2-js-basics/3-making-decisions/README.md) | Jasmine |
-| 07 | أساسيات JavaScript | المصفوفات والحلقات | العمل مع البيانات باستخدام المصفوفات والحلقات في JavaScript | [المصفوفات والحلقات](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
-| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML في التطبيق | بناء الـ HTML لإنشاء تيراريوم عبر الإنترنت، مع التركيز على بناء التخطيط | [مقدمة إلى HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
-| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS في التطبيق | بناء CSS لتصميم التيراريوم عبر الإنترنت، مع التركيز على أساسيات CSS بما في ذلك جعل الصفحة متجاوبة | [مقدمة إلى CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
-| 10 | [Terrarium](./3-terrarium/solution/README.md) | إغلاق JavaScript، التلاعب بـ DOM | بناء JavaScript لجعل التيراريوم يعمل كواجهة سحب وإفلات، مع التركيز على الإغلاق والتلاعب بـ DOM | [إغلاق JavaScript، التلاعب بـ DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
+| 01 | البداية | مقدمة في البرمجة وأدوات المهنة | تعلم الأساسيات التي تقوم عليها معظم لغات البرمجة وبرامج تساعد المطورين المحترفين في عملهم | [مقدمة إلى لغات البرمجة وأدوات المهنة](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
+| 02 | البداية | أساسيات GitHub، تتضمن العمل مع فريق | كيفية استخدام GitHub في مشروعك وكيفية التعاون مع الآخرين في قاعدة الشيفرة | [مقدمة إلى GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
+| 03 | البداية | إمكانية الوصول | تعلم أساسيات إمكانية الوصول على الويب | [أساسيات إمكانية الوصول](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
+| 04 | أساسيات JS | أنواع بيانات JavaScript | أساسيات أنواع بيانات JavaScript | [أنواع البيانات](./2-js-basics/1-data-types/README.md) | Jasmine |
+| 05 | أساسيات JS | الدوال والأساليب | تعلم عن الدوال والأساليب لإدارة تدفق منطق التطبيق | [الدوال والأساليب](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
+| 06 | أساسيات JS | اتخاذ القرارات بـ JS | تعلم كيفية إنشاء الشروط في الشيفرة باستخدام أساليب اتخاذ القرار | [اتخاذ القرارات](./2-js-basics/3-making-decisions/README.md) | Jasmine |
+| 07 | أساسيات JS | المصفوفات والحلقات | العمل مع البيانات باستخدام المصفوفات والحلقات في JavaScript | [المصفوفات والحلقات](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
+| 08 | [التيراريوم](./3-terrarium/solution/README.md) | HTML في التطبيق | بناء HTML لإنشاء تيراريوم إلكتروني، مع التركيز على بناء التخطيط | [مقدمة إلى HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
+| 09 | [التيراريوم](./3-terrarium/solution/README.md) | CSS في التطبيق | بناء CSS لتنسيق التيراريوم الإلكتروني، مع التركيز على أساسيات CSS بما في ذلك جعل الصفحة متجاوبة | [مقدمة إلى CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
+| 10 | [التيراريوم](./3-terrarium/solution/README.md) | إغلاق جافا سكريبت، التلاعب بـ DOM | بناء شيفرة JavaScript لجعل التيراريوم يعمل كواجهة سحب وإفلات، مع التركيز على الإغلاق والتلاعب بـ DOM | [إغلاق JavaScript، التلاعب بـ DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [لعبة الطباعة](./4-typing-game/solution/README.md) | بناء لعبة الطباعة | تعلم كيفية استخدام أحداث لوحة المفاتيح لتحريك منطق تطبيق JavaScript | [البرمجة المعتمدة على الأحداث](./4-typing-game/typing-game/README.md) | Christopher |
-| 12 | [امتداد المتصفح الأخضر](./5-browser-extension/solution/README.md) | العمل مع المتصفحات | تعلم كيفية عمل المتصفحات، تاريخها، وكيفية إنشاء أول عناصر لامتداد المتصفح | [حول المتصفحات](./5-browser-extension/1-about-browsers/README.md) | Jen |
-| 13 | [امتداد المتصفح الأخضر](./5-browser-extension/solution/README.md) | بناء نموذج، استدعاء API وتخزين المتغيرات في التخزين المحلي | بناء عناصر JavaScript لامتداد المتصفح لاستدعاء API باستخدام متغيرات مخزنة في التخزين المحلي | [واجهات برمجة التطبيقات، النماذج، والتخزين المحلي](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
-| 14 | [امتداد المتصفح الأخضر](./5-browser-extension/solution/README.md) | عمليات الخلفية في المتصفح، أداء الويب | استخدام عمليات الخلفية في المتصفح لإدارة أيقونة الامتداد؛ تعلم عن أداء الويب وبعض التحسينات لتحقيق الأداء الأفضل | [مهام الخلفية والأداء](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
-| 15 | [لعبة الفضاء](./6-space-game/solution/README.md) | تطوير ألعاب متقدم باستخدام JavaScript | تعلم عن الوراثة باستخدام كل من الفئات والتكوين ونمط النشر/الاشتراك، تحضيرًا لبناء لعبة | [مقدمة لتطوير الألعاب المتقدمة](./6-space-game/1-introduction/README.md) | Chris |
-| 16 | [لعبة الفضاء](./6-space-game/solution/README.md) | الرسم على اللوحة | تعلم عن واجهة برمجة تطبيقات Canvas، المستخدمة لرسم العناصر على الشاشة | [الرسم على اللوحة](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
-| 17 | [لعبة الفضاء](./6-space-game/solution/README.md) | تحريك العناصر على الشاشة | اكتشف كيف يمكن للعناصر أن تتحرك باستخدام الإحداثيات الكارتيزية وواجهة برمجة تطبيقات Canvas | [تحريك العناصر](./6-space-game/3-moving-elements-around/README.md) | Chris |
-| 18 | [لعبة الفضاء](./6-space-game/solution/README.md) | كشف التصادم | جعل العناصر تصطدم وتتفاعل مع بعضها باستخدام ضغطات المفاتيح وتوفير دالة تبريد لضمان أداء اللعبة | [كشف التصادم](./6-space-game/4-collision-detection/README.md) | Chris |
-| 19 | [لعبة الفضاء](./6-space-game/solution/README.md) | تتبع النقاط | إجراء حسابات رياضية بناءً على حالة وأداء اللعبة | [تتبع النقاط](./6-space-game/5-keeping-score/README.md) | Chris |
-| 20 | [لعبة الفضاء](./6-space-game/solution/README.md) | إنهاء وإعادة تشغيل اللعبة | تعلم عن إنهاء وإعادة تشغيل اللعبة، بما في ذلك تنظيف الموارد وإعادة تعيين قيم المتغيرات | [شروط الانتهاء](./6-space-game/6-end-condition/README.md) | Chris |
-| 21 | [تطبيق المصرف](./7-bank-project/solution/README.md) | قوالب HTML والمسارات في تطبيق ويب | تعلم كيفية إنشاء هيكل موقع متعدد الصفحات باستخدام التوجيه وقوالب HTML | [قوالب HTML والمسارات](./7-bank-project/1-template-route/README.md) | Yohan |
-| 22 | [تطبيق المصرف](./7-bank-project/solution/README.md) | بناء نموذج للدخول والتسجيل | تعلم كيفية بناء النماذج والتعامل مع روتين التحقق | [النماذج](./7-bank-project/2-forms/README.md) | Yohan |
-| 23 | [تطبيق المصرف](./7-bank-project/solution/README.md) | طرق جلب واستخدام البيانات | كيف تتدفق البيانات في تطبيقك وخارجه، كيفية جلبها وتخزينها والتخلص منها | [البيانات](./7-bank-project/3-data/README.md) | Yohan |
-| 24 | [تطبيق المصرف](./7-bank-project/solution/README.md) | مفاهيم إدارة الحالة | تعلم كيفية احتفاظ تطبيقك بالحالة وكيفية إدارتها برمجيًا | [إدارة الحالة](./7-bank-project/4-state-management/README.md) | Yohan |
-| 25 | [كود المتصفح/VSCode](../../8-code-editor) | العمل مع VScode | تعلم كيفية استخدام محرر الكود | [استخدام محرر VSCode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
-| 26 | [المساعدون الذكيون](./9-chat-project/README.md) | العمل مع الذكاء الاصطناعي | تعلم كيفية بناء مساعدك الذكي الخاص | [مشروع المساعد الذكي](./9-chat-project/README.md) | Chris |
-
-## 🏫 المنهجية التعليمية
-
-تم تصميم منهجنا مع مبادئ تعليمية رئيسية:
-* التعلم القائم على المشاريع
+| 12 | [امتداد المتصفح الأخضر](./5-browser-extension/solution/README.md) | العمل مع المتصفحات | تعلم كيف تعمل المتصفحات، تاريخها، وكيفية إنشاء العناصر الأولى لامتداد متصفح | [حول المتصفحات](./5-browser-extension/1-about-browsers/README.md) | Jen |
+| 13 | [امتداد المتصفح الأخضر](./5-browser-extension/solution/README.md) | بناء نموذج، استدعاء API وتخزين المتغيرات في التخزين المحلي | بناء عناصر JavaScript لامتداد المتصفح لاستدعاء API باستخدام المتغيرات المخزنة في التخزين المحلي | [APIs، النماذج، والتخزين المحلي](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
+| 14 | [امتداد المتصفح الأخضر](./5-browser-extension/solution/README.md) | العمليات الخلفية في المتصفح، أداء الويب | استخدام عمليات المتصفح الخلفية لإدارة أيقونة الامتداد؛ تعلّم عن أداء الويب وبعض التحسينات لتحقيق أداء أفضل | [المهام الخلفية والأداء](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
+| 15 | [لعبة الفضاء](./6-space-game/solution/README.md) | تطوير ألعاب متقدم أكثر باستخدام JavaScript | تعلّم عن الوراثة باستخدام الفئات والتكوين ونمط النشر/الاشتراك، استعدادًا لبناء لعبة | [مقدمة لتطوير الألعاب المتقدم](./6-space-game/1-introduction/README.md) | Chris |
+| 16 | [لعبة الفضاء](./6-space-game/solution/README.md) | الرسم على اللوحة | تعلّم عن واجهة برمجة تطبيق Canvas، المستخدمة للرسم على الشاشة | [الرسم على اللوحة](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
+| 17 | [لعبة الفضاء](./6-space-game/solution/README.md) | تحريك العناصر حول الشاشة | اكتشف كيف يمكن للعناصر أن تكتسب الحركة باستخدام الإحداثيات الديكارتية وواجهة برمجة Canvas | [تحريك العناصر](./6-space-game/3-moving-elements-around/README.md) | Chris |
+| 18 | [لعبة الفضاء](./6-space-game/solution/README.md) | كشف التصادم | جعل العناصر تتصادم وتتفاعل مع بعضها باستخدام ضغطات المفاتيح وتوفير وظيفة تبريد لضمان أداء اللعبة | [كشف التصادم](./6-space-game/4-collision-detection/README.md) | Chris |
+| 19 | [لعبة الفضاء](./6-space-game/solution/README.md) | حساب النقاط | إجراء حسابات رياضية بناءً على حالة اللعبة وأدائها | [حساب النقاط](./6-space-game/5-keeping-score/README.md) | Chris |
+| 20 | [لعبة الفضاء](./6-space-game/solution/README.md) | إنهاء وإعادة تشغيل اللعبة | تعلم عن إنهاء اللعبة وإعادة تشغيلها، بما في ذلك تنظيف الموارد وإعادة تعيين قيم المتغيرات | [شرط النهاية](./6-space-game/6-end-condition/README.md) | Chris |
+| 21 | [تطبيق البنك](./7-bank-project/solution/README.md) | قوالب HTML والمسارات في تطبيق ويب | تعلم كيفية إنشاء هيكل موقع متعدد الصفحات باستخدام التوجيه وقوالب HTML | [قوالب HTML والمسارات](./7-bank-project/1-template-route/README.md) | Yohan |
+| 22 | [تطبيق البنك](./7-bank-project/solution/README.md) | بناء نموذج تسجيل دخول وتسجيل مستخدم | تعلم بناء النماذج وتعامل مع عمليات التحقق من الصحة | [النماذج](./7-bank-project/2-forms/README.md) | Yohan |
+| 23 | [تطبيق البنك](./7-bank-project/solution/README.md) | طرق جلب واستخدام البيانات | كيف تتدفق البيانات داخل وخارج تطبيقك، وكيفية جلبها وتخزينها والتخلص منها | [البيانات](./7-bank-project/3-data/README.md) | Yohan |
+| 24 | [تطبيق البنك](./7-bank-project/solution/README.md) | مفاهيم إدارة الحالة | تعلم كيف يحتفظ تطبيقك بالحالة وكيفية إدارتها برمجياً | [إدارة الحالة](./7-bank-project/4-state-management/README.md) | Yohan |
+| 25 | [متصفح/محرر VScode](../../8-code-editor) | العمل مع VScode | تعلم كيفية استخدام محرر الشيفرة| [استخدام محرر VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
+| 26 | [مساعدي الذكاء الاصطناعي](./9-chat-project/README.md) | العمل مع الذكاء الاصطناعي | تعلم كيفية بناء مساعد الذكاء الاصطناعي الخاص بك | [مشروع مساعد الذكاء الاصطناعي](./9-chat-project/README.md) | Chris |
+
+## 🏫 المنهجية التربوية
+
+تم تصميم منهجنا الدراسي باستخدام مبدأين تربويين رئيسيين في الاعتبار:
+* التعلم المبني على المشاريع
* الاختبارات المتكررة
-البرنامج يعلم أساسيات JavaScript و HTML و CSS، بالإضافة إلى أحدث الأدوات والتقنيات التي يستخدمها مطورو الويب اليوم. سيتمكن الطلاب من اكتساب خبرة عملية من خلال بناء لعبة طباعة، تيراريوم افتراضي، امتداد متصفح صديق للبيئة، لعبة بأسلوب غزاة الفضاء، وتطبيق مصرفي للأعمال. بحلول نهاية السلسلة، سيكون لدى الطلاب فهم قوي لتطوير الويب.
+يقوم البرنامج بتدريس أساسيات JavaScript و HTML و CSS، بالإضافة إلى أحدث الأدوات والتقنيات التي يستخدمها مطورو الويب اليوم. سوف تتاح للطلاب الفرصة لاكتساب خبرة عملية من خلال بناء لعبة طباعة، تيراريوم افتراضي، امتداد متصفح صديق للبيئة، لعبة بأسلوب غزاة الفضاء، وتطبيق بنكي للأعمال. مع نهاية السلسلة، سيكون لدى الطلاب فهم قوي لتطوير الويب.
-> 🎓 يمكنك أخذ الدروس الأولى في هذا المنهج كـ [مسار تعلّم](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) على Microsoft Learn!
+> 🎓 يمكنك أخذ الدروس القليلة الأولى في هذا المنهج كـ [مسار تعلّم](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) على منصة Microsoft Learn!
-من خلال ضمان تطابق المحتوى مع المشاريع، يصبح التعلم أكثر متعة للطلاب ويزداد تثبيت المفاهيم. كما كتبنا عدة دروس تمهيدية في أساسيات JavaScript لتقديم المفاهيم، مع فيديو من مجموعة "[سلسلة المبتدئين إلى: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" لتعليم الفيديو، بعض مؤلفيها ساهموا في هذا المنهج.
+من خلال ضمان أن المحتوى يتماشى مع المشاريع، يصبح التعلم أكثر جاذبية للطلاب ويزيد من ترسيخ المفاهيم. لقد كتبنا أيضًا عدة دروس تمهيدية في أساسيات JavaScript لتقديم المفاهيم، مرفقة بفيديو من سلسلة "[سلسلة للمبتدئين إلى: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" لتعليم الفيديو، ساهم بعض مؤلفيها في هذا المنهج.
-بالإضافة إلى ذلك، اختبار منخفض المخاطر قبل الدرس يهيئ نية الطالب لتعلم موضوع معين، في حين يضمن اختبار ثاني بعد الدرس مزيدًا من التثبيت. تم تصميم هذا المنهج ليكون مرنًا وممتعًا ويمكن أخذه كاملاً أو جزئيًا. تبدأ المشاريع صغيرة وتزداد تعقيدًا بنهاية دورة الـ 12 أسبوعًا.
+بالإضافة إلى ذلك، يحدد اختبار منخفض المخاطر قبل الدرس نية الطالب نحو تعلم موضوع ما، بينما يضمن اختبار ثاني بعد الدرس المزيد من الاحتفاظ بالمعلومات. تم تصميم هذا المنهج ليكون مرنًا وممتعًا ويمكن أخذه بالكامل أو جزئيًا. تبدأ المشاريع صغيرة وتزداد تعقيدًا تدريجياً بنهاية دورة الـ 12 أسبوعًا.
-على الرغم من أننا تجنبنا عمدًا تقديم أُطُر JavaScript للتركيز على المهارات الأساسية اللازمة كمطور ويب قبل تبني أُطر، فإن الخطوة التالية الجيدة لإكمال هذا المنهج هي تعلم Node.js عبر مجموعة أخرى من الفيديوهات: "[سلسلة المبتدئين إلى: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
+بينما تجنبنا عمدًا إدخال أُطُر JavaScript للتركيز على المهارات الأساسية المطلوبة كمطور ويب قبل اعتماد إطار عمل، فإن الخطوة التالية الجيدة لإكمال هذا المنهج هي تعلم عن Node.js عبر مجموعة أخرى من مقاطع الفيديو: "[سلسلة للمبتدئين إلى: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
-> قم بزيارة [مدونة السلوك](CODE_OF_CONDUCT.md) و[إرشادات المساهمة](CONTRIBUTING.md). نرحب بملاحظاتك البناءة!
+> قم بزيارة [مدونة السلوك](CODE_OF_CONDUCT.md) وإرشادات [المساهمة](CONTRIBUTING.md) الخاصة بنا. نحن نرحب بتعليقاتك البناءة!
-## 🧭 الوصول بدون اتصال
-يمكنك تشغيل هذه الوثائق بدون اتصال باستخدام [Docsify](https://docsify.js.org/#/). قم بتفريع هذا المستودع، [تثبيت Docsify](https://docsify.js.org/#/quickstart) على جهازك المحلي، ثم في المجلد الجذر لهذا المستودع، اكتب `docsify serve`. سيتم تقديم الموقع على المنفذ 3000 على الوجهة المحلية الخاصة بك: `localhost:3000`.
+## 🧭 الوصول دون اتصال
-## 📘 PDF
+يمكنك تشغيل هذه الوثائق دون اتصال بالإنترنت باستخدام [Docsify](https://docsify.js.org/#/). قم بتفريع هذا المستودع، [تثبيت Docsify](https://docsify.js.org/#/quickstart) على جهازك المحلي، ثم في المجلد الجذري لهذا المستودع، اكتب `docsify serve`. سيتم تقديم الموقع على المنفذ 3000 على جهازك المحلي: `localhost:3000`.
+## 📘 PDF
يمكن العثور على ملف PDF لجميع الدروس [هنا](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 دورات أخرى
-فريقنا ينتج دورات أخرى! تحقق من:
+
+يقوم فريقنا بإنتاج دورات أخرى! تحقق من:
### LangChain
-[](https://aka.ms/langchain4j-for-beginners)
-[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
-[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
+[](https://aka.ms/langchain4j-for-beginners)
+[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
+[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
-[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### سلسلة الذكاء الاصطناعي التوليدي
-[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
-[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
-[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
-[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
+[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
+[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
+[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
-### التعلم الأساسي
-[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
-[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
+### التعليم الأساسي
+[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
+[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
-### سلسلة كوبايلوت
-[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
+### سلسلة الكوبيلوت
+[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
## الحصول على المساعدة
-إذا واجهت صعوبة أو كان لديك أي أسئلة حول بناء تطبيقات الذكاء الاصطناعي. انضم إلى المتعلمين الآخرين والمطورين ذوي الخبرة في مناقشات حول MCP. إنها مجتمع داعم حيث تُرحب بالأسئلة ويُشارك المعرفة بحرية.
+إذا واجهت صعوبة أو كان لديك أي أسئلة حول بناء تطبيقات الذكاء الاصطناعي. انضم إلى المتعلمين والمطورين ذوي الخبرة في مناقشات حول MCP. إنها مجتمع داعم حيث الأسئلة مرحب بها والمعرفة تُشارك بحرية.
[](https://discord.gg/nTYy5BXMWG)
-إذا كان لديك ملاحظات على المنتج أو أخطاء أثناء البناء قم بزيارة:
+إذا كان لديك ملاحظات على المنتج أو أخطاء أثناء البناء، قم بزيارة:
[](https://aka.ms/foundry/forum)
## الترخيص
-هذا المستودع مرخص برخصة MIT. راجع ملف [LICENSE](../../LICENSE) لمزيد من المعلومات.
+يتم ترخيص هذا المستودع بموجب ترخيص MIT. راجع ملف [LICENSE](../../LICENSE) لمزيد من المعلومات.
---
-**تنويه**:
-تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لضمان الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار النسخة الأصلية من المستند بلغتها الأصلية المصدر الرسمي والموثوق. بالنسبة للمعلومات الهامة، يُنصح بالاعتماد على الترجمة البشرية المهنية. نحن غير مسؤولين عن أي سوء فهم أو تفسير ناتج عن استخدام هذه الترجمة.
+**إخلاء المسؤولية**:
+تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي والمعتمد. للمعلومات الحرجة، يُنصح بالترجمة المهنية البشرية. نحن غير مسؤولين عن أي سوء فهم أو تفسير ناتج عن استخدام هذه الترجمة.
\ No newline at end of file
diff --git a/translations/bg/.co-op-translator.json b/translations/bg/.co-op-translator.json
index 1b98fe002..3a89d3b89 100644
--- a/translations/bg/.co-op-translator.json
+++ b/translations/bg/.co-op-translator.json
@@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
- "original_hash": "d45ddcc54eb9232a76d08328b09d792e",
- "translation_date": "2026-01-07T07:25:11+00:00",
+ "original_hash": "bec5e35642176d9e483552bfc82996d8",
+ "translation_date": "2026-03-06T13:30:36+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "bg"
},
@@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
- "translation_date": "2026-02-06T18:32:22+00:00",
+ "translation_date": "2026-03-06T13:34:01+00:00",
"source_file": "AGENTS.md",
"language_code": "bg"
},
@@ -516,8 +516,8 @@
"language_code": "bg"
},
"README.md": {
- "original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
- "translation_date": "2026-02-06T18:25:04+00:00",
+ "original_hash": "a2c9eed480687319517c08a6319e5536",
+ "translation_date": "2026-03-06T13:26:07+00:00",
"source_file": "README.md",
"language_code": "bg"
},
diff --git a/translations/bg/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/bg/1-getting-started-lessons/1-intro-to-programming-languages/README.md
index 78518476f..12c217299 100644
--- a/translations/bg/1-getting-started-lessons/1-intro-to-programming-languages/README.md
+++ b/translations/bg/1-getting-started-lessons/1-intro-to-programming-languages/README.md
@@ -1,97 +1,97 @@
-# Въведение в програмен език и съвременни инструменти за разработчици
+# Въведение в програмирането и съвременните инструменти за разработчици
-Здрасти, бъдещ разработчик! 👋 Мога ли да ти разкажа нещо, което всеки ден ми надава тръпки? Ти си на прага да откриеш, че програмирането не е просто за компютри – то е за това да имаш истински суперсили, с които да оживяваш най-дивите си идеи!
+Здравей, бъдещ разработчик! 👋 Мога ли да ти кажа нещо, което всеки ден ме кара да се възхищавам? Ти си на път да откриеш, че програмирането не е просто за компютри – то е истинска суперсила, с която можеш да оживиш най-смелите си идеи!
-Знаеш ли онзи момент, когато използваш любимото си приложение и всичко просто пасва перфектно? Когато натиснеш бутон и се случва нещо абсолютно магическо, което те кара да се чудиш: "Уау, как ТЕ го направиха?" Е, някой точно като теб – вероятно седнал в любимото си кафе в 2 през нощта с третото си еспресо – е написал кода, който създаде тази магия. И ето какво ще те изуми: в края на този урок не само ще разбереш как са го направили, но и ще гориш от желание да пробваш сам!
+Знаеш ли онзи момент, когато използваш любимото си приложение и всичко просто се нарежда перфектно? Когато натиснеш бутон и се случва нещо напълно магично, което те кара да кажеш "уау, как го направиха?" Е, някой точно като теб – вероятно седнал в любимо кафене в 2 сутринта с третото си еспресо – е написал кода, който е създал тази магия. И ето кое ще те удиви: в края на този урок не само ще разбереш как го направиха, а и ще умираш от желание да опиташ сам!
-Виж, разбирам напълно, ако програмирането ти изглежда страшно сега. Когато започвах, честно казано си мислех, че трябва да си някакъв математически гений или да си кодил от петгодишен. Но ето какво напълно промени гледната ми точка: програмирането е точно като да се научиш да водиш разговор на нов език. Започваш с "здравей" и "благодаря", после стигаш до поръчване на кафе, а преди да се усетиш вече водиш дълбоки философски дискусии! Освен че в този случай разговаряш с компютри, и честно? Те са най-търпеливите събеседници, които някога ще срещнеш – никога не съдят грешките ти и винаги с ентусиазъм приемат да опитат отново!
+Разбирам те напълно, ако програмирането ти се струва страшно сега. Когато започвах, честно си мислех, че трябва да си някакъв математически гений или да кодиш от 5-годишен. Но ето кое изцяло промени гледната ми точка: програмирането е точно като учене да водиш разговор на нов език. Започваш с "здравей" и "благодаря", после поръчваш кафе, и преди да осъзнаеш, водиш дълбоки философски дискусии! Само че в този случай разговаряш с компютри, и честно? Те са най-търпеливите събеседници, които някога ще срещнеш – никога не те осъждат за грешките и винаги са готови да опитат отново!
-Днес ще разгледаме невероятните инструменти, които правят съвременното уеб разработване не само възможно, но и наистина пристрастяващо. Говоря за същите редактори, браузъри и работни процеси, които разработчиците в Netflix, Spotify и любимото ти инди студио използват всеки ден. И ето и частта, която ще те накара да се зарадваш: повечето от тези професионални, индустриални инструменти са напълно безплатни!
+Днес ще разгледаме невероятните инструменти, които правят съвременното уеб разработване не просто възможно, а направо пристрастяващо. Говоря за точно същите редактори, браузъри и работни процеси, които използват разработчиците в Netflix, Spotify и любимите ти независими студиа всеки ден. И ето какво ще те зарадва: повечето от тези професионални, индустриални инструменти са напълно безплатни!

> Скетчноут от [Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid
journey
- title Вашето Програмиране Днес
+ title Вашето програмиране днес
section Открийте
- Какво е Програмиране: 5: You
- Езиците за Програмиране: 4: You
- Преглед на Инструментите: 5: You
+ Какво е програмиране: 5: You
+ Езици за програмиране: 4: You
+ Преглед на инструментите: 5: You
section Изследвайте
- Редактори на Код: 4: You
- Браузъри и Инструменти за Разработчици: 5: You
- Команден Ред: 3: You
+ Редактори на код: 4: You
+ Браузъри и инструменти за разработчици: 5: You
+ Команден ред: 3: You
section Практика
- Детектив на Езици: 4: You
- Изследване на Инструменти: 5: You
- Свързване с Общността: 5: You
+ Езиков детектив: 4: You
+ Изследване на инструменти: 5: You
+ Общностна връзка: 5: You
```
-## Да видим какво вече знаеш!
+## Нека видим какво вече знаеш!
-Преди да се хвърлим в забавните неща, любопитно ми е – какво вече знаеш за този програмен свят? И слушай, ако гледаш тези въпроси и мислиш "Аз нямам абсолютно никаква представа за нищо от това," това не е просто окей, а направо перфектно! Значи си на правилното място. Помисли за този тест като за разтягане преди тренировка – едва загряваме мозъчните мускули!
+Преди да се потопим в забавните неща, любопитен съм – какво вече знаеш за този свят на програмирането? И слушай, ако гледаш тези въпроси и си мислиш "Честно нямам никаква идея за това," това не само че е окей, това е перфектно! Това означава, че си на точното място. Помисли за този тест като за разтягане преди тренировка – просто затопляме мозъчните си мускули!
-[Вземи теста преди урока](https://forms.office.com/r/dru4TE0U9n?origin=lprLink)
+[Направи предварителния тест](https://ff-quizzes.netlify.app/web/)
-## Приключението, на което ще тръгнем заедно
+## Приключението, на което сме се отправили заедно
-Окей, сериозно съм супер развълнуван от това, което ще изследваме днес! Наистина, искам да видя лицето ти, когато някои от тези концепции изведнъж "кликнат". Ето какво невероятно пътешествие ни очаква заедно:
+Добре, истински се вълнувам от това, което ще изследваме днес! Сериозно, искам да видя лицето ти, когато някои от тези концепции ти „светнат“. Ето невероятното пътуване, на което сме заедно:
-- **Какво всъщност е програмирането (и защо е най-готиното нещо някога!)** – Ще разберем как кодът буквално е невидимата магия, която движи всичко около теб – от алармата, която някак разбира, че е понеделник сутрин, до алгоритъма, който перфектно селектира препоръките ти в Netflix
-- **Програмен език и техните удивителни личности** – Представи си, че влизаш на парти, където всеки човек има съвсем различни суперсили и начини да решава проблеми. Това е светът на програмните езици, и ти ще обикнеш да ги срещаш!
-- **Основните градивни блокчета, които правят дигиталната магия възможна** – Мисли ги като най-ултимативния креативен комплект LEGO. След като разбереш как се съчетават тези части, осъзнаваш, че можеш буквално да построиш всичко, за което мечтае въображението ти
-- **Професионални инструменти, които ще те накарат да се чувстваш сякаш току-що са ти дали вълшебна пръчка** – Не преувеличавам – тези инструменти наистина ще те накарат да се почувстваш като че имаш суперсили, а най-хубавото? Това са същите, които професионалистите използват!
+- **Какво всъщност е програмирането (и защо е най-якото нещо на света!)** – Ще открием как кодът е невидимата магия, която управлява всичко около теб, от алармата, която някак си знае, че е понеделник сутрин, до алгоритъма, който перфектно съставя препоръките ти в Netflix
+- **Програмените езици и техните страхотни индивидуалности** – Представи си парти, където всеки човек има различни суперсили и начини за решаване на проблеми. Това е светът на програмените езици и ти ще се влюбиш в тях!
+- **Основните градивни блокове, които създават цифровата магия** – Помисли за тях като за върховния творчески комплект LEGO. След като разбереш как тези части се съчетават, ще осъзнаеш, че можеш да построиш буквално всичко, което въображението ти пожелае
+- **Професионални инструменти, които ще те накарат да се почувстваш като магьосник с пръчка** – Не преувеличавам – тези инструменти наистина ще ти дадат усещането за суперсили, а най-хубавото? Те са същите, които професионалистите използват!
-> 💡 **Ето нещо:** Не мисли въобще да се опитваш да запомниш всичко днес! Сега искам просто да усетиш искрата на вълнението за това, което е възможно. Детайлите ще се залепят естествено, докато практикуваме заедно – така се случва истинското учене!
+> 💡 **Ето нещо важно**: Не мисли днес да запаметяваш всичко! Сега искам просто да усетиш искрата на възможностите. Подробностите ще дойдат естествено с практиката – така става истинското учене!
-> Можеш да направиш този урок и на [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
+> Можеш да преминеш този урок и в [Microsoft Learn](https://learn.microsoft.com/en-us/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
-## Какво всъщност *е* програмирането?
+## Така, какво точно е *програмирането*?
-Добре, нека се заемем с въпроса за милиони долари: какво всъщност е програмирането?
+Добре, нека се заемем с милионния въпрос: какво всъщност е програмирането?
-Ще ти разкажа история, която напълно промени гледната ми точка. Миналата седмица се опитвах да обясня на майка си как да използва дистанционното на нашия нов умен телевизор. Хванах се как казвам неща като "Натисни червения бутон, но не големия червен бутон, а малкия червен бутон отляво... не, другата ти лява... окей, сега го задръж за две секунди, не за една, не за три..." Звучи ли ти познато? 😅
+Ще ти разкажа история, която напълно промени начина, по който мисля за това. Миналата седмица се опитвах да обясня на мама как да използва новото дистанционно на умния ни телевизор. Хванах се да казвам неща като „Натисни червения бутон, но не големия червен бутон, а малкия червен отляво... не, другото ти ляво... добре, сега задръж го за две секунди, не за една, не за три..." Звучи ли ти познато? 😅
-Това е програмиране! То е изкуството да даваш изключително подробни, стъпка по стъпка инструкции на нещо много мощно, но което трябва всичко да му се изясни много точно. Освен че вместо да обясняваш на майка си (която може да попита "кой червен бутон?!"), ти обясняваш на компютър (който просто прави точно това, което му кажеш, дори и да не е съвсем това, което си имал предвид).
+Ето това е програмиране! Изкуството да даваш изключително подробни, стъпка по стъпка инструкции на нещо много мощно, но което трябва всичко да му се обясни перфектно. Само че вместо да обясняваш на мама (която може да попита "кой червен бутон?!"), ти обясняваш на компютър (който просто прави точно това, което му кажеш, дори и да не е точно това, което си имал предвид).
-Ето какво ме изуми, когато за първи път научих това: компютрите са всъщност доста прости по своята същност. Те разбират буквално само две неща – 1 и 0, което е просто "да" и "не" или "вкл." и "изкл." Това е! Но тук идва магията – не трябва да говорим само на 1 и 0, като в Матрицата. Тук на помощ идват **програмените езици**. Те са като най-добрия преводач в света, който взема твоите напълно нормални човешки мисли и ги превръща в компютърен език.
+Това, което ме порази, когато научих това за първи път: компютрите всъщност са сравнително прости по своята същност. Те разбират буквално две неща – 1 и 0, което е просто „да“ и „не“ или „включено“ и „изключено“. Това е всичко! Но тук идва магията – не е нужно да говорим на 1 и 0 като в Матрицата. Тогава на помощ идват **програмените езици**. Те са като най-добрия преводач в света, който взима твоите нормални човешки мисли и ги превръща в компютърен език.
-И ето какво все още ми дава истински тръпки всяка сутрин, когато се събудя: буквално *всичко* цифрово в живота ти е започнало с някой като теб, вероятно в пижама с чаша кафе, клавиатурно кодиращ на лаптопа си. Този Instagram филтър, който те кара да изглеждаш безупречен? Някой го е програмирал. Препоръката, която те доведе до новата ти любима песен? Алгоритъм, създаден от разработчик. Приложението, което ти помага да делите сметките с приятели? Да, някой е казал "Това е дразнещо, сигурен съм, че мога да го оправя" и го е направил!
+И ето кое все още ме кара да се възхищавам всяка сутрин, когато се събудя: буквално *всичко* цифрово в живота ти е започнало от някой като теб, вероятно седнал в пижамата си с чаша кафе и пишещ код на лаптопа си. Онзи филтър в Instagram, който те прави безупречен? Някой го е кодирал. Препоръката, която те доведе до новата ти любима песен? Разработчик е създал този алгоритъм. Приложението, което ти помага да разделиш сметката за вечерята с приятели? Да, някой е мислел „колко дразнещо е това, мога ли да го оправя?“ и го е направил!
-Когато научиш програмиране, не просто придобиваш ново умение – ти ставаш част от тази невероятна общност от решавачи на проблеми, които прекарват дните си, питащи се: "Какво ще стане, ако мога да създам нещо, което прави нечий ден малко по-добър?" Честно казано, има ли нещо по-готино от това?
+Когато научиш как да програмираш, ти не просто придобиваш ново умение – ставаш част от невероятна общност от решаващи проблеми, които посвещават дните си на мисълта „Ами ако мога да създам нещо, което прави деня на някого малко по-добър?“ Честно, има ли нещо по-яко от това?
-✅ **Забавно търсене на факт:** Ето нещо супер интересно, което да провериш, когато имаш време – кой мислиш, че е първият програмист в света? Ще ти дам подсказка: може да не е този, когото очакваш! Историята за този човек е абсолютно завладяваща и показва, че програмирането винаги е било за креативно решаване на проблеми и мислене извън рамките.
+✅ **Забавен факт:** Ето нещо супер интересно, което можеш да потърсиш, когато имаш свободно време – кой мислиш, че е бил първият компютърен програмист в света? Ще ти дам намек: може би не е този, когото очакваш! Историята зад този човек е абсолютно завладяваща и показва, че програмирането винаги е било за творческо решаване на проблеми и мислене извън рамките.
### 🧠 **Време за проверка: Как се чувстваш?**
-**Отдели момент за размисъл:**
-- Стана ли ти ясно какво значи "даваш инструкции на компютрите"?
+**Отдели малко време за размисъл:**
+- Сега разбра ли идеята за „даване на инструкции на компютри“?
- Можеш ли да се сетиш за ежедневна задача, която би искал да автоматизираш с програмиране?
-- Какви въпроси ти идват на ум за цялата тази работа с програмирането?
+- Какви въпроси ти се въртят в главата за цялото това програмиране?
-> **Помни:** Напълно нормално е някои концепции да ти изглеждат размити в момента. Учението на програмиране е като учене на нов език – отнема време на мозъка да изгради тези невронни пътеки. Ти се справяш страхотно!
+> **Запомни**: Напълно нормално е някои концепции да ти се струват размити сега. Учението на програмиране е като учене на нов език – отнема време мозъкът ти да изгражда тези невронни връзки. Правиш го страхотно!
-## Програмен език е като различни вкусове магия
+## Програмените езици са като различни вкусове магия
-Окей, това ще ти прозвучи странно, но остани с мен – програмените езици са много като различни музикални стилове. Помисли: имаш джаз, който е плавен и импровизационен, рок, който е мощен и директен, класическа музика, която е елегантна и структурирана, и хип-хоп, който е креативен и експресивен. Всеки стил има своя вибрация, своя общност от страстни фенове, и всеки е идеален за различни настроения и случаи.
+Добре, това може да звучи странно, но остани с мен – програмените езици са като различните видове музика. Помисли: има джаз, който е плавен и импровизационен, рок – мощен и директен, класическа музика – елегантна и структурирана, и хип-хоп – креативен и изразителен. Всяко течение има своя атмосфера, своя общност от страстни фенове и всяко е идеално за различни настроения и поводи.
-Програмените езици работят по същия начин! Не би използвал един и същ език да създадеш забавна мобилна игра, който би използвал за обработка на огромни количества климатични данни, точно както не би пускал дет метъл на йога клас (поне повечето йога класове! 😄).
+Програмените езици работят по същия начин! Не би използвал същия език, за да направиш забавна мобилна игра, която би използвал, за да обработваш огромни масиви климатични данни – точно както не би пускал дет метъл в занятие по йога (поне повечето йога занятия! 😄).
-Но ето какво винаги ме изумява: тези езици са като да имаш най-търпеливия, гениален преводач в света, който седи точно до теб. Можеш да изразяваш идеите си по начин, който е естествен за мозъка ти, а те се грижат за целия сложен превод в 1 и 0, на които компютрите всъщност говорят. Просто имаш приятел, който е напълно владеещ и на "човешкото творчество", и на "компютърната логика" – и никога не се уморява, не му трябват почивки за кафе и никога не те съди, ако попиташ два пъти едно и също!
+Но ето кое ме учудва всеки път, когато го мисля: тези езици са като най-търпеливия, блестящ преводач в света, който седи до теб. Можеш да изразиш идеите си по начин, който е естествен за човешкия ти мозък, а те се грижат за цялата сложна работа по превръщането им в 1 и 0, на които компютрите говорят. Като приятел, който е безупречно владеещ и „човешко творчество“, и „компютърна логика“ – и никога не се уморява, не пие кафе и не се дразни, ако попиташ същото нещо два пъти!
-### Популярни програмни езици и употреби
+### Популярни програмни езици и тяхното приложение
```mermaid
mindmap
- root((Езици за програмиране))
+ root((Езикове за програмиране))
Уеб разработка
JavaScript
- Магия във фронтенд
+ Фронтенд магия
Интерактивни уебсайтове
TypeScript
- JavaScript + Типове
- Предприятия приложения
- Данни и ИИ
+ JavaScript + типове
+ Корпоративни приложения
+ Данни и изкуствен интелект
Python
Наука за данни
Машинно обучение
@@ -102,59 +102,59 @@ mindmap
Мобилни приложения
Java
Android
- Предприятие
+ Корпоративни
Swift
iOS
- Екосистема на Apple
+ Еко система на Apple
Kotlin
Модерен Android
- Кръст-платформен
+ Кросплатформен
Системи и производителност
C++
Игри
- Критично за производителността
+ Критична производителност
Rust
Паметна безопасност
Системно програмиране
Go
Облачни услуги
- Масшабируем бекенд
+ Разширяем бекенд
```
| Език | Най-добър за | Защо е популярен |
|----------|----------|------------------|
-| **JavaScript** | Уеб разработка, потребителски интерфейси | Работи в браузъри и захранва интерактивни уебсайтове |
-| **Python** | Наука за данни, автоматизация, ИИ | Лесен за четене и учене, мощни библиотеки |
-| **Java** | Предприятия, Android приложения | Независим от платформа, стабилен за големи системи |
-| **C#** | Windows приложения, разработка на игри | Силна поддръжка на Microsoft екосистема |
-| **Go** | Облачни услуги, бекенд системи | Бърз, прост, създаден за модерни изчисления |
+| **JavaScript** | Уеб разработка, потребителски интерфейси | Работи в браузърите и задвижва интерактивни сайтове |
+| **Python** | Данни, автоматизация, изкуствен интелект | Лесен за четене и учене, мощни библиотеки |
+| **Java** | Корпоративни приложения, Android приложения | Платформено независим, стабилен за големи системи |
+| **C#** | Windows приложения, разработка на игри | Силна подкрепа от Microsoft екосистема |
+| **Go** | Облачни услуги, бекенд системи | Бърз, прост, създаден за съвременните изчисления |
-### Езици от високо ниво срещу ниско ниво
+### Езици от високо ниво срещу езици от ниско ниво
-Окей, това честно беше концепцията, която ми "счупи" мозъка, когато започнах да уча, затова ще ти споделя аналогията, която най-накрая ми помогна да я разбера – и се надявам да помогне и на теб!
+Добре, това беше честно казано концепцията, която ми разбиваше мозъка, когато започвах, затова ще ти разкажа аналогията, която най-накрая го направи ясно – и истински се надявам да ти помогне и на теб!
-Представи си, че посещаваш страна, в която не говориш езика и отчаяно трябва да намериш най-близката тоалетна (сигурно сме били там, нали? 😅):
+Представи си, че си в държава, в която не говориш езика, и отчаяно трябва да намериш най-близката тоалетна (сигурно сме били в тази ситуация, нали? 😅):
-- **Програмиране на ниско ниво** е като да научиш местния диалект толкова добре, че можеш да говориш с бабата, която продава плодове на ъгъла, използвайки културни препратки, местен жаргон и вътрешни шеги, които само някой, израснал там, би разбрал. Супер впечатляващо и невероятно ефективно... ако случайно си владеещ езика! Но доста объркващо, когато просто търсиш тоалетна.
+- **Програмирането на ниско ниво** е като да научиш местния диалект толкова добре, че да разговаряш с бабата, която продава плодове на ъгъла, използвайки културни препратки, жаргон и вътрешни вицове, които само местните разбират. Супер впечатляващо и много ефикасно... ако тъкмо говориш езика! Но доста объркващо, когато просто търсиш тоалетна.
-- **Програмиране на високо ниво** е като да имаш този невероятен местен приятел, който просто те разбира. Можеш да кажеш "Наистина трябва да намеря тоалетна" на чист английски, а той се занимава с цялата културна интерпретация и ти дава упътвания по начин, който напълно има смисъл за твоя чуждоземен мозък.
+- **Програмирането на високо ниво** е като да имаш този невероятен местен приятел, който те разбира. Можеш да кажеш "наистина ми трябва баня" на прост английски, а той превежда всичко и ти дава насока, която ти е ясна, макар и да не говориш местния език.
-В програмирането:
-- **Езици от ниско ниво** (като Assembly или C) ти позволяват да провеждаш много детайлни разговори с хардуера на компютъра, но трябва да мислиш като машина, което е... добре, голям умствен преход!
-- **Езици от високо ниво** (като JavaScript, Python, или C#) ти позволяват да мислиш като човек, докато те вършат цялата машинна работа зад кулисите. Освен това имат толкова приветливи общности, пълни с хора, които помнят какво е да си нов и искрено искат да помогнат!
+В термини на програмиране:
+- **Езиците от ниско ниво** (като Assembly или C) ти позволяват да имаш невероятно подробни разговори със самия хардуер на компютъра, но трябва да мислиш като машина, което... скажем просто, голяма е умствената промяна!
+- **Езиците от високо ниво** (като JavaScript, Python или C#) ти позволяват да мислиш като човек, а те се грижат за всички машинни инструкции зад кулисите. Освен това имат невероятно приветливи общности, пълни с хора, които помнят какво е да си начинаещи и искрено искат да помогнат!
-Познай с кои ще ти предложа да започнеш? 😉 Езици от високо ниво са като помощните колелца на колело, които никога всъщност не искаш да свалиш, защото правят цялото изживяване толкова по-приятно!
+Угаси се кой ти предлагам да започнеш с? 😉 Езиците от високо ниво са като помощни колелца, които никога наистина не искаш да махнеш, защото целият процес е много по-приятен!
```mermaid
flowchart TB
- A["👤 Човешка мисъл: 'Искам да изчислявам числа от Фибоначи'"] --> B{Избери ниво на езика}
+ A["👤 Човешка мисъл: 'Искам да изчисля числата на Фибоначи'"] --> B{Избор на езиково ниво}
B -->|Високо ниво| C["🌟 JavaScript/Python Лесен за четене и писане"]
- B -->|Ниско ниво| D["⚙️ Асемблер/C Директен контрол на хардуера"]
+ B -->|Ниско ниво| D["⚙️ Асемблер/C Директен хардуерен контрол"]
- C --> E["📝 Напиши: fibonacci(10)"]
- D --> F["📝 Напиши: mov r0,#00 sub r0,r0,#01"]
+ C --> E["📝 Пиши: fibonacci(10)"]
+ D --> F["📝 Пиши: mov r0,#00 sub r0,r0,#01"]
- E --> G["🤖 Компютърно разбиране: Преводачът се справя със сложността"]
+ E --> G["🤖 Разбиране от компютър: Преводачът се грижи за сложността"]
F --> G
G --> H["💻 Същият резултат: 0, 1, 1, 2, 3, 5, 8, 13..."]
@@ -163,15 +163,15 @@ flowchart TB
style D fill:#fff3e0
style H fill:#e8f5e8
```
-### Позволи ми да ти покажа защо езици от високо ниво са толкова по-приятелски настроени
+### Нека ти покажа защо езиците от високо ниво са толкова по-приятелски
-Добре, ще ти покажа нещо, което перфектно демонстрира защо се влюбих в езиците от високо ниво, но първо – трябва да ми обещаеш нещо. Когато видиш първия пример за код, не се паникьосвай! Той трябва да изглежда страшен. Това е точното послание, което искам да ти предам!
+Добре, ще ти покажа нещо, което перфектно демонстрира защо се влюбих в езиците от високо ниво, но първо – обещай ми нещо. Когато видиш първия пример с код, не изпадай в паника! Той е предназначен да изглежда страшен. Точно това е точката ми!
-Ще видим един и същи проблем решен по два коренно различни начина. И двата създават така наречената Фибоначи последователност – красива математическа поредица, при която всяко число е сумата от двете предишни: 0, 1, 1, 2, 3, 5, 8, 13... (Забавно: този модел го срещаш буквално навсякъде в природата – спирали на семена от слънчоглед, модели на шишарки, дори начина, по който се образуват галактики!)
+Ще разгледаме една и съща задача, написана в два напълно различни стила. И двете създават това, което се нарича Фибоначи последователност – това е този красив математически модел, където всяко число е сумата на предходните две: 0, 1, 1, 2, 3, 5, 8, 13... (Забавен факт: този модел е буквално навсякъде в природата – спирали на слънчогледови семена, модели на шишарки, дори как се формират галактики!)
-Готов ли си да видиш разликата? Хайде!
+Готов ли си да видиш разликата? Да тръгваме!
-**Език от високо ниво (JavaScript) – Човешки приятелски:**
+**Език от високо ниво (JavaScript) – Човеколюбив:**
```javascript
// Стъпка 1: Основна настройка на Фибоначи
@@ -183,10 +183,10 @@ console.log('Fibonacci sequence:');
```
**Ето какво прави този код:**
-- **Декларира** константа, която задава колко Фибоначи числа искаме да генерираме
+- **Декларира** константа, която определя колко числа от Фибоначи искаме да генерираме
- **Инициализира** две променливи, които следят текущото и следващото число в последователността
-- **Задава** началните стойности (0 и 1), които дефинират модела Фибоначи
-- **Показва** заглавно съобщение, което идентифицира резултата ни
+- **Задава** началните стойности (0 и 1), които определят Фибоначи модела
+- **Показва** заглавно съобщение, за да идентифицира изхода
```javascript
// Стъпка 2: Генерирайте последователността с цикъл
@@ -200,11 +200,11 @@ for (let i = 0; i < fibonacciCount; i++) {
}
```
-**Разбивка на това, което се случва тук:**
-- **Обхожда** всяка позиция в последователността с помощта на `for` цикъл
-- **Показва** всяко число заедно с позицията му, използвайки шаблонно форматиране
-- **Изчислява** следващото число във Фибоначи като събира текущото и следващото
-- **Обновява** променливите, за да премине към следващата итерация
+**Разбивка на случващото се тук:**
+- **Обхожда** всяка позиция в последователността чрез цикъл `for`
+- **Показва** всяко число с неговата позиция, използвайки шаблонно форматиране
+- **Изчислява** следващото число от Фибоначи чрез събирането на текущото и следващото
+- **Актуализира** проследяващите променливи, за да премине към следващата итерация
```javascript
// Стъпка 3: Модерен функционален подход
@@ -218,18 +218,18 @@ const generateFibonacci = (count) => {
return sequence;
};
-// Пример за употреба
+// Пример за използване
const fibSequence = generateFibonacci(10);
console.log(fibSequence);
```
-**В горния пример ние:**
-- **Създадохме** многократно използваща се функция с модерен синтаксис за стрелкови функции
-- **Построихме** масив, за да съхраним цялата последователност вместо да показваме числата поединично
-- **Използвахме** индексиране на масиви, за да изчислим всяко ново число от предишните стойности
-- **Върнахме** цялата последователност за гъвкава употреба в други части на програмата
+**В горния код:**
+- **Създадохме** многократно използваща се функция с помощта на модерния синтаксис на стрелкова функция
+- **Построихме** масив, който съхранява цялата последователност, вместо да показваме числата поотделно
+- **Използвахме** индексиране в масива, за да изчислим всяко ново число от предходните стойности
+- **Върнахме** цялата последователност за по-гъвкаво използване в други части на програмата
-**Език от ниско ниво (ARM Assembly) – Компютърно приятелски:**
+**Език от ниско ниво (ARM Assembly) – Подходящ за компютъра:**
```assembly
area ascen,code,readonly
@@ -256,57 +256,58 @@ back add r0,r1
end
```
-Обърни внимание как версията на JavaScript изглежда почти като инструкции на английски, докато версията на Assembly използва загадъчни команди, които директно контролират процесора на компютъра. И двата изпълняват точно същата задача, но езикът от високо ниво е много по-лесен за разбиране, писане и поддръжка от хората.
+Забележи как версията на JavaScript се чете почти като инструкции на английски, докато Assembly версията използва криптични команди, които директно контролират процесора на компютъра. И двете изпълняват същата задача, но езикът от високо ниво е много по-лесен за разбиране, писане и поддръжка от човека.
-**Основните разлики, които ще забележиш:**
-- **Четливост**: JavaScript използва описателни имена като `fibonacciCount`, докато Assembly използва тайни означения като `r0`, `r1`
-- **Коментари**: Високо нивото на езиците насърчава обяснителни коментари, които правят кода самодокументиращ се
-- **Структура**: Логическата последователност на JavaScript съвпада с начина, по който хората мислят стъпка по стъпка за проблемите
-- **Поддръжка**: Актуализирането на версията на JavaScript за различни изисквания е лесно и ясно
+**Ключови разлики, които ще забележиш:**
+- **Четимост**: JavaScript използва описателни имена като `fibonacciCount`, докато Assembly използва криптични етикети като `r0`, `r1`
+- **Коментари**: Високо ниво езици насърчават обяснителни коментари, които правят кода самодокументиращ се
+- **Структура**: Логическият поток на JavaScript съответства на начина, по който хората мислят за проблемите стъпка по стъпка
+- **Поддръжка**: Актуализирането на версията на JavaScript за различни изисквания е лесно и ясно
-✅ **За последователността на Фибоначи**: Този абсолютно прекрасен числов модел (където всяко число е равно на сумата на двете предишни: 0, 1, 1, 2, 3, 5, 8...) се среща буквално *навсякъде* в природата! Ще го откриете в спиралите на слънчогледите, в моделите на шишарки, начина, по който се извиват мидите на наутилуса и дори в начина, по който растат клоните на дърветата. Наистина е удивително как математиката и кодът ни помагат да разберем и възпроизведем моделите, които природата използва, за да създаде красота!
+✅ **За числовата редица на Фибоначи**: Този абсолютно прекрасен числов модел (където всяко число е равна на сумата на двете предишни: 0, 1, 1, 2, 3, 5, 8...) се появява буквално *навсякъде* в природата! Ще го откриете в спиралите на слънчогледите, моделите на шишарки, начина по който се навиват черупките на наутилуса и дори в начина, по който растат клоните на дърветата. Доста е удивително как математиката и кода ни помагат да разберем и пресъздадем моделите, които природата използва, за да създаде красота!
-## Строителните елементи, които правят магията възможна
-Добре, сега след като видяхте как изглеждат програмните езици в действие, нека разгледаме основните части, които съставляват буквално всяка написана програма. Можете да ги мислите като незаменимите съставки в любимата ви рецепта – след като разберете какво прави всяка една, ще можете да четете и пишете код на почти всеки език!
+## Строителните блокове, които правят магията възможна
-Това е нещо като изучаването на граматиката на програмирането. Спомняте ли си уроците в училище за съществителните, глаголите и как се съставят изречения? Програмирането има своя собствена граматика и честно казано, тя е много по-логична и по-прощаваща от английската граматика някога! 😄
+Добре, сега когато видяхте как изглеждат програмните езици в действие, нека разгледаме основните части, които изграждат буквално всяка програма някога написана. Представете си ги като съществените съставки във вашата любима рецепта – след като разберете какво прави всяка от тях, ще можете да четете и пишете код почти на всеки език!
-### Изрази: Стъпка по стъпка инструкции
+Това е като да научите граматиката на програмирането. Помните ли, когато в училище учехте за съществителните, глаголите и как се строят изречения? Програмирането има своя версия на граматиката и, честно казано, тя е много по-логична и прощаваща отколкото английската граматика някога е била! 😄
-Нека започнем с **изразите** – те са като отделни изречения в разговор с вашия компютър. Всеки израз казва на компютъра да направи нещо конкретно, почти като даване на указания: „Завий наляво тук“, „Спри на червената светлина“, „Паркирай на това място“.
+### Изрази: Инструкции стъпка по стъпка
-Обичам изразите, защото обикновено са много четими. Вижте това:
+Нека започнем с **изрази** – те са като отделни изречения в разговор с вашия компютър. Всеки израз казва на компютъра да направи конкретно нещо, нещо като указания: "Завий наляво тук," "Спри на червената светлина," "Паркирай на това място."
+
+Това, което обичам в изразите, е колко четими обикновено са. Вижте това:
```javascript
-// Основни изявления, които изпълняват единични действия
+// Основни оператори, които изпълняват единични действия
const userName = "Alex";
console.log("Hello, world!");
const sum = 5 + 3;
```
-
-**Ето какво прави този код:**
-- **Декларира** константна променлива за съхранение на име на потребител
-- **Показва** поздравително съобщение в конзолата
-- **Изчислява** и съхранява резултат от математическа операция
+
+**Ето какво прави този код:**
+- **Декларира** константна променлива, за да съхрани името на потребителя
+- **Показва** приветствено съобщение в конзолния изход
+- **Изчислява** и съхранява резултата от математическа операция
```javascript
// Изявления, които взаимодействат с уеб страници
document.title = "My Awesome Website";
document.body.style.backgroundColor = "lightblue";
```
-
-**Стъпка по стъпка, ето какво се случва:**
-- **Променя** заглавието на уеб страницата, което се показва в таба на браузъра
-- **Променя** цвета на фона на цялото тяло на страницата
-### Променливи: Паметната система на вашата програма
+**Стъпка по стъпка, ето какво се случва:**
+- **Променя** заглавието на уебстраницата, което се показва в раздела на браузъра
+- **Променя** цвета на фона на цялото тяло на страницата
-Добре, **променливите** са честно казано една от любимите ми концепции за преподаване, защото са толкова подобни на неща, които вече използвате всеки ден!
+### Променливи: Системата за памет на вашата програма
-Помислете за контактите на телефона си за момент. Не запаметявате телефонните номера на всички – вместо това записвате „Мама“, „Най-добър приятел“ или „Пицарията, която доставя до 2 сутринта“ и оставяте телефона да запомни числата. Променливите работят по абсолютно същия начин! Те са като надписани контейнери, в които вашата програма може да съхранява информация и да я извлича по-късно, използвайки име, което има смисъл.
+Добре, **променливите** са честно казано една от любимите ми концепции за обучение, защото са толкова подобни на неща, които вече използвате всеки ден!
-Ето кое е истински готино: променливите могат да се променят докато вашата програма работи (оттук и името „променлива“ – вижте какво са направили?). Точно както бихте обновили контакта на пицарията, когато намерите още по-добро място, променливите могат да се обновяват, докато програмата научава нова информация или когато се променят обстоятелствата!
+Помислете за списъка с контакти на телефона си за секунда. Не запомняте телефонните номера на всички – вместо това запазвате "Мама," "Най-добър приятел" или "Пицария, която доставя до 2 сутринта" и оставяте телефона да запомни реалните номера. Променливите работят по същия начин! Те са като етикетирани контейнери, където вашата програма може да съхранява информация и да я извлича по-късно с име, което всъщност има смисъл.
+
+Ето какво е наистина страхотно: променливите могат да се променят, докато вашата програма работи (оттук идва името "променлива" – вижте как са се сетили!). Точно както бихте обновили контакта на пицарията, когато откриете нещо по-добро, променливите могат да се актуализират, докато програмата научава нова информация или когато обстоятелствата се променят!
Нека ви покажа колко красиво просто може да бъде това:
@@ -317,12 +318,12 @@ let currentWeather = "sunny";
let temperature = 75;
let isRaining = false;
```
-
-**Разбиране на тези концепции:**
-- **Съхраняване** на неизменяеми стойности в `const` променливи (като името на сайта)
-- **Използване** на `let` за стойности, които могат да се променят през програмата
-- **Присвояване** на различни типове данни: низове (текст), числа и булеви стойности (true/false)
-- **Избор** на описателни имена, обясняващи какво съдържа всяка променлива
+
+**Разбиране на тези концепции:**
+- **Съхранявайте** непроменящи се стойности в `const` променливи (като името на сайта)
+- **Използвайте** `let` за стойности, които могат да се променят през изпълнението на програмата
+- **Присвоявайте** различни типове данни: низове (текст), числа и булеви стойности (true/false)
+- **Избирайте** описателни имена, които обясняват какво съдържа всяка променлива
```javascript
// Стъпка 2: Работа с обекти за групиране на свързани данни
@@ -332,11 +333,11 @@ const weatherData = {
windSpeed: 12
};
```
-
-**В горното сме:**
-- **Създали** обект за групиране на свързана информация за времето
-- **Организирали** множество данни под едно име на променлива
-- **Използвали** ключ-стойност двойки, за да надпишем всяка информация ясно
+
+**В горния пример:**
+- **Създадохме** обект за групиране на свързана метеорологична информация
+- **Организирахме** множество данни под едно име на променлива
+- **Използвахме** двойки ключ-стойност за ясно обозначаване на всяка част от информацията
```javascript
// Стъпка 3: Използване и актуализиране на променливи
@@ -347,31 +348,31 @@ console.log(`Wind speed: ${weatherData.windSpeed} mph`);
currentWeather = "cloudy";
temperature = 68;
```
-
-**Нека разберем всяка част:**
-- **Показване** на информация с помощта на шаблонни литерали с `${}` синтаксис
-- **Достъп** до свойства на обекти с точкова нотация (`weatherData.windSpeed`)
-- **Обновяване** на променливи, декларирани с `let`, за да се отразят променящите се условия
-- **Комбиниране** на няколко променливи за създаване на смислени съобщения
+
+**Нека разберем всяка част:**
+- **Показвайте** информация с използване на шаблонни низове със синтаксис `${}`
+- **Достъпвайте** свойства на обекта с точкова нотация (`weatherData.windSpeed`)
+- **Актуализирайте** променливи, декларирани с `let`, за да отразят променящи се условия
+- **Комбинирайте** множество променливи, за да създадете смислени съобщения
```javascript
// Стъпка 4: Модерен деструктуриране за по-чист код
const { location, humidity } = weatherData;
console.log(`${location} humidity: ${humidity}%`);
```
-
-**Какво трябва да знаете:**
-- **Извличане** на специфични свойства от обекти чрез деструктуриращо присвояване
-- **Създаване** на нови променливи автоматично с имената на ключовете на обекта
-- **Опрощаване** на кода чрез избягване на повтарящата се точкова нотация
-### Контролен поток: Учите вашата програма да мисли
+**Какво трябва да знаете:**
+- **Извличайте** конкретни свойства от обекти с помощта на деструктуриращо присвояване
+- **Създавайте** нови променливи автоматично със същите имена като ключовете в обекта
+- **Оптимизирайте** кода, като избягвате повтаряща се точкова нотация
+
+### Контролен поток: Обучаване на вашата програма да мисли
-Добре, тук програмирането става абсолютно удивително! **Контролният поток** е на практика начин да научите програмата си да взема умни решения, точно както вие го правите всеки ден без да се замисляте.
+Добре, тук програмирането става абсолютно удивително! **Контролният поток** е всъщност обучението на вашата програма да взема умни решения, точно както вие правите всеки ден без изобщо да се замисляте.
-Представете си: тази сутрин вероятно сте минали през нещо като „Ако вали, ще взема чадър. Ако е студено, ще нося якето. Ако закъснявам, ще пропусна закуската и ще взема кафе по пътя.“ Вашият мозък естествено следва тази логика „ако-тогава“ десетки пъти на ден!
+Представете си това: тази сутрин вероятно сте преминали през нещо като "Ако вали, ще взема чадър. Ако е студено, ще облека яке. Ако закъснявам, ще прескоча закуската и ще взема кафе по пътя." Вашият мозък естествено следва тази if-then логика десетки пъти всеки ден!
-Това прави програмите да изглеждат интелигентни и живи, а не просто да следват някакъв скучен, предсказуем скрипт. Те всъщност могат да анализират ситуацията, да оценят какво се случва и да отговорят адекватно. Това е като да дадете на програмата си мозък, който се адаптира и прави избори!
+Това е, което прави програмите да изглеждат интелигентни и живи, вместо просто да следват скучен, предсказуем скрипт. Те всъщност могат да анализират ситуацията, да оценят какво се случва и да реагират адекватно. Това е като да дадете на програмата си мозък, който може да се адаптира и да прави избори!
Искате ли да видите колко красиво работи това? Нека ви покажа:
@@ -386,12 +387,12 @@ if (userAge >= 18) {
console.log(`You'll be able to vote in ${yearsToWait} year(s).`);
}
```
-
-**Ето какво прави този код:**
-- **Проверява** дали възрастта на потребителя отговаря на изискванията за гласуване
-- **Изпълнява** различни блокове код в зависимост от резултата на условието
-- **Изчислява** и показва колко остава до достигане на право на глас, ако е под 18
-- **Дава** конкретна, полезна обратна връзка за всяка ситуация
+
+**Ето какво прави този код:**
+- **Проверява** дали възрастта на потребителя отговаря на изискването за гласуване
+- **Изпълнява** различни блокове код въз основа на резултата от условието
+- **Изчислява** и показва колко време остава до пълнолетие за гласуване, ако е под 18
+- **Предоставя** конкретна, полезна обратна връзка за всеки случай
```javascript
// Стъпка 2: Множество условия с логически оператори
@@ -406,26 +407,26 @@ if (userAge >= 18 && hasPermission) {
console.log("Sorry, you must be at least 16 years old.");
}
```
-
-**Разбивка на случващото се тук:**
-- **Комбинира** няколко условия с оператора `&&` (и)
-- **Създава** йерархия от условия с `else if` за множество сценарии
-- **Обработва** всички възможни случаи с крайно `else` изявление
-- **Дава** ясна, приложима обратна връзка за всяка различна ситуация
+
+**Анализ на случващото се тук:**
+- **Комбинира** няколко условия с оператора `&&` (и)
+- **Създава** йерархия от условия с помощта на `else if` за множество ситуации
+- **Обхваща** всички възможни случаи с краен `else` израз
+- **Осигурява** ясна, директна обратна връзка за всяка различна ситуация
```javascript
// Стъпка 3: Кратко условие с тернарен оператор
const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
console.log(`Status: ${votingStatus}`);
```
-
-**Какво трябва да запомните:**
-- **Използвайте** тернарния оператор (`? :`) за прости двоични условия
-- **Пишете** условието първо, следвано от `?`, после истинския резултат, после `:`, после фалшивия резултат
-- **Прилагайте** този модел когато трябва да присвоите стойности според условия
+
+**Това, което трябва да запомните:**
+- **Използвайте** тернарния оператор (`? :`) за прости условия с две опции
+- **Пишете** условието първо, последвано от `?`, след това резултат при вярно условие, `:`, и резултат при невярно условие
+- **Прилагайте** този модел, когато трябва да зададете стойности според условия
```javascript
-// Стъпка 4: Обработка на множество конкретни случаи
+// Стъпка 4: Обработка на множество специфични случаи
const dayOfWeek = "Tuesday";
switch (dayOfWeek) {
@@ -444,56 +445,56 @@ switch (dayOfWeek) {
console.log("Invalid day of the week");
}
```
-
-**Този код постига следното:**
-- **Сравнява** стойността на променливата с няколко конкретни случая
-- **Групира** подобни случаи (делници срещу уикенди)
-- **Изпълнява** подходящия блок код при намерено съвпадение
-- **Включва** `default` случай за обработка на неочаквани стойности
-- **Използва** `break` изрази, за да предотврати изпълнение на следващите случаи
-> 💡 **Аналогия от реалния свят**: Мислете за контролния поток като най-търпеливата GPS навигация на света, която ви дава указания. Може да каже „Ако има трафик по Главната улица, вземи магистралата. Ако строителство блокира магистралата, опитай живописния маршрут.“ Програмите използват същия вид условна логика, за да реагират интелигентно на различни ситуации и винаги да предоставят най-доброто възможно изживяване на потребителите.
+**Този код изпълнява следното:**
+- **Сравнява** стойността на променливата с няколко конкретни случая
+- **Групира** подобни случаи заедно (работни дни срещу почивни)
+- **Изпълнява** подходящия кодов блок при намерена съвпадение
+- **Включва** `default` случай за обработка на неочаквани стойности
+- **Използва** `break` изрази, за да предотврати продължаване към следващия случай
-### 🎯 **Проверка на концепциите: Владение на строителните елементи**
+> 💡 **Реален пример**: Представете си контрола на потока като най-търпеливата GPS навигация в света. Тя може да каже: „Ако има задръстване по Главната улица, използвай магистралата. Ако строеж блокира магистралата, пробвай по живописния път.“ Програмите използват същия тип условна логика, за да реагират интелигентно в различни ситуации и винаги да предоставят на потребителите най-доброто преживяване.
-**Нека видим как се справяте с основите:**
-- Можете ли да обясните с ваши думи разликата между променлива и израз?
-- Помислете за реален пример, в който бихте използвали if-then решение (като нашия пример с гласуването)
-- Кое е нещо в логиката на програмирането, което ви изненада?
+### 🎯 **Проверка на концепциите: Майсторство в строителните блокове**
-**Бързо уверяване:**
+**Нека проверим как се справяте с основите:**
+- Можете ли да обясните разликата между променлива и израз със собствени думи?
+- Помислете за реален случай, в който бихте използвали if-then решение (като нашия пример с гласуването)
+- Какво ви изненада най-много в логиката при програмирането?
+
+**Бърз стимул за увереност:**
```mermaid
flowchart LR
- A["📝 Изрази (Инструкции)"] --> B["📦 Променливи (Съхранение)"] --> C["🔀 Управляващ поток (Решения)"] --> D["🎉 Работеща програма!"]
+ A["📝 Изявления (Команди)"] --> B["📦 Променливи (Памет)"] --> C["🔀 Контрол на потока (Решения)"] --> D["🎉 Работеща програма!"]
style A fill:#ffeb3b
style B fill:#4caf50
style C fill:#2196f3
style D fill:#ff4081
-```
-✅ **Какво предстои:** Ще се забавляваме да навлезем по-дълбоко в тези концепции, докато продължаваме това невероятно пътешествие заедно! Засега се съсредоточете просто върху това да почувствате вълнението за всичките удивителни възможности пред вас. Конкретните умения и техники ще се запечатат естествено, докато практикуваме заедно – обещавам, че ще бъде много по-забавно, отколкото предполагате!
+```
+✅ **Какво следва:** Предстои ни невероятно забавление, докато навлизаме по-дълбоко в тези концепции заедно! Засега се съсредоточете само върху това да почувствате вълнението от всички удивителни възможности пред вас. Конкретните умения и техники ще се усвояват естествено с практиката – уверявам ви, че това ще е много по-забавно от колкото очаквате!
## Инструментите на занаята
-Добре, честно казано сега се вълнувам толкова, че едва се сдържам! 🚀 Ще говорим за невероятните инструменти, които ще ви накарат да се почувствате така, сякаш току-що са ви дали ключовете на цифров космически кораб.
+Добре, честно казано това е моментът, в който се вълнувам толкова, че едва се сдържам! 🚀 Ще говорим за невероятните инструменти, които ще ви накарат да се почувствате сякаш току-що са ви дали ключовете за цифров космически кораб.
-Знаете как готвачът има перфектно балансирани ножове, които се чувстват като продължения на ръцете му? Или как музикантът има онзи китара, която сякаш пее в момента, в който я докосне? Е, разработчиците имаме нашата версия на тези магически инструменти и ето какво ще ви пометне главата – повечето от тях са напълно безплатни!
+Знаете ли как готвачът има тези перфектно балансирани ножове, които се усещат като продължение на ръцете му? Или как музикантът има онзи китар, който сякаш пее точно в момента, в който я докосне? Е, разработчиците имаме своя версия на тези магически инструменти и тук идва онова, което ще ви изуми – повечето от тях са безплатни!
-Почти скачам на стола, докато мисля да ви ги покажа, защото напълно революционизираха начина, по който изграждаме софтуер. Говорим за AI-подсилени асистенти, които могат да помагат да пишете код (и не се шегувам!), облачни среди, в които можете да изграждате цели приложения от буквално всяко място с Wi-Fi, и инструменти за отстраняване на грешки толкова сложни, че са като да имате рентгеново зрение за вашите програми.
+Почти скачам на стола си, докато мисля да ги споделя с вас, защото те напълно промениха начина, по който създаваме софтуер. Говорим за асистенти за кодиране с изкуствен интелект, които могат да помогнат да пишете кода си (и не се шегувам!), облачни среди, в които можете да изграждате цели приложения буквално от всяко място с Wi-Fi, и инструменти за отстраняване на грешки толкова сложни, че са като рентгеново зрение за вашите програми.
-И ето частта, която все още ме кара да настръхвам: това не са „начинаещи инструменти“, които ще ви омръзнат бързо. Това са точно същите професионални инструменти, които разработчиците в Google, Netflix и онова инди студио за приложения, което обичате, използват точно в този момент. Ще се почувствате като истински професионалист, ползвайки ги!
+И сега частта, която все още ми дава тръпки: това не са „начинаещи инструменти“, които ще надраснете. Това са същите професионални инструменти, които разработчиците в Google, Netflix и онази малка интерактивна студия, която обичате, използват в момента. Ще се чувствате като истински професионалист, докато ги ползвате!
```mermaid
graph TD
- A["💡 Вашата Идея"] --> B["⌨️ Редактор на код (VS Code)"]
- B --> C["🌐 Инструменти за разработка в браузър (Тестване и отстраняване на грешки)"]
+ A["💡 Вашата идея"] --> B["⌨️ Редактор на код (VS Code)"]
+ B --> C["🌐 Инструменти за разработчици в браузъра (Тестване и отстраняване на грешки)"]
C --> D["⚡ Команден ред (Автоматизация и инструменти)"]
- D --> E["📚 Документация (Обучение и справка)"]
+ D --> E["📚 Документация (Обучение и справки)"]
E --> F["🚀 Удивително уеб приложение!"]
B -.-> G["🤖 AI Асистент (GitHub Copilot)"]
C -.-> H["📱 Тестване на устройства (Отзивчив дизайн)"]
- D -.-> I["📦 Пакетни мениджъри (npm, yarn)"]
+ D -.-> I["📦 Мениджъри на пакети (npm, yarn)"]
E -.-> J["👥 Общност (Stack Overflow)"]
style A fill:#fff59d
@@ -502,230 +503,229 @@ graph TD
style H fill:#f3e5f5
style I fill:#ffccbc
style J fill:#e8eaf6
-```
+```
### Редактори на код и IDE: Вашите нови цифрови най-добри приятели
-Нека поговорим за редакторите на код – тези наистина ще станат вашето ново любимо място за престой! Мислете за тях като за вашето лично убежище за кодиране, където ще прекарвате по-голямата част от времето си, създавайки и усъвършенствайки цифровите си творения.
+Нека поговорим за редакторите на код – те сериозно ще станат вашите любими места за творчество! Мислете за тях като за вашето лично святилище за кодиране, където ще прекарвате по-голямата част от времето си, изграждайки и усъвършенствайки дигиталните си творения.
-Но ето кое е абсолютно магическо в съвременните редактори: те не са просто обикновени текстови редактори. Те са като най-блестящият, подкрепящ ментор по кодиране, седнал точно до вас 24/7. Хващат правописните ви грешки преди да ги забележите, предлагат подобрения, които ви карат да изглеждате като гений, помагат ви да разберете какво прави всеки ред код, а някои дори могат да предвидят какво ще напишете и да предложат да довършат мислите ви!
+Но ето кое е абсолютно магичното при съвременните редактори: те не са просто изящни текстови редактори. Те са като най-блестящият, подкрепящ ментор, който винаги седи до вас 24/7. Хващат печатни грешки, преди да ги забележите, предлагат подобрения, които ви правят да изглеждате като гений, помагат ви да разберете какво прави всяка част от кода, а някои дори могат да предвидят какво ще напишете и да завършат мислите ви!
-Спомням си първия път, когато открих автоматичното допълване – буквално се почувствах като в бъдещето. Започвате да пишете нещо, а редакторът казва: „Хей, мислехте ли за тази функция, която прави точно това, което ви трябва?“ Като да имате читател на мисли за кодиране!
+Спомням си първия път, когато открих автоматично допълване – сякаш живеех в бъдещето. Започвате да пишете нещо и редакторът казва: „Хей, не искаш ли да използваш тази функция, която прави точно това, което ти трябва?“ Това е като да имаш читател на мисли за кодиране!
**Какво прави тези редактори толкова невероятни?**
-Модерните редактори предлагат впечатляващо множество функции, проектирани да увеличат продуктивността ви:
+Съвременните редактори на код предлагат впечатляващ набор от функции за повишаване на продуктивността:
| Функция | Какво прави | Защо помага |
|---------|--------------|--------------|
-| **Оцветяване на синтаксис** | Оцветява различни части от кода | Прави кода по-лесен за четене и откриване на грешки |
-| **Автоматично допълване** | Предлага код докато пишете | Ускорява писането на код и намалява правописните грешки |
-| **Инструменти за отстраняване на грешки** | Помагат да намерите и поправите грешки | Спестяват часове за отстраняване на проблеми |
-| **Разширения** | Добавят специализирани функции | Персонализират редактора за всяка технология |
-| **AI асистенти** | Предлагат код и обяснения | Ускоряват ученето и продуктивността |
-
-> 🎥 **Видео ресурс**: Искате да видите тези инструменти в действие? Вижте това [Видео за Инструментите на занаята](https://youtube.com/watch?v=69WJeXGBdxg) за изчерпателен преглед.
-
-#### Препоръчани редактори за уеб разработка
-
-**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (Безплатен)
-- Най-популярен сред уеб разработчиците
-- Отлична екосистема от разширения
-- Вграден терминал и интеграция с Git
-- **Задължителни разширения**:
- - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - AI-подсилени подсказки за код
- - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - Съвместна работа в реално време
- - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - Автоматично форматиране на код
- - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - Хваща правописни грешки в кода
-
-**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (Платен, безплатен за студенти)
-- Напреднали инструменти за отстраняване на грешки и тестване
-- Интелигентно допълване на кода
-- Вграден контрол на версиите
-
-**Облачни IDE-та** (Различна ценова политика)
-- [GitHub Codespaces](https://github.com/features/codespaces) - Пълен VS Code в браузъра ви
-- [Replit](https://replit.com/) - Отличен за учене и споделяне на код
-- [StackBlitz](https://stackblitz.com/) - Мигновено, пълноценна уеб разработка
-
-> 💡 **Съвет за начало**: Започнете с Visual Studio Code – безплатен е, широко използван в индустрията и има огромна общност, създаваща полезни уроци и разширения.
+| **Оцветяване на синтаксиса** | Оцветява различни части на кода | Прави кода по-лесен за четене и намиране на грешки |
+| **Автоматично допълване** | Предлага код, докато пишете | Ускорява писането на код и намалява грешки |
+| **Инструменти за отстраняване на грешки** | Помага да намерите и коригирате грешки | Спестява часове в търсене на проблеми |
+| **Разширения** | Добавят специализирани функции | Персонализира редактора за всяка технология |
+| **Асистенти с ИИ** | Предлагат код и обяснения | Ускорява ученето и производителността |
+
+> 🎥 **Видео ресурс**: Искате ли да видите тези инструменти в действие? Вижте това [Видео „Инструментите на занаята“](https://youtube.com/watch?v=69WJeXGBdxg) за цялостен преглед.
+
+#### Препоръчителни редактори за уеб разработка
+
+**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (Безплатен)
+- Най-популярен сред уеб разработчиците
+- Отлична екосистема от разширения
+- Вграден терминал и интеграция с Git
+- **Задължителни разширения**:
+ - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - AI базирани предложения за код
+ - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - Сътрудничество в реално време
+ - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - Автоматично форматиране на кода
+ - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - Засича правописни грешки в кода
+
+**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (Платен, безплатен за студенти)
+- Разширени инструменти за отстраняване на грешки и тестване
+- Интелигентно допълване на кода
+- Вградена система за контрол на версиите
+
+**Облачни IDE** (Различни цени)
+- [GitHub Codespaces](https://github.com/features/codespaces) - Пълен VS Code във вашия браузър
+- [Replit](https://replit.com/) - Отличен за учене и споделяне на код
+- [StackBlitz](https://stackblitz.com/) - Моментално, пълностекова уеб разработка
+
+> 💡 **Съвет за започване**: Започнете с Visual Studio Code – безплатен е, широко използван в индустрията и има огромна общност, която създава полезни уроци и разширения.
+
### Уеб браузъри: Вашата тайна лаборатория за разработка
-Добре, пригответе се умът ви да бъде напълно изумен! Знаете как сте използвали браузърите, за да превъртате социалните медии и да гледате видеа? Оказва се, че те са крили тази невероятна тайна лаборатория за разработчици през цялото време, само чакайки да я откриете!
+Добре, пригответе се за пълно умуващо изживяване! Знаете как използвате браузърите, за да разглеждате социални мрежи и гледате видеа? Оказва се, че те са крили цяло невероятно тайно лабораторно пространство за разработчици през цялото това време, просто чакайки да го откриете!
-Всеки път, когато щракнете с десен бутон върху уеб страница и изберете „Inspect Element“ (Инспектиране на елемент), отваряте скрит свят на инструменти за разработчици, които са истински по-мощни от някои скъпи софтуери, за които някога съм плащал стотици долари. Това е като да откриете, че обикновената ви кухня крие професионална готварска лаборатория зад тайна врата!
-Първия път, когато някой ми показа DevTools на браузъра, прекарах около три часа просто кликайки наоколо и казвайки си "ЧАКАЙ, ТО МОЖЕ И ТОВА ТАКА?!". Можеш буквално да редактираш всеки уебсайт в реално време, да видиш колко бързо всичко се зарежда, да тестваш как изглежда сайта ти на различни устройства и дори да дебъгваш JavaScript като пълен професионалист. Абсолютно удивително е!
+Всеки път, когато кликнете с десния бутон върху уебстраница и изберете „Inspect Element“ (Инспектиране на елемент), отваряте скрит свят на инструменти за разработчици, които всъщност са по-мощни от някои скъпи софтуери, за които преди съм плащал стотици долари. Това е като да откриете, че вашата обикновена кухня крие професионална готварска лаборатория зад секретен панел!
+Първия път, когато някой ми показа браузър DevTools, прекарах около три часа просто кликайки насам-натам и казвах „ЧАКАЙ, ТОЙ МОЖЕ И ТОВА?!“ Можеш буквално да редактираш всеки уебсайт в реално време, да видиш точно колко бързо се зарежда всичко, да тестваш как изглежда твоя сайт на различни устройства и дори да дебъгваш JavaScript като истински професионалист. Абсолютно поразително е!
**Ето защо браузърите са твоето тайно оръжие:**
-Когато създаваш уебсайт или уеб приложение, трябва да видиш как изглежда и се държи в реалния свят. Браузърите не само показват твоята работа, но и предоставят детайлна обратна връзка за производителността, достъпността и потенциални проблеми.
+Когато създаваш уебсайт или уеб приложение, трябва да видиш как изглежда и как се държи в реалния свят. Браузърите не само показват твоята работа, но и предоставят подробна обратна връзка за производителността, достъпността и потенциалните проблеми.
-#### Инструменти за разработчици в браузъра (DevTools)
+#### Инструменти за разработчици в браузъри (DevTools)
-Модерните браузъри включват пълни комплекти за разработка:
+Съвременните браузъри включват всеобхватни комплекти за разработка:
-| Категория на инструмента | Какво прави | Примерна употреба |
-|--------------------------|-------------|-------------------|
-| **Инспектор на елементи** | Преглед и редакция на HTML/CSS в реално време | Регулиране на стила за мигновени резултати |
-| **Конзола** | Преглед на съобщения за грешки и тест на JavaScript | Дебъгване на проблеми и експериментиране с код |
-| **Монитор на мрежата** | Следене на зареждането на ресурси | Оптимизиране на производителността и времето за зареждане |
-| **Проверка на достъпността** | Тестване за приобщаващ дизайн | Осигуряване, че сайтът работи за всички потребители |
-| **Симулатор на устройства** | Преглед на различни размери на екрана | Тест на адаптивен дизайн без нужда от няколко устройства |
+| Категория инструмент | Какво прави | Примерна употреба |
+|---------------------|-------------|-------------------|
+| **Преглед на елементи** | Преглежда и редактира HTML/CSS в реално време | Настройване на стила с моментален резултат |
+| **Конзола** | Показва съобщения за грешки и тестове на JavaScript | Дебъгване на проблеми и експериментиране с код |
+| **Мрежови инструменти** | Следи как се зареждат ресурсите | Оптимизиране на производителност и време за зареждане |
+| **Проверка за достъпност** | Тества за приобщаващ дизайн | Осигурява, че сайтът работи за всички потребители |
+| **Емулятор на устройства** | Преглед на различни размери на екрана | Тества отзивчив дизайн без множество устройства |
#### Препоръчани браузъри за разработка
-- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - Стандарт в индустрията с изчерпателна документация
-- **[Firefox](https://developer.mozilla.org/docs/Tools)** - Отлични инструменти за CSS Grid и достъпност
-- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - Изграден върху Chromium с ресурси от Microsoft за разработчици
-
-> ⚠️ **Важно съвет за тестване**: Винаги тествай уебсайтовете си в няколко браузъра! Това, което работи перфектно в Chrome, може да изглежда различно в Safari или Firefox. Професионалните разработчици тестват в основните браузъри, за да осигурят постоянен потребителски опит.
+- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - Индустриален стандарт за DevTools с обширна документация
+- **[Firefox](https://developer.mozilla.org/docs/Tools)** - Отлични инструменти за CSS Grid и достъпност
+- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - Изграден на Chromium с ресурси на Microsoft за разработчици
+> ⚠️ **Важно за тестване**: Винаги тествай уебсайтовете си в няколко браузъра! Това, което работи перфектно в Chrome, може да изглежда различно в Safari или Firefox. Професионалните разработчици тестват в големите браузъри, за да осигурят последователно преживяване на потребителите.
-### Инструменти на командния ред: Твоят портал към суперсили за разработчици
+### Инструменти от командния ред: Вход към суперсилите на разработчика
-Добре, нека бъдем напълно честни за командния ред, защото искам да чуеш това от човек, който наистина го разбира. Когато го видях за първи път – просто този страшен черен екран с мигащ текст – буквално си помислих: "Не, абсолютно не! Това изглежда като нещо от хакерски филм от 80-те и аз определено не съм достатъчно умен за това!" 😅
+Добре, нека бъдем напълно честни тук за командния ред, защото искам да чуеш това от някой, който наистина го разбира. Когато го видях за първи път – този страшен черен екран с мигащ текст – буквално си помислих: „Не, в никакъв случай! Това изглежда като сцена от хакерски филм от 80-те, и със сигурност не съм достатъчно умен за това!“ 😅
-Но ето какво бих искал някой да ми е казал тогава, и което ти казвам сега: командният ред не е страшен – той е като директен разговор с компютъра ти. Представи си го като разликата между поръчване на храна чрез лъскаво приложение със снимки и менюта (което е лесно и удобно) и влизане в любимия ти местен ресторант, където готвачът знае точно какво обичаш и може да ти приготви нещо перфектно само като кажеш "изненадай ме с нещо невероятно."
+Но ето какво искам някой да ми беше казал тогава, и което ти казвам сега: командният ред не е страшен – той всъщност е като директен разговор с компютъра ти. Мисли за него като за разликата между поръчването на храна през стилно приложение с картинки и меню (което е лесно и приятно) и влизането в любимия ти местен ресторант, където готвачът знае точно какво обичаш и може да ти сътвори нещо перфектно само с думите „изненадай ме с нещо невероятно“.
-Командният ред е мястото, където разработчиците се чувстват като истински магьосници. Въвеждаш няколко на пръв поглед магически думи (добре, просто команди, но звучат магически!), натискаш enter и БАМ – създал си цели проектни структури, инсталирал си мощни инструменти от цял свят или публикувал приложението си в интернет, за да го видят милиони хора. След първия вкус на тази сила, честно казано, става доста пристрастяващо!
+Командният ред е мястото, където разработчиците се чувстват като абсолютни магьосници. Въвеждаш няколко на пръв поглед магически думи (окей, команди са, но наистина звучат магически!), натискаш enter и БАМ – създаваш цели проекти, инсталираш мощни инструменти от цял свят или пускаш приложението си в интернет, за да го видят милиони. След като усетиш тази сила за първи път, наистина е доста пристрастяващо!
**Защо командният ред ще стане любимият ти инструмент:**
-Докато графичните интерфейси са страхотни за много задачи, командният ред превъзхожда в автоматизацията, прецизността и бързината. Много инструменти за разработка работят основно чрез команден ред и да се научиш да ги използваш ефективно може драстично да подобри продуктивността ти.
+Докато графичните интерфейси са чудесни за много задачи, командният ред изпреварва при автоматизация, прецизност и скорост. Много инструменти за разработка са основно на базата на команден интерфейс, а усвояването им ще повиши значително продуктивността ти.
```bash
-# Стъпка 1: Създайте и отидете в директорията на проекта
+# Стъпка 1: Създайте и навигирайте до директорията на проекта
mkdir my-awesome-website
cd my-awesome-website
```
-
-**Ето какво прави този код:**
-- **Създава** нова директория с името "my-awesome-website" за проекта ти
-- **Влиза** в новосъздадената директория, за да започне работа
+
+**Ето какво прави този код:**
+- **Създава** нова папка с името "my-awesome-website" за твоя проект
+- **Влиза** в новосъздадената папка, за да започне работа
```bash
# Стъпка 2: Инициализирайте проекта с package.json
npm init -y
-# Инсталирайте съвременни инструменти за разработка
+# Инсталирайте модерни инструменти за разработка
npm install --save-dev vite prettier eslint
npm install --save-dev @eslint/js
```
-
-**Стъпка по стъпка, ето какво се случва:**
-- **Инициализира** нов Node.js проект с настройки по подразбиране чрез `npm init -y`
-- **Инсталира** Vite като модерен инструмент за бърза разработка и продукционни сборки
-- **Добавя** Prettier за автоматично форматиране на кода и ESLint за проверки на качеството на кода
-- **Използва** флага `--save-dev`, за да маркира тези зависимости като само за разработка
+
+**Стъпка по стъпка, ето какво става:**
+- **Инициализира** нов проект Node.js с настройки по подразбиране чрез `npm init -y`
+- **Инсталира** Vite като модерен билд инструмент за бърза разработка и продукционни сборки
+- **Добавя** Prettier за автоматично форматиране на кода и ESLint за проверка на качеството му
+- **Използва** флага `--save-dev`, за да маркира тези зависимости като само за разработка
```bash
-# Стъпка 3: Създаване на структура на проекта и файлове
+# Стъпка 3: Създаване на структурата на проекта и файловете
mkdir src assets
echo 'My Site
Hello World
' > index.html
-# Стартиране на сървър за разработка
+# Стартиране на сървъра за разработка
npx vite
```
+
+**По-горе ние:**
+- **Организирахме** проекта като създадохме отделни папки за изходния код и ресурсите
+- **Генерирахме** базов HTML файл с правилната документна структура
+- **Стартирахме** dev сървъра на Vite за живо презареждане и подмяна на модули "на горещо"
-**В горното ние:**
-- **Организирахме** проекта чрез създаване на отделни папки за сорс кода и активите
-- **Генерирахме** основен HTML файл с правилна структура на документа
-- **Стартирахме** Vite сървър за разработка с опция за live reloading и hot module replacement
-
-#### Основни инструменти на командния ред за уеб разработка
+#### Основни инструменти от командния ред за уеб разработка
| Инструмент | Цел | Защо ти трябва |
|------------|-----|----------------|
-| **[Git](https://git-scm.com/)** | Контрол на версиите | Следи промените, сътрудничество с други, резервно копие на работата |
-| **[Node.js & npm](https://nodejs.org/)** | JavaScript изпълнителна среда и управление на пакети | Стартирай JavaScript извън браузъра, инсталирай модерни инструменти за разработка |
-| **[Vite](https://vitejs.dev/)** | Инструмент за сборка и dev сървър | Светкавично бърза разработка с hot module replacement |
-| **[ESLint](https://eslint.org/)** | Качество на кода | Автоматично намиране и поправяне на проблеми в JavaScript кода |
-| **[Prettier](https://prettier.io/)** | Форматиране на кода | Поддържай кода си последователно форматиран и четим |
+| **[Git](https://git-scm.com/)** | Контрол на версиите | Следене на промени, сътрудничество, архивиране на работата |
+| **[Node.js & npm](https://nodejs.org/)** | JavaScript среда & пакетен мениджър | Стартиране на JS извън браузъра, инсталация на модерни инструменти |
+| **[Vite](https://vitejs.dev/)** | Билд инструмент & dev сървър | Молниеносна разработка с гореща подмяна на модули |
+| **[ESLint](https://eslint.org/)** | Качество на кода | Автоматично откриване и коригиране на проблеми с JS кода |
+| **[Prettier](https://prettier.io/)** | Форматиране на код | Поддържане на консистентен и четим код |
-#### Платформено-зависими опции
+#### Платформено специфични опции
-**Windows:**
-- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - Модерен терминал с богати функции
-- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - Мощна среда за скриптове
-- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - Традиционен Windows команден ред
+**Windows:**
+- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - Модерен, с много функции терминал
+- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - Мощна среда за скриптове
+- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - Традиционен Windows команден ред
-**macOS:**
-- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 - Вградено терминално приложение
-- **[iTerm2](https://iterm2.com/)** - Подобрен терминал с допълнителни функции
+**macOS:**
+- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 - Вградена терминална програма
+- **[iTerm2](https://iterm2.com/)** - Разширен терминал с допълнителни функции
-**Linux:**
-- **[Bash](https://www.gnu.org/software/bash/)** 💻 - Стандартна Linux обвивка
-- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - Модерен емулатор на терминал
+**Linux:**
+- **[Bash](https://www.gnu.org/software/bash/)** 💻 - Стандартна Linux обвивка
+- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - Разширен емулатор на терминал
-> 💻 = Предварително инсталиран в операционната система
+> 💻 = Предварително инсталирани на операционната система
-> 🎯 **Път за учене**: Започни с основни команди като `cd` (смяна на директория), `ls` или `dir` (преглед на файлове) и `mkdir` (създаване на папка). Практикувай с модерни команди от работния процес като `npm install`, `git status` и `code .` (отваря текущата папка във VS Code). С времето естествено ще усвоиш по-сложни команди и техники за автоматизация.
+> 🎯 **Път на обучение**: Започни с основни команди като `cd` (смяна на директория), `ls` или `dir` (списък с файлове) и `mkdir` (създаване на папка). Практикувай с командите за съвременен работен процес като `npm install`, `git status` и `code .` (отваря текущата директория във VS Code). С времето ще усвояваш по-сложни команди и автоматизации.
+### Документация: Твоят винаги достъпен ментор за учене
-### Документация: Твоят винаги на разположение ментор за учене
+Добре, нека ти споделя една малка тайна, която ще те накара да се чувстваш много по-комфортно, че си начинаещ: дори най-опитните разработчици прекарват огромна част от времето си в четене на документация. И причината не е, че не знаят какво правят – всъщност това е признак за мъдрост!
-Добре, нека ти споделя една малка тайна, която ще те накара да се чувстваш много по-добре като начинаещ: дори най-опитните разработчици прекарват голяма част от времето си в четене на документация. И не е защото не знаят какво правят – всъщност това е признак на мъдрост!
+Мисли за документацията като за най-търпеливите и знаещи учители на света, които са на разположение 24/7. Заплеснал си се в проблем в 2 сутринта? Документацията е там с топла виртуална прегръдка и точно отговора, който ти трябва. Искаш да научиш за някоя нова интересна функция, за която всички говорят? Документацията ще ти я покаже с примери стъпка по стъпка. Опитваш се да разбереш защо нещо работи така, както работи? Позна – документацията е там, за да ти обясни, докато най-накрая не проумееш!
-Помисли за документацията като достъп до най-търпеливите и най-знаещи учители по света, на които можеш да разчиташ по всяко време, ден и нощ. Заклещен си в проблем в 2 през нощта? Документацията е там с топла виртуална прегръдка и точно отговора, от който имаш нужда. Искаш да научиш за някоя нова функция, за която всички говорят? Документацията те подкрепя с подробни примери стъпка по стъпка. Опитваш се да разбереш защо нещо работи по определен начин? Позна – документацията е готова да го обясни така, че най-накрая да ти щракне!
+Ето нещо, което напълно промени гледната ми точка: светът на уеб разработката се движи невероятно бързо и никой (мисля че наистина никой!) не помни всичко наизуст. Виждал съм старши разработчици с над 15 години опит да търсят основен синтаксис, и знаеш ли какво? Това не е срамно – това е умно! Не е въпрос на съвършена памет, а на това да знаеш къде бързо да намериш надеждни отговори и как да ги приложиш.
-Ето нещо, което напълно промени гледната ми точка: светът на уеб разработката се развива изключително бързо и никой (абсолютно никой!) не помни всичко. Гледал съм старши разработчици с над 15 години опит да търсят основен синтаксис и знаеш ли какво? Това не е срамно – това е умно! Не става дума за перфектна памет, а за това да знаеш къде да намериш надеждни отговори бързо и как да ги прилагаш.
+**Ето къде се случва истинската магия:**
-**Ето къде става истинската магия:**
+Професионалните разработчици прекарват значителна част от времето си в четене на документация – не защото не знаят какво правят, а защото уеб разработката се променя толкова бързо, че постоянното учене е необходимо. Добрата документация ти помага да разбереш не само *как* да използваш нещо, но и *защо* и *кога* да го използваш.
-Професионалните разработчици прекарват значителна част от времето си в четене на документация – не защото не знаят какво правят, а защото уеб разработката се развива толкова бързо, че да си в крак изисква постоянно учене. Добрата документация ти помага да разбереш не само *как* да използваш нещо, но и *защо* и *кога* да го използваш.
+#### Основни ресурси за документация
-#### Основни източници на документация
+**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)**
+- Златният стандарт за документация на уеб технологии
+- Изчерпателни ръководства за HTML, CSS и JavaScript
+- Включва информация за съвместимост с браузъри
+- Предлага практични примери и интерактивни демонстрации
-**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)**
-- Златният стандарт за документиране на уеб технологии
-- Изчерпателни ръководства за HTML, CSS и JavaScript
-- Съдържа информация за съвместимост с браузъри
-- Включва практични примери и интерактивни демонстрации
+**[Web.dev](https://web.dev)** (на Google)
+- Модерни практики за уеб разработка
+- Ръководства за оптимизация на производителността
+- Принципи на достъпност и приобщаващ дизайн
+- Казуси от реални проекти
-**[Web.dev](https://web.dev)** (от Google)
-- Най-добри практики за съвременна уеб разработка
-- Ръководства за оптимизация на производителността
-- Принципи за достъпност и приобщаващ дизайн
-- Казуси от реални проекти
+**[Microsoft Developer Documentation](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)**
+- Ресурси за разработка на браузър Edge
+- Ръководства за прогресивни уеб приложения
+- Информация за кросплатформена разработка
-**[Microsoft Developer Documentation](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)**
-- Ресурси за разработка на Edge браузър
-- Ръководства за Progressive Web Apps
-- Инсайти за кросплатформена разработка
+**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)**
+- Структурирани учебни курсове
+- Видеокурсове от експерти в индустрията
+- Практически упражнения с код
-**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)**
-- Структурирани учебни курикулуми
-- Видеокурсове от експерти в индустрията
-- Практически упражнения по програмиране
+> 📚 **Учебна стратегия**: Не се опитвай да запаметяваш документацията – вместо това научи се как да я навигираш ефективно. Запазвай често използвани ресурси в отметки и упражнявай търсене, за да намираш конкретна информация бързо.
-> 📚 **Стратегия за учене**: Не се опитвай да запаметяваш документацията – вместо това се научи да я навигираш ефективно. Добавяй в отметки често използвани справки и практикувай използването на търсачката, за да намираш специфична информация бързо.
+### 🔧 **Проверка на овладяване на инструментите: Какво ти харесва най-много?**
-### 🔧 **Проверка на умения: Кое ти допада най-много?**
-
-**Отдели момент да помислиш:**
-- Кой инструмент се вълнуваш най-много да изпробваш първо? (Няма грешен отговор!)
-- Все още ли ти се струва страшен командният ред, или вече си любопитен?
-- Можеш ли да си представиш да използваш браузърните DevTools, за да надникнеш зад кулисите на любимите сайтове?
+**Отдели момент да помислиш:**
+- Кой инструмент най-много искаш да пробваш първи? (Няма грешен отговор!)
+- Още ли командният ред те плаши, или си любопитен към него?
+- Можеш ли да си представиш да използваш browser DevTools, за да надникнеш зад завесата на любимите си сайтове?
```mermaid
-pie title "Време прекарано от разработчика с инструменти"
+pie title "Време на програмиста, прекарано с инструменти"
"Редактор на код" : 40
"Тестване в браузър" : 25
"Команден ред" : 15
"Четене на документация" : 15
"Отстраняване на грешки" : 5
-```
-> **Забавен факт**: Повечето разработчици прекарват около 40% от времето в редактора на кода, но забележи колко време отделят за тестване, учене и решаване на проблеми. Програмирането не е само писане на код – то е създаване на преживявания!
+```
+> **Забавен факт**: Повечето разработчици прекарват около 40% от времето си в кода си, но забележи колко време отива за тестване, учене и решаване на проблеми. Програмирането не е само писане на код – това е създаване на преживявания!
-✅ **Храна за размисъл**: Ето нещо интересно за обмисляне – мислиш ли, че инструментите за създаване на уебсайтове (разработка) могат да се различават от инструментите за дизайна им (визуален дизайн)? Това е като разликата между архитект, който проектира красива къща, и изпълнител, който я строи. И двете са важни, но имат различни инструменти! Такъв тип мислене ще ти помогне да видиш по-голямата картина за това как уебсайтовете оживяват.
+✅ **Храна за размисъл**: Ето нещо интересно за размисъл – как мислиш, че инструментите за създаване на уебсайтове (разработка) се различават от тези за проектиране на тяхната визия (дизайн)? Това е като разликата между архитект, който проектира красива къща, и предприемач, който я построява. И двамата са важни, но имат различни инструменти! Този подход ще ти помогне да видиш по-широката картина как уебсайтовете оживяват.
-## GitHub Copilot Agent Challenge 🚀
+## Предизвикателство на GitHub Copilot Agent 🚀
-Използвай Agent режима за да изпълниш следната задача:
+Използвай Agent режима, за да изпълниш следното предизвикателство:
-**Описание:** Изследвай функциите на модерен редактор на код или IDE и демонстрирай как той може да подобри работния ти процес като уеб разработчик.
+**Описание:** Изследвай функциите на модерен кодов редактор или IDE и демонстрирай как може да подобри работния ти процес като уеб разработчик.
-**Подсказка:** Избери редактор на код или IDE (като Visual Studio Code, WebStorm или облачен IDE). Изброи три функции или разширения, които ти помагат да пишеш, дебъгваш или поддържаш кода по-ефективно. За всяка дай кратко обяснение как подобрява работния ти поток.
+**Подканяне:** Избери кодов редактор или IDE (като Visual Studio Code, WebStorm или облачно IDE). Изброи три функции или разширения, които ти помагат да пишеш, дебъгваш или поддържаш кода по-ефективно. За всяка дай кратко обяснение как тя подобрява работния ти процес.
---
@@ -733,50 +733,50 @@ pie title "Време прекарано от разработчика с инс
**Добре, детективе, готов ли си за първото си дело?**
-Сега, когато имаш тази страхотна основа, имам приключение, което ще ти помогне да видиш колко невероятно разнообразен и завладяващ е светът на програмирането. И слушай – това не е за писане на код още, така че няма напрежение! Помисли си за себе си като детектив на програмни езици в първото си вълнуващо разследване!
+Сега, когато си изградил страхотна основа, имам за теб приключение, което ще ти помогне да видиш колко изключително разнообразен и вълнуващ е светът на програмирането. И слушай – това не е все още писане на код, така че без напрежение! Представи се като детектив на програмни езици на първото си вълнуващо разследване!
-**Твоята мисия, ако решиш да я приемеш:**
-1. **Стани изследовател на езици**: Избери три програмни езика от напълно различни светове – може би един, който създава уебсайтове, един за мобилни приложения и един за обработка на данни за учени. Намери примери за една и съща проста задача, написана на всеки език. Обещавам ти, че ще се удивиш колко различно могат да изглеждат те, правейки точно същото нещо!
+**Твоята мисия, ако решиш да я приемеш:**
+1. **Станете изследовател на езици**: Избери три програмни езика от съвсем различни светове – например един за уебсайтове, един за мобилни приложения и един за обработка на данни за учени. Намери примери за една и съща проста задача, написани на всеки език. Обещавам, че ще се удивиш колко различни могат да изглеждат, докато вършат същото нещо!
-2. **Разкрий техните истории на произход**: Какво прави всеки език специален? Ето един интересен факт – всеки един програмен език е създаден, защото някой си е казал „Знаеш ли какво? Трябва да има по-добър начин да се реши точно този проблем.“ Можеш ли да разбираш кои са били тези проблеми? Някои от тези истории са наистина възхитителни!
+2. **Открийте техните истории на произход**: Какво прави всеки език специален? Тук има един готин факт – всеки един програмен език е създаден, защото някой си е помислил: „Знаеш ли, трябва да има по-добър начин да се реши този конкретен проблем.“ Можеш ли да разбереш кои са били тези проблеми? Някои от историите са наистина интересни!
-3. **Срещни общностите**: Разгледай колко гостоприемни и страстни са общностите около всеки език. Някои имат милиони разработчици, които споделят знания и си помагат, други са по-малки, но невероятно сплотени и подкрепящи. Ще ти хареса да видиш различните личности, които имат тези общности!
+3. **Запознай се с общностите**: Провери колко гостоприемни и страстни са общностите около всеки език. Някои имат милиони разработчици, които споделят знания и си помагат, други са по-малки, но изключително сплотени и подкрепящи. Ще ти хареса да видиш различните характери на тези общности!
-4. **Следвай инстинкта си**: Кой език ти се струва най-достъпен сега? Не се притеснявай за „перфектния“ избор – просто слушай интуицията си! Наистина няма грешен отговор и винаги можеш да изследваш други по-късно.
+4. **Следвай инстинкта си**: Кой език ти се струва най-достъпен в момента? Не се притеснявай да направиш "перфектния" избор – просто слушай интуицията си! Наистина няма грешен отговор и винаги можеш да разгледаш и други по-късно.
-**Бонус детективска работа**: Опитай се да откриеш кои големи уебсайтове или приложения са изградени с всеки от езиците. Гарантирам, че ще си шокиран да научиш какво захранва Instagram, Netflix или онази мобилна игра, която не можеш да спреш да играеш!
+**Бонус детективска задача**: Опитай се да откриеш какви големи уебсайтове или приложения са изградени с всеки език. Гарантирам, че ще се учудиш да научиш с какво е направен Instagram, Netflix или онзи мобилен играч, от която не можеш да се откъснеш!
-> 💡 **Помни**: Не опитваш да станеш експерт в тези езици днес. Просто опознаваш квартала, преди да решиш къде искаш да се заселиш. Отдели си време, забавлявай се и нека любопитството ти бъде водач!
+> 💡 **Помни**: Не се опитваш да станеш експерт в нито един от тези езици днес. Просто се запознаваш с квартала, преди да решиш къде искаш да се установиш. Не бързай, забавлявай се и остави любопитството си да те води!
-## Нека отпразнуваме какво откри!
+## Нека отпразнуваме това, което откри!
-Боже, погълнал си толкова много невероятна информация днес! Истински се вълнувам да видя колко от това страхотно пътешествие ти е останало в главата. И помни – това не е тест, в който трябва да си перфектен. Това е по-скоро празнуване на всичко интересно, което си научил за този завладяващ свят, в който си на път да се потопиш!
+О, Боже, толкова много невероятна информация усвои днес! Наистина съм развълнуван да видя колко от това страхотно пътешествие е останало в теб. И помни – това не е тест, където трябва всичко да е перфектно. Това е по-скоро празник на всичко готино, което научи за този вълнуващ свят, в който се готвиш да влезеш!
-[Вземи теста след урока](https://ff-quizzes.netlify.app/web/)
-## Преглед и Самообучение
+[Направи тест след урока](https://ff-quizzes.netlify.app/web/)
-**Отделете си време да изследвате и да се забавлявате с това!**
+## Преглед и самостоятелно учене
-Днес преминахте през много нови неща и това е нещо, с което да се гордеете! Сега идва забавната част – да изследвате темите, които разпалиха вашето любопитство. Запомнете, това не е домашно – това е приключение!
+**Отдели време да разгледаш и се забавлявай!**
+Вече обхванахте много неща днес и това е нещо, с което можете да се гордеете! Сега идва забавната част – да изследвате темите, които събудиха любопитството ви. Помнете, че това не е домашна работа – това е приключение!
-**Задълбайте се в нещата, които ви вълнуват:**
+**Потопете се по-дълбоко в това, което ви вълнува:**
-**Практикувайте с програмни езици:**
-- Посетете официалните сайтове на 2-3 езика, които са привлечели вниманието ви. Всеки има своя личност и история!
-- Опитайте някои онлайн програмиращи площадки като [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), или [Replit](https://replit.com/). Не се страхувайте да експериментирате – няма да счупите нищо!
-- Прочетете за това как е възникнал любимият ви език. Сериозно, някои от тези истории за произхода са завладяващи и ще ви помогнат да разберете защо езиците работят така, както работят.
+**Запознайте се на практика с програмните езици:**
+- Посетете официалните уебсайтове на 2-3 езика, които са привлекли вниманието ви. Всеки от тях има своя собствена личност и история!
+- Изпробвайте онлайн “детски площадки” за кодиране като [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), или [Replit](https://replit.com/). Не се страхувайте да експериментирате – няма как да счупите нищо!
+- Прочетете за това как любимият ви език е възникнал. Сериозно, някои от тези истории за произхода са завладяващи и ще ви помогнат да разберете защо езиците работят така, както работят.
**Запознайте се с новите си инструменти:**
-- Свалете Visual Studio Code, ако още не сте го направили – безплатен е и ще ви хареса!
-- Отделете няколко минути, за да разгледате Marketplace за разширения. Това е като магазин за приложения за вашия кодов редактор!
-- Отворете Developer Tools на браузъра си и просто кликнете из тях. Не се притеснявайте да разберете всичко веднага – просто свиквайте с наличното.
+- Изтеглете Visual Studio Code, ако още не сте го направили – той е безплатен и ще ви хареса!
+- Прекарайте няколко минути, разглеждайки Extensions marketplace. Това е като магазин за приложения за вашия редактор на код!
+- Отворете Developer Tools на браузъра си и просто кликнете наоколо. Не се притеснявайте, ако не разбирате всичко – просто се запознайте с това, което има там.
**Присъединете се към общността:**
-- Последвайте някои технически общности в [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), или [GitHub](https://github.com/). Програмистката общност е изключително приветлива към новодошлите!
-- Гледайте видео уроци за начинаещи в YouTube. Има толкова много страхотни създатели на съдържание, които помнят какво е да започнеш.
-- Помислете за участие в местни срещи или онлайн групи. Повярвайте ми, програмистите обичат да помагат на новаците!
+- Последвайте някои developer общности в [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), или [GitHub](https://github.com/). Програмистката общност е изключително гостоприемна към новодошлите!
+- Гледайте някои видеа за начинаещи по програмиране в YouTube. Има толкова много страхотни създатели, които помнят какво е да започваш.
+- Помислете да се присъедините към местни срещи или онлайн общности. Повярвайте ми, разработчиците обичат да помагат на новите!
-> 🎯 **Слушайте, ето какво искам да запомните**: Не се очаква да станете програмен магьосник за една нощ! В момента просто се запознавате с тази удивителна нова вселена, към която ще принадлежите. Отделете си време, насладете се на пътешествието и запомнете – всеки един програмист, когото уважавате, някога е седял точно там, където сте вие сега, чувствайки се развълнуван и може би малко претоварен. Това е съвсем нормално и означава, че вървите в правилната посока!
+> 🎯 **Слушайте, ето какво искам да запомните**: Не се очаква да станете програмен магьосник за една нощ! В момента вие просто опознавате този удивителен нов свят, част от който предстои да станете. Отделете си време, наслаждавайте се на пътешествието и помнете – всеки един разработчик, когото уважавате, е бил някога на точно това място, където сте вие сега, усещайки вълнение и може би малко объркване. Това е напълно нормално и означава, че вървите по правилния път!
@@ -784,70 +784,70 @@ pie title "Време прекарано от разработчика с инс
[Reading the Docs](assignment.md)
-> 💡 **Малък тласък за задачата:** Много бих искал да видя как изследвате някои инструменти, които още не сме разглеждали! Прескочете редакторите, браузърите и командните инструменти, за които вече говорихме – има цяла невероятна вселена от страхотни инструменти за разработка, която само чака да бъде открита. Потърсете такива, които са активно поддържани и имат оживени, подкрепящи общности (те обикновено имат най-добрите уроци и най-подкрепящите хора, когато някога се затрудните и имате нужда от приятелска помощ).
+> 💡 **Малко подбутване за вашата задача**: Наистина бих искал да ви видя да изследвате някои инструменти, които още не сме покривали! Прескочете редакторите, браузърите и командните инструменти, за които вече говорихме – има цяла невероятна вселена от удивителни инструменти за разработка, които чакат да бъдат открити. Търсете такива, които се поддържат активно и имат живи, полезни общности (те обикновено имат най-добрите уроци и най-подкрепящите хора, когато в крайна сметка се закъсате и имате нужда от приятелска помощ).
---
-## 🚀 Вашата Програмираща Пътеводителна Линия
+## 🚀 Вашата времева линия за програмиране
-### ⚡ **Какво можете да направите следващите 5 минути**
-- [ ] Запазете като отметки 2-3 уебсайта на програмни езици, които са ви направили впечатление
-- [ ] Изтеглете Visual Studio Code, ако все още не сте го направили
-- [ ] Отворете Developer Tools на браузъра си (F12) и кликнете из който и да е сайт
-- [ ] Присъединете се към някоя програмираща общност (Dev.to, Reddit r/webdev, или Stack Overflow)
+### ⚡ **Какво можете да направите в следващите 5 минути**
+- [ ] Запазете в отметки 2-3 уебсайта на програмни езици, които са привлекли вниманието ви
+- [ ] Изтеглете Visual Studio Code, ако още не сте го направили
+- [ ] Отворете DevTools на браузъра си (F12) и кликнете наоколо в някой уебсайт
+- [ ] Присъединете се към една програмна общност (Dev.to, Reddit r/webdev или Stack Overflow)
-### ⏰ **Какво можете да постигнете през този час**
-- [ ] Попълнете теста след урока и обмислете отговорите си
+### ⏰ **Какво можете да постигнете този час**
+- [ ] Попълнете викторината след урока и помислете върху отговорите си
- [ ] Настройте VS Code с разширението GitHub Copilot
-- [ ] Опитайте упражнение „Hello World“ на 2 различни програмни езика онлайн
-- [ ] Гледайте видео „Един ден в живота на програмиста“ в YouTube
+- [ ] Изпробвайте „Hello World“ пример в 2 различни програмни езика онлайн
+- [ ] Гледайте видео „Денят на един разработчик“ в YouTube
- [ ] Започнете детективската си работа с програмните езици (от предизвикателството)
-### 📅 **Вашето приключение за една седмица**
+### 📅 **Вашето приключение за седмицата**
- [ ] Завършете задачата и изследвайте 3 нови инструмента за разработка
-- [ ] Последвайте 5 програмисти или програмни акаунти в социалните мрежи
-- [ ] Опитайте да създадете нещо малко в CodePen или Replit (дори само „Hello, [Вашето име]!”)
-- [ ] Прочетете един блог пост на програмист за неговото програмиращо пътешествие
-- [ ] Присъединете се към виртуална среща или гледайте презентация по програмиране
+- [ ] Последвайте 5 разработчици или програмни акаунти в социалните мрежи
+- [ ] Опитайте да създадете нещо малко в CodePen или Replit (дори само „Hello, [Вашето име]!“)
+- [ ] Прочетете един блог пост на разработчик за неговото пътешествие в кодирането
+- [ ] Присъединете се към виртуална среща или гледайте програмен разговор
- [ ] Започнете да учите избрания език с онлайн уроци
### 🗓️ **Вашата месечна трансформация**
-- [ ] Създайте първия си малък проект (дори и проста уеб страница се брои!)
-- [ ] Допринасяйте за проект с отворен код (започнете с поправки на документация)
-- [ ] Наставлявайте някого, който тепърва започва с програмирането
-- [ ] Създайте своя уебсайт портфолио за разработчик
-- [ ] Свържете се с местни общности на разработчици или учебни групи
-- [ ] Започнете да планирате следващата си образователна цел
+- [ ] Създайте първия си малък проект (дори проста уеб страница се счита!)
+- [ ] Допринесете за проект с отворен код (започнете с поправки на документацията)
+- [ ] Станете ментор на някого, който току-що е започнал своето програмистко пътешествие
+- [ ] Създайте своя уебсайт-портфолио като разработчик
+- [ ] Свържете се с местни общности от разработчици или учебни групи
+- [ ] Започнете да планирате следващата си учебна цел
-### 🎯 **Финален рефлективен чек-ин**
+### 🎯 **Финално проверяване и размисъл**
-**Преди да продължите, отделете момент да отпразнувате:**
-- Кое е едно нещо в програмирането, което ви развълнува днес?
+**Преди да продължите, отделете момент за празнуване:**
+- Какво едно нещо в програмирането ви развълнува днес?
- Кой инструмент или концепция искате да изследвате първо?
-- Как се чувствате, започвайки това програмиращо пътешествие?
-- Кой е един въпрос, който бихте искали да зададете на разработчик точно сега?
+- Как се чувствате по отношение на започването на това програмистко пътешествие?
+- Какъв един въпрос бихте искали да зададете на разработчик точно сега?
```mermaid
journey
- title Вашето пътешествие към изграждане на увереност
+ title Вашето Пътуване за Изграждане на Самочувствие
section Днес
- Любопитен: 3: You
- Претоварен: 4: You
- Вълнуван: 5: You
- section Тази седмица
- Изследващ: 4: You
- Учещ: 5: You
- Свързващ се: 4: You
- section Следващия месец
- Изграждащ: 5: You
- Уверен: 5: You
- Помагащ на другите: 5: You
+ Curious: 3: You
+ Overwhelmed: 4: You
+ Excited: 5: You
+ section Тази Седмица
+ Exploring: 4: You
+ Learning: 5: You
+ Connecting: 4: You
+ section Следващия Месец
+ Building: 5: You
+ Confident: 5: You
+ Helping Others: 5: You
```
-> 🌟 **Запомнете**: Всеки експерт някога е бил начинаещ. Всеки старши разработчик някога се е чувствал точно както вие сега – развълнуван, може би малко претоварен и определено любопитен какво е възможно. Вие сте в удивителна компания и това пътешествие ще бъде невероятно. Добре дошли в прекрасния свят на програмирането! 🎉
+> 🌟 **Помнете**: Всеки експерт някога е бил начинаещ. Всеки старши разработчик някога се е чувствал точно както вие сега – развълнуван, може би леко объркан и със сигурност любопитен какво е възможно. Вие сте в страхотно общество и това пътешествие ще бъде невероятно. Добре дошли в прекрасния свят на програмирането! 🎉
---
-**Отказ от отговорност**:
-Този документ е преведен с използване на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален превод от човек. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.
+**Отказ от отговорност**:
+Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или погрешни тълкувания, произтичащи от използването на този превод.
\ No newline at end of file
diff --git a/translations/bg/AGENTS.md b/translations/bg/AGENTS.md
index 01ae6fd2a..4ad633987 100644
--- a/translations/bg/AGENTS.md
+++ b/translations/bg/AGENTS.md
@@ -2,29 +2,29 @@
## Преглед на проекта
-Това е образователно хранилище с учебна програма за преподаване на основите на уеб разработката за начинаещи. Учебната програма е всеобхватен 12-седмичен курс, разработен от Microsoft Cloud Advocates, включващ 24 практични урока, обхващащи JavaScript, CSS и HTML.
+Това е учебен репозиторий за преподаване на основите на уеб разработката за начинаещи. Учебният план е цялостен 12-седмичен курс, разработен от Microsoft Cloud Advocates, съдържащ 24 практически урока, покриващи JavaScript, CSS и HTML.
### Основни компоненти
-- **Образователно съдържание**: 24 структурирани урока, организирани в модули с проекти
+- **Образователно съдържание**: 24 структурирани урока, организирани в проекти-базирани модули
- **Практически проекти**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor и AI Chat Assistant
-- **Интерактивни викторини**: 48 викторини с по 3 въпроса всяка (оценки преди и след урока)
-- **Поддръжка на множество езици**: Автоматични преводи на над 50 езика чрез GitHub Actions
+- **Интерактивни куизове**: 48 куиза с по 3 въпроса всеки (оценка преди и след урока)
+- **Поддръжка на много езици**: Автоматични преводи за 50+ езика чрез GitHub Actions
- **Технологии**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (за AI проекти)
### Архитектура
-- Образователно хранилище със структура, базирана на уроци
-- Всяка папка с урок съдържа README, примерен код и решения
-- Самостоятелни проекти в отделни директории (quiz-app, различни проекти за уроци)
+- Образователен репозиторий с уроци, организирани по структура
+- Във всяка папка на урок има README, примери с код и решения
+- Самостоятелни проекти в отделни директории (quiz-app, различни проектни уроци)
- Система за превод чрез GitHub Actions (co-op-translator)
-- Документация, предоставяна чрез Docsify и достъпна като PDF
+- Документацията се обслужва чрез Docsify и е налична като PDF
## Команди за настройка
-Това хранилище е основно за консумация на образователно съдържание. За работа с конкретни проекти:
+Този репозиторий е основно за консумация на образователно съдържание. За работа с конкретни проекти:
-### Основна настройка на хранилището
+### Основна настройка на репозитория
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
@@ -36,12 +36,12 @@ cd Web-Dev-For-Beginners
```bash
cd quiz-app
npm install
-npm run dev # Стартиране на сървъра за разработка
-npm run build # Компилиране за продукция
+npm run dev # Стартиране на сървър за разработка
+npm run build # Създаване на билд за продукция
npm run lint # Стартиране на ESLint
```
-### Bank Project API (Node.js + Express)
+### API на Bank Project (Node.js + Express)
```bash
cd 7-bank-project/api
@@ -51,12 +51,12 @@ npm run lint # Стартиране на ESLint
npm run format # Форматиране с Prettier
```
-### Проекти за браузър разширения
+### Проекти за Browser Extension
```bash
cd 5-browser-extension/solution
npm install
-# Следвайте инструкциите за зареждане на разширения, специфични за браузъра
+# Следвайте специфичните за браузъра инструкции за зареждане на разширения
```
### Проекти за Space Game
@@ -64,140 +64,140 @@ npm install
```bash
cd 6-space-game/solution
npm install
-# Отворете index.html в браузъра или използвайте Live Server
+# Отворете index.html в браузър или използвайте Live Server
```
-### Chat Project (Python Backend)
+### Chat Project (Python бекенд)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
-# Задаване на променлива на околната среда GITHUB_TOKEN
+# Задайте променливата на средата GITHUB_TOKEN
python api.py
```
-## Работен процес за разработка
+## Работа по разработване
-### За сътрудници по съдържанието
+### За съдържателите на материалите
-1. **Форкнете хранилището** във вашия GitHub акаунт
-2. **Клонирайте своя форк** локално
-3. **Създайте нов клон** за промените си
-4. Направете промени в съдържанието на уроците или примерния код
-5. Тествайте всякакви промени в кода в съответните директории на проектите
-6. Подайте pull request според указанията за принос
+1. **Форкнете репозитория** към вашия GitHub акаунт
+2. **Клонирайте вашия форк** локално
+3. **Създайте нов клон** за вашите промени
+4. Правете промени в съдържанието на уроците или кодовите примери
+5. Тествайте всякакви промени в код в съответните проектни директории
+6. Изпращайте pull request-и според насоките за допринасяне
-### За обучаващи се
+### За учащите
-1. Форкнете или клонирайте хранилището
-2. Навигирайте последователно към директориите на уроците
+1. Форкнете или клонирайте репозитория
+2. Навигирайте последователно в папките с уроци
3. Прочетете README файловете за всеки урок
-4. Попълнете викторините преди урока на https://ff-quizzes.netlify.app/web/
-5. Работете с примерите в папките с уроци
-6. Изпълнете задачи и предизвикателства
-7. Попълнете викторините след урока
+4. Попълнете куизовете преди урока на https://ff-quizzes.netlify.app/web/
+5. Работете върху кодовите примери в папките на урока
+6. Изпълнявайте задачи и предизвикателства
+7. Изпълнете куизовете след урока
-### Жива разработка
+### Живо разработване
-- **Документация**: Стартирайте `docsify serve` в корена (порт 3000)
-- **Quiz App**: Стартирайте `npm run dev` в директорията quiz-app
+- **Документация**: Стартирайте `docsify serve` от главната директория (порт 3000)
+- **Quiz App**: Стартирайте `npm run dev` в директория quiz-app
- **Проекти**: Използвайте разширението VS Code Live Server за HTML проекти
-- **API проекти**: Стартирайте `npm start` в съответните API директории
+- **API Проекти**: Стартирайте `npm start` в съответните API директории
## Инструкции за тестване
-### Тестове за Quiz App
+### Тестване на Quiz App
```bash
cd quiz-app
-npm run lint # Проверка за проблеми със стила на кода
-npm run build # Провери дали сборката е успешна
+npm run lint # Проверете за проблеми със стил на кода
+npm run build # Потвърдете, че изграждането е успешно
```
-### Тестове за Bank API
+### Тестване на Bank API
```bash
cd 7-bank-project/api
-npm run lint # Проверка за проблеми със стила на кода
-node server.js # Проверка дали сървърът стартира без грешки
+npm run lint # Провери за проблеми със стила на кода
+node server.js # Потвърди, че сървърът стартира без грешки
```
-### Обща стратегия за тестване
+### Общ подход към тестването
-- Това е образователно хранилище без пълни автоматизирани тестове
+- Това е образователен репозиторий без комплексни автоматизирани тестове
- Ръчното тестване се фокусира върху:
- - Примерният код да се изпълнява без грешки
- - Връзките в документацията да работят правилно
- - Проектите да се компилират успешно
- - Примерите да следват добри практики
+ - Работещи без грешки кодови примери
+ - Работещи връзки в документацията
+ - Успешно компилиране на проектите
+ - Примери, които следват най-добрите практики
### Проверки преди подаване
- Стартирайте `npm run lint` в директории с package.json
- Проверете дали markdown връзките са валидни
-- Тествайте примерите в браузър или Node.js
+- Тествайте кодовите примери в браузър или Node.js
- Уверете се, че преводите запазват правилната структура
## Насоки за стил на кода
### JavaScript
-- Използвайте модерен ES6+ синтаксис
+- Използвайте съвременен синтаксис ES6+
- Спазвайте стандартните ESLint конфигурации, предоставени в проектите
-- Използвайте смислени имена на променливи и функции за по-голяма образователна яснота
-- Добавяйте коментари, обясняващи концепции за обучаващите се
-- Форматирайте кода с Prettier, където е конфигурирано
+- Използвайте смислени имена на променливи и функции за образователна яснота
+- Добавяйте коментари обясняващи концепциите за учащите
+- Форматирайте с Prettier където е конфигуриран
### HTML/CSS
- Семантични HTML5 елементи
- Принципи на адаптивен дизайн
- Ясни наименования на класове
-- Коментари, обясняващи CSS техники за учащи се
+- Коментари, обясняващи CSS техники за учащите
### Python
-- Насоки по стил PEP 8
-- Ясни, образователни примери за код
-- Типови указания, където са полезни за обучение
+- Насоки за стил PEP 8
+- Ясни, образователни кодови примери
+- Типово обозначаване където е полезно за ученето
### Markdown документация
-- Ясна йерархия на заглавията
-- Блокове с код с посочен език
+- Ясна йерархия от заглавия
+- Кодови блокове с посочен език
- Връзки към допълнителни ресурси
-- Скрийнове и изображения в папки `images/`
+- Скрийншотове и изображения в папки `images/`
- Алтернативен текст за изображения за достъпност
### Организация на файловете
-- Уроки, номерирани последователно (1-getting-started-lessons, 2-js-basics и т.н.)
-- Всеки проект има папки `solution/`, а често и `start/` или `your-work/`
-- Изображенията се съхраняват в папки `images/` за съответния урок
-- Преводите са под структура `translations/{language-code}/`
+- Уроци номерирани последователно (1-getting-started-lessons, 2-js-basics и т.н.)
+- Във всеки проект има `solution/` и често `start/` или `your-work/` директории
+- Изображения съхранявани в папки за всеки урок `images/`
+- Преводи в структура `translations/{language-code}/`
-## Сглобяване и деплоймент
+## Сглобяване и разгръщане
-### Деплой на Quiz App (Azure Static Web Apps)
+### Разгръщане на Quiz App (Azure Static Web Apps)
-quiz-app е конфигуриран за деплой на Azure Static Web Apps:
+quiz-app е конфигуриран за разгръщане в Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Създава папка dist/
-# Извършва разгръщане чрез работния процес на GitHub Actions при push към main
+# Разгръща чрез GitHub Actions workflow при push към main
```
-Конфигурация на Azure Static Web Apps:
+Конфигурация за Azure Static Web Apps:
- **Местоположение на приложението**: `/quiz-app`
-- **Местоположение на изхода**: `dist`
-- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
+- **Изходна директория**: `dist`
+- **Работен процес**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
-### Генериране на PDF за документация
+### Генериране на PDF документация
```bash
npm install # Инсталирайте docsify-to-pdf
-npm run convert # Генерирайте PDF от документи
+npm run convert # Генерирайте PDF от docs
```
### Документация с Docsify
@@ -207,76 +207,76 @@ npm install -g docsify-cli # Инсталирайте Docsify глобалн
docsify serve # Стартирайте на localhost:3000
```
-### Сглобявания на проекти
+### Сглобяване по проекти
-Всяка проектна директория може да има собствен процес на сглобяване:
+Всяка проектна директория може да има собствен процес на изграждане:
- Vue проекти: `npm run build` създава продукционни пакети
-- Статични проекти: няма стъпка за build, файловете се сервира директно
+- Статични проекти: без стъпка за билд, обслужват файловете директно
-## Насоки за pull request
+## Насоки при pull request-и
### Формат на заглавието
Използвайте ясни, описателни заглавия, указващи областта на промяната:
-- `[Quiz-app] Добавяне на нова викторина за урок X`
+- `[Quiz-app] Добавяне на нов куиз за урок X`
- `[Lesson-3] Корекция на правописна грешка в проекта terrarium`
- `[Translation] Добавяне на испански превод за урок 5`
-- `[Docs] Актуализация на инструкции за настройка`
+- `[Docs] Актуализация на инструкциите за настройка`
-### Задължителни проверки
+### Изисквани проверки
Преди подаване на PR:
-1. **Код качество**:
- - Стартирайте `npm run lint` в засегнатите директории на проектите
- - Коригирайте всички грешки и предупреждения
+1. **Качество на кода**:
+ - Стартирайте `npm run lint` в засегнатите проектни директории
+ - Поправете всички грешки и предупреждения
2. **Проверка на билд**:
- - Стартирайте `npm run build`, ако е приложимо
- - Уверете се, че няма грешки по време на build
+ - Стартирайте `npm run build` ако е приложимо
+ - Уверете се, че няма грешки при билда
-3. **Проверка на връзките**:
+3. **Проверка на връзки**:
- Тествайте всички markdown връзки
- - Проверете дали референциите към изображенията са работещи
+ - Проверете дали изображенията се зареждат
4. **Преглед на съдържанието**:
- - Проверете правописа и граматиката
- - Уверете се, че примерите са правилни и образователни
- - Верифицирайте, че преводите запазват оригиналното значение
+ - Коректура за правопис и граматика
+ - Уверете се, че кодовите примери са точни и образователни
+ - Проверката на преводите за запазване на оригиналния смисъл
-### Изисквания за принос
+### Изисквания за допринасяне
- Съгласие с Microsoft CLA (автоматична проверка при първи PR)
-- Спазване на [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
-- Вижте [CONTRIBUTING.md](./CONTRIBUTING.md) за подробни указания
-- Позоваване на номера на issues в описанието на PR, ако е приложимо
+- Спазвайте [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
+- Вижте [CONTRIBUTING.md](./CONTRIBUTING.md) за подробни насоки
+- Посочвайте номера на съществуващи проблеми в описанието на PR ако има такива
### Процес на преглед
-- PR-овете се преглеждат от поддържащите и общността
-- Образователната яснота е приоритет
-- Примерите в кода трябва да следват актуални добри практики
-- Преводите се проверяват за точност и културна адекватност
+- PR-овете се преглеждат от поддръжници и общността
+- Приоритет е образователната яснота
+- Кодови примери трябва да следват актуалните най-добри практики
+- Преводите се проверяват за точност и културна съобразност
## Система за превод
-### Автоматизиран превод
+### Автоматичен превод
- Използва GitHub Actions с workflow co-op-translator
-- Автоматично превежда на 50+ езика
-- Изходните файлове са в основните директории
-- Преведените файлове са в `translations/{language-code}/` директории
+- Превежда автоматично на 50+ езика
+- Изходни файлове в основните директории
+- Преведени файлове в директории `translations/{language-code}/`
-### Добавяне на ръчни подобрения на превода
+### Добавяне на ръчни подобрения в преводите
-1. Намерете файла в `translations/{language-code}/`
-2. Направете подобрения, като запазвате структурата
-3. Уверете се, че примерите за код остават функционални
-4. Тествайте преведеното викторинно съдържание
+1. Намирайте файл в `translations/{language-code}/`
+2. Правете подобрения, като запазвате структурата
+3. Уверете се, че кодовите примери остават функционални
+4. Тествайте всяко локализирано куиз съдържание
-### Метаданни за превода
+### Метаданни за превод
-Преведените файлове включват метаданни в заглавката:
+Преведените файлове съдържат метаданни в заглавен блок:
```markdown
**Отказ от отговорност**:
-Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за никакви недоразумения или неправилни тълкувания, възникнали от използването на този превод.
+Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Не носим отговорност за недоразумения или неправилни тълкувания, възникнали от използването на този превод.
\ No newline at end of file
diff --git a/translations/bg/README.md b/translations/bg/README.md
index eb5ce61b0..def8d63b1 100644
--- a/translations/bg/README.md
+++ b/translations/bg/README.md
@@ -1,211 +1,197 @@
-[](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE)
-[](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
-[](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
-[](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
-[](http://makeapullrequest.com)
+# Уеб разработка за начинаещи - учебна програма
-[](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
-[](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
-[](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/)
+Научете основите на уеб разработката с нашия 12-седмичен всеобхватен курс от Microsoft Cloud Advocates. Всеки от 24-те урока разглежда JavaScript, CSS и HTML чрез практически проекти като терариуми, разширения за браузър и космически игри. Включете се с викторини, дискусии и практически задачи. Подобрете уменията си и оптимизирайте усвояването на знания с нашата ефективна педагогика, базирана на проекти. Започнете своето пътешествие в кодирането още днес!
-[](https://discord.gg/nTYy5BXMWG)
-
-# Уеб разработка за начинаещи - Учебна програма
-
-Научете основите на уеб разработката с нашия 12-седмичен подробен курс, воден от Microsoft Cloud Advocates. Във всеки от 24-те урока се разглеждат JavaScript, CSS и HTML чрез практически проекти като терариуми, разширения за браузър и космически игри. Вземете участие в викторини, дискусии и практически задачи. Усъвършенствайте уменията си и оптимизирайте задържането на знания с нашата ефективна, проектно базирана педагогика. Започнете своето обучение по програмиране още днес!
-
-Присъединете се към Discord общността на Azure AI Foundry
-
-[](https://discord.gg/nTYy5BXMWG)
+Присъединете се към общността Azure AI Foundry в Discord
Следвайте тези стъпки, за да започнете да използвате тези ресурси:
-1. **Направете форк на репoзиторията**: Кликнете [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
-2. **Клонирайте репозиторията**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
-3. [**Присъединете се към Azure AI Foundry Discord и се запознайте с експерти и други разработчици**](https://discord.com/invite/ByRwuEEgH4)
+1. **Форкнете хранилището**: Кликнете [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
+2. **Клонирайте хранилището**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
+3. [**Присъединете се към Azure AI Foundry Discord и срещнете експерти и други разработчици**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Поддръжка на множество езици
-#### Поддържа се чрез GitHub Action (автоматично и винаги актуално)
-
-
-[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](./README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
+#### Поддържа се чрез GitHub Action (автоматизирано и винаги актуално)
> **Предпочитате да клонирате локално?**
-
-> Този репозитори включва над 50 езикови превода, което значително увеличава размера на изтеглянето. За да клонирате без преводи, използвайте sparse checkout:
+>
+> Това хранилище включва над 50 езикови превода, което значително увеличава размера на изтегляне. За да клонирате без преводите, използвайте sparse checkout:
+>
+> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
-> Това ви дава всичко необходимо за завършване на курса с много по-бързо изтегляне.
-
-
-**Ако желаете да бъдат добавени допълнителни преводи, поддържаните езици са изброени [тук](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
+>
+> **CMD (Windows):**
+> ```cmd
+> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
+> cd Web-Dev-For-Beginners
+> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
+> ```
+>
+> Това ви осигурява всичко необходимо за завършване на курса с много по-бързо изтегляне.
-[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
+**Ако желаете поддръжка на допълнителни езици за превод, те са посочени [тук](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
#### 🧑🎓 _Студент ли сте?_
-Посетете [**Студентския център**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), където ще намерите ресурси за начинаещи, студентски пакети и дори възможности да получите безплатен ваучер за сертификат. Това е страницата, която искате да добавите в отметките си и от време на време да проверявате, тъй като месечно сменяме съдържанието.
+Посетете [**страницата Студентски център**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), където ще намерите източници за начинаещи, студентски пакети и дори възможности за получаване на безплатен ваучер за сертификат. Това е страницата, която си струва да запазите и проверявате периодично, тъй като съдържанието се обновява месечно.
-### 📣 Обявление - Нови предизвикателства в режим GitHub Copilot Agent за изпълнение!
+### 📣 Обява - Нови предизвикателства в GitHub Copilot Agent режим!
-Добавено е ново предизвикателство, потърсете "GitHub Copilot Agent Challenge 🚀" в повечето глави. Това е ново предизвикателство за вас да го изпълните с помощта на GitHub Copilot и режима Agent. Ако не сте ползвали режима Agent преди, той може не само да генерира текст, но и да създава и редактира файлове, изпълнява команди и други.
+Добавено е ново предизвикателство, потърсете "GitHub Copilot Agent Challenge 🚀" в повечето глави. Това е ново предизвикателство, което да завършите, използвайки GitHub Copilot и Agent режим. Ако не сте използвали досега Agent режим, той може не само да генерира текст, но и да създава и редактира файлове, да изпълнява команди и още.
-### 📣 Обявление - _Нов проект за създаване с генериращ изкуствен интелект_
+### 📣 Обява - _Нов проект за разработка с използване на генеративен AI_
-Току-що добавен нов AI Assistant проект, разгледайте го [тук](./9-chat-project/README.md)
+Току-що добавен нов проект AI Асистент, разгледайте го [тук](./9-chat-project/README.md)
-### 📣 Обявление - _Нова учебна програма_ за Генеративен изкуствен интелект за JavaScript току-що беше пусната
+### 📣 Обява - _Нова учебна програма_ за генеративен AI за JavaScript току-що излезе
-Не пропускайте нашата нова учебна програма за Генеративен ИИ!
+Не пропускайте новия ни курс за генеративен AI!
Посетете [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), за да започнете!
-
-
-- Уроци, обхващащи всичко от основи до RAG.
+- Уроци, обхващащи всичко от основите до RAG.
- Взаимодействайте с исторически персонажи чрез GenAI и нашето спомагателно приложение.
-- Забавно и увлекателно повествование, ще пътувате във времето!
+- Забавен и ангажиращ разказ, пътуване във времето!
-
-
-Всеки урок включва задача за изпълнение, проверка на знанията и предизвикателство, които да ви насочват в изучаването на теми като:
-- Задаване на заявки и инженеринг на заявки
-- Генериране на приложения за текст и изображения
-- Търсещи приложения
+Във всеки урок има задача за изпълнение, проверка на знанията и предизвикателство, които ви насочват към изучаване на теми като:
+- Създаване на команди и инженерство на подкани
+- Генериране на текст и изображения за приложения
+- Приложения за търсене
Посетете [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), за да започнете!
-## 🌱 Започване
+## 🌱 Как да започнете
-> **Учители**, включили сме [някои предложения](for-teachers.md) как да използвате тази учебна програма. Ще се радваме на вашите отзиви [в нашия дискусионен форум](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
+> **Учители**, включили сме някои предложения [тук](for-teachers.md) за използване на тази учебна програма. Ще се радваме на обратна връзка [в нашия форум за обсъждания](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
-**[Ученици](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, за всеки урок започнете с предварителна викторина и продължете с четене на учебния материал, изпълнение на различните дейности и проверка на разбирането си с постлекционната викторина.
+**[Обучаващи се](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, за всеки урок започнете с тест преди лекцията и продължете с четене на учебния материал, изпълнение на различни дейности и проверете разбирането си чрез тест след лекцията.
-За да подобрите учебния си опит, свържете се с връстниците си, за да работите заедно по проектите! Насърчават се дискусии в нашия [дискусионен форум](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), където нашият екип от модератори ще бъде на разположение да отговаря на вашите въпроси.
+За по-добро изживяване в ученето, свържете се с вашите връстници за съвместна работа по проектите! Обсъжданията са насърчавани в нашия [форум за обсъждания](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), където нашият екип от модератори е на разположение да отговори на вашите въпроси.
-За да развиете образованието си допълнително, силно препоръчваме да разгледате [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) за допълнителни учебни материали.
+За да задълбочите обучението си, силно препоръчваме да изследвате [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) за допълнителни учебни материали.
### 📋 Настройване на вашата среда
-Тази учебна програма разполага с готова за употреба среда за разработка! Когато започнете, можете да изберете да стартирате учебната програма в [Codespace](https://github.com/features/codespaces/) (_среда в браузъра, без нужда от инсталация_), или локално на вашия компютър, използвайки текстов редактор като [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+Тази учебна програма включва готова развойна среда! Когато започвате можете да изберете да използвате курса в [Codespace](https://github.com/features/codespaces/) (_браузър-базирана среда без нужда от инсталации_), или локално на компютъра си с текстов редактор, като например [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
-#### Създайте своето репозитори
-За да запазите лесно своята работа, препоръчваме да създадете собствено копие на това репозитори. Можете да го направите, като кликнете върху бутона **Use this template** в горната част на страницата. Това ще създаде ново репозитори във вашия GitHub акаунт с копие на учебната програма.
+#### Създайте свое хранилище
+За да запазвате лесно работата си, е препоръчително да създадете собствено копие на това хранилище. Можете да го направите, като кликнете на бутона **Use this template** в горната част на страницата. Това ще създаде ново хранилище в профила ви в GitHub с копие на учебната програма.
Следвайте тези стъпки:
-1. **Направете форк на репозиторията**: Кликнете на бутона "Fork" в горния десен ъгъл на тази страница.
-2. **Клонирайте репозиторията**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
+1. **Форкнете хранилището**: Кликнете бутона "Fork" в горния десен ъгъл на тази страница.
+2. **Клонирайте хранилището**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
-#### Стартиране на учебната програма в Codespace
+#### Използване на учебната програма в Codespace
-В копието на репозитория, което създадохте, кликнете върху бутона **Code** и изберете **Open with Codespaces**. Това ще създаде нов Codespace, в който да работите.
+В създаденото от вас копие на хранилището, кликнете бутона **Code** и изберете **Open with Codespaces**. Това ще създаде нов Codespace, в който можете да работите.

-#### Стартиране на учебната програма локално на вашия компютър
-
-За да стартирате учебната програма локално на компютъра си, ще ви е необходим текстов редактор, браузър и инструмент за команден ред. Първият ни урок, [Въведение в програмните езици и инструментите](../../1-getting-started-lessons/1-intro-to-programming-languages), ще ви преведе през различни опции за всеки от тези инструменти, за да изберете най-подходящите за вас.
+#### Използване на учебната програма локално на вашия компютър
-Препоръчваме да използвате [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) като ваш редактор, който също разполага с вграден [Терминал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Можете да изтеглите Visual Studio Code от [тук](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+За да стартирате учебната програма локално, ще ви трябва текстов редактор, браузър и команден терминал. Нашият първи урок, [Въведение в програмните езици и инструментите](../../1-getting-started-lessons/1-intro-to-programming-languages), ще ви преведе през различни опции за всеки от тези инструменти, за да изберете най-подходящите за вас.
-1. Клонирайте своето репозитори на компютъра си. Можете да го направите, като кликнете бутона **Code** и копирате URL адреса:
+Нашата препоръка е да използвате [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) като редактор, който включва и интегриран [Терминал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Можете да изтеглите Visual Studio Code [тук](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+1. Клонирайте хранилището си на компютъра. Можете да го направите като кликнете върху бутона **Code** и копирате URL адреса:
[CodeSpace](./images/createcodespace.png)
- След това отворете [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) в [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) и изпълнете следната команда, като замените `` с URL адреса, който току-що копирахте:
+
+ След това отворете [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) в [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) и изпълнете следната команда, като замените `` с току-що копирания URL адрес:
```bash
git clone
```
-2. Отворете папката във Visual Studio Code. Можете да направите това, като кликнете върху **File** > **Open Folder** и изберете току-що клонираната папка.
+2. Отворете папката във Visual Studio Code. Можете да го направите като кликнете върху **File** > **Open Folder** и изберете папката, която току-що клонирахте.
> Препоръчителни разширения за Visual Studio Code:
>
-> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - за визуализиране на HTML страници във Visual Studio Code
-> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - за по-бързо писане на код
+> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - за преглед на HTML страници в Visual Studio Code
+> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - за бързо писане на код
-## 📂 Всяка лекция включва:
+## 📂 Всяко занятие включва:
-- опционален скицник
-- опционално допълнително видео
-- подготовително викторина преди урока
+- по избор скица
+- по избор допълнително видео
+- въпросник за загряване преди занятието
- писмен урок
-- за уроци базирани на проекти, стъпка по стъпка ръководства как да се изгради проекта
-- тестове за проверка на знанията
+- за занятия на база проект, стъпка по стъпка инструкции за изграждане на проекта
+- проверки на знанията
- предизвикателство
- допълнително четиво
- задача
-- [викторина след урока](https://ff-quizzes.netlify.app/web/)
-
-> **Забележка относно викторините**: Всички викторини са в папката Quiz-app, общо 48 викторини с по три въпроса. Те са налични [тук](https://ff-quizzes.netlify.app/web/), приложението за викторини може да се стартира локално или да се разположи в Azure; следвайте инструкциите в папката `quiz-app`.
-
-## 🗃️ Уроци
-
-| | Име на проекта | Обучавани концепции | Учебни цели | Свързан урок | Автор |
-| :-: | :--------------------------------------------------------: | :------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------- | :-----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
-| 01 | Започване | Въведение в програмирането и инструментите на професията | Научете основите зад повечето програмни езици и софтуерен инструментариум, който помага на професионалните разработчици | [Въведение в програмените езици и инструменти](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
-| 02 | Започване | Основи на GitHub, включително работа в екип | Как да използвате GitHub в своя проект, как да си сътрудничите с други върху кодовата база | [Въведение в GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
-| 03 | Започване | Достъпност | Научете основите на достъпността в уеб | [Основи на достъпността](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
-| 04 | JS Основи | Типове данни в JavaScript | Основите на типовете данни в JavaScript | [Типове данни](./2-js-basics/1-data-types/README.md) | Jasmine |
-| 05 | JS Основи | Функции и методи | Научете за функциите и методите за управление на логиката на приложение | [Функции и методи](./2-js-basics/2-functions-methods/README.md) | Jasmine и Christopher |
-| 06 | JS Основи | Взимане на решения с JS | Научете как да създавате условия във вашия код чрез методи за вземане на решения | [Вземане на решения](./2-js-basics/3-making-decisions/README.md) | Jasmine |
-| 07 | JS Основи | Масиви и цикли | Работете с данни чрез масиви и цикли в JavaScript | [Масиви и цикли](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
-| 08 | [Терариум](./3-terrarium/solution/README.md) | HTML на практика | Създайте HTML за онлайн терариум, с фокус върху изграждането на оформление | [Въведение в HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
-| 09 | [Терариум](./3-terrarium/solution/README.md) | CSS на практика | Създайте CSS за стилизиране на онлайн терариума, включително основите на CSS и направата на страница отзивчива | [Въведение в CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
-| 10 | [Терариум](./3-terrarium/solution/README.md) | Заключвания в JavaScript, манипулиране на DOM | Създайте JavaScript за работа на терариума като интерфейс за влачене и пускане, фокусирайки се върху заключвания и DOM | [Заключвания в JS, манипулация на DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
-| 11 | [Игра за писане](./4-typing-game/solution/README.md) | Създаване на игра за писане | Научете как да използвате клавишни събития за задвижване на логиката на приложението си на JavaScript | [Програмиране базирано на събития](./4-typing-game/typing-game/README.md) | Christopher |
-| 12 | [Зелен браузър екстензия](./5-browser-extension/solution/README.md) | Работа с браузъри | Научете как работят браузърите, тяхната история и как да изградите първите елементи на екстензия за браузър | [За браузърите](./5-browser-extension/1-about-browsers/README.md) | Jen |
-| 13 | [Зелен браузър екстензия](./5-browser-extension/solution/README.md) | Създаване на формуляр, извикване на API и съхраняване на променливи локално | Създайте JavaScript елементите на браузър екстензията си за извикване на API чрез променливи, съхранявани локално | [API, формуляри и локално съхранение](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
-| 14 | [Зелен браузър екстензия](./5-browser-extension/solution/README.md) | Фонови процеси в браузъра, уеб производителност | Използвайте фоновите процеси на браузъра за управление на иконата на екстензията; научете за уеб производителността и оптимизации | [Фонови задачи и производителност](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
-| 15 | [Космическа игра](./6-space-game/solution/README.md) | По-напреднало разработване на игри с JavaScript | Научете за наследяването чрез класове и композиция, както и за патерна Pub/Sub, подготвяйки се за изграждане на игра | [Въведение в напреднало разработване на игри](./6-space-game/1-introduction/README.md) | Chris |
-| 16 | [Космическа игра](./6-space-game/solution/README.md) | Рисуване в canvas | Научете за Canvas API, използван за рисуване на елементи на екрана | [Рисуване в Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
-| 17 | [Космическа игра](./6-space-game/solution/README.md) | Преместване на елементи по екрана | Открийте как елементите придобиват движение чрез декартови координати и Canvas API | [Преместване на елементи](./6-space-game/3-moving-elements-around/README.md) | Chris |
-| 18 | [Космическа игра](./6-space-game/solution/README.md) | Откриване на сблъсъци | Направете елементите да се сблъскват и реагират на натискане на клавиши и добавете функция за охлаждане, за да подобрите изпълнението | [Откриване на сблъсъци](./6-space-game/4-collision-detection/README.md) | Chris |
-| 19 | [Космическа игра](./6-space-game/solution/README.md) | Водене на резултата | Извършете математически изчисления въз основа на състоянието и представянето на играта | [Водене на резултата](./6-space-game/5-keeping-score/README.md) | Chris |
-| 20 | [Космическа игра](./6-space-game/solution/README.md) | Край и рестартиране на играта | Научете как да приключите и рестартирате играта, включително почистване на ресурси и нулиране на променливите | [Условия за край](./6-space-game/6-end-condition/README.md) | Chris |
-| 21 | [Банкова Апликация](./7-bank-project/solution/README.md) | HTML шаблони и маршрути в уеб приложение | Научете как да създадете структурата на многостраничен уебсайт с използване на маршрутизация и HTML шаблони | [HTML шаблони и маршрути](./7-bank-project/1-template-route/README.md) | Yohan |
-| 22 | [Банкова Апликация](./7-bank-project/solution/README.md) | Създаване на формуляр за вход и регистрация | Научете как се изграждат формуляри и как да се обработва валидирането | [Формуляри](./7-bank-project/2-forms/README.md) | Yohan |
-| 23 | [Банкова Апликация](./7-bank-project/solution/README.md) | Методи за извличане и използване на данни | Как данните влизат и излизат от вашето приложение, как да ги извличате, съхранявате и изхвърляте | [Данни](./7-bank-project/3-data/README.md) | Yohan |
-| 24 | [Банкова Апликация](./7-bank-project/solution/README.md) | Концепции за управление на състоянието | Научете как приложението ви запазва състояние и как да го управлявате програмно | [Управление на състоянието](./7-bank-project/4-state-management/README.md) | Yohan |
-| 25 | [Browser/VScode Code](../../8-code-editor) | Работа с VScode | Научете как да използвате кодов редактор | [Използване на VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
-| 26 | [AI Асистенти](./9-chat-project/README.md) | Работа с AI | Научете как да изградите свой собствен AI помощник | [Проект AI Assistant](./9-chat-project/README.md) | Chris |
+- [въпросник след занятието](https://ff-quizzes.netlify.app/web/)
+
+> **Бележка за въпросниците**: Всички въпросници са в папката Quiz-app, общо 48 с по три въпроса. Те са достъпни [тук](https://ff-quizzes.netlify.app/web/), приложението за въпросниците може да се изпълни локално или да се публикува в Azure; следвайте инструкциите в папката `quiz-app`.
+
+## 🗃️ Занятия
+
+| | Име на проекта | Преподавани концепции | Учебни цели | Свързан урок | Автор |
+| :-: | :--------------------------------------------------------: | :--------------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
+| 01 | Започване | Въведение в програмирането и инструментите на професията | Научете основите на повечето програмни езици и софтуер, който помага на професионалните разработчици да вършат работата си | [Въведение в програмните езици и инструментите](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
+| 02 | Започване | Основи на GitHub, включително работа в екип | Как да използвате GitHub в своя проект, как да сътрудничите по код | [Въведение в GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
+| 03 | Започване | Достъпност | Научете основите на уеб достъпността | [Основи на достъпността](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
+| 04 | Основи на JS | Типове данни в JavaScript | Основи на типовете данни в JavaScript | [Типове данни](./2-js-basics/1-data-types/README.md) | Jasmine |
+| 05 | Основи на JS | Функции и методи | Научете за функциите и методите за управление на логиката на приложението | [Функции и методи](./2-js-basics/2-functions-methods/README.md) | Jasmine и Christopher |
+| 06 | Основи на JS | Вземане на решения с JS | Научете как да създавате условия във вашия код с методи за вземане на решения | [Вземане на решения](./2-js-basics/3-making-decisions/README.md) | Jasmine |
+| 07 | Основи на JS | Масиви и цикли | Работа с данни чрез масиви и цикли в JavaScript | [Масиви и цикли](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
+| 08 | [Терариум](./3-terrarium/solution/README.md) | Практическо HTML | Създайте HTML за онлайн терариум, съсредоточавайки се върху изграждането на оформлението | [Въведение в HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
+| 09 | [Терариум](./3-terrarium/solution/README.md) | Практическо CSS | Създайте CSS за стилизиране на онлайн терариума, фокусирайки се върху основите на CSS, включително правене на страницата отзивчива | [Въведение в CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
+| 10 | [Терариум](./3-terrarium/solution/README.md) | JavaScript Closures, манипулация на DOM | Създайте JavaScript, за да направите терариума с интерфейс за влачене и пускане, съсредоточени върху closures и манипулация на DOM | [JavaScript Closures, манипулация на DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
+| 11 | [Игра за писане](./4-typing-game/solution/README.md) | Създаване на игра за писане | Научете как да използвате клавиатурни събития за управление на логиката в JavaScript приложението ви | [Програмиране, базирано на събития](./4-typing-game/typing-game/README.md) | Christopher |
+| 12 | [Разширение за браузър](./5-browser-extension/solution/README.md) | Работа с браузъри | Научете как работят браузърите, тяхната история и как да създадете първите елементи на разширение за браузър | [Относно браузърите](./5-browser-extension/1-about-browsers/README.md) | Jen |
+| 13 | [Разширение за браузър](./5-browser-extension/solution/README.md) | Изграждане на форма, извикване на API и съхраняване на променливи локално | Създайте JavaScript елементи на разширението си за браузър, за да извиквате API с променливи, съхранени локално | [APIs, Форми и Локално съхранение](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
+| 14 | [Разширение за браузър](./5-browser-extension/solution/README.md) | Фонови процеси в браузъра, уеб производителност | Използвайте фоновите процеси на браузъра за управление на иконата на разширението; научете за уеб производителността и оптимизации | [Фонови задачи и производителност](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
+| 15 | [Космическа игра](./6-space-game/solution/README.md) | По-напреднало игрово развитие с JavaScript | Научете за наследяване с класове и композиция и за дизайна Pub/Sub, в подготовка за изграждане на игра | [Въведение в напреднало игрово развитие](./6-space-game/1-introduction/README.md) | Chris |
+| 16 | [Космическа игра](./6-space-game/solution/README.md) | Рисуване върху канвас | Научете за Canvas API, използван за рисуване на елементи на екрана | [Рисуване върху Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
+| 17 | [Космическа игра](./6-space-game/solution/README.md) | Преместване на елементи по екрана | Открийте как елементите придобиват движение чрез декартови координати и Canvas API | [Преместване на елементи](./6-space-game/3-moving-elements-around/README.md) | Chris |
+| 18 | [Космическа игра](./6-space-game/solution/README.md) | Откриване на сблъсъци | Направете елементите да се сблъскват и реагират един на друг чрез натискане на клавиши и предоставете cooldown функция | [Откриване на сблъсъци](./6-space-game/4-collision-detection/README.md) | Chris |
+| 19 | [Космическа игра](./6-space-game/solution/README.md) | Отчитане на резултата | Извършвайте математически изчисления въз основа на състоянието и изпълнението на играта | [Отчитане на резултата](./6-space-game/5-keeping-score/README.md) | Chris |
+| 20 | [Космическа игра](./6-space-game/solution/README.md) | Приключване и рестартиране на играта | Научете за приключването и рестартирането на играта, включително почистване на ресурси и нулиране на променливи | [Условия за приключване](./6-space-game/6-end-condition/README.md) | Chris |
+| 21 | [Банково приложение](./7-bank-project/solution/README.md) | HTML шаблони и маршрути в уеб приложение | Научете как да създавате структурата на многостраничен уебсайт чрез маршрутизация и HTML шаблони | [HTML шаблони и маршрути](./7-bank-project/1-template-route/README.md) | Yohan |
+| 22 | [Банково приложение](./7-bank-project/solution/README.md) | Създаване на форма за влизане и регистрация | Научете за създаване на формуляри и обработка на валидиращи процедури | [Формуляри](./7-bank-project/2-forms/README.md) | Yohan |
+| 23 | [Банково приложение](./7-bank-project/solution/README.md) | Методи за извличане и използване на данни | Как данните влизат и излизат от приложението ви, как да ги извличате, съхранявате и изхвърляте | [Данни](./7-bank-project/3-data/README.md) | Yohan |
+| 24 | [Банково приложение](./7-bank-project/solution/README.md) | Концепции за управление на състоянието | Научете как приложението ви задържа състояние и как да го управлявате програмно | [Управление на състоянието](./7-bank-project/4-state-management/README.md) | Yohan |
+| 25 | [Код за браузър/VSCode](../../8-code-editor) | Работа с VScode | Научете как да използвате редактор на код | [Използване на редактор код в VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
+| 26 | [AI асистенти](./9-chat-project/README.md) | Работа с AI | Научете как да изградите собствен AI асистент | [Проект AI асистент](./9-chat-project/README.md) | Chris |
## 🏫 Педагогика
-Учебната ни програма е създадена въз основа на две ключови педагогически принципа:
-* обучение чрез проекти
-* честни викторини
+Нашата учебна програма е създадена с два ключови педагогически принципа на ум:
+* обучение, базирано на проекти
+* чести тестове
-Програмата учи основите на JavaScript, HTML и CSS, както и най-новите инструменти и техники, използвани от съвременните уеб разработчици. Студентите ще имат възможност да придобият практически опит, като изградят игра за писане, виртуален терариум, екологично чисто разширение за браузър, игра в стил космически нашественик и банково приложение за бизнес. Към края на серията студентите ще имат солидно разбиране за уеб разработка.
+Програмата учи основите на JavaScript, HTML и CSS, както и най-новите инструменти и техники, използвани от съвременните уеб разработчици. Студентите ще имат възможност да развият практически умения, като изградят игра за писане, виртуален терариум, екологичен браузър разширение, космическа инвазивна игра и банково приложение за бизнеси. В края на серията студентите ще имат солидно разбиране за уеб разработка.
-> 🎓 Можете да преминете първите няколко урока от тази учебна програма като [Учебен път](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) в Microsoft Learn!
+> 🎓 Можете да вземете първите няколко урока от тази програма като [Учебен път](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) в Microsoft Learn!
-Чрез осигуряване на съответствие между съдържанието и проектите, процесът става по-ангажиращ за студентите и задържането на знания се увеличава. Ние също така написахме няколко начални урока за основи на JavaScript, за да въведем концепциите, съчетани с видео от колекцията видео уроци "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", чиито някои автори са допринесли за тази учебна програма.
+Чрез осигуряване на съдържание, свързано с проекти, процесът става по-ангажиращ за студентите и запомнянето на концепциите се увеличава. Ние също така написахме няколко начални урока по основите на JavaScript за въведение на концепциите, с видео от колекцията "[Начинаещи по JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", част от чийто автори допринесоха за тази учебна програма.
-Освен това, викторина с нисък залог преди клас поставя намерението на студента да научи темата, докато втора викторина след урока гарантира допълнително задържане. Тази учебна програма бе създадена да бъде гъвкава и забавна и може да бъде взета изцяло или частично. Проектите започват малки и стават все по-сложни до края на 12-седмичния цикъл.
+Освен това, тест с ниска трудност преди занятието насочва вниманието на студента към изучаване на темата, докато втори тест след занятието гарантира по-добро усвояване. Тази учебна програма е проектирана да бъде гъвкава и забавна и може да се следва изцяло или частично. Проектите започват малки и стават все по-сложни до края на 12-седмичния цикъл.
-Докато съзнателно избягвахме въвеждането на JavaScript рамки, за да се съсредоточим върху основните умения, необходими на уеб разработчик преди да усвои рамка, добър следващ ход след завършване на тази учебна програма би бил да научите Node.js чрез друга колекция видео уроци: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
+Въпреки, че умишлено избегнахме въвеждането на JavaScript рамки, за да се концентрираме върху основните умения, нужни на един уеб разработчик преди преминаването към рамка, добър следващ ход след завършване на тази учебна програма би бил да научите за Node.js чрез друга колекция от видеа: "[Начинаещи по Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
-> Посетете нашите насоки [Правила за поведение](CODE_OF_CONDUCT.md) и [Принос](CONTRIBUTING.md). Очакваме с нетърпение вашата конструктивна обратна връзка!
+> Посетете нашите указания за [Етичен кодекс](CODE_OF_CONDUCT.md) и [Принос](CONTRIBUTING.md). Очакваме вашите конструктивни отзиви!
-## 🧭 Работа офлайн
+## 🧭 Достъп офлайн
-Можете да използвате тази документация офлайн чрез [Docsify](https://docsify.js.org/#/). Клонирайте репото, [инсталирайте Docsify](https://docsify.js.org/#/quickstart) на своя локален компютър и след това в основната папка на това репо напишете `docsify serve`. Уебсайтът ще бъде достъпен на порт 3000 на вашия localhost: `localhost:3000`.
+Можете да използвате тази документация офлайн с помощта на [Docsify](https://docsify.js.org/#/). Форкнете това хранилище, [инсталирайте Docsify](https://docsify.js.org/#/quickstart) на локалната си машина и след това в главната папка на това хранилище напишете `docsify serve`. Уебсайтът ще се обслужва на порт 3000 на вашия localhost: `localhost:3000`.
## 📘 PDF
-
PDF с всички уроци може да се намери [тук](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
-## 🎒 Други курсове
-Нашият екип създава и други курсове! Разгледайте:
+## 🎒 Други Курсове
+
+Нашият екип произвежда и други курсове! Разгледайте:
### LangChain
@@ -218,38 +204,38 @@ PDF с всички уроци може да се намери [тук](https://
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
-### Серия за генеративен изкуствен интелект
-[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
-[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
-[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
-[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
+### Серия за Генеративен AI
+[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
+[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
+[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
+[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
-### Основно обучение
+### Основно Обучение
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Серия Copilot
-[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
-## Получаване на помощ
+## Как да получите помощ
-Ако се затрудните или имате въпроси относно създаването на AI приложения. Присъединете се към другите учащи и опитни разработчици в дискусиите за MCP. Това е подкрепяща общност, където въпросите са добре дошли и знанието се споделя свободно.
+Ако се затрудните или имате въпроси относно изграждането на AI приложения, присъединете се към други учащи и опитни разработчици в дискусии за MCP. Това е подкрепяща общност, където въпросите са добре дошли и знанието се споделя свободно.
[](https://discord.gg/nTYy5BXMWG)
@@ -259,11 +245,11 @@ PDF с всички уроци може да се намери [тук](https://
## Лиценз
-Това хранилище е лицензирано под MIT лиценз. Вижте файла [LICENSE](../../LICENSE) за повече информация.
+Този репозиторий е лицензиран под лиценза MIT. Вижте файла [LICENSE](../../LICENSE) за повече информация.
---
-**Отказ от отговорност**:
-Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия първичен език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Не носим отговорност за каквито и да било недоразумения или неправилни тълкувания, произтичащи от използването на този превод.
+**Отказ от отговорност**:
+Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматичните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.
\ No newline at end of file
diff --git a/translations/bn/.co-op-translator.json b/translations/bn/.co-op-translator.json
index 063b80bae..cdc357b10 100644
--- a/translations/bn/.co-op-translator.json
+++ b/translations/bn/.co-op-translator.json
@@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
- "original_hash": "d45ddcc54eb9232a76d08328b09d792e",
- "translation_date": "2025-11-03T22:28:30+00:00",
+ "original_hash": "bec5e35642176d9e483552bfc82996d8",
+ "translation_date": "2026-03-06T17:29:49+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "bn"
},
@@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
- "translation_date": "2026-02-06T16:37:00+00:00",
+ "translation_date": "2026-03-06T17:43:46+00:00",
"source_file": "AGENTS.md",
"language_code": "bn"
},
@@ -516,8 +516,8 @@
"language_code": "bn"
},
"README.md": {
- "original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
- "translation_date": "2026-02-06T16:32:46+00:00",
+ "original_hash": "a2c9eed480687319517c08a6319e5536",
+ "translation_date": "2026-03-06T17:24:35+00:00",
"source_file": "README.md",
"language_code": "bn"
},
diff --git a/translations/bn/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/bn/1-getting-started-lessons/1-intro-to-programming-languages/README.md
index 75101ce08..dd2f1fb49 100644
--- a/translations/bn/1-getting-started-lessons/1-intro-to-programming-languages/README.md
+++ b/translations/bn/1-getting-started-lessons/1-intro-to-programming-languages/README.md
@@ -1,183 +1,181 @@
-# প্রোগ্রামিং ভাষা এবং আধুনিক ডেভেলপার টুলসের পরিচিতি
+# প্রোগ্রামিং ভাষাসমূহ ও আধুনিক ডেভেলপার সরঞ্জামগুলোর পরিচিতি
-হ্যালো, ভবিষ্যৎ ডেভেলপার! 👋 আমি কি তোমাকে এমন কিছু বলতে পারি যা আমাকে প্রতিদিনই শিহরিত করে? তুমি শিখতে যাচ্ছ যে প্রোগ্রামিং শুধুমাত্র কম্পিউটার নিয়ে নয় – এটি এমন এক ক্ষমতা যা তোমার সবচেয়ে বন্য ধারণাগুলোকে বাস্তবে রূপ দিতে পারে!
+হ্যালো, ভবিষ্যতের ডেভেলপার! 👋 আমি কি তোমাকে এমন কিছু বলতে পারি যা প্রতিদিন আমাকে রোমাঞ্চিত করে? তুমি শীঘ্রই আবিষ্কার করবে যে প্রোগ্রামিং শুধুমাত্র কম্পিউটার সংক্রান্ত নয় – এটি তোমার সবচেয়ে অবিশ্বাস্য ধারণাগুলো জীবন্ত করার জন্য সত্যিকারের অতিপ্রাকৃত ক্ষমতা পাওয়ার ব্যাপার!
-তুমি কি সেই মুহূর্তটি জানো যখন তুমি তোমার প্রিয় অ্যাপ ব্যবহার করছ এবং সবকিছু একদম নিখুঁতভাবে কাজ করছে? যখন তুমি একটি বোতামে চাপ দাও এবং কিছু একেবারে জাদুকরী ঘটে যা তোমাকে "ওয়াও, তারা এটা কীভাবে করল?" বলতে বাধ্য করে। ঠিক এমন কেউ – সম্ভবত রাত ২টায় তাদের প্রিয় কফি শপে তৃতীয় এসপ্রেসো পান করতে করতে – সেই কোড লিখেছে যা সেই জাদু তৈরি করেছে। এবং যা তোমার মনকে উড়িয়ে দেবে তা হলো: এই পাঠের শেষে, তুমি শুধু বুঝতে পারবে না তারা কীভাবে এটি করেছে, বরং তুমি নিজেই এটি চেষ্টা করতে উদগ্রীব হয়ে উঠবে!
+তুমি কি সেই মুহূর্তটি জানো, যখন তুমি তোমার প্রিয় অ্যাপ ব্যবহার করছ, আর সবকিছু নিখুঁতভাবে কাজ করছে? যখন তুমি একটা বাটনে ট্যাপ করো এবং কিছু অবিশ্বাস্য ঘটনা ঘটে যা তোমাকে বলায় "আরে, ওরা এটা কীভাবে করল?" ঠিক সেইটাই—তোমার মতোই কেউ, সম্ভবত রাত ২টায় তাদের প্রিয় কফি শপে বসে তৃতীয় এস্প্রেসো পান করে, সেই জাদু তৈরি কোড লিখেছিল। আর এখানে যা তোমার মস্তিষ্ক ঘুরিয়ে দেবে: এই পাঠ শেষ হওয়ার আগে তুমি শুধু বুঝতে পারবে কিভাবে তারা এটা করেছিল তাই নয়, তোমাও নিজে যেন চেষ্টা করার জন্য উদ্বুদ্ধ হয়ে উঠবে!
-শোনো, যদি প্রোগ্রামিং এখন তোমার কাছে ভয়ঙ্কর মনে হয়, আমি পুরোপুরি বুঝতে পারি। যখন আমি প্রথম শুরু করেছিলাম, আমি সত্যিই ভেবেছিলাম যে তোমাকে কোনো গণিতের জিনিয়াস হতে হবে বা পাঁচ বছর বয়স থেকেই কোডিং করতে হবে। কিন্তু যা আমার দৃষ্টিভঙ্গি পুরোপুরি বদলে দিয়েছিল তা হলো: প্রোগ্রামিং নতুন ভাষায় কথোপকথন শেখার মতো। তুমি "হ্যালো" এবং "ধন্যবাদ" দিয়ে শুরু করো, তারপর কফি অর্ডার করতে শেখো, এবং কিছুদিনের মধ্যে তুমি গভীর দার্শনিক আলোচনা করতে পারো! তবে এই ক্ষেত্রে, তুমি কম্পিউটারের সাথে কথোপকথন করছ, এবং সত্যি বলতে? তারা সবচেয়ে ধৈর্যশীল কথোপকথন সঙ্গী – তারা কখনো তোমার ভুলের বিচার করে না এবং তারা সবসময় আবার চেষ্টা করতে প্রস্তুত!
+দেখো, আমি পুরোপুরি বুঝতে পারি যদি এখনই প্রোগ্রামিং তোমাকে একটু কঠিন মনে হয়। যখন আমি শুরু করছিলাম, আমি সত্যি ভাবতাম তোমাকে হতে হবে কেউ গণিতের মাস্টার বা পাঁচ বছর বয়স থেকেই কোডিং করে আসা। কিন্তু যা আমার দৃষ্টিভঙ্গি পুরো বদলে দিয়েছিল তা হলো: প্রোগ্রামিং ঠিক যেমন নতুন একটি ভাষায় কথোপকথন শেখার মতো। তুমি শুরু করো "হ্যালো" এবং "ধন্যবাদ" দিয়ে, তারপর কফি অর্ডার করার মতো কথা বলতে শিখো, আর হঠাৎ করে গভীর দার্শনিক আলোচনা করো! তবে এখানে, তুমি কম্পিউটারদের সঙ্গে কথোপকথন করছ, এবং সত্যিই? তারা সবচেয়ে ধৈর্যশীল কথোপকথন সঙ্গী—তারা তোমার ভুলের বিচার করে না এবং সব সময় আবার চেষ্টা করতে উৎসাহী!
-আজ, আমরা সেই অসাধারণ টুলগুলো অন্বেষণ করব যা আধুনিক ওয়েব ডেভেলপমেন্টকে শুধু সম্ভবই করে না, বরং একেবারে নেশাসক্ত করে তোলে। আমি বলছি ঠিক সেই এডিটর, ব্রাউজার এবং ওয়ার্কফ্লো যা Netflix, Spotify এবং তোমার প্রিয় ইন্ডি অ্যাপ স্টুডিওর ডেভেলপাররা প্রতিদিন ব্যবহার করে। এবং যা তোমাকে আনন্দে নাচতে বাধ্য করবে তা হলো: এই পেশাদার-গ্রেড, ইন্ডাস্ট্রি-স্ট্যান্ডার্ড টুলগুলোর বেশিরভাগই সম্পূর্ণ বিনামূল্যে!
+আজ, আমরা অন্বেষণ করব অসাধারণ সরঞ্জামগুলি যা আধুনিক ওয়েব ডেভেলপমেন্টকে শুধু সম্ভব করেই না, বরং অতিবার আসক্তিকর করে তোলে। আমি কথা বলছ আজীবনের একই সম্পাদক, ব্রাউজার এবং ওয়ার্কফ্লো নিয়ে যা Netflix, Spotify এবং তোমার প্রিয় ইন্ডি অ্যাপ স্টুডিও প্রতিদিন ব্যবহার করে। আর এখানে যা তোমাকে উল্লসিত করবে: এই পেশাদার মানসম্পন্ন, শিল্প-মানের সরঞ্জামগুলোর বেশিরভাগ সম্পূর্ণ ফ্রি!
-
-> স্কেচনোট: [Tomomi Imura](https://twitter.com/girlie_mac)
+
+> স্কেচনোট [Tomomi Imura](https://twitter.com/girlie_mac) দ্বারা
```mermaid
journey
- title Your Programming Journey Today
- section Discover
- What is Programming: 5: You
- Programming Languages: 4: You
- Tools Overview: 5: You
- section Explore
- Code Editors: 4: You
- Browsers & DevTools: 5: You
- Command Line: 3: You
- section Practice
- Language Detective: 4: You
- Tool Exploration: 5: You
- Community Connection: 5: You
+ title আজকের আপনার প্রোগ্রামিং যাত্রা
+ section আবিষ্কার করুন
+ প্রোগ্রামিং কি: 5: You
+ প্রোগ্রামিং ভাষাসমূহ: 4: You
+ সরঞ্জাম পর্যালোচনা: 5: You
+ section অনুসন্ধান করুন
+ কোড সম্পাদকগণ: 4: You
+ ব্রাউজার এবং ডেভটুলস: 5: You
+ কমান্ড লাইন: 3: You
+ section অনুশীলন
+ ভাষা গোয়েন্দা: 4: You
+ সরঞ্জাম অনুসন্ধান: 5: You
+ সম্প্রদায়ের সংযোগ: 5: You
```
+## চল, দেখি তুমি ইতিমধ্যেই কী জানো!
-## দেখা যাক তুমি আগে থেকেই কী জানো!
+মজা শুরু করার আগে, আমি জানতে আগ্রহী—তুমি এখনো প্রোগ্রামিং জগত সম্পর্কে কী জানো? আর শোনো, যদি তুমি এই প্রশ্নগুলো দেখে ভাবো "আমার একদমই ধারনা নেই," সেটা একদম ঠিক আছে, বরং এটা নিখুঁত! এর মানে তুমি একেবারে সঠিক জায়গায় রয়েছো। এই কুইজটাকে এক ধরণের ওয়ার্ম-আপ ভাবো – আমরা স্মৃতিশক্তির পেশী গরম করছি!
-মজার অংশে যাওয়ার আগে, আমি জানতে চাই – তুমি এই প্রোগ্রামিং জগত সম্পর্কে আগে থেকেই কী জানো? এবং শুনো, যদি তুমি এই প্রশ্নগুলো দেখে ভাবো "আমি সত্যিই এর কিছুই জানি না," তাহলে সেটি শুধু ঠিকই নয়, বরং একদম পারফেক্ট! এর মানে তুমি ঠিক সঠিক জায়গায় আছ। এই কুইজটিকে একটি ওয়ার্কআউটের আগে স্ট্রেচিংয়ের মতো ভাবো – আমরা শুধু মস্তিষ্কের পেশিগুলো গরম করছি!
+[পূর্ব-পাঠের কুইজ নাও](https://ff-quizzes.netlify.app/web/)
-[পূর্ব-পাঠ কুইজ নাও](https://forms.office.com/r/dru4TE0U9n?origin=lprLink)
-## আমরা যে অভিযানে যাচ্ছি একসাথে
+## আমরা আজ যে অভিযানে যাচ্ছি
-ঠিক আছে, আমি সত্যিই উত্তেজনায় লাফাচ্ছি আজ আমরা যা অন্বেষণ করতে যাচ্ছি তা নিয়ে! সত্যি বলতে, আমি তোমার মুখ দেখতে চাই যখন কিছু ধারণা তোমার মাথায় ক্লিক করবে। এখানে আমাদের অবিশ্বাস্য যাত্রা:
+ঠিক আছে, আজ আমরা যা অন্বেষণ করবো তা নিয়ে আমি সত্যিই উচ্ছ্বসিত! সত্যি বলতে, আমি তোমার মুখটা দেখতে চাই যখন এই ধারণাগুলোর কোনটা তোমার জন্য স্পষ্ট হয়ে ওঠবে। এখানে আমাদের অবিশ্বাস্য যাত্রা:
-- **প্রোগ্রামিং আসলে কী (এবং কেন এটি সবচেয়ে কুল জিনিস!)** – আমরা আবিষ্কার করব কীভাবে কোড আসলে অদৃশ্য জাদু যা তোমার চারপাশের সবকিছু চালিত করে, সেই অ্যালার্ম থেকে যা জানে এটি সোমবার সকাল, সেই অ্যালগরিদম পর্যন্ত যা তোমার Netflix রিকমেন্ডেশন নিখুঁতভাবে সাজায়।
-- **প্রোগ্রামিং ভাষা এবং তাদের অসাধারণ ব্যক্তিত্ব** – কল্পনা করো একটি পার্টিতে ঢুকেছ যেখানে প্রত্যেকের সম্পূর্ণ ভিন্ন ক্ষমতা এবং সমস্যার সমাধানের পদ্ধতি আছে। প্রোগ্রামিং ভাষার জগত ঠিক এরকম, এবং তাদের সাথে পরিচিত হতে তোমার ভালো লাগবে!
-- **ডিজিটাল জাদু ঘটানোর মৌলিক নির্মাণ ব্লকগুলো** – এগুলোকে চূড়ান্ত সৃজনশীল LEGO সেট হিসেবে ভাবো। একবার তুমি বুঝতে পারবে কীভাবে এই অংশগুলো একসাথে ফিট করে, তুমি বুঝতে পারবে তুমি যা কল্পনা করো তা তৈরি করতে পারো।
-- **পেশাদার টুল যা তোমাকে মনে করাবে যেন তোমাকে একটি জাদুকরের ছড়ি দেওয়া হয়েছে** – আমি এখানে নাটকীয় হচ্ছি না – এই টুলগুলো সত্যিই তোমাকে মনে করাবে যেন তোমার সুপারপাওয়ার আছে, এবং সবচেয়ে ভালো অংশ? এগুলোই প্রোরা ব্যবহার করে!
+- **প্রোগ্রামিং আসলে কী (এবং কেন এটা সবচেয়ে দারুণ জিনিস!)** – আমরা আবিষ্কার করবো কিভাবে কোড হল অদৃশ্য জাদু যা তোমার চারপাশের সবকিছু চালায়, সেই অ্যালার্ম থেকে যা সোমবার সকাল বুঝে নেয়ো, সেই অ্যালগরিদম পর্যন্ত যা নিখুঁতভাবে তোমার Netflix সুপারিশ করে
+- **প্রোগ্রামিং ভাষাসমূহ এবং তাদের অসাধারণ বৈশিষ্ট্য** – কল্পনা করো এমন একটি পার্টিতে গিয়ে যেখানে প্রত্যেকে সম্পূর্ণ ভিন্ন অতিপ্রাকৃত ক্ষমতা এবং সমস্যা সমাধানের পন্থা নিয়ে আছে। প্রোগ্রামিং ভাষার জগৎ ঠিক এমনটাই, এবং তুমি তাদের সাথে পরিচিত হতে ভালোবাসবে!
+- **মৌলিক নির্মাণ ব্লক যা ডিজিটাল জাদু ঘটায়** – এগুলোকে ভাবো একটি চূড়ান্ত স্রষ্টামূলক LEGO সেট হিসেবে। একবার কিভাবে এই টুকরোগুলো একসাথে কাজ করে বুঝলে, তুমি অফুরন্ত কিছুই তৈরি করতে পারবে তোমার কল্পনার নাম অনুসারে
+- **পেশাদার সরঞ্জাম যা তোমাকে মনে করাবে তোমার কাছে যাদুর ছড়ি এসেছে** – আমি নাটকীয়তা করছি না — এই সরঞ্জামগুলো সত্যিই তোমাকে অতিপ্রাকৃত অধিকার পাওয়ার মত অনুভূতি দেবে, আর সবচেয়ে ভাল কথা? এগুলোই প্রফেশনালরা ব্যবহার করে!
-> 💡 **মজার বিষয়**: আজ সবকিছু মনে রাখার চেষ্টা করো না! এখন আমি শুধু চাই তুমি সম্ভাবনার প্রতি উত্তেজনা অনুভব করো। আমরা একসাথে অনুশীলন করার সময় বিস্তারিত বিষয়গুলো স্বাভাবিকভাবেই মনে থাকবে – আসল শেখা এভাবেই হয়!
+> 💡 **মর্ম কথা:** আজকে সবকিছু মুখস্থ করার চেষ্টা করো না! এখন শুধু এটা অনুভব করো যে কি সম্ভব তা নিয়ে তোমার মধ্যে আগ্রহ তৈরি হচ্ছে। বিস্তারিতগুলো স্বাভাবিকভাবেই চর্চার মাধ্যমে মজবুত হবে – এরাই তো আসল শেখার পথ!
-> তুমি এই পাঠটি [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon) এ নিতে পারো!
+> তোমরা এই পাঠটি [Microsoft Learn](https://learn.microsoft.com/en-us/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon) এ নিতে পারো!
-## তাহলে প্রোগ্রামিং আসলে কী?
+## তাহলে প্রোগ্রামিং আসলে *কি*?
-ঠিক আছে, চলো মিলিয়ন-ডলার প্রশ্নটি মোকাবিলা করি: প্রোগ্রামিং আসলে কী?
+ঠিক আছে, আসুন আমরা সেরা প্রশ্নের উত্তর দিই: প্রোগ্রামিং আসলে কী?
-আমি তোমাকে একটি গল্প বলব যা আমার চিন্তাভাবনা পুরোপুরি বদলে দিয়েছে। গত সপ্তাহে, আমি আমার মাকে আমাদের নতুন স্মার্ট টিভি রিমোট ব্যবহার করতে বোঝানোর চেষ্টা করছিলাম। আমি নিজেকে বলতে শুনলাম, "লাল বোতামটি চাপো, তবে বড় লাল বোতামটি নয়, ছোট লাল বোতামটি বাম দিকে... না, তোমার অন্য বাম... ঠিক আছে, এখন এটি দুই সেকেন্ড ধরে রাখো, এক সেকেন্ড নয়, তিন সেকেন্ডও নয়..." পরিচিত শোনাচ্ছে? 😅
+আমি তোমাকে এমন একটা গল্প বলব যা আমার পুরো চিন্তা বদলে দিয়েছিল। গত সপ্তাহে, আমি আমার মাকে বোঝানোর চেষ্টা করছিলাম কিভাবে আমাদের নতুন স্মার্ট টিভির রিমোট ব্যবহার করতে হয়। আমি নিজেকে বলছিলাম, "লাল বাটন চাপবে, কিন্তু বড় লাল বাটন নয়, বাম দিকের ছোট লাল বাটনে... না, তোমার অন্য বাম... ঠিক আছে, এখন দুই সেকেন্ড ধরে ধরো, এক নয়, তিন নয়..." মনে হচ্ছে পরিচিত? 😅
-এটাই প্রোগ্রামিং! এটি অত্যন্ত বিস্তারিত, ধাপে ধাপে নির্দেশনা দেওয়ার শিল্প, এমন কিছুতে যা খুব শক্তিশালী কিন্তু সবকিছু নিখুঁতভাবে ব্যাখ্যা করা প্রয়োজন। তবে মাকে বোঝানোর পরিবর্তে (যিনি "কোন লাল বোতাম?!" জিজ্ঞাসা করতে পারেন), তুমি একটি কম্পিউটারকে বোঝাচ্ছ (যা ঠিক তাই করে যা তুমি বলো, যদিও তুমি যা বলেছ তা হয়তো তুমি যা বোঝাতে চেয়েছ তা নয়)।
+এটাই প্রোগ্রামিং! এটা একটা শিল্প যেখানে খুব বিস্তারিত, ধাপে ধাপে নির্দেশ দেওয়া হয় এমন একটি শক্তিশালী সিস্টেমকে যেটাকে সবকিছু নিখুঁতভাবে স্পেল আউট করতে হয়। তবে এখানে মাকে (যিনি জিজ্ঞাসা করতে পারেন "কোন লাল বাটন?") নয়, বরং কম্পিউটারকে বোঝানো হয় (যে ঠিক তোমার কথামতো কাজ করে, যদিও তুমি ঠিক যেমনটি বলেছিলে তা বুঝতে পারো না)।
-যা আমার মনকে উড়িয়ে দিয়েছিল তা হলো: কম্পিউটার আসলে তাদের মূলে বেশ সহজ। তারা মাত্র দুটি জিনিস বোঝে – ১ এবং ০, যা মূলত "হ্যাঁ" এবং "না" বা "চালু" এবং "বন্ধ।" এটাই! কিন্তু এখানেই জাদু শুরু হয় – আমাদের ১ এবং ০-এ কথা বলতে হয় না যেন আমরা The Matrix-এ আছি। এখানেই **প্রোগ্রামিং ভাষা** আমাদের উদ্ধার করে। এগুলো এমন এক সেরা অনুবাদক যা তোমার সাধারণ মানবিক চিন্তাভাবনাকে কম্পিউটার ভাষায় রূপান্তর করে।
+যা আমাকে প্রথম শিখার সময় বিস্মিত করেছিল তা হলো: কম্পিউটারগুলি আসলেই মূলে খুবই সরল। তারা মাত্র দুইটি জিনিস বোঝে—১ এবং ০, যা হল "হ্যাঁ" এবং "না" বা "চালু" এবং "বন্ধ"। তাই! কিন্তু এখানেই জাদু শুরু হয়—আমাদের ১ এবং ০ তে কথা বলতে হবে না আরও বুঝি না! তখনই **প্রোগ্রামিং ভাষাসমূহ** আসেন সাহায্যে। তারা যেন বিশ্বের সেরা অনুবাদক, যারা তোমার স্বাভাবিক মানব চিন্তাভাবনাকে কম্পিউটারের ভাষায় অনুবাদ করে দেয়।
-এবং যা আমাকে প্রতিদিন সকালে সত্যিই শিহরিত করে তা হলো: তোমার জীবনের প্রতিটি ডিজিটাল জিনিস শুরু হয়েছিল তোমার মতো কারো দ্বারা, সম্ভবত তাদের পায়জামা পরে কফি হাতে ল্যাপটপে কোড টাইপ করতে করতে। সেই Instagram ফিল্টার যা তোমাকে নিখুঁত দেখায়? কেউ সেটি কোড করেছে। সেই রিকমেন্ডেশন যা তোমাকে তোমার নতুন প্রিয় গানের দিকে নিয়ে গেছে? একজন ডেভেলপার সেই অ্যালগরিদম তৈরি করেছে। সেই অ্যাপ যা তোমাকে বন্ধুদের সাথে ডিনারের বিল ভাগ করতে সাহায্য করে? হ্যাঁ, কেউ ভেবেছিল "এটি বিরক্তিকর, আমি বাজি ধরে বলতে পারি এটি ঠিক করতে পারি" এবং তারপর... তারা করেছে!
+আর প্রতিদিন সকালে যখন আমি উঠি তখন যা এখনো আমাকে রোমাঞ্চিত করে: তোমার জীবনের সমস্ত ডিজিটাল কিছুই শুরু হয়েছিল ঠিক তোমার মতো কারো হাত থেকে, সম্ভবত প্যাজামায় মোড়ানো, কফির কাপ হাতে নিয়ে ল্যাপটপে কোড টাইপ করতে করতে। সেই Instagram ফিল্টার যা তোমাকে পরফেক্ট দেখায়? কেউ সেটি কোড করেছিল। প্রস্তাবনা যা তোমাকে তোমার নতুন প্রিয় গানের দিকে নিয়ে গিয়েছিল? একজন ডেভেলপার সেই অ্যালগরিদম তৈরি করেছিল। সেই অ্যাপ যা তোমাকে তোমার বন্ধুদের সাথে ডিনার বিল ভাগ করতে সাহায্য করে? হ্যাঁ, কেউ ভাবল "এটা বিরক্তিকর, আমি এটা ঠিক করতে পারি" আর তারপর করেই ফেলল!
-যখন তুমি প্রোগ্রামিং শিখবে, তুমি শুধু একটি নতুন দক্ষতা অর্জন করবে না – তুমি সমস্যার সমাধানকারী এই অবিশ্বাস্য সম্প্রদায়ের অংশ হয়ে উঠবে যারা তাদের দিন কাটায় ভাবতে, "যদি আমি এমন কিছু তৈরি করতে পারি যা কারো দিনকে একটু ভালো করে তোলে?" সত্যি বলতে, এর চেয়ে কুল আর কিছু হতে পারে?
+যখন তুমি প্রোগ্রামিং শিখবে, তুমি শুধু একটি নতুন দক্ষতা অর্জন করছ না—তুমি এমন একটি অসাধারণ সমস্যার সমাধানকারী সম্প্রদায়ের অংশ হয়ে উঠছো যারা প্রতিদিন ভাবছে, "কী হয়, যদি আমি এমন কিছু তৈরি করি যা কারো দিন একটু ভালো করে তোলে?" সত্যি বলছি, এর থেকে আর কিছু দারুণ হতে পারে?
-✅ **মজার তথ্য অনুসন্ধান**: যখন তোমার হাতে একটু সময় থাকবে তখন একটি মজার বিষয় খুঁজে বের করো – তুমি কি জানো কে ছিলেন বিশ্বের প্রথম কম্পিউটার প্রোগ্রামার? আমি একটি ইঙ্গিত দেব: এটি হয়তো তোমার প্রত্যাশিত কেউ নয়! এই ব্যক্তির গল্পটি একেবারে চমকপ্রদ এবং দেখায় যে প্রোগ্রামিং সবসময় সৃজনশীল সমস্যার সমাধান এবং বক্সের বাইরে চিন্তা করার বিষয় ছিল।
+✅ **মজার তথ্য খোঁজা:** যখন ফাঁকা সময় পাবে, এটা অনুসন্ধান করো—বিশ্বের প্রথম কম্পিউটার প্রোগ্রামার কে ছিলেন বলে তুমি ভাবো? আমি তোমায় একটি ইঙ্গিত দেবো: হয়তো তুমি যা ভাবছো তা নাও হতে পারে! এই ব্যক্তির গল্প বেশ মজাদার এবং দেখায় প্রোগ্রামিং সবসময় ছিল সৃজনশীল সমস্যা সমাধান এবং সাধারণ ধারা থেকে বেরিয়ে চিন্তার ব্যাপার।
-### 🧠 **চেক-ইন সময়: তুমি কেমন অনুভব করছ?**
+### 🧠 **চেক-ইন সময়: কেমন লাগছে?**
-**একটু সময় নিয়ে ভাবো:**
-- "কম্পিউটারকে নির্দেশনা দেওয়া" ধারণাটি কি এখন তোমার কাছে পরিষ্কার?
-- তুমি কি এমন কোনো দৈনন্দিন কাজের কথা ভাবতে পারো যা তুমি প্রোগ্রামিং দিয়ে স্বয়ংক্রিয় করতে চাও?
-- এই পুরো প্রোগ্রামিং বিষয়টি নিয়ে তোমার মনে কী প্রশ্ন উঠছে?
+**একটু ভাবো:**
+- "কম্পিউটারকে নির্দেশ দেওয়ার" ধারণাটা কি এখন তোমার কাছে স্পষ্ট?
+- এমন কোন কাজ আছে যা তুমি প্রোগ্রামিং দিয়ে স্বয়ংক্রিয় করতে চাও?
+- প্রোগ্রামিং নিয়ে এখন তোমার মাথায় কি প্রশ্ন জাগছে?
-> **মনে রাখো**: যদি কিছু ধারণা এখনো অস্পষ্ট মনে হয় তবে এটি একেবারে স্বাভাবিক। প্রোগ্রামিং শেখা নতুন ভাষা শেখার মতো – তোমার মস্তিষ্কের সেই নিউরাল পথগুলো তৈরি হতে সময় লাগে। তুমি দারুণ করছ!
+> **মনে রেখো:** কিছু ধারণা যদি এখন পরিচ্ছন্ন না মনে হয় তাতে চিন্তা করার কিছু নেই। প্রোগ্রামিং শেখা হল নতুন একটি ভাষা শেখার মতো—তোমার মস্তিষ্ককে নতুন রাস্তাগুলো তৈরি করতে সময় লাগে। তুমি অসাধারণ করছ!
-## প্রোগ্রামিং ভাষা বিভিন্ন ধরণের জাদুর মতো
+## প্রোগ্রামিং ভাষাসমূহ হলো বিভিন্ন ধরণের জাদুর স্বাদ
-ঠিক আছে, এটি অদ্ভুত শোনাতে পারে, কিন্তু আমার সাথে থাকো – প্রোগ্রামিং ভাষা অনেকটা বিভিন্ন ধরণের সঙ্গীতের মতো। ভাবো: তোমার কাছে জ্যাজ আছে, যা মসৃণ এবং স্বতঃস্ফূর্ত, রক যা শক্তিশালী এবং সরল, ক্লাসিকাল যা মার্জিত এবং গঠনমূলক, এবং হিপ-হপ যা সৃজনশীল এবং অভিব্যক্তিপূর্ণ। প্রতিটি শৈলীর নিজস্ব পরিবেশ, নিজস্ব উত্সাহী ভক্তদের সম্প্রদায় আছে, এবং প্রতিটি ভিন্ন মেজাজ এবং উপলক্ষের জন্য উপযুক্ত।
+ঠিক আছে, এটা অদ্ভুত শোনাতে পারে, কিন্তু আমার সাথে থাকো—প্রোগ্রামিং ভাষাগুলো অনেকটা বিভিন্ন ধরনের সঙ্গীতের মতো। ভাবো: তোমার কাছে আছে জাজ, যা মসৃণ ও ইমপ্রোভাইজেশনভিত্তিক, রক যা শক্তিশালী ও সরল, ক্লাসিক্যাল যা উজ্জ্বল ও গঠিত এবং হিপ-হপ যা সৃজনশীল ও প্রকাশ্য। প্রতিটি ধারার নিজস্ব ভেজ, পরিপাটি ফ্যানের সম্প্রদায় এবং প্রতিটি আলাদা মেজাজ ও উপলক্ষে যথার্থ।
-প্রোগ্রামিং ভাষাগুলো ঠিক একইভাবে কাজ করে! তুমি একটি মজার মোবাইল গেম তৈরি করতে যে ভাষা ব্যবহার করবে, তা দিয়ে বিশাল পরিমাণ জলবায়ু তথ্য বিশ্লেষণ করতে পারবে না, যেমন তুমি যোগব্যায়ামের ক্লাসে ডেথ মেটাল বাজাবে না (ঠিক আছে, বেশিরভাগ যোগব্যায়ামের ক্লাসে!)।
+প্রোগ্রামিং ভাষাসমূহ একই রকম কাজ করে! তুমি এমন এক ভাষা ব্যবহার করবে না যা খেলাধূলার একটি মোবাইল গেম বানাতে যা বিশাল পরিমাণ জলবায়ু তথ্য বিশ্লেষণ করার জন্য দরকার, যেমন তুমি যোগ ক্লাসে ডেথ মেটাল প্লে করবে না (ঠিক আছে, বেশিরভাগ যোগ ক্লাসে না! 😄)।
-তবে যা আমাকে প্রতিবারই অবাক করে তা হলো: এই ভাষাগুলো এমন এক ধৈর্যশীল, উজ্জ্বল অনুবাদক থাকার মতো যা তোমার পাশে বসে আছে। তুমি তোমার চিন্তাভাবনাগুলো এমনভাবে প্রকাশ করতে পারো যা তোমার মানব মস্তিষ্কের জন্য স্বাভাবিক মনে হয়, এবং তারা সেই জটিল কাজগুলো করে যা কম্পিউটার আসলে বোঝে। এটি এমন একজন বন্ধুর মতো যে "মানব সৃজনশীলতা" এবং "কম্পিউটার লজিক" উভয় ভাষায় পুরোপুরি দক্ষ – এবং তারা কখনো ক্লান্ত হয় না, কখনো কফি বিরতি নেয় না, এবং কখনো একই প্রশ্ন দুবার জিজ্ঞাসা করার জন্য তোমাকে বিচার করে না!
+কিন্তু যা আমাকে প্রতি বার মুগ্ধ করে ভাবলে: এই ভাষাগুলো হল একদম সবচেয়ে ধৈর্যশীল, মেধাবী দোভাষী তোমার পাশে বসে আছে। তুমি তোমার ভাবনা এমনভাবে প্রকাশ করতে পারো যা তোমার মানব মস্তিষ্কের জন্য স্বাভাবিক, আর তারা সমস্ত জটিল কাজ করে ১ ও ০ তে অনুবাদ করার যা কম্পিউটার বুঝে। এটা এমন একটি বন্ধুর মত, যিনি "মানব সৃজনশীলতা" এবং "কম্পিউটার যুক্তি" উভয় ভাষাতেই নিখুঁত পারদর্শী—তারা কখনো ক্লান্ত হয় না, কখনো কফি বিরতি দরকার হয় না, এবং তোমার একই প্রশ্ন বারবার করার জন্য কখনো বিচার করে না!
-### জনপ্রিয় প্রোগ্রামিং ভাষা এবং তাদের ব্যবহার
+### জনপ্রিয় প্রোগ্রামিং ভাষা এবং তাদের ব্যবহার
```mermaid
mindmap
root((Programming Languages))
Web Development
JavaScript
- Frontend Magic
- Interactive Websites
+ Frontend Magic [ফ্রন্টএন্ড জাদু]
+ Interactive Websites [ইন্টারেক্টিভ ওয়েবসাইটস]
TypeScript
- JavaScript + Types
- Enterprise Apps
+ JavaScript + Types [জাভাস্ক্রিপ্ট + টাইপস]
+ Enterprise Apps [এন্টারপ্রাইজ অ্যাপস]
Data & AI
Python
- Data Science
- Machine Learning
- Automation
+ Data Science [ডেটা সায়েন্স]
+ Machine Learning [মেশিন লার্নিং]
+ Automation [স্বয়ংক্রিয়করণ]
R
- Statistics
- Research
+ Statistics [পরিসংখ্যান]
+ Research [গবেষণা]
Mobile Apps
Java
- Android
- Enterprise
+ Android [অ্যান্ড্রয়েড]
+ Enterprise [এন্টারপ্রাইজ]
Swift
iOS
- Apple Ecosystem
+ Apple Ecosystem [অ্যাপল ইকোসিস্টেম]
Kotlin
- Modern Android
- Cross-platform
+ Modern Android [আধুনিক অ্যান্ড্রয়েড]
+ Cross-platform [ক্রস-প্ল্যাটফর্ম]
Systems & Performance
C++
- Games
- Performance Critical
+ Games [গেমস]
+ Performance Critical [পারফরম্যান্স ক্রিটিক্যাল]
Rust
- Memory Safety
- System Programming
+ Memory Safety [মেমরি সেফটি]
+ System Programming [সিস্টেম প্রোগ্রামিং]
Go
- Cloud Services
- Scalable Backend
+ Cloud Services [ক্লাউড সার্ভিসেস]
+ Scalable Backend [স্কেলেবল ব্যাকএন্ড]
```
-
-| ভাষা | সেরা ব্যবহার | কেন এটি জনপ্রিয় |
-|------|--------------|------------------|
-| **জাভাস্ক্রিপ্ট** | ওয়েব ডেভেলপমেন্ট, ইউজার ইন্টারফেস | ব্রাউজারে চলে এবং ইন্টারঅ্যাকটিভ ওয়েবসাইট চালিত করে |
-| **পাইথন** | ডেটা সায়েন্স, অটোমেশন, AI | পড়তে এবং শিখতে সহজ, শক্তিশালী লাইব্রেরি |
-| **জাভা** | এন্টারপ্রাইজ অ্যাপ্লিকেশন, অ্যান্ড্রয়েড অ্যাপ | প্ল্যাটফর্ম-স্বাধীন, বড় সিস্টেমের জন্য শক্তিশালী |
-| **C#** | উইন্ডোজ অ্যাপ্লিকেশন, গেম ডেভেলপমেন্ট | শক্তিশালী মাইক্রোসফট ইকোসিস্টেম সাপোর্ট |
-| **Go** | ক্লাউড সার্ভিস, ব্যাকএন্ড সিস্টেম | দ্রুত, সহজ, আধুনিক কম্পিউটিংয়ের জন্য ডিজাইন করা |
+| ভাষা | সেরা ব্যবহার | কেন জনপ্রিয় |
+|----------|----------|------------------|
+| **JavaScript** | ওয়েব ডেভেলপমেন্ট, ব্যবহারকারী ইন্টারফেস | ব্রাউজারে চলে এবং ইন্টারঅ্যাকটিভ ওয়েবসাইট চালায় |
+| **Python** | ডেটা সায়েন্স, অটোমেশন, এআই | পড়তে ও শেখতে সহজ, শক্তিশালী লাইব্রেরি |
+| **Java** | এন্টারপ্রাইজ অ্যাপ্লিকেশন, অ্যান্ড্রয়েড অ্যাপ | প্ল্যাটফর্ম-স্বাধীন, বড় সিস্টেমের জন্য মজবুত |
+| **C#** | উইন্ডোজ অ্যাপ্লিকেশন, গেম ডেভেলপমেন্ট | শক্তিশালী মাইক্রোসফট ইকোসিস্টেম সমর্থন |
+| **Go** | ক্লাউড সার্ভিস, ব্যাক-এন্ড সিস্টেম | দ্রুত, সহজ, আধুনিক কম্পিউটিংয়ের জন্য ডিজাইন করা |
### উচ্চ-স্তরের বনাম নিম্ন-স্তরের ভাষা
-ঠিক আছে, এটি ছিল সেই ধারণা যা আমাকে প্রথমে বিভ্রান্ত করেছিল, তাই আমি সেই উপমা শেয়ার করতে যাচ্ছি যা অবশেষে আমার জন্য এটি পরিষ্কার করেছিল – এবং আমি সত্যিই আশা করি এটি তোমার জন্যও সাহায্য করবে!
+ঠিক আছে, এটা আসলেই এমন একটি ধারণা যা আমার মস্তিষ্ক ভেঙে দিয়েছিল যখন আমি প্রথম শিখছিলাম, তাই আমি সেই রূপকটি শেয়ার করব যা আমাকে শেষ পর্যন্ত বুঝতে সাহায্য করেছিল—আশা করি এটা তোমার জন্যও সাহায্য করবে!
-কল্পনা করো তুমি এমন একটি দেশে গিয়েছ যেখানে তুমি ভাষা জানো না, এবং তোমার খুব জরুরি প্রয়োজন কাছের বাথরুম খুঁজে বের করার (আমরা সবাই এই পরিস্থিতিতে পড়েছি, তাই না? 😅):
+ধরো তুমি এমন একটি দেশে যাচ্ছো যেখানে তুমি ভাষা বলতে পারো না, আর অবিলম্বে তোমার কাছে সবচেয়ে কাছের বাথরুম খুঁজে বের করতে হবে (আমরা সবাই সেখানে গিয়েছি, তাই না? 😅):
-- **নিম্ন-স্তরের প্রোগ্রামিং** হলো স্থানীয় ভাষা এত ভালোভাবে শেখা যে তুমি রাস্তার কোণে ফল বিক্রি করা বৃদ্ধার সাথে কথা বলতে পারো সাংস্কৃতিক রেফারেন্স, স্থানীয় স্ল্যাং এবং ভিতরের রসিকতা ব্যবহার করে যা শুধুমাত্র কেউ বুঝবে যে সেখানে বড় হয়েছে। খুবই চিত্তাকর্ষক এবং অত্যন্ত কার্যকর... যদি তুমি সাবলীল হও! কিন্তু যখন তুমি শুধু বাথরুম খুঁজতে চাও তখন এটি বেশ চাপের।
+- **নিম্ন-স্তরের প্রোগ্রামিং** এমন যেন তুমি স্থানীয় উপভাষাটি এতটাই ভালো শিখেছ যে তুমি সেই বুড়ি ঠাকুরমা সঙ্গে ফল বিক্রেতার সাথে বহু স্থানীয় রেফারেন্স, স্থানীয় ভাষা ও অভ্যন্তরীণ রসিকতা ব্যবহার করে আড্ডা মারতে পারো যা শুধু স্থানীয় মানুষই বুঝতে পারে। খুবই প্রভাবশালী ও কার্যকর... যদি তুমি সত্যিই সাবলীল হও! কিন্তু যখন তুমি শুধু বাথরুম খুঁজছ তখন সেটা বেশ জটিল।
-- **উচ্চ-স্তরের প্রোগ্রামিং** হলো সেই অসাধারণ স্থানীয় বন্ধুর মতো যে তোমাকে বুঝে। তুমি "আমি সত্যিই একটি বাথরুম খুঁজতে চাই" সাধারণ ইংরেজিতে বলতে পারো, এবং তারা সমস্ত সাংস্কৃতিক অনুবাদ পরিচালনা করে এবং তোমার অ-স্থানীয় মস্তিষ্কের জন্য অর্থবহভাবে দিকনির্দেশনা দেয়।
+- **উচ্চ-স্তরের প্রোগ্রামিং** হল সেই অসাধারন স্থানীয় বন্ধু যিনি তোমাকে বুঝে; তুমি সহজ ইংরেজিতে বলতে পারো "আমার বাথরুম খুঁজতে হবে," আর তারা সমস্ত সাংস্কৃতিক অনুবাদ করে এমন একটি পথ নির্দেশনা দেয় যা তোমার অজানা মস্তিষ্কেও একদম পরিষ্কার হয়।
-প্রোগ্রামিংয়ের ক্ষেত্রে:
-- **নিম্ন-স্তরের ভাষা** (যেমন Assembly বা C) তোমাকে কম্পিউটারের আসল হার্ডওয়্যারের সাথে অত্যন্ত বিস্তারিত কথোপকথন করতে দেয়, কিন্তু তোমাকে একটি মেশিনের মতো চিন্তা করতে হয়, যা... ঠিক আছে, এটি একটি বড় মানসিক পরিবর্তন!
-- **উচ্চ-স্তরের ভাষা** (যেমন JavaScript, Python, বা C#) তোমাকে একজন মানুষের মতো চিন্তা করতে দেয় যখন তারা সমস্ত মেশিন-স্পিক পরিচালনা করে। এছাড়া, তাদের এমন অবিশ্বাস্যভাবে স্বাগত জানানো সম্প্রদায় আছে যারা নতুন হওয়ার অভিজ্ঞতা মনে রাখে এবং সত্যিই সাহায্য করতে চায়!
+প্রোগ্রামিংয়ের ভাষায়:
+- **নিম্ন-স্তরের ভাষা** (যেমন এসেম্বলি বা সি) তোমাকে কম্পিউটারের আসল হার্ডওয়ারের সঙ্গে খুব বিস্তারিত কথোপকথন করতে দেয়, কিন্তু তোমাকে মেশিনের মত চিন্তা করতে হবে, যা বলতে গেলে একটি বড় মানসিক পরিবর্তন!
+- **উচ্চ-স্তরের ভাষা** (যেমন JavaScript, Python, অথবা C#) তোমাকে মানবের মত চিন্তা করতে দেয় এবং তারা পেছনে সব মেশিন-ভাষার কাজ করে দেয়। সাথে সাথে, এগুলোর এমন অসাধারণ মৈত্রীপূর্ণ সম্প্রদায় আছে যেটা তোমাকে মনে করিয়ে দেয় তারা যখন নতুন ছিল তখন তারা কেমন ছিল এবং তারা তোমাকে সাহায্য করতে চায়!
-তুমি অনুমান করতে পারো আমি কোনটি দিয়ে শুরু করার পরামর্শ দেব? 😉 উচ্চ-স্তরের ভাষা হলো এমন প্রশিক্ষণ চাকা যা তুমি কখনো খুলতে চাইবে না কারণ তারা পুরো অভিজ্ঞতাকে অনেক বেশি উপভোগ্য করে তোলে!
+তুমি ভাবছ কোথা থেকে শুরু করো? 😉 উচ্চ-স্তরের ভাষাগুলো হলো এমন প্রশিক্ষণ চাকা যা তুমি কখনই খুলে ফেলতে চাও না কারণ তারা পুরো অভিজ্ঞতাটাকে আরো উপভোগ্য করে তোলে!
```mermaid
flowchart TB
- A["👤 Human Thought: 'I want to calculate Fibonacci numbers'"] --> B{Choose Language Level}
+ A["👤 মানব চিন্তা: 'আমি ফিবোনাচ্চি সংখ্যা গণনা করতে চাই'"] --> B{ভাষার স্তর নির্বাচন করুন}
- B -->|High-Level| C["🌟 JavaScript/Python Easy to read and write"]
- B -->|Low-Level| D["⚙️ Assembly/C Direct hardware control"]
+ B -->|উচ্চ-স্তর| C["🌟 জাভাস্ক্রিপ্ট/পাইথন সহজে পড়া এবং লেখা যায়"]
+ B -->|নীচু-স্তর| D["⚙️ অ্যাসেমবলি/সি ডিরেক্ট হার্ডওয়্যার নিয়ন্ত্রণ"]
- C --> E["📝 Write: fibonacci(10)"]
- D --> F["📝 Write: mov r0,#00 sub r0,r0,#01"]
+ C --> E["📝 লিখুন: fibonacci(10)"]
+ D --> F["📝 লিখুন: mov r0,#00 sub r0,r0,#01"]
- E --> G["🤖 Computer Understanding: Translator handles complexity"]
+ E --> G["🤖 কম্পিউটার বোঝা: অনুবাদক জটিলতা সামলায়"]
F --> G
- G --> H["💻 Same Result: 0, 1, 1, 2, 3, 5, 8, 13..."]
+ G --> H["💻 একই ফলাফল: 0, 1, 1, 2, 3, 5, 8, 13..."]
style C fill:#e1f5fe
style D fill:#fff3e0
style H fill:#e8f5e8
```
+### কেন উচ্চ-স্তরের ভাষাগুলো এত বন্ধুতা পূর্ণ, আমি দেখাবো
-### কেন উচ্চ-স্তরের ভাষা এত বেশি বন্ধুত্বপূর্ণ তা আমি তোমাকে দেখাই
-
-ঠিক আছে, আমি তোমাকে এমন কিছু দেখাতে যাচ্ছি যা পুরোপুরি প্রদর্শন করে কেন আমি উচ্চ-স্তরের ভাষার প্রেমে পড়েছি, কিন্তু প্রথমে – আমি তোমার কাছ থেকে একটি প্রতিশ্রুতি চাই। যখন তুমি প্রথম কোড উদাহরণটি দেখবে, আতঙ্কিত হয়ো না! এটি ভয়ঙ্কর দেখানোর জন্যই তৈরি করা হয়েছে। এটাই আমি বোঝাতে চাইছি!
+ঠিক আছে, আমি তোমাকে কিছু দেখাতে যাচ্ছি যা দেখায় কেন আমি উচ্চ-স্তরের ভাষাগুলো ভালোবাসি, কিন্তু আগে—তুমি আমাকে একটা প্রতিশ্রুতি দাও। প্রথম কোড উদাহরণ দেখলে ভয় পেও না! এটা যথাযথরূপে একটু জটিল দেখাতে হবে। এজন্যই আমি এটা ধরিয়ে দিতে চাচ্ছি!
-আমরা একই কাজ দুটি সম্পূর্ণ ভিন্ন শৈলীতে লেখা দেখব। দুটিই তৈরি করে যাকে বলা হয় Fibonacci সিকোয়েন্স – এটি একটি সুন্দর গাণিতিক প্যাটার্ন যেখানে প্রতিটি সংখ্যা আগের দুটি সংখ্যার যোগফল: ০, ১, ১, ২, ৩, ৫, ৮, ১৩... (মজার তথ্য: তুমি এই প্যাটার্ন প্রকৃতির সর্বত্র খুঁজে পাবে – সূর্যমুখীর বীজের ঘূর্ণন, পাইনকোনের প্যাটার্ন, এমনকি গ্যালাক্সি গঠনের পদ্ধতিতে!)
+আমরা একই কাজ দুইটি সম্পূর্ণ ভিন্ন স্টাইলেই করব। দুইটাই ফিবোনাচ্চি সিকোয়েন্স তৈরি করবে – এটি একটি সুন্দর গণিত প্যাটার্ন যেখানে প্রতিটি সংখ্যা তার আগের দুটির যোগফল: ০, ১, ১, ২, ৩, ৫, ৮, ১৩... (মজার কথা: তুমি এই প্যাটার্ন প্রকৃতিতে সর্বত্র পাবে—সূর্যমুখীর বীজের সর্পিল, পাইনকন নিদর্শন, এমনকি গ্যালাক্সির গঠনেও!)
-তফাৎ দেখতে প্রস্তুত? চলো যাই!
+দেখতে প্রস্তুত? চলো যাই!
-**উচ্চ-স্তরের ভাষা (JavaScript) – মানব-বান্ধব:**
+**উচ্চ-স্তরের ভাষা (JavaScript) – মানুষের জন্য সহজ:**
```javascript
-// Step 1: Basic Fibonacci setup
+// ধাপ ১: মৌলিক ফিবোনাচ্চি সেটআপ
const fibonacciCount = 10;
let current = 0;
let next = 1;
@@ -185,32 +183,32 @@ let next = 1;
console.log('Fibonacci sequence:');
```
-**এই কোডটি যা করে:**
-- **ঘোষণা করে** একটি কনস্ট্যান্ট যা নির্ধারণ করে আমরা কত Fibonacci সংখ্যা তৈরি করতে চাই
-- **প্রাথমিকভাবে সেট করে** দুটি ভ্যারিয়েবল যা সিকোয়েন্সের বর্তমান এবং পরবর্তী সংখ্যাগুলো ট্র্যাক করে
-- **শুরু করে** Fibonacci প্যাটার্ন নির্ধারণকারী প্রাথমিক মান (০ এবং ১)
-- **প্রদর্শন করে** একটি হেডার বার্তা যা আমাদের আউটপুট চিহ্নিত করে
+**এই কোডটি যা করে তা হলো:**
+- **একটি ধ্রুবক ঘোষণা** করে আমাদের কত সংখ্যক ফিবোনাচ্চি সংখ্যা দরকার তা নির্ধারণ করে
+- **দুটি ভেরিয়েবল শুরু** করে যা সিকোয়েন্সের বর্তমান ও পরবর্তী সংখ্যা ট্র্যাক করে
+- **শুরুতে মান সেট** করে (০ ও ১) যেগুলো ফিবোনাচ্চি প্যাটার্ন সংজ্ঞায়িত করে
+- **একটি শিরোনাম বার্তা প্রদর্শিত করে** আমাদের আউটপুটের পরিচয় হিসাবে
```javascript
-// Step 2: Generate the sequence with a loop
+// ধাপ ২: একটি লুপ দিয়ে সিকোয়েন্স তৈরি করুন
for (let i = 0; i < fibonacciCount; i++) {
console.log(`Position ${i + 1}: ${current}`);
- // Calculate next number in sequence
+ // সিকোয়েন্সে পরবর্তী সংখ্যা গণনা করুন
const sum = current + next;
current = next;
next = sum;
}
```
-**এখানে যা ঘটে তা ভেঙে দেখা:**
-- **লুপ করে** সিকোয়েন্সের প্রতিটি অবস্থান একটি `for` লুপ ব্যবহার করে
-- **প্রদর্শন করে** প্রতিটি সংখ্যা তার অবস্থানসহ টেমপ্লেট লিটারাল ফরম্যাটিং ব্যবহার করে
-- **গণনা করে** পরবর্তী Fibonacci সংখ্যা বর্তমান এবং পরবর্তী মান যোগ করে
-- **আপডেট করে** আমাদের ট্র্যাকিং ভ্যারিয়েবলগুলো পরবর্তী ইটারেশনে যাওয়ার জন্য
+**দেখো এখানে কী হচ্ছে:**
+- **`for` লুপের মাধ্যমে** সিকোয়েন্সের প্রতিটি অবস্থানে ঘুরে
+- **প্রতিটি সংখ্যা তার অবস্থানসহ** টেমপ্লেট লিটারাল ফর্ম্যাটিং দিয়ে দেখায়
+- **পরবর্তী ফিবোনাচ্চি সংখ্যা হিসেব করে** বর্তমান ও পরবর্তী মান যোগ করে
+- **আমাদের ট্র্যাকিং ভেরিয়েবল আপডেট করে** পরবর্তী ধাপে যাওয়ার জন্য
```javascript
-// Step 3: Modern functional approach
+// ধাপ ৩: আধুনিক কার্যকরী পদ্ধতি
const generateFibonacci = (count) => {
const sequence = [0, 1];
@@ -221,129 +219,166 @@ const generateFibonacci = (count) => {
return sequence;
};
-// Usage example
+// ব্যবহারের উদাহরণ
const fibSequence = generateFibonacci(10);
console.log(fibSequence);
```
-**উপরের কোডে
-- **মন্তব্য**: উচ্চ-স্তরের প্রোগ্রামিং ভাষা ব্যাখ্যামূলক মন্তব্যকে উৎসাহিত করে যা কোডকে স্বয়ং-দলিলীকরণ করে তোলে।
-- **গঠন**: জাভাস্ক্রিপ্টের যৌক্তিক প্রবাহ মানুষের সমস্যাগুলি ধাপে ধাপে চিন্তা করার পদ্ধতির সাথে মিলে যায়।
-- **রক্ষণাবেক্ষণ**: বিভিন্ন প্রয়োজনের জন্য জাভাস্ক্রিপ্ট সংস্করণ আপডেট করা সহজ এবং পরিষ্কার।
+**উপরের কোডে আমরা:**
+- **মডার্ন অ্যারো ফাংশন সিনট্যাক্স দিয়ে** একটি পুনঃব্যবহারযোগ্য ফাংশন তৈরি করেছি
+- **একটি অ্যারে তৈরি করেছি** পুরো সিকোয়েন্স সংরক্ষণ করার জন্য, একে একে প্রদর্শনের পরিবর্তে
+- **অ্যারে ইনডেক্স ব্যবহার করেছি** প্রতিটি নতুন সংখ্যা পূর্বের মান থেকে হিসাব করার জন্য
+- **সম্পূর্ণ সিকোয়েন্স রিটার্ন করেছি** যাতে প্রোগ্রামের অন্যান্য অংশেও ব্যবহারযোগ্য হয়
+
+**নিম্ন-স্তরের ভাষা (ARM Assembly) – কম্পিউটারের জন্য বন্ধুত্বপূর্ণ:**
+
+```assembly
+ area ascen,code,readonly
+ entry
+ code32
+ adr r0,thumb+1
+ bx r0
+ code16
+thumb
+ mov r0,#00
+ sub r0,r0,#01
+ mov r1,#01
+ mov r4,#10
+ ldr r2,=0x40000000
+back add r0,r1
+ str r0,[r2]
+ add r2,#04
+ mov r3,r0
+ mov r0,r1
+ mov r1,r3
+ sub r4,#01
+ cmp r4,#00
+ bne back
+ end
+```
+
+দেখবে কিভাবে JavaScript সংস্করণটি ইংরেজি নির্দেশনার মতো পড়ে, যখন Assembly সংস্করণটি রহস্যময় কমান্ড ব্যবহার করে সরাসরি কম্পিউটারের প্রসেসর নিয়ন্ত্রণ করে। দুটোই একই কাজ সম্পন্ন করে, কিন্তু উচ্চ-স্তরের ভাষাটি মানুষের জন্য অনেক সহজ বোঝা, লেখা এবং রক্ষণাবেক্ষণের।
+
+**মুখ্য পার্থক্য যা তুমি লক্ষ্য করবে:**
+- **পঠনযোগ্যতা**: JavaScript বর্ণনামূলক নাম যেমন `fibonacciCount` ব্যবহার করে, যেখানে Assembly রহস্যময় লেবেল যেমন `r0`, `r1` ব্যবহার করে
+- **মন্তব্য**: উচ্চ-স্তরের ভাষাগুলো ব্যাখ্যামূলক মন্তব্যকে উৎসাহিত করে যা কোডকে স্ব-মূল্যায়নযোগ্য করে তোলে
+- **গঠন**: JavaScript এর যৌক্তিক প্রবাহ মানুষের সমস্যাগুলো ধাপে ধাপে চিন্তার সাথে মিলে যায়
+- **রক্ষণাবেক্ষণ**: বিভিন্ন চাহিদার জন্য JavaScript সংস্করণ আপডেট করা সরল এবং স্পষ্ট
+
+✅ **ফিবনাচ্চি ধারাবাহিক সম্পর্কে**: এই অত্যন্ত মনোরম সংখ্যার প্যাটার্ন (যেখানে প্রতিটি সংখ্যা তার পূর্বের দুই সংখ্যার যোগফল: 0, 1, 1, 2, 3, 5, 8...) প্রকৃতিতে *সর্বত্রই* দেখা যায়! আপনি এটি সূর্যমুখী ফুলের স্পাইরাল, পাইনকোনের প্যাটার্ন, নটিলাস শেল কিভাবে বাঁক নেয় এবং এমনকি গাছের শাখাগুলোর বৃদ্ধিতেও খুঁজে পাবেন। এটি অত্যন্ত বিস্ময়কর কিভাবে গণিত এবং কোড আমাদের প্রাকৃতিক সুন্দরতা তৈরি করতে ব্যবহৃত প্যাটার্নগুলো বোঝাতে এবং পুনরায় তৈরি করতে সহায়তা করে!
-✅ **ফিবোনাচি সিকোয়েন্স সম্পর্কে**: এই অসাধারণ সুন্দর সংখ্যার প্যাটার্ন (যেখানে প্রতিটি সংখ্যা আগের দুটি সংখ্যার যোগফল: ০, ১, ১, ২, ৩, ৫, ৮...) প্রকৃতিতে প্রায় *প্রতিটি জায়গায়* দেখা যায়! আপনি এটি সূর্যমুখীর ঘূর্ণনে, পাইনকোনের প্যাটার্নে, নটিলাস শেলের বাঁকানো আকৃতিতে, এমনকি গাছের শাখাগুলির বৃদ্ধির পদ্ধতিতেও দেখতে পাবেন। এটা সত্যিই অবিশ্বাস্য যে গণিত এবং কোড আমাদের প্রকৃতির সৌন্দর্য তৈরির প্যাটার্নগুলি বুঝতে এবং পুনরায় তৈরি করতে সাহায্য করতে পারে!
-## সেই ভিত্তি যা জাদু তৈরি করে
+## যেসব মৌলিক উপাদান ম্যাজিক তৈরি করে
-ঠিক আছে, এখন আপনি প্রোগ্রামিং ভাষাগুলি কীভাবে কাজ করে তা দেখেছেন, আসুন সেই মৌলিক অংশগুলি ভেঙে দেখি যা প্রায় প্রতিটি প্রোগ্রামের ভিত্তি। এগুলিকে আপনার প্রিয় রেসিপির প্রয়োজনীয় উপাদান হিসাবে ভাবুন – একবার আপনি বুঝতে পারবেন প্রতিটি কী করে, আপনি প্রায় যেকোনো ভাষায় কোড পড়তে এবং লিখতে পারবেন!
+ঠিক আছে, এখন যেহেতু আপনি প্রোগ্রামিং ভাষাগুলো কর্মরত অবস্থায় দেখেছেন, চলুন সেই মৌলিক উপাদানগুলো ভাঙা যাক যা লিখিত প্রতিটি প্রোগ্রামের ভিত্তি তৈরি করে। এগুলোকে ভাবুন আপনার প্রিয় রেসিপির অপরিহার্য উপাদান হিসেবে – একবার আপনি প্রতিটির কাজ বুঝে গেলে, আপনি প্রায় যেকোনো ভাষায় কোড পড়তে এবং লিখতে সক্ষম হবেন!
-এটি প্রোগ্রামিংয়ের ব্যাকরণ শেখার মতো। মনে আছে স্কুলে যখন আপনি নাম, ক্রিয়া এবং বাক্য গঠনের নিয়ম শিখেছিলেন? প্রোগ্রামিংয়ের নিজস্ব ব্যাকরণ রয়েছে, এবং সত্যি বলতে, এটি ইংরেজি ব্যাকরণের চেয়ে অনেক বেশি যৌক্তিক এবং ক্ষমাশীল! 😄
+এটি প্রোগ্রামিং ব্যাকরণ শিখার মতো। স্কুলে আপনি যখন noun, verb এবং বাক্য গঠনের নিয়ম শিখেছিলেন মনে আছে? প্রোগ্রামিং এরও নিজের ব্যাকরণ আছে, এবং সত্যি বলতে তা ইংরেজি ব্যাকরণ থেকে অনেক বেশি যৌক্তিক এবং সহিষ্ণু! 😄
-### স্টেটমেন্ট: ধাপে ধাপে নির্দেশনা
+### বাক্য: ধাপে ধাপে নির্দেশনা
-চলুন **স্টেটমেন্ট** দিয়ে শুরু করি – এগুলি আপনার কম্পিউটারের সাথে কথোপকথনের পৃথক বাক্যের মতো। প্রতিটি স্টেটমেন্ট কম্পিউটারকে একটি নির্দিষ্ট কাজ করতে বলে, ঠিক যেমন নির্দেশ দেওয়া: "এখানে বাঁ দিকে ঘুরুন," "লাল আলোতে থামুন," "ওই জায়গায় পার্ক করুন।"
+আসুন শুরু করি **বাক্য** দিয়ে – এগুলো হলো আপনার কম্পিউটারের সাথে কথোপকথনের একক বাক্য। প্রতিটি বাক্য কম্পিউটারকে একটি নির্দিষ্ট কাজ করতে বলে, ঠিক যেমন দিকনির্দেশ দেয়া: "এখানে বামদিকে ঘুরুন," "লাল আলোয় থেমে যান," "ওখানে গাড়ি দাঁড় করান।"
-স্টেটমেন্টের ব্যাপারে আমি যা পছন্দ করি তা হল এগুলি সাধারণত কতটা পড়ার যোগ্য। এটি দেখুন:
+বাক্যগুলো সাধারণত পড়তে কতটা সহজ তা আমি খুবই পছন্দ করি। দেখে নিন:
```javascript
-// Basic statements that perform single actions
+// মৌলিক বিবৃতি যা একক ক্রিয়া সম্পাদন করে
const userName = "Alex";
console.log("Hello, world!");
const sum = 5 + 3;
```
-
-**এই কোডটি যা করে:**
-- **ঘোষণা** করে একটি কনস্ট্যান্ট ভেরিয়েবল ব্যবহারকারীর নাম সংরক্ষণ করতে
-- **প্রদর্শন** করে একটি অভিবাদন বার্তা কনসোল আউটপুটে
-- **গণনা** করে এবং একটি গাণিতিক অপারেশনের ফলাফল সংরক্ষণ করে
+
+**এই কোডটি যা করে:**
+- একটি ধ্রুবক ভেরিয়েবল ঘোষণা করে যা ব্যবহারকারীর নাম সংরক্ষণ করে
+- কনসোলে স্বাগতম বার্তা প্রদর্শন করে
+- একটি গাণিতিক অপারেশনের ফলাফল গণনা করে সংরক্ষণ করে
```javascript
-// Statements that interact with web pages
+// যে বিবৃতিগুলি ওয়েব পৃষ্ঠাগুলির সাথে যোগাযোগ করে
document.title = "My Awesome Website";
document.body.style.backgroundColor = "lightblue";
```
-
-**ধাপে ধাপে যা ঘটছে:**
-- **পরিবর্তন** করে ব্রাউজার ট্যাবে প্রদর্শিত ওয়েবপেজের শিরোনাম
-- **পরিবর্তন** করে পুরো পৃষ্ঠার ব্যাকগ্রাউন্ড রঙ
+
+**ধাপে ধাপে, যা হচ্ছে:**
+- ব্রাউজার ট্যাবে প্রদর্শিত ওয়েবপেজের শিরোনাম পরিবর্তন করে
+- পুরো পৃষ্ঠা বডির ব্যাকগ্রাউন্ড রঙ পরিবর্তন করে
### ভেরিয়েবল: আপনার প্রোগ্রামের মেমোরি সিস্টেম
-ঠিক আছে, **ভেরিয়েবল** সত্যিই আমার শেখানোর প্রিয় ধারণাগুলির মধ্যে একটি কারণ এগুলি এমন জিনিসের মতো যা আপনি প্রতিদিন ব্যবহার করেন!
+ঠিক আছে, **ভেরিয়েবল** সত্যি বলতে আমার সবচেয়ে প্রিয় ধারণাগুলোর একটি কারণ এগুলো প্রতিদিন আপনি যা ব্যবহার করেন তার মতোই!
-আপনার ফোনের কন্টাক্ট লিস্টের কথা ভাবুন। আপনি সবার ফোন নম্বর মুখস্থ করেন না – বরং "মা," "সেরা বন্ধু," বা "পিজ্জা প্লেস যা রাত ২টা পর্যন্ত ডেলিভারি দেয়" সংরক্ষণ করেন এবং আপনার ফোন আসল নম্বরগুলি মনে রাখে। ভেরিয়েবল ঠিক একইভাবে কাজ করে! এগুলি লেবেলযুক্ত কন্টেইনারের মতো যেখানে আপনার প্রোগ্রাম তথ্য সংরক্ষণ করতে পারে এবং পরে একটি অর্থপূর্ণ নাম ব্যবহার করে তা পুনরুদ্ধার করতে পারে।
+আপনার ফোনের কন্টাক্ট তালিকা ভাবুন একটু। আপনি প্রত্যেকের ফোন নম্বর মুখস্থ করেন না – পরিবর্তে “মা,” “সেরা বন্ধু,” অথবা “পিজ্জা ডেলিভারি যা রাত ২টা পর্যন্ত” সংরক্ষণ করেন এবং আপনার ফোন সত্যিকার নম্বরগুলো মনে রাখে। ভেরিয়েবলগুলো একই রকম! এগুলো লেবেলযুক্ত পাত্রের মতো যেখানে আপনার প্রোগ্রাম তথ্য সংরক্ষণ করে এবং পরে বোঝান যায় এমন নাম ব্যবহার করে ফেরত আনে।
-এখানে যা সত্যিই চমৎকার: আপনার প্রোগ্রাম চলার সময় ভেরিয়েবল পরিবর্তিত হতে পারে (তাই নাম "ভেরিয়েবল" – দেখুন তারা কী করেছে?)। যেমন আপনি হয়তো সেই পিজ্জা প্লেসের কন্টাক্ট আপডেট করবেন যখন আপনি আরও ভালো কোনো জায়গা খুঁজে পাবেন, তেমনি ভেরিয়েবলও নতুন তথ্য শিখলে বা পরিস্থিতি পরিবর্তিত হলে আপডেট হতে পারে!
+একটি অসাধারণ জিনিস হলো: আপনার প্রোগ্রাম চলাকালীন ভেরিয়েবল পরিবর্তিত হতে পারে (এজন্যে নামটা “variable” – দেখুন কী সুন্দর)। যেমন আপনি পিজ্জা ডেলিভারি লিস্ট আপডেট করতে পারেন যখন আরও ভাল কিছু খুঁজে পান, ভেরিয়েবলগুলোও প্রোগ্রাম শিখতে থাকলে বা পরিস্থিতি পরিবর্তিত হলে আপডেট হতে পারে!
-আমি আপনাকে দেখাই এটি কতটা সুন্দর এবং সহজ হতে পারে:
+চলুন দেখাই কিভাবে এটা সুন্দর ও সহজ:
```javascript
-// Step 1: Creating basic variables
+// ধাপ ১: মৌলিক ভেরিয়েবল তৈরি করা
const siteName = "Weather Dashboard";
let currentWeather = "sunny";
let temperature = 75;
let isRaining = false;
```
-
-**এই ধারণাগুলি বোঝা:**
-- **সংরক্ষণ** করুন অপরিবর্তনীয় মান `const` ভেরিয়েবলে (যেমন সাইটের নাম)
-- **ব্যবহার** করুন `let` মানগুলির জন্য যা আপনার প্রোগ্রামে পরিবর্তিত হতে পারে
-- **অ্যাসাইন** করুন বিভিন্ন ডেটা টাইপ: স্ট্রিং (টেক্সট), সংখ্যা এবং বুলিয়ান (সত্য/মিথ্যা)
-- **নির্বাচন** করুন বর্ণনামূলক নাম যা প্রতিটি ভেরিয়েবল কী ধারণ করে তা ব্যাখ্যা করে
+
+**এই ধারণাগুলো বোঝা:**
+- ধ্রুবক মান `const` এ সংরক্ষণ করুন (যেমন সাইটের নাম)
+- এমন মানের জন্য `let` ব্যবহার করুন যা প্রোগ্রামের মধ্যে পরিবর্তিত হতে পারে
+- বিভিন্ন ডাটা টাইপ বরাদ্দ করুন: স্ট্রিং (টেক্সট), সংখ্যা, বুলিয়ান (সত্য/মিথ্যা)
+- বর্ণনামূলক নাম দিন যা প্রতিটি ভেরিয়েবলের বিষয় বুঝায়
```javascript
-// Step 2: Working with objects to group related data
+// ধাপ ২: সংশ্লিষ্ট ডেটা গ্রুপ করার জন্য অবজেক্ট নিয়ে কাজ করা
const weatherData = {
location: "San Francisco",
humidity: 65,
windSpeed: 12
};
```
-
-**উপরের কোডে আমরা:**
-- **তৈরি** করেছি একটি অবজেক্ট যা সম্পর্কিত আবহাওয়ার তথ্য একত্রিত করে
-- **সংগঠিত** করেছি একাধিক তথ্য এক ভেরিয়েবল নামের অধীনে
-- **ব্যবহার** করেছি কী-ভ্যালু পেয়ার প্রতিটি তথ্য স্পষ্টভাবে লেবেল করতে
+
+**উপরের কোডে আমরা:**
+- সম্পর্কিত আবহাওয়ার তথ্য একত্রিত করতে একটি অবজেক্ট তৈরি করেছি
+- একাধিক তথ্য একটি ভেরিয়েবল নামের অধীনে সংগঠিত করেছি
+- প্রতিটি তথ্য স্পষ্ট করার জন্য কী-ভ্যালু জোড়া ব্যবহার করেছি
```javascript
-// Step 3: Using and updating variables
+// ধাপ ৩: পরিবর্তনশীল ব্যবহার এবং আপডেট করা
console.log(`${siteName}: Today is ${currentWeather} and ${temperature}°F`);
console.log(`Wind speed: ${weatherData.windSpeed} mph`);
-// Updating changeable variables
+// পরিবর্তনশীল পরিবর্তনশীল আপডেট করা
currentWeather = "cloudy";
temperature = 68;
```
-
-**প্রতিটি অংশ বুঝি:**
-- **প্রদর্শন** করি তথ্য টেমপ্লেট লিটারাল ব্যবহার করে `${}` সিনট্যাক্সে
-- **অ্যাক্সেস** করি অবজেক্ট প্রপার্টি ডট নোটেশন (`weatherData.windSpeed`) ব্যবহার করে
-- **আপডেট** করি `let` দিয়ে ঘোষিত ভেরিয়েবল পরিবর্তিত পরিস্থিতি প্রতিফলিত করতে
-- **সংযুক্ত** করি একাধিক ভেরিয়েবল অর্থপূর্ণ বার্তা তৈরি করতে
+
+**প্রত্যেক অংশ বোঝা যাক:**
+- `${}` সিনট্যাক্স ব্যবহার করে টেমপ্লেট লিটারাল দিয়ে তথ্য প্রদর্শন
+- অবজেক্টের প্রপার্টি ডট নোটেশন (`weatherData.windSpeed`) দিয়ে অ্যাক্সেস করা
+- `let` দিয়ে ঘোষিত ভেরিয়েবলগুলো আপডেট করা যাতে পরিবর্তনশীল অবস্থা প্রতিফলিত হয়
+- অর্থবহ বার্তা তৈরির জন্য একাধিক ভেরিয়েবল একত্রিত করা
```javascript
-// Step 4: Modern destructuring for cleaner code
+// ধাপ ৪: পরিষ্কার কোডের জন্য আধুনিক ডেসট্রাকচারিং
const { location, humidity } = weatherData;
console.log(`${location} humidity: ${humidity}%`);
```
+
+**আপনাকে যা জানতে হবে:**
+- ডেসট্রাকচারিং অ্যাসাইনমেন্ট ব্যবহার করে অবজেক্ট থেকে নির্দিষ্ট প্রপার্টি বের করা
+- অবজেক্ট কী এর সাথে একই নামের নতুন ভেরিয়েবল তৈরি করা
+- ডট নোটেশন বারবার ব্যবহার থেকে কোড সরল করা
-**আপনার যা জানা দরকার:**
-- **এক্সট্র্যাক্ট** করি নির্দিষ্ট প্রপার্টি অবজেক্ট থেকে ডেস্ট্রাকচারিং অ্যাসাইনমেন্ট ব্যবহার করে
-- **তৈরি** করি নতুন ভেরিয়েবল যা অবজেক্ট কী-এর মতো নাম ধারণ করে
-- **সরলীকরণ** করি কোড পুনরাবৃত্তি ডট নোটেশন এড়িয়ে
-
-### কন্ট্রোল ফ্লো: আপনার প্রোগ্রামকে চিন্তা করতে শেখানো
+### কন্ট্রোল ফ্লো: আপনার প্রোগ্রামকে চিন্তা শেখানো
-ঠিক আছে, এখানেই প্রোগ্রামিং সত্যিই অবিশ্বাস্য হয়ে ওঠে! **কন্ট্রোল ফ্লো** মূলত আপনার প্রোগ্রামকে স্মার্ট সিদ্ধান্ত নিতে শেখানো, ঠিক যেমন আপনি প্রতিদিন করেন।
+ঠিক আছে, এটা সেই জায়গা যেখানে প্রোগ্রামিং সত্যিই অবিশ্বাস্য হয়ে ওঠে! **কন্ট্রোল ফ্লো** হলো আপনার প্রোগ্রামকে বুদ্ধিমত্তার সাথে সিদ্ধান্ত নিতে শেখানো, ঠিক যেমন আপনি প্রতিদিন বিনা চিন্তায় করেন।
-ভাবুন: আজ সকালে আপনি সম্ভবত এমন কিছু ভেবেছেন, "যদি বৃষ্টি হয়, আমি ছাতা নিয়ে যাব। যদি ঠান্ডা লাগে, আমি জ্যাকেট পরব। যদি দেরি হয়, আমি নাশতা বাদ দিয়ে পথে কফি কিনব।" আপনার মস্তিষ্ক স্বাভাবিকভাবে এই if-then যুক্তি প্রতিদিন অসংখ্যবার অনুসরণ করে!
+ভাবুন: আজ সকালে হয়তো আপনি এমন কিছু করেন “যদি বৃষ্টি হয়, আমি ছাতা নেব। যদি ঠান্ডা হয়, জ্যাকেট পড়ব। দেরি হলে নাস্তা বাদ দিয়ে পথে কফি নেব।” আপনার মস্তিষ্ক স্বাভাবিকভাবেই এই if-then লজিক দশোবার অনুসরণ করে প্রতিদিন!
-এটি প্রোগ্রামগুলিকে বুদ্ধিমান এবং জীবন্ত মনে করে তোলে, শুধু কিছু বিরক্তিকর, পূর্বনির্ধারিত স্ক্রিপ্ট অনুসরণ করার পরিবর্তে। তারা আসলে একটি পরিস্থিতি দেখতে পারে, কী ঘটছে তা মূল্যায়ন করতে পারে এবং উপযুক্তভাবে প্রতিক্রিয়া জানাতে পারে। এটি আপনার প্রোগ্রামকে একটি মস্তিষ্ক দেওয়ার মতো যা মানিয়ে নিতে এবং সিদ্ধান্ত নিতে পারে!
+এটাই প্রোগ্রামগুলোকে বুদ্ধিমান এবং জীবন্ত করে তোলে, শুধু একটি একঘেয়েমি স্ক্রিপ্ট অনুসরণ করার বদলে। তারা একটি পরিস্থিতি দেখতে পারে, মূল্যায়ন করতে পারে এবং যথোপযুক্ত প্রতিক্রিয়া দিতে পারে। এটা আপনার প্রোগ্রামকে এমন মস্তিষ্ক দেওয়ার মত যা মানিয়ে নিতে এবং সিদ্ধান্ত নিতে পারে!
-দেখতে চান এটি কীভাবে সুন্দরভাবে কাজ করে? আমি আপনাকে দেখাই:
+দেখতে চান এটা কতটা সুন্দর কাজ করে? দেখুন:
```javascript
-// Step 1: Basic conditional logic
+// ধাপ ১: মৌলিক শর্তাধীন লজিক
const userAge = 17;
if (userAge >= 18) {
@@ -353,15 +388,15 @@ if (userAge >= 18) {
console.log(`You'll be able to vote in ${yearsToWait} year(s).`);
}
```
-
-**এই কোডটি যা করে:**
-- **পরীক্ষা** করে ব্যবহারকারীর বয়স ভোট দেওয়ার যোগ্যতা পূরণ করে কিনা
-- **সম্পাদন** করে বিভিন্ন কোড ব্লক শর্তের ফলাফলের উপর ভিত্তি করে
-- **গণনা** করে এবং প্রদর্শন করে ভোট দেওয়ার যোগ্যতা অর্জনের জন্য কত সময় বাকি
-- **প্রদান** করে প্রতিটি পরিস্থিতির জন্য নির্দিষ্ট, সহায়ক প্রতিক্রিয়া
+
+**এই কোড যা করে:**
+- ব্যবহারকারীর বয়স ভোটাধিকারের যোগ্যতা মেযা করে
+- শর্ত অনুসারে বিভিন্ন কোড ব্লক চালায়
+- যদি ১৮ এর নিচে হয় ভোটাধিকারের যোগ্য হওয়ার অবশিষ্ট সময় হিসাব করে দেখায়
+- প্রতিটি পরিস্থিতির জন্য নির্দিষ্ট, সহায়ক ফিডব্যাক দেয়
```javascript
-// Step 2: Multiple conditions with logical operators
+// ধাপ ২: লজিক্যাল অপারেটর সহ একাধিক শর্ত্গুলি
const userAge = 17;
const hasPermission = true;
@@ -373,26 +408,26 @@ if (userAge >= 18 && hasPermission) {
console.log("Sorry, you must be at least 16 years old.");
}
```
-
-**এখানে যা ঘটছে তা বিশ্লেষণ:**
-- **সংযুক্ত** করি একাধিক শর্ত `&&` (এবং) অপারেটর ব্যবহার করে
-- **তৈরি** করি শর্তগুলির একটি শ্রেণিবিন্যাস `else if` ব্যবহার করে একাধিক পরিস্থিতির জন্য
-- **হ্যান্ডেল** করি সমস্ত সম্ভাব্য কেস একটি চূড়ান্ত `else` স্টেটমেন্ট দিয়ে
-- **প্রদান** করি স্পষ্ট, কার্যকর প্রতিক্রিয়া প্রতিটি ভিন্ন পরিস্থিতির জন্য
+
+**এখানে যা ঘটছে:**
+- `&&` (এবং) অপারেটর ব্যবহার করে একাধিক শর্ত যুক্ত করা
+- একাধিক পরিস্থিতির জন্য `else if` ব্যবহার করে শর্তের সজ্জা তৈরি করা
+- সর্বশেষে `else` ব্যবহার করে সব সম্ভাব্য ক্ষেত্র পরিচালনা করা
+- প্রতিটি ভিন্ন পরিস্থিতির জন্য স্পষ্ট এবং কার্যকর ফিডব্যাক প্রদান করা
```javascript
-// Step 3: Concise conditional with ternary operator
+// ধাপ ৩: টার্নারি অপারেটর দিয়ে সংক্ষিপ্ত শর্তীয় বিবৃতি
const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
console.log(`Status: ${votingStatus}`);
```
-
-**আপনার মনে রাখা উচিত:**
-- **ব্যবহার** করুন টার্নারি অপারেটর (`? :`) সহজ দুই-বিকল্প শর্তের জন্য
-- **লিখুন** শর্ত প্রথমে, তারপরে `?`, তারপর সত্য ফলাফল, তারপর `:`, তারপর মিথ্যা ফলাফল
-- **প্রয়োগ** করুন এই প্যাটার্ন যখন শর্তের উপর ভিত্তি করে মান অ্যাসাইন করতে হবে
+
+**মনে রাখার জন্য:**
+- সহজ দুই-অপশন শর্তের জন্য টার্নারি অপারেটর (`? :`) ব্যবহার করুন
+- প্রথমে শর্ত লিখুন, তারপর `?`, তারপর সত্য ফলাফল, তারপর `:`, তারপর মিথ্যা ফলাফল
+- যখন শর্ত অনুসারে মান বরাদ্দ করতে হয় এই প্যাটার্ন ব্যবহার করুন
```javascript
-// Step 4: Handling multiple specific cases
+// ধাপ ৪: একাধিক নির্দিষ্ট ক্ষেত্রে পরিচালনা করা
const dayOfWeek = "Tuesday";
switch (dayOfWeek) {
@@ -411,58 +446,57 @@ switch (dayOfWeek) {
console.log("Invalid day of the week");
}
```
+
+**এই কোড যা করে:**
+- ভেরিয়েবল মান একাধিক নির্দিষ্ট কেসের সাথে মেলে কিনা পরীক্ষা করে
+- সমমনোনীত কেসগুলো একত্রিত করে (সাপ্তাহিক দিনের জন্য এবং উইকএন্ডের জন্য)
+- মিলে গেলে উপযুক্ত কোড ব্লক চালায়
+- অপ্রত্যাশিত মানের জন্য একটি `default` কেস অন্তর্ভুক্ত করে
+- পরবর্তী কেসে যাওয়া আটকাতে `break` স্টেটমেন্ট ব্যবহার করে
-**এই কোডটি যা অর্জন করে:**
-- **মিল** করে ভেরিয়েবল মান একাধিক নির্দিষ্ট কেসের সাথে
-- **গ্রুপ** করে অনুরূপ কেস একসাথে (সপ্তাহের দিন বনাম সপ্তাহান্ত)
-- **সম্পাদন** করে উপযুক্ত কোড ব্লক যখন একটি মিল পাওয়া যায়
-- **অন্তর্ভুক্ত** করে একটি `default` কেস অপ্রত্যাশিত মানগুলি হ্যান্ডেল করতে
-- **ব্যবহার** করে `break` স্টেটমেন্ট পরবর্তী কেসে কোড চালিয়ে যাওয়া বন্ধ করতে
-
-> 💡 **বাস্তব জীবনের উদাহরণ**: কন্ট্রোল ফ্লোকে ভাবুন বিশ্বের সবচেয়ে ধৈর্যশীল জিপিএসের মতো যা আপনাকে নির্দেশনা দেয়। এটি বলতে পারে "যদি মেইন স্ট্রিটে ট্রাফিক থাকে, তাহলে হাইওয়ে নিন। যদি হাইওয়েতে নির্মাণ কাজ চলতে থাকে, তাহলে সুন্দর রাস্তা ধরুন।" প্রোগ্রামগুলি ঠিক একই ধরনের শর্তযুক্ত যুক্তি ব্যবহার করে বিভিন্ন পরিস্থিতিতে বুদ্ধিমত্তার সাথে প্রতিক্রিয়া জানাতে এবং ব্যবহারকারীদের সর্বোত্তম অভিজ্ঞতা দিতে।
+> 💡 **বাস্তব জীবনের উপমা**: কন্ট্রোল ফ্লোকে ভাবুন সবচেয়ে ধৈর্যশীল GPS এর দিকনির্দেশনার মতো। এটি বলতে পারে “যদি মেইন স্ট্রিটে ট্রাফিক থাকে, তাহলে হাইওয়ে নাও। যদি হাইওয়ে নির্মাণে বন্ধ থাকে, তাহলে দৃশ্যমান রুট নাও।” প্রোগ্রামগুলো এই একই ধরণের শর্তাদি লজিক ব্যবহার করে বুদ্ধিমত্তার সাথে বিভিন্ন পরিস্থিতিতে সাড়া দেয় এবং সবসময় ব্যবহারকারীদের জন্য সেরা অভিজ্ঞতা দেয়।
-### 🎯 **ধারণা যাচাই: ভিত্তি আয়ত্ত করা**
+### 🎯 **ধারণা যাচাই: মৌলিক উপাদান দক্ষতা**
-**চলুন দেখি আপনি মৌলিক বিষয়গুলি নিয়ে কেমন করছেন:**
-- আপনি কি নিজের ভাষায় একটি ভেরিয়েবল এবং একটি স্টেটমেন্টের মধ্যে পার্থক্য ব্যাখ্যা করতে পারেন?
-- এমন একটি বাস্তব জীবনের পরিস্থিতি ভাবুন যেখানে আপনি একটি if-then সিদ্ধান্ত ব্যবহার করবেন (যেমন আমাদের ভোট দেওয়ার উদাহরণ)
-- প্রোগ্রামিং যুক্তি সম্পর্কে এমন একটি বিষয় কী যা আপনাকে অবাক করেছে?
+**চলুন দেখি আপনি মৌলিক বিষয়গুলো কতটা বুঝতে পেরেছেন:**
+- আপনি কি নিজের ভাষায় ভেরিয়েবল এবং বাক্যের পার্থক্য ব্যাখ্যা করতে পারেন?
+- একটি বাস্তব জীবনের উদাহরণ ভাবুন যেখানে if-then সিদ্ধান্ত ব্যবহার করবেন (যেমন আমাদের ভোটাধিকারের উদাহরণ)
+- প্রোগ্রামিং যুক্তির কোন একটি বিষয় যা আপনাকে অবাক করেছে?
-**দ্রুত আত্মবিশ্বাস বাড়ানোর টিপস:**
+**দ্রুত আত্মবিশ্বাস বৃদ্ধিকারক:**
```mermaid
flowchart LR
- A["📝 Statements (Instructions)"] --> B["📦 Variables (Storage)"] --> C["🔀 Control Flow (Decisions)"] --> D["🎉 Working Program!"]
+ A["📝 বিবৃতি (নির্দেশনা)"] --> B["📦 ভেরিয়েবলস (সংগ্রহস্থল)"] --> C["🔀 নিয়ন্ত্রণ প্রবাহ (সিদ্ধান্ত)"] --> D["🎉 কার্যকর প্রোগ্রাম!"]
style A fill:#ffeb3b
style B fill:#4caf50
style C fill:#2196f3
style D fill:#ff4081
-```
-
-✅ **পরবর্তী কী আসছে**: আমরা এই অসাধারণ যাত্রায় একসাথে এই ধারণাগুলির গভীরে আরও মজা করতে যাচ্ছি! এখন, শুধু সমস্ত আশ্চর্যজনক সম্ভাবনার জন্য উত্তেজনা অনুভব করার উপর মনোযোগ দিন। নির্দিষ্ট দক্ষতা এবং কৌশলগুলি স্বাভাবিকভাবেই অনুশীলনের সাথে লেগে থাকবে – আমি প্রতিশ্রুতি দিচ্ছি এটি আপনার প্রত্যাশার চেয়ে অনেক বেশি মজার হবে!
+```
+✅ **পরবর্তী পর্যায়ে যা আসছে**: আমরা এই ধারণাগুলো আরও গভীরভাবে অন্বেষণ করে প্রচুর মজা করব! এখনই শুধু এই উত্তেজনা অনুভব করুন আপনার সামনে থাকা অসাধারণ সম্ভাবনাগুলোর জন্য। নির্দিষ্ট দক্ষতা ও কৌশলগুলো আমাদের একসাথে অনুশীলনে স্বাভাবিকভাবেই বসবে – আমি গ্যারান্টি দিচ্ছি এটি আপনি যেকোনো বিষয়ের তুলনায় অনেক বেশি মজার হবে!
-## কাজের সরঞ্জাম
+## বাণিজ্যের সরঞ্জাম
-ঠিক আছে, এটি এমন একটি বিষয় যা আমাকে এতটাই উত্তেজিত করে তোলে যে আমি নিজেকে সামলাতে পারি না! 🚀 আমরা সেই অসাধারণ সরঞ্জামগুলি সম্পর্কে কথা বলতে যাচ্ছি যা আপনাকে মনে করাবে যে আপনি একটি ডিজিটাল স্পেসশিপের চাবি পেয়েছেন।
+ঠিক আছে, এটিই এমন একটা জায়গা যেখানে আমি এত উত্তেজিত হই যে নিজেকে ধরে রাখতে পারি না! 🚀 আমরা সেই অবিশ্বাস্য সরঞ্জামগুলো নিয়ে কথা বলব যা আপনাকে ডিজিটাল মহাকাশযানের চাবি হাতে পেয়েছেন এমন অনুভূতি দেবে।
-আপনি জানেন একজন শেফের সেই নিখুঁতভাবে ভারসাম্যপূর্ণ ছুরি থাকে যা তাদের হাতের এক্সটেনশনের মতো অনুভূত হয়? অথবা একজন সংগীতশিল্পীর সেই একটি গিটার থাকে যা তারা স্পর্শ করলেই গান গায়? ঠিক তেমনি, ডেভেলপারদেরও আমাদের নিজস্ব এই জাদুকরী সরঞ্জাম রয়েছে, এবং এখানে যা আপনাকে অবাক করবে – এর বেশিরভাগই সম্পূর্ণ বিনামূল্যে!
+আপনি জানেন কিভাবে একজন শেফের সেই নিখুঁত ভারসাম্যপূর্ণ ছুরি থাকে যা তাদের হাতের বিস্তার মনে হয়? অথবা একজন সঙ্গীতশিল্পীর সেই গিটার যা স্পর্শ করলেই গান গায়? ঠিক তেমনই, ডেভেলপারদেরও এমন ম্যাজিক্যাল সরঞ্জাম আছে, এবং এখানে এমন কিছু আছে যা আপনার বুদ্ধি ধামাকা করে দেবে – অধিকাংশই সম্পূর্ণ ফ্রি!
-আমি আপনাকে এগুলি শেয়ার করার জন্য এতটাই উত্তেজিত যে আমি প্রায় চেয়ারে লাফিয়ে উঠছি কারণ এগুলি আমাদের সফটওয়্যার তৈরির পদ্ধতিকে সম্পূর্ণভাবে বিপ্লব করেছে। আমরা কথা বলছি AI-চালিত কোডিং সহকারী যারা আপনার কোড লিখতে সাহায্য করতে পারে (আমি মজা করছি না!), ক্লাউড পরিবেশ যেখানে আপনি যেকোনো জায়গা থেকে Wi-Fi সহ পুরো অ্যাপ্লিকেশন তৈরি করতে পারেন, এবং ডিবাগিং সরঞ্জামগুলি এতটাই উন্নত যে তারা আপনার প্রোগ্রামের জন্য এক্স-রে ভিশনের মতো।
+আমি আসলে চেয়ারে লাফাচ্ছি এইগুলো আপনার সাথে ভাগ করে নিতে because এর ফলে সফটওয়্যার তৈরি করার পদ্ধতি সম্পূর্ণ পরিপুর্ণ পরিবর্তিত হয়েছে। আমরা কথা বলছি AI চালিত কোডিং সহকারী নিয়ে, যারা আপনার কোড লেখায় সাহায্য করে (আমি চুটিয়ে বলছি না!), ক্লাউড এনভায়রনমেন্টের যেখানে আপনি Wi-Fi সহ যেকোনো জায়গা থেকে পুরো অ্যাপ্লিকেশন তৈরি করতে পারেন, এবং এমন ডিবাগিং সরঞ্জাম যা আপনার প্রোগ্রামের জন্য X-ray দৃষ্টি দেয়।
-এবং এখানে এমন একটি অংশ রয়েছে যা এখনও আমাকে শিহরিত করে: এগুলি "শুরু করার সরঞ্জাম" নয় যা আপনি পরে ছেড়ে দেবেন। এগুলি ঠিক একই পেশাদার-গ্রেডের সরঞ্জাম যা গুগল, নেটফ্লিক্স এবং আপনার প্রিয় ইন্ডি অ্যাপ স্টুডিওর ডেভেলপাররা এই মুহূর্তে ব্যবহার করছে। এগুলি ব্যবহার করে আপনি সত্যিই একজন পেশাদারের মতো অনুভব করবেন!
+এবং এখানে এমন একটি অংশ আছে যা এখনও আমাকে কেঁপে দেয়: এগুলো "শিখনার্থীদের সরঞ্জাম" নয় যা আপনি তাড়াতাড়ি বড় হয়ে ফেলবেন না। এগুলোই একই পেশাদার মানের সরঞ্জাম যা গুগল, নেটফ্লিক্স এবং আপনার প্রিয় ইন্ডি অ্যাপ স্টুডিওর ডেভেলপাররা এ মুহূর্তে ব্যবহার করছে। এগুলো ব্যবহার করে আপনি নিজেকে একজন পেশাদারই মনে করবেন!
```mermaid
graph TD
- A["💡 Your Idea"] --> B["⌨️ Code Editor (VS Code)"]
- B --> C["🌐 Browser DevTools (Testing & Debugging)"]
- C --> D["⚡ Command Line (Automation & Tools)"]
- D --> E["📚 Documentation (Learning & Reference)"]
- E --> F["🚀 Amazing Web App!"]
+ A["💡 আপনার ধারণা"] --> B["⌨️ কোড সম্পাদক (VS কোড)"]
+ B --> C["🌐 ব্রাউজার ডেভটুলস (পরীক্ষা ও ডিবাগিং)"]
+ C --> D["⚡ কমান্ড লাইন (স্বয়ংক্রিয়করণ ও সরঞ্জাম)"]
+ D --> E["📚 ডকুমেন্টেশন (শিখন ও রেফারেন্স)"]
+ E --> F["🚀 দুর্দান্ত ওয়েব অ্যাপ!"]
- B -.-> G["🤖 AI Assistant (GitHub Copilot)"]
- C -.-> H["📱 Device Testing (Responsive Design)"]
- D -.-> I["📦 Package Managers (npm, yarn)"]
- E -.-> J["👥 Community (Stack Overflow)"]
+ B -.-> G["🤖 এআই সহকারী (GitHub Copilot)"]
+ C -.-> H["📱 ডিভাইস পরীক্ষা (রেসপনসিভ ডিজাইন)"]
+ D -.-> I["📦 প্যাকেজ ম্যানেজারস (npm, yarn)"]
+ E -.-> J["👥 কমিউনিটি (Stack Overflow)"]
style A fill:#fff59d
style F fill:#c8e6c9
@@ -470,322 +504,352 @@ graph TD
style H fill:#f3e5f5
style I fill:#ffccbc
style J fill:#e8eaf6
-```
-
-### কোড এডিটর এবং IDE: আপনার নতুন ডিজিটাল সঙ্গী
+```
+### কোড এডিটর এবং IDE: আপনার নতুন ডিজিটাল সর্বশেষ সঙ্গী
-চলুন কোড এডিটর সম্পর্কে কথা বলি – এগুলি সত্যিই আপনার নতুন প্রিয় জায়গা হতে চলেছে! এগুলিকে আপনার ব্যক্তিগত কোডিং অভয়ারণ্য হিসাবে ভাবুন যেখানে আপনি আপনার ডিজিটাল সৃষ্টিগুলি তৈরি এবং নিখুঁত করতে বেশিরভাগ সময় ব্যয় করবেন।
+আসুন কথা বলি কোড এডিটর নিয়ে – এগুলো শীঘ্রই আপনার প্রিয় স্থান হয়ে উঠবে! এগুলো এমন একটি ব্যক্তিগত কোডিং আশ্রম, যেখানে আপনি আপনার অধিকাংশ সময় কাটিয়ে ডিজিটাল সৃজনশীলতা গড়ে তুলবেন এবং নিখুঁত করবেন।
-কিন্তু এখানে যা একেবারে জাদুকরী তা হল আধুনিক এডিটরগুলি শুধুমাত্র ফ্যান্সি টেক্সট এডিটর নয়। এগুলি এমন একটি উজ্জ্বল, সহায়ক কোডিং পরামর্শদাতা থাকার মতো যা ২৪/৭ আপনার পাশে বসে থাকে। তারা আপনার টাইপো ধরবে আপনি লক্ষ্য করার আগেই, এমন উন্নতির পরামর্শ দেবে যা আপনাকে একজন প্রতিভা মনে করাবে, আপনাকে সাহায্য করবে প্রতিটি কোডের অংশ কী করে তা বুঝতে, এবং কিছু এমনকি আপনার টাইপ করার আগে আপনার চিন্তা অনুমান করতে পারে এবং আপনার চিন্তা শেষ করতে সাহায্য করবে!
+কিন্তু আধুনিক এডিটরগুলোর ব্যাপারে যা জাদুকরী তা হলো: এরা শুধু ফ্যান্সি টেক্সট এডিটর নয়। এরা অধিকন্তু সবচেয়ে মেধাবী, সহায়ক কোডিং মেন্টর যারা ২৪/৭ আপনার পাশে বসে থাকে। তারা টাইপ করার আগেই ভুল ধরিয়ে দেয়, উন্নতির পরামর্শ দেয় যা আপনাকে জিনিয়াস করে তোলে, কোডের প্রতিটি অংশের কাজ বুঝতে সাহায্য করে, এবং অনেকে এমনকি আপনি যা টাইপ করতে যাচ্ছেন সেটা পূর্বাভাস দিয়ে শেষ করার প্রস্তাব দেয়!
-আমি যখন প্রথম অটো-কমপ্লিশন আবিষ্কার করেছিলাম তখন আমি সত্যিই মনে করেছিলাম যে আমি ভবিষ্যতে বাস করছি। আপনি কিছু টাইপ করা শুরু করেন, এবং আপনার এডিটর বলে, "আরে, আপনি কি এই ফাংশনটি ভাবছেন যা ঠিক আপনার প্রয়োজন?" এটি একটি মনের পাঠক থাকার মতো আপনার কোডিং সঙ্গী!
+আমি মনে করি যখন প্রথমবার অটো-কাম্পলিশন আবিষ্কার করেছিলাম – সত্যিই মনে হচ্ছিল আমি ভবিষ্যতে বসবাস করছি। আপনি কিছু টাইপ শুরু করলে, আপনার এডিটর বলে, "এই, আপনি কি এই ফাংশনের কথা ভাবছিলেন যেটা ঠিক আপনার দরকার অনুযায়ী কাজ করে?" এটা ঠিক যেন আপনার কোডিং বন্ধু একজন মাইন্ড রিডার!
-**এই এডিটরগুলি এত অসাধারণ কী করে তোলে?**
+**এই এডিটরগুলো কেন এত অসাধারণ?**
-আধুনিক কোড এডিটরগুলি আপনার উৎপাদনশীলতা বাড়ানোর জন্য চমকপ্রদ বৈশিষ্ট্যগুলির একটি অ্যারে অফার করে:
+আধুনিক কোড এডিটর অনেক ফিচারের বিস্ময়কর সংগ্রহ অফার করে যা আপনার উৎপাদনশীলতা বাড়ায়:
-| বৈশিষ্ট্য | এটি কী করে | এটি কেন সাহায্য করে |
+| ফিচার | যা করে | সাহায্যের কারণ |
|---------|--------------|--------------|
-| **সিনট্যাক্স হাইলাইটিং** | আপনার কোডের বিভিন্ন অংশ রঙিন করে | কোড পড়া সহজ করে এবং ভুলগুলি খুঁজে পেতে সাহায্য করে |
-| **অটো-কমপ্লিশন** | টাইপ করার সময় কোডের পরামর্শ দেয় | কোডিং দ্রুত করে এবং টাইপো কমায় |
-| **ডিবাগিং টুলস** | আপনাকে ভুল খুঁজে এবং ঠিক করতে সাহায্য করে | সমস্যার সমাধানে সময় বাঁচায় |
-| **এক্সটেনশন** | বিশেষায়িত বৈশিষ্ট্য যোগ করে | আপনার এডিটরকে যেকোনো প্রযুক্তির জন্য কাস্টমাইজ করুন |
-| **AI সহকারী** | কোড এবং ব্যাখ্যা পরামর্শ দেয় | শেখা এবং উৎপাদনশীলতা ত্বরান্বিত করে |
+| **সিনট্যাক্স হাইলাইটিং** | আপনার কোডের বিভিন্ন অংশ রঙিন করে | কোড পড়া সহজ করে এবং ভুল ধরতে সাহায্য করে |
+| **অটো-কাম্পলিশন** | টাইপ করার সময় কোড প্রস্তাব করে | কোডিং দ্রুত হয় এবং টাইপিং ভুল কমে যায় |
+| **ডিবাগিং টুলস** | ভুল খুঁজে বের করা এবং ঠিক করতে সাহায্য করে | সমস্যা সমাধানে ঘন্টা বাঁচায় |
+| **এক্সটেনশনস** | বিশেষায়িত ফিচার যুক্ত করে | আপনার এডিটরকে যেকোনো প্রযুক্তির জন্য কাস্টমাইজ করে |
+| **AI সহকারী** | কোড এবং ব্যাখ্যা প্রস্তাব করে | শেখা এবং উৎপাদনশীলতা দ্রুততর করে |
-> 🎥 **ভিডিও রিসোর্স**: এই সরঞ্জামগুলি কার্যকরভাবে দেখতে চান? এই [Tools of the Trade ভিডিও](https://youtube.com/watch?v=69WJeXGBdxg) দেখুন একটি বিস্তৃত ওভারভিউর জন্য।
+> 🎥 **ভিডিও রিসোর্স**: এই সরঞ্জামগুলো কর্মরত দেখতে চান? দেখুন এই [Tools of the Trade ভিডিও](https://youtube.com/watch?v=69WJeXGBdxg) ব্যাপক পর্যালোচনার জন্য।
#### ওয়েব ডেভেলপমেন্টের জন্য সুপারিশকৃত এডিটর
-**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (বিনামূল্যে)
-- ওয়েব ডেভেলপারদের মধ্যে সবচেয়ে জনপ্রিয়
-- চমৎকার এক্সটেনশন ইকোসিস্টেম
-- বিল্ট-ইন টার্মিনাল এবং Git ইন্টিগ্রেশন
-- **অবশ্যই থাকা এক্সটেনশন**:
- - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - AI-চালিত কোড পরামর্শ
- - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - রিয়েল-টাইম সহযোগিতা
- - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - স্বয়ংক্রিয় কোড ফরম্যাটিং
- - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - কোডে টাইপো ধরুন
+**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (ফ্রি)
+- ওয়েব ডেভেলপারদের মধ্যে সবচেয়ে জনপ্রিয়
+- চমৎকার এক্সটেনশন ইকোসিস্টেম
+- বিল্ট-ইন টার্মিনাল এবং Git ইন্টিগ্রেশন
+- **অত্যাবশ্যক এক্সটেনশনস**:
+ - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - AI চালিত কোড প্রস্তাব
+ - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - রিয়েল-টাইম সহযোগিতা
+ - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - স্বয়ংক্রিয় কোড ফরম্যাটিং
+ - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - আপনার কোডে টাইপো ধরার জন্য
+
+**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (পেইড, ছাত্রদের জন্য ফ্রি)
+- উন্নত ডিবাগিং এবং টেস্টিং টুলস
+- বুদ্ধিমান কোড সম্পূরক
+- বিল্ট-ইন সংস্করণ নিয়ন্ত্রণ
-**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (পেইড, শিক্ষার্থীদের জন্য বিনামূল্যে)
-- উন্নত ডিবাগিং এবং টেস্টিং টুলস
-- বুদ্ধিমান কোড কমপ্লিশন
-- বিল্ট-ইন ভার্সন কন্ট্রোল
+**ক্লাউড-ভিত্তিক IDEs** (বিভিন্ন মূল্য)
+- [GitHub Codespaces](https://github.com/features/codespaces) - আপনার ব্রাউজারে পূর্ণ VS Code
+- [Replit](https://replit.com/) - শেখা এবং কোড শেয়ার করার জন্য চমৎকার
+- [StackBlitz](https://stackblitz.com/) - তাৎক্ষণিক, পূর্ণ-স্ট্যাক ওয়েব ডেভেলপমেন্ট
-**ক্লাউড-ভিত্তিক IDEs** (বিভিন্ন মূল্য
-যখন প্রথমবার কেউ আমাকে ব্রাউজার ডেভটুলস দেখিয়েছিল, আমি প্রায় তিন ঘণ্টা শুধু ক্লিক করেই কাটিয়েছি এবং বলেছি, "অপেক্ষা করুন, এটা কি এটাও করতে পারে?!" আপনি বাস্তব সময়ে যেকোনো ওয়েবসাইট সম্পাদনা করতে পারেন, ঠিক কত দ্রুত সবকিছু লোড হয় তা দেখতে পারেন, বিভিন্ন ডিভাইসে আপনার সাইট কেমন দেখায় তা পরীক্ষা করতে পারেন, এবং এমনকি একজন পেশাদারের মতো জাভাস্ক্রিপ্ট ডিবাগ করতে পারেন। এটা একেবারে অবিশ্বাস্য!
+> 💡 **শুরুর টিপ**: Visual Studio Code দিয়ে শুরু করুন – এটি ফ্রি, শিল্পে ব্যাপক ব্যবহৃত, এবং একটি বিশাল কমিউনিটি সহায়ক টিউটোরিয়াল এবং এক্সটেনশন তৈরি করে।
-**ব্রাউজার কেন আপনার গোপন অস্ত্র:**
+### ওয়েব ব্রাউজার: আপনার গোপন উন্নয়ন ল্যাবরেটরি
-যখন আপনি একটি ওয়েবসাইট বা ওয়েব অ্যাপ্লিকেশন তৈরি করেন, তখন আপনাকে দেখতে হবে এটি বাস্তব জগতে কেমন দেখায় এবং কাজ করে। ব্রাউজার শুধু আপনার কাজ প্রদর্শন করে না, বরং পারফরম্যান্স, অ্যাক্সেসিবিলিটি এবং সম্ভাব্য সমস্যাগুলির বিষয়ে বিস্তারিত প্রতিক্রিয়া প্রদান করে।
+ঠিক আছে, প্রস্তুত হন পুরোপুরি অবাক হতে! আপনি জানেন কিভাবে সোশ্যাল মিডিয়া স্ক্রোল করা এবং ভিডিও দেখা জন্য ব্রাউজার ব্যবহার করেছেন? আসলে তারা এই পুরো সময়টা অবিশ্বাস্য গোপন ডেভেলপার ল্যাবরেটরি লুকিয়ে রেখেছিল, শুধু আপনার আবিষ্কারের জন্য অপেক্ষা করছিল!
-#### ব্রাউজার ডেভেলপার টুলস (ডেভটুলস)
+প্রতিবার যখন আপনি একটি ওয়েবপেজে রাইট-ক্লিক করে "Inspect Element" নির্বাচন করেন, আপনি এমন একটি গোপন বিশ্বের দরজা খুলছেন যা সত্যি বলতে আমার আগে শত শত ডলার খরচ করে কেনা সফটওয়্যারের থেকেও অনেক বেশি শক্তিশালী। এটা ঠিক যেন আপনার সাধারণ রান্নাঘরের একটি সিক্রেট প্যানেলের পেছনে একজন পেশাদার শেফের গবেষণাগৃহ লুকিয়ে ছিল!
+প্রথমবার কেউ আমাকে ব্রাউজার DevTools দেখিয়েছিল, আমি প্রায় তিন ঘন্টা কেবল ক্লিক করতে করতে এবং বলছিলাম "রুসি, এটা এটাও করতে পারে?!" আপনি আদৌ যেকোনো ওয়েবসাইট রিয়েল-টাইমে সম্পাদনা করতে পারেন, ঠিক কেমন দ্রুত সবকিছু লোড হচ্ছে তা দেখতে পারেন, বিভিন্ন ডিভাইসে আপনার সাইট কেমন দেখায় পরীক্ষা করতে পারেন, এমনকি জাভাস্ক্রিপ্ট ডিবাগ করতে পারেন পাশাঠ মতো। এটা পুরোপুরি চমকপ্রদ!
-আধুনিক ব্রাউজারগুলিতে বিস্তৃত ডেভেলপমেন্ট স্যুট অন্তর্ভুক্ত রয়েছে:
+**এটাই কারণ ব্রাউজারগুলি আপনার গোপন অস্ত্র:**
-| টুলের বিভাগ | এটি কী করে | উদাহরণ ব্যবহার |
-|-------------|------------|----------------|
-| **এলিমেন্ট ইন্সপেক্টর** | HTML/CSS বাস্তব সময়ে দেখুন এবং সম্পাদনা করুন | স্টাইলিং সামঞ্জস্য করুন এবং তাৎক্ষণিক ফলাফল দেখুন |
-| **কনসোল** | ত্রুটি বার্তা দেখুন এবং জাভাস্ক্রিপ্ট পরীক্ষা করুন | সমস্যা ডিবাগ করুন এবং কোড নিয়ে পরীক্ষা করুন |
-| **নেটওয়ার্ক মনিটর** | রিসোর্স লোড কেমন হচ্ছে তা ট্র্যাক করুন | পারফরম্যান্স এবং লোডিং টাইম অপ্টিমাইজ করুন |
-| **অ্যাক্সেসিবিলিটি চেকার** | অন্তর্ভুক্তিমূলক ডিজাইন পরীক্ষা করুন | নিশ্চিত করুন যে আপনার সাইট সব ব্যবহারকারীর জন্য কাজ করে |
-| **ডিভাইস সিমুলেটর** | বিভিন্ন স্ক্রিন সাইজে প্রিভিউ দেখুন | একাধিক ডিভাইস ছাড়াই রেসপন্সিভ ডিজাইন পরীক্ষা করুন |
+যখন আপনি একটি ওয়েবসাইট বা ওয়েব অ্যাপ তৈরি করেন, আপনাকে দেখতে হয় এটা বাস্তব জগতে কেমন দেখায় এবং কিভাবে কাজ করে। ব্রাউজার শুধু আপনার কাজ প্রদর্শন করে না, বরং কার্যক্ষমতা, প্রবেশগম্যতা, এবং সম্ভাব্য সমস্যাগুলি সম্পর্কে বিস্তারিত প্রতিক্রিয়াও দেয়।
-#### ডেভেলপমেন্টের জন্য সুপারিশকৃত ব্রাউজার
+#### ব্রাউজার ডেভেলপার সরঞ্জাম (DevTools)
-- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - শিল্প-মান DevTools সহ বিস্তৃত ডকুমেন্টেশন
-- **[Firefox](https://developer.mozilla.org/docs/Tools)** - চমৎকার CSS Grid এবং অ্যাক্সেসিবিলিটি টুলস
-- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - Chromium ভিত্তিক, Microsoft's ডেভেলপার রিসোর্স সহ
+আধুনিক ব্রাউজারগুলি বিস্তৃত ডেভেলপমেন্ট স্যুট অন্তর্ভুক্ত করে:
-> ⚠️ **গুরুত্বপূর্ণ পরীক্ষার টিপস**: আপনার ওয়েবসাইটগুলি সবসময় একাধিক ব্রাউজারে পরীক্ষা করুন! Chrome-এ যা পুরোপুরি কাজ করে তা Safari বা Firefox-এ ভিন্ন দেখাতে পারে। পেশাদার ডেভেলপাররা সমস্ত প্রধান ব্রাউজারে পরীক্ষা করেন যাতে ব্যবহারকারীর অভিজ্ঞতা সঙ্গতিপূর্ণ হয়।
+| টুল ক্যাটাগরি | এটি কী করে | উদাহরণ ব্যবহারিক |
+|---------------|--------------|------------------|
+| **এলিমেন্ট ইন্সপেক্টর** | রিয়েল-টাইমে HTML/CSS দেখা এবং সম্পাদনা করা | স্টাইলিং সামঞ্জস্য করে তাৎক্ষণিক ফলাফল দেখা |
+| **কন্সোলে** | ত্রুটি বার্তা দেখা ও জাভাস্ক্রিপ্ট টেস্ট করা | সমস্যা ডিবাগ করা এবং কোড নিয়ে পরীক্ষা-নিরীক্ষা করা |
+| **নেটওয়ার্ক মনিটর** | রিসোর্স কিভাবে লোড হচ্ছে তা ট্র্যাক করা | কার্যক্ষমতা ও লোডিং সময় উন্নত করা |
+| **অ্যাক্সেসিবিলিটি চেকার** | অন্তর্ভুক্ত ডিজাইনের জন্য টেস্ট করা | নিশ্চিত করা আপনার সাইট সব ব্যবহারকারীর জন্য কাজ করে |
+| **ডিভাইস সিমুলেটর** | বিভিন্ন স্ক্রিন সাইজে প্রিভিউ | একাধিক ডিভাইস ছাড়াই রেসপনসিভ ডিজাইন পরীক্ষা করা |
-### কমান্ড লাইন টুলস: ডেভেলপার সুপারপাওয়ারসের গেটওয়ে
+#### বিকাশের জন্য সুপারিশকৃত ব্রাউজার
-ঠিক আছে, এখানে কমান্ড লাইন সম্পর্কে সম্পূর্ণ সৎ মুহূর্তের কথা বলি, কারণ আমি চাই আপনি এটা এমন কারো কাছ থেকে শুনুন যে সত্যিই এটা বোঝে। যখন আমি প্রথম এটি দেখেছিলাম – শুধু এই ভয়ঙ্কর কালো স্ক্রিনটি যা টেক্সট ব্লিঙ্ক করছিল – আমি সত্যিই ভেবেছিলাম, "না, একদম না! এটা তো ১৯৮০ এর দশকের কোনো হ্যাকার মুভির মতো দেখাচ্ছে, এবং আমি অবশ্যই এর জন্য যথেষ্ট স্মার্ট নই!" 😅
+- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - শিল্প মানের DevTools বিস্তৃত ডকুমেন্টেশন সহ
+- **[Firefox](https://developer.mozilla.org/docs/Tools)** - চমৎকার CSS গ্রিড এবং অ্যাক্সেসিবিলিটি টুলস
+- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - ক্রোমিয়ামে ভিত্তি করে মাইক্রোসফটের ডেভেলপার রিসোর্সস সহ
-কিন্তু আমি যা চাইতাম কেউ আমাকে তখন বলুক, এবং যা আমি এখন আপনাকে বলছি: কমান্ড লাইন ভীতিকর নয় – এটি আসলে আপনার কম্পিউটারের সাথে সরাসরি কথোপকথনের মতো। এটা এমন, যেমন আপনি একটি ফ্যান্সি অ্যাপ দিয়ে খাবার অর্ডার করছেন যেখানে ছবি এবং মেনু রয়েছে (যা সুন্দর এবং সহজ) বনাম আপনার প্রিয় স্থানীয় রেস্টুরেন্টে হাঁটছেন যেখানে শেফ ঠিক জানেন আপনি কী পছন্দ করেন এবং আপনি শুধু বলছেন "আমাকে কিছু অসাধারণ দিয়ে চমকে দিন।"
+> ⚠️ **গুরুত্বপূর্ণ টেস্টিং টিপ**: সর্বদা আপনার ওয়েবসাইটগুলি একাধিক ব্রাউজারে পরীক্ষা করুন! যা ক্রোমে নিখুঁত কাজ করে তা সাফারি বা ফায়ারফক্সে ভিন্ন দেখাতে পারে। পেশাদার ডেভেলপাররা সব প্রধান ব্রাউজারে পরীক্ষা করে নিশ্চিত হন ব্যবহারকারীর অভিজ্ঞতা সঙ্গতিপূর্ণ থাকে।
-কমান্ড লাইন এমন জায়গা যেখানে ডেভেলপাররা যায় যেন তারা সম্পূর্ণ জাদুকর। আপনি কয়েকটি জাদুকরী শব্দ টাইপ করেন (ঠিক আছে, তারা শুধু কমান্ড, কিন্তু তারা জাদুকরী মনে হয়!), এন্টার চাপুন, এবং বুম – আপনি পুরো প্রকল্পের কাঠামো তৈরি করেছেন, বিশ্বজুড়ে শক্তিশালী টুল ইনস্টল করেছেন, অথবা আপনার অ্যাপ ইন্টারনেটে প্রকাশ করেছেন যাতে লক্ষ লক্ষ মানুষ এটি দেখতে পারে। একবার আপনি সেই ক্ষমতার স্বাদ পেয়ে গেলে, এটি সত্যিই বেশ নেশাজনক!
-**কমান্ড লাইন কেন আপনার প্রিয় টুল হয়ে উঠবে:**
+### কমান্ড লাইন টুলস: আপনার ডেভেলপার স্সুপারপাওয়ারের প্রবেশদ্বার
-গ্রাফিকাল ইন্টারফেস অনেক কাজের জন্য দুর্দান্ত, তবে কমান্ড লাইন অটোমেশন, নির্ভুলতা এবং গতিতে শ্রেষ্ঠ। অনেক ডেভেলপমেন্ট টুল মূলত কমান্ড লাইন ইন্টারফেসের মাধ্যমে কাজ করে, এবং সেগুলি দক্ষতার সাথে ব্যবহার করা শিখলে আপনার উৎপাদনশীলতা নাটকীয়ভাবে উন্নত হতে পারে।
+আচ্ছা, কমান্ড লাইন সম্পর্কে সম্পূর্ণ সৎ মুহূর্ত নেওয়া যাক, কারণ আমি চাই আপনি এটা এমন একজন থেকে শুনুন যিনি সত্যিই এটা বোঝেন। যখন আমি প্রথম এটাকে দেখেছিলাম – কেবল এই ভয়ঙ্কর কালো স্ক্রীন যা টিপটিপ করে লেখা দেখাচ্ছিল – আমি সত্যিই ভাবছিলাম, “না, একদম না! এটা যেন ১৯৮০-এর দশকের হ্যাকার সিনেমার কিছু, আর আমি নিশ্চিত এটা করার জন্য যথেষ্ট বুদ্ধিমান নই!” 😅
+
+কিন্তু এখানেই আমি চাই কেউ আমাকে তখন বলত, আর আমি এখন আপনাকে বলছি: কমান্ড লাইন ভয়ঙ্কর নয় – এটা আসলে আপনার কম্পিউটারের সাথে সরাসরি কথোপকথনের মতো। ভাবুন এটা যেমন একটি ফ্যান্সি অ্যাপ থেকে ছবি আর মেনু সহ খাবার অর্ডার করার মতো (যা ভালো এবং সহজ), তার তুলনায় আপনার প্রিয় স্থানীয় রেস্টুরেন্টে হাঁটার মতো, যেখানে শেফ ঠিক জানে আপনি কি পছন্দ করেন এবং আপনি শুধু বললেই “দয়াকরে মুগ্ধকর কিছু সারপ্রাইজ দিন” সঙ্গে অসাধারণ কিছু রান্না করতে পারে।
+
+কমান্ড লাইন হলো সেই জায়গা যেখানে ডেভেলপাররা পুরোপুরি যাদুকর হিসাবে অনুভব করে। আপনি কয়েকটি দেখতে জাদুকরী শব্দ টাইপ করেন (ঠিক আছে, এগুলো কমান্ড মাত্র, কিন্তু জাদুকরী মনে হয়!), এন্টার চাপেন, আর হঠাৎ – আপনি পুরো প্রকল্পের গঠন তৈরি করেছেন, শক্তিশালী সরঞ্জাম বিশ্বের বিভিন্ন স্থান থেকে ইন্সটল করেছেন, বা আপনার অ্যাপ ইন্টারনেটে মাইলিয়ন মানুষের দেখার জন্য ডিপ্লয় করেছেন। একবার আপনি এই ক্ষমতার স্বাদ পেয়ে গেলে, সত্যিই এটি আসক্তিকর হয়ে যায়!
+
+**কেন কমান্ড লাইন আপনার প্রিয় সরঞ্জাম হবে:**
+
+যদিও গ্রাফিক্যাল ইন্টারফেস অনেক কাজের জন্য দুর্দান্ত, কমান্ড লাইন স্বয়ংক্রিয়তা, নিখুঁততা এবং গতি নিয়ে ছাড়িয়ে যায়। অনেক ডেভেলপমেন্ট টুলস প্রধানত কমান্ড লাইন ইন্টারফেস ব্যবহার করে কাজ করে, এবং দক্ষতার সঙ্গে এগুলো ব্যবহার শেখা আপনার উৎপাদনশীলতা নাটকীয়ভাবে বাড়াতে পারে।
```bash
-# Step 1: Create and navigate to project directory
+# ধাপ ১: প্রকল্প ডিরেক্টরি তৈরি করুন এবং সেখানে যান
mkdir my-awesome-website
cd my-awesome-website
```
**এই কোডটি কী করে:**
-- **নতুন ডিরেক্টরি তৈরি করুন** "my-awesome-website" নামে আপনার প্রকল্পের জন্য
-- **নেভিগেট করুন** নতুন তৈরি ডিরেক্টরিতে কাজ শুরু করতে
+- **নতুন ডিরেক্টরি তৈরি করে** যার নাম "my-awesome-website" আপনার প্রকল্পের জন্য
+- **নতুন তৈরি ডিরেক্টরিতে প্রবেশ করে** কাজ শুরু করার জন্য
```bash
-# Step 2: Initialize project with package.json
+# ধাপ ২: package.json দিয়ে প্রকল্প শুরু করুন
npm init -y
-# Install modern development tools
+# আধুনিক উন্নয়ন সরঞ্জাম ইনস্টল করুন
npm install --save-dev vite prettier eslint
npm install --save-dev @eslint/js
```
-**ধাপে ধাপে যা ঘটছে:**
-- **নোড.জেএস প্রকল্প ইনিশিয়ালাইজ করুন** ডিফল্ট সেটিংস সহ `npm init -y` ব্যবহার করে
-- **Vite ইনস্টল করুন** দ্রুত ডেভেলপমেন্ট এবং প্রোডাকশন বিল্ডের জন্য একটি আধুনিক বিল্ড টুল হিসেবে
-- **Prettier যোগ করুন** স্বয়ংক্রিয় কোড ফরম্যাটিংয়ের জন্য এবং ESLint কোডের গুণমান পরীক্ষা করার জন্য
-- **`--save-dev` ফ্ল্যাগ ব্যবহার করুন** এগুলিকে শুধুমাত্র ডেভেলপমেন্ট-সম্পর্কিত ডিপেনডেন্সি হিসেবে চিহ্নিত করতে
+**ক্রমানুসারে, যা ঘটছে তা হলো:**
+- `npm init -y` ব্যবহার করে ডিফল্ট সেটিংস সহ নতুন Node.js প্রকল্প আরম্ভ করা
+- দ্রুত উন্নয়ন ও প্রোডাকশন বিল্ডের জন্য আধুনিক বিল্ড টুল Vite ইন্সটল করা
+- স্বয়ংক্রিয় কোড ফরম্যাটিং এর জন্য Prettier এবং কোড গুণগত মান পরীক্ষা করার জন্য ESLint যোগ করা
+- `--save-dev` ফ্ল্যাগ ব্যবহার করে এগুলোকে শুধুমাত্র ডেভেলপমেন্ট নির্ভরশীল হিসেবে চিহ্নিত করা
```bash
-# Step 3: Create project structure and files
+# ধাপ ৩: প্রকল্পের কাঠামো এবং ফাইল তৈরি করুন
mkdir src assets
echo 'My Site
Hello World
' > index.html
-# Start development server
+# ডেভেলপমেন্ট সার্ভার শুরু করুন
npx vite
```
-**উপরের কোডে আমরা:**
-- **প্রকল্প সংগঠিত করেছি** সোর্স কোড এবং অ্যাসেটের জন্য আলাদা ফোল্ডার তৈরি করে
-- **একটি বেসিক HTML ফাইল তৈরি করেছি** সঠিক ডকুমেন্ট স্ট্রাকচারের সাথে
-- **Vite ডেভেলপমেন্ট সার্ভার শুরু করেছি** লাইভ রিলোডিং এবং হট মডিউল রিপ্লেসমেন্টের জন্য
+**উপরোক্ত ক্ষেত্রে, আমরা:**
+- আলাদা সোর্স কোড ও এসেট ফোল্ডার তৈরি করে প্রকল্প সংগঠিত করেছি
+- সঠিক ডকুমেন্ট স্ট্রাকচার সহ একটি বেসিক HTML ফাইল তৈরি করেছি
+- লাইভ রিলোড এবং হট মডিউল রিপ্লেসমেন্টের জন্য Vite ডেভেলপমেন্ট সার্ভার শুরু করেছি
-#### ওয়েব ডেভেলপমেন্টের জন্য প্রয়োজনীয় কমান্ড লাইন টুলস
+#### ওয়েব উন্নয়নের জন্য অপরিহার্য কমান্ড লাইন টুলস
-| টুল | উদ্দেশ্য | কেন এটি দরকার |
-|-----|----------|----------------|
-| **[Git](https://git-scm.com/)** | ভার্সন কন্ট্রোল | পরিবর্তন ট্র্যাক করুন, অন্যদের সাথে সহযোগিতা করুন, আপনার কাজ ব্যাকআপ করুন |
-| **[Node.js & npm](https://nodejs.org/)** | জাভাস্ক্রিপ্ট রানটাইম এবং প্যাকেজ ম্যানেজমেন্ট | ব্রাউজারের বাইরে জাভাস্ক্রিপ্ট চালান, আধুনিক ডেভেলপমেন্ট টুল ইনস্টল করুন |
-| **[Vite](https://vitejs.dev/)** | বিল্ড টুল এবং ডেভ সার্ভার | হট মডিউল রিপ্লেসমেন্ট সহ দ্রুত ডেভেলপমেন্ট |
-| **[ESLint](https://eslint.org/)** | কোডের গুণমান | আপনার জাভাস্ক্রিপ্টে সমস্যা স্বয়ংক্রিয়ভাবে খুঁজে বের করুন এবং ঠিক করুন |
-| **[Prettier](https://prettier.io/)** | কোড ফরম্যাটিং | আপনার কোডকে ধারাবাহিকভাবে ফরম্যাট এবং পাঠযোগ্য রাখুন |
+| টুল | উদ্দেশ্য | কেন দরকার |
+|------|---------|-----------------|
+| **[Git](https://git-scm.com/)** | ভার্সন কন্ট্রোল | পরিবর্তন ট্র্যাক করা, সাথে কাজ করা, ব্যাকআপ রাখা |
+| **[Node.js & npm](https://nodejs.org/)** | জাভাস্ক্রিপ্ট রানটাইম ও প্যাকেজ ম্যানেজমেন্ট | ব্রাউজারের বাইরে জাভাস্ক্রিপ্ট চালানো, আধুনিক ডেভেলপমেন্ট টুল ইনস্টল করা |
+| **[Vite](https://vitejs.dev/)** | বিল্ড টুল ও ডেভ সার্ভার | অত্যন্ত দ্রুত উন্নয়ন হট মডিউল রিপ্লেসমেন্ট সহ |
+| **[ESLint](https://eslint.org/)** | কোড গুণমান | স্বয়ংক্রিয়ভাবে জাভাস্ক্রিপ্ট কোডের সমস্যা খুঁজে বের করা ও ঠিক করা |
+| **[Prettier](https://prettier.io/)** | কোড ফরম্যাটিং | আপনার কোড নিয়মিত ফরম্যাটেড ও পাঠযোগ্য রাখা |
#### প্ল্যাটফর্ম-নির্দিষ্ট অপশন
**Windows:**
-- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - আধুনিক, ফিচার-সমৃদ্ধ টার্মিনাল
-- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - শক্তিশালী স্ক্রিপ্টিং পরিবেশ
-- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - ঐতিহ্যবাহী Windows কমান্ড লাইন
+- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** – আধুনিক, বৈশিষ্ট্যসম্পন্ন টার্মিনাল
+- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 – শক্তিশালী স্ক্রিপ্টিং পরিবেশ
+- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 – ঐতিহ্যবাহী উইন্ডোজ কমান্ড লাইন
**macOS:**
-- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 - বিল্ট-ইন টার্মিনাল অ্যাপ্লিকেশন
-- **[iTerm2](https://iterm2.com/)** - উন্নত টার্মিনাল উন্নত বৈশিষ্ট্য সহ
+- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 – বিল্ট-ইন টার্মিনাল অ্যাপ্লিকেশন
+- **[iTerm2](https://iterm2.com/)** – উন্নত বৈশিষ্ট্যসহ টার্মিনাল
**Linux:**
-- **[Bash](https://www.gnu.org/software/bash/)** 💻 - স্ট্যান্ডার্ড Linux শেল
-- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - উন্নত টার্মিনাল এমুলেটর
+- **[Bash](https://www.gnu.org/software/bash/)** 💻 – স্ট্যান্ডার্ড লিনাক্স শেল
+- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** – উন্নত টার্মিনাল এমুলেটর
> 💻 = অপারেটিং সিস্টেমে প্রি-ইনস্টল করা
-> 🎯 **শেখার পথ**: `cd` (ডিরেক্টরি পরিবর্তন), `ls` বা `dir` (ফাইল তালিকা), এবং `mkdir` (ফোল্ডার তৈরি) এর মতো মৌলিক কমান্ড দিয়ে শুরু করুন। `npm install`, `git status`, এবং `code .` (বর্তমান ডিরেক্টরি VS Code-এ খুলুন) এর মতো আধুনিক ওয়ার্কফ্লো কমান্ড দিয়ে অনুশীলন করুন। আপনি যত বেশি স্বাচ্ছন্দ্য বোধ করবেন, ততই আপনি আরও উন্নত কমান্ড এবং অটোমেশন কৌশলগুলি শিখবেন।
+> 🎯 **শেখার পথ**: মৌলিক কমান্ড যেমন `cd` (ডিরেক্টরি পরিবর্তন), `ls` বা `dir` (ফাইল তালিকা), এবং `mkdir` (ফোল্ডার তৈরি) দিয়ে শুরু করুন। আধুনিক ওয়ার্কফ্লো কমান্ড যেমন `npm install`, `git status`, এবং `code .` (বর্তমান ডিরেক্টরিতে VS Code খুলে) দিয়ে অনুশীলন করুন। আরামদায়ক হওয়ার সাথে সাথেই আপনি স্বাভাবিকভাবেই আরও উন্নত কমান্ড এবং স্বয়ংক্রিয়করণ কৌশল শিখবেন।
+
-### ডকুমেন্টেশন: আপনার সর্বদা-উপলব্ধ শেখার মেন্টর
+### ডকুমেন্টেশন: আপনার সর্বদা উপলব্ধ শেখার উপদেশক
-ঠিক আছে, আমি একটি ছোট গোপন কথা শেয়ার করতে চাই যা আপনাকে একজন শিক্ষানবিশ হিসেবে আরও ভালো অনুভব করতে সাহায্য করবে: এমনকি সবচেয়ে অভিজ্ঞ ডেভেলপাররাও তাদের সময়ের একটি বড় অংশ ডকুমেন্টেশন পড়তে ব্যয় করেন। এবং এটি এই কারণে নয় যে তারা জানে না তারা কী করছে – এটি আসলে জ্ঞানের একটি চিহ্ন!
+আচ্ছা, আমি একটি ছোট গোপন কথা শেয়ার করব যা আপনাকে শুরুতে অনেক ভালো লাগবে: সবচেয়ে অভিজ্ঞ ডেভেলপাররাও তাদের সময়ের একটা বিশাল অংশ ডকুমেন্টেশন পড়তে ব্যয় করেন। এবং এটা এই কারণে নয় যে তারা জানেন না কী করছেন – বরং এটা প্রজ্ঞার পরিচয়!
-ডকুমেন্টেশনকে এমন বিশ্বের সবচেয়ে ধৈর্যশীল, জ্ঞানী শিক্ষকদের অ্যাক্সেস করার মতো মনে করুন যারা ২৪/৭ উপলব্ধ। রাত ২টায় কোনো সমস্যায় আটকে গেছেন? ডকুমেন্টেশন সেখানে একটি উষ্ণ ভার্চুয়াল আলিঙ্গন এবং ঠিক আপনার প্রয়োজনীয় উত্তর নিয়ে। সবাই যে নতুন বৈশিষ্ট্যটি নিয়ে কথা বলছে তা সম্পর্কে জানতে চান? ডকুমেন্টেশন আপনার পাশে রয়েছে ধাপে ধাপে উদাহরণ সহ। কিছু কেন কাজ করে তা বোঝার চেষ্টা করছেন? আপনি অনুমান করেছেন – ডকুমেন্টেশন এটি ব্যাখ্যা করতে প্রস্তুত এমনভাবে যা অবশেষে এটিকে ক্লিক করে তোলে!
+ডকুমেন্টেশন ভাবুন বিশ্বজুড়ে সবচেয়ে ধৈর্যশীল, জ্ঞানশালী শিক্ষকদের প্রবেশাধিকার হিসেবে যারা ২৪/৭ উপলব্ধ। দুপুর ২টায় কোনো সমস্যায় আটকা? ডকুমেন্টেশন আপনাকে একটি উষ্ণ ভার্চুয়াল আলিঙ্গন ও সঠিক উত্তর সরবরাহ করে। কেউ নতুন কোনো শীতল ফিচার সম্পর্কে জানতে চায় যা সবাই আলোচনা করছে? ডকুমেন্টেশন আপনার পিঠ দেয় পর্যায়ক্রমিক উদাহরণ দিয়ে। কেন কিছু নিয়ে কাজ করে সে রীতিটি বুঝতে চান? অনুমান করুন – ডকুমেন্টেশন বুঝিয়ে দিতে প্রস্তুত যাতে আপনি অবশেষে তা বুঝতে পারেন!
-এখানে এমন কিছু আছে যা আমার দৃষ্টিভঙ্গি সম্পূর্ণরূপে পরিবর্তন করেছে: ওয়েব ডেভেলপমেন্ট বিশ্বটি অবিশ্বাস্যভাবে দ্রুত চলে, এবং কেউ (আমি বলতে চাই, একেবারে কেউই!) সবকিছু মনে রাখে না। আমি ১৫+ বছরের অভিজ্ঞতা সম্পন্ন সিনিয়র ডেভেলপারদের দেখেছি মৌলিক সিনট্যাক্স খুঁজে বের করতে, এবং আপনি জানেন কি? এটি লজ্জাজনক নয় – এটি বুদ্ধিমানের কাজ! এটি নিখুঁত স্মৃতি থাকার বিষয়ে নয়; এটি দ্রুত নির্ভরযোগ্য উত্তরগুলি কোথায় খুঁজে পাওয়া যায় তা জানার এবং সেগুলি কীভাবে প্রয়োগ করতে হয় তা বোঝার বিষয়ে।
+এটা এমন কিছু যা আমার দৃষ্টিভঙ্গি পুরোপুরি বদলে দিয়েছিল: ওয়েব ডেভেলপমেন্ট জগতটি দ্রুত এগিয়ে চলে, এবং কেউই (আমি বলছি একদম কেউই নয়!) সবকিছু মুখস্থ রাখে না। আমি ১৫+ বছরের অভিজ্ঞতা সম্পন্ন সিনিয়র ডেভেলপারদের মৌলিক সিনট্যাক্স খুঁজে দেখার ঘটনা দেখেছি, এবং জানেন কি? এটা লজ্জাজনক নয় – এটা বুদ্ধিমানের কাজ! নিখুঁত স্মৃতির ব্যাপারে নয়; বরং এটি দ্রুত নির্ভরযোগ্য উত্তর খুঁজে পেতে এবং প্রয়োগ করার কৌশল জানা।
-**এখানে আসল জাদু ঘটে:**
+**এখানেই আসল জাদু ঘটে:**
-পেশাদার ডেভেলপাররা তাদের সময়ের একটি উল্লেখযোগ্য অংশ ডকুমেন্টেশন পড়তে ব্যয় করেন – কারণ তারা জানে যে ওয়েব ডেভেলপমেন্টের ল্যান্ডস্কেপ এত দ্রুত বিকশিত হয় যে বর্তমান থাকতে হলে ক্রমাগত শেখার প্রয়োজন। চমৎকার ডকুমেন্টেশন আপনাকে শুধু *কীভাবে* কিছু ব্যবহার করতে হয় তা বুঝতে সাহায্য করে না, বরং *কেন* এবং *কখন* এটি ব্যবহার করতে হয় তাও বুঝতে সাহায্য করে।
+পেশাদার ডেভেলপাররা বড় অংশ ডকুমেন্টেশন পড়েন – এটা তাদের অজ্ঞতা নয়, বরং ওয়েব ডেভেলপমেন্ট দ্রুত পরিবর্তনশীল হওয়ার কারণে তারা সর্বদা নতুন কিছু শিখতে থাকে। অসাধারণ ডকুমেন্টেশন শুধু শেখায় *কিভাবে* কিছু ব্যবহার করবেন না, বরং *কেন* এবং *কবে* ব্যবহার করবেন।
-#### প্রয়োজনীয় ডকুমেন্টেশন রিসোর্স
+#### অপরিহার্য ডকুমেন্টেশন রিসোর্সেস
**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)**
-- ওয়েব প্রযুক্তি ডকুমেন্টেশনের জন্য সেরা মান
-- HTML, CSS, এবং জাভাস্ক্রিপ্টের জন্য বিস্তৃত গাইড
-- ব্রাউজার সামঞ্জস্যতার তথ্য অন্তর্ভুক্ত
-- ব্যবহারিক উদাহরণ এবং ইন্টারঅ্যাকটিভ ডেমো বৈশিষ্ট্যযুক্ত
+- ওয়েব প্রযুক্তির স্বর্ণ মানের ডকুমেন্টেশন
+- HTML, CSS, এবং জাভাস্ক্রিপ্টের বিস্তৃত গাইড
+- ব্রাউজার সামঞ্জস্যতা তথ্য অন্তর্ভুক্ত
+- ব্যবহারিক উদাহরণ এবং ইন্টারেক্টিভ ডেমো
-**[Web.dev](https://web.dev)** (গুগলের দ্বারা)
-- আধুনিক ওয়েব ডেভেলপমেন্টের সেরা অনুশীলন
-- পারফরম্যান্স অপ্টিমাইজেশন গাইড
-- অ্যাক্সেসিবিলিটি এবং অন্তর্ভুক্তিমূলক ডিজাইনের নীতিমালা
-- বাস্তব প্রকল্পের কেস স্টাডি
+**[Web.dev](https://web.dev)** (গুগল দ্বারা)
+- আধুনিক ওয়েব উন্নয়নের সেরা অনুশীলন
+- কার্যক্ষমতা অপ্টিমাইজেশন গাইড
+- প্রবেশগম্যতা ও অন্তর্ভুক্ত ডিজাইন নীতি
+- বাস্তব প্রকল্প থেকে কেস স্টাডি
**[Microsoft Developer Documentation](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)**
-- Edge ব্রাউজার ডেভেলপমেন্ট রিসোর্স
-- প্রগ্রেসিভ ওয়েব অ্যাপ গাইড
-- ক্রস-প্ল্যাটফর্ম ডেভেলপমেন্ট ইনসাইট
+- Edge ব্রাউজার উন্নয়ন রিসোর্স
+- প্রোগ্রেসিভ ওয়েব অ্যাপ গাইড
+- ক্রস-প্ল্যাটফর্ম ডেভেলপমেন্ট অন্তর্দৃষ্টি
**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)**
-- গঠনমূলক শেখার পাঠ্যক্রম
+- কাঠামোবদ্ধ শেখার পাঠ্যক্রম
- শিল্প বিশেষজ্ঞদের ভিডিও কোর্স
- হাতে-কলমে কোডিং অনুশীলন
-> 📚 **অধ্যয়নের কৌশল**: ডকুমেন্টেশন মুখস্থ করার চেষ্টা করবেন না – বরং এটি দক্ষতার সাথে নেভিগেট করতে শিখুন। প্রায়ই ব্যবহৃত রেফারেন্সগুলি বুকমার্ক করুন এবং নির্দিষ্ট তথ্য দ্রুত খুঁজে পেতে অনুসন্ধান ফাংশনগুলি ব্যবহার করার অনুশীলন করুন।
+> 📚 **অধ্যয়ন কৌশল**: ডকুমেন্টেশন মুখস্থ করার চেষ্টা করবেন না – বরং কিভাবে দক্ষতার সঙ্গে চালনা করবেন তা শিখুন। প্রায়শই ব্যবহৃত রেফারেন্স বুকমার্ক করুন এবং নির্দিষ্ট তথ্য দ্রুত খুঁজে পেতে সার্চ ফাংশন ব্যবহৃতার চর্চা করুন।
-### 🔧 **টুল মাস্টারি চেক: আপনার সাথে কী অনুরণিত হয়?**
+### 🔧 **টুল দক্ষতা যাচাই: আপনার সাথে কী অনুরণিত হয়?**
-**এক মুহূর্ত সময় নিয়ে ভাবুন:**
-- কোন টুলটি আপনি প্রথমে চেষ্টা করতে সবচেয়ে বেশি আগ্রহী? (এখানে ভুল উত্তর নেই!)
-- কমান্ড লাইন কি এখনও ভীতিকর মনে হয়, নাকি আপনি এটি সম্পর্কে কৌতূহলী?
-- আপনি কি আপনার প্রিয় ওয়েবসাইটগুলির পর্দার পিছনে উঁকি দিতে ব্রাউজার ডেভটুলস ব্যবহার করার কথা ভাবতে পারেন?
+**একটু সময় নিয়ে ভাবুন:**
+- কোন টুল প্রথমে চেষ্টা করতে সবচেয়ে আগ্রহী? (ভুল উত্তর নেই!)
+- কমান্ড লাইন কি এখনও ভয়ানক মনে হয়, নাকি আপনি এতে কৌতূহলী?
+- আপনি কি ব্রাউজার DevTools ব্যবহার করে আপনার প্রিয় ওয়েবসাইটগুলোর পেছনের পর্দা দেখতে কল্পনা করতে পারেন?
```mermaid
-pie title "Developer Time Spent With Tools"
- "Code Editor" : 40
- "Browser Testing" : 25
- "Command Line" : 15
- "Reading Docs" : 15
- "Debugging" : 5
+pie title "টুলস এর সাথে ডেভেলপার সময় ব্যয়"
+ "কোড এডিটর" : 40
+ "ব্রাউজার টেস্টিং" : 25
+ "কমান্ড লাইন" : 15
+ "ডকুমেন্ট পড়া" : 15
+ "ডিবাগিং" : 5
```
+> **মজার অন্তর্দৃষ্টি**: অধিকাংশ ডেভেলপার তার সময়ের প্রায় ৪০% কোড সম্পাদকেই ব্যয় করে, কিন্তু লক্ষ করুন কত সময় যায় পরীক্ষা, শেখা, এবং সমস্যা সমাধানে। প্রোগ্রামিং কেবল কোড লেখা নয় – এটা অভিজ্ঞতা তৈরি!
-> **মজার তথ্য**: বেশিরভাগ ডেভেলপার তাদের সময়ের প্রায় ৪০% তাদের কোড এডিটরে ব্যয় করেন, তবে লক্ষ্য করুন যে কতটা সময় পরীক্ষার, শেখার এবং সমস্যা সমাধানের জন্য যায়। প্রোগ্রামিং শুধু কোড লেখার বিষয়ে নয় – এটি অভিজ্ঞতা তৈরি করার বিষয়ে!
+✅ **চিন্তার জন্য খাবার**: এখানে ভাবার জন্য কিছু মজার বিষয় – আপনি কী ভাবে ভাবেন, ওয়েবসাইট তৈরি করার টুল (ডেভেলপমেন্ট) এবং ডিজাইন সংক্রান্ত টুলগুলোর মধ্যে পার্থক্য কী? এটা ঠিক যেমন একজন স্থপতি সুন্দর বাড়ি ডিজাইন করেন আর ঠিকাদার সেই বাড়ি বাস্তবায়ন করেন। দুটোই গুরুত্বপূর্ণ, কিন্তু তাদের আলাদা আলাদা সরঞ্জাম বাক্স লাগে! এই ধরনের চিন্তা আপনাকে ওয়েবসাইট তৈরি হওয়ার বড় দিকগুলো দেখতে সাহায্য করবে।
-✅ **চিন্তার খোরাক**: এখানে একটি আকর্ষণীয় বিষয় নিয়ে ভাবুন – ওয়েবসাইট তৈরি করার (ডেভেলপমেন্ট) টুলগুলি কীভাবে ওয়েবসাইটের চেহারা ডিজাইন করার (ডিজাইন) টুলগুলির থেকে আলাদা হতে পারে? এটি এমন, যেমন একজন স্থপতি একটি সুন্দর বাড়ি ডিজাইন করছেন এবং ঠিকাদার এটি তৈরি করছেন। উভয়ই গুরুত্বপূর্ণ, তবে তাদের আলাদা টুলবক্স দরকার! এই ধরনের চিন্তাভাবনা সত্যিই আপনাকে ওয়েবসাইটগুলি কীভাবে জীবন্ত হয়ে ওঠে তার বড় চিত্রটি দেখতে সাহায্য করবে।
+## GitHub Copilot Agent চ্যালেঞ্জ 🚀
-## GitHub Copilot Agent Challenge 🚀
+Agent মোড ব্যবহার করে নিম্নলিখিত চ্যালেঞ্জ সম্পন্ন করুন:
-Agent মোড ব্যবহার করে নিম্নলিখিত চ্যালেঞ্জটি সম্পূর্ণ করুন:
+**বর্ণনা:** আধুনিক কোড সম্পাদক বা IDE এর বৈশিষ্ট্যগুলি অন্বেষণ করুন এবং দেখান কিভাবে এটি একজন ওয়েব ডেভেলপার হিসেবে আপনার ওয়ার্কফ্লো উন্নত করতে পারে।
-**বর্ণনা:** একটি আধুনিক কোড এডিটর বা IDE-এর বৈশিষ্ট্যগুলি অন্বেষণ করুন এবং দেখান কীভাবে এটি একজন ওয়েব ডেভেলপারের কাজের প্রবাহ উন্নত করতে পারে।
-
-**প্রম্পট:** একটি কোড এডিটর বা IDE (যেমন Visual Studio Code, WebStorm, বা একটি ক্লাউড-ভিত্তিক IDE) নির্বাচন করুন। তিনটি বৈশিষ্ট্য বা এক্সটেনশন তালিকাভুক্ত করুন যা আপনাকে কোড লিখতে, ডিবাগ করতে বা আরও দক্ষতার সাথে রক্ষণাবেক্ষণ করতে সাহায্য করে। প্রতিটির জন্য, এটি কীভাবে আপনার কাজের প্রবাহে উপকার করে তার একটি সংক্ষিপ্ত ব্যাখ্যা দিন।
+**প্রম্পট:** একটি কোড সম্পাদক অথবা IDE নির্বাচন করুন (যেমন Visual Studio Code, WebStorm, বা ক্লাউড-ভিত্তিক IDE)। এমন তিনটি বৈশিষ্ট্য বা এক্সটেনশন তালিকাভুক্ত করুন যা কোড লেখা, ডিবাগ করা, বা রক্ষণাবেক্ষণে সাহায্য করে। প্রতিটির জন্য সংক্ষিপ্ত ব্যাখ্যা দিন কিভাবে এটি আপনার কাজের গতি বৃদ্ধি করে।
---
## 🚀 চ্যালেঞ্জ
-**ঠিক আছে, গোয়েন্দা, আপনার প্রথম কেসের জন্য প্রস্তুত?**
+**ঠিক আছে ডিটেকটিভ, আপনার প্রথম মামলার জন্য প্রস্তুত?**
+
+এখন যেহেতু আপনার এই চমৎকার ভিত্তি গড়ে উঠেছে, আমি এক অভিযান দিচ্ছি যা আপনাকে দেখাবে কতটা বৈচিত্র্যময় ও আকর্ষণীয় প্রোগ্রামিং জগৎ আসলেই। আর শুনুন – এটা এখনও কোড লেখার ব্যাপার নয়, তাই চাপ নেই! নিজেকে ভাবুন প্রথম উত্তেজনাপূর্ণ মামলায় প্রোগ্রামিং ভাষার গোয়েন্দা হিসেবে!
+
+**আপনার মিশন, যদি আপনি গ্রহণ করতে চান:**
+1. **ভাষার অনুসন্ধানী হন**: পুরোপুরি ভিন্ন তিনটি প্রোগ্রামিং ভাষা বাছুন – হয়তো একটি ওয়েবসাইট তৈরি করে, একটি মোবাইল অ্যাপ তৈরি করে, আরেকটি বিজ্ঞানীদের জন্য ডেটা বিশ্লেষণ করে। প্রতিটি ভাষায় একই সহজ কাজের উদাহরণ খুঁজে বের করুন। আমি আশ্বস্ত করছি, আপনি মুগ্ধ হবেন কীভাবে একেবারে ভিন্ন দেখতে হলেও একটিও কাজ একই রকম করে!
+
+2. **তাদের উত্স গল্প খুঁজে বের করুন**: প্রতিটি ভাষাকে বিশেষ করে তোলে কী? একটি মজার ঘটনা – প্রতিটি প্রোগ্রামিং ভাষা তৈরি হয়েছিল কারো মনে "আমি ভাবছি, এই নির্দিষ্ট সমস্যা সমাধানের একটা ভালো উপায় হওয়া উচিত" বলে। আপনি কি সেই সমস্যাগুলো বের করতে পারবেন? কিছু গল্প সত্যিই অসাধারণ!
+
+3. **কমিউনিটি চিনুন**: দেখুন প্রতিটি ভাষার কমিউনিটি কতটা বন্ধুত্বপূর্ণ ও উদ্দীপনাপূর্ণ। কিছু কমিউনিটিতে লাখ লাখ ডেভেলপার জ্ঞ্যান শেয়ার এবং সাহায্য করে, অন্যগুলি ছোট কিন্তু অতি-সংহত এবং সহায়ক। আপনি দেখতে পাবেন কিভাবে বিভিন্ন ব্যক্তিত্ব এই কমিউনিটিগুলোকে প্রাণবন্ত করে তোলে!
+
+4. **নিজের অনুভূতি অনুসরণ করুন**: কোন ভাষাটি এখন সবচেয়ে গ্রহণযোগ্য মনে হচ্ছে? “সঠিক” নির্বাচন নিয়ে চিন্তা করবেন না – শুধু আপনার অন্তর জিজ্ঞাসা শুনুন! এখানে ভুল উত্তর নেই, এবং পরে আপনি অন্য ভাষাগুলোও অন্বেষণ করতে পারেন।
-এখন যেহেতু আপনার এই অসাধারণ ভিত্তি রয়েছে, আমার কাছে একটি অ্যাডভেঞ্চার রয়েছে যা আপনাকে দেখাবে প্রোগ্রামিং জগতটি কতটা বৈচিত্র্যময় এবং আকর্ষণীয়। এবং শুনুন – এটি এখনও কোড লেখার বিষয়ে নয়, তাই এখানে কোনো চাপ নেই! নিজেকে একজন প্রোগ্রামিং ভাষার গোয়েন্দা মনে করুন আপনার প্রথম উত্তেজনাপূর্ণ কেসে!
+**বোনাস গোয়েন্দা কাজ**: দেখতে পারেন কোন প্রধান ওয়েবসাইট বা অ্যাপ কোন ভাষা দিয়ে তৈরি। আমি নিশ্চিত আপনি অবাক হবেন কীভাবে Instagram, Netflix, বা আপনি যে মোবাইল গেমটি খেলতে থামাতে পারেন না, সেগুলো কী দিয়ে চালানো হয়!
-**আপনার মিশন, যদি আপনি এটি গ্রহণ করতে চান:**
-1. **একজন ভাষা অনুসন্ধানকারী হয়ে উঠুন**: সম্পূর্ণ ভিন্ন জগতের তিনটি প্রোগ্রামিং ভাষা বেছে নিন – হয়তো একটি যা ওয়েবসাইট তৈরি করে, একটি যা মোবাইল অ্যাপ তৈরি করে, এবং একটি যা বিজ্ঞানীদের জন্য ডেটা বিশ্লেষণ করে। প্রতিটি ভাষায় লেখা একই সাধারণ কাজের উদাহরণ খুঁজুন। আমি প্রতিশ্রুতি দিচ্ছি আপনি অবাক হবেন যে তারা একই কাজ করতে কতটা ভিন্ন দেখাতে পারে
-## পর্যালোচনা ও স্ব-অধ্যয়ন
+> 💡 **মনে রাখবেন**: আজকে আপনি কোন ভাষায় বিশেষজ্ঞ হতে চাইছেন না। আপনি শুধু আশেপাশের এলাকা চিন্তা করছেন যেখান থেকে আপনি ব্যবসা শুরু করবেন। ধীরে ধীরে, মজা করুন, এবং আপনার কৌতূহলকে পথপ্রদর্শক করুন!
-**সময় নিয়ে অন্বেষণ করুন এবং মজা করুন!**
+## চলুন উদযাপন করি আপনি যা আবিষ্কার করেছেন!
-আজ আপনি অনেক কিছু শিখেছেন, এবং এটি নিয়ে গর্বিত হওয়া উচিত! এখন মজার অংশ শুরু – সেই বিষয়গুলো অন্বেষণ করা যা আপনার কৌতূহল জাগিয়েছে। মনে রাখবেন, এটি কোনো হোমওয়ার্ক নয় – এটি একটি অভিযান!
+ওহ মাই, আজ আপনি অসাধারণ অনেক তথ্য গ্রহণ করেছেন! আমি সত্যিই উন্মুখ দেখতে যে এই চমৎকার যাত্রার কতটুকু আপনার মনে গেঁথে গেছে। এবং মনে রাখবেন – এটা কোনো পরীক্ষা নয় যে আপনাকে সবকিছু নিখুঁত করতে হবে। এটা একটা উদযাপন আপনার শেখা সব দুর্দান্ত বিষয়ের!
-**যে বিষয়গুলো আপনাকে উত্তেজিত করে তার গভীরে যান:**
+[পোস্ট-লেসন কুইজ দিন](https://ff-quizzes.netlify.app/web/)
-**প্রোগ্রামিং ভাষার সাথে হাতে-কলমে কাজ করুন:**
-- ২-৩টি ভাষার অফিসিয়াল ওয়েবসাইটে যান যা আপনার আগ্রহ জাগিয়েছে। প্রতিটি ভাষার নিজস্ব ব্যক্তিত্ব এবং গল্প রয়েছে!
-- [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), বা [Replit](https://replit.com/) এর মতো অনলাইন কোডিং প্ল্যাটফর্মে চেষ্টা করুন। পরীক্ষা করতে ভয় পাবেন না – কিছুই ভাঙবে না!
-- আপনার প্রিয় ভাষার উৎপত্তি সম্পর্কে পড়ুন। সত্যি বলতে, কিছু ভাষার গল্প খুবই আকর্ষণীয় এবং এটি আপনাকে বুঝতে সাহায্য করবে কেন ভাষাগুলো এভাবে কাজ করে।
+## পর্যালোচনা ও স্ব-অধ্যয়ন
-**আপনার নতুন টুলগুলোর সাথে পরিচিত হন:**
-- Visual Studio Code ডাউনলোড করুন যদি এখনও না করে থাকেন – এটি বিনামূল্যে এবং আপনি এটি পছন্দ করবেন!
-- Extensions মার্কেটপ্লেসে কয়েক মিনিট সময় কাটান। এটি আপনার কোড এডিটরের জন্য একটি অ্যাপ স্টোরের মতো!
-- আপনার ব্রাউজারের Developer Tools খুলুন এবং ক্লিক করুন। সবকিছু বুঝতে না পারলেও চিন্তা করবেন না – শুধু পরিচিত হওয়ার চেষ্টা করুন।
+**সময় নিয়ে অন্বেষণ করুন এবং উপভোগ করুন!**
+আপনি আজ অনেক কিছু শিখেছেন, এবং এটা নিয়ে গর্ব করার মত বিষয়! এখন মজার সময় এসেছে – সেই বিষয়গুলো অন্বেষণ করার যেগুলো আপনার কৌতূহল উসকে দিয়েছে। মনে রাখবেন, এটা কোনো হোমওয়ার্ক নয় – এটা এক ধরনের অভিযান!
+
+**আপনাকে কি উত্তেজিত করে তা আরও গভীরভাবে জানুন:**
+
+**প্রোগ্রামিং ভাষাগুলোর সাথে হাতেকলমে পরিচিত হোন:**
+- ২-৩টি ভাষার অফিসিয়াল ওয়েবসাইট দেখুন যেগুলো আপনার নজর কেড়েছে। প্রত্যেকটির আলাদা আলাদা ব্যক্তিত্ব এবং গল্প আছে!
+- [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), অথবা [Replit](https://replit.com/) এর মত কিছু অনলাইন কোডিং প্লেগ্রাউন্ডে চেষ্টা করুন। ভয় পাবেন না পরিক্ষা করতে – আপনি কিছু ভাঙতে পারবেন না!
+- আপনার পছন্দের ভাষা কিভাবে তৈরি হলো সে সম্পর্কে পড়ুন। সত্যি বলছি, এই ভাষাগুলোর উৎপত্তি গল্পগুলো আকর্ষণীয় এবং এগুলো আপনাকে বুঝতে সাহায্য করবে কেন ভাষাগুলো এমন কাজ করে যেভাবে করে।
+
+**আপনার নতুন টুলগুলোর সাথে স্বাচ্ছন্দ্য বোধ করুন:**
+- যদি এখনও ডাউনলোড না করে থাকেন, তবে Visual Studio Code ডাউনলোড করুন – এটা বিনামূল্যে এবং আপনি এটি পছন্দ করবেন!
+- কয়েক মিনিট নিন Extension মার্কেটপ্লেস দেখতে। এটি আপনার কোড এডিটরের জন্য একটি অ্যাপ স্টোরের মত!
+- আপনার ব্রাউজারের Developer Tools খুলুন এবং শুধু ক্লিক করে দেখুন। সবকিছু বুঝতে হবে না – শুধু যা আছে তা নিয়ে পরিচিত হন।
**কমিউনিটিতে যোগ দিন:**
-- [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), বা [GitHub](https://github.com/) এ কিছু ডেভেলপার কমিউনিটি অনুসরণ করুন। প্রোগ্রামিং কমিউনিটি নতুনদের জন্য অত্যন্ত স্বাগতপূর্ণ!
-- YouTube-এ কিছু নতুনদের জন্য বানানো কোডিং ভিডিও দেখুন। অনেক চমৎকার ক্রিয়েটর আছেন যারা নতুনদের জন্য সহজ করে বোঝান।
-- স্থানীয় মিটআপ বা অনলাইন কমিউনিটিতে যোগ দেওয়ার কথা ভাবুন। বিশ্বাস করুন, ডেভেলপাররা নতুনদের সাহায্য করতে ভালোবাসে!
+- [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), অথবা [GitHub](https://github.com/) এর মত ডেভেলপার কমিউনিটিগুলো অনুসরণ করুন। প্রোগ্রামিং কমিউনিটি নতুনদের অনেক আন্তরিক!
+- YouTube এ কিছু শিখনযোগ্য কোডিং ভিডিও দেখুন। অনেক চমৎকার নির্মাতা আছেন যারা জানেন নতুন শুরু করার অনুভূতি কেমন।
+- স্থানীয় মিটআপ বা অনলাইন কমিউনিটিতে যোগ দেওয়ার কথা ভাবুন। বিশ্বাস করুন, ডেভেলপাররা নতুনদের সাহায্য করতে ভালোবাসে!
+
+> 🎯 **সাবধান, আমি যা বলব মনে রাখবেন**: আপনি রাতারাতি কোডিং জাদুকর হয়ে যাবেন এমন প্রত্যাশা নেই! এখন আপনি শুধু এই আশ্চর্য নতুন জগতের সাথে পরিচিত হচ্ছেন যার অংশ হতে যাচ্ছেন। সময় নিন, যাত্রা উপভোগ করুন, এবং মনে রাখবেন – আপনি যে প্রতিটি ডেভেলপারকে শ্রদ্ধা করেন তারা একসময় ঠিক আপনার মতোই বসে ছিলেন, উত্তেজিত ও হয়তো কিছুটা নগণ্য বোধ করছিলেন। এটা সম্পূর্ণ স্বাভাবিক, এবং এর মানে আপনি সঠিক পথে আছেন!
+
-> 🎯 **শুনুন, আমি যা চাই তা মনে রাখুন**: আপনাকে রাতারাতি কোডিং উইজার্ড হয়ে উঠতে হবে না! এখন আপনি এই অসাধারণ নতুন জগতের সাথে পরিচিত হচ্ছেন যা আপনি শীঘ্রই অংশ হতে চলেছেন। সময় নিন, যাত্রাটি উপভোগ করুন, এবং মনে রাখুন – আপনি যেসব ডেভেলপারকে প্রশংসা করেন তারা একসময় ঠিক আপনার মতোই ছিলেন, উত্তেজিত এবং হয়তো কিছুটা বিভ্রান্ত। এটি সম্পূর্ণ স্বাভাবিক, এবং এর মানে আপনি সঠিক পথে আছেন।
## অ্যাসাইনমেন্ট
[Reading the Docs](assignment.md)
-> 💡 **আপনার অ্যাসাইনমেন্টের জন্য একটি ছোট্ট ইঙ্গিত**: আমি সত্যিই চাই আপনি এমন কিছু টুল অন্বেষণ করুন যা আমরা এখনও আলোচনা করিনি! আমরা ইতিমধ্যে আলোচনা করা এডিটর, ব্রাউজার, এবং কমান্ড লাইন টুলগুলো বাদ দিন – সেখানে অসাধারণ ডেভেলপমেন্ট টুলের একটি বিশাল জগৎ রয়েছে যা আবিষ্কারের অপেক্ষায় রয়েছে। এমন টুল খুঁজুন যা সক্রিয়ভাবে রক্ষণাবেক্ষণ করা হয় এবং যেখানে প্রাণবন্ত, সহায়ক কমিউনিটি রয়েছে (এগুলো সাধারণত সেরা টিউটোরিয়াল এবং সহায়ক মানুষদের নিয়ে থাকে যখন আপনি আটকে যান এবং সাহায্যের প্রয়োজন হয়)।
+> 💡 **আপনার অ্যাসাইনমেন্টের জন্য একটি ছোট টিপস**: আমি সত্যিই দেখতে চাই আপনি কিছু নতুন টুল অন্বেষণ করছেন যেগুলো আমরা এখনও আলোচনা করিনি! যেই এডিটর, ব্রাউজার এবং কমান্ড লাইন টুলগুলো আমরা শিখেছি সেগুলো বাদ দিন – এই বিশাল অসাধারণ ডেভেলপমেন্ট টুলসের জগত আছে অপেক্ষা করছে আবিষ্কারের জন্য। এমন গুলো খুঁজুন যেগুলো নিয়মিত আপডেট হয় এবং সুন্দর, সাহায্যকারী কমিউনিটি আছে (এই গুলোই সাধারণত সেরা টিউটোরিয়াল এবং সর্বাধিক সমর্থন পায় যখন আপনি আটকে যান এবং সাহায্যের প্রয়োজন হয়)।
---
## 🚀 আপনার প্রোগ্রামিং যাত্রার টাইমলাইন
### ⚡ **পরবর্তী ৫ মিনিটে আপনি যা করতে পারেন**
-- [ ] ২-৩টি প্রোগ্রামিং ভাষার ওয়েবসাইট বুকমার্ক করুন যা আপনার আগ্রহ জাগিয়েছে
-- [ ] Visual Studio Code ডাউনলোড করুন যদি এখনও না করে থাকেন
-- [ ] আপনার ব্রাউজারের DevTools (F12) খুলুন এবং যেকোনো ওয়েবসাইটে ক্লিক করুন
-- [ ] একটি প্রোগ্রামিং কমিউনিটিতে যোগ দিন (Dev.to, Reddit r/webdev, বা Stack Overflow)
-
-### ⏰ **এই ঘণ্টায় আপনি যা অর্জন করতে পারেন**
-- [ ] লেসন-পরবর্তী কুইজ সম্পন্ন করুন এবং আপনার উত্তরগুলো নিয়ে চিন্তা করুন
-- [ ] GitHub Copilot এক্সটেনশন দিয়ে VS Code সেটআপ করুন
-- [ ] অনলাইনে ২টি ভিন্ন প্রোগ্রামিং ভাষায় "Hello World" উদাহরণ চেষ্টা করুন
-- [ ] YouTube-এ "Day in the Life of a Developer" ভিডিও দেখুন
-- [ ] আপনার প্রোগ্রামিং ভাষার গোয়েন্দাগিরি শুরু করুন (চ্যালেঞ্জ থেকে)
+- [ ] ২-৩টি প্রোগ্রামিং ভাষার ওয়েবসাইট বুকমার্ক করুন যেগুলো নজর কেড়েছে
+- [ ] যদি এখনও না করে থাকেন Visual Studio Code ডাউনলোড করুন
+- [ ] আপনার ব্রাউজারের DevTools (F12) খুলে যেকোনো ওয়েবসাইটে ক্লিক করে দেখুন
+- [ ] একটি প্রোগ্রামিং কমিউনিটিতে যোগদান করুন (Dev.to, Reddit r/webdev, অথবা Stack Overflow)
+
+### ⏰ **এই ঘণ্টায় আপনি যা অর্জন করতে পারেন**
+- [ ] পোস্ট-লেসন কুইজ সম্পন্ন করুন এবং আপনার উত্তর নিয়ে প্রতিফলন করুন
+- [ ] VS Code এ GitHub Copilot এক্সটেনশন সেটআপ করুন
+- [ ] ২টি ভিন্ন প্রোগ্রামিং ভাষায় অনলাইনে "হ্যালো ওয়ার্ল্ড" উদাহরণ চেষ্টা করুন
+- [ ] YouTube এ "একজন ডেভেলাপারের জীবনের এক দিন" ভিডিও দেখুন
+- [ ] আপনার প্রোগ্রামিং ভাষার গোয়েন্দা কাজ শুরু করুন (চ্যালেঞ্জ থেকে)
### 📅 **আপনার সপ্তাহব্যাপী অভিযান**
-- [ ] অ্যাসাইনমেন্ট সম্পন্ন করুন এবং ৩টি নতুন ডেভেলপমেন্ট টুল অন্বেষণ করুন
-- [ ] সোশ্যাল মিডিয়ায় ৫ জন ডেভেলপার বা প্রোগ্রামিং অ্যাকাউন্ট অনুসরণ করুন
-- [ ] CodePen বা Replit-এ কিছু ছোট্ট তৈরি করার চেষ্টা করুন (এমনকি "Hello, [আপনার নাম]!" হলেও!)
-- [ ] কারো কোডিং যাত্রা নিয়ে একটি ডেভেলপার ব্লগ পোস্ট পড়ুন
-- [ ] একটি ভার্চুয়াল মিটআপে যোগ দিন বা একটি প্রোগ্রামিং টক দেখুন
-- [ ] অনলাইন টিউটোরিয়াল দিয়ে আপনার পছন্দের ভাষা শেখা শুরু করুন
+- [ ] অ্যাসাইনমেন্ট সম্পন্ন করুন এবং ৩টি নতুন ডেভেলপমেন্ট টুল পড়ুন
+- [ ] ৫ জন ডেভেলপার বা প্রোগ্রামিং অ্যাকাউন্ট সোশ্যাল মিডিয়ায় অনুসরণ করুন
+- [ ] CodePen অথবা Replit এ কিছু ছোট্ট কিছু তৈরি করে দেখুন (যেমন "Hello, [Your Name]!")
+- [ ] কারো কোডিং যাত্রা সম্পর্কে একটি ডেভেলপার ব্লগ পোস্ট পড়ুন
+- [ ] একটি ভার্চুয়াল মিটআপে যোগ দিন বা প্রোগ্রামিং টক দেখুন
+- [ ] অনলাইন টিউটোরিয়াল দিয়ে আপনার পছন্দের ভাষা শেখা শুরু করুন
### 🗓️ **আপনার মাসব্যাপী রূপান্তর**
-- [ ] আপনার প্রথম ছোট প্রকল্প তৈরি করুন (এমনকি একটি সাধারণ ওয়েবপেজ হলেও!)
-- [ ] একটি ওপেন-সোর্স প্রকল্পে অবদান রাখুন (ডকুমেন্টেশন সংশোধন দিয়ে শুরু করুন)
-- [ ] এমন কাউকে মেন্টর করুন যে তার প্রোগ্রামিং যাত্রা শুরু করেছে
-- [ ] আপনার ডেভেলপার পোর্টফোলিও ওয়েবসাইট তৈরি করুন
-- [ ] স্থানীয় ডেভেলপার কমিউনিটি বা স্টাডি গ্রুপের সাথে সংযুক্ত হন
-- [ ] আপনার পরবর্তী শেখার মাইলস্টোন পরিকল্পনা শুরু করুন
+- [ ] আপনার প্রথম ছোট প্রকল্প তৈরি করুন (এমনকি একটি সাধারণ ওয়েবপেজও চলে!)
+- [ ] একটি ওপেন-সোর্স প্রকল্পে অবদান রাখুন (ডকুমেন্টেশন থেকে শুরু করুন)
+- [ ] যাঁরা নতুন শুরু করেছেন তাদের মেন্টর হন
+- [ ] আপনার ডেভেলপার পোর্টফোলিওয়েবসাইট তৈরি করুন
+- [ ] স্থানীয় ডেভেলপার কমিউনিটি বা স্টাডি গ্রুপের সাথে সংযোগ করুন
+- [ ] আপনার পরবর্তী শেখার মাইলস্টোন প্ল্যান করা শুরু করুন
-### 🎯 **চূড়ান্ত প্রতিফলন চেক-ইন**
+### 🎯 **চূড়ান্ত প্রতিফলন পরীক্ষা**
-**আগে আপনি এগিয়ে যান, একটি মুহূর্ত নিয়ে উদযাপন করুন:**
-- প্রোগ্রামিং সম্পর্কে আজ আপনাকে উত্তেজিত করেছে এমন একটি বিষয় কী?
+**আগে এগিয়ে যাওয়ার আগে এক মুহূর্ত উদযাপন করুন:**
+- আজ কোডিং সম্পর্কে কোন বিষয়টি আপনার সবচেয়ে বেশি উত্তেজিত করেছে?
- কোন টুল বা ধারণা আপনি প্রথমে অন্বেষণ করতে চান?
-- এই প্রোগ্রামিং যাত্রা শুরু করার ব্যাপারে আপনি কেমন অনুভব করছেন?
-- একজন ডেভেলপারকে আপনি এখন কী প্রশ্ন করতে চান?
+- এই প্রোগ্রামিং যাত্রা শুরু করতে কেমন অনুভব করছেন?
+- এখনই কোন প্রশ্ন আপনি একটি ডেভেলপারকে জিজ্ঞাসা করতে চান?
```mermaid
journey
- title Your Confidence Building Journey
- section Today
- Curious: 3: You
- Overwhelmed: 4: You
- Excited: 5: You
- section This Week
- Exploring: 4: You
- Learning: 5: You
- Connecting: 4: You
- section Next Month
- Building: 5: You
- Confident: 5: You
- Helping Others: 5: You
+ title আপনার আত্মবিশ্বাস গড়ার যাত্রা
+ section আজ
+ উৎসাহী: 3: You
+ অতিপ্রশস্ত: 4: You
+ উন্মুখ: 5: You
+ section এই সপ্তাহে
+ অনুসন্ধান করা: 4: You
+ শেখা: 5: You
+ সংযোগ করা: 4: You
+ section পরবর্তী মাস
+ নির্মাণ করা: 5: You
+ আত্মবিশ্বাসী: 5: You
+ অন্যদের সাহায্য করা: 5: You
```
-
-> 🌟 **মনে রাখবেন**: প্রতিটি বিশেষজ্ঞ একসময় একজন শিক্ষার্থী ছিলেন। প্রতিটি সিনিয়র ডেভেলপার একসময় ঠিক আপনার মতোই অনুভব করেছিলেন – উত্তেজিত, হয়তো কিছুটা বিভ্রান্ত, এবং অবশ্যই সম্ভাবনার প্রতি কৌতূহলী। আপনি অসাধারণ সঙ্গতে আছেন, এবং এই যাত্রা অবিশ্বাস্য হতে চলেছে। প্রোগ্রামিংয়ের চমৎকার জগতে আপনাকে স্বাগতম! 🎉
+> 🌟 **মনে রাখবেন**: প্রত্যেক বিশেষজ্ঞ একজন নবীন ছিলেন। প্রত্যেক সিনিয়র ডেভেলপার ঠিক আপনার মতো অনুভব করতেন – উত্তেজিত, হয়তো একটু হতবাক, এবং নিশ্চয়ই আগ্রহী কী সম্ভব। আপনি অসাধারণ কোম্পানিতে আছেন, এবং এই যাত্রা অসাধারণ হবে। প্রোগ্রামিংয়ের আশ্চর্যজনক জগতে স্বাগতম! 🎉
---
+
**অস্বীকৃতি**:
-এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসাধ্য সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। এর মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী থাকব না।
\ No newline at end of file
+এই নথিটি AI অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। আমরা যথাসম্ভব সঠিকতার চেষ্টা করি, তবে স্বয়ংক্রিয় অনুবাদে ভুল বা অসম্পূর্ণতা থাকতে পারে তা ভালো করে বুঝে নেয়া উচিত। মূল নথিটি তার নিজস্ব ভাষায় কর্তৃপক্ষপূর্ণ উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ গ্রহণ করা উত্তম। এই অনুবাদের ব্যবহারে সৃষ্টি হওয়া কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
+
\ No newline at end of file
diff --git a/translations/bn/AGENTS.md b/translations/bn/AGENTS.md
index 0c2209ea9..32cb471e2 100644
--- a/translations/bn/AGENTS.md
+++ b/translations/bn/AGENTS.md
@@ -2,56 +2,56 @@
## প্রকল্পের ওভারভিউ
-এটি শিক্ষামূলক কারিকুলাম রিপোজিটরি যা ওয়েব ডেভেলপমেন্টের মৌলিক বিষয়গুলো শুরু থেকে শেখানোর জন্য তৈরি। কারিকুলামটি একটি ব্যাপক ১২ সপ্তাহের কোর্স, যা Microsoft Cloud Advocates দ্বারা উন্নয়ন করা হয়েছে, এতে JavaScript, CSS, এবং HTML বিষয়ক ২৪টি হাতে-কলমে শেখার পাঠ অন্তর্ভুক্ত।
+এটি শিক্ষামূলক পাঠক্রমের রেপোজিটরি, যা শুরু থেকেই ওয়েব ডেভেলপমেন্টের মৌলিক বিষয়গুলি শেখানোর জন্য তৈরি। এই পাঠক্রমটি একটি ব্যাপক ১২ সপ্তাহের কোর্স, যা Microsoft Cloud Advocates দ্বারা উন্নত করা হয়েছে, এবং এতে জাভাস্ক্রিপ্ট, CSS, এবং HTML এর উপর ভিত্তি করে ২৪টি হ্যান্ডস-অন লেসন রয়েছে।
### মূল উপাদানসমূহ
-- **শিক্ষামূলক বিষয়বস্তু**: প্রকল্প-ভিত্তিক মডিউলগুলোতে সাজানো ২৪টি গঠনবদ্ধ পাঠ
-- **প্র্যাকটিক্যাল প্রকল্পসমূহ**: টেরারিয়াম, টাইপিং গেম, ব্রাউজার এক্সটেনশন, স্পেস গেম, ব্যাংকিং অ্যাপ, কোড এডিটর, এবং AI চ্যাট সহকারী
-- **ইন্টারঅ্যাকটিভ কুইজ**: প্রতিটি ৩টি প্রশ্নসহ ৪৮টি কুইজ (পাঠের পূর্ব ও পরবর্তী মূল্যায়ন)
-- **বহুভাষা সহায়তা**: GitHub Actions এর মাধ্যমে ৫০+ ভাষায় স্বয়ংক্রিয় অনুবাদ
-- **প্রযুক্তিসমূহ**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI প্রকল্পের জন্য)
+- **শিক্ষামূলক বিষয়বস্তু**: ২৪টি কাঠামোবদ্ধ লেসন, প্রজেক্ট-ভিত্তিক মডিউলে সংগঠিত
+- **ব্যবহারিক প্রজেক্ট**: টেরারিয়াম, টাইপিং গেম, ব্রাউজার এক্সটেনশন, স্পেস গেম, ব্যাংকিং অ্যাপ, কোড এডিটর, এবং AI চ্যাট অ্যাসিস্ট্যান্ট
+- **ইন্টারেক্টিভ কুইজ**: ৪৮টি কুইজ, প্রত্যেকটির মধ্যে ৩টি প্রশ্ন (পূর্ব এবং পরবর্তী লেসন মূল্যায়ন)
+- **মাল্টি-ভাষা সমর্থন**: GitHub Actions ব্যবহার করে ৫০+ ভাষায় স্বয়ংক্রিয় অনুবাদ
+- **প্রযুক্তি**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI প্রকল্পের জন্য)
### স্থাপত্য
-- পাঠভিত্তিক কাঠামোর শিক্ষামূলক রিপোজিটরি
-- প্রতিটি পাঠের ফোল্ডারে README, কোড উদাহরণ, এবং সমাধানাদি থাকে
-- স্বতন্ত্র প্রকল্পগুলি আলাদা ডিরেক্টরিতে (quiz-app, বিভিন্ন পাঠ প্রকল্প)
-- GitHub Actions (co-op-translator) ব্যবহার করে অনুবাদ সিস্টেম
-- Docsify এর মাধ্যমে ডকুমেন্টেশন পরিবেশিত এবং PDF ফরম্যাটে উপলব্ধ
+- লেসন-ভিত্তিক কাঠামোসহ শিক্ষামূলক রেপোজিটরি
+- প্রতিটি লেসন ফোল্ডারে README, কোড উদাহরণ, এবং সমাধান রয়েছে
+- পৃথক ডিরেক্টরিতে স্ট্যান্ডঅ্যালোন প্রজেক্ট (quiz-app, বিভিন্ন লেসন প্রজেক্ট)
+- GitHub Actions দ্বারা পরিচালিত অনুবাদ ব্যবস্থা (co-op-translator)
+- Docsify এর মাধ্যমে ডকুমেন্টেশন পরিবেশন এবং PDF আকারে পাওয়া যায়
-## সেটআপ কমান্ডসমূহ
+## সেটআপ কমান্ড
-এই রিপোজিটরি মূলত শিক্ষামূলক বিষয়বস্তু ব্যবহারের জন্য। নির্দিষ্ট প্রকল্পে কাজের জন্য:
+এই রেপোজিটরি প্রধানত শিক্ষামূলক বিষয়বস্তু ব্যবহারের জন্য। নির্দিষ্ট প্রজেক্ট নিয়ে কাজ করার জন্য:
-### মূল রিপোজিটরি সেটআপ
+### প্রধান রেপোজিটরি সেটআপ
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
-### Quiz App সেটআপ (Vue 3 + Vite)
+### কুইজ অ্যাপ সেটআপ (Vue 3 + Vite)
```bash
cd quiz-app
npm install
-npm run dev # ডেভেলপমেন্ট সার্ভার শুরু করুন
-npm run build # প্রোডাকশনের জন্য বিল্ড করুন
+npm run dev # উন্নয়ন সার্ভার শুরু করুন
+npm run build # উৎপাদনের জন্য বিল্ড করুন
npm run lint # ESLint চালান
```
-### Bank Project API (Node.js + Express)
+### ব্যাংক প্রজেক্ট API (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
-npm start # API সার্ভার শুরু করুন
+npm start # এপিআই সার্ভার শুরু করুন
npm run lint # ESLint চালান
npm run format # Prettier দিয়ে ফরম্যাট করুন
```
-### Browser Extension প্রকল্পসমূহ
+### ব্রাউজার এক্সটেনশন প্রজেক্টসমূহ
```bash
cd 5-browser-extension/solution
@@ -59,139 +59,139 @@ npm install
# ব্রাউজার-নির্দিষ্ট এক্সটেনশন লোডিং নির্দেশাবলী অনুসরণ করুন
```
-### Space Game প্রকল্পসমূহ
+### স্পেস গেম প্রজেক্টসমূহ
```bash
cd 6-space-game/solution
npm install
-# ব্রাউজারে index.html খুলুন বা Live Server ব্যবহার করুন
+# ব্রাউজারে index.html খুলুন অথবা লাইভ সার্ভার ব্যবহার করুন
```
-### Chat প্রকল্প (Python Backend)
+### চ্যাট প্রজেক্ট (Python ব্যাকেন্ড)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
-# GITHUB_TOKEN পরিবেশ পরিবর্তনশীল সেট করুন
+# GITHUB_TOKEN পরিবেশ ভেরিয়েবল সেট করুন
python api.py
```
-## ডেভেলপমেন্ট ওয়ার্কফ্লো
+## ডেভেলপমেন্ট ওয়ার্কফ্লো
-### বিষয়বস্তু অবদানকারীদের জন্য
+### বিষয়বস্তু অবদানকারীদের জন্য
-1. **রিপোজিটরি ফর্ক করুন** আপনার GitHub অ্যাকাউন্টে
-2. **লোকাল ক্লোন করুন** আপনার ফর্কটি
-3. **নতুন ব্রাঞ্চ তৈরি করুন** আপনার পরিবর্তনের জন্য
-4. পাঠের বিষয় বা কোড উদাহরণে পরিবর্তন করুন
-5. সংশ্লিষ্ট প্রকল্প ডিরেক্টরিতে কোড পরিবর্তন পরীক্ষণ করুন
-6. অবদান নির্দেশিকা অনুযায়ী পুল রিকোয়েস্ট জমা দিন
+1. আপনার GitHub অ্যাকাউন্টে **রেপোজিটরি ফর্ক করুন**
+2. **আপনার ফর্ক লোকালি ক্লোন করুন**
+3. আপনার পরিবর্তনের জন্য একটি **নতুন ব্রাঞ্চ তৈরি করুন**
+4. লেসন বিষয়বস্তু বা কোড উদাহরণে পরিবর্তন করুন
+5. সংশ্লিষ্ট প্রজেক্ট ডিরেক্টরিতে যেকোনো কোড পরিবর্তন পরীক্ষা করুন
+6. অবদান নির্দেশিকা অনুসরণ করে পুল রিকোয়েস্ট জমা দিন
### শিক্ষার্থীদের জন্য
-1. রিপোজিটরি ফর্ক বা ক্লোন করুন
-2. ক্রমানুসারে পাঠের ডিরেক্টরিতে যান
-3. প্রতিটি পাঠের README পড়ুন
-4. https://ff-quizzes.netlify.app/web/ এ পূর্ব-পাঠ কুইজ সম্পন্ন করুন
-5. পাঠ ফোল্ডারে কোড উদাহরণে কাজ করুন
-6. অ্যাসাইনমেন্ট এবং চ্যালেঞ্জ সমাধান করুন
-7. পরবর্তী-পাঠের কুইজ নিন
+1. রেপোজিটরি ফর্ক বা ক্লোন করুন
+2. ধারাবাহিকভাবে লেসন ডিরেক্টরিতে নেভিগেট করুন
+3. প্রতিটি লেসনের README ফাইল পড়ুন
+4. https://ff-quizzes.netlify.app/web/ এ প্রি-লেসন কুইজ সম্পন্ন করুন
+5. লেসন ফোল্ডারে কোড উদাহরণ কাজ করুন
+6. অ্যাসাইনমেন্ট ও চ্যালেঞ্জ সম্পন্ন করুন
+7. পোস্ট-লেসন কুইজ নিন
### লাইভ ডেভেলপমেন্ট
-- **ডকুমেন্টেশন**: রুটে `docsify serve` চালান (পোর্ট ৩০০০)
-- **Quiz App**: quiz-app ডিরেক্টরিতে `npm run dev` চালান
-- **প্রকল্পসমূহ**: HTML প্রকল্পের জন্য VS Code Live Server এক্সটেনশন ব্যবহার করুন
-- **API প্রকল্প**: সংশ্লিষ্ট API ডিরেক্টরিতে `npm start` চালান
+- **ডকুমেন্টেশন**: মূল ফোল্ডারে `docsify serve` চালান (পোর্ট ৩০০০)
+- **কুইজ অ্যাপ**: quiz-app ডিরেক্টরিতে `npm run dev` চালান
+- **প্রজেক্টসমূহ**: HTML প্রজেক্টের জন্য VS Code লাইভ সার্ভার এক্সটেনশন ব্যবহার করুন
+- **API প্রজেক্টসমূহ**: সংশ্লিষ্ট API ডিরেক্টরিতে `npm start` চালান
-## টেস্টিং নির্দেশাবলি
+## পরীক্ষার নির্দেশাবলী
-### Quiz App টেস্টিং
+### কুইজ অ্যাপ টেস্টিং
```bash
cd quiz-app
-npm run lint # কোড স্টাইল সমস্যাগুলি পরীক্ষা করুন
-npm run build # বিল্ড সফল হয়েছে কি না যাচাই করুন
+npm run lint # কোড স্টাইল সমস্যা পরীক্ষা করুন
+npm run build # বিল্ড সফল হয় কি না যাচাই করুন
```
-### Bank API টেস্টিং
+### ব্যাংক API টেস্টিং
```bash
cd 7-bank-project/api
npm run lint # কোড স্টাইল সমস্যাগুলি পরীক্ষা করুন
-node server.js # সার্ভার ত্রুটি ছাড়াই শুরু হয় কিনা যাচাই করুন
+node server.js # সার্ভার ত্রুটি ছাড়া শুরু হচ্ছে কিনা যাচাই করুন
```
-### সাধারণ টেস্টিং পদ্ধতি
+### সাধারণ পরীক্ষার পদ্ধতি
-- এটি একটি শিক্ষামূলক রিপোজিটরি, ব্যাপক স্বয়ংক্রিয় টেস্ট নেই
-- ম্যানুয়াল টেস্টিং মূলত:
- - কোড উদাহরণ ত্রুটিমুক্ত চালানো
- - ডকুমেন্টেশনের লিঙ্ক সঠিক কাজ করা
- - প্রকল্পের বিল্ড সফলভাবে সম্পন্ন হওয়া
- - উদাহরণসমূহ সেরা চর্চানুযায়ী হতে হবে
+- এটি একটি শিক্ষামূলক রেপোজিটরি, পূর্ণাঙ্গ স্বয়ংক্রিয় টেস্ট নেই
+- হাতে পরীক্ষার জোর দেওয়া হয়:
+ - কোড উদাহরণ ভুল ছাড়াই চলা
+ - ডকুমেন্টেশনে লিঙ্ক সঠিক কাজ
+ - প্রজেক্ট বিল্ড সাফল্যের সাথে সম্পন্ন হওয়া
+ - উদাহরণসমূহ সর্বোত্তম অনুশীলন অনুসরণ করে
### সাবমিশনের আগে যাচাই
-- যেখানে package.json আছে ঐ ডিরেক্টরিতে `npm run lint` চালান
-- মার্কডাউন লিঙ্ক যাচাই করুন
-- ব্রাউজার বা Node.js এ কোড উদাহরণ পরীক্ষা করুন
-- অনুবাদগুলি সঠিক কাঠামো বজায় রাখছে কিনা দেখুন
+- যেখানে package.json আছে, সেখানগুলোতে `npm run lint` চালান
+- মার্কডাউন লিঙ্কগুলি বৈধ কিনা যাচাই করুন
+- কোড উদাহরণ ব্রাউজার বা Node.js এ পরীক্ষা করুন
+- অনুবাদ সঠিক কাঠামো বজায় রাখে কিনা পরীক্ষা করুন
-## কোড স্টাইল নির্দেশিকা
+## কোড স্টাইল গাইডলাইনস
-### JavaScript
+### জাভাস্ক্রিপ্ট
- আধুনিক ES6+ সিনট্যাক্স ব্যবহার করুন
-- প্রকল্পে প্রদত্ত standard ESLint কনফিগারেশন অনুসরণ করুন
-- শিক্ষার স্বচ্ছতার জন্য অর্থবহ ভ্যারিয়েবল ও ফাংশন নাম ব্যবহার করুন
-- শিক্ষার্থীদের জন্য ধারণা ব্যাখ্যা করে মন্তব্য যোগ করুন
-- যেখানে প্রয়োজন Prettier ব্যবহার করে ফরম্যাট করুন
+- প্রজেক্টের ESLint কনফিগারেশন অনুসরণ করুন
+- শিক্ষার্থীদের জন্য অর্থপূর্ণ ভ্যারিয়েবল ও ফাংশন নাম ব্যবহার করুন
+- শিক্ষার্থীদের বোঝার জন্য ব্যাখ্যামূলক কমেন্ট যুক্ত করুন
+- যেখানে প্রিসেট আছে সেখানে Prettier দ্বারা ফরম্যাট করুন
### HTML/CSS
-- সেমান্টিক HTML5 এলিমেন্ট ব্যবহার করুন
-- প্রতিক্রিয়াশীল ডিজাইন নীতিমালা অনুসরণ করুন
-- স্পষ্ট ক্লাস নামকরণ রীতিনীতি
-- শিক্ষার্থীদের জন্য CSS কৌশল ব্যাখ্যা করে মন্তব্য দিন
+- সেম্যান্টিক HTML5 উপাদান ব্যবহার করুন
+- প্রতিক্রিয়াশীল ডিজাইন নীতিমালা অনুসরণ করুন
+- স্পষ্ট ক্লাস নামকরণ পদ্ধতি
+- CSS কৌশলগুলো শিক্ষার্থীদের জন্য ব্যাখ্যা সহ কমেন্ট করুন
-### Python
+### পাইথন
- PEP 8 স্টাইল গাইডলাইন অনুসরণ করুন
-- পরিষ্কার, শিক্ষামূলক কোড উদাহরণ দিন
-- শেখার জন্য প্রয়োজনীয় জায়গায় টাইপ হিন্ট যোগ করুন
+- স্পষ্ট, শিক্ষামূলক কোড উদাহরণ দিন
+- শেখার জন্য যেখানে দরকার, টাইপ হিন্ট যুক্ত করুন
-### Markdown ডকুমেন্টেশন
+### মার্কডাউন ডকুমেন্টেশন
-- স্পষ্ট শিরোনামের শ্রেণিবিন্যাস
-- ল্যাঙ্গুয়েজ স্পেসিফিকেশনসহ কোড ব্লক
-- অতিরিক্ত রিসোর্সের লিঙ্ক
-- `images/` ডিরেক্টরিতে স্ক্রিনশট ও ছবি
-- প্রবেশগম্যতার জন্য ছবির জন্য Alt টেক্সট
+- স্পষ্ট হেডিং হায়ারার্কি বজায় রাখুন
+- ভাষা নির্দিষ্ট করে কোড ব্লক ব্যবহার করুন
+- অতিরিক্ত রিসোর্সের লিঙ্ক দিন
+- `images/` ফোল্ডারে স্ক্রীনশট এবং ছবি সংরক্ষণ করুন
+- প্রাপ্যতায় ছবির জন্য Alt টেক্সট দিন
-### ফাইল এরঙগেইজেশন
+### ফাইল সংগঠন
-- পাঠগুলো ক্রমানুসারে নম্বরকৃত (1-getting-started-lessons, 2-js-basics, ইত্যাদি)
-- প্রতিটি প্রকল্পে `solution/` এবং প্রায়ই `start/` বা `your-work/` ডিরেক্টরি থাকে
-- ছবিগুলো পাঠ-নির্দিষ্ট `images/` ফোল্ডারে সংরক্ষিত
-- অনুবাদসমূহ `translations/{language-code}/` কাঠামোয়
+- লেসন নম্বর ধারাবাহিকভাবে (1-getting-started-lessons, 2-js-basics ইত্যাদি)
+- প্রতিটি প্রজেক্টের `solution/` এবং প্রায়শই `start/` বা `your-work/` ডিরেক্টরি থাকে
+- লেসন-নির্দিষ্ট `images/` ফোল্ডারে ছবি সংরক্ষণ
+- অনুবাদ থাকে `translations/{language-code}/` কাঠামোতে
## বিল্ড এবং ডিপ্লয়মেন্ট
-### Quiz App ডিপ্লয়মেন্ট (Azure Static Web Apps)
+### কুইজ অ্যাপ ডিপ্লয়মেন্ট (Azure Static Web Apps)
-quiz-app Azure Static Web Apps ডিপ্লয়মেন্টের জন্য কনফিগার করা:
+quiz-app Azure Static Web Apps এ ডিপ্লয়মেন্টের জন্য কনফিগার করা হয়েছে:
```bash
cd quiz-app
npm run build # dist/ ফোল্ডার তৈরি করে
-# মেইন ব্রাঞ্চে পুশ করার সময় GitHub Actions ওয়ার্কফ্লো দ্বারা ডিপ্লয় করে
+# main-এ push করার সময় GitHub Actions ওয়ার্কফ্লোর মাধ্যমে ডিপ্লয় করে
```
Azure Static Web Apps কনফিগারেশন:
-- **অ্যাপ লোকেশন**: `/quiz-app`
-- **আউটপুট লোকেশন**: `dist`
-- **ওয়ার্কফ্লো**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
+- **অ্যাপ অবস্থান**: `/quiz-app`
+- **আউটপুট অবস্থান**: `dist`
+- **ওয়ার্কফ্লো**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### ডকুমেন্টেশন PDF তৈরি
@@ -203,80 +203,80 @@ npm run convert # ডক্স থেকে পিডিএফ ত
### Docsify ডকুমেন্টেশন
```bash
-npm install -g docsify-cli # ডকসিফাই বৈশ্বিকভাবে ইনস্টল করুন
-docsify serve # লোকালহোস্ট:3000-এ সার্ভ করুন
+npm install -g docsify-cli # গ্লোবালি Docsify ইনস্টল করুন
+docsify serve # লোকালহোস্ট:3000 এ পরিবেশন করুন
```
-### প্রকল্প-নির্দিষ্ট বিল্ডসমূহ
+### প্রজেক্ট-নির্দিষ্ট বিল্ড
-প্রতিটি প্রকল্পের নিজস্ব বিল্ড প্রক্রিয়া থাকতে পারে:
-- Vue প্রকল্প: `npm run build` প্রোডাকশন বান্ডেল তৈরি করে
-- স্ট্যাটিক প্রকল্প: বিল্ড ধাপ নেই, সরাসরি ফাইল পরিবেশন
+প্রতিটি প্রজেক্ট ডিরেক্টরির নিজস্ব বিল্ড প্রক্রিয়া থাকতে পারে:
+- Vue প্রজেক্ট: `npm run build` প্রোডাকশন বান্ডেল তৈরি করে
+- স্ট্যাটিক প্রজেক্ট: বিল্ড ধাপ নেই, সরাসরি ফাইল পরিবেশন
-## পুল রিকোয়েস্ট নির্দেশিকা
+## পুল রিকোয়েস্ট গাইডলাইন
### শিরোনাম ফরম্যাট
-পরিবর্তনের ক্ষেত্র নির্দিষ্ট স্পষ্ট, বর্ণনামূলক শিরোনাম ব্যবহার করুন:
+পরিবর্তনের ক্ষেত্র স্পষ্টভাবে উল্লেখ করে স্পষ্ট ও বর্ণনামূলক শিরোনাম ব্যবহার করুন:
- `[Quiz-app] Add new quiz for lesson X`
- `[Lesson-3] Fix typo in terrarium project`
- `[Translation] Add Spanish translation for lesson 5`
- `[Docs] Update setup instructions`
-### প্রয়োজনীয় যাচাই
+### প্রয়োজনীয় যাচাই
-PR জমার আগে:
+PR জমা দেওয়ার আগে:
-1. **কোড কোয়ালিটি**:
- - প্রভাবিত প্রকল্প ডিরেক্টরিতে `npm run lint` চালান
- - সব লিন্ট ত্রুটি ও সতর্কতা ঠিক করুন
+1. **কোড মান**:
+ - প্রভাবিত প্রজেক্ট ডিরেক্টরিতে `npm run lint` চালান
+ - সব লিন্টিং ত্রুটি ও সতর্কতা ঠিক করুন
2. **বিল্ড যাচাই**:
- - প্রয়োজনে `npm run build` চালান
- - কোন বিল্ড ত্রুটি নেই নিশ্চিত করুন
+ - যেখানে প্রযোজ্য, `npm run build` চালান
+ - কোন বিল্ড ত্রুটি নেই তা নিশ্চিত করুন
-3. **লিঙ্ক ভ্যালিডেশন**:
+3. **লিঙ্ক যাচাই**:
- সব মার্কডাউন লিঙ্ক পরীক্ষা করুন
- - ইমেজ রেফারেন্স কাজ করছে নিশ্চিত করুন
+ - ইমেজ রেফারেন্সগুলো কাজ করছে কিনা যাচাই করুন
-4. **বিষয়বস্তু পর্যালোচনা**:
- - বানান ও ব্যাকরণ ঠিক আছে কিনা দেখুন
- - কোড উদাহরণ সঠিক ও শিক্ষণীয় কিনা যাচাই করুন
- - অনুবাদ মূল অর্থ ধরে রেখেছে কিনা নিশ্চিত করুন
+4. **বিষয়বস্তু পর্যালোচনা**:
+ - বানান ও ব্যাকরণ পরীক্ষা করুন
+ - কোড উদাহরণ সঠিক এবং শিক্ষামূলক কিনা নিশ্চিত করুন
+ - অনুবাদগুলি প্রাথমিক অর্থ বজায় রাখে কিনা যাচাই করুন
-### অবদান রাখার শর্তাবলী
+### অবদান দেওয়ার শর্ত
-- Microsoft CLA-তে সম্মতি (প্রথম PR এ স্বয়ংক্রিয় যাচাই)
+- Microsoft CLA (প্রথম PR এ স্বয়ংক্রিয় যাচাই)
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) অনুসরণ করুন
-- বিস্তারিত গাইডলাইনের জন্য [CONTRIBUTING.md](./CONTRIBUTING.md) দেখুন
-- প্রয়োজনে PR বর্ণনায় ইস্যু নম্বর উল্লেখ করুন
+- বিস্তারিত নির্দেশের জন্য [CONTRIBUTING.md](./CONTRIBUTING.md) দেখুন
+- প্রযোজ্য হলে PR বর্ণনায় ইস্যু নম্বর উল্লেখ করুন
-### পর্যালোচনা প্রক্রিয়া
+### পর্যালোচনা প্রক্রিয়া
-- PR-গুলো মেইনটেনার ও কমিউনিটির দ্বারা পর্যালোচনা হয়
-- শিক্ষাগত স্পষ্টতা অগ্রাধিকার পায়
-- কোড উদাহরণ বর্তমান সেরা চর্চা অনুসরণ করবে
-- অনুবাদ সঠিকতা ও সাংস্কৃতিক প্রাসঙ্গিকতার জন্য পর্যালোচনা হয়
+- PR গুলো রক্ষণাবেক্ষক ও কমিউনিটি দ্বারা পর্যালোচনা করা হয়
+- শিক্ষামূলক স্পষ্টতা অগ্রাধিকার পায়
+- কোড উদাহরণ সর্বোত্তম অনুশীলন অনুসরণ করে
+- অনুবাদ যথাযথতা ও সাংস্কৃতিক মানানসই কিনা যাচাই করা হয়
-## অনুবাদ সিস্টেম
+## অনুবাদ ব্যবস্থা
-### স্বয়ংক্রিয় অনুবাদ
+### স্বয়ংক্রিয় অনুবাদ
-- GitHub Actions co-op-translator ওয়ার্কফ্লো ব্যবহার করে
-- ৫০+ ভাষায় স্বয়ংক্রিয় অনুবাদ করে
-- মূল ফাইলগুলো মেইন ডিরেক্টরিতে থাকে
-- অনূদিত ফাইল `translations/{language-code}/` ডিরেক্টরিতে থাকে
+- GitHub Actions এ co-op-translator ওয়ার্কফ্লো ব্যবহার করে
+- ৫০+ ভাষায় স্বয়ংক্রিয় অনুবাদ
+- মূল ফাইল প্রধান ডিরেক্টরিতে থাকে
+- অনুবাদ ফাইল থাকে `translations/{language-code}/` ডিরেক্টরিতে
-### ম্যানুয়াল অনুবাদ উন্নয়ন যুক্ত করা
+### ম্যানুয়াল অনুবাদ উন্নতি যোগ করা
-1. `translations/{language-code}/` এ ফাইল খুঁজুন
-2. কাঠামো বজায় রেখে উন্নতি করুন
-3. কোড উদাহরণ কার্যকরী রাখুন
-4. কোন লোকালাইজড কুইজ কনটেন্ট থাকলে পরীক্ষা করুন
+1. `translations/{language-code}/` ফোল্ডারে ফাইল অবস্থান করুন
+2. কাঠামো বজায় রেখে উন্নতি করুন
+3. কোড উদাহরণগুলি কার্যকর থাকবে নিশ্চিত করুন
+4. স্থানীয়কৃত কুইজ বিষয়বস্তু পরীক্ষা করুন
-### অনুবাদের মেটাডেটা
+### অনুবাদ মেটাডেটা
-অনূদিত ফাইলগুলোতে মেটাডেটা হেডার থাকে:
+অনুবাদকৃত ফাইলগুলোতে মেটাডেটা হেডার থাকে:
```markdown
```
-## ডিবাগিং এবং সমস্যা সমাধান
+## ডিবাগিং ও সমস্যার সমাধান
-### সাধারণ সমস্যাসমূহ
+### সাধারণ সমস্যা
-**Quiz app শুরু হয় না**:
-- Node.js সংস্করণ পরীক্ষা করুন (v14+ সুপারিশকৃত)
-- `node_modules` এবং `package-lock.json` মুছুন, পুনরায় `npm install` চালান
-- পোর্ট সংঘাত আছে কিনা দেখুন (ডিফল্ট: Vite পোর্ট 5173)
+**কুইজ অ্যাপ স্টার্ট হয় না**:
+- Node.js ভার্সন পরীক্ষা করুন (v14+ সুপারিশকৃত)
+- `node_modules` ও `package-lock.json` মুছে পুনরায় `npm install` চালান
+- পোর্ট সংঘর্ষ আছে কিনা দেখুন (ডিফল্ট: Vite পোর্ট ৫১৭৩)
-**API সার্ভার শুরু হয় না**:
+**API সার্ভার স্টার্ট হয় না**:
- Node.js সংস্করণ ন্যূনতম (node >=10) নিশ্চিত করুন
-- পোর্ট ইতোমধ্যে ব্যবহৃত হচ্ছে কি না দেখুন
-- সব ডিপেন্ডেন্সি `npm install` দিয়ে ইনস্টল হয়েছে কি না যাচাই করুন
+- পোর্ট ইতিমধ্যে অন্যত্র ব্যবহৃত কিনা দেখুন
+- সব নির্ভরশীলতা `npm install` দিয়ে ইনস্টল করুন
-**ব্রাউজার এক্সটেনশন লোড হয় না**:
-- manifest.json সঠিক ফরম্যাটে আছে কি না পরীক্ষা করুন
-- ব্রাউজার কনসোলে ত্রুটি দেখুন
-- ব্রাউজার নির্দিষ্ট এক্সটেনশন ইনস্টলেশন নির্দেশিকা অনুসরণ করুন
+**ব্রাউজার এক্সটেনশন লোড হয় না**:
+- manifest.json সঠিক ফরম্যাটে আছে কিনা যাচাই করুন
+- ব্রাউজার কনসোলে ত্রুটি আছে কিনা দেখুন
+- ব্রাউজার-নির্দিষ্ট এক্সটেনশন ইনস্টলেশন নির্দেশিকা অনুসরণ করুন
-**Python চ্যাট প্রকল্প সমস্যা**:
-- OpenAI প্যাকেজ ইনস্টল করুন: `pip install openai`
-- GITHUB_TOKEN পরিবেশ ভেরিয়েবল সেট আছে নিশ্চিত করুন
-- GitHub Models অ্যাক্সেস অনুমতি পরীক্ষা করুন
+**পাইথন চ্যাট প্রজেক্ট সমস্যা**:
+- OpenAI প্যাকেজ ইনস্টল আছে কিনা নিশ্চিত করুন: `pip install openai`
+- GITHUB_TOKEN পরিবেশ পরিবর্তনশীল সেট আছে কিনা দেখুন
+- GitHub Models অ্যাক্সেস অনুমতি যাচাই করুন
-**Docsify ডক সার্ভ করেনা**:
+**Docsify ডকস পরিবেশন করছে না**:
- গ্লোবালি docsify-cli ইনস্টল করুন: `npm install -g docsify-cli`
-- রিপোজিটরি রুট ডিরেক্টরি থেকে চালান
-- `docs/_sidebar.md` আছে কিনা দেখুন
+- রেপোজিটরি রুট থেকে চালান
+- `docs/_sidebar.md` আছে কিনা চেক করুন
-### ডেভেলপমেন্ট এনভায়রনমেন্ট টিপস
+### ডেভেলপমেন্ট পরিবেশ টিপস
-- HTML প্রকল্পে VS Code এর Live Server এক্সটেনশন ব্যবহার করুন
-- সামঞ্জস্যপূর্ণ ফরম্যাটিংয়ের জন্য ESLint ও Prettier এক্সটেনশন ইনস্টল করুন
-- JavaScript ডিবাগিংয়ের জন্য ব্রাউজার DevTools ব্যবহার করুন
-- Vue প্রকল্পে Vue DevTools ব্রাউজার এক্সটেনশন ইনস্টল করুন
+- HTML প্রজেক্টের জন্য VS Code লাইভ সার্ভার এক্সটেনশন ব্যবহার করুন
+- ESLint এবং Prettier এক্সটেনশন ইনস্টল করুন সামঞ্জস্যপূর্ণ ফরম্যাটিংয়ের জন্য
+- জাভাস্ক্রিপ্ট ডিবাগ করার জন্য ব্রাউজার DevTools ব্যবহার করুন
+- Vue প্রজেক্টের জন্য Vue DevTools ব্রাউজার এক্সটেনশন ইনস্টল করুন
-### পারফরমেন্স বিবেচনা
+### কর্মক্ষমতার বিবেচনা
-- অনুবাদের বড় সংখ্যা (৫০+ ভাষা) মানে সম্পূর্ণ ক্লোন বড় হয়
-- কেবল বিষয়বস্তু নিয়ে কাজ করলে শ্যালো ক্লোন ব্যবহার করুন: `git clone --depth 1`
-- ইংরেজি কাজ করার সময় অনুবাদ খোঁজ থেকে বাদ দিন
-- বিল্ড প্রক্রিয়া প্রথমবার ধীর হতে পারে (npm install, Vite build)
+- অনুবাদের সংখ্যা অনেক বেশি (৫০+ ভাষা), তাই সম্পূর্ণ ক্লোন বড় হয়
+- শুধুমাত্র বিষয়বস্তুতে কাজ করলে shallow clone ব্যবহার করুন: `git clone --depth 1`
+- ইংরেজি বিষয়বস্তুতে কাজ করার সময় অনুবাদগুলি অনুসন্ধান থেকে বাদ দিন
+- প্রথম রান-এ বিল্ড প্রক্রিয়া ধীর হতে পারে (npm install, Vite build)
-## নিরাপত্তা বিষয়সমূহ
+## নিরাপত্তা বিবেচনা
-### পরিবেশ ভেরিয়েবল
+### পরিবেশ পরিবর্তনশীল
-- API কী কখনো রিপোজিটরিতে কমিট করবেন না
-- `.env` ফাইল ব্যবহার করুন (আগেই `.gitignore` এ আছে)
-- প্রয়োজনীয় পরিবেশ ভেরিয়েবল প্রকল্প README-তে ডকুমেন্ট করুন
+- API কী কখনো রেপোজিটরিতে কমিট করবেন না
+- `.env` ফাইল ব্যবহার করুন (যা `.gitignore` তে রয়েছে)
+- প্রয়োজনীয় পরিবেশ পরিবর্তনশীল প্রকল্প README তে ডকুমেন্ট করুন
-### Python প্রকল্পসমূহ
+### পাইথন প্রজেক্টসমূহ
-- ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করুন: `python -m venv venv`
-- ডিপেন্ডেন্সি আপডেট রাখুন
-- GitHub টোকেনগুলোর ন্যূনতম প্রয়োজনীয় অনুমতি থাকা উচিত
+- ভার্চুয়াল এনভায়রনমেন্ট ব্যবহার করুন: `python -m venv venv`
+- নির্ভরশীলতা আপডেট রাখুন
+- GitHub টোকেনের জন্য ন্যূনতম অনুমতি দিন
-### GitHub Models অ্যাক্সেস
+### GitHub মডেল অ্যাক্সেস
-- GitHub Models ব্যবহারের জন্য Personal Access Tokens (PAT) প্রয়োজন
-- টোকেনগুলো পরিবেশ ভেরিয়েবল হিসেবে সংরক্ষণ করুন
-- টোকেন বা ক্রেডেনশিয়াল কখনো কমিট করবেন না
+- GitHub মডেলের জন্য পার্সোনাল অ্যাক্সেস টোকেন (PAT) প্রয়োজন
+- টোকেন পরিবেশ পরিবর্তনশীল হিসেবে সংরক্ষণ করুন
+- কখনো টোকেন বা ক্রেডেনশিয়াল কমিট করবেন না
## অতিরিক্ত নোট
### লক্ষ্য শ্রোতা
-- সম্পূর্ণ নবীনদের জন্য যারা ওয়েব ডেভেলপমেন্ট শুরু করছেন
-- শিক্ষার্থী ও স্বশিক্ষার্থীরা
-- শ্রেণিকক্ষে কারিকুলাম ব্যবহারকারী শিক্ষকরা
-- প্রবেশগম্যতা এবং ধাপে ধাপে দক্ষতা অর্জনের জন্য ডিজাইন করা বিষয়বস্তু
+- সম্পূর্ণ শুরু থেকে ওয়েব ডেভেলপমেন্ট শিখতে ইচ্ছুক
+- ছাত্র ও স্ব-শিক্ষার্থী
+- শ্রেণিকক্ষে পাঠক্রম ব্যবহারকারী শিক্ষকগণ
+- বিষয়বস্তুটি অ্যাক্সেসিবিলিটি এবং ধাপে ধাপে দক্ষতা গড়ে তোলার জন্য ডিজাইন করা হয়েছে
-### শিক্ষাদর্শন
+### শিক্ষামূলক দার্শনিকতা
-- প্রকল্প-ভিত্তিক শেখার পদ্ধতি
-- ঘন ঘন জ্ঞান যাচাই (কুইজ)
-- হাতে-কলমে কোডিং অনুশীলন
-- বাস্তব জীবনের প্রয়োগের উদাহরণ
-- ফ্রেমওয়ার্কের আগে মৌলিক বিষয়গুলোর উপর কেন্দ্রিত
+- প্রজেক্ট-ভিত্তিক শিক্ষা পদ্ধতি
+- নিয়মিত জ্ঞান যাচাই (কুইজ)
+- হাতে কোডিং অনুশীলন
+- বাস্তব-জগতের প্রয়োগ উদাহরণ
+- ফ্রেমওয়ার্কের আগে মৌলিক বিষয়গুলিতে ফোকাস
-### রিপোজিটরি রক্ষণাবেক্ষণ
+### রেপোজিটরি রক্ষণাবেক্ষণ
-- সক্রিয় শিক্ষার্থী এবং অবদানকারীদের কমিউনিটি
-- ডিপেন্ডেন্সি ও বিষয়বস্তু নিয়মিত আপডেট হয়
-- ইস্যু ও আলোচনা মেইনটেনার দ্বারা পর্যবেক্ষণ করা হয়
-- অনুবাদ আপডেটগুলো GitHub Actions দ্বারা স্বয়ংক্রিয়
+- সক্রিয় শিক্ষার্থী ও অবদানকারীদের কমিউনিটি
+- নির্ভরশীলতা ও বিষয়বস্তু নিয়মিত আপডেট
+- রক্ষণাবেক্ষক দ্বারা সমস্যা ও আলোচনা মনিটর করা হয়
+- অনুবাদের আপডেট স্বয়ংক্রিয়ভাবে GitHub Actions ব্যবহার করে
-### সম্পর্কিত রিসোর্স
+### সংশ্লিষ্ট রিসোর্স
-- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
-- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)
-- শিক্ষার্থীদের জন্য সুপারিশকৃত [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)
-- অতিরিক্ত কোর্সসমূহ: জেনারেটিভ AI, ডেটা সায়েন্স, এমএল, IoT কারিকুলাম উপলব্ধ
+- [Microsoft Learn মডিউলস](https://docs.microsoft.com/learn/)
+- [Student Hub রিসোর্স](https://docs.microsoft.com/learn/student-hub/)
+- শিক্ষার্থীদের জন্য প্রস্তাবিত [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)
+- অতিরিক্ত কোর্স: Generative AI, Data Science, ML, IoT পাঠক্রম উপলব্ধ
-### নির্দিষ্ট প্রকল্পে কাজ করা
+### নির্দিষ্ট প্রজেক্টের সাথে কাজ
-বিভিন্ন প্রকল্পের বিস্তারিত নির্দেশনার জন্য সংশ্লিষ্ট README ফাইল দেখুন:
-- `quiz-app/README.md` - Vue 3 কুইজ অ্যাপ্লিকেশন
-- `7-bank-project/README.md` - অথেনটিকেশনসহ ব্যাংকিং অ্যাপ্লিকেশন
+বিস্তারিত নির্দেশনার জন্য প্রতিটি প্রজেক্টের README ফাইল দেখুন:
+- `quiz-app/README.md` - Vue 3 কুইজ অ্যাপ
+- `7-bank-project/README.md` - প্রমাণীকরণসহ ব্যাংকিং অ্যাপ্লিকেশন
- `5-browser-extension/README.md` - ব্রাউজার এক্সটেনশন ডেভেলপমেন্ট
- `6-space-game/README.md` - ক্যানভাস-ভিত্তিক গেম ডেভেলপমেন্ট
-- `9-chat-project/README.md` - AI চ্যাট সহকারী প্রকল্প
+- `9-chat-project/README.md` - AI চ্যাট অ্যাসিস্ট্যান্ট প্রজেক্ট
-### মনোরিপো কাঠামো
+### মনোরেপো স্ট্রাকচার
-যদিও এটি একটি প্রচলিত মনোরিপো নয়, এই রিপোজিটরিতে একাধিক স্বতন্ত্র প্রকল্প আছে:
-- প্রতিটি পাঠ নিজস্ব সম্পূর্ণ
-- প্রকল্পগুলো ডিপেন্ডেন্সি শেয়ার করে না
-- একাধিক প্রকল্প একই সাথে প্রভাবিত না করে কাজ করা যায়
-- পুরো কারিকুলামের জন্য রিপো সম্পূর্ণ ক্লোন করুন
+এটি প্রচলিত মনোরেপো না হলেও, এই রেপোজিটরিতে একাধিক স্বাধীন প্রজেক্ট রয়েছে:
+- প্রতিটি লেসন স্বতন্ত্র
+- প্রজেক্টগুলি নির্ভরশীলতা শেয়ার করে না
+- একক প্রজেক্টে কাজ করুন অন্যদের প্রভাব না ফেলেই
+- সম্পূর্ণ পাঠক্রম অভিজ্ঞতার জন্য পুরো রেপো ক্লোন করুন
---
-**অস্বীকৃতি**:
-এই ডকুমেন্টটি AI অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। আমরা যথাসাধ্য সঠিকতা বজায় রাখতে চেষ্টা করলেও, স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল নথি তার নিজস্ব ভাষায়ই প্রামাণিক উৎস হিসেবে বিবেচিত হওয়া উচিত। জরুরি বা গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদের ব্যবহারে সৃষ্ট কোন ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
+**ডিসক্লেইমার**:
+এই ডকুমেন্টটি এআই অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। যদিও আমরা যথাসাধ্য সঠিকতার জন্য চেষ্টা করি, স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে তা অনুগ্রহ করে বিবেচনা করুন। মুল নথিটি তার নিজস্ব ভাষায় সর্বসম্মতিকৃত উৎস হিসাবে বিবেচিত হওয়া উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানুষের করা অনুবাদের সুপারিশ করা হয়। এই অনুবাদের ব্যবহারে কোনও ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
\ No newline at end of file
diff --git a/translations/bn/README.md b/translations/bn/README.md
index 3a48f7745..3c2d3d349 100644
--- a/translations/bn/README.md
+++ b/translations/bn/README.md
@@ -10,204 +10,210 @@
[](https://discord.gg/nTYy5BXMWG)
-# নবীনদের জন্য ওয়েব ডেভেলপমেন্ট - একটি পাঠ্যক্রম
+# বেগিনার্সের জন্য ওয়েব ডেভেলপমেন্ট - একটি শিক্ষাক্রম
-মাইক্রোসফট ক্লাউড অ্যাডভোকেটদের দ্বারা প্রণীত ১২-সপ্তাহের সমগ্র কোর্সের মাধ্যমে ওয়েব ডেভেলপমেন্টের মৌলিক বিষয়গুলি শিখুন। ২৪টি পাঠে জাভাস্ক্রিপ্ট, CSS, এবং HTML হাতেকলমে প্রকল্প যেমন টেরারিয়াম, ব্রাউজার এক্সটেনশান এবং স্পেস গেমের মাধ্যমে বিস্তারিত আলোচনা করা হয়েছে। কুইজ, আলোচনা এবং ব্যবহারিক নিয়োগ সংযুক্ত রয়েছে। আমাদের কার্যকর প্রকল্পভিত্তিক শেখার পদ্ধতির মাধ্যমে আপনার দক্ষতা বৃদ্ধি করুন এবং জ্ঞান ধারণ ক্ষমতা উন্নত করুন। আজই আপনার কোডিং যাত্রা শুরু করুন!
+Microsoft Cloud Advocates দ্বারা পরিচালিত ১২ সপ্তাহের বিস্তৃত কোর্সের মাধ্যমে ওয়েব ডেভেলপমেন্টের মৌলিক বিষয় শিখুন। ২৪টি পাঠের প্রতিটির মধ্যে JavaScript, CSS, এবং HTML নিয়ে অন্তর্ভুক্ত রয়েছে হাতে-কলমে প্রকল্প যেমন টেরারিয়াম, ব্রাউজার এক্সটেনশন এবং স্পেস গেমস। কুইজ, আলোচনা, এবং ব্যবহারিক অ্যাসাইনমেন্টে অংশগ্রহণ করুন। আমাদের কার্যকর প্রকল্প-ভিত্তিক শিক্ষা পদ্ধতির মাধ্যমে দক্ষতা বাড়ান এবং আপনার জ্ঞানের ধারণক্ষমতা উন্নত করুন। আজই আপনার কোডিং যাত্রা শুরু করুন!
Azure AI Foundry Discord কমিউনিটিতে যোগ দিন
[](https://discord.gg/nTYy5BXMWG)
-এই সম্পদগুলি ব্যবহার শুরু করতে এই ধাপগুলি অনুসরণ করুন:
-1. **রিপোজিটরি ফর্ক করুন**: ক্লিক করুন [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
+এনিয়ে কাজ শুরু করতে নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
+1. **রিপোজিটরি ফোর্ক করুন**: [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) এ ক্লিক করুন
2. **রিপোজিটরি ক্লোন করুন**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
-3. [**Azure AI Foundry Discord এ যোগ দিন এবং বিশেষজ্ঞ ও সহকর্মী ডেভেলপারদের সাথে পরিচিত হন**](https://discord.com/invite/ByRwuEEgH4)
+3. [**Azure AI Foundry Discord এ যোগ দিন এবং বিশেষজ্ঞ ও সহকর্মী ডেভেলপারদের সঙ্গে পরিচিত হন**](https://discord.com/invite/ByRwuEEgH4)
-### 🌐 মাল্টি-ল্যাঙ্গুয়েজ সাপোর্ট
+### 🌐 বহু-ভাষা সমর্থন
-#### GitHub Action দ্বারা সমর্থিত (স্বয়ংক্রিয় এবং সর্বদা আপডেট থাকে)
+#### GitHub Action দ্বারা সমর্থিত (স্বয়ংক্রিয় এবং সর্বদা আপ-টু-ডেট)
[Arabic](../ar/README.md) | [Bengali](./README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
-> **লোকালি ক্লোন করতে চান?**
-
-> এই রিপোজিটরিতে ৫০+ ভাষার অনুবাদ অন্তর্ভুক্ত যা ডাউনলোডের আকার অনেক বৃদ্ধি করে। অনুবাদ ছাড়া ক্লোন করতে sparse checkout ব্যবহার করুন:
+> **লোকালিতে ক্লোন করতে ইচ্ছুক?**
+>
+> এই রিপোজিটরিটিতে ৫০+ ভাষায় অনুবাদ অন্তর্ভুক্ত রয়েছে যা ডাউনলোড সাইজ উল্লেখযোগ্যভাবে বৃদ্ধি করে। অনুবাদ ছাড়া ক্লোন করতে স্পার্স চেকআউট ব্যবহার করুন:
+>
+> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
-> এটি আপনাকে কোর্স সম্পন্ন করার জন্য যা প্রয়োজন তা দ্রুত ডাউনলোড সহ দেবে।
+>
+> **CMD (Windows):**
+> ```cmd
+> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
+> cd Web-Dev-For-Beginners
+> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
+> ```
+>
+> এভাবে আপনি খুব দ্রুত ডাউনলোডের মাধ্যমে পুরো কোর্স সম্পন্ন করতে যা যা প্রয়োজন তা পাবেন।
-**আপনি যদি অতিরিক্ত ভাষার সমর্থন চান তবে সেগুলি [এখানে](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) তালিকাভুক্ত।**
+**আপনি যদি অতিরিক্ত অনুবাদ ভাষাসমূহ চাইতে চান, তারা [এখানে](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) তালিকাভুক্ত আছে**
[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
-#### 🧑🎓 _আপনি কি একজন ছাত্র?_
+#### 🧑🎓 _আপনি কি ছাত্র?_
-[**Student Hub পেইজে যান**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) যেখানে আপনি নবীনদের জন্য সম্পদ, শিক্ষার্থী প্যাক এবং এমনকি একটি ফ্রি সার্টিফিকেট ভাউচারের উপায় পাবেন। এটি এমন একটি পৃষ্ঠা যা আপনি বুকমার্ক করে মাঝে মাঝে দেখতে পারেন কারণ আমরা প্রতি মাসে সামগ্রী পরিবর্তন করি।
+[**Student Hub পেজে যান**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) যেখানে আপনি মূল বিষয়, ছাত্রদের জন্য প্যাক এবং এমনকি একটি ফ্রি সার্টিফিকেট ভাউচার পাওয়ার উপায় পাবেন। এটি এমন একটি পেজ যা আপনি বুকমার্ক করে মাঝে মাঝে দেখতে চাইবেন কারণ আমরা মাসিক ভিত্তিতে বিষয়বস্তু পরিবর্তন করি।
-### 📣 ঘোষণা - নতুন GitHub Copilot Agent মোড চ্যালেঞ্জগুলি সম্পন্ন করার জন্য!
+### 📣 ঘোষণা - নতুন GitHub Copilot Agent মোড চ্যালেঞ্জ সম্পূর্ণ করুন!
-নতুন চ্যালেঞ্জ যুক্ত হয়েছে, বেশিরভাগ অধ্যায়ে "GitHub Copilot Agent Challenge 🚀" দেখুন। এটি GitHub Copilot এবং Agent মোড ব্যবহার করে সম্পন্ন করার জন্য একটি নতুন চ্যালেঞ্জ। আপনি যদি আগে Agent মোড ব্যবহার না করে থাকেন, এটি শুধুমাত্র টেক্সট তৈরি করে না, ফাইল তৈরি ও সম্পাদনা, কমান্ড চালাতে এবং আরও অনেক কাজ করতে সক্ষম।
+নতুন চ্যালেঞ্জ যুক্ত হয়েছে, বেশিরভাগ অধ্যায়ে "GitHub Copilot Agent Challenge 🚀" খুঁজুন। এটি আপনাদের জন্য GitHub Copilot এবং Agent মোড ব্যবহার করে নতুন একটি চ্যালেঞ্জ। যদি আগে Agent মোড ব্যবহার না করে থাকেন, এটি কেবল টেক্সট তৈরি করে না, এছাড়াও ফাইল তৈরি ও সম্পাদনা করতে, কমান্ড রান করতে এবং আরও অনেক কিছু করতে সক্ষম।
-### 📣 ঘোষণা - _Generative AI ব্যবহার করে নতুন প্রকল্প তৈরি_
+### 📣 ঘোষণা - _Generative AI ব্যবহার করে নতুন প্রকল্প তৈরি করুন_
-নতুন AI Assistant প্রকল্প যুক্ত হয়েছে, এটি দেখুন [প্রকল্প](./9-chat-project/README.md)
+নতুন AI অ্যাসিস্ট্যান্ট প্রকল্প যোগ করা হয়েছে, দেখে নিন [প্রকল্প](./9-chat-project/README.md)
-### 📣 ঘোষণা - _Generative AI এর জন্য নতুন কোর্স_ সম্প্রতি প্রকাশিত হয়েছে
+### 📣 ঘোষণা - _Generative AI_ জন্য জাভাস্ক্রিপ্টের নতুন শিক্ষাক্রম প্রকাশিত হয়েছে
-আমাদের নতুন Generative AI কোর্স মিস করবেন না!
+আমাদের নতুন Generative AI শিক্ষাক্রম মিস করবেন না!
-শুরু করতে ভিজিট করুন [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) !
+শুরু করতে যান [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)

-- মৌলিক থেকে RAG পর্যন্ত সবকিছুর পাঠ।
-- GenAI এবং আমাদের সহচর অ্যাপ ব্যবহার করে ঐতিহাসিক চরিত্রদের সাথে ইন্টারঅ্যাক্ট করুন।
-- মজার এবং আকর্ষণীয় বর্ণনা, আপনি সময় ভ্রমণ করবেন!
+- বেসিক থেকে RAG পর্যন্ত সবকিছু কভার করে লেসন।
+- GenAI এবং আমাদের কম্পানিয়ন অ্যাপ ব্যবহার করে ঐতিহাসিক চরিত্রদের সঙ্গে যোগাযোগ করুন।
+- মজার এবং আকর্ষণীয় বর্ণনা, আপনি টাইম ট্রাভেল করবেন!

-প্রতিটি পাঠে একটি অ্যাসাইনমেন্ট, একটি জ্ঞান যাচাই এবং একটি চ্যালেঞ্জ অন্তর্ভুক্ত রয়েছে যা আপনাকে শেখার বিষয়গুলিতে গাইড করবে যেমন:
-- প্রম্পটিং এবং প্রম্পট ইঞ্জিনিয়ারিং
-- টেক্সট এবং ইমেজ অ্যাপ জেনারেশন
+প্রতিটি লেসনে থাকে একটি অ্যাসাইনমেন্ট, একটি জ্ঞান যাচাইকরণ এবং একটি চ্যালেঞ্জ যা আপনাকে এই বিষয়গুলো শেখার জন্য গাইড করবে:
+- প্রোম্পটিং এবং প্রোম্পট ইঞ্জিনিয়ারিং
+- টেক্সট এবং চিত্র অ্যাপ তৈরী
- সার্চ অ্যাপস
-শুরু করতে [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) এ যান!
+শুরু করতে যান [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)
## 🌱 শুরু করা
-> **শিক্ষকবৃন্দ**, আমরা [কিছু পরামর্শ যোগ করেছি](for-teachers.md) কীভাবে এই পাঠ্যক্রম ব্যবহার করবেন তা নিয়ে। আপনার মতামত আমরা অবশ্যই চাই [আমাদের আলোচনা ফোরামে](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)।
+> **শিক্ষকবৃন্দ**, আমরা [কিছু সুপারিশ](for-teachers.md) অন্তর্ভুক্ত করেছি কিভাবে এই শিক্ষাক্রম ব্যবহার করবেন। আপনার মতামত দিতে অনুগ্রহ করে আমাদের [আলোচনা ফোরামে](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) যোগ দিন!
-**[শিক্ষার্থী](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, প্রতিটি পাঠের জন্য, একটি প্রি-লেকচার কুইজ দিয়ে শুরু করুন এবং লেকচার ম্যাটিরিয়াল পড়ুন, বিভিন্ন কার্যকলাপ সম্পন্ন করুন এবং পোস্ট-লেকচার কুইজ দিয়ে আপনার বোঝাপড়া পরীক্ষা করুন।
+**[শিক্ষানবিসগণ](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, প্রতিটি লেসনের জন্য, একটি প্রি-লেকচার কুইজ দিয়ে শুরু করুন এবং পড়ুন লেকচারের উপকরণ, নানা কার্যক্রম সম্পন্ন করুন এবং পোস্ট-লেকচার কুইজের মাধ্যমে আপনার বোঝাপড়া যাচাই করুন।
-আপনার শেখার অভিজ্ঞতা বাড়াতে, আপনার সহপাঠীদের সাথে একসাথে প্রকল্পগুলো নিয়ে কাজ করতে সংযুক্ত হোন! আলোচনা করার জন্য আমাদের [আলোচনা ফোরাম](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) এ উৎসাহিত করা হয় যেখানে আমাদের মডারেটর টিম আপনার প্রশ্নের উত্তর দিতে থাকবে।
+আপনার শেখার অভিজ্ঞতা উন্নত করতে, আপনার সহপাঠীদের সঙ্গে সংযুক্ত হোন এবং একসাথে প্রকল্পে কাজ করুন! আমাদের [আলোচনা ফোরামে](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) আলোচনা উৎসাহিত করা হয় যেখানে আমাদের মধ্যস্থতাকারীদের একটি দল থাকবে যারা আপনার প্রশ্নের উত্তর দেবেন।
-আপনার শিক্ষাকে আরো বাড়ানোর জন্য, আমরা অত্যন্ত সুপারিশ করি [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) এ অতিরিক্ত অধ্যয়ন সামগ্রী অন্বেষণ করতে।
+আপনার শিক্ষাকে আরো বাড়াতে, আমরা অত্যন্ত সুপারিশ করছি [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) পর্যালোচনা করার জন্য অতিরিক্ত অধ্যয়ন উপকরণ।
### 📋 আপনার পরিবেশ সেটআপ করা
-এই পাঠ্যক্রমের একটি ডেভেলপমেন্ট পরিবেশ প্রস্তুত রয়েছে! আপনি শুরু করার সময় আপনি এই পাঠ্যক্রম [Codespace](https://github.com/features/codespaces/) (_একটি ব্রাউজার-ভিত্তিক, কোনও ইনস্টলেশন ছাড়াই পরিবেশ_) বা আপনার কম্পিউটারে [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) এর মত একটি টেক্সট এডিটর ব্যবহার করে চালাতে পারেন।
+এই শিক্ষাক্রমের জন্য একটি ডেভেলপমেন্ট পরিবেশ প্রস্তুত আছে! আপনি শুরু করার সময় আপনি অবশ্যই [Codespace](https://github.com/features/codespaces/) (_ব্রাউজার ভিত্তিক, ইনস্টলেশন ছাড়াই পরিবেশ_), অথবা আপনার নিজের কম্পিউটারে একটি টেক্সট এডিটর যেমন [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ব্যবহার করে চালাতে পারেন।
#### আপনার রিপোজিটরি তৈরি করুন
-আপনার কাজ সহজে সংরক্ষণ করার জন্য, আপনার নিজস্ব একটি কপি এই রিপোজিটরির তৈরি করা সুপারিশ করা হয়। এটি করতে আপনি পৃষ্ঠার উপরের দিকের **Use this template** বোতামে ক্লিক করতে পারেন। এতে আপনার GitHub অ্যাকাউন্টে পাঠ্যক্রমের একটি অনুলিপি সহ নতুন রিপোজিটরি তৈরি হবে।
+আপনার কাজ সহজে সংরক্ষণের জন্য, এটি সুপারিশ করা হয় যে আপনি এই রিপোজিটরির একটি কপি তৈরি করুন। এটি করতে পারেন পেইজের উপরের দিকের **Use this template** বাটনে ক্লিক করে। এটি আপনার GitHub অ্যাকাউন্টে শিক্ষাক্রমের একটি কপি সহ একটি নতুন রিপোজিটরি তৈরি করবে।
-এই ধাপগুলি অনুসরণ করুন:
-1. **রিপোজিটরি ফর্ক করুন**: এই পৃষ্ঠার উপরের ডানদিকে কোণে "Fork" বোতামে ক্লিক করুন।
+নিম্নলিখিত ধাপ অনুসরণ করুন:
+1. **রিপোজিটরি ফোর্ক করুন**: পেইজের উপরের-ডান কোণে "Fork" বাটনে ক্লিক করুন।
2. **রিপোজিটরি ক্লোন করুন**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
-#### Codespace এ পাঠ্যক্রম চালানো
+#### Codespace এ শিক্ষাক্রম চালানো
-আপনি যে রিপোজিটরির কপি তৈরি করেছেন সেখানে **Code** বোতামে ক্লিক করুন এবং **Open with Codespaces** নির্বাচন করুন। এটি আপনার কাজের জন্য একটি নতুন Codespace তৈরি করবে।
+আপনি যে কপি তৈরি করেছেন সেখান থেকে **Code** বাটনে ক্লিক করুন এবং **Open with Codespaces** নির্বাচন করুন। এটি আপনার কাজের জন্য একটি নতুন Codespace তৈরি করবে।

-#### আপনার কম্পিউটারে লোকালি পাঠ্যক্রম চালানো
+#### আপনার কম্পিউটারে লোকালি শিক্ষাক্রম চালানো
-আপনার কম্পিউটারে লোকালি পাঠ্যক্রম চালাতে, আপনার একটি টেক্সট এডিটর, একটি ব্রাউজার এবং একটি কমান্ড লাইন টুল প্রয়োজন। আমাদের প্রথম পাঠ, [Introduction to Programming Languages and Tools of the Trade](../../1-getting-started-lessons/1-intro-to-programming-languages), আপনাকে প্রতিটি সরঞ্জামের বিভিন্ন অপশন সম্পর্কে পথ দেখাবে যেন আপনি নিজের জন্য সেরা নির্বাচন করতে পারেন।
+আপনার কম্পিউটারে লোকালি শিক্ষাক্রম চালানোর জন্য একটি টেক্সট এডিটর, একটি ব্রাউজার এবং একটি কমান্ড লাইন টুল দরকার। আমাদের প্রথম লেসন, [প্রোগ্রামিং ভাষা ও ট্রেডের সরঞ্জাম পরিচিতি](../../1-getting-started-lessons/1-intro-to-programming-languages), আপনাকে বিভিন্ন বিকল্প নিয়ে গাইড করবে যাতে আপনি যা সবচেয়ে ভালো মনে করেন তা নির্বাচন করতে পারবেন।
-আমাদের সুপারিশ হল [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ব্যবহার করা, যেটিতে একটি অন্তর্নির্মিত [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) রয়েছে। আপনি Visual Studio Code [এখানে](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) থেকে ডাউনলোড করতে পারেন।
-
-
-1. আপনার রিপোজিটরিটি আপনার কম্পিউটারে ক্লোন করুন। এটি করতে আপনি **Code** বোতামে ক্লিক করে URL কপি করতে পারেন:
+আমাদের সুপারিশ হলো [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ব্যবহার করা, যা একটি বিল্ট-ইন [টার্মিনাল](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) অফার করে। Visual Studio Code ডাউনলোড করতে পারেন [এখানে](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)।
+1. আপনার রিপোজিটরি আপনার কম্পিউটারে ক্লোন করুন। আপনি এটি করতে পারেন **Code** বোতামে ক্লিক করে এবং URL কপি করে:
[CodeSpace](./images/createcodespace.png)
-তাহলে, [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) এর ভিতরে [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) খুলুন এবং নিম্নলিখিত কমান্ডটি চালান, যেখানে `` আপনি যেই URLটি কপি করেছেন সেটির সাথে প্রতিস্থাপন করবেন:
+
+ তারপর, [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) এর ভিতরে [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) খুলুন এবং নিম্নলিখিত কমান্ডটি চালান, `` এর জায়গায় আপনি যেই URL কপি করেছেন তা বসান:
```bash
git clone
```
-2. Visual Studio Code এ ফোল্ডারটি খুলুন। আপনি এটি করতে পারেন **File** > **Open Folder** ক্লিক করে এবং আপনি যেই ফোল্ডারটি ক্লোন করেছেন সেটি নির্বাচন করে।
-
+2. Visual Studio Code এ ফোল্ডারটি খুলুন। আপনি এটি করতে পারেন **File** > **Open Folder** ক্লিক করে এবং যেই ফোল্ডারটি আপনি ক্লোন করেছেন তা নির্বাচন করে।
-> সুপারিশকৃত Visual Studio Code এক্সটেনশনসমূহ:
+> নির্দেশিত Visual Studio Code এক্সটেনশনসমূহ:
>
-> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - Visual Studio Code এর ভিতরে HTML পেজের পূর্বরূপ দেখতে
-> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - দ্রুত কোড লেখার জন্য সাহায্য করতে
+> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - Visual Studio Code এর ভিতরে HTML পেজ প্রিভিউ করতে
+> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - কোড লেখার গতি বাড়াতে সাহায্য করার জন্য
## 📂 প্রতিটি পাঠ অন্তর্ভুক্ত করে:
- ঐচ্ছিক স্কেচনোট
-- ঐচ্ছিক সহায়ক ভিডিও
-- পাঠের আগে ওয়ার্মআপ কুইজ
+- ঐচ্ছিক পরিপূরক ভিডিও
+- পূর্ব-পাঠ ওয়ার্মআপ কুইজ
- লিখিত পাঠ
-- প্রকল্প-ভিত্তিক পাঠগুলোর জন্য, প্রকল্প নির্মাণের ধাপে ধাপে নির্দেশিকা
-- জ্ঞান পরীক্ষা
+- প্রকল্প-ভিত্তিক পাঠের জন্য, ধাপে ধাপে গাইড যে প্রকল্পটি কীভাবে তৈরি করতে হয়
+- জ্ঞান যাচাই
- একটি চ্যালেঞ্জ
-- সহায়ক পাঠ্য
-- নিয়োগ
-- [পাঠোত্তপর কুইজ](https://ff-quizzes.netlify.app/web/)
+- পরিপূরক পাঠ
+- অ্যাসাইনমেন্ট
+- [পোস্ট-পাঠ কুইজ](https://ff-quizzes.netlify.app/web/)
-> **কুইজ সম্পর্কিত একটি নোট**: সমস্ত কুইজ Quiz-app ফোল্ডারে রয়েছে, মোট ৪৮টি কুইজ প্রতিটিতে তিনটি প্রশ্ন। সেগুলি পাওয়া যাবে [এখানে](https://ff-quizzes.netlify.app/web/), কুইজ অ্যাপটি স্থানীয়ভাবে চালানো যায় অথবা Azure এ ডিপ্লয় করা যায়; এর জন্য `quiz-app` ফোল্ডারে নির্দেশিকা অনুসরণ করুন।
+> **কুইজ সম্পর্কে একটি নোট**: সব কুইজ `Quiz-app` ফোল্ডারে আছে, মোট ৪৮টি কুইজ যাদের প্রত্যেকটি তিনটি প্রশ্ন নিয়ে গঠিত। এগুলো [এখানে](https://ff-quizzes.netlify.app/web/) পাওয়া যায় এবং কুইজ অ্যাপটি লোকালি চালানো যেতে পারে অথবা Azure তে ডেপ্লয় করা যেতে পারে; `quiz-app` ফোল্ডারের মধ্যে নির্দেশনা অনুসরণ করুন।
## 🗃️ পাঠসমূহ
-| | প্রকল্পের নাম | শেখানো বিষয়সমূহ | শেখার উদ্দেশ্য | সংশ্লিষ্ট পাঠ | লেখক |
-| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
-| 01 | শুরু করা হচ্ছে | প্রোগ্রামিং পরিচিতি এবং সরঞ্জামের আলোচনা | অধিকাংশ প্রোগ্রামিং ভাষার মৌলিক ভিত্তি এবং পেশাদার ডেভেলপারদের কাজ সহজ করতে ব্যবহৃত সফটওয়্যার সম্পর্কে শেখা | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
-| 02 | শুরু করা হচ্ছে | গিটহাবের বুনিয়াদি, টিমের সাথে কাজ করা অন্তর্ভুক্ত | আপনার প্রকল্পে গিটহাব ব্যবহার করা, কীভাবে কোডবেইজে অন্যদের সাথে সহযোগিতা করবেন শেখা | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
-| 03 | শুরু করা হচ্ছে | প্রবেশযোগ্যতা | ওয়েব প্রবেশযোগ্যতার মৌলিক বিষয়গুলি শেখা | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
-| 04 | JS বেসিকস | JavaScript ডেটা টাইপসমূহ | JavaScript ডেটা টাইপের মৌলিক বিষয়গুলি | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine |
-| 05 | JS বেসিকস | ফাংশন এবং মেথডসমূহ | একটি অ্যাপ্লিকেশনের লজিক ফ্লো পরিচালনার জন্য ফাংশন এবং মেথড সম্পর্কে শেখা | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine এবং Christopher |
-| 06 | JS বেসিকস | JS দিয়ে সিদ্ধান্ত নেওয়া | কিভাবে আপনার কোডে শর্ত তৈরি করবেন সিদ্ধান্ত গ্রহণ পদ্ধতি ব্যবহার করে শেখা | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
-| 07 | JS বেসিকস | অ্যারে এবং লুপ | JavaScript এ অ্যারে এবং লুপ ব্যবহার করে ডেটার সাথে কাজ করা | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
-| 08 | [টেরারিয়াম](./3-terrarium/solution/README.md) | HTML অনুশীলনে | অনলাইন টেরারিয়াম তৈরির জন্য HTML নির্মাণ, বিন্যাস নির্মাণে গুরুত্ব দেওয়া | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
-| 09 | [টেরারিয়াম](./3-terrarium/solution/README.md) | CSS অনুশীলনে | অনলাইন টেরারিয়ামের স্টাইল করার জন্য CSS তৈরি, CSS এর মৌলিক বিষয় এবং পেজ রেসপনসিভ করা শেখা | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
-| 10 | [টেরারিয়াম](./3-terrarium/solution/README.md) | JavaScript ক্লোজার, DOM ম্যানিপুলেশন | টেরারিয়ামকে ড্র্যাগ/ড্রপ ইন্টারফেস হিসেবে কাজ করানোর জন্য JavaScript নির্মাণ, ক্লোজার এবং DOM ম্যানিপুলেশনে গুরুত্ব দেওয়া | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
-| 11 | [টাইপিং গেম](./4-typing-game/solution/README.md) | একটি টাইপিং গেম তৈরি | কিবোর্ড ইভেন্ট ব্যবহার করে কিভাবে আপনার JavaScript অ্যাপের লজিক চালানো হয় শিখুন | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher |
-| 12 | [গ্রিন ব্রাউজার এক্সটেনশন](./5-browser-extension/solution/README.md) | ব্রাউজারের সাথে কাজ | ব্রাউজার কিভাবে কাজ করে, তার ইতিহাস এবং ব্রাউজার এক্সটেনশনের প্রথম উপাদান তৈরি করা শেখা | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
-| 13 | [গ্রিন ব্রাউজার এক্সটেনশন](./5-browser-extension/solution/README.md) | ফর্ম তৈরি, API কল এবং স্থানীয় স্টোরেজে ভেরিয়েবল সংরক্ষণ | API কল করার জন্য আপনার ব্রাউজার এক্সটেনশনের JavaScript উপাদান তৈরি করুন, স্থানীয় স্টোরেজে সংরক্ষিত ভেরিয়েবল ব্যবহার করে | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
-| 14 | [গ্রিন ব্রাউজার এক্সটেনশন](./5-browser-extension/solution/README.md) | ব্রাউজারের ব্যাকগ্রাউন্ড প্রসেস, ওয়েব পারফরমেন্স | এক্সটেনশনের আইকন পরিচালনার জন্য ব্রাউজারের ব্যাকগ্রাউন্ড প্রসেস ব্যবহার করুন; ওয়েব পারফরমেন্স এবং কিছু অপ্টিমাইজেশন সম্পর্কে শেখা | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
-| 15 | [স্পেস গেম](./6-space-game/solution/README.md) | JavaScript দিয়ে আরও উন্নত গেম ডেভেলপমেন্ট | ক্লাস এবং কম্পোজিশন উভয় ব্যবহার করে ইনহেরিটেন্স এবং পাব/সাব প্যাটার্ন শেখা, একটি গেম নির্মাণের জন্য প্রস্তুতি | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris |
-| 16 | [স্পেস গেম](./6-space-game/solution/README.md) | ক্যানভাসে ড্রয়িং | স্ক্রীনে এলিমেন্ট আঁকার জন্য ব্যবহৃত Canvas API সম্পর্কে শেখা | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
-| 17 | [স্পেস গেম](./6-space-game/solution/README.md) | স্ক্রীনের চারপাশে এলিমেন্ট সরানো | কিভাবে কার্তেসিয়ান কোঅর্ডিনেট এবং Canvas API ব্যবহার করে এলিমেন্টগুলোকে মুভ করানো যায় শেখা | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris |
-| 18 | [স্পেস গেম](./6-space-game/solution/README.md) | সংঘর্ষ শনাক্তকরণ | কীপ্রেস ব্যবহার করে এলিমেন্টগুলোকে সংঘর্ষ করানো এবং একে অপরের প্রতি প্রতিক্রিয়া দেখানো; গেমের পারফরমেন্স নিশ্চিত করতে কুলডাউন ফাংশন ব্যবহার করা | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris |
-| 19 | [স্পেস গেম](./6-space-game/solution/README.md) | স্কোর রাখা | গেমের পরিস্থিতি ও পারফরমেন্সের ওপর ভিত্তি করে গণিতের হিসাব-নিকাশ করা | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris |
-| 20 | [স্পেস গেম](./6-space-game/solution/README.md) | গেম শেষ করা এবং পুনরায় শুরু করা | গেম শেষ করা এবং পুনরায় শুরু করার বিষয়ে শেখা, সম্পদ পরিষ্কার করা এবং ভেরিয়েবলের মান রিসেট করা | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris |
-| 21 | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | ওয়েব অ্যাপে HTML টেমপ্লেট এবং রাউটসমূহ | মাল্টিপেজ ওয়েবসাইট আর্কিটেকচারের স্ক্যাফোল্ড তৈরি করা শিখুন রাউটিং এবং HTML টেমপ্লেট ব্যবহার করে | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan |
-| 22 | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | লগইন এবং রেজিস্ট্রেশন ফর্ম তৈরি | ফর্ম তৈরি এবং যাচাইকরণ পদ্ধতি সম্পর্কে শেখা | [Forms](./7-bank-project/2-forms/README.md) | Yohan |
-| 23 | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | ডেটা সংগ্রহ এবং ব্যবহারের পদ্ধতি | আপনার অ্যাপের ভিতরে ও বাইরে ডেটার প্রবাহ, কিভাবে তা সংগ্রহ, সংরক্ষণ এবং মুছে ফেলা যায় শিখুন | [Data](./7-bank-project/3-data/README.md) | Yohan |
-| 24 | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | স্টেট ম্যানেজমেন্ট ধারণা | আপনার অ্যাপ কিভাবে অবস্থা ধরে রাখে এবং প্রোগ্রাম্যাটিকভাবে তা কিভাবে পরিচালনা করবেন শেখা | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
-| 25 | [ব্রাউজার/VScode কোড](../../8-code-editor) | VScode এর সাথে কাজ করা | কোড এডিটর ব্যবহার শিখুন | [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
-| 26 | [AI সহকারী](./9-chat-project/README.md) | AI এর সাথে কাজ করা | নিজের AI সহকারী তৈরি শেখা | [AI Assistant project](./9-chat-project/README.md) | Chris |
-
-## 🏫 শিক্ষণশাস্ত্র
-
-আমাদের পাঠ্যক্রম দুইটি মূল শিক্ষণ নীতির ভিত্তিতে ডিজাইন করা হয়েছে:
-* প্রকল্প-ভিত্তিক শিক্ষা
-* ঘন ঘন কুইজ পরীক্ষা
-
-এই প্রোগ্রামটি JavaScript, HTML এবং CSS এর মৌলিক বিষয় শেখায়, পাশাপাশি বর্তমান ওয়েব ডেভেলপাররা যেসব সরঞ্জাম ও প্রযুক্তি ব্যবহার করে তা শেখায়। ছাত্ররা টাইপিং গেম, ভার্চুয়াল টেরারিয়াম, পরিবেশবান্ধব ব্রাউজার এক্সটেনশন, স্পেস ইনভেডার ধরণের গেম এবং ব্যবসার জন্য একটি ব্যাংকিং অ্যাপ তৈরি করে হাতে কলমে অভিজ্ঞতা অর্জনের সুযোগ পাবে। সিরিজের শেষে, শিক্ষার্থীরা ওয়েব ডেভেলপমেন্ট সম্পর্কে একটি শক্তিশালী ধারণা লাভ করবে।
-
-> 🎓 আপনি এই পাঠ্যক্রমের প্রথম কয়েকটি পাঠ Microsoft Learn এ একটি [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) হিসেবে নিতে পারেন!
-
-বিষয়বস্তু প্রকল্পের সাথে সামঞ্জস্যপূর্ণ করার মাধ্যমে, শিক্ষার্থীদের জন্য প্রক্রিয়াটি আরও আকর্ষণীয় হয় এবং ধারণাগুলোর স্মরণীয়তা বৃদ্ধি পায়। আমরা JavaScript বেসিকসের কয়েকটি প্রাথমিক পাঠও লিখেছি ধারণাগুলো পরিচয় করানোর জন্য, "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" ভিডিও টিউটোরিয়াল সংগ্রহ থেকে একটি ভিডিওসহ, যাদের মধ্যে কিছু লেখক এই পাঠ্যক্রমে অবদান রেখেছেন।
-
-তদুপরি, একটি ক্লাসের আগে হালকা স্তরের কুইজ শিক্ষার্থীর শেখার প্রতিশ্রুতি স্থাপন করে, এবং ক্লাসের পর একটি দ্বিতীয় কুইজ আরও স্মরণীয়তা নিশ্চিত করে। এই পাঠ্যক্রমটি নমনীয় এবং মজাদার করার জন্য ডিজাইন করা হয়েছে এবং সম্পূর্ণ অথবা আংশিক অংশগ্রহণ করা যায়। প্রকল্পগুলো ছোট থেকে শুরু করে ১২ সপ্তাহের চক্র শেষে ক্রমশ জটিল হয়ে ওঠে।
-
-যেহেতু আমরা সচেতনভাবে JavaScript ফ্রেমওয়ার্ক পরিচিতি এড়িয়েছি যাতে ওয়েব ডেভেলপার হিসেবে মৌলিক দক্ষতা অর্জনে মনোযোগ দিতে পারি ফ্রেমওয়ার্ক গৃহীত করার আগে, তাই এই পাঠ্যক্রম শেষ করার পর পরবর্তী ভালো পদক্ষেপ হতে পারে Node.js সম্পর্কে শেখা, অন্য একটি ভিডিও সংগ্রহের মাধ্যমে: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
-
-> আমাদের [আচরণবিধি](CODE_OF_CONDUCT.md) এবং [অবদান](CONTRIBUTING.md) নির্দেশিকা দেখুন। আমরা আপনার গঠনমূলক প্রতিক্রিয়াকে স্বাগত জানাই!
-
+| | প্রকল্পের নাম | শেখানো ধারণাসমূহ | শেখার উদ্দেশ্য | লিঙ্ক করা পাঠ | লেখক |
+| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :-------------------: |
+| 01 | শুরু করা | প্রোগ্রামিং এবং ট্রেড টুলসের পরিচিতি | অধিকাংশ প্রোগ্রামিং ভাষার মৌলিক ধারণা এবং সফটওয়্যার সম্পর্কে জানুন যা পেশাদার ডেভেলপারদের কাজে সাহায্য করে | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
+| 02 | শুরু করা | GitHub এর মৌলিক বিষয়, একটি টিমের সাথে কাজ করা | GitHub আপনার প্রকল্পে কীভাবে ব্যবহার করবেন, এবং কিভাবে অন্যদের সাথে কোড বেসে সহযোগিতা করবেন | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
+| 03 | শুরু করা | অ্যাকসেসিবিলিটি | ওয়েব অ্যাক্সেসিবিলিটির মৌলিক বিষয় শিখুন | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
+| 04 | JS মৌলিক | JavaScript ডেটা টাইপ | JavaScript ডেটা টাইপের মৌলিক বিষয় | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine |
+| 05 | JS মৌলিক | ফাংশন এবং মেথড | অ্যাপ্লিকেশনের লজিক নিয়ন্ত্রণ করার জন্য ফাংশন এবং মেথড সম্পর্কে শিখুন | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
+| 06 | JS মৌলিক | JS দিয়ে সিদ্ধান্ত গ্রহণ | কোডে শর্ত তৈরি করার জন্য সিদ্ধান্ত গ্রহণ পদ্ধতি সম্পর্কে শিখুন | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
+| 07 | JS মৌলিক | অ্যারে এবং লুপস | JavaScript এ অ্যারে এবং লুপ ব্যবহার করে ডেটার উপর কাজ করুন | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
+| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML অনুশীলন | একটি অনলাইন টেরারিয়াম তৈরি করতে HTML তৈরি করুন, মূলত লেআউট তৈরি করার উপর ফোকাস করুন | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
+| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS অনুশীলন | অনলাইন টেরারিয়ামের CSS তৈরি করুন, CSS এর মৌলিক বিষয় এবং পেজকে রেসপন্সিভ করার উপরে ফোকাস করুন | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
+| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript ক্লোজার, DOM ম্যানিপুলেশন | টেরারিয়ামকে ড্র্যাগ/ড্রপ ইন্টারফেস হিসেবে কাজ করানোর জন্য JavaScript তৈরি করুন, ক্লোজার এবং DOM ম্যানিপুলেশনের উপর ফোকাস করুন | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
+| 11 | [টাইপিং গেম](./4-typing-game/solution/README.md) | টাইপিং গেম তৈরি | কী-বোর্ড ইভেন্ট ব্যবহার করে JavaScript অ্যাপের লজিক ড্রাইভ করা শিখুন | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher |
+| 12 | [গ্রিন ব্রাউজার এক্সটেনশন](./5-browser-extension/solution/README.md) | ব্রাউজারের কাজ | ব্রাউজার কিভাবে কাজ করে, এর ইতিহাস এবং ব্রাউজার এক্সটেনশনের প্রথম উপাদানগুলো স্ক্যাফোল্ড করা শিখুন | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
+| 13 | [গ্রিন ব্রাউজার এক্সটেনশন](./5-browser-extension/solution/README.md) | ফর্ম তৈরি, API কল এবং লোকাল স্টোরেজে ভেরিয়েবল সংরক্ষণ | API কল করার জন্য ব্রাউজার এক্সটেনশনের JavaScript উপাদান তৈরি করুন যা লোকাল স্টোরেজে সঞ্চিত ভেরিয়েবল ব্যবহার করে | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
+| 14 | [গ্রিন ব্রাউজার এক্সটেনশন](./5-browser-extension/solution/README.md) | ব্রাউজারের ব্যাকগ্রাউন্ড প্রসেস, ওয়েব পারফরম্যান্স | এক্সটেনশনের আইকন ম্যানেজ করার জন্য ব্রাউজারের ব্যাকগ্রাউন্ড প্রসেস ব্যবহার করুন; ওয়েব পারফরম্যান্স এবং কিছু অপ্টিমাইজেশন শিখুন | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
+| 15 | [স্পেস গেম](./6-space-game/solution/README.md) | জাভাস্ক্রিপ্ট দিয়ে উন্নত গেম ডেভেলপমেন্ট | ক্লাস এবং কম্পোজিশন ব্যবহার করে ইনহেরিটেন্স এবং পাব/সাব প্যাটার্ন সম্পর্কে শিখুন, গেম তৈরির প্রস্তুতিতে | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris |
+| 16 | [স্পেস গেম](./6-space-game/solution/README.md) | ক্যানভাসে আঁকা | ক্যানভাস API সম্পর্কে জানুন, যা স্ক্রিনে এলিমেন্ট আঁকার জন্য ব্যবহৃত হয় | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
+| 17 | [স্পেস গেম](./6-space-game/solution/README.md) | স্ক্রিনে এলিমেন্টগুলি সরানো | কিভাবে কার্টেসিয়ান কোঅর্ডিনেট এবং ক্যানভাস API ব্যবহার করে এলিমেন্টগুলি গতি লাভ করতে পারে তা আবিষ্কার করুন | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris |
+| 18 | [স্পেস গেম](./6-space-game/solution/README.md) | সংঘর্ষ সনাক্তকরণ | কীপ্রেস ব্যবহার করে এলিমেন্টগুলিকে সংঘর্ষ করতে এবং একে অপরের সাথে প্রতিক্রিয়া করতে দিন এবং গেমের পারফরম্যান্স নিশ্চিত করতে কুলডাউন ফাংশন দিন | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris |
+| 19 | [স্পেস গেম](./6-space-game/solution/README.md) | স্কোর রাখা | গেমের অবস্থা এবং পারফরম্যান্সের উপর ভিত্তি করে গাণিতিক হিসাব নির্ণয় করুন | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris |
+| 20 | [স্পেস গেম](./6-space-game/solution/README.md) | গেম শেষ করা এবং পুনরায় শুরু করা | গেম শেষ করা এবং পুনরায় শুরু করার সম্পর্কে শিখুন, যার মধ্যে রয়েছে অ্যাসেট পরিষ্কার করা এবং ভেরিয়েবল মান রিসেট করা | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris |
+| 21 | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | ওয়েব অ্যাপে HTML টেমপ্লেট এবং রাউট | রাউটিং এবং HTML টেমপ্লেট ব্যবহার করে একটি মাল্টিপেজ ওয়েবসাইটের স্থাপত্য তৈরি করতে শিখুন | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan |
+| 22 | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | লগইন এবং রেজিস্ট্রেশন ফর্ম তৈরি | ফর্ম তৈরি এবং ভ্যালিডেশন রুটিন হ্যান্ডল করার ব্যাপারে শিখুন | [Forms](./7-bank-project/2-forms/README.md) | Yohan |
+| 23 | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | ডেটা পাওয়া এবং ব্যবহার করার পদ্ধতি | অ্যাপে কীভাবে ডেটা প্রবাহিত হয়, কীভাবে এটি আনা, সংরক্ষণ এবং নিষ্কাশন করা হয় সে সম্পর্কে জানুন | [Data](./7-bank-project/3-data/README.md) | Yohan |
+| 24 | [ব্যাংকিং অ্যাপ](./7-bank-project/solution/README.md) | স্টেট ম্যানেজমেন্টের ধারণা | কীভাবে আপনার অ্যাপ স্টেট ধরে রাখে এবং কীভাবে প্রোগ্রাম্যাটিকভাবে তা নিয়ন্ত্রণ করে সে সম্পর্কে শিখুন | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
+| 25 | [Browser/VScode Code](../../8-code-editor) | VScode এর সাথে কাজ করা | একটি কোড এডিটর ব্যবহার করা শিখুন| [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
+| 26 | [AI Assistants](./9-chat-project/README.md) | AI এর সাথে কাজ করা | আপনার নিজস্ব AI সহকারী তৈরি করা শিখুন | [AI Assistant project](./9-chat-project/README.md) | Chris |
+
+## 🏫 পেডাগজি
+
+আমাদের কারিকুলাম দুটি মূল শিক্ষাগত নীতির উপর ভিত্তি করে ডিজাইন করা হয়েছে:
+* প্রকল্প-ভিত্তিক শেখা
+* ঘন ঘন কুইজ
+
+এই প্রোগ্রামটি JavaScript, HTML, এবং CSS এর মৌলিক বিষয়গুলি শেখায়, পাশাপাশি আজকের ওয়েব ডেভেলপারদের ব্যবহৃত সর্বশেষ টুল এবং প্রযুক্তি। শিক্ষার্থীরা একটি টাইপিং গেম, ভার্চুয়াল টেরারিয়াম, ইকো-ফ্রেন্ডলি ব্রাউজার এক্সটেনশন, স্পেস-ইনভেডার-স্টাইল গেম এবং ব্যবসায়ের জন্য একটি ব্যাংকিং অ্যাপ তৈরি করে হাতে কলমে অভিজ্ঞতা অর্জনের সুযোগ পাবে। সিরিজের শেষে শিক্ষার্থীরা ওয়েব ডেভেলপমেন্টের একটি দৃঢ় ধারণা অর্জন করবে।
+
+> 🎓 আপনি এই কারিকুলামের প্রথম কিছু পাঠ Microsoft Learn এ একটি [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) হিসেবে নিতে পারেন!
+
+কন্টেন্ট প্রকল্পের সাথে সামঞ্জস্যপূর্ণ করার মাধ্যমে, প্রক্রিয়াটি শিক্ষার্থীদের জন্য আরও আকর্ষণীয় হয় এবং ধারণাগুলোর ধারণক্ষমতা বাড়ে। আমরা JavaScript এর মৌলিক বিষয়গুলিতে কয়েকটি স্টার্টার পাঠ লিখেছি ধারণাগুলো পরিচয় করানোর জন্য, একটি ভিডিও "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" কালেকশনের সাথে জোড়া দিয়েছি, যার কিছু লেখক এই কারিকুলামেও অবদান রেখেছেন।
+
+অতিরিক্তভাবে, একটি ক্লাসের আগে একটি নিম্ন-দাবি কুইজ শিক্ষার্থীর শেখার উদ্দেশ্য স্থির করে, আর ক্লাসের পরে দ্বিতীয় কুইজ আরও ভালো ধারণার অধিকার নিশ্চিত করে। এই কারিকুলামটি নমনীয় এবং মজাদার হওয়ার জন্য ডিজাইন করা হয়েছে এবং পুরো বা আংশিকভাবে নেওয়া যেতে পারে। প্রকল্পসমূহ ছোট থেকে শুরু করে ১২-সপ্তাহের চক্র শেষে ক্রমশ জটিল হবে।
+
+আমরা ইচ্ছাকৃতভাবে JavaScript ফ্রেমওয়ার্কগুলো প্রবর্তন করা থেকে বিরত রয়েছি যাতে ওয়েব ডেভেলপার হিসেবে মৌলিক দক্ষতা অর্জনের প্রতি ফোকাস রাখা যায়, পরে একটি ভালো পরবর্তী ধাপ হবে Node.js সম্পর্কে শেখা "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)" ভিডিও কালেকশনের মাধ্যমে।
+
+> আমাদের [আচারসংহিতা](CODE_OF_CONDUCT.md) এবং [অবদান Guidelines](CONTRIBUTING.md) দেখুন। আপনার গঠনমূলক প্রতিক্রিয়া আমরা স্বাগত জানাই!
## 🧭 অফলাইন অ্যাক্সেস
-[Docsify](https://docsify.js.org/#/) ব্যবহার করে আপনি এই ডকুমেন্টেশনটি অফলাইনে চালাতে পারবেন। এই রিপোজিটরিটি ফর্ক করুন, [Docsify ইনস্টল করুন](https://docsify.js.org/#/quickstart) আপনার লোকাল মেশিনে, তারপর এই রিপোজিটরির মূল ফোল্ডারে যান এবং টাইপ করুন `docsify serve`। ওয়েবসাইটটি আপনার লোকালহোস্টে ৩০০০ পোর্টে সার্ভ হবে: `localhost:3000`।
+আপনি [Docsify](https://docsify.js.org/#/) ব্যবহার করে এই ডকুমেন্টেশন অফলাইনে চালাতে পারেন। এই রিপোটি Fork করুন, আপনার লোকাল মেশিনে [Docsify ইনস্টল করুন](https://docsify.js.org/#/quickstart), তারপর এই রিপোর রুট ফোল্ডারে `docsify serve` টাইপ করুন। ওয়েবসাইটটি আপনার লোকালহোস্টের ৩০০০ পোর্টে চালিত হবে: `localhost:3000`।
## 📘 পিডিএফ
-
-সমস্ত পাঠের একটি পিডিএফ [এখানে](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf) পাওয়া যাবে।
-
+সমস্ত পাঠের একটি পিডিএফ এখানে পাওয়া যেতে পারে [here](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf)।
## 🎒 অন্যান্য কোর্সসমূহ
-আমাদের দল অন্যান্য কোর্স তৈরি করে! দেখুন:
+
+আমাদের দল অন্যান্য কোর্সও তৈরি করে! দেখে নিন:
### LangChain
@@ -232,7 +238,7 @@ Azure AI Foundry Discord কমিউনিটিতে যোগ দিন
---
-### Core Learning
+### মূল শিক্ষা
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@@ -243,7 +249,7 @@ Azure AI Foundry Discord কমিউনিটিতে যোগ দিন
---
-### Copilot Series
+### কপিলট সিরিজ
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
@@ -251,21 +257,21 @@ Azure AI Foundry Discord কমিউনিটিতে যোগ দিন
## সাহায্য নেওয়া
-যদি আপনি আটকে যান বা AI অ্যাপ নির্মাণ সম্পর্কে কোনো প্রশ্ন থাকে। MCP নিয়ে আলোচনা করতে সহশিক্ষার্থী এবং অভিজ্ঞ ডেভেলপারদের সাথে যোগ দিন। এটি একটি সহায়ক সম্প্রদায় যেখানে প্রশ্ন歓迎 এবং জ্ঞান বিনামূল্যে ভাগ করা হয়।
+যদি আপনি আটকে যান বা AI অ্যাপ তৈরি করার বিষয়ে কোনো প্রশ্ন থাকে। MCP সম্পর্কে আলোচনা করতে সহকর্মী শিক্ষার্থী ও অভিজ্ঞ ডেভেলপারদের সাথে যোগ দিন। এটি একটি সহায়ক সম্প্রদায় যেখানে প্রশ্ন গ্রহণযোগ্য এবং জ্ঞান বিনিময় করা হয়।
[](https://discord.gg/nTYy5BXMWG)
-যদি আপনার পণ্যের প্রতিক্রিয়া বা ত্রুটি থাকে নির্মাণের সময় নিম্নলিখিত লিঙ্কে যান:
+যদি আপনার পণ্য প্রতিক্রিয়া বা নির্মাণের সময় কোনো ত্রুটি থাকে, তাহলে দেখুন:
[](https://aka.ms/foundry/forum)
## লাইসেন্স
-এই রিপজিটরি MIT লাইসেন্সের অধীনে লাইসেন্সকৃত। আরও তথ্যের জন্য দেখুন [LICENSE](../../LICENSE) ফাইল।
+এই রেপোজিটরিটি MIT লাইসেন্সের অধীনে অনুমোদিত। আরও তথ্যের জন্য দেখুন [LICENSE](../../LICENSE) ফাইল।
---
-**দায়িত্ব সীমা**:
-এই নথিটি AI অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। আমরা যথাসাধ্য সঠিকতার জন্য চেষ্টা করি, তবে कृপয়া মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা ভুল থাকতে পারে। মূল নথিটি তার নিজ ভাষায় সর্বাধিক গ্রহণযোগ্য উৎস হিসেবে বিবেচিত হওয়া উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ পরামর্শ দেওয়া হয়। এই অনুবাদের ব্যবহার থেকে উদ্ভূত কোনও ভুল বোঝাবুঝি বা ভ্রান্তির জন্য আমরা দায়ী নই।
+**অস্বীকারোক্তি**:
+এই ডকুমেন্টটি AI অনুবাদ সেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনূদিত হয়েছে। আমরা যথাসাধ্য সঠিকতার জন্য চেষ্টা করি, তবুও দয়া করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল নথি তার স্বতন্ত্র ভাষায়ই কর্তৃপক্ষসুত্র হিসেবে বিবেচিত হওয়া উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদের পরামর্শ দেওয়া হয়। এই অনুবাদের ব্যবহারে সৃষ্ট কোনো ভুলবোঝা বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।
\ No newline at end of file
diff --git a/translations/cs/.co-op-translator.json b/translations/cs/.co-op-translator.json
index 7cf1f1959..8036606ae 100644
--- a/translations/cs/.co-op-translator.json
+++ b/translations/cs/.co-op-translator.json
@@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
- "original_hash": "d45ddcc54eb9232a76d08328b09d792e",
- "translation_date": "2026-01-07T04:12:06+00:00",
+ "original_hash": "bec5e35642176d9e483552bfc82996d8",
+ "translation_date": "2026-03-06T16:02:36+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "cs"
},
@@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
- "translation_date": "2026-02-06T18:18:33+00:00",
+ "translation_date": "2026-03-06T16:06:41+00:00",
"source_file": "AGENTS.md",
"language_code": "cs"
},
@@ -516,8 +516,8 @@
"language_code": "cs"
},
"README.md": {
- "original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
- "translation_date": "2026-02-06T18:11:29+00:00",
+ "original_hash": "a2c9eed480687319517c08a6319e5536",
+ "translation_date": "2026-03-06T15:57:56+00:00",
"source_file": "README.md",
"language_code": "cs"
},
diff --git a/translations/cs/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/cs/1-getting-started-lessons/1-intro-to-programming-languages/README.md
index ef6610bae..ff6c763f5 100644
--- a/translations/cs/1-getting-started-lessons/1-intro-to-programming-languages/README.md
+++ b/translations/cs/1-getting-started-lessons/1-intro-to-programming-languages/README.md
@@ -1,98 +1,98 @@
-# Úvod do programovacích jazyků a moderních vývojářských nástrojů
-
-Ahoj, budoucí vývojáři! 👋 Můžu vám něco říct, co mi dělá husí kůži každý den? Chystáte se objevovat, že programování není jen o počítačích – je to skutečná superschopnost přivést vaše nejdivočejší nápady k životu!
+# Úvod do programovacích jazyků a moderních nástrojů pro vývojáře
-Znám ten moment, kdy používáte svoji oblíbenou aplikaci a všechno do sebe perfektně zapadne? Když kliknete na tlačítko a stane se něco naprosto magického, co vás přiměje říct „wow, jak to DĚLALI?“ No, někdo přesně jako vy – pravděpodobně sedící ve své oblíbené kavárně ve 2 ráno s třetím espressem – napsal kód, který tu magii vytvořil. A teď vás čeká něco, co vám úplně vyrazí dech: na konci této lekce nejen pochopíte, jak to udělali, ale budete přímo chtít to vyzkoušet sami!
+Ahoj, budoucí vývojáři! 👋 Můžu ti říct něco, co mi pokaždé cestou mrazí v zádech? Právě se chystáš objevit, že programování není jen o počítačích – je to o tom mít skutečné superschopnosti přivést k životu své nejdivočejší nápady!
-Podívejte, chápu, že programování může být zatím zastrašující. Když jsem začínal já, upřímně jsem si myslel, že musíte být nějací matematičtí géniové nebo kódovat už od pěti let. Ale co mi úplně změnilo pohled: programování je přesně jako naučit se konverzovat v novém jazyce. Začnete „ahoj“ a „děkuji“, pak si objednáváte kávu a než se nadějete, vedete hluboké filozofické debaty! Akorát v tomto případě konverzujete s počítači a upřímně? Jsou to ti nejtrpělivější konverzační partneři na světě – nikdy vás nekritizují za chyby a vždycky jsou nadšení to zkusit znovu!
+Znáš ten moment, kdy používáš svoji oblíbenou aplikaci a vše na sebe perfektně navazuje? Když ťukneš na tlačítko a stane se něco naprosto kouzelného, co tě nechá říct „wow, jak to udělali?“ No, někdo přesně jako ty – pravděpodobně sedí ve své oblíbené kavárně ve 2 ráno u třetího espressa – napsal kód, který to kouzlo stvořil. A teď přijde to, co ti rozum vyrazí: na konci této lekce nejen pochopíš, jak to udělali, ale už nebudeš moct dočkat, až to zkusíš sám!
-Dnes si prozkoumáme úžasné nástroje, které činí moderní webový vývoj nejen možným, ale doopravdy návykovým. Mluvím o stejných editorech, prohlížečích a pracovních postupech, které používají vývojáři ve Netflixu, Spotify a ve vašem oblíbeném indie studiu každý den. A tady je část, která vás nadchne: většina těchto profesionálních, průmyslových standardů je úplně zdarma!
+Vidíš, chápu, že programování může teď působit zastrašujícím dojmem. Když jsem začínal, opravdu jsem si myslel, že musíš být nějaký matematik nebo programovat už od pěti let. Ale tohle mi úplně změnilo pohled: programování je přesně jako učení se mluvit v novém jazyce. Začínáš „ahoj“ a „děkuju“, pak se učíš objednat kávu a než se naděješ, vedeš hluboké filozofické diskuse! Jenže v tomto případě vedeš rozhovory s počítači, a upřímně? Jsou to nejtrpělivější konverzační partneři, jaké budeš mít – nikdy netrestají tvoje chyby a vždy se těší, že to zkusíš znovu!
+
+Dnes prozkoumáme úžasné nástroje, díky kterým není moderní webový vývoj jen možný, ale taky skutečně návykový. Mluvím o přesně těch editorech, prohlížečích a pracovních postupech, které denně používají vývojáři v Netflixu, Spotify a tvém oblíbeném nezávislém app studiu. A tady je část, která tě rozesměje radostí: většina těchto profesionálních, průmyslově standardních nástrojů je úplně zdarma!

> Sketchnote od [Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid
journey
- title Vaše dnešní cesta programováním
+ title Vaše programátorská cesta dnes
section Objevování
Co je programování: 5: You
Programovací jazyky: 4: You
Přehled nástrojů: 5: You
- section Prozkoumávání
+ section Prozkoumat
Editory kódu: 4: You
- Prohlížeče a DevTools: 5: You
+ Prohlížeče a vývojářské nástroje: 5: You
Příkazový řádek: 3: You
section Procvičování
- Detektiv jazyků: 4: You
- Průzkum nástrojů: 5: You
+ Jazykový detektiv: 4: You
+ Prozkoumání nástrojů: 5: You
Spojení s komunitou: 5: You
```
-## Podíváme se, co už umíte!
+## Podívejme se, co už víš!
-Než se pustíme do zábavy, jsem zvědavý – co už o světě programování víte? A pokud při pohledu na tyto otázky myslíte „nemám o tom absolutně žádné ponětí,“ vůbec nevadí, je to perfektní! To znamená, že jste na přesně správném místě. Považujte tento kvíz za rozcvičku před tréninkem – jen prostě rozehříváme mozkové svaly!
+Než se pustíme do zábavy, zajímá mě – co už o programování víš? A poslouchej, pokud na tyto otázky koukáš a myslíš si „nemám o tom vůbec žádnou představu,“ to není jen v pořádku, to je perfektní! To znamená, že jsi přesně tam, kde máš být. Považuj tento kvíz za rozcvičku před cvičením – jen zahříváme mozkové svaly!
-[Vyplňte předběžný kvíz](https://forms.office.com/r/dru4TE0U9n?origin=lprLink)
+[Vyplň si kvíz před lekcí](https://ff-quizzes.netlify.app/web/)
-## Dobrodružství, na které se společně vydáme
+## Dobrodružství, na které se spolu vydáme
-Dobře, upřímně jsem celý nadšený z toho, co dnes budeme objevovat! Fakt, rád bych viděl vaši tvář, až vám některé z těchto konceptů začnou dávat smysl. Tady je neuvěřitelná cesta, na kterou se společně vydáme:
+Dobře, skutečně se nemohu dočkat, co dnes prozkoumáme! Opravdu, přál bych si vidět tvůj výraz, až ti některé z těch konceptů dojdou. Tady je ta úžasná cesta, na kterou se spolu vydáme:
-- **Co programování vlastně je (a proč je to ta nejúžasnější věc!)** – Objevíme, jak kód je doslova neviditelná magie, která pohání vše kolem vás, od budíku, který nějak ví, že je pondělí ráno, až po algoritmus, který perfektně vybírá vaše doporučení na Netflixu
-- **Programovací jazyky a jejich úžasné osobnosti** – Představte si párty, kde každý má úplně jiné superschopnosti a způsoby řešení problémů. Takový je svět programovacích jazyků – a vy se s nimi budete rádi seznamovat!
-- **Základní stavební kameny, které vytvářejí digitální magii** – Představte si to jako ultimátní kreativní LEGO sadu. Jakmile pochopíte, jak tyto kousky do sebe zapadají, uvědomíte si, že můžete skutečně postavit cokoli, co vám přijde na mysl
-- **Profesionální nástroje, díky kterým se budete cítit, jako byste právě dostali kouzelnickou hůlku** – Nezveličuji – tyto nástroje vám skutečně dají pocit superhrdiny a ta nejlepší část? Jsou to ty stejné, které používají profíci!
+- **Co vlastně programování je (a proč je to ta nejvíc cool věc vůbec!)** – Objistíme si, jak je kód doslova neviditelné kouzlo pohánějící všechno kolem tebe, od budíku, který nějak ví, že je pondělí ráno, až po algoritmus, který perfektně vyladí tvoje Netflix doporučení
+- **Programovací jazyky a jejich úžasné osobnosti** – Představ si, že přijdeš na párty, kde každý má úplně jiné superschopnosti a způsoby řešení problémů. Takový je svět programovacích jazyků a ty si je zamiluješ!
+- **Základní stavební kameny, které dělají digitální magii** – Považuj je za ultimátní kreativní LEGO sadu. Jakmile pochopíš, jak tyto části zapadají, uvědomíš si, že můžeš doslova postavit cokoli, co si vymyslíš
+- **Profesionální nástroje, které tě nechají cítit, jako bys dostal kouzelnickou hůlku** – Ne, to není přehánění – tyto nástroje tě opravdu donutí cítit se jako mág, a ta nejlepší část? Jsou to ty samé, které používají profíci!
-> 💡 **Tady je věc**: ani nepřemýšlejte o tom, že byste si to dnes všechno měli zapamatovat! Teď chci, abyste pocítili ten jiskřivý zájem o to, co je možné. Detaily vám zůstávají přirozeně, když budeme spolu cvičit – takto se skutečně učíte!
+> 💡 **Něco k zapamatování:** Nemysli si, že dnes musíš všechno naučit nazpaměť! Teď chci, aby sis jen zapálil tu jiskru vzrušení z toho, co je možné. Detaily ti budou přirozeně ulehávat do paměti při společném praktickém procvičování – takhle skutečné učení funguje!
-> Tuto lekci si můžete projít i na [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
+> Tuto lekci můžeš absolvovat i na [Microsoft Learn](https://learn.microsoft.com/en-us/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
-## Co vlastně *je* programování?
+## Tak co to vlastně *je* programování?
-Dobře, pojďme na tu zásadní otázku: co je programování doopravdy?
+Dobře, pojďme se podívat na otázku za milion dolarů: co je to programování, opravdu?
-Povím vám příběh, který mi úplně změnil pohled na to. Minulý týden jsem se snažil vysvětlit mámě, jak používat náš nový dálkový ovladač od chytré televize. Přistihl jsem se, jak říkám věci jako „Stiskni červené tlačítko, ale ne to velké červené, to malé vlevo... ne, vaši druhou levou... dobře, drž ho dvě vteřiny, ne jednu, ne tři...“ Zní to povědomě? 😅
+Dám ti příběh, který mi úplně změnil, jak o tom přemýšlím. Minulý týden jsem se snažil vysvětlit mamince, jak používat dálkový ovladač na naší nové chytré televizi. Přistihl jsem se, jak říkám věci jako „Stiskni červené tlačítko, ale ne to velké červené, malé červené vlevo... ne, tvoje druhá levá... dobrá, teď drž dvě sekundy, ne jednu, ne tři...“ Zní to povědomě? 😅
-To je programování! Je to umění dávat velmi detailní, krok za krokem instrukce něčemu, co je mocné, ale potřebuje všechno přesně vyspecifikované. Akorát místo toho, abyste vysvětlovali mámě (která může zeptat „které červené tlačítko?!“), vysvětlujete počítači (který prostě udělá přesně to, co mu řeknete, i když to není úplně, co jste mysleli).
+Tohle je programování! Je to umění dávat opravdu detailní, krok za krokem instrukce něčemu, co je velmi výkonné, ale potřebuje, aby všechno bylo přesně vysvětleno. Jenže místo toho, abys to vysvětloval mamince (která může říct „které červené tlačítko?!“), vysvětluješ to počítači (který prostě dělá přesně to, co mu řekneš, i když to není úplně to, co jsi myslel).
-Co mě nadchlo, když jsem tohle poprvé pochopil: počítače jsou vlastně na základní úrovni docela jednoduché. Rozumí doslova jen dvěma věcem – 1 a 0, což je v podstatě „ano“ a „ne“ nebo „zapnuto“ a „vypnuto.“ To je vše! Ale tady nastává ta magie – nemusíme mluvit v jedničkách a nulách, jako v Matrixu. To jsou **programovací jazyky**, které nám pomáhají. Jsou jako nejlepší překladatel světa, který vezme vaše úplně normální lidské myšlenky a převede je do počítačového jazyka.
+Když jsem to poprvé pochopil, úplně mi to zmátlo hlavu: počítače jsou ve své podstatě vlastně docela jednoduché. Rozumí jen dvěma věcem – 1 a 0, což je v podstatě „ano“ a „ne“ nebo „zapnuto“ a „vypnuto.“ To je všechno! Ale tady přichází kouzlo – nemusíme mluvit v 1 a 0 jako bychom byli ve filmu Matrix. Právě proto tu jsou **programovací jazyky**. Jsou jako nejlepší překladatel světa, který vezme tvoje úplně normální lidské myšlenky a převede je do počítačové řeči.
-A tady je něco, co mi dělá husí kůži každé ráno, když se probouzím: doslova *všechno* digitální ve vašem životě začalo u někoho přesně jako jste vy, pravděpodobně sedícího v pyžamu s šálkem kávy a píšícího kód na notebooku. Ten Instagram filtr, který vás nechá vypadat dokonale? Někdo napsal ten kód. Doporučení, které vás zavedlo k vaší nové oblíbené písničce? Vývojář vytvořil ten algoritmus. Aplikace, která pomáhá rozdělit účet za večeři s přáteli? Jo, někdo si řekl „tohle je otravné, to zkusím opravit“ a... udělal to!
+A teď přijde něco, co mi každý den ráno skutečně dává husí kůži: doslova *všechno* digitální v tvém životě začalo někým přesně jako jsi ty, pravděpodobně v pyžamu s šálkem kávy, který píše kód na svém notebooku. Ten Instagram filtr, který tě dělá dokonalým? Někdo ho naprogramoval. Doporučení, které tě dovedlo k nové oblíbené písničce? Vývojář vytvořil ten algoritmus. Aplikace, která ti pomáhá rozdělit účet za večeři s přáteli? Jo, někdo si řekl „to je otravné, tohle opravím“ a pak… taky udělal!
-Když se naučíte programovat, neosvojujete si jen novou dovednost – stáváte se součástí úžasné komunity řešitelů problémů, kteří každý den přemýšlejí: „Co kdybych mohl postavit něco, co někomu zlepší den alespoň trochu?“ Opravdu, existuje něco lepšího?
+Když se naučíš programovat, nezískáš jen novou dovednost – stáváš se součástí úžasné komunity řešitelů problémů, kteří denně přemýšlejí: „Co kdybych mohl postavit něco, co někomu zlepší den alespoň trochu?“ Upřímně, je něco lepšího než tohle?
-✅ **Zajímavý úkol**: Najděte si, kdo myslíte, že byl první programátor na světě? Dám vám nápovědu: možná to není ten, koho čekáte! Příběh této osoby je naprosto fascinující a ukazuje, že programování vždycky bylo o kreativním hledání řešení a přemýšlení mimo zaběhnuté šablony.
+✅ **Zábavná fakta:** Když budeš mít chvilku, mrkni na tohle – kdo byl podle tebe první programátor na světě? Mám nápovědu: nemusí to být ten, koho očekáváš! Příběh této osoby je fascinující a ukazuje, že programování vždycky bylo o kreativním řešení problémů a myšlení mimo zaběhnuté cesty.
-### 🧠 **Jak se cítíte?**
+### 🧠 **Jak se nyní cítíš?**
-**Chvilku se zamyslete:**
-- Dává vám teď smysl představa „dávat počítačům instrukce“?
-- Umíte si představit denní úkol, který byste chtěli automatizovat pomocí programování?
-- Jaké otázky se vám honí hlavou ohledně celého toho programování?
+**Zastav se a zamysli:**
+- Dává ti teď smysl představa „dávání pokynů počítačům“?
+- Napadá tě nějaký každodenní úkol, který bys chtěl pomocí programování automatizovat?
+- Jaké otázky tě ohledně programování napadají?
-> **Pamatujte**: Je naprosto normální, pokud některé koncepty zatím nejsou úplně jasné. Učení programování je jako učení nového jazyka – mozek potřebuje čas na vybudování nových neuronových spojů. Děláte to skvěle!
+> **Pamatuj:** Je naprosto normální, pokud ti něco teď připadá matoucí. Učení programování je jako učení nového jazyka – trvá, než si mozek vybuduje nové spojení. Děláš to skvěle!
-## Programovací jazyky jsou jako různé druhy magie
+## Programovací jazyky jsou jako různé druhy kouzel
-Dobře, tohle možná bude znít divně, ale vydržte se mnou – programovací jazyky jsou hodně jako různé hudební styly. Přemýšlejte o tom: máte jazz, který je hladký a improvizační, rock, který je silný a přímý, klasiku, co je elegantní a strukturovaná, a hip-hop, který je kreativní a expresivní. Každý styl má svou atmosféru, svoji komunitu nadšených fanoušků a každý je perfektní pro jiné nálady a příležitosti.
+Dobře, zní to asi divně, ale vydrž – programovací jazyky jsou hodně podobné různým hudebním žánrům. Přemýšlej: máš jazz, který je hladký a improvizační, rock, který je silný a přímý, klasiku, která je elegantní a strukturovaná, a hip-hop, který je kreativní a expresivní. Každý styl má svoji atmosféru, svoji komunitu zapálených fanoušků a každý je perfektní pro různé nálady a příležitosti.
-Programovací jazyky fungují stejně! Nechtěli byste používat stejný jazyk na tvorbu zábavné mobilní hry jako na zpracování obřího množství klimatických dat, stejně jako byste nehráli death metal při józe (no aspoň většinou ne! 😄).
+Programovací jazyky fungují přesně stejně! Nepoužil bys stejný jazyk na vývoj zábavné mobilní hry, jaký bys použil na zpracování obrovského množství klimatických dat, stejně jako bys nehrál death metal na hodině jógy (no, většinou ne! 😄).
-Ale to, co mi pořád vyrazí dech, je tohle: ty jazyky jsou jako mít po boku nejtrpělivějšího a nejbystřejšího tlumočníka na světě. Můžete vyjádřit své myšlenky způsobem, který je přirozený vaší lidské mysli, a on zvládne veškerou neuvěřitelně složitou práci s překladem do jedniček a nul, které počítače skutečně „mluví“. Je to jako mít kamaráda, který dokonale ovládá oba jazyky – „lidskou kreativitu“ i „počítačovou logiku“ – a nikdy se neunaví, nepotřebuje pauzu na kávu a nikdy se na vás nezlobí, když se ptáte stejnou otázku dvakrát!
+Ale co mi absolutně vždycky vyrazí dech: tyto jazyky jsou jako nejtrpělivější, nejbystřejší tlumočník na světě, který sedí vedle tebe. Můžeš vyjádřit své myšlenky způsobem, který je pro tvůj lidský mozek přirozený, a oni zvládnou všechno to neuvěřitelně složité přeložení do jedniček a nul, které počítače skutečně „mluví“. Je to jako mít přítele, který perfektně ovládá „lidskou kreativitu“ i „počítačovou logiku“ – a nikdy se neunaví, nikdy nepotřebuje přestávky na kafe a nikdy tě neodsoudí za to, že se ptáš dvakrát!
### Oblíbené programovací jazyky a jejich použití
```mermaid
mindmap
root((Programovací jazyky))
- Vývoj webu
+ Webový vývoj
JavaScript
Frontendová magie
Interaktivní webové stránky
TypeScript
JavaScript + typy
Podnikové aplikace
- Data a AI
+ Data & AI
Python
Datová věda
Strojové učení
@@ -113,7 +113,7 @@ mindmap
Systémy a výkon
C++
Hry
- Kritický výkon
+ Výkonová kritická
Rust
Bezpečnost paměti
Systémové programování
@@ -123,37 +123,37 @@ mindmap
```
| Jazyk | Nejlepší pro | Proč je populární |
|----------|----------|------------------|
-| **JavaScript** | Webový vývoj, uživatelská rozhraní | Běží v prohlížečích a pohání interaktivní weby |
-| **Python** | Data science, automatizace, AI | Snadné čtení a učení, silné knihovny |
-| **Java** | Podnikové aplikace, Android aplikace | Platformně nezávislý, robustní pro velké systémy |
-| **C#** | Windows aplikace, vývoj her | Silná podpora Microsoft ekosystému |
-| **Go** | Cloudové služby, backend systémy | Rychlý, jednoduchý, navržený pro moderní výpočty |
+| **JavaScript** | Vývoj webu, uživatelská rozhraní | Funguje v prohlížečích a pohání interaktivní weby |
+| **Python** | Data science, automatizace, AI | Snadno čitelný a učenlivý, silné knihovny |
+| **Java** | Podnikové aplikace, Android aplikace | Nezávislý na platformě, robustní pro velké systémy |
+| **C#** | Windows aplikace, vývoj her | Silná podpora v Microsoft ekosystému |
+| **Go** | Cloudové služby, backend systémy | Rychlý, jednoduchý, navržený pro moderní výpočetní prostředí |
-### Jazyky na vysoké úrovni vs. nízké úrovni
+### Vyšší vs. nižší úroveň jazyků
-Dobře, tohle byl opravdu koncept, který mě úplně zmátl na začátku, tak sdílím analogii, která to konečně rozsvítila i mě – doufám, že pomůže i vám!
+Dobře, upřímně to byl koncept, který mi úplně rozbil mozek, když jsem začínal, tak ti povím analogii, která mi to konečně otevřela – doufám, že ti taky pomůže!
-Představte si, že jste v cizí zemi, kde neumíte jazyk, a zoufale hledáte nejbližší záchod (to jsme všichni zažili, že? 😅):
+Představ si, že cestuješ do země, kde neumíš jazyk, a zoufale potřebuješ najít nejbližší záchod (to jsme všichni zažili, že jo? 😅):
-- **Programování nízké úrovně** je jako naučit se místní dialekt tak dobře, že si můžete povídat s babičkou prodávající ovoce na rohu pomocí kulturních narážek, místní slangu a vtipů, kterým rozumí jen někdo, kdo tam vyrostl. Super impresivní a neuvěřitelně efektivní… pokud jste fluent! Ale dost náročné, když jen chcete najít záchod.
+- **Programování na nízké úrovni** je jako naučit se místní dialekt tak dobře, že můžeš mluvit s babičkou prodávající ovoce na rohu, používat kulturní odkazy, místní slang a vtipy, kterým rozumí jen místní. Super působivé a nesmírně efektivní... pokud jsi plynulý! Ale docela matoucí, když se prostě snažíš najít záchod.
-- **Programování vysoké úrovně** je jako mít úžasného místního kamaráda, který vás prostě chápe. Můžete říct „Opravdu potřebuji najít toaletu“ v obyčejné angličtině a on zařídí celý kulturní překlad a dá vám instrukce tak, že jim rozumí i vaše netypická hlava.
+- **Programování na vysoké úrovni** je jako mít úžasného místního přítele, který ti rozumí. Můžeš říct „Potřebuju opravdu najít toaletu“ jednoduše v angličtině a on překládá všechny kulturní nuance a dává ti směrovky srozumitelné pro tvůj ne-místní mozek.
-V programovacích termínech:
-- **Jazyky nízké úrovně** (například Assembly nebo C) vám umožní mít neuvěřitelně detailní rozhovor s fyzickým hardwarem počítače, ale musíte myslet jako stroj, což je… no, řekněme, že to je pořádná změna myšlení!
-- **Jazyky vysoké úrovně** (jako JavaScript, Python nebo C#) vám dovolí myslet jako člověk, zatímco ony se starají o veškerou strojovou řeč v pozadí. Navíc mají úžasné přívětivé komunity plné lidí, kteří si pamatují, jaké to bylo být nováčky, a skutečně chtějí pomoci!
+Ve světě programování:
+- **Jazyky na nízké úrovni** (jako Assembly nebo C) ti umožňují mluvit velmi detailně přímo s hardwarem počítače, ale musíš myslet jako stroj, což... no, řekněme, že je to velká změna myšlení!
+- **Jazyky na vysoké úrovni** (jako JavaScript, Python nebo C#) ti umožní myslet jako člověk a ony se postarají o veškerý strojový kód za oponou. Navíc mají nesmírně přívětivé komunity plné lidí, kteří si pamatují, jaké to je být nováček, a skutečně chtějí pomáhat!
-Hádejte, které vám doporučím začít? 😉 Jazyky vysoké úrovně jsou jako pomocná kolečka na kole, která nikdy nechcete sundat, protože celý zážitek je díky nim mnohem příjemnější!
+Hádej, které ti navrhnu začít používat? 😉 Jazyky na vysoké úrovni jsou jako pomocná kolečka na kole, která vlastně nikdy nechceš sundat, protože ti celý zážitek tolik usnadní!
```mermaid
flowchart TB
- A["👤 Lidská myšlenka: 'Chci vypočítat Fibonacciho čísla'"] --> B{Vyberte úroveň jazyka}
+ A["👤 Lidská myšlenka: 'Chci spočítat Fibonacciho čísla'"] --> B{Vybrat úroveň jazyka}
B -->|Vyšší úroveň| C["🌟 JavaScript/Python Snadné čtení a psaní"]
- B -->|Nižší úroveň| D["⚙️ Assembly/C Přímá kontrola hardwaru"]
+ B -->|Nižší úroveň| D["⚙️ Assembler/C Přímá kontrola hardwaru"]
- C --> E["📝 Napište: fibonacci(10)"]
- D --> F["📝 Napište: mov r0,#00 sub r0,r0,#01"]
+ C --> E["📝 Napiš: fibonacci(10)"]
+ D --> F["📝 Napiš: mov r0,#00 sub r0,r0,#01"]
E --> G["🤖 Porozumění počítače: Překladač řeší složitost"]
F --> G
@@ -164,15 +164,15 @@ flowchart TB
style D fill:#fff3e0
style H fill:#e8f5e8
```
-### Ukážu vám, proč jsou jazyky vysoké úrovně tak přátelské
+### Ukážu ti, proč jsou jazyky na vysoké úrovni tak přátelské
-Dobře, chystám se vám ukázat něco, co perfektně demonstruje, proč jsem si zamiloval jazyky vysoké úrovně, ale nejdřív – potřebuji, abyste mi něco slíbili. Když uvidíte první ukázku kódu, nezpanikařte! Má vypadat trochu zastrašujícím dojmem. To je přesně ten bod, který chci zdůraznit!
+Dobře, ukážu ti něco, co perfektně ukazuje, proč jsem si zamiloval jazyky na vysoké úrovni, ale nejdřív – slib mi něco. Až uvidíš ten první kódový příklad, nepanikař! Má vypadat zastrašujícím dojmem. To je přesně ten bod, který chci ukázat!
-Podíváme se na stejný úkol napsaný ve dvou úplně odlišných stylech. Oba vytvoří tzv. Fibonacciho posloupnost – nádherný matematický vzor, kde je každé číslo součtem dvou předchozích: 0, 1, 1, 2, 3, 5, 8, 13... (Zajímavost: tenhle vzor najdete doslova všude v přírodě – spirály slunečnicových semen, vzory šišek, dokonce i v tom, jak se tvoří galaxie!)
+Podíváme se na úplně stejný úkol napsaný ve dvou úplně odlišných stylech. Oba vytvářejí tzv. Fibonacciho posloupnost – je to krásný matematický vzor, kde každé číslo je součtem dvou předchozích: 0, 1, 1, 2, 3, 5, 8, 13... (Zábavná poznámka: tento vzor najdeš doslova všude v přírodě – spirály na semenech slunečnice, vzory šišek, dokonce i ve formování galaxií!)
-Připraveni vidět rozdíl? Jdeme na to!
+Připraven na rozdíl? Jdeme na to!
-**Jazyk vysoké úrovně (JavaScript) – přátelský k lidem:**
+**Jazyk na vysoké úrovni (JavaScript) – Přátelský pro člověka:**
```javascript
// Krok 1: Základní nastavení Fibonacciho posloupnosti
@@ -184,28 +184,28 @@ console.log('Fibonacci sequence:');
```
**Co tento kód dělá:**
-- **Deklaruje** konstantu určující, kolik Fibonacciho čísel chceme vygenerovat
-- **Inicializuje** dvě proměnné pro sledování současného a dalšího čísla v posloupnosti
-- **Nastavuje** počáteční hodnoty (0 a 1), které definují Fibonacciho vzor
-- **Zobrazuje** hlavičku pro identifikaci našeho výstupu
+- **Deklaruje** konstantu, která určuje, kolik Fibonacciho čísel chceme vygenerovat
+- **Inicializuje** dvě proměnné pro sledování aktuálního a dalšího čísla v posloupnosti
+- **Nastaví** počáteční hodnoty (0 a 1), které definují Fibonacciho vzor
+- **Zobrazí** nadpis, aby identifikoval naši výstupní zprávu
```javascript
-// Krok 2: Vygenerujte posloupnost pomocí smyčky
+// Krok 2: Vygenerujte sekvenci pomocí smyčky
for (let i = 0; i < fibonacciCount; i++) {
console.log(`Position ${i + 1}: ${current}`);
- // Vypočítejte další číslo v posloupnosti
+ // Vypočítejte další číslo v sekvenci
const sum = current + next;
current = next;
next = sum;
}
```
-**Co se zde děje podrobněji:**
+**Rozbor, co se zde děje:**
- **Prochází** každou pozici v posloupnosti pomocí cyklu `for`
-- **Zobrazuje** každé číslo s jeho pozicí využitím formátování šablonových řetězců
-- **Vypočítává** další Fibonacciho číslo sčítáním současné a další hodnoty
-- **Aktualizuje** sledovací proměnné pro přechod na další iteraci
+- **Zobrazuje** každé číslo s jeho pozicí pomocí formátování šablony
+- **Vypočítá** další Fibonacciho číslo sčítáním aktuálního a dalšího čísla
+- **Aktualizuje** sledovací proměnné pro přechod k další iteraci
```javascript
// Krok 3: Moderní funkcionální přístup
@@ -225,12 +225,12 @@ console.log(fibSequence);
```
**Výše jsme:**
-- **Vytvořili** znovupoužitelnou funkci pomocí moderní syntaxi šipek (arrow function)
-- **Sestavili** pole pro uložení celé posloupnosti místo zobrazení po jednom
-- **Použili** indexování pole pro výpočet každého nového čísla ze starších
-- **Vrátili** celou posloupnost pro flexibilní použití v dalších částech programu
+- **Vytvořili** znovupoužitelnou funkci pomocí moderní syntaxe šipkových funkcí
+- **Postavili** pole pro uložení celé posloupnosti místo zobrazení po jednom
+- **Použili** indexování pole k výpočtu každého nového čísla z předchozích hodnot
+- **Vrátili** celou posloupnost pro flexibilní použití v jiných částech programu
-**Jazyk nízké úrovně (ARM Assembly) – přátelský k počítači:**
+**Jazyk na nízké úrovni (ARM Assembly) – Přátelský pro počítač:**
```assembly
area ascen,code,readonly
@@ -257,59 +257,60 @@ back add r0,r1
end
```
-Všimněte si, jak verze v JavaScriptu čte téměř jako instrukce v angličtině, zatímco verze v Assembly používá záhadné příkazy, které přímo řídí procesor počítače. Oba úkoly splní stejný úkol, ale jazyk vysoké úrovně je pro lidi mnohem snadněji pochopitelný, psaný a udržovatelný.
+Všimni si, jak verze v JavaScriptu čte téměř jako anglické pokyny, zatímco Assembly verze používá záhadné příkazy, které přímo ovládají procesor počítače. Oba provádějí přesně ten samý úkol, ale jazyk na vysoké úrovni je mnohem snazší pro lidi pochopit, napsat i udržovat.
-**Klíčové rozdíly, které si všimnete:**
-- **Čitelnost**: JavaScript používá popisné názvy jako `fibonacciCount`, zatímco Assembly používá nesrozumitelné označení jako `r0`, `r1`
-- **Komentáře**: Vysokoúrovňové jazyky podporují vysvětlující komentáře, které činí kód samodokumentujícím
+**Klíčové rozdíly, které si všimneš:**
+- **Čitelnost**: JavaScript používá popisné názvy jako `fibonacciCount`, zatímco Assembly používá kryptické označení jako `r0`, `r1`
+- **Komentáře**: Vyšší programovací jazyky podporují vysvětlující komentáře, které činí kód samo-dokumentujícím
- **Struktura**: Logický tok JavaScriptu odpovídá tomu, jak lidé přemýšlejí o problémech krok za krokem
-- **Údržba**: Aktualizace verze JavaScriptu pro různé požadavky je přímá a jasná
+- **Údržba**: Aktualizace verze v JavaScriptu pro různé požadavky je jednoduchá a přehledná
+
+✅ **O Fibonacciho posloupnosti**: Tento naprosto nádherný číselný vzorec (kde každé číslo je součtem dvou předchozích: 0, 1, 1, 2, 3, 5, 8...) se objevuje doslova *všude* v přírodě! Najdete ho ve spirálách slunečnic, ve vzorech šišek, v křivkách ulit chobotnic a dokonce i ve způsobu růstu větví stromů. Je opravdu ohromující, jak nám matematika a kód mohou pomoci pochopit a znovu vytvořit vzory, které příroda používá k tvoření krásy!
-✅ **O Fibonacciho posloupnosti**: Tento naprosto nádherný číselný vzorec (kde každé číslo se rovná součtu dvou předchozích: 0, 1, 1, 2, 3, 5, 8...) se doslova *vyskytuje všude* v přírodě! Najdete ho ve spirálách slunečnic, vzorcích šišek, způsobu, jak křivky ulit náutila a dokonce i ve způsobu růstu větví stromů. Je to docela úžasné, jak nám matematika a kód mohou pomoci pochopit a znovu vytvořit vzory, které příroda používá k tvorbě krásy!
-## Základní stavební kameny, které vytvářejí kouzlo
+## Základní stavební kameny magie
-Dobře, teď když jste viděli, jak programovací jazyky vypadají v akci, pojďme rozložit základní kousky, které tvoří doslova každý program, který kdy byl napsán. Považujte je za základní ingredience ve vašem oblíbeném receptu – jakmile pochopíte, co každý dělá, budete schopni číst a psát kód téměř v jakémkoli jazyce!
+Dobře, nyní když jste viděli, jak vypadají programovací jazyky v akci, pojďme rozložit základní části, které tvoří doslova každý napsaný program. Představte si tyto části jako základní ingredience ve vašem oblíbeném receptu – jakmile pochopíte, co každá z nich dělá, budete schopni číst a psát kód prakticky v jakémkoli jazyce!
-Je to něco jako učení se gramatice programování. Pamatujete si, jak jste se ve škole učili o podstatných jménech, slovesech a jak skládat věty dohromady? Programování má svou vlastní verzi gramatiky a upřímně je mnohem logičtější a shovívavější než anglická gramatika byla! 😄
+Je to trochu jako naučit se gramatiku programování. Pamatujete si ze školy, jak jste se učili o podstatných jménech, slovesech a jak tvořit věty? Programování má svou vlastní verzi gramatiky, a upřímně, je mnohem logičtější a shovívavější než anglická gramatika! 😄
-### Příkazy: Krok za krokem pokyny
+### Příkazy: Pokyny krok za krokem
-Začněme s **příkazy** – ty jsou jako jednotlivé věty v konverzaci s vaším počítačem. Každý příkaz říká počítači, aby udělal jednu konkrétní věc, podobně jako když dáváte směrování: „Zahni tady vlevo,“ „Zastav na červenou,“ „Zaparkuj na tom místě.“
+Začněme s **příkazy** – ty jsou jako jednotlivé věty v konverzaci s vaším počítačem. Každý příkaz říká počítači, aby udělal jednu konkrétní věc, podobně jako dávání pokynů: „Zahněte tady vlevo,“ „Zastavte na červené,“ „Zaparkujte na tomto místě.“
-Co mám na příkazech rád, je to, jak jsou obvykle čitelné. Podívejte se na to:
+Co na příkazech miluji, je jejich obvykle vysoká čitelnost. Podívejte se na to:
```javascript
-// Základní příkazy, které vykonávají jednotlivé akce
+// Základní příkazy, které provádějí jednotlivé akce
const userName = "Alex";
console.log("Hello, world!");
const sum = 5 + 3;
```
-**Toto kód dělá:**
+**Co tento kód dělá:**
- **Deklaruje** konstantní proměnnou pro uložení jména uživatele
-- **Zobrazí** uvítací zprávu do konzole
-- **Spočítá** a uloží výsledek matematické operace
+- **Zobrazuje** uvítací zprávu v konzoli
+- **Vypočítá** a uloží výsledek matematické operace
```javascript
-// Výrazy, které interagují s webovými stránkami
+// Příkazy, které interagují s webovými stránkami
document.title = "My Awesome Website";
document.body.style.backgroundColor = "lightblue";
```
-**Krok za krokem se děje toto:**
-- **Upraví** titulek webové stránky, který se zobrazuje na kartě v prohlížeči
-- **Změní** barvu pozadí celého těla stránky
+**Krok za krokem, co se děje:**
+- **Upravuje** titul webové stránky, který se zobrazuje na záložce prohlížeče
+- **Mění** barvu pozadí celého těla stránky
### Proměnné: Paměťový systém vašeho programu
-Dobře, **proměnné** jsou upřímně jeden z mých nejoblíbenějších konceptů učit, protože jsou tak podobné věcem, které už každý den používáte!
+Dobře, **proměnné** jsou upřímně jedno z mých absolutně nejoblíbenějších pojmů k výuce, protože jsou tak podobné věcem, které každý den používáte!
-Zamyslete se na chvíli nad seznamem kontaktů ve vašem telefonu. Nezapamatujete si čísla na všechny – místo toho uložíte „Maminka,“ „Nejlepší přítel“ nebo „Pizzerie, která rozváží do 2 ráno“ a necháte telefon pamatovat si ta skutečná čísla. Proměnné fungují úplně stejně! Jsou to jako označené kontejnery, kde váš program může uložit informace a později je vyhledat pomocí smysluplného jména.
+Přemýšlejte o kontaktu ve svém telefonu. Nepamatujete si všechny telefonní čísla – místo toho uložíte „Máma“, „Nejlepší kamarád“ nebo „Pizza, co rozváží do 2 ráno“ a necháte telefon zapamatovat si ta čísla. Proměnné fungují úplně stejně! Jsou jako označené nádoby, kam může váš program uložit informace a později je získat pomocí názvu, který opravdu dává smysl.
-Co je opravdu skvělé: proměnné se mohou měnit, zatímco váš program běží (odtud název „proměnlivé“ – vidíte, co udělali?). Stejně jako můžete aktualizovat ten kontakt na pizzerii, když objevíte něco lepšího, proměnné se mohou změnit, když váš program získá nové informace nebo když se situace změní!
+To, co je opravdu skvělé: proměnné se mohou měnit, zatímco váš program běží (odtud název „proměnná“ – vidíte, co udělali?). Stejně jako můžete aktualizovat kontakt na pizzérii, když najdete lepší místo, proměnné lze aktualizovat, jak se program učí nové informace nebo situace se mění!
-Ukážu vám, jak to může být krásně jednoduché:
+Ukážu vám, jak krásně jednoduché to může být:
```javascript
// Krok 1: Vytváření základních proměnných
@@ -320,10 +321,10 @@ let isRaining = false;
```
**Pochopení těchto konceptů:**
-- **Uložení** neměnných hodnot do `const` proměnných (například název stránky)
-- **Použití** `let` pro hodnoty, které se mohou během programu měnit
-- **Přiřazení** různých datových typů: řetězce (text), čísla a booleany (true/false)
-- **Výběr** popisných názvů, které vysvětlují, co každá proměnná obsahuje
+- **Ukládejte** neměnné hodnoty do `const` proměnných (např. název webu)
+- **Používejte** `let` pro hodnoty, které se mohou měnit během běhu programu
+- **Přiřazujte** různé datové typy: řetězce (text), čísla, a booleovské hodnoty (true/false)
+- **Vyberte** popisné názvy, které vysvětlují, co každá proměnná obsahuje
```javascript
// Krok 2: Práce s objekty pro seskupení souvisejících dat
@@ -334,47 +335,47 @@ const weatherData = {
};
```
-**Výše jsme:**
+**V předchozím příkladu jsme:**
- **Vytvořili** objekt pro seskupení souvisejících informací o počasí
-- **Organizovali** více dat pod jedno jméno proměnné
-- **Použili** klíč-hodnota páry k jasnému označení každé informace
+- **Uspořádali** více dat pod jedním názvem proměnné
+- **Použili** páry klíč-hodnota pro jasné pojmenování každé informace
```javascript
// Krok 3: Používání a aktualizace proměnných
console.log(`${siteName}: Today is ${currentWeather} and ${temperature}°F`);
console.log(`Wind speed: ${weatherData.windSpeed} mph`);
-// Aktualizace změnitelných proměnných
+// Aktualizace proměnných, které lze měnit
currentWeather = "cloudy";
temperature = 68;
```
-**Pojďme porozumět každé části:**
-- **Zobrazit** informace pomocí šablonových literálů se syntaxí `${}`
-- **Přistupovat** k vlastnostem objektu pomocí tečkové notace (`weatherData.windSpeed`)
-- **Aktualizovat** proměnné deklarované s `let` pro odrážení měnících se podmínek
-- **Kombinovat** více proměnných k vytvoření smysluplných zpráv
+**Pojďme si vysvětlit jednotlivé části:**
+- **Zobrazujeme** informace pomocí šablonových literálů s `${}` syntaxí
+- **Přistupujeme** ke vlastnostem objektu pomocí tečkové notace (`weatherData.windSpeed`)
+- **Aktualizujeme** proměnné deklarované pomocí `let`, aby odrážely měnící se podmínky
+- **Kombinujeme** více proměnných pro vytvoření smysluplných zpráv
```javascript
-// Krok 4: Moderní destrukturalizace pro čistější kód
+// Krok 4: Moderní destrukturalizace pro čistší kód
const { location, humidity } = weatherData;
console.log(`${location} humidity: ${humidity}%`);
```
-**Co musíte vědět:**
-- **Extrahovat** specifické vlastnosti z objektů pomocí destrukturalizace přiřazení
-- **Vytvářet** nové proměnné automaticky se stejnými názvy jako klíče objektu
-- **Zjednodušit** kód vyhnutím se opakované tečkové notaci
+**Co je potřeba vědět:**
+- **Extrahujte** specifické vlastnosti z objektů pomocí destrukturace
+- **Vytvářejte** nové proměnné automaticky se stejnými názvy jako klíče objektu
+- **Zjednodušte** kód vyhýbáním se opakovanému používání tečkové notace
-### Řízení toku: Naučte svůj program myslet
+### Řízení toku: Učíte svůj program myslet
-Dobře, tady programování začne být naprosto ohromující! **Řízení toku** je v podstatě učení vašeho programu, jak dělat chytrá rozhodnutí, přesně jako to děláte vy každý den bez přemýšlení.
+Dobře, tady to programování začíná být naprosto ohromující! **Řízení toku** znamená naučit svůj program dělat chytrá rozhodnutí, přesně jako vy sami každý den bez přemýšlení.
-Představte si toto: dnes ráno jste asi šli něčím jako „Když prší, vezmu si deštník. Když je zima, obléknu si bundu. Když jdu pozdě, vynechám snídani a vezmu si kávu cestou.“ Váš mozek přirozeně sleduje tuto logiku pokud-pak desítkykrát denně!
+Představte si, že dnes ráno jste asi prošli něčím jako „Pokud prší, vezmu si deštník. Pokud je zima, obléknu si bundu. Pokud jdu pozdě, přeskočím snídani a vezmu si kávu na cestu.“ Váš mozek přirozeně následuje tuto logiku "jestliže-pak" desítkykrát denně!
-Toto dělá programy inteligentními a živými místo toho, aby jen následovaly nudný, předvídatelný scénář. Mohou skutečně pohledět na situaci, vyhodnotit, co se děje, a reagovat vhodně. Je to jako dát programu mozek, který se dokáže přizpůsobit a vybírat si!
+To dělá programy chytřejší a živější místo toho, aby jen následovaly nudný, předvídatelný scénář. Skutečně mohou situaci posoudit, vyhodnotit, co se děje, a reagovat vhodným způsobem. Je to jako dát programu mozek, který se dokáže přizpůsobit a dělat volby!
-Chcete vidět, jak krásně to funguje? Ukážu vám to:
+Chcete vidět, jak to krásně funguje? Ukážu vám to:
```javascript
// Krok 1: Základní podmíněná logika
@@ -388,11 +389,11 @@ if (userAge >= 18) {
}
```
-**Tento kód dělá:**
-- **Zkontroluje**, zda uživatel dosáhl věku pro hlasování
-- **Provede** různé bloky kódu podle výsledku podmínky
-- **Spočítá** a zobrazí, jak dlouho ještě do způsobilosti k volbám, pokud je pod 18
-- **Poskytne** specifickou, užitečnou zpětnou vazbu pro každou situaci
+**Co tento kód dělá:**
+- **Kontroluje**, zda uživatel splňuje věkový limit pro hlasování
+- **Spouští** různé bloky kódu podle výsledku podmínky
+- **Vypočítává** a zobrazuje, za jak dlouho bude možné hlasovat, pokud je uživatel mladší 18 let
+- **Poskytuje** konkrétní a užitečnou zpětnou vazbu pro každou situaci
```javascript
// Krok 2: Více podmínek s logickými operátory
@@ -408,25 +409,25 @@ if (userAge >= 18 && hasPermission) {
}
```
-**Rozbor, co se tu děje:**
-- **Spojíme** více podmínek pomocí operátoru `&&` (a)
-- **Vytvoříme** hierarchii podmínek pomocí `else if` pro více scénářů
-- **Zpracujeme** všechny možné případy pomocí konečného `else`
-- **Poskytujeme** jasnou a praktickou zpětnou vazbu pro každou situaci
+**Co se zde děje:**
+- **Kombinuje** více podmínek pomocí operátoru `&&` (a)
+- **Vytváří** hierarchii podmínek pomocí `else if` pro více scénářů
+- **Zpracovává** všechny možné případy pomocí závěrečného příkazu `else`
+- **Poskytuje** jasnou a srozumitelnou zpětnou vazbu pro každou situaci
```javascript
-// Krok 3: Stručná podmínka s ternárním operátorem
+// Krok 3: Srozumitelná podmínka s ternárním operátorem
const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
console.log(`Status: ${votingStatus}`);
```
-**Na co si pamatovat:**
-- **Použijte** ternární operátor (`? :`) pro jednoduché dvou-variantní podmínky
-- **Napište** podmínku první, následovanou `?`, pak pravdivý výsledek, pak `:`, a nakonec nepravdivý výsledek
-- **Použijte** tento vzor, když potřebujete přiřadit hodnoty podle podmínek
+**Co si zapamatovat:**
+- **Používejte** ternární operátor (`? :`) pro jednoduché dvou možnostní podmínky
+- **Napište** nejdříve podmínku, pak `?`, následuje hodnota pro pravdu, pak `:`, a nakonec hodnota pro nepravdu
+- **Použijte** tento vzor, když potřebujete přiřadit hodnoty na základě podmínek
```javascript
-// Krok 4: Řešení více konkrétních případů
+// Krok 4: Zpracování více konkrétních případů
const dayOfWeek = "Tuesday";
switch (dayOfWeek) {
@@ -446,23 +447,23 @@ switch (dayOfWeek) {
}
```
-**Tento kód dokáže následující:**
-- **Porovná** hodnotu proměnné s více specifickými případy
-- **Seskupí** podobné případy dohromady (pracovní dny vs. víkendy)
-- **Spustí** odpovídající blok kódu, když najde shodu
+**Tento kód plní následující:**
+- **Porovnává** hodnotu proměnné s více specifickými případy
+- **Skupinuje** podobné případy dohromady (pracovní dny vs. víkendy)
+- **Spouští** odpovídající blok kódu, když najde shodu
- **Zahrnuje** `default` případ pro neočekávané hodnoty
-- **Používá** příkazy `break`, aby zabránil pokračování kódu v dalším případě
+- **Používá** příkazy `break` k zabránění pokračování kódu do dalšího případu
-> 💡 **Skutečná analogie**: Myslete na řízení toku jako na nejtrpělivější GPS na světě, která vám dává pokyny. Může říct „Pokud je na Main Street provoz, jeďte raději po dálnici. Pokud je dálnice zablokovaná stavbou, zkuste malebnou cestu.“ Programy používají stejný druh podmíněné logiky, aby inteligentně reagovaly na různé situace a vždy poskytly uživatelům nejlepší možný zážitek.
+> 💡 **Reálná analogie**: Řízení toku si představte jako nejtrpělivější GPS na světě, která vám dává pokyny. Může říct „Pokud je na Main Street dopravní zácpa, jeďte dálnicí. Pokud je dálnice zablokovaná stavbou, zvolte panoramatickou cestu.“ Programy používají přesně tento typ podmíněné logiky, aby chytře reagovaly na různé situace a vždy uživatelům poskytly co nejlepší zážitek.
-### 🎯 **Ověření konceptů: Mistrovství stavebních kamenů**
+### 🎯 **Kontrola porozumění: Ovládnutí základních stavebních prvků**
-**Podívejme se, jak na tom jste se základy:**
-- Dokážete vysvětlit rozdíl mezi proměnnou a příkazem svými slovy?
-- Zamyslete se nad reálnou situací, kdy byste použili rozhodnutí typu pokud-pak (například náš příklad s hlasováním)
-- Co vás na programovací logice nejvíc překvapilo?
+**Podívejme se, jak rozumíte základům:**
+- Dokážete vlastními slovy vysvětlit rozdíl mezi proměnnou a příkazem?
+- Vymyslete reálný příklad, kde byste použili rozhodovací konstrukci if-then (jako náš příklad s hlasováním)
+- Co vás v logice programování nejvíce překvapilo?
-**Rychlý posilovač sebevědomí:**
+**Rychlé povzbuzení:**
```mermaid
flowchart LR
A["📝 Příkazy (Instrukce)"] --> B["📦 Proměnné (Úložiště)"] --> C["🔀 Řízení toku (Rozhodnutí)"] --> D["🎉 Fungující program!"]
@@ -472,27 +473,27 @@ flowchart LR
style C fill:#2196f3
style D fill:#ff4081
```
-✅ **Co bude dál**: Budeme mít absolutní zábavu, když se do těchto konceptů ponoříme hlouběji na naší úžasné cestě spolu! Teď se jen soustřeďte na pocit vzrušení z těch všech úžasných možností před vámi. Konkrétní dovednosti a techniky přirozeně přijdou, jak budeme společně procvičovat – slibuji, že to bude mnohem zábavnější, než možná očekáváte!
+✅ **Co přijde dál**: Budeme mít absolutní radost, když se společně ponoříme hlouběji do těchto konceptů! Teď se jen soustřeďte na pocit vzrušení z nekonečných možností před vámi. Konkrétní dovednosti a techniky přijdou přirozeně, když budeme společně trénovat – slibuji, že to bude zábava, jakou jste nečekali!
## Nástroje řemesla
-Dobře, tady se upřímně začínám tak těšit, že se sotva udržím! 🚀 Půjdeme mluvit o neuvěřitelných nástrojích, které vám dají pocit, jako byste právě dostali klíče od digitální vesmírné lodi.
+Dobře, tady se opravdu nemohu ubránit nadšení! 🚀 Brzy si povíme o úžasných nástrojích, které vás přenesou do role, kdy budete mít klíče k digitálnímu vesmírnému plavidlu.
-Víte, jak má kuchař ty dokonale vyvážené nože, které jsou prodloužením jeho rukou? Nebo jak má hudebník tu jedinou kytaru, která jakmile se jí dotkne, jako by zpívala? No, vývojáři mají svoji vlastní verzi těchto magických nástrojů a tady je něco, co vás opravdu ohromí – většina z nich je úplně zdarma!
+Víte, jak má kuchař perfektně vyvážené nože, které jsou jako pokračování jeho rukou? Nebo jak má muzikant tu jednu kytaru, která zní, jakmile se jí dotkne? Vývojáři mají své vlastní verze těchto magických nástrojů, a teď přijde část, která vás opravdu ohromí – většina z nich je úplně zdarma!
-Skoro skáču na židli s nadšením, že vám je můžu ukázat, protože úplně změnily způsob, jak stavíme software. Mluvíme o asistentech pro psaní kódu poháněných umělou inteligencí (nemyslím si to!), cloudových prostředích, kde můžete stavět celé aplikace doslova odkudkoli s Wi-Fi, a ladicích nástrojích tak sofistikovaných, že jsou jako rentgenové vidění pro vaše programy.
+Těším se, že vám je ukážu, protože zcela změnily způsob, jak stavíme software. Mluvíme o asistentech pro psaní kódu poháněných umělou inteligencí (to vážně myslím!), cloudových prostředích, kde můžete tvořit celé aplikace z prakticky kdekoli s Wi-Fi, a ladicích nástrojích tak sofistikovaných, že jsou jako rentgenové vidění pro vaše programy.
-A tady je část, která mi stále dává husí kůži: nejsou to „nástroje pro začátečníky“, které rychle přerostete. Jsou to úplně stejné profesionální nástroje, které používají vývojáři ve Google, Netflixu a v tom indie vývojářském studiu, které máte rádi, právě teď. Budete se při jejich používání cítit jako fakt profíci!
+A teď část, která mě stále dojímá: to nejsou nástroje pro začátečníky, ze kterých vyrostete. Jsou to přesně ty profesionální nástroje, které používají vývojáři ve firmách jako Google, Netflix a ta nezávislá vývojářská studio, která máte rádi právě teď. S nimi se budete cítit jako opravdový profík!
```mermaid
graph TD
- A["💡 Váš nápad"] --> B["⌨️ Editor kódu (VS Code)"]
- B --> C["🌐 DevTools prohlížeče (Testování a ladění)"]
+ A["💡 Váš nápad"] --> B["⌨️ Kódový editor (VS Code)"]
+ B --> C["🌐 Nástroje prohlížeče (Testování a ladění)"]
C --> D["⚡ Příkazový řádek (Automatizace a nástroje)"]
D --> E["📚 Dokumentace (Učení a reference)"]
- E --> F["🚀 Úžasná webová aplikace!"]
+ E --> F["🚀 Skvělá webová aplikace!"]
- B -.-> G["🤖 AI Asistent (GitHub Copilot)"]
+ B -.-> G["🤖 AI asistent (GitHub Copilot)"]
C -.-> H["📱 Testování zařízení (Responzivní design)"]
D -.-> I["📦 Správci balíčků (npm, yarn)"]
E -.-> J["👥 Komunita (Stack Overflow)"]
@@ -506,103 +507,104 @@ graph TD
```
### Editory kódu a IDE: Vaši noví digitální nejlepší přátelé
-Pojďme mluvit o editorech kódu – ty se vážně chystají stát vašimi novými oblíbenými místy! Považujte je za své osobní útočiště programování, kde strávíte většinu času tvorbou a zdokonalováním svých digitálních výtvorů.
+Povíme si něco o editorech kódu – ty se brzy stanou vaším nejoblíbenějším místem na práci! Představte si je jako osobní svatyni programování, kde strávíte většinu času tvořením a vylepšováním svých digitálních výtvorů.
-Ale to, co je na moderních editorech naprosto kouzelné, je, že nejsou jen obyčejné textové editory. Jsou jako mít nejchytřejšího a nejpodpůrnějšího mentora programování, který sedí přímo vedle vás 24/7. Chytají vaše překlepy dřív, než je vůbec zaregistrujete, navrhují vylepšení, která vás nechají vypadat jako géniové, pomáhají vám pochopit, co každý kousek kódu dělá, a některé dokonce předpovídají, co chcete napsat, a nabídnou vám dokončit vaše myšlenky!
+A teď přijde to kouzlo moderních editorů: nejsou to jen fancy textové editory. Jsou to jako mít po boku nejbystřejšího, nejpodporujícího mentora programování nonstop. Chytí vaše překlepy dříve, než si jich všimnete, navrhnou vylepšení, která vás udělají za génia, pomohou vám pochopit, co každý kousek kódu dělá, a některé dokonce dokážou předpovědět, co budete chtít napsat, a nabídnout dokončení!
-Pamatuji si, když jsem poprvé objevil automatické doplňování – doslova jsem měl pocit, že žiju v budoucnosti. Začnete něco psát a editor vám řekne: „Hej, nemyslel jsi na tuto funkci, která dělá přesně to, co potřebuješ?“ Je to jako mít mentálního čtecího kamaráda při kódování!
+Pamatuji si, když jsem poprvé objevila automatické doplňování – měl jsem pocit, že žiju v budoucnosti. Začnete něco psát a editor říká: „Měl jsi na mysli tuhle funkci, která přesně dělá, co potřebuješ?“ Je to jako mít telepatického parťáka pro kódování!
**Co dělá tyto editory tak úžasnými?**
-Moderní editory kódu nabízejí působivé spektrum funkcí navržených pro zvýšení vaší produktivity:
+Moderní editory kódu nabízejí širokou škálu funkcí, které zvyšují vaši produktivitu:
| Funkce | Co dělá | Proč pomáhá |
|---------|--------------|--------------|
-| **Zvýraznění syntaxe** | Barevně odlišuje různé části kódu | Usnadňuje čtení kódu a hledání chyb |
-| **Automatické doplňování** | Navrhuje kód při psaní | Zrychluje psaní kódu a snižuje překlepy |
-| **Nástroje ladění** | Pomáhají najít a opravit chyby | Šetří hodiny času při hledání problémů |
-| **Rozšíření** | Přidávají specializované funkce | Přizpůsobí editor jakékoli technologii |
-| **Asistenti AI** | Navrhují kód a vysvětlení | Zrychlují učení a produktivitu |
+| **Zvýraznění syntaxe** | Barevně odliší části kódu | Usnadňuje čtení kódu a hledání chyb |
+| **Automatické doplňování** | Nabízí kód při psaní | Urychluje psaní a snižuje překlepy |
+| **Nástroje pro ladění** | Pomáhá najít a opravit chyby | Šetří hodiny hledání závad |
+| **Rozšíření** | Přidává specializované funkce | Přizpůsobí editor jakékoli technologii |
+| **AI asistenti** | Nabízejí kód a vysvětlení | Urychlují učení a produktivitu |
-> 🎥 **Video zdroj**: Chcete vidět tyto nástroje v akci? Podívejte se na toto [Tools of the Trade video](https://youtube.com/watch?v=69WJeXGBdxg) pro komplexní přehled.
+> 🎥 **Video zdroj**: Chcete vidět tyto nástroje v akci? Podívejte se na toto video [Tools of the Trade video](https://youtube.com/watch?v=69WJeXGBdxg) pro komplexní přehled.
#### Doporučené editory pro webový vývoj
-**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (zdarma)
-- Nejoblíbenější mezi webovými vývojáři
-- Vynikající ekosystém rozšíření
-- Vestavěný terminál a integrace s Gitem
-- **Nezbytná rozšíření**:
- - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - AI-poháněné návrhy kódu
- - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - Spolupráce v reálném čase
- - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - Automatické formátování kódu
- - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - Odhalování překlepů v kódu
-
-**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (placené, zdarma pro studenty)
-- Pokročilé nástroje pro ladění a testování
-- Inteligentní dokončování kódu
-- Vestavěná správa verzí
-
-**Cloudová IDE** (různá cenová politika)
-- [GitHub Codespaces](https://github.com/features/codespaces) - Plnohodnotný VS Code v prohlížeči
-- [Replit](https://replit.com/) - Skvělé pro učení a sdílení kódu
-- [StackBlitz](https://stackblitz.com/) - Okamžitý full-stack webový vývoj
+**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (zdarma)
+- Nejoblíbenější mezi webovými vývojáři
+- Skvělý ekosystém rozšíření
+- Integrovaný terminál a Git
+- **Nutná rozšíření**:
+ - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) – AI navrhování kódu
+ - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) – Spolupráce v reálném čase
+ - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) – Automatické formátování kódu
+ - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) – Kontrola překlepů v kódu
+
+**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (placené, zdarma pro studenty)
+- Pokročilé nástroje pro ladění a testování
+- Inteligentní dokončování kódu
+- Integrovaná správa verzí
+
+**Cloudová IDE** (různé ceny)
+- [GitHub Codespaces](https://github.com/features/codespaces) – Plný VS Code v prohlížeči
+- [Replit](https://replit.com/) – Skvělé pro učení a sdílení kódu
+- [StackBlitz](https://stackblitz.com/) – Okamžitý full-stack webový vývoj
> 💡 **Tip na začátek**: Začněte s Visual Studio Code – je zdarma, široce používaný v oboru a má obrovskou komunitu vytvářející užitečné návody a rozšíření.
+
### Webové prohlížeče: Vaše tajná vývojářská laboratoř
-Dobře, připravte se, že vám to úplně vyrazí dech! Víte, jak jste používali prohlížeče k prohlížení sociálních sítí a sledování videí? Ukázalo se, že celý čas skrývají tuto neuvěřitelnou tajnou vývojářskou laboratoř, která čeká, až ji objevíte!
+Dobře, připravte se, že vám to úplně vyrazí dech! Víš, jak používáš prohlížeče k procházení sociálních sítí a sledování videí? Ukazuje se, že celý čas skrývaly tu úžasnou tajnou laboratoř pro vývojáře, která čekala, až ji objevíš!
-Pokaždé, když kliknete pravým tlačítkem na webovou stránku a vyberete „Prozkoumat prvek,“ otevírá se vám skrytý svět vývojářských nástrojů, které jsou upřímně silnější než některé drahé programy, za které jsem kdysi platil stovky dolarů. Je to jako objevit, že vaše obyčejná domácí kuchyně skrývá profesionální kuchařskou laboratoř za tajným panelem!
-Poprvé, když mi někdo ukázal nástroje pro vývojáře v prohlížeči, strávil jsem asi tři hodiny jen klikáním a říkal si: „POČKEJ, TO MŮŽE DĚLAT I TO?“ Doslova můžete upravovat jakoukoli webovou stránku v reálném čase, přesně vidět, jak rychle se všechno načítá, testovat, jak vaše stránka vypadá na různých zařízeních, a dokonce ladit JavaScript jako opravdový profík. Je to naprosto úžasné!
+Pokaždé, když kliknete pravým tlačítkem na webovou stránku a vyberete „Prozkoumat prvek“, otevíráte skrytý svět vývojářských nástrojů, které jsou upřímně mocnější než některé drahé programy, za které jsem dřív platila stovky dolarů. Je to jako objevit, že vaše stará kuchyň skrývá profesionální kuchařskou laboratoř za tajným panelem!
+Poprvé, když mi někdo ukázal DevTools v prohlížeči, strávil jsem asi tři hodiny jen klikáním a říkáním „POČKEJ, TO UMÍ I TOHLE?!“ Doslova můžete upravovat jakoukoli webovou stránku v reálném čase, přesně vidět, jak rychle se vše načítá, testovat, jak vypadá vaše stránka na různých zařízeních, a dokonce ladit JavaScript jako naprostý profík. Je to naprosto ohromující!
-**Tady je důvod, proč jsou prohlížeče vaším tajným zbraněm:**
+**Tady je důvod, proč jsou prohlížeče vaším tajným trikem:**
-Když vytváříte webovou stránku nebo webovou aplikaci, potřebujete vidět, jak vypadá a chová se v reálném světě. Prohlížeče nejen zobrazují vaši práci, ale také poskytují podrobné informace o výkonu, přístupnosti a možných problémech.
+Když vytváříte web nebo webovou aplikaci, potřebujete vidět, jak vypadá a jak se chová v reálném světě. Prohlížeče nejen zobrazují vaši práci, ale také poskytují podrobnou zpětnou vazbu o výkonu, přístupnosti a potenciálních problémech.
-#### Nástroje pro vývojáře v prohlížeči (DevTools)
+#### Vývojářské nástroje prohlížeče (DevTools)
-Moderní prohlížeče obsahují komplexní sady nástrojů pro vývoj:
+Moderní prohlížeče obsahují komplexní vývojové nástroje:
| Kategorie nástroje | Co dělá | Příklad použití |
-|---------------|--------------|------------------|
-| **Inspektor elementů** | Zobrazení a úprava HTML/CSS v reálném čase | Úprava stylu pro okamžité výsledky |
-| **Konzole** | Zobrazení chybových zpráv a testování JavaScriptu | Ladění problémů a experimentování s kódem |
-| **Monitor sítě** | Sledování načítání zdrojů | Optimalizace výkonu a doby načítání |
-| **Kontrola přístupnosti** | Testování inkluzivního designu | Zajištění funkčnosti webu pro všechny uživatele |
-| **Simulátor zařízení** | Náhled na různých velikostech obrazovek | Testování responzivního designu bez více zařízení |
+|-------------------|---------|-----------------|
+| **Inspektor prvků** | Zobrazí a upraví HTML/CSS v reálném čase | Úprava stylů pro okamžité výsledky |
+| **Konzole** | Zobrazí chybové zprávy a testuje JavaScript | Ladění problémů a experimentování s kódem |
+| **Monitor sítě** | Sleduje načítání zdrojů | Optimalizace výkonu a doby načítání |
+| **Kontrola přístupnosti** | Testuje inkluzivní design | Zajištění funkčnosti pro všechny uživatele |
+| **Simulátor zařízení** | Náhled na různých velikostech obrazovky | Testování responzivního designu bez více zařízení |
#### Doporučené prohlížeče pro vývoj
-- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - Průmyslový standard DevTools s rozsáhlou dokumentací
-- **[Firefox](https://developer.mozilla.org/docs/Tools)** - Skvělé nástroje pro CSS Grid a přístupnost
-- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - Postavený na Chromium s vývojářskými zdroji od Microsoftu
+- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** – Průmyslový standard DevTools s rozsáhlou dokumentací
+- **[Firefox](https://developer.mozilla.org/docs/Tools)** – Výborné nástroje pro CSS Grid a přístupnost
+- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** – Postavený na Chromium s vývojářskými zdroji od Microsoftu
-> ⚠️ **Důležitý tip pro testování**: Vždy testujte své weby v několika prohlížečích! To, co funguje perfektně v Chromu, může vypadat jinak v Safari nebo Firefoxu. Profesionální vývojáři testují ve všech hlavních prohlížečích, aby zajistili konzistentní uživatelský zážitek.
+> ⚠️ **Důležitý tip pro testování**: Vždy testujte své weby ve více prohlížečích! To, co funguje perfektně v Chromu, může vypadat odlišně v Safari nebo Firefoxu. Profesionální vývojáři testují napříč všemi hlavními prohlížeči, aby zajistili konzistentní uživatelský zážitek.
-### Nástroje příkazové řádky: Vaše brána do supermocí vývojáře
+### Nástroje příkazové řádky: vaše brána k vývojářským supermocím
-Dobře, pojďme mít teď upřímný moment ohledně příkazové řádky, protože chci, abyste to slyšeli od někoho, kdo tomu skutečně rozumí. Když jsem ji poprvé viděl – jen tu strašidelnou černou obrazovku s blikajícím textem – doslova jsem si pomyslel: „Ne, rozhodně ne! To vypadá jako něco z hackerského filmu z 80. let a já na to opravdu nejsem dost chytrý!“ 😅
+Dobře, pojďme si upřímně promluvit o příkazové řádce, protože chci, abyste to slyšeli od někoho, kdo jí opravdu rozumí. Když jsem ji poprvé viděl – jen tu děsivou černou obrazovku s blikajícím textem – doslova jsem si pomyslel: „Ne, to rozhodně ne! Vypadá to jako něco z hackerovského filmu z 80. let a já na to rozhodně nejsem dost chytrý!“ 😅
-Ale tady je to, co bych si přál, aby mi tehdy někdo řekl, a co říkám vám teď: příkazová řádka není strašidelná – je to vlastně jako mít přímý rozhovor s vaším počítačem. Představte si to jako rozdíl mezi objednávkou jídla přes stylovou aplikaci s obrázky a menu (což je hezké a snadné) oproti vstupu do vaší oblíbené místní restaurace, kde kuchař přesně zná, co máte rád, a umí vytvořit něco perfektního jen proto, že řeknete „překvap mě něčím úžasným.“
+Ale tady je, co bych si přál, aby mi někdo tehdy řekl, a co vám říkám teď: příkazová řádka není děsivá – je to vlastně jako mít přímou konverzaci s počítačem. Myslete na to jako na rozdíl mezi objednávkou jídla přes hezkou aplikaci s obrázky a menu (což je fajn a snadné) versus osobní návštěvou vaší oblíbené místní restaurace, kde kuchař přesně ví, co máte rádi, a dokáže uvařit něco perfektního jen proto, že řeknete „překvap mě něčím úžasným“.
-Příkazová řádka je místo, kam chodí vývojáři, aby se cítili jako opravdoví kouzelníci. Napíšete pár zdánlivě magických slov (dobře, jsou to jen příkazy, ale mají magický nádech!), stisknete enter a BUM – vytvořili jste celé struktury projektů, nainstalovali výkonné nástroje z celého světa, nebo nasadili svou aplikaci na internet, aby ji mohly vidět miliony lidí. Jakmile ochutnáte tu moc, je to opravdu návykové!
+Na příkazovou řádku chodí vývojáři, aby se cítili jako úplní kouzelníci. Napíšete pár na první pohled magických slov (dobře, jsou to jen příkazy, ale působí magicky!), stisknete enter a HOP – vytvořili jste celé struktury projektů, nainstalovali výkonné nástroje z celého světa, nebo nasadili svou aplikaci na internet milionům lidí. Jakmile okusíte tu sílu, je to fakt návykové!
**Proč se příkazová řádka stane vaším oblíbeným nástrojem:**
-I když jsou grafická rozhraní skvělá pro mnoho úkolů, příkazová řádka vyniká v automatizaci, přesnosti a rychlosti. Mnoho vývojářských nástrojů funguje primárně přes příkazové rozhraní a naučit se je efektivně používat může výrazně zlepšit vaši produktivitu.
+I když jsou grafická rozhraní skvělá pro mnoho úkolů, příkazová řádka vyniká v automatizaci, přesnosti a rychlosti. Mnoho vývojových nástrojů funguje hlavně přes příkazovou řádku a naučit se je efektivně používat může výrazně zlepšit vaši produktivitu.
```bash
-# Krok 1: Vytvořte adresář projektu a přejděte do něj
+# Krok 1: Vytvořte a přejděte do adresáře projektu
mkdir my-awesome-website
cd my-awesome-website
```
-**Co tento kód dělá:**
-- **Vytvoří** nový adresář s názvem "my-awesome-website" pro váš projekt
-- **Přejde** do nově vytvořeného adresáře, aby mohl začít pracovat
+**Tento kód dělá toto:**
+- **Vytvoří** novou složku nazvanou „my-awesome-website“ pro váš projekt
+- **Přejde** do nově vytvořené složky, aby mohl začít pracovat
```bash
# Krok 2: Inicializujte projekt s package.json
@@ -614,10 +616,10 @@ npm install --save-dev @eslint/js
```
**Krok za krokem, co se děje:**
-- **Inicializuje** nový Node.js projekt s výchozími nastaveními pomocí `npm init -y`
+- **Inicializuje** nový projekt Node.js s výchozím nastavením pomocí `npm init -y`
- **Nainstaluje** Vite jako moderní nástroj pro rychlý vývoj a produkční sestavení
-- **Přidá** Prettier pro automatické formátování kódu a ESLint pro kontrolu kvality
-- **Použije** přepínač `--save-dev`, aby tyto závislosti byly jen pro vývoj
+- **Přidá** Prettier pro automatické formátování kódu a ESLint pro kontrolu kvality kódu
+- **Používá** přepínač `--save-dev` k označení těchto závislostí jako pouze pro vývoj
```bash
# Krok 3: Vytvořte strukturu projektu a soubory
@@ -628,156 +630,156 @@ echo 'My Site
Hello Wo
npx vite
```
-**Ve výše uvedeném jsme:**
-- **Uspořádali** náš projekt vytvořením samostatných složek pro zdrojový kód a assety
+**Výše uvedeným jsme:**
+- **Uspořádali** náš projekt vytvořením samostatných složek pro zdrojový kód a zdroje
- **Vygenerovali** základní HTML soubor s správnou strukturou dokumentu
-- **Spustili** vývojový server Vite pro živé aktualizace a horkou náhradu modulů
+- **Spustili** Vite vývojový server pro živé aktualizace a hot module replacement
-#### Základní nástroje příkazové řádky pro webový vývoj
+#### Nezbytné nástroje příkazové řádky pro webový vývoj
| Nástroj | Účel | Proč ho potřebujete |
-|------|---------|-----------------|
-| **[Git](https://git-scm.com/)** | Správa verzí | Sledování změn, spolupráce s ostatními, zálohování práce |
-| **[Node.js & npm](https://nodejs.org/)** | JavaScript runtime & správa balíčků | Spouštění JavaScriptu mimo prohlížeče, instalace moderních vývojových nástrojů |
-| **[Vite](https://vitejs.dev/)** | Nástroj pro sestavení & dev server | Bleskový vývoj s horkou náhradou modulů |
-| **[ESLint](https://eslint.org/)** | Kvalita kódu | Automatické nalezení a oprava problémů v JavaScriptu |
-| **[Prettier](https://prettier.io/)** | Formátování kódu | Udržování kódu konzistentně formátovaného a čitelného |
+|---------|-------|--------------------|
+| **[Git](https://git-scm.com/)** | Správa verzí | Sleduje změny, umožňuje spolupráci a zálohy práce |
+| **[Node.js & npm](https://nodejs.org/)** | JavaScript runtime a správa balíčků | Spouští JavaScript mimo prohlížeče, instaluje moderní vývojové nástroje |
+| **[Vite](https://vitejs.dev/)** | Nástroj pro sestavení a dev server | Bleskově rychlý vývoj s hot module replacement |
+| **[ESLint](https://eslint.org/)** | Kvalita kódu | Automaticky najde a opraví problémy v JavaScriptu |
+| **[Prettier](https://prettier.io/)** | Formátování kódu | Udržuje kód konzistentně formátovaný a přehledný |
-#### Platformně specifické možnosti
+#### Platformově specifické možnosti
**Windows:**
-- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - Moderní, plně vybavený terminál
-- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - Výkonné skriptovací prostředí
-- **[Příkazový řádek](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - Tradiční Windows příkazová řádka
+- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** – Moderní a funkčně bohatý terminál
+- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 – Výkonné skriptovací prostředí
+- **[Příkazový řádek](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 – Tradiční Windows příkazová řádka
**macOS:**
-- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 - Vestavěná terminálová aplikace
-- **[iTerm2](https://iterm2.com/)** - Vylepšený terminál s pokročilými funkcemi
+- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 – Vestavěná terminálová aplikace
+- **[iTerm2](https://iterm2.com/)** – Vylepšený terminál s pokročilými funkcemi
**Linux:**
-- **[Bash](https://www.gnu.org/software/bash/)** 💻 - Standardní linuxová shell
-- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - Pokročilý terminálový emulátor
+- **[Bash](https://www.gnu.org/software/bash/)** 💻 – Standardní shell na Linuxu
+- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** – Pokročilý terminálový emulátor
> 💻 = Předinstalováno v operačním systému
-> 🎯 **Cesta učení**: Začněte se základními příkazy jako `cd` (změna adresáře), `ls` nebo `dir` (výpis souborů) a `mkdir` (vytvoření složky). Procvičujte moderní pracovní příkazy jako `npm install`, `git status` a `code .` (otevře současný adresář ve VS Code). Jakmile si zvyknete, přirozeně osvojíte více pokročilých příkazů a automatizačních technik.
+> 🎯 **Cesta učení**: Začněte s základními příkazy jako `cd` (změna složky), `ls` nebo `dir` (výpis souborů) a `mkdir` (vytvoření složky). Procvičujte moderní pracovní příkazy jako `npm install`, `git status` a `code .` (otevření aktuální složky ve VS Code). Jakmile získáte jistotu, přirozeně se naučíte pokročilejší příkazy a automatizační techniky.
-### Dokumentace: Váš vždy dostupný učitel a mentor
+### Dokumentace: váš vždy dostupný učitel
-Dobře, prozradím vám malý tajemství, které vám pomůže cítit se mnohem lépe jako začátečník: i ti nejzkušenější vývojáři stráví obrovskou část svého času čtením dokumentace. A není to proto, že by nevěděli, co dělají – to je vlastně známka moudrosti!
+Dobře, prozradím vám malé tajemství, které vám pomůže cítit se mnohem lépe jako začátečník: i ti nejzkušenější vývojáři tráví obrovskou část svého času čtením dokumentace. A není to proto, že by nevěděli, co dělají – je to vlastně znamení moudrosti!
-Představte si dokumentaci jako přístup k nejtrpělivějším, nejvzdělanějším učitelům světa, kteří jsou k dispozici 24/7. Zasekli jste se na problému ve 2 ráno? Dokumentace je tam s teplým virtuálním objetím a přesně vám podá odpověď, kterou potřebujete. Chcete se naučit o nějaké skvělé nové funkci, o které všichni mluví? Dokumentace to má připravené s příklady krok za krokem. Snažíte se pochopit, proč něco funguje tak, jak to funguje? Hádejte co – dokumentace je připravená vám to vysvětlit způsobem, který vám to konečně rozsvítí!
+Považujte dokumentaci za přístup k nejtrpělivějším a nejzkušenějším učitelům na světě, kteří jsou k dispozici 24/7. Máte problém v 2 ráno? Dokumentace je tu s virtuálním teplým objetím a přesně tou odpovědí, kterou potřebujete. Chcete se naučit o nějaké skvělé nové funkci, o které všechny mluví? Dokumentace vás provede krok za krokem s příklady. Snažíte se pochopit, proč něco funguje tak, jak to funguje? Tušíte správně – dokumentace vám to vysvětlí způsobem, který vám konečně dá smysl!
-Tady je něco, co úplně změnilo můj pohled: svět webového vývoje se hýbe neuvěřitelně rychle a nikdo (mám na mysli opravdu nikdo!) nemá všechno v paměti. Viděl jsem zkušené vývojáře s 15+ lety praxe, jak vyhledávají základní syntaxi, a víte co? To není trapné – to je chytré! Není to o perfektní paměti; je to o tom vědět, kde rychle najít spolehlivé odpovědi a umět je správně použít.
+Něco, co mi úplně změnilo pohled: svět webového vývoje se pohybuje neuvěřitelně rychle a nikdo (myslím naprosto nikdo!) nemá všechno v paměti. Viděl jsem zkušené vývojáře s 15+ lety praxe hledat základní syntaxi, a víte co? Není to trapné – je to chytré! Nejde o perfektní paměť, ale o vědění, kde rychle najít spolehlivé odpovědi a jak je aplikovat.
-**Tady se odehrává ta opravdová magie:**
+**Tady se děje ta opravdová magie:**
-Profesionální vývojáři tráví výraznou část svého času čtením dokumentace – ne proto, že by nevěděli, co dělají, ale protože oblast webového vývoje se tak rychle vyvíjí, že udržet krok vyžaduje neustálé učení. Skvělá dokumentace vám pomůže pochopit nejen *jak* něco používat, ale také *proč* a *kdy* to použít.
+Profesionální vývojáři tráví významnou část svého času čtením dokumentace – ne proto, že nevědí, co dělají, ale protože svět webového vývoje se rychle mění a udržet krok znamená se nepřetržitě učit. Skvělá dokumentace vám pomůže pochopit nejen *jak* něco používat, ale *proč* a *kdy* to použít.
#### Základní zdroje dokumentace
**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)**
-- Zlatý standard dokumentace webových technologií
-- Obsáhlé průvodce pro HTML, CSS a JavaScript
-- Zahrnuje informace o kompatibilitě prohlížečů
-- Obsahuje praktické příklady a interaktivní ukázky
+- Zlatý standard pro dokumentaci webových technologií
+- Komplexní návody pro HTML, CSS a JavaScript
+- Obsahuje informace o kompatibilitě v prohlížečích
+- Nabízí praktické příklady a interaktivní ukázky
-**[Web.dev](https://web.dev)** (od Google)
-- Moderní doporučené postupy ve webovém vývoji
+**[Web.dev](https://web.dev)** (Google)
+- Nejlepší moderní praktiky webového vývoje
- Průvodce optimalizací výkonu
- Principy přístupnosti a inkluzivního designu
- Případové studie z reálných projektů
**[Microsoft Developer Documentation](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)**
-- Vývojářské zdroje pro prohlížeč Edge
-- Průvodce pro progresivní webové aplikace
-- Přehled multiplatformního vývoje
+- Zdroje pro vývoj v prohlížeči Edge
+- Průvodci pro progresivní webové aplikace
+- Pohledy na multiplatformní vývoj
**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)**
-- Strukturované výukové plány
-- Videokurzy od expertů z oboru
-- Praktické cvičení s kódováním
+- Strukturované kurikulum
+- Video kurzy od odborníků z praxe
+- Praktická cvičení s kódováním
-> 📚 **Strategie studia**: Nesnažte se dokumentaci memorovat – místo toho se naučte, jak ji efektivně procházet. Přidejte si do záložek často používané reference a trénujte využívání vyhledávání pro rychlé nalezení konkrétních informací.
+> 📚 **Studijní strategie**: Nesnažte se dokumentaci memorovat – místo toho se naučte, jak se v ní efektivně orientovat. Přidejte si do záložek často používané odkazy a procvičujte, jak používat vyhledávání k rychlému nalezení konkrétních informací.
-### 🔧 **Otestujte své mistrovství s nástroji: Co na vás nejvíc zapůsobilo?**
+### 🔧 **Ověření ovládání nástrojů: Co na vás nejvíc zapůsobilo?**
-**Zastavte se na chvíli a zamyslete se:**
-- Který nástroj si chcete vyzkoušet jako první? (Žádná špatná odpověď!)
-- Stále je pro vás příkazová řádka zastrašující nebo vás to láká ji poznat?
-- Dokážete si představit, že byste používali nástroje pro vývojáře v prohlížeči k nahlédnutí pod pokličku svých oblíbených webů?
+**Chvilku se zamyslete:**
+- Který nástroj chcete zkusit jako první? (Špatná odpověď neexistuje!)
+- Stále je pro vás příkazová řádka děsivá, nebo vás zajímá?
+- Dokážete si představit, že použijete DevTools prohlížeče a nahlédnete pod pokličku svých oblíbených webů?
```mermaid
pie title "Čas vývojáře strávený s nástroji"
- "Kódový editor" : 40
+ "Editor kódu" : 40
"Testování v prohlížeči" : 25
"Příkazový řádek" : 15
"Čtení dokumentace" : 15
"Ladění" : 5
```
-> **Zajímavost**: Většina vývojářů tráví asi 40 % času v editoru kódu, ale všimněte si, kolik času jde na testování, učení a řešení problémů. Programování není jen psaní kódu – je to vytváření zážitků!
+> **Zajímavost**: Většina vývojářů tráví asi 40 % času ve svém kódovacím editoru, ale všimněte si, kolik času jde na testování, učení a řešení problémů. Programování není jen psaní kódu – je to tvorba zážitků!
-✅ **K zamyšlení**: Tady je něco zajímavého k přemýšlení – jak myslíte, že se nástroje pro tvorbu webů (vývoj) liší od nástrojů pro návrh vzhledu (design)? Je to jako rozdíl mezi architektem, který navrhuje krásný dům, a stavebním dodavatelem, který ho skutečně postaví. Obě role jsou klíčové, ale vyžadují odlišnou sadu nástrojů! Takové myšlení vám opravdu pomůže vidět širší obraz, jak weby vznikají.
+✅ **Zamyslete se**: Tady je zajímavá otázka – jak si myslíte, že se nástroje pro tvorbu webů (vývoj) liší od nástrojů na návrh jejich vzhledu (design)? Je to jako rozdíl mezi architektem, který navrhuje krásný dům, a dodavatelem, který ho skutečně staví. Oba jsou klíčoví, ale potřebují odlišné nástroje! Takové uvažování vám opravdu pomůže vidět širší obraz, jak weby vznikají.
## Výzva GitHub Copilot Agenta 🚀
Použijte režim Agenta k dokončení následující výzvy:
-**Popis:** Prozkoumejte funkce moderního kódovacího editoru nebo IDE a ukažte, jak může zlepšit váš pracovní tok jako webový vývojář.
+**Popis:** Prozkoumejte funkce moderního kódovacího editoru nebo IDE a ukažte, jak může zlepšit váš pracovní postup jako webového vývojáře.
-**Zadání:** Vyberte si kódovací editor nebo IDE (například Visual Studio Code, WebStorm nebo cloudové IDE). Vyjmenujte tři funkce nebo rozšíření, které vám pomáhají psát, ladit nebo udržovat kód efektivněji. U každé krátce vysvětlete, jak zlepšuje váš pracovní proces.
+**Zadání:** Vyberte si kódovací editor nebo IDE (např. Visual Studio Code, WebStorm nebo cloudové IDE). Uveďte tři funkce nebo rozšíření, které vám pomáhají efektivněji psát, ladit nebo udržovat kód. U každé krátce vysvětlete, jak vaši práci zlepšuje.
---
## 🚀 Výzva
-**Tak dobře, detektive, jsi připraven na svůj první případ?**
+**Tak šéfe, připraven na svůj první případ?**
-Teď když máš tento skvělý základ, čeká tě dobrodružství, které ti pomůže vidět, jak neuvěřitelně různorodý a fascinující je svět programování. A poslouchej – není to o psaní kódu, takže žádný tlak! Představ si sám sebe jako detektiva programovacích jazyků na svém úplně prvním vzrušujícím případě!
+Teď, když máte skvělé základy, mám pro vás dobrodružství, které vám pomůže vidět, jak neuvěřitelně rozmanitý a fascinující je svět programování. A pozor – tady nejde o psaní kódu, takže netlačte na pilu! Považujte se za detektiva programovacích jazyků na vašem úplně prvním vzrušujícím případu!
-**Tvůj úkol, pokud se rozhodneš ho přijmout:**
-1. **Staň se objevitelem jazyků**: Vyber tři programovací jazyky z úplně odlišných světů – třeba jeden pro tvorbu webů, jeden pro mobilní aplikace a jeden pro vědecká data. Najdi příklady stejného jednoduchého úkolu napsaného v každém jazyce. Slibuju, že tě překvapí, jak odlišně mohou vypadat, i když dělají úplně to samé!
+**Vaše mise, pokud ji přijmete:**
+1. **Staňte se průzkumníkem jazyků**: Vyberte tři programovací jazyky z úplně jiných světů – třeba jeden pro tvorbu webů, jeden pro mobilní aplikace a jeden pro vědecké zpracování dat. Najděte příklady stejného jednoduchého úkolu, napsané v každém jazyce. Slíbím vám, že budete naprosto ohromeni tím, jak mohou vypadat rozdílně, i když dělají úplně tu samou věc!
-2. **Získej jejich příběhy vzniku**: Co dělá každý jazyk výjimečným? Tady je zajímavý fakt – každý programovací jazyk vznikl, protože někdo řekl: „Víš co? Musí existovat lepší způsob, jak vyřešit tento konkrétní problém.“ Můžeš zjistit, jaké problémy to byly? Některé z těch příběhů jsou opravdu fascinující!
+2. **Objevte jejich příběhy vzniku**: Co dělá každý jazyk výjimečným? Tady je zajímavost – každý programovací jazyk vznikl, protože někdo řekl: „Víš co? Musí existovat lepší způsob, jak vyřešit tenhle konkrétní problém.“ Dokážete zjistit, jaké problémy to byly? Některé příběhy jsou opravdu fascinující!
-3. **Poznej komunity**: Podívej se, jak vstřícná a zapálená je komunita kolem každého jazyka. Některé mají miliony vývojářů sdílejících znalosti a pomáhajících si, jiné jsou menší, ale neskutečně soudržné a podporující. Budeš rád vidět, jaké osobnosti tyto komunity mají!
+3. **Poznejte komunity**: Prozkoumejte, jak vstřícná a zanícená je komunita každého jazyka. Některé mají miliony vývojářů, kteří si sdílejí znalosti a pomáhají si, jiné jsou menší, ale neuvěřitelně soudržné a podporující. Určitě vás nadchne, jaké různé osobnosti tyto komunity mají!
-4. **Řiď se svým instinktem**: Který jazyk ti teď přijde nejsnazší? Neřeš, že bys měl udělat „perfektní“ volbu – jen naslouchej svému pocitu! Opravdu neexistuje špatná odpověď a vždy můžeš později prozkoumat další.
+4. **Řiďte se svým instinktem**: Který jazyk vám teď připadá nejpřístupnější? Netrapte se tím, abyste vybrali „perfektní“ jazyk – prostě poslouchejte svůj vnitřní pocit! Není tady špatná volba a vždy můžete později vyzkoumat další.
-**Bonusová detektivní práce**: Podívej se, které hlavní weby nebo aplikace jsou postavené s použitím každého jazyka. Zaručuji ti, že budeš šokovaný, až zjistíš, co pohání Instagram, Netflix nebo tu mobilní hru, kterou nemůžeš přestat hrát!
+**Bonusová detektivní práce**: Zapátrejte, které velké weby nebo aplikace jsou postavené v každém z těchto jazyků. Zaručuji, že budete šokováni, co pohání Instagram, Netflix nebo tu mobilní hru, kterou nemůžete přestat hrát!
-> 💡 **Pamatuj**: Dnes se nesnažíš stát expertem na žádný z těchto jazyků. Jen si pořádně prohlížíš sousedství, než se rozhodneš, kde chceš zakotvit. Dej si na čas, bav se a nech svou zvědavost vést!
+> 💡 **Pamatujte**: Dnes se nesnažíte stát expertem na žádný z těchto jazyků. Jen se seznamujete s oblastí, než si vyberete, kde chcete začít. Dejte si na čas, užijte si to a nechte se vést zvědavostí!
-## Oslavme, co jsi objevil!
+## Oslavme, co jste objevili!
-Páni, dnes jsi nasál tolik neuvěřitelných informací! Opravdu se těším, kolik toho z téhle úžasné cesty ti zůstalo. A pamatuj – není to test, kde musíš být perfektní. Je to spíš oslava všeho skvělého, co ses o tomto fascinujícím světě dozvěděl, do kterého se brzy ponoříš!
+Ty jo, dnes jste nasáli tolik neuvěřitelných informací! Opravdu mě těší, kolik z té skvělé cesty vám zůstalo v paměti. A pamatujte – není to test, kde musíte mít vše perfektní. Je to oslava všeho toho úžasného, co jste se o tomto fascinujícím světě dozvěděli!
-[Vyzkoušej si kvíz po lekci](https://ff-quizzes.netlify.app/web/)
-## Revize a Samostudium
+[Vyzkoušejte test po lekci](https://ff-quizzes.netlify.app/web/)
-**Vezmi si čas na prozkoumání a bav se tím!**
+## Přehled & Samostudium
-Dnes jsi zvládl spoustu věcí, a to je něco, na co můžeš být hrdý! Teď přichází ta zábavná část – prozkoumání témat, která vzbudila tvou zvědavost. Pamatuj, že to není domácí úkol – je to dobrodružství!
+**Vezměte si čas na objevování a zábavu!**
+Pokryli jste dnes hodně témat, a to je něco, na co můžete být hrdí! Teď přichází ta zábavná část – prozkoumávání témat, která ve vás vzbudila zvědavost. Nezapomeňte, že to není domácí úkol – je to dobrodružství!
-**Ponoř se hlouběji do toho, co tě nadchlo:**
+**Ponořte se hlouběji do toho, co vás nadchlo:**
-**Zapoj se prakticky do programovacích jazyků:**
-- Navštiv oficiální webové stránky 2-3 jazyků, které tě zaujaly. Každý má svou osobnost a příběh!
-- Vyzkoušej si online „coding playgroundy“ jako [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), nebo [Replit](https://replit.com/). Neboj se experimentovat – nic nezničíš!
-- Přečti si, jak tvůj oblíbený jazyk vznikl. Vážně, některé z těchto příběhů jsou fascinující a pomohou ti pochopit, proč jazyky fungují tak, jak fungují.
+**Zapojte se do programovacích jazyků:**
+- Navštivte oficiální webové stránky 2-3 jazyků, které vám padly do oka. Každý z nich má svou osobnost a příběh!
+- Vyzkoušejte si nějaká online programovací hřiště jako [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/) nebo [Replit](https://replit.com/). Nebojte se experimentovat – nic tím nezlomíte!
+- Přečtěte si, jak váš oblíbený jazyk vznikl. Některé z těchto příběhů jsou opravdu fascinující a pomohou vám pochopit, proč jazyky fungují tak, jak fungují.
-**Seznam se se svými novými nástroji:**
-- Stáhni si Visual Studio Code, pokud ho ještě nemáš – je zdarma a bude se ti líbit!
-- Strav pár minut prohlížením tržiště rozšíření. Je to jako obchod s aplikacemi pro tvůj kódovací editor!
-- Otevři vývojářské nástroje v prohlížeči a jen tak klikaj po webu. Nemusíš tomu všemu rozumět – jen si zvykej, co tam je.
+**Zvykněte si na své nové nástroje:**
+- Stáhněte si Visual Studio Code, pokud ho ještě nemáte – je zdarma a budete ho milovat!
+- Stravte pár minut prohlížením tržiště rozšíření. Je to jako obchod s aplikacemi pro váš kódový editor!
+- Otevřete Vývojářské nástroje ve svém prohlížeči a jen si klikejte kolem. Nemusíte rozumět všemu – stačí, když si zvyknete, co tam je.
-**Připoj se ke komunitě:**
-- Sleduj vývojářské komunity na [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), nebo [GitHub](https://github.com/). Programátorská komunita je neuvěřitelně vstřícná k nováčkům!
-- Sleduj na YouTube videa přátelská k začátečníkům. Je tam spousta skvělých tvůrců, kteří si pamatují, jaké to je začínat.
-- Zvaž připojení k místním setkáním nebo online komunitám. Věř mi, vývojáři rádi pomáhají nováčkům!
+**Připojte se ke komunitě:**
+- Sledujte některé vývojářské komunity na [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/) nebo [GitHub](https://github.com/). Programátorská komunita je nesmírně vstřícná k nováčkům!
+- Podívejte se na začátečnická videa o programování na YouTube. Je tam spousta skvělých tvůrců, kteří si pamatují, jaké to je začínat.
+- Zvažte připojení k místním setkáním nebo online komunitám. Věřte mi, vývojáři rádi pomáhají nováčkům!
-> 🎯 **Poslouchej, co ti chci říct**: Nečeká se od tebe, že se ze dne na den staneš kódovacím mágem! Právě teď se jen seznamuješ s tím úžasným světem, jehož součástí se chystáš stát. Vezmi si čas, užij si cestu a pamatuj – každý jeden vývojář, kterého obdivuješ, jednou seděl právě tam, kde jsi teď, cítil se nadšený a možná trochu zahlcený. To je úplně normální a znamená to, že to děláš správně!
+> 🎯 **Poslouchejte, co chci, abyste si zapamatovali**: Neočekává se, že se z vás přes noc stane programovací čaroděj! Teď jen poznáváte tento úžasný nový svět, jehož součástí se brzy stanete. Vezměte si čas, užívejte si cestu a pamatujte – každý programátor, kterého obdivujete, seděl přesně tam, kde jste teď vy, plný nadšení a možná trochu zahlcený. To je naprosto normální a znamená to, že to děláte správně!
@@ -785,70 +787,70 @@ Dnes jsi zvládl spoustu věcí, a to je něco, na co můžeš být hrdý! Teď
[Reading the Docs](assignment.md)
-> 💡 **Malé popostrčení pro tvé zadání**: Určitě bych rád viděl, jak prozkoumáš nějaké nástroje, které jsme zatím neprobírali! Vynech editory, prohlížeče a příkazové nástroje, o kterých jsme už mluvili – existuje celý tento neuvěřitelný vesmír skvělých vývojářských nástrojů, které čekají na objevení. Hledej takové, které jsou aktivně udržované a mají živé, nápomocné komunity (ty mají obvykle nejlepší tutoriály a nejpřátelštější lidi, když se zasekneš a potřebuješ pomocnou ruku).
+> 💡 **Malé nakopnutí k vašemu úkolu**: Rád(a) bych vás viděl(a), jak zkoumáte nějaké nástroje, o kterých jsme ještě nemluvili! Přeskočte editory, prohlížeče a nástroje příkazové řádky, které jsme už probírali – je tu celý neuvěřitelný svět skvělých vývojářských nástrojů, které čekají na to, až je objevíte. Hledejte takové, které jsou aktivně udržované a mají živé, nápomocné komunity (ty obvykle mají nejlepší návody a nejvíc podpůrných lidí, pokud se zaseknete a budete potřebovat přátelskou pomoc).
---
-## 🚀 Tvůj časový plán programátorské cesty
-
-### ⚡ **Co můžeš udělat během příštích 5 minut**
-- [ ] Přidej si do záložek 2-3 weby programovacích jazyků, které tě zaujaly
-- [ ] Stáhni si Visual Studio Code, pokud ho ještě nemáš
-- [ ] Otevři ve svém prohlížeči DevTools (F12) a klikni si na jakémkoli webu
-- [ ] Připoj se do jedné programátorské komunity (Dev.to, Reddit r/webdev, nebo Stack Overflow)
-
-### ⏰ **Co můžeš stihnout během hodiny**
-- [ ] Dokonči kvíz po lekci a zamysli se nad svými odpověďmi
-- [ ] Nastav VS Code s rozšířením GitHub Copilot
-- [ ] Vyzkoušej příklad „Hello World“ ve 2 různých programovacích jazycích online
-- [ ] Podívej se na video „Den v životě vývojáře“ na YouTube
-- [ ] Začni s detektivní prací na svém zvoleném programovacím jazyku (z výzvy)
-
-### 📅 **Týdenní dobrodružství**
-- [ ] Dokonči zadání a prozkoumej 3 nové vývojářské nástroje
-- [ ] Sleduj 5 vývojářů nebo programátorských účtů na sociálních sítích
-- [ ] Zkus postavit něco malého v CodePen nebo Replit (třeba jen „Hello, [Tvé jméno]!“)
-- [ ] Přečti si jeden blogový příspěvek vývojáře o jeho kódovací cestě
-- [ ] Připoj se k virtuálnímu setkání nebo se podívej na programátorskou přednášku
-- [ ] Začni se učit svůj zvolený jazyk podle online tutoriálů
-
-### 🗓️ **Měsíční proměna**
-- [ ] Postav svůj první malý projekt (i jednoduchá webová stránka se počítá!)
-- [ ] Přispěj do open-source projektu (začni opravami dokumentace)
-- [ ] Mentoruj někoho, kdo právě začíná s programováním
-- [ ] Vytvoř si webovou stránku s portfolio vývojáře
-- [ ] Spoj se s místními komunitami vývojářů nebo studijními skupinami
-- [ ] Začni plánovat svůj další učební milník
-
-### 🎯 **Závěrečné zhodnocení**
-
-**Než budeš pokračovat dál, oslav tohle:**
-- Co tě dnes na programování nejvíc nadchlo?
-- Který nástroj nebo koncept chceš prozkoumat jako první?
-- Jak se cítíš ohledně začátku této programátorské cesty?
-- Jakou jednu otázku bys chtěl teď položit vývojáři?
+## 🚀 Váš časový plán programátorské cesty
+
+### ⚡ **Co můžete udělat během příštích 5 minut**
+- [ ] Přidejte si do záložek 2-3 webové stránky programovacích jazyků, které vás zaujaly
+- [ ] Stáhněte si Visual Studio Code, pokud ho ještě nemáte
+- [ ] Otevřete si Vývojářské nástroje prohlížeče (F12) a klikejte na jakékoliv webové stránce
+- [ ] Připojte se k jedné programátorské komunitě (Dev.to, Reddit r/webdev nebo Stack Overflow)
+
+### ⏰ **Co můžete stihnout během této hodiny**
+- [ ] Dokončete kvíz po lekci a zamyslete se nad svými odpověďmi
+- [ ] Nastavte VS Code s rozšířením GitHub Copilot
+- [ ] Vyzkoušejte si "Hello World" v 2 různých programovacích jazycích online
+- [ ] Podívejte se na video „Den v životě vývojáře“ na YouTube
+- [ ] Začněte pátrat po informacích o programovacích jazycích (z výzvy)
+
+### 📅 **Vaše týdenní dobrodružství**
+- [ ] Splňte úkol a prozkoumejte 3 nové vývojářské nástroje
+- [ ] Sledujte 5 vývojářů nebo programátorských účtů na sociálních sítích
+- [ ] Zkuste postavit něco malého v CodePen nebo Replit (i jen „Hello, [Vaše jméno]!“)
+- [ ] Přečtěte si jeden blogový příspěvek od vývojáře o jeho programátorské cestě
+- [ ] Připojte se k virtuálnímu setkání nebo shlédněte přednášku o programování
+- [ ] Začněte se učit vybraný jazyk pomocí online tutoriálů
+
+### 🗓️ **Vaše měsíční proměna**
+- [ ] Postavte svůj první malý projekt (i jednoduchá webová stránka se počítá!)
+- [ ] Přispějte k open-source projektu (začněte opravami dokumentace)
+- [ ] Mentorujte někoho, kdo právě začíná svou programátorskou cestu
+- [ ] Vytvořte si svůj vývojářský portfolio web
+- [ ] Spojte se s místními vývojářskými komunitami nebo studijními skupinami
+- [ ] Začněte plánovat svůj další učební milník
+
+### 🎯 **Konečné reflexní tachování**
+
+**Než půjdete dál, na chvíli se zastavte a oslavte:**
+- Co vás dnes na programování nejvíc nadchlo?
+- Který nástroj nebo koncept chcete prozkoumat jako první?
+- Jak se cítíte při začátku této programátorské cesty?
+- Jakou otázku byste chtěli teď položit nějakému vývojáři?
```mermaid
journey
- title Vaše cesta k budování sebedůvěry
+ title Tvoje cesta budování sebevědomí
section Dnes
- Curious: 3: Vy
- Overwhelmed: 4: Vy
- Excited: 5: Vy
+ Curious: 3: You
+ Overwhelmed: 4: You
+ Excited: 5: You
section Tento týden
- Exploring: 4: Vy
- Learning: 5: Vy
- Connecting: 4: Vy
+ Exploring: 4: You
+ Learning: 5: You
+ Connecting: 4: You
section Příští měsíc
- Building: 5: Vy
- Confident: 5: Vy
- Helping Others: 5: Vy
+ Building: 5: You
+ Confident: 5: You
+ Helping Others: 5: You
```
-> 🌟 **Pamatuj**: Každý expert byl jednou začátečník. Každý zkušený vývojář se kdysi cítil přesně tak, jako ty teď – nadšený, možná trochu zahlcený a rozhodně zvědavý na možnosti. Jsi v úžasné společnosti a tahle cesta bude neuvěřitelná. Vítej ve skvělém světě programování! 🎉
+> 🌟 **Pamatujte**: Každý expert byl jednou začátečník. Každý zkušený vývojář se někdy cítil přesně tak, jak se cítíte vy teď – nadšeně, možná trochu zahlceně a určitě zvědavě, co je možné. Jste v úžasné společnosti a tato cesta bude neuvěřitelná. Vítejte ve skvělém světě programování! 🎉
---
-**Prohlášení o vyloučení odpovědnosti**:
-Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). I když usilujeme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Nejsme odpovědni za jakákoliv nedorozumění nebo špatné interpretace vzniklé z použití tohoto překladu.
+**Vyloučení odpovědnosti**:
+Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). Přestože usilujeme o přesnost, mějte na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro kritické informace se doporučuje profesionální lidský překlad. Za jakékoliv nedorozumění nebo chybné výklady vyplývající z použití tohoto překladu neneseme odpovědnost.
\ No newline at end of file
diff --git a/translations/cs/AGENTS.md b/translations/cs/AGENTS.md
index e099124ba..2b5e56fe5 100644
--- a/translations/cs/AGENTS.md
+++ b/translations/cs/AGENTS.md
@@ -2,29 +2,29 @@
## Přehled projektu
-Toto je vzdělávací repozitář učebního plánu pro výuku základů webového vývoje pro začátečníky. Kurikulum je komplexní 12týdenní kurz vyvinutý Microsoft Cloud Advocates, obsahující 24 praktických lekcí pokrývajících JavaScript, CSS a HTML.
+Toto je vzdělávací repozitář pro výuku základů webového vývoje pro začátečníky. Kurikul je komplexní 12týdenní kurz vyvinutý Microsoft Cloud Advocates, obsahující 24 praktických lekcí pokrývajících JavaScript, CSS a HTML.
-### Klíčové komponenty
+### Klíčové prvky
-- **Vzdělávací obsah**: 24 strukturovaných lekcí uspořádaných do modulů založených na projektech
-- **Praktické projekty**: Terrarium, Hra na psaní, Rozšíření prohlížeče, Kosmická hra, Bankovní aplikace, Kódovací editor a AI chat asistent
-- **Interaktivní kvízy**: 48 kvízů po 3 otázkách (před a po lekci)
-- **Podpora vícejazyčnosti**: Automatizované překlady do více než 50 jazyků přes GitHub Actions
+- **Vzdělávací obsah**: 24 strukturovaných lekcí organizovaných do modulů založených na projektech
+- **Praktické projekty**: Terrárium, Hra na psaní, Rozšíření prohlížeče, Hra ve vesmíru, Bankovní aplikace, Editor kódu a AI chatovací asistent
+- **Interaktivní kvízy**: 48 kvízů se 3 otázkami každý (hodnocení před a po lekci)
+- **Podpora více jazyků**: Automatické překlady pro více než 50 jazyků pomocí GitHub Actions
- **Technologie**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (pro AI projekty)
### Architektura
-- Vzdělávací repozitář s strukturou založenou na lekcích
-- Každá složka lekce obsahuje README, ukázky kódu a řešení
-- Samostatné projekty v oddělených adresářích (quiz-app, různé projekty lekcí)
+- Vzdělávací repozitář s lekční strukturou
+- Každá složka lekce obsahuje README, příklady kódu a řešení
+- Samostatné projekty v oddělených adresářích (quiz-app, různé lekční projekty)
- Překladový systém využívající GitHub Actions (co-op-translator)
-- Dokumentace poskytovaná přes Docsify a dostupná jako PDF
+- Dokumentace podávána přes Docsify a dostupná jako PDF
## Příkazy pro nastavení
-Tento repozitář je určen především ke konzumaci vzdělávacího obsahu. Pro práci s konkrétními projekty:
+Tento repozitář je primárně určen pro konzumaci vzdělávacího obsahu. Pro práci s konkrétními projekty:
-### Hlavní nastavení repozitáře
+### Nastavení hlavního repozitáře
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
@@ -41,7 +41,7 @@ npm run build # Sestavit pro produkci
npm run lint # Spustit ESLint
```
-### Bankovní projekt API (Node.js + Express)
+### Bankovní API projekt (Node.js + Express)
```bash
cd 7-bank-project/api
@@ -56,10 +56,10 @@ npm run format # Formátovat pomocí Prettier
```bash
cd 5-browser-extension/solution
npm install
-# Postupujte podle specifických pokynů pro načítání rozšíření v prohlížeči
+# Postupujte podle pokynů pro načítání rozšíření specifických pro prohlížeč
```
-### Projekty Kosmické hry
+### Projekty hry ve vesmíru
```bash
cd 6-space-game/solution
@@ -67,7 +67,7 @@ npm install
# Otevřete index.html v prohlížeči nebo použijte Live Server
```
-### Chat projekt (Python backend)
+### Chatovací projekt (Python backend)
```bash
cd 9-chat-project/solution/backend/python
@@ -80,183 +80,183 @@ python api.py
### Pro přispěvatele obsahu
-1. **Vytvořte fork** repozitáře na svém GitHub účtu
+1. **Rozvětvěte (fork) repozitář** do svého GitHub účtu
2. **Naklonujte svůj fork** lokálně
3. **Vytvořte novou větev** pro své změny
-4. Proveďte změny v obsahu lekcí nebo ukázkách kódu
-5. Otestujte případné změny kódu v příslušných adresářích projeků
-6. Odešlete pull requesty podle pravidel přispívání
+4. Proveďte změny v obsahu lekce nebo příkladech kódu
+5. Testujte kódové změny v příslušných projektových složkách
+6. Podávejte pull requesty podle pokynů pro přispění
### Pro studenty
-1. Vytvořte fork nebo naklonujte repozitář
-2. Procházejte adresáře lekcí postupně
-3. Čtěte README soubory každé lekce
-4. Vyplňte kvízy před lekcí na https://ff-quizzes.netlify.app/web/
-5. Propracujte se ukázkami kódu v adresářích lekcí
+1. Rozvětvěte nebo naklonujte repozitář
+2. Procházejte lekční složky postupně
+3. Čtěte README soubory pro každou lekci
+4. Dokončete předběžné kvízy na https://ff-quizzes.netlify.app/web/
+5. Procházejte příklady kódu v lekčních složkách
6. Dokončete úkoly a výzvy
-7. Udělejte kvízy po lekci
+7. Absolvujte kvízy po lekci
### Živý vývoj
-- **Dokumentace**: Spusťte `docsify serve` v kořenovém adresáři (port 3000)
-- **Quiz App**: Spusťte `npm run dev` v adresáři quiz-app
-- **Projekty**: Používejte VS Code Live Server rozšíření pro HTML projekty
-- **API projekty**: Spusťte `npm start` v odpovídajících API adresářích
+- **Dokumentace**: Spusťte `docsify serve` v rootu (port 3000)
+- **Quiz App**: Spusťte `npm run dev` ve složce quiz-app
+- **Projekty**: Použijte VS Code Live Server rozšíření pro HTML projekty
+- **API projekty**: Spusťte `npm start` v příslušných API složkách
-## Instrukce pro testování
+## Instrukce testování
### Testování Quiz App
```bash
cd quiz-app
npm run lint # Zkontrolujte problémy se stylem kódu
-npm run build # Ověřte úspěšnost sestavení
+npm run build # Ověřte, že kompilace proběhla úspěšně
```
### Testování Bank API
```bash
cd 7-bank-project/api
-npm run lint # Zkontrolujte problémy se stylem kódu
+npm run lint # Zkontrolujte problémy s stylem kódu
node server.js # Ověřte, že server startuje bez chyb
```
### Obecný přístup k testování
-- Jedná se o vzdělávací repozitář bez rozsáhlých automatizovaných testů
+- Toto je vzdělávací repozitář bez rozsáhlých automatizovaných testů
- Manuální testování se zaměřuje na:
- - Ukázky kódu bez chybového běhu
- - Odkazy v dokumentaci fungují správně
- - Projekty se úspěšně sestaví
- - Ukázky dodržují osvědčené postupy
+ - Příklady kódu bez chyb při spuštění
+ - Funkčnost odkazů v dokumentaci
+ - Úspěšné sestavení projektů
+ - Příklady odpovídající nejlepší praxi
-### Kontroly před odevzdáním
+### Kontroly před odesláním
-- Spusťte `npm run lint` v adresářích s package.json
-- Ověřte validitu markdown odkazů
-- Testujte ukázky kódu v prohlížeči nebo Node.js
+- Spusťte `npm run lint` ve složkách s package.json
+- Ověřte platnost odkazů v markdownu
+- Testujte příklady kódu v prohlížeči nebo Node.js
- Zkontrolujte, že překlady zachovávají správnou strukturu
-## Pravidla stylu kódu
+## Zásady stylu kódu
### JavaScript
-- Používejte moderní ES6+ syntaxi
-- Řiďte se standardními ESLint konfiguracemi v projektech
-- Používejte popisné názvy proměnných a funkcí pro snadné pochopení
+- Používejte moderní syntaxi ES6+
+- Dodržujte standardní ESLint konfigurace v projektech
+- Používejte smysluplné názvy proměnných a funkcí pro vzdělávací přehlednost
- Přidávejte komentáře vysvětlující koncepty pro studenty
- Formátujte pomocí Prettier tam, kde je nastaveno
### HTML/CSS
-- Používejte sémantické HTML5 elementy
+- Sémantické HTML5 elementy
- Principy responzivního designu
- Jasné konvence pojmenování tříd
- Komentáře vysvětlující CSS techniky pro studenty
### Python
-- Dodržujte PEP 8 styl
-- Jasné, vzdělávací ukázky kódu
-- Používejte typové hinty tam, kde je to užitečné pro učení
+- Dodržování PEP 8 stylu
+- Jasné, vzdělávací příklady kódu
+- Typové anotace tam, kde je to pro učení užitečné
### Markdown dokumentace
- Jasná hierarchie nadpisů
-- Kódové bloky s označením jazyka
-- Odkazy na doplňková zdroje
-- Snímky obrazovek a obrázky v adresářích `images/`
-- Alt text pro obrázky pro přístupnost
+- Kódové bloky s určením jazyka
+- Odkazy na další zdroje
+- Snímky obrazovky a obrázky ve složkách `images/`
+- Alt texty pro obrázky pro přístupnost
### Organizace souborů
-- Lekce číslovány sekvenčně (1-getting-started-lessons, 2-js-basics atd.)
-- Každý projekt obsahuje adresáře `solution/` a často `start/` nebo `your-work/`
-- Obrázky ukládány do specifických `images/` složek lekcí
-- Překlady v adresářové struktuře `translations/{language-code}/`
+- Lekce číslovány sekvenčně (1-getting-started-lessons, 2-js-basics, atd.)
+- Každý projekt má složky `solution/` a často `start/` nebo `your-work/`
+- Obrázky uložené v lekčně specifických složkách `images/`
+- Překlady ve struktuře `translations/{jazykový-kód}/`
## Sestavení a nasazení
### Nasazení Quiz App (Azure Static Web Apps)
-Quiz-app je nakonfigurována pro nasazení v Azure Static Web Apps:
+Quiz-app je konfigurován pro nasazení na Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Vytváří složku dist/
-# Nasazuje pomocí workflow GitHub Actions při push do hlavní větve
+# Nasazuje pomocí GitHub Actions workflow při pushi do main
```
Konfigurace Azure Static Web Apps:
- **Umístění aplikace**: `/quiz-app`
-- **Výstupní umístění**: `dist`
+- **Umístění výstupu**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Generování PDF dokumentace
```bash
npm install # Nainstalujte docsify-to-pdf
-npm run convert # Vytvořit PDF z docs
+npm run convert # Vygenerujte PDF z docs
```
-### Dokumentace Docsify
+### Docsify dokumentace
```bash
npm install -g docsify-cli # Nainstalujte Docsify globálně
-docsify serve # Spusťte na localhost:3000
+docsify serve # Spustit na localhost:3000
```
-### Projektově-specifické sestavení
+### Sestavení specifická pro projekt
-Každý projekt může mít vlastní proces sestavení:
-- Vue projekty: `npm run build` vytvoří produkční balíčky
-- Statické projekty: Žádný build krok, soubory se přímo servírují
+Každý projekt může mít vlastní build proces:
+- Vue projekty: `npm run build` vytváří produkční balíčky
+- Statické projekty: žádný build krok, soubory se podávají přímo
-## Pravidla pro pull requesty
+## Pokyny pro pull requesty
### Formát názvu
-Používejte jasné, popisné názvy s označením oblasti změny:
+Používejte jasné, popisné názvy uvádějící oblast změn:
- `[Quiz-app] Přidat nový kvíz pro lekci X`
-- `[Lesson-3] Opravit překlep v terrarium projektu`
+- `[Lesson-3] Opravit překlep v projektu terrária`
- `[Translation] Přidat španělský překlad pro lekci 5`
-- `[Docs] Aktualizovat instalační instrukce`
+- `[Docs] Aktualizovat instrukce pro nastavení`
### Povinné kontroly
Před odesláním PR:
1. **Kvalita kódu**:
- - Spusťte `npm run lint` v příslušných projektových složkách
+ - Spusťte `npm run lint` v ovlivněných projektových složkách
- Opravte všechny lintovací chyby a varování
2. **Ověření sestavení**:
- - Spusťte `npm run build` pokud je to relevantní
- - Zajistěte, že nejsou žádné chyby sestavení
+ - Spusťte `npm run build`, pokud je relevantní
+ - Zajistěte, že nejsou chyby sestavení
-3. **Validace odkazů**:
+3. **Ověření odkazů**:
- Otestujte všechny markdown odkazy
- - Ověřte fungování odkazů na obrázky
+ - Ověřte fungování referencí obrázků
-4. **Revize obsahu**:
- - Korektura pravopisu a gramatiky
- - Ověřte, že ukázky kódu jsou správné a vzdělávací
- - Zkontrolujte, že překlady zachovávají původní význam
+4. **Kontrola obsahu**:
+ - Korektury pravopisu a gramatiky
+ - Ověření správnosti a vzdělávací hodnoty příkladů kódu
+ - Ověření, že překlady zachovávají původní význam
-### Požadavky na přispívání
+### Požadavky na přispění
-- Souhlas s Microsoft CLA (automatická kontrola při prvním PR)
-- Dodržování [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
-- Podrobné instrukce v [CONTRIBUTING.md](./CONTRIBUTING.md)
-- Uvádějte čísla issues v popisu PR, pokud je to relevantní
+- Souhlas se smlouvou Microsoft CLA (automatická kontrola při prvním PR)
+- Dodržujte [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
+- Viz [CONTRIBUTING.md](./CONTRIBUTING.md) pro podrobné pokyny
+- V případě potřeby odkazujte čísla issue v popisu PR
### Proces revize
-- PR kontrolují maintainers a komunita
-- Priorita jasnost vzdělávacího obsahu
-- Ukázky kódu by měly dodržovat současné nejlepší praktiky
-- Překlady jsou kontrolovány na přesnost a kulturní vhodnost
+- PR kontrolují správci a komunita
+- Prioritou je vzdělávací srozumitelnost
+- Příklady kódu by měly odpovídat aktuálním nejlepším praktikám
+- Překlady se kontrolují z hlediska přesnosti a kulturní vhodnosti
## Překladový systém
@@ -265,14 +265,14 @@ Před odesláním PR:
- Používá GitHub Actions s workflow co-op-translator
- Automaticky překládá do více než 50 jazyků
- Zdrojové soubory v hlavních adresářích
-- Přeložené soubory v adresářích `translations/{language-code}/`
+- Přeložené soubory v adresářích `translations/{jazykový-kód}/`
-### Přidávání ručních vylepšení překladů
+### Přidávání manuálních úprav překladů
-1. Najděte soubor v `translations/{language-code}/`
-2. Proveďte úpravy při zachování struktury
-3. Ujistěte se, že ukázky kódu zůstávají funkční
-4. Otestujte lokalizovaný obsah kvízů
+1. Najděte soubor v `translations/{jazykový-kód}/`
+2. Proveďte úpravy s zachováním struktury
+3. Ověřte, že příklady kódu zůstávají funkční
+4. Testujte lokalizovaný obsah kvízů
### Metadata překladu
@@ -291,54 +291,54 @@ CO_OP_TRANSLATOR_METADATA:
## Ladění a řešení problémů
-### Časté problémy
+### Běžné problémy
-**Quiz aplikace nenaběhne**:
+**Quiz app se nespustí**:
- Zkontrolujte verzi Node.js (doporučeno v14+)
-- Odstraňte `node_modules` a `package-lock.json`, spusťte `npm install` znovu
+- Smažte `node_modules` a `package-lock.json`, spusťte znovu `npm install`
- Zkontrolujte konflikty portů (výchozí: Vite používá port 5173)
-**API server nenaběhne**:
-- Ověřte verzi Node.js (minimálně node >=10)
-- Zkontrolujte, zda port není obsazený
-- Ujistěte se, že jsou nainstalované všechny závislosti příkazem `npm install`
+**API server se nespustí**:
+- Ověřte, že verze Node.js splňuje minimální požadavky (node >=10)
+- Zkontrolujte, zda port není již obsazen
+- Ujistěte se, že jsou nainstalovány všechny závislosti `npm install`
-**Rozšíření prohlížeče se nenačítá**:
+**Rozšíření prohlížeče se nenačte**:
- Ověřte správné formátování manifest.json
-- Kontrola chyb v konzoli prohlížeče
-- Postupujte podle instrukcí specifických pro prohlížeč
+- Zkontrolujte prohlížečovou konzoli na chyby
+- Postupujte podle návodů k instalaci rozšíření specifických pro prohlížeč
**Problémy s Python chat projektem**:
-- Ujistěte se, že je nainstalován balíček OpenAI: `pip install openai`
-- Ověřte, že je nastavena proměnná prostředí GITHUB_TOKEN
-- Zkontrolujte oprávnění přístupu k GitHub modelům
+- Ujistěte se, že balíček OpenAI je nainstalován: `pip install openai`
+- Ověřte nastavení proměnné prostředí GITHUB_TOKEN
+- Zkontrolujte oprávnění k přístupu k GitHub Models
-**Docsify neservíruje dokumentaci**:
-- Globálně nainstalujte docsify-cli: `npm install -g docsify-cli`
-- Spusťte v kořenovém adresáři repozitáře
-- Ověřte, že existuje `docs/_sidebar.md`
+**Docsify neposkytuje dokumentaci**:
+- Nainstalujte docsify-cli globálně: `npm install -g docsify-cli`
+- Spusťte z kořenového adresáře repozitáře
+- Ověřte existenci `docs/_sidebar.md`
### Tipy pro vývojové prostředí
- Používejte VS Code s rozšířením Live Server pro HTML projekty
-- Nainstalujte ESLint a Prettier rozšíření pro jednotné formátování
-- K debugu JavaScriptu používejte DevTools v prohlížeči
-- Pro Vue projekty nainstalujte Vue DevTools rozšíření prohlížeče
+- Nainstalujte rozšíření ESLint a Prettier pro konzistentní formátování
+- Použijte DevTools v prohlížeči pro debugování JavaScriptu
+- Pro Vue projekty nainstalujte Vue DevTools rozšíření do prohlížeče
### Výkonové aspekty
-- Velké množství přeložených souborů (50+ jazyků) znamená velké klony
-- Použijte shallow clone, pokud pracujete pouze s obsahem: `git clone --depth 1`
+- Velké množství překladových souborů (50+ jazyků) znamená velké klony
+- Pro práci pouze s obsahem použijte shallow clone: `git clone --depth 1`
- Při práci s anglickým obsahem vylučujte překlady z vyhledávání
-- Procesy build mohou být při prvním spuštění pomalé (npm install, build Vite)
+- První běh build procesů může být pomalý (npm install, Vite build)
## Bezpečnostní aspekty
### Proměnné prostředí
-- API klíče nikdy neukládejte do repozitáře
-- Používejte `.env` soubory (jsou uvedeny v `.gitignore`)
-- Dokumentujte požadované proměnné prostředí v README projektů
+- API klíče by se nikdy neměly commitovat do repozitáře
+- Používejte `.env` soubory (již v `.gitignore`)
+- Dokumentujte požadované proměnné prostředí v README projektech
### Python projekty
@@ -346,35 +346,35 @@ CO_OP_TRANSLATOR_METADATA:
- Udržujte závislosti aktuální
- GitHub tokeny by měly mít minimální potřebná oprávnění
-### Přístup k GitHub modelům
+### Přístup k GitHub Models
-- Vyžadovány personal access tokens (PAT)
+- Pro GitHub Models jsou potřeba Personal Access Tokens (PAT)
- Tokeny ukládejte jako proměnné prostředí
-- Nikdy neukládejte tokeny ani přihlašovací údaje do repozitáře
+- Nikdy necommitujte tokeny či přihlašovací údaje
## Další poznámky
### Cílová skupina
-- Kompletní začátečníci ve webovém vývoji
+- Úplní začátečníci ve webovém vývoji
- Studenti a samouci
-- Učitelé využívající kurikulum ve třídě
-- Obsah navržen pro přístupnost a postupné budování dovedností
+- Učitelé používající kurikulum ve třídách
+- Obsah je navržen pro přístupnost a postupné rozvíjení dovedností
### Vzdělávací filozofie
-- Projektově orientované učení
+- Přístup založený na projektech
- Časté ověřování znalostí (kvízy)
-- Praktická cvičení v psaní kódu
-- Reálné příklady použití
-- Důraz na základy před frameworky
+- Praktická cvičení kódování
+- Příklady využití v reálném světě
+- Zaměření na základy před frameworky
### Údržba repozitáře
- Aktivní komunita studentů a přispěvatelů
- Pravidelné aktualizace závislostí a obsahu
-- Issues a diskuse sledovány maintainery
-- Aktualizace překladů automatizované přes GitHub Actions
+- Sledují se issues a diskuse správci
+- Aktualizace překladů automatizovány přes GitHub Actions
### Související zdroje
@@ -387,22 +387,22 @@ CO_OP_TRANSLATOR_METADATA:
Pro podrobné instrukce k jednotlivým projektům viz README soubory v:
- `quiz-app/README.md` - Vue 3 kvízová aplikace
-- `7-bank-project/README.md` - Bankovní aplikace s autentizací
+- `7-bank-project/README.md` - Bankovní aplikace s autentifikací
- `5-browser-extension/README.md` - Vývoj rozšíření prohlížeče
-- `6-space-game/README.md` - Vývoj hry založené na Canvas
-- `9-chat-project/README.md` - AI chat asistent projekt
+- `6-space-game/README.md` - Vývoj hry s využitím Canvas
+- `9-chat-project/README.md` - Projekt AI chat asistenta
-### Struktura Monorepo
+### Struktura monorepa
-Ačkoliv nejde o tradiční monorepo, tento repozitář obsahuje více nezávislých projektů:
+I když se nejedná o tradiční monorepo, tento repozitář obsahuje více nezávislých projektů:
- Každá lekce je samostatná
- Projekty nesdílí závislosti
-- Pracujte na jednotlivých projektech bez ovlivnění ostatních
-- Naklonujte celý repozitář pro plný zážitek kurikula
+- Pracujte na jednotlivých projektech, aniž byste ovlivnili ostatní
+- Pro plný kurz si naklonujte celý repozitář
---
-**Prohlášení o vyloučení odpovědnosti**:
-Tento dokument byl přeložen pomocí služby automatického překladu [Co-op Translator](https://github.com/Azure/co-op-translator). I když usilujeme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. U kritických informací se doporučuje využít profesionální lidský překlad. Nejsme odpovědní za jakákoli nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu.
+**Vyloučení odpovědnosti**:
+Tento dokument byl přeložen pomocí služby automatického překladu [Co-op Translator](https://github.com/Azure/co-op-translator). I když usilujeme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho původním jazyce by měl být považován za závazný zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Nejsme odpovědni za jakékoliv nedorozumění či nesprávné výklady vyplývající z použití tohoto překladu.
\ No newline at end of file
diff --git a/translations/cs/README.md b/translations/cs/README.md
index 6b04e6a0e..b4ad78650 100644
--- a/translations/cs/README.md
+++ b/translations/cs/README.md
@@ -10,251 +10,260 @@
[](https://discord.gg/nTYy5BXMWG)
-# Webový vývoj pro začátečníky - Kurikulum
+# Webový vývoj pro začátečníky - kurikulum
-Naučte se základy webového vývoje v našem 12týdenním komplexním kurzu od Microsoft Cloud Advocates. Každá z 24 lekcí se věnuje JavaScriptu, CSS a HTML prostřednictvím praktických projektů jako jsou terária, rozšíření prohlížeče a vesmírné hry. Zapojte se do kvízů, diskuzí a praktických úkolů. Zlepšete své dovednosti a optimalizujte si uchování znalostí s naší efektivní projektově orientovanou výukou. Začněte svou cestu s kódováním ještě dnes!
+Naučte se základy webového vývoje s naším 12týdenním komplexním kurzem od Microsoft Cloud Advocates. Každá ze 24 lekcí se zabývá JavaScriptem, CSS a HTML prostřednictvím praktických projektů, jako jsou terária, rozšíření pro prohlížeče a vesmírné hry. Zapojte se do kvízů, diskuzí a praktických úkolů. Zlepšete své dovednosti a optimalizujte uchování znalostí díky naší efektivní projektově orientované pedagogice. Začněte svou cestu programování ještě dnes!
-Přidejte se do komunity Azure AI Foundry na Discordu
+Připojte se k Azure AI Foundry Discord komunitě
[](https://discord.gg/nTYy5BXMWG)
-Postupujte podle těchto kroků, abyste mohli začít používat tyto zdroje:
-1. **Vytvořte forknutí repozitáře**: Klikněte na [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
+Postupujte podle těchto kroků, abyste začali používat tyto zdroje:
+1. **Vytvořte Fork repozitáře**: Klikněte na [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Naklonujte repozitář**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
-3. [**Připojte se k Azure AI Foundry Discordu a potkejte odborníky a ostatní vývojáře**](https://discord.com/invite/ByRwuEEgH4)
+3. [**Přidejte se k Azure AI Foundry Discord a poznejte experty a ostatní vývojáře**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Podpora více jazyků
-#### Podporováno skrze GitHub Action (automatizované a vždy aktuální)
+#### Podporováno pomocí GitHub Action (automatizováno a vždy aktuální)
-[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](./README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
+[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Čínština (zjednodušená)](../zh-CN/README.md) | [Čínština (tradiční, Hongkong)](../zh-HK/README.md) | [Čínština (tradiční, Macao)](../zh-MO/README.md) | [Čínština (tradiční, Tchaj-wan)](../zh-TW/README.md) | [Chorvatština](../hr/README.md) | [Čeština](./README.md) | [Dánština](../da/README.md) | [Nizozemština](../nl/README.md) | [Estonština](../et/README.md) | [Finština](../fi/README.md) | [Francouzština](../fr/README.md) | [Němčina](../de/README.md) | [Řečtina](../el/README.md) | [Hebrejština](../he/README.md) | [Hindština](../hi/README.md) | [Maďarština](../hu/README.md) | [Indonéština](../id/README.md) | [Italština](../it/README.md) | [Japonština](../ja/README.md) | [Kannadština](../kn/README.md) | [Korejština](../ko/README.md) | [Litevština](../lt/README.md) | [Malajština](../ms/README.md) | [Malayalam](../ml/README.md) | [Maráthština](../mr/README.md) | [Nepálština](../ne/README.md) | [Nigérijská pidžin](../pcm/README.md) | [Norština](../no/README.md) | [Perština (Farsi)](../fa/README.md) | [Polština](../pl/README.md) | [Portugalština (Brazílie)](../pt-BR/README.md) | [Portugalština (Portugalsko)](../pt-PT/README.md) | [Paňdžábština (Gurmukhí)](../pa/README.md) | [Rumunština](../ro/README.md) | [Ruština](../ru/README.md) | [Srbština (cyrilice)](../sr/README.md) | [Slovenština](../sk/README.md) | [Slovinština](../sl/README.md) | [Španělština](../es/README.md) | [Svahilština](../sw/README.md) | [Švédština](../sv/README.md) | [Tagalog (Filipínština)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugština](../te/README.md) | [Thajština](../th/README.md) | [Turečtina](../tr/README.md) | [Ukrajinština](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamština](../vi/README.md)
-> **Dáváte přednost lokálnímu klonování?**
-
-> Tento repozitář zahrnuje více než 50 překladů jazyků, což výrazně zvětšuje velikost stažených dat. Pro klonování bez překladů použijte sparse checkout:
+> **Raději klonovat lokálně?**
+>
+> Tento repozitář obsahuje více než 50 překladů jazyků, což výrazně zvětšuje velikost stahování. Pro klonování bez překladů použijte sparse checkout:
+>
+> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
-> To vám poskytne vše potřebné ke zdárnému dokončení kurzu a výrazně rychlejší stažení.
+>
+> **CMD (Windows):**
+> ```cmd
+> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
+> cd Web-Dev-For-Beginners
+> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
+> ```
+>
+> Tím získáte vše potřebné k dokončení kurzu s mnohem rychlejším stažením.
-**Pokud si přejete, aby byly podporovány další překladové jazyky, jsou uvedeny [zde](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
+**Pokud chcete podporu dalších jazyků, jsou zde uvedeny podporované jazykové možnosti [zde](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
-[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
+[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑🎓 _Jste student?_
-Navštivte [**Student Hub stránku**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), kde najdete začátečnické zdroje, studentské balíčky a dokonce způsoby, jak získat voucher na bezplatný certifikát. Tuto stránku si doporučujeme přidat do záložek a čas od času ji navštívit, protože obsah měníme měsíčně.
+Navštivte [**Student Hub stránku**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), kde naleznete zdroje pro začátečníky, studentské balíčky a dokonce i způsoby, jak získat bezplatný certifikát. Tuto stránku si chcete zařadit mezi oblíbené a čas od času ji zkontrolovat, protože obsah měníme měsíčně.
-### 📣 Oznámení - Nové výzvy GitHub Copilot Agent mode k dokončení!
+### 📣 Oznámení - Nové výzvy režimu GitHub Copilot Agent k dokončení!
-Nová výzva přidána, hledejte „GitHub Copilot Agent Challenge 🚀“ ve většině kapitol. Je to nová výzva, kterou můžete dokončit pomocí GitHub Copilota a režimu Agent. Pokud jste režim Agent předtím nepoužívali, dokáže nejen generovat text, ale také vytvářet a upravovat soubory, spouštět příkazy a další.
+Přidána nová výzva, hledejte "GitHub Copilot Agent Challenge 🚀" ve většině kapitol. To je nová výzva, kterou máte dokončit pomocí GitHub Copilot a režimu Agent. Pokud jste režim Agent nikdy nepoužili, umožňuje nejen generovat text, ale také vytvářet a upravovat soubory, spouštět příkazy a další.
-### 📣 Oznámení - _Nový projekt k postavení pomocí Generativní AI_
+### 📣 Oznámení - _Nový projekt k vytvoření pomocí generativní AI_
-Nový projekt AI asistenta právě přidán, podívejte se na [projekt](./9-chat-project/README.md)
+Právě přidán nový projekt AI asistenta, podívejte se na [projekt](./9-chat-project/README.md)
-### 📣 Oznámení - _Nové kurikulum_ o Generativní AI pro JavaScript právě vydáno
+### 📣 Oznámení - _Nové kurikulum_ o generativní AI pro JavaScript bylo právě vydáno
-Nezapomeňte na naše nové kurikulum Generativní AI!
+Nezmeškejte naše nové kurikulum Generativní AI!
Navštivte [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) a začněte!
-
+
+
+- Lekce pokrývají vše od základů až po RAG.
+- Komunikujte s historickými postavami pomocí GenAI a naší průvodní aplikace.
+- Zábavný a poutavý příběh, budete cestovat časem!
-- Lekce pokrývají vše od základů po RAG.
-- Komunikujte s historickými postavami pomocí GenAI a naší doprovodné aplikace.
-- Zábavný a poutavý příběh, při němž budete cestovat časem!
+
-
-Každá lekce zahrnuje úkol k dokončení, kontrolu znalostí a výzvu, která vás provede tématy jako:
-- Promptování a prompt engineering
+Každá lekce obsahuje úkol k dokončení, ověření znalostí a výzvu, která vás provede tématy jako:
+- Vytváření promptů a jejich inženýrství
- Generování textových a obrazových aplikací
- Vyhledávací aplikace
Navštivte [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) a začněte!
-
## 🌱 Začínáme
-> **Učitelé**, zahrnuli jsme [několik návrhů](for-teachers.md) jak toto kurikulum používat. Budeme rádi za vaši zpětnou vazbu [v našem diskuzním fóru](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
+> **Učitelé**, zahrnuli jsme [několik návrhů](for-teachers.md), jak použít toto kurikulum. Budeme rádi za vaši zpětnou vazbu [v našem diskuzním fóru](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
-**[Studující](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, u každé lekce začněte přednáškovým kvízem a pokračujte čtením materiálu přednášky, plněním různých aktivit a ověřte si pochopení pomocí kvízu po přednášce.
+**[Studující](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, u každé lekce začněte přednáškovým kvízem a pokračujte čtením přednáškového materiálu, dokončením různých aktivit a ověřením porozumění pomocí povětrná přednáškového kvízu.
-Pro lepší studijní zážitek se spojte se svými spolužáky a pracujte na projektech společně! Diskuze jsou vítané v našem [diskuzním fóru](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), kde je náš tým moderátorů připraven odpovědět na vaše dotazy.
+Pro lepší zkušenosti s učením se spojte s kolegy a pracujte na projektech společně! Diskuze jsou vítané v našem [diskuzním fóru](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), kde je k dispozici náš tým moderátorů, kteří vám pomohou.
-Pro další vzdělávání důrazně doporučujeme prozkoumat [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) pro doplňující studijní materiály.
+Pro další vzdělávání doporučujeme prozkoumat [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) pro doplňující studijní materiály.
### 📋 Nastavení vašeho prostředí
-Toto kurikulum má připravené vývojové prostředí! Jakmile začnete, můžete si vybrat spouštět kurikulum v [Codespace](https://github.com/features/codespaces/) (_prostředí v prohlížeči bez potřeby instalace_), nebo lokálně na vašem počítači pomocí textového editoru jako je [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+Toto kurikulum má připravené vývojové prostředí! Na začátku si můžete vybrat, zda budete kurz spouštět v [Codespace](https://github.com/features/codespaces/) (_prohlížečem ovládané prostředí bez nutnosti instalace_), nebo lokálně na svém počítači pomocí textového editoru, například [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
-#### Vytvořte si repozitář
-Pro snadné ukládání své práce je doporučeno vytvořit si vlastní kopii tohoto repozitáře. To můžete udělat kliknutím na tlačítko **Use this template** v horní části stránky. Tím vznikne nový repozitář ve vašem GitHub účtu s kopií kurikula.
+#### Vytvořte si vlastní repozitář
+Pro snadné ukládání vaší práce je doporučeno vytvořit si vlastní kopii tohoto repozitáře. Můžete tak učinit kliknutím na tlačítko **Použít tuto šablonu** na vrchu stránky. Tím se vytvoří nový repozitář na vašem GitHub účtu s kopií kurikula.
-Postupujte takto:
-1. **Vytvořte fork repozitáře**: Klikněte na tlačítko „Fork“ v pravém horním rohu této stránky.
+Postupujte následovně:
+1. **Vytvořte Fork repozitáře**: Klikněte na tlačítko „Fork“ v pravém horním rohu této stránky.
2. **Naklonujte repozitář**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Spuštění kurikula v Codespace
-Ve vaší kopii repozitáře, kterou jste vytvořili, klikněte na tlačítko **Code** a vyberte **Open with Codespaces**. Tím se pro vás vytvoří nový Codespace, ve kterém můžete pracovat.
+Ve své kopii repozitáře klikněte na tlačítko **Code** a vyberte **Open with Codespaces**. Tím vytvoříte nový Codespace, ve kterém můžete pracovat.

#### Spuštění kurikula lokálně na vašem počítači
-Pro spuštění kurikula lokálně budete potřebovat textový editor, prohlížeč a nástroj příkazového řádku. Naše první lekce, [Úvod do programovacích jazyků a nástrojů oboru](../../1-getting-started-lessons/1-intro-to-programming-languages), vás provede různými možnostmi těchto nástrojů, abyste si mohli vybrat, co vám nejlépe vyhovuje.
+Pro spuštění tohoto kurikula lokálně budete potřebovat textový editor, prohlížeč a nástroj příkazového řádku. Naše první lekce, [Úvod do programovacích jazyků a nástrojů](../../1-getting-started-lessons/1-intro-to-programming-languages), vás provede různými možnostmi pro každý z těchto nástrojů, abyste si vybrali, co vám vyhovuje nejvíce.
-Doporučujeme použít [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) jako editor, který má také vestavěný [Terminál](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code si můžete stáhnout [zde](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
-
-
-1. Naklonujte svůj repozitář do počítače. Můžete to udělat kliknutím na tlačítko **Code** a zkopírováním adresy URL:
+Doporučujeme použít [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) jako editor, který má také zabudovaný [Terminál](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code si můžete stáhnout [zde](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+1. Naklonujte si své úložiště do počítače. Můžete to udělat kliknutím na tlačítko **Code** a zkopírováním URL:
[CodeSpace](./images/createcodespace.png)
-Poté otevřete [Terminál](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) ve [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) a spusťte následující příkaz, přičemž `` nahraďte URL, kterou jste právě zkopírovali:
+
+ Poté otevřete [Terminál](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) ve [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) a spusťte následující příkaz, přičemž `` nahraďte právě zkopírovanou URL:
```bash
git clone
```
-2. Otevřete složku ve Visual Studio Code. To můžete udělat kliknutím na **Soubor** > **Otevřít složku** a vybráním složky, kterou jste právě naklonovali.
+2. Otevřete složku ve Visual Studio Code. Můžete to udělat kliknutím na **File** > **Open Folder** a výběrem složky, kterou jste právě naklonovali.
> Doporučené rozšíření Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - pro náhled HTML stránek přímo ve Visual Studio Code
-> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - který vám pomůže psát kód rychleji
+> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - pomáhá rychleji psát kód
-## 📂 Každá lekce zahrnuje:
+## 📂 Každá lekce obsahuje:
-- volitelnou náčrtovou poznámku
+- volitelnou náčrtnou poznámku (sketchnote)
- volitelné doplňkové video
-- rozcvičkový kvíz před lekcí
-- písemnou lekci
-- u lekcí založených na projektu podrobné návody, jak projekt vytvořit
-- kontrolní znalostní otázky
+- rozcvičovací kvíz před lekcí
+- psanou lekci
+- u lekcí založených na projektu krok za krokem průvodce, jak projekt postavit
+- kontrolní otázky
- výzvu
- doplňkové čtení
-- zadání
+- úkol
- [kvíz po lekci](https://ff-quizzes.netlify.app/web/)
-> **Poznámka ke kvízům**: Všechny kvízy jsou uloženy ve složce Quiz-app, celkem je 48 kvízů po třech otázkách. Jsou dostupné [zde](https://ff-quizzes.netlify.app/web/), kvízovou aplikaci lze spustit lokálně nebo nasadit na Azure; řiďte se pokyny ve složce `quiz-app`.
+> **Poznámka ke kvízům**: Všechny kvízy jsou uloženy ve složce Quiz-app, celkem 48 kvízů po třech otázkách. Jsou dostupné [zde](https://ff-quizzes.netlify.app/web/), kvízovou aplikaci lze spustit lokálně nebo nasadit na Azure; postupujte podle instrukcí ve složce `quiz-app`.
## 🗃️ Lekce
-| | Název projektu | Naučené koncepty | Výukové cíle | Odkaz na lekci | Autor |
-| :-: | :--------------------------------------------------------: | :--------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
-| 01 | Začínáme | Úvod do programování a nástroje řemeslníka | Naučte se základy většiny programovacích jazyků a o softwaru, který pomáhá profesionálním vývojářům vykonávat jejich práci | [Úvod do programovacích jazyků a nástrojů](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
-| 02 | Začínáme | Základy GitHubu, včetně práce v týmu | Jak používat GitHub ve vašem projektu, jak spolupracovat s ostatními na kódu | [Úvod do GitHubu](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
-| 03 | Začínáme | Přístupnost | Naučte se základy webové přístupnosti | [Základy přístupnosti](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
-| 04 | Základy JS | Datové typy JavaScriptu | Základy datových typů v JavaScriptu | [Datové typy](./2-js-basics/1-data-types/README.md) | Jasmine |
-| 05 | Základy JS | Funkce a metody | Naučte se o funkcích a metodách pro správu logiky aplikace | [Funkce a metody](./2-js-basics/2-functions-methods/README.md) | Jasmine a Christopher |
-| 06 | Základy JS | Tvorba podmínek v JS | Naučte se vytvářet podmínky ve vašem kódu pomocí rozhodovacích metod | [Tvorba rozhodnutí](./2-js-basics/3-making-decisions/README.md) | Jasmine |
-| 07 | Základy JS | Pole a smyčky | Pracujte s daty pomocí polí a smyček v JavaScriptu | [Pole a smyčky](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
-| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML v praxi | Vytvořte HTML pro online terárium se zaměřením na vytvoření rozvržení | [Úvod do HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
-| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS v praxi | Vytvořte CSS pro stylování online terária, se zaměřením na základy CSS včetně responzivního designu stránky | [Úvod do CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
-| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScriptové uzávěry, manipulace s DOM | Vytvořte JavaScript pro funkčnost terária jako drag/drop rozhraní, zaměřeno na uzávěry a manipulaci s DOM | [JavaScript uzávěry a manipulace s DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
-| 11 | [Hra psaní na klávesnici](./4-typing-game/solution/README.md) | Vytvoření hry psaní na klávesnici | Naučte se používat klávesové události k řízení logiky vaší JavaScriptové aplikace | [Programování událostmi](./4-typing-game/typing-game/README.md) | Christopher |
-| 12 | [Zelené rozšíření prohlížeče](./5-browser-extension/solution/README.md) | Práce s prohlížeči | Naučte se, jak prohlížeče fungují, jejich historický vývoj a jak vytvořit první prvky rozšíření prohlížeče | [O prohlížečích](./5-browser-extension/1-about-browsers/README.md) | Jen |
-| 13 | [Zelené rozšíření prohlížeče](./5-browser-extension/solution/README.md) | Vytváření formuláře, volání API a ukládání proměnných do místního úložiště | Vytvořte JavaScriptové prvky rozšíření prohlížeče, které volají API a používají proměnné uložené v místním úložišti | [API, formuláře a místní úložiště](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
-| 14 | [Zelené rozšíření prohlížeče](./5-browser-extension/solution/README.md) | Pozadí procesy v prohlížeči, webový výkon | Použijte pozadí procesy pro zvládání ikony rozšíření, naučte se o webovém výkonu a optimalizacích | [Pozadí a výkon](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
-| 15 | [Hra ve vesmíru](./6-space-game/solution/README.md) | Pokročilejší vývoj hry v JavaScriptu | Naučte se o dědičnosti pomocí tříd a kompozice, stejně jako o vzoru Pub/Sub, jako přípravu na tvorbu hry | [Úvod do pokročilého vývoje her](./6-space-game/1-introduction/README.md) | Chris |
-| 16 | [Hra ve vesmíru](./6-space-game/solution/README.md) | Kreslení na plátno | Naučte se o Canvas API používaném pro kreslení prvků na obrazovku | [Kreslení na plátno](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
-| 17 | [Hra ve vesmíru](./6-space-game/solution/README.md) | Pohyb prvků po obrazovce | Objevte, jak mohou prvky získat pohyb pomocí kartézských souřadnic a Canvas API | [Pohyb prvků](./6-space-game/3-moving-elements-around/README.md) | Chris |
-| 18 | [Hra ve vesmíru](./6-space-game/solution/README.md) | Detekce kolizí | Umožněte prvkům kolidovat a reagovat na sebe pomocí stisknutí kláves a přidejte cooldown funkci pro zajištění výkonu hry | [Detekce kolizí](./6-space-game/4-collision-detection/README.md) | Chris |
-| 19 | [Hra ve vesmíru](./6-space-game/solution/README.md) | Udržování skóre | Provádějte matematické výpočty založené na stavu a výkonu hry | [Udržování skóre](./6-space-game/5-keeping-score/README.md) | Chris |
-| 20 | [Hra ve vesmíru](./6-space-game/solution/README.md) | Ukončování a restartování hry | Naučte se o ukončení a restartování hry, včetně čištění zdrojů a resetování proměnných hodnot | [Podmínka ukončení](./6-space-game/6-end-condition/README.md) | Chris |
-| 21 | [Bankovní aplikace](./7-bank-project/solution/README.md) | HTML šablony a směrování v webové aplikaci | Naučte se vytvořit strukturu více stránkové webové aplikace použitím směrování a HTML šablon | [HTML šablony a směrování](./7-bank-project/1-template-route/README.md) | Yohan |
-| 22 | [Bankovní aplikace](./7-bank-project/solution/README.md) | Vytvoření přihlašovacího a registračního formuláře | Naučte se vytvářet formuláře a zpracovávat validační rutiny | [Formuláře](./7-bank-project/2-forms/README.md) | Yohan |
-| 23 | [Bankovní aplikace](./7-bank-project/solution/README.md) | Metody získávání a použití dat | Jak data proudí do vaší aplikace a ven, jak je načítat, ukládat a likvidovat | [Data](./7-bank-project/3-data/README.md) | Yohan |
-| 24 | [Bankovní aplikace](./7-bank-project/solution/README.md) | Koncepty správy stavu | Naučte se, jak vaše aplikace uchovává stav a jak s ním programově pracovat | [Správa stavu](./7-bank-project/4-state-management/README.md) | Yohan |
-| 25 | [Editor kódu pro prohlížeč/VScode](../../8-code-editor) | Práce s VScodem | Naučte se používat editor kódu | [Použití editoru VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
-| 26 | [AI asistenti](./9-chat-project/README.md) | Práce s AI | Naučte se vytvořit vlastního AI asistenta | [Projekt AI asistenta](./9-chat-project/README.md) | Chris |
+| | Název projektu | Naučené koncepty | Cíle učení | Propojená lekce | Autor |
+| :-: | :--------------------------------------------------------: | :--------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
+| 01 | Začínáme | Úvod do programování a nástroje řemesla | Naučte se základní principy většiny programovacích jazyků a o softwaru, která pomáhá profesionálním vývojářům | [Úvod do programovacích jazyků a nástrojů](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
+| 02 | Začínáme | Základy GitHubu, včetně práce v týmu | Jak používat GitHub ve vašem projektu, jak spolupracovat s ostatními na kódu | [Úvod do GitHubu](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
+| 03 | Začínáme | Přístupnost | Naučte se základy webové přístupnosti | [Základy přístupnosti](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
+| 04 | Základy JS | Datové typy JavaScriptu | Základy datových typů v JavaScriptu | [Datové typy](./2-js-basics/1-data-types/README.md) | Jasmine |
+| 05 | Základy JS | Funkce a metody | Naučte se o funkcích a metodách k řízení logiky aplikace | [Funkce a metody](./2-js-basics/2-functions-methods/README.md) | Jasmine a Christopher |
+| 06 | Základy JS | Rozhodování v JS | Naučte se vytvářet podmínky ve vašem kódu pomocí rozhodovacích metod | [Rozhodování](./2-js-basics/3-making-decisions/README.md) | Jasmine |
+| 07 | Základy JS | Pole a cykly | Práce s daty pomocí polí a cyklů v JavaScriptu | [Pole a cykly](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
+| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML v praxi | Vytvořte HTML pro online terárium, zaměřte se na tvorbu rozvržení | [Úvod do HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
+| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS v praxi | Vytvořte CSS pro stylování online terária, zaměřte se na základy CSS včetně responzivního designu | [Úvod do CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
+| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScriptové uzávěry, manipulace s DOM | Napište JavaScript, aby terárium fungovalo jako rozhraní drag/drop, zaměřte se na uzávěry a manipulaci s DOM | [JavaScriptové uzávěry, manipulace s DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
+| 11 | [Typing Game](./4-typing-game/solution/README.md) | Vytvoření hry psaní na klávesnici | Naučte se používat události klávesnice k řízení logiky JavaScriptové aplikace | [Programování řízené událostmi](./4-typing-game/typing-game/README.md) | Christopher |
+| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Práce s prohlížeči | Naučte se, jak fungují prohlížeče, jejich historii a jak vytvářet základy rozšíření prohlížeče | [O prohlížečích](./5-browser-extension/1-about-browsers/README.md) | Jen |
+| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Vytváření formuláře, volání API a ukládání proměnných v lokálním úložišti | Vytvořte JavaScriptové prvky rozšíření pro volání API pomocí proměnných uložených v lokálním úložišti | [API, formuláře a lokální úložiště](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
+| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Pozadí procesů v prohlížeči, webový výkon | Použijte pozadí prohlížeče ke správě ikony rozšíření; naučte se o výkonu webu a optimalizacích | [Pozadí úkolů a výkon](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
+| 15 | [Space Game](./6-space-game/solution/README.md) | Pokročilejší vývoj her v JavaScriptu | Naučte se o dědičnosti pomocí tříd a kompozice a o vzoru Pub/Sub jako příprava na tvorbu hry | [Úvod do pokročilého vývoje her](./6-space-game/1-introduction/README.md) | Chris |
+| 16 | [Space Game](./6-space-game/solution/README.md) | Kreslení na plátno | Naučte se o Canvas API, které slouží k vykreslování prvků na obrazovku | [Kreslení na plátno](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
+| 17 | [Space Game](./6-space-game/solution/README.md) | Pohyb prvků po obrazovce | Objevte, jak mohou prvky získat pohyb pomocí kartézských souřadnic a Canvas API | [Pohyb prvků](./6-space-game/3-moving-elements-around/README.md) | Chris |
+| 18 | [Space Game](./6-space-game/solution/README.md) | Detekce kolizí | Udělejte, aby se prvky srážely a reagovaly na sebe pomocí stisků kláves a přidejte funkci chladnutí pro výkon hry | [Detekce kolizí](./6-space-game/4-collision-detection/README.md) | Chris |
+| 19 | [Space Game](./6-space-game/solution/README.md) | Udržování skóre | Proveďte matematické výpočty na základě stavu a výkonu hry | [Udržování skóre](./6-space-game/5-keeping-score/README.md) | Chris |
+| 20 | [Space Game](./6-space-game/solution/README.md) | Ukončení a restartování hry | Naučte se o ukončení a restartování hry, včetně čištění zdrojů a resetování proměnných | [Podmínka ukončení](./6-space-game/6-end-condition/README.md) | Chris |
+| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML šablony a směrování ve webové aplikaci | Naučte se vytvářet architekturu vícestránkového webu pomocí směrování a HTML šablon | [HTML šablony a směrování](./7-bank-project/1-template-route/README.md) | Yohan |
+| 22 | [Banking App](./7-bank-project/solution/README.md) | Vytvoření přihlašovacího a registračního formuláře | Naučte se o tvorbě formulářů a zpracování validací | [Formuláře](./7-bank-project/2-forms/README.md) | Yohan |
+| 23 | [Banking App](./7-bank-project/solution/README.md) | Metody získávání a použití dat | Jak data proudí do a z vaší aplikace, jak je získávat, ukládat a odstraňovat | [Data](./7-bank-project/3-data/README.md) | Yohan |
+| 24 | [Banking App](./7-bank-project/solution/README.md) | Koncepty správy stavu | Naučte se, jak vaše aplikace udržuje stav a jak ho programově spravovat | [Správa stavu](./7-bank-project/4-state-management/README.md) | Yohan |
+| 25 | [Browser/VScode Code](../../8-code-editor) | Práce s VScode | Naučte se používat editor kódu | [Použití editoru kódu VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
+| 26 | [AI Assistants](./9-chat-project/README.md) | Práce s AI | Naučte se vytvořit vlastního AI asistenta | [Projekt AI asistenta](./9-chat-project/README.md) | Chris |
## 🏫 Pedagogika
-Náš učební plán je navržen se dvěma klíčovými pedagogickými principy:
+Náš výukový plán je navržen s ohledem na dva klíčové pedagogické principy:
* učení založené na projektech
* časté kvízy
-Program učí základy JavaScriptu, HTML a CSS, stejně jako nejnovější nástroje a techniky používané dnešními webovými vývojáři. Studenti získají příležitost získat praktické zkušenosti tvorbou hry na psaní na klávesnici, virtuálního terária, ekologicky šetrného rozšíření prohlížeče, hry ve stylu vesmírných vetřelců a bankovní aplikace pro firmy. Po dokončení série budou studenti mít pevné základy webového vývoje.
+Program učí základy JavaScriptu, HTML a CSS, stejně jako nejnovější nástroje a techniky používané dnešními webovými vývojáři. Studenti budou mít možnost získat praktické zkušenosti stavbou hry psaní na klávesnici, virtuálního terária, ekologického rozšíření prohlížeče, hry ve stylu Space Invaders a bankovní aplikace pro firmy. Na konci série budou mít studenti pevné základy webového vývoje.
-> 🎓 První lekce tohoto učebního plánu můžete absolvovat také jako [Výukovou cestu](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) na Microsoft Learn!
+> 🎓 První lekce tohoto kurzu můžete absolvovat jako [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) na Microsoft Learn!
-Zajištěním, že obsah odpovídá projektům, se proces pro studenty stává zajímavějším a dochází k lepšímu zapamatování konceptů. Napsali jsme také několik úvodních lekcí základů JavaScriptu, které představují koncepty, doplněné videem ze série "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", jejíchž autoři se na plánu podíleli.
+Díky sladění obsahu s projekty je proces pro studenty zajímavější a zvyšuje se zapamatování konceptů. Také jsme napsali několik úvodních lekcí o základech JavaScriptu doplněných videi z kolekce "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", jejichž autoři se podíleli na tomto kurzu.
-Navíc nízkorizikový kvíz před hodinou nastaví studentovi záměr naučit se téma, zatímco druhý kvíz po hodině zajistí další upevnění znalostí. Tento učební plán je navržen tak, aby byl flexibilní a zábavný, lze jej absolvovat celý nebo částečně. Projekty začínají jednoduché a ke konci 12týdenního cyklu se postupně stávají složitějšími.
+Navíc nízkorizikový kvíz před hodinou nastavuje záměr studenta se učit dané téma, zatímco druhý kvíz po hodině podporuje další zapamatování. Tento kurz je navržen tak, aby byl flexibilní a zábavný a lze ho absolvovat celý nebo částečně. Projekty začínají malé a na konci 12týdenního cyklu jsou stále složitější.
-Ačkoliv jsme záměrně vynechali zavádění JavaScriptových frameworků, abychom se zaměřili na základní dovednosti webového vývojáře před adopcí frameworku, vhodným dalším krokem po absolvování tohoto kurzu je naučit se Node.js prostřednictvím další kolekce videí: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
+Záměrně jsme se vyhnuli zavádění JavaScriptových frameworků, abychom se soustředili na základní dovednosti potřebné jako webový vývojář před přijetím frameworku, dobrým dalším krokem po absolvování tohoto kurzu by bylo naučit se Node.js prostřednictvím jiné kolekce videí: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
-> Navštivte naše [chování](CODE_OF_CONDUCT.md) a [příspěvky](CONTRIBUTING.md) pravidla. Vítáme vaše konstruktivní návrhy!
+> Navštivte naše [Kodex chování](CODE_OF_CONDUCT.md) a [Přispívání](CONTRIBUTING.md). Těšíme se na vaše konstruktivní návrhy!
## 🧭 Offline přístup
-Tuto dokumentaci můžete spustit offline pomocí [Docsify](https://docsify.js.org/#/). Vytvořte fork tohoto repozitáře, [nainstalujte Docsify](https://docsify.js.org/#/quickstart) na svém počítači a poté ve výchozím adresáři repozitáře spusťte příkaz `docsify serve`. Webová stránka poběží na portu 3000 na vašem localhostu: `localhost:3000`.
+Tuto dokumentaci můžete spustit offline pomocí [Docsify](https://docsify.js.org/#/). Forkněte si toto repo, [nainstalujte Docsify](https://docsify.js.org/#/quickstart) na svém počítači a poté v kořenové složce tohoto repozitáře spusťte příkaz `docsify serve`. Webová stránka bude servírována na portu 3000 na vašem localhostu: `localhost:3000`.
## 📘 PDF
+PDF všech lekcí naleznete [zde](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
-PDF se všemi lekcemi naleznete [zde](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
+## 🎒 Ostatní kurzy
-## 🎒 Další kurzy
-Náš tým vytváří i další kurzy! Podívejte se:
+Náš tým připravuje i další kurzy! Podívejte se na:
### LangChain
-[](https://aka.ms/langchain4j-for-beginners)
-[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
-[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
+[](https://aka.ms/langchain4j-for-beginners)
+[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
+[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
-### Azure / Edge / MCP / Agenti
-[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
+### Azure / Edge / MCP / Agents
+[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
-### Série Generativní AI
-[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
-[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
-[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
-[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
+### Generativní AI série
+[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
+[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
+[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
+[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
-### Základní učení
-[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
+### Základní vzdělávání
+[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Série Copilot
-[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
## Získání pomoci
-Pokud se zaseknete nebo máte jakékoli otázky ohledně vývoje AI aplikací, připojte se k ostatním učenlivým a zkušeným vývojářům v diskuzích o MCP. Je to podpůrná komunita, kde jsou otázky vítány a znalosti se sdílejí svobodně.
+Pokud se zaseknete nebo máte otázky ohledně tvorby AI aplikací, připojte se k ostatním studentům a zkušeným vývojářům v diskusích o MCP. Je to podpůrná komunita, kde jsou otázky vítány a znalosti se sdílejí otevřeně.
[](https://discord.gg/nTYy5BXMWG)
-Pokud máte zpětnou vazbu k produktu nebo chcete hlásit chyby při tvorbě, navštivte:
+Pokud máte zpětnou vazbu k produktu nebo narazíte na chyby během vývoje, navštivte:
[](https://aka.ms/foundry/forum)
@@ -265,6 +274,6 @@ Tento repozitář je licencován pod licencí MIT. Více informací naleznete v
---
-**Prohlášení o vyloučení odpovědnosti**:
-Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). Přestože se snažíme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro zásadní informace je doporučován profesionální lidský překlad. Nejsme odpovědní za jakékoli nedorozumění nebo nesprávné výklady vzniklé použitím tohoto překladu.
+**Prohlášení o vyloučení odpovědnosti**:
+Tento dokument byl přeložen pomocí AI překladatelské služby [Co-op Translator](https://github.com/Azure/co-op-translator). I když usilujeme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Originální dokument v jeho rodném jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Za jakékoli nedorozumění nebo nesprávné výklady vzniklé z použití tohoto překladu neneseme odpovědnost.
\ No newline at end of file
diff --git a/translations/da/.co-op-translator.json b/translations/da/.co-op-translator.json
index 15f1dc205..dde1231a2 100644
--- a/translations/da/.co-op-translator.json
+++ b/translations/da/.co-op-translator.json
@@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
- "original_hash": "d45ddcc54eb9232a76d08328b09d792e",
- "translation_date": "2026-01-07T00:03:59+00:00",
+ "original_hash": "bec5e35642176d9e483552bfc82996d8",
+ "translation_date": "2026-03-06T18:16:38+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "da"
},
@@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
- "translation_date": "2026-02-06T17:25:00+00:00",
+ "translation_date": "2026-03-06T18:29:53+00:00",
"source_file": "AGENTS.md",
"language_code": "da"
},
@@ -516,8 +516,8 @@
"language_code": "da"
},
"README.md": {
- "original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
- "translation_date": "2026-02-06T17:20:19+00:00",
+ "original_hash": "a2c9eed480687319517c08a6319e5536",
+ "translation_date": "2026-03-06T18:12:27+00:00",
"source_file": "README.md",
"language_code": "da"
},
diff --git a/translations/da/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/da/1-getting-started-lessons/1-intro-to-programming-languages/README.md
index 7037f29a2..b6d64bfe2 100644
--- a/translations/da/1-getting-started-lessons/1-intro-to-programming-languages/README.md
+++ b/translations/da/1-getting-started-lessons/1-intro-to-programming-languages/README.md
@@ -1,12 +1,12 @@
# Introduktion til programmeringssprog og moderne udviklerværktøjer
-Hej der, kommende udvikler! 👋 Må jeg fortælle dig noget, der stadig giver mig kuldegysninger hver eneste dag? Du er ved at opdage, at programmering ikke bare handler om computere – det handler om at have ægte superkræfter til at bringe dine vildeste idéer til live!
+Hej der, fremtidige udvikler! 👋 Må jeg fortælle dig noget, der stadig giver mig kuldegysninger hver eneste dag? Du er ved at opdage, at programmering ikke kun handler om computere – det handler om at have egentlige superkræfter til at bringe dine vildeste idéer til live!
-Du kender det øjeblik, hvor du bruger din yndlingsapp, og alt bare fungerer perfekt? Når du trykker på en knap, og noget helt magisk sker, som får dig til at sige "wow, hvordan gjorde de DET?" Nå, nogen ligesom dig – sandsynligvis siddende i deres yndlingskaffebar kl. 2 om natten med deres tredje espresso – skrev koden, der skabte den magi. Og her er det, der vil blæse dig væk: ved slutningen af denne lektion vil du ikke kun forstå, hvordan de gjorde det, men du vil også være ivrig efter at prøve det selv!
+Du kender det øjeblik, hvor du bruger din yndlingsapp, og alt bare klikker perfekt? Når du trykker på en knap, og der sker noget helt magisk, som får dig til at sige "wow, hvordan gjorde de DET?" Nå, så er det en person ligesom dig – sandsynligvis sidder de i deres yndlingscafé kl. 2 om natten med deres tredje espresso – som skrev koden, der skabte den magi. Og her kommer noget, der vil blæse dig omkuld: når vi er færdige med denne lektion, vil du ikke kun forstå, hvordan de gjorde det, men du vil være helt ivrig efter selv at prøve!
-Se, jeg forstår fuldt ud, hvis programmering føles skræmmende lige nu. Da jeg begyndte, troede jeg ærligt talt, at du skulle være en slags matematisk geni eller have kodet siden du var fem år gammel. Men her er det, der fuldstændig ændrede min opfattelse: programmering er præcis som at lære at føre samtaler på et nyt sprog. Du starter med "hej" og "tak," så øver du dig i at bestille kaffe, og før du ved af det, har du dybe filosofiske diskussioner! Bortset fra at i dette tilfælde fører du samtaler med computere, og ærligt talt? De er de mest tålmodige samtalepartnere, du nogensinde vil møde – de dømmer aldrig dine fejl og er altid begejstrede for at prøve igen!
+Se, jeg forstår det godt, hvis programmering føles intimiderende lige nu. Da jeg begyndte, troede jeg ærligt talt, at man skulle være en slags matematisk geni eller have kodet siden, man var fem år gammel. Men her er det, der helt ændrede mit perspektiv: programmering er præcis som at lære at føre samtaler på et nyt sprog. Du starter med "hej" og "tak," så lærer du at bestille kaffe, og inden du ved af det, fører du dybe filosofiske samtaler! Bortset fra at i dette tilfælde fører du samtaler med computere, og helt seriøst? De er de mest tålmodige samtalepartnere, du nogensinde vil møde – de dømmer aldrig dine fejl og er altid begejstrede for at prøve igen!
-I dag skal vi udforske de utrolige værktøjer, der gør moderne webudvikling ikke bare mulig, men også seriøst vanedannende. Jeg taler om de nøjagtige redaktører, browsere og arbejdsprocesser, som udviklere hos Netflix, Spotify og dit yndlings indie app-studie bruger hver eneste dag. Og her er den del, der vil få dig til at lave en glad dans: de fleste af disse professionelle, branchestandard-værktøjer er helt gratis!
+I dag skal vi udforske de utrolige værktøjer, der gør moderne webudvikling ikke bare muligt, men decideret vanedannende. Jeg taler om præcis de samme editorer, browsere og arbejdsgange, som udviklere hos Netflix, Spotify og dit yndlings indie app-studie bruger hver eneste dag. Og her kommer den del, der får dig til at danse af glæde: de fleste af disse professionelle, branchestandard værktøjer er fuldstændig gratis!

> Sketchnote af [Tomomi Imura](https://twitter.com/girlie_mac)
@@ -24,61 +24,61 @@ journey
Kommandolinje: 3: You
section Øv
Sprogdetektiv: 4: You
- Værktøjseksploration: 5: You
+ Værktøjsekspedition: 5: You
Fællesskabsforbindelse: 5: You
```
## Lad os se, hvad du allerede ved!
-Inden vi hopper til det sjove, er jeg nysgerrig – hvad ved du allerede om denne programmeringsverden? Og hør, hvis du kigger på disse spørgsmål og tænker "jeg har bogstaveligt talt nul idé om noget af dette," så er det ikke bare okay, det er perfekt! Det betyder, at du er lige præcis det rigtige sted. Tænk på denne quiz som opvarmning før træning – vi varmer bare hjernemusklerne op!
+Før vi springer ud i det sjove, er jeg nysgerrig – hvad ved du allerede om denne programmeringsverden? Og hør, hvis du kigger på disse spørgsmål og tænker "jeg har bogstaveligt talt nul idé om noget som helst af det her," så er det ikke bare i orden, det er perfekt! Det betyder, at du er helt det rigtige sted. Tænk på denne quiz som opvarmning før træning – vi varmer bare hjerne musklerne op!
-[Tag pre-lektion quizzen](https://forms.office.com/r/dru4TE0U9n?origin=lprLink)
+[Tag pre-lesson quizzen](https://ff-quizzes.netlify.app/web/)
-## Eventyret vi skal tage på sammen
+## Eventyret, vi snart skal på sammen
-Okay, jeg er ægte begejstret og hopper næsten af sted for at udforske det, vi skal i dag! Seriøst, jeg ville ønske, jeg kunne se dit ansigt, når nogle af disse koncepter går op for dig. Her er den utrolige rejse, vi tager sammen:
+Okay, jeg er virkelig begejstret for, hvad vi skal udforske i dag! Seriøst, jeg ville ønske, jeg kunne se dit ansigt, når nogle af disse koncepter klikker for dig. Her er den utrolige rejse, vi tager sammen:
-- **Hvad programmering egentlig er (og hvorfor det er det fedeste i verden!)** – Vi skal opdage, hvordan kode bogstaveligt talt er den usynlige magi, der driver alt omkring dig, fra den alarm, der på en eller anden måde ved, det er mandag morgen, til algoritmen, der perfekt kuraterer dine Netflix-anbefalinger
-- **Programmeringssprog og deres fantastiske personligheder** – Forestil dig at komme til en fest, hvor hver person har helt forskellige superkræfter og måder at løse problemer på. Sådan er verden af programmeringssprog, og du vil elske at møde dem!
-- **De grundlæggende byggesten, der får digital magi til at ske** – Tænk på disse som det ultimative kreative LEGO-sæt. Når du forstår, hvordan disse stykker passer sammen, vil du indse, at du bogstaveligt talt kan bygge alt, hvad din fantasi drømmer om
-- **Professionelle værktøjer, der får dig til at føle, at du lige har fået udleveret en troldmandsstav** – Jeg overdriver ikke her – disse værktøjer får dig virkelig til at føle, at du har superkræfter, og det bedste? Det er de samme, som professionelle bruger!
+- **Hvad programmering egentlig er (og hvorfor det er det fedeste overhovedet!)** – Vi skal opdage, hvordan kode bogstaveligt talt er den usynlige magi, der driver alt omkring dig, fra det vækkeur, der på en eller anden måde ved, det er mandag morgen, til algoritmen, der perfekt kuraterer dine Netflix-anbefalinger
+- **Programmeringssprog og deres fantastiske personligheder** – Forestil dig at gå til en fest, hvor hver person har helt forskellige superkræfter og måder at løse problemer på. Sådan er programmeringssprogenes verden, og du kommer til at elske at møde dem!
+- **De grundlæggende byggesten, der skaber digital magi** – Tænk på disse som det ultimative kreative LEGO sæt. Når du forstår, hvordan disse brikker passer sammen, vil du indse, at du bogstaveligt talt kan bygge alt, hvad din fantasi drømmer om
+- **Professionelle værktøjer, der får dig til at føle, at du lige har fået en troldmandsstav** – Jeg overdriver ikke – disse værktøjer vil virkelig få dig til at føle, at du har superkræfter, og det bedste? Det er de samme, som profferne bruger!
-> 💡 **Det her er sagen**: Tænk ikke engang på at prøve at huske alting i dag! Lige nu vil jeg bare have, at du mærker gnisten af begejstring over, hvad der er muligt. Detaljerne vil fastholde sig naturligt, når vi øver sammen – det er sådan, rigtig læring sker!
+> 💡 **Her er sagen**: Tænk ikke engang på at forsøge at huske alt i dag! Lige nu vil jeg bare have, at du mærker den gnist af begejstring for, hvad der er muligt. Detaljerne sidder naturligt fast, mens vi øver sammen – sådan sker rigtig læring!
-> Du kan tage denne lektion på [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
+> Du kan tage denne lektion på [Microsoft Learn](https://learn.microsoft.com/en-us/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
-## Så hvad *er* programmering egentlig?
+## Hvad er programmering egentlig?
-Okay, lad os tage fat på million-dollar spørgsmålet: hvad er programmering egentlig?
+Okay, lad os tage milliondollarsspørgsmålet: hvad er programmering egentlig?
-Jeg vil give dig en historie, der fuldstændig ændrede min måde at tænke på det her. I sidste uge prøvede jeg at forklare min mor, hvordan hun bruger vores nye smart TV-fjernbetjening. Jeg fangede mig selv i at sige ting som "Tryk på den røde knap, men ikke den store røde knap, den lille røde knap til venstre... nej, din anden venstre... okay, nu hold den i to sekunder, ikke et, ikke tre..." Lyder det bekendt? 😅
+Jeg vil fortælle dig en historie, der helt ændrede, hvordan jeg ser det. I sidste uge prøvede jeg at forklare min mor, hvordan hun bruger vores nye smart TV-fjernbetjening. Jeg fangede mig selv i at sige ting som "Tryk på den røde knap, men ikke den store røde knap, den lille røde knap til venstre... nej, din anden venstre... okay, hold den nu i to sekunder, ikke et, ikke tre..." Lyder det bekendt? 😅
-Det er programmering! Det er kunsten at give utroligt detaljerede, trin-for-trin instruktioner til noget, der er meget kraftfuldt, men som har brug for, at alt bliver stavet ud helt præcist. Bortset fra at i stedet for at forklare det til din mor (som kan spørge "hvilken rød knap?!"), forklarer du det til en computer (som bare gør præcis, hvad du siger, selvom det, du sagde, ikke helt var det, du mente).
+Det er programmering! Det er kunsten at give utrolig detaljerede, trin-for-trin instruktioner til noget, der er meget kraftfuldt, men som skal have alt stavet helt præcist ud. Bortset fra at i stedet for at forklare det til din mor (som kan spørge "hvilken rød knap?!"), forklarer du det til en computer (der bare gør præcis, hvad du siger, selvom det, du sagde, ikke helt er det, du mente).
-Her er det, der blæste mit sind, da jeg først lærte det: computere er faktisk ret simple i deres kerne. De forstår faktisk kun to ting – 1 og 0, hvilket grundlæggende bare er "ja" og "nej" eller "til" og "fra." Det er det! Men her bliver det magisk – vi behøver ikke tale i 1'ere og 0'ere, som om vi var i The Matrix. Det er her, **programmeringssprog** kommer til undsætning. De er som verdens bedste oversætter, der tager dine helt almindelige mennesketanker og omsætter dem til computersprog.
+Her er, hvad der blæste mig omkuld, da jeg lærte det første gang: computere er faktisk ret simple i deres kerne. De forstår bogstaveligt talt kun to ting – 1 og 0, som grundlæggende bare betyder "ja" og "nej" eller "til" og "fra." Det er det! Men her bliver det magisk – vi behøver ikke at tale i 1'ere og 0'ere som i The Matrix. Det er her, **programmeringssprogene** kommer ind som superhelte. De er som den bedste oversætter i verden, der tager dine helt normale mennesketanker og omsætter dem til computersprog.
-Og her er det, der stadig giver mig ægte kuldegysninger hver morgen, når jeg vågner: bogstaveligt talt *alt* digitalt i dit liv startede med nogen ligesom dig, sandsynligvis siddende i deres pyjamas med en kop kaffe, der skrev kode på deres bærbare. Det Instagram-filter, der får dig til at se fejlfri ud? Nogen kodede det. Anbefalingen, der førte dig til din nye yndlingssang? En udvikler byggede den algoritme. Appen, der hjælper dig med at dele middagsregningen med venner? Jep, nogen tænkte "det her er irriterende, det kan jeg fixe" og så... gjorde de det!
+Og her er noget, der stadig giver mig virkelige kuldegysninger hver morgen, når jeg vågner: bogstaveligt talt *alt* digitalt i dit liv startede med en person ligesom dig, sikkert siddende i pyjamas med en kop kaffe til at skrive kode på deres laptop. Den Instagram-filter, der får dig til at se fejlfri ud? Nogen skrev den kode. Anbefalingen, der førte dig til din nye yndlingssang? En udvikler byggede den algoritme. Appen, der hjælper dig med at dele regninger til middag med venner? Yep, nogen tænkte "det her er irriterende, det kan jeg fixe" – og så gjorde de det!
-Når du lærer at programmere, tager du ikke bare en ny færdighed til dig – du bliver en del af dette utrolige fællesskab af problemløsere, der tilbringer deres dage med at tænke, "Hvad nu hvis jeg kunne bygge noget, der gør nogens dag bare en smule bedre?" Ærligt talt, er der noget sejere end det?
+Når du lærer at programmere, så lærer du ikke bare en ny færdighed – du bliver en del af et utrolig fællesskab af problemløsere, der bruger deres dage på at tænke: "Hvad nu hvis jeg kunne bygge noget, der gør nogens dag bare en lille smule bedre?" Ærligt talt, er der noget sejere end det?
-✅ **Sjov fakta-jagt**: Her er noget super sejt at slå op, når du har et ledigt øjeblik – hvem tror du var verdens første computerprogrammør? Jeg giver dig et hint: Det er måske ikke den, du forventer! Historien om denne person er virkelig fascinerende og viser, at programmering altid har handlet om kreativ problemløsning og at tænke uden for boksen.
+✅ **Sjov fakta-jagt**: Her er noget super sejt at slå op, når du har et øjeblik til overs – hvem tror du var verdens første computerprogrammør? Jeg giver dig et hint: det er måske ikke den, du forventer! Historien bag denne person er absolut fascinerende og viser, at programmering altid har handlet om kreativ problemløsning og at tænke ud af boksen.
-### 🧠 **Check-in tid: Hvordan har du det?**
+### 🧠 **Tjek-ind tid: Hvordan har du det?**
**Tag et øjeblik til at reflektere:**
- Giver idéen om "at give instruktioner til computere" mening for dig nu?
- Kan du tænke på en daglig opgave, du gerne vil automatisere med programmering?
-- Hvilke spørgsmål dukker op i dit hoved om det her med programmering?
+- Hvilke spørgsmål bobler op i dit hoved om det her programmeringshalløj?
-> **Husk**: Det er helt normalt, hvis nogle koncepter føles uklare lige nu. At lære programmering er som at lære et nyt sprog – det tager tid for din hjerne at bygge de neurale stier. Du gør det rigtig godt!
+> **Husk**: Det er helt normalt, hvis nogle koncepter føles lidt uklare lige nu. At lære programmering er som at lære et nyt sprog – det tager tid for din hjerne at bygge de neurale forbindelser. Du gør det rigtig godt!
## Programmeringssprog er som forskellige slags magi
-Okay, det her kommer til at lyde mærkeligt, men hæng på mig – programmeringssprog er meget lig forskellige slags musik. Tænk på det: Du har jazz, som er blød og improvisatorisk, rock, der er kraftfuld og ligetil, klassisk, der er elegant og struktureret, og hip-hop, der er kreativ og udtryksfuld. Hver stil har sin egen stemning, sit eget fællesskab af passionerede fans, og hver enkelt er perfekt til forskellige stemninger og lejligheder.
+Okay, det her kommer måske til at lyde mærkeligt, men hæng på mig – programmeringssprog er meget lig forskellige slags musik. Tænk på det: du har jazz, som er smooth og improviserende, rock der er kraftfuld og ligetil, klassisk der er elegant og struktureret, og hip-hop der er kreativ og udtryksfuld. Hver stil har sin egen stemning, sit eget passionerede fællesskab, og hver er perfekt til forskellige stemninger og lejligheder.
-Programmeringssprog fungerer på præcis samme måde! Du ville ikke bruge det samme sprog til at bygge et sjovt mobilspil, som du ville bruge til at bearbejde enorme mængder klimadata – ligesom du ikke ville spille death metal til en yogatime (nå, de fleste yogatimer i hvert fald! 😄).
+Programmeringssprog fungerer helt på samme måde! Du ville ikke bruge det samme sprog til at bygge et sjovt mobilspil, som du bruger til at bearbejde massive mængder klimadata, ligesom du ikke ville spille death metal til en yogatime (nå, de fleste yogatimer i hvert fald! 😄).
-Men her er det, der altid blæser mig væk, hver gang jeg tænker på det: disse sprog er som at have den mest tålmodige, geniale tolk i verden siddende lige ved siden af dig. Du kan udtrykke dine idéer på en måde, der føles naturlig for din menneskehjerne, og de håndterer alt det utroligt komplekse arbejde med at oversætte det til 1'erne og 0'erne, som computere rent faktisk taler. Det er som at have en ven, der er fuldstændig flydende i både "menneskelig kreativitet" og "computerlogik" – og de bliver aldrig trætte, har aldrig kaffepauser og dømmer dig aldrig for at stille det samme spørgsmål to gange!
+Men her er det, der absolut blæser mig omkuld hver gang jeg tænker på det: disse sprog er som at have den mest tålmodige, brillante tolk i verden siddende lige ved siden af dig. Du kan udtrykke dine idéer på en måde, der føles naturlig for din menneskehjerne, og de håndterer alt det utroligt komplekse arbejde med at oversætte det til de 1'ere og 0'ere, som computere rent faktisk taler. Det er som at have en ven, der er perfekt flydende i både "menneskelig kreativitet" og "computerlogik" – og som aldrig bliver træt, aldrig har kaffepauser og aldrig dømmer dig for at stille det samme spørgsmål to gange!
### Populære programmeringssprog og deres anvendelser
@@ -88,10 +88,10 @@ mindmap
Webudvikling
JavaScript
Frontend Magi
- Interaktive Websites
+ Interaktive Hjemmesider
TypeScript
JavaScript + Typer
- Virksomhedsapps
+ Enterprise Apps
Data & AI
Python
Data Science
@@ -103,7 +103,7 @@ mindmap
Mobilapps
Java
Android
- Virksomhed
+ Enterprise
Swift
iOS
Apple Økosystem
@@ -113,66 +113,66 @@ mindmap
Systemer & Ydeevne
C++
Spil
- Ydeevne Kritisk
+ Ydeevnekritisk
Rust
Hukommelsessikkerhed
Systemprogrammering
Go
- Cloudtjenester
+ Cloud-tjenester
Skalerbar Backend
```
| Sprog | Bedst til | Hvorfor det er populært |
|----------|----------|------------------|
-| **JavaScript** | Webudvikling, brugergrænseflader | Kører i browsere og driver interaktive websites |
-| **Python** | Data science, automation, AI | Let at læse og lære, kraftfulde biblioteker |
-| **Java** | Enterprise-applikationer, Android-apps | Platformuafhængigt, robust til store systemer |
+| **JavaScript** | Webudvikling, brugerinterfaces | Kører i browsere og driver interaktive websites |
+| **Python** | Data science, automatisering, AI | Let at læse og lære, kraftfulde biblioteker |
+| **Java** | Virksomhedsapplikationer, Android apps | Platform-uafhængigt, robust til store systemer |
| **C#** | Windows-applikationer, spiludvikling | Stærk Microsoft-økosystemstøtte |
-| **Go** | Cloud-services, backend-systemer | Hurtigt, enkelt, designet til moderne computing |
+| **Go** | Cloud-tjenester, backend-systemer | Hurtigt, simpelt, designet til moderne computing |
-### High-Level vs. Low-Level sprog
+### Høj-niveau vs. Lav-niveau sprog
-Okay, det her var ærligt talt det koncept, der knækkede min hjerne, da jeg først begyndte at lære, så jeg deler den analogi, der endelig fik det til at gå op for mig – og jeg håber virkelig, den hjælper dig også!
+Okay, det her var ærligt talt det koncept, der brød min hjerne, da jeg først begyndte at lære, så jeg vil dele den analogi, der endelig fik det til at klikke for mig – og jeg håber virkelig, det hjælper dig også!
-Forestil dig, at du besøger et land, hvor du ikke taler sproget, og du desperat har brug for at finde den nærmeste toilet (det har vi alle været ude for, ikke? 😅):
+Forestil dig, at du besøger et land, hvor du ikke taler sproget, og du desperat skal finde det nærmeste toilet (det har vi alle prøvet, ikke? 😅):
-- **Low-level programmering** er som at lære det lokale dialekt så godt, at du kan snakke med bedstemor, der sælger frugt på hjørnet, ved hjælp af kulturelle referencer, lokalt slang og interne jokes, som kun nogen, der voksede op der, ville forstå. Super imponerende og utroligt effektivt... hvis du tilfældigvis er flydende! Men ret overvældende, når du bare prøver at finde toilettet.
+- **Lav-niveau programmering** er som at lære det lokale dialekt så godt, at du kan chatte med bedstemor, der sælger frugt på hjørnet, med kulturelle referencer, lokalt slang og interne jokes, som kun en, der er opvokset der, ville forstå. Super imponerende og utroligt effektivt ... hvis du tilfældigvis er flydende! Men ret overvældende, når du bare prøver at finde et toilet.
-- **High-level programmering** er som at have den fantastiske lokale ven, der bare forstår dig. Du kan sige "Jeg har virkelig brug for at finde et toilet" på almindeligt engelsk, og de håndterer al den kulturelle oversættelse og giver dig vejledning på en måde, der giver perfekt mening for din ikke-lokale hjerne.
+- **Høj-niveau programmering** er som at have den fantastiske lokale ven, der bare forstår dig. Du kan sige "jeg skal virkelig finde et toilet" på entydigt dansk (eller engelsk), og de håndterer hele den kulturelle oversættelse og giver dig anvisninger på en måde, der giver perfekt mening for din ikke-lokale hjerne.
-I programmeringsterminologi:
-- **Low-level sprog** (som Assembly eller C) lader dig føre utroligt detaljerede samtaler med computerens faktiske hardware, men du skal tænke som en maskine, hvilket... lad os bare sige, er et stort mentalt skift!
-- **High-level sprog** (som JavaScript, Python eller C#) lader dig tænke som et menneske, mens de håndterer al maskinsproget bag kulisserne. Plus, de har utroligt imødekommende fællesskaber fulde af folk, der husker, hvordan det var at være ny, og som virkelig vil hjælpe!
+I programmering betyder det:
+- **Lav-niveau sprog** (som Assembly eller C) lader dig føre utrolig detaljerede samtaler med computerens egentlige hardware, men du skal tænke som en maskine, hvilket… godt, lad os bare sige, det er et stort mentalt skift!
+- **Høj-niveau sprog** (som JavaScript, Python eller C#) lader dig tænke som et menneske, mens de håndterer alle maskinsprogets ting bag kulisserne. Plus har de disse utroligt imødekommende fællesskaber fulde af folk, der husker, hvordan det var at være ny og oprigtigt vil hjælpe!
-Gæt hvilke jeg vil foreslå, du starter med? 😉 High-level sprog er som at have støttehjul, som du faktisk aldrig rigtig vil tage af, fordi de gør hele oplevelsen meget sjovere!
+Gæt hvilke, jeg vil foreslå, du starter med? 😉 Høj-niveau sprog er som at have træningshjul på, som du aldrig rigtig vil tage af, fordi det gør hele oplevelsen så meget mere fornøjelig!
```mermaid
flowchart TB
- A["👤 Menneskelig Tanke: 'Jeg vil beregne Fibonacci tal'"] --> B{Vælg Sprog Niveau}
+ A["👤 Menneskelig tanke: 'Jeg vil beregne Fibonacci-tal'"] --> B{Vælg sprogniveau}
- B -->|Højt Niveau| C["🌟 JavaScript/Python Let at læse og skrive"]
- B -->|Lavt Niveau| D["⚙️ Assembly/C Direkte hardware kontrol"]
+ B -->|Højniveau| C["🌟 JavaScript/Python Nem at læse og skrive"]
+ B -->|Lavniveau| D["⚙️ Assembly/C Direkte hardwarekontrol"]
C --> E["📝 Skriv: fibonacci(10)"]
D --> F["📝 Skriv: mov r0,#00 sub r0,r0,#01"]
- E --> G["🤖 Computer Forståelse: Oversætter håndterer kompleksitet"]
+ E --> G["🤖 Computerforståelse: Oversætter håndterer kompleksitet"]
F --> G
- G --> H["💻 Samme Resultat: 0, 1, 1, 2, 3, 5, 8, 13..."]
+ G --> H["💻 Samme resultat: 0, 1, 1, 2, 3, 5, 8, 13..."]
style C fill:#e1f5fe
style D fill:#fff3e0
style H fill:#e8f5e8
```
-### Lad mig vise dig, hvorfor High-Level sprog er meget mere brugervenlige
+### Lad mig vise dig, hvorfor høj-niveau sprog er så meget mere venlige
-Okay, jeg er ved at vise dig noget, der perfekt demonstrerer, hvorfor jeg forelskede mig i high-level sprog, men først – jeg har brug for, at du lover mig noget. Når du ser det første kodeeksempel, så lad være med at gå i panik! Det er meningen, det skal se skræmmende ud. Det er præcis det, jeg vil sige med det!
+Okay, jeg er lige ved at vise dig noget, der perfekt demonstrerer, hvorfor jeg forelskede mig i høj-niveau sprog, men først – jeg har brug for, at du lover mig noget. Når du ser det første kodeeksempel, så få ikke panik! Det er meningen, det skal se lidt skræmmende ud. Det er netop pointen!
-Vi kigger på den samme opgave skrevet i to helt forskellige stilarter. Begge skaber det, der kaldes Fibonacci-sekvensen – det er et smukt matematisk mønster, hvor hvert tal er summen af de to foregående: 0, 1, 1, 2, 3, 5, 8, 13... (Sjovt faktum: du finder dette mønster bogstaveligt talt overalt i naturen – solsikkefrøspiraler, kogler, endda hvordan galakser dannes!)
+Vi skal kigge på den helt samme opgave skrevet i to helt forskellige stilarter. Begge skaber det, der kaldes Fibonacci-sekvensen – det er et smukt matematisk mønster, hvor hvert tal er summen af de to forrige: 0, 1, 1, 2, 3, 5, 8, 13... (Sjovt faktum: du finder dette mønster bogstaveligt talt overalt i naturen – solsikkekerner spiraler, kogler, selv hvordan galakser dannes!)
Klar til at se forskellen? Lad os gå i gang!
-**High-level sprog (JavaScript) – Menneskevenligt:**
+**Høj-niveau sprog (JavaScript) – Menneskevenligt:**
```javascript
// Trin 1: Grundlæggende Fibonacci opsætning
@@ -183,11 +183,11 @@ let next = 1;
console.log('Fibonacci sequence:');
```
-**Her er, hvad denne kode gør:**
+**Det her gør koden:**
- **Deklarerer** en konstant for at angive, hvor mange Fibonacci-tal vi vil generere
-- **Initialiserer** to variabler for at holde styr på det nuværende og næste tal i sekvensen
-- **Sætter op** startværdierne (0 og 1), der definerer Fibonacci-mønstret
-- **Viser** en overskrift for at identificere vores output
+- **Initialiserer** to variabler for at holde styr på de nuværende og næste tal i sekvensen
+- **Sætter op** startværdierne (0 og 1), som definerer Fibonacci-mønstret
+- **Viser** en overskrift til at identificere vores output
```javascript
// Trin 2: Generer sekvensen med en løkke
@@ -201,11 +201,11 @@ for (let i = 0; i < fibonacciCount; i++) {
}
```
-**Her er, hvad der sker her:**
+**Hvad der sker her:**
- **Looper** gennem hver position i vores sekvens med en `for`-løkke
-- **Viser** hvert tal med dets position ved hjælp af template literals
-- **Beregner** det næste Fibonacci-tal ved at lægge det nuværende og næste sammen
-- **Opdaterer** vores sporingsvariabler for at gå videre til næste iteration
+- **Viser** hvert tal med dets position ved brug af en template literal-formattering
+- **Beregner** det næste Fibonacci-tal ved at lægge nuværende og næste værdier sammen
+- **Opdaterer** vores sporingsvariabler til at gå videre til næste iteration
```javascript
// Trin 3: Moderne funktionel tilgang
@@ -224,13 +224,13 @@ const fibSequence = generateFibonacci(10);
console.log(fibSequence);
```
-**Her har vi:**
-- **Oprettet** en genanvendelig funktion med moderne arrow-funktions-syntaks
-- **Bygget** et array til at gemme hele sekvensen i stedet for at vise tal et efter et
-- **Brugt** array-indeksering til at beregne hvert nyt tal fra tidligere værdier
-- **Returneret** hele sekvensen for fleksibel brug i andre dele af programmet
+**I ovenstående har vi:**
+- **Oprettet** en genanvendelig funktion ved brug af moderne arrow function-syntaks
+- **Bygget** et array til at gemme hele sekvensen i stedet for at vise talene ét ad gangen
+- **Brugt** array-indeksering til at beregne hvert nyt tal ud fra tidligere værdier
+- **Returneret** hele sekvensen for fleksibel brug i andre dele af vores program
-**Low-level sprog (ARM Assembly) – Computer-venligt:**
+**Lav-niveau sprog (ARM Assembly) – Computer-venligt:**
```assembly
area ascen,code,readonly
@@ -257,39 +257,39 @@ back add r0,r1
end
```
-Læg mærke til, hvordan JavaScript-versionen næsten læses som engelske instruktioner, mens Assembly-versionen bruger kryptiske kommandoer, der direkte styrer computerens processor. Begge løser den nøjagtige samme opgave, men høj-niveausproget er langt nemmere for mennesker at forstå, skrive og vedligeholde.
+Læg mærke til, hvordan JavaScript-versionen nærmest læser som engelske instruktioner, mens Assembly-versionen bruger kryptiske kommandoer, der direkte styrer computerens processor. Begge udfører nøjagtigt samme opgave, men høj-niveau sproget er langt lettere for mennesker at forstå, skrive og vedligeholde.
**Nøgleforskelle, du vil bemærke:**
- **Læsbarhed**: JavaScript bruger beskrivende navne som `fibonacciCount`, mens Assembly bruger kryptiske labels som `r0`, `r1`
-- **Kommentarer**: Høj-niveau sprog opfordrer til forklarende kommentarer, der gør koden selvforklarende
+- **Kommentarer**: Højniveausprog opfordrer til forklarende kommentarer, som gør koden selvdokumenterende
- **Struktur**: JavaScripts logiske flow matcher, hvordan mennesker tænker over problemer trin for trin
- **Vedligeholdelse**: Opdatering af JavaScript-versionen til forskellige krav er ligetil og klart
-✅ **Om Fibonacci-sekvensen**: Dette helt utroligt smukke talmønster (hvor hvert tal er summen af de to foregående: 0, 1, 1, 2, 3, 5, 8...) dukker op bogstaveligt talt *overalt* i naturen! Du finder det i solsikkespiraler, fyrrekoglemønstre, måden nautilusskaller krummer sig på, og endda i, hvordan trægrene vokser. Det er ret sindssygt, hvordan matematik og kode kan hjælpe os med at forstå og genskabe de mønstre, som naturen bruger til at skabe skønhed!
+✅ **Om Fibonacci-sekvensen**: Dette absolut smukke talmønster (hvor hvert tal svarer til summen af de to foregående: 0, 1, 1, 2, 3, 5, 8...) optræder bogstaveligt talt *overalt* i naturen! Du finder det i solsikkespiraler, koglernes mønstre, hvordan nautilusskaller krummer, og endda i måden trægrene vokser på. Det er ret fantastiskt, hvordan matematik og kode kan hjælpe os med at forstå og genskabe de mønstre, som naturen bruger til at skabe skønhed!
-## Byggestenene, der får magien til at ske
+## Byggestenene, Der Får Magien Til At Ske
-Okay, nu hvor du har set, hvordan programmeringssprog ser ud i praksis, lad os bryde de grundlæggende dele ned, som alle programmer nogensinde skrevet består af. Tænk på disse som essentielle ingredienser i din yndlingsopskrift – når du først forstår, hvad hver enkelt gør, vil du kunne læse og skrive kode i stort set ethvert sprog!
+Okay, nu hvor du har set, hvordan programmeringssprog ser ud i aktion, lad os bryde de fundamentale dele ned, der udgør bogstaveligt talt ethvert program, der nogensinde er skrevet. Tænk på disse som de grundlæggende ingredienser i din yndlingsopskrift – når du forstår, hvad hvert element gør, vil du kunne læse og skrive kode i stort set ethvert sprog!
-Det er lidt ligesom at lære grammatikken i programmering. Kan du huske fra skolen, da du lærte om substantiver, verber og hvordan man sætter sætninger sammen? Programmering har sin egen version af grammatik, og for at være ærlig, så er den meget mere logisk og tilgivende end engelsk grammatik nogensinde var! 😄
+Det er lidt ligesom at lære grammatik for programmering. Kan du huske i skolen, da du lærte om substantiver, verber og at sætte sætninger sammen? Programmering har sin egen version af grammatik, og ærligt talt er den langt mere logisk og tilgivende end engelsk grammatik nogensinde var! 😄
-### Udsagn: Trin-for-trin instruktioner
+### Statements: Trin-for-trin instruktionerne
-Lad os starte med **udsagn** – de er som individuelle sætninger i en samtale med din computer. Hvert udsagn fortæller computeren at gøre én bestemt ting, lidt ligesom at give vejledning: "Drej til venstre her," "Stop ved det røde lys," "Parkér der."
+Lad os starte med **statements** – de er som individuelle sætninger i en samtale med din computer. Hvert statement fortæller computeren at gøre én bestemt ting, lidt ligesom at give anvisninger: "Drej til venstre her," "Stop ved det røde lys," "Parkingér på det sted."
-Det, jeg elsker ved udsagn, er hvor læsbare de som regel er. Se på dette:
+Det jeg elsker ved statements er, hvor læselige de normalt er. Se lige her:
```javascript
-// Grundlæggende sætninger, der udfører enkeltstående handlinger
+// Grundlæggende udsagn, der udfører enkeltstående handlinger
const userName = "Alex";
console.log("Hello, world!");
const sum = 5 + 3;
```
-**Her er, hvad denne kode gør:**
-- **Deklarerer** en konstant variabel til at gemme en brugers navn
-- **Viser** en hilsen i konsoloutputtet
+**Sådan fungerer denne kode:**
+- **Deklarer** en konstant variabel til at gemme en brugers navn
+- **Viser** en hilsen til konsoloutput
- **Beregner** og gemmer resultatet af en matematisk operation
```javascript
@@ -298,19 +298,19 @@ document.title = "My Awesome Website";
document.body.style.backgroundColor = "lightblue";
```
-**Trin for trin, sådan sker det:**
-- **Ændrer** websidens titel, der vises i browserfanen
-- **Skifter** baggrundsfarven på hele sidekroppen
+**Trin for trin, her sker følgende:**
+- **Ændrer** websiden titlen, som vises i browserfanen
+- **Ændrer** baggrundsfarven på hele sidelegemet
-### Variable: Dit programs hukommelsessystem
+### Variabler: Dit programs hukommelsessystem
-Okay, **variable** er sandelig ét af mine absolut yndlingskoncepter at undervise i, fordi de er så meget som ting, du allerede bruger hver eneste dag!
+Okay, **variabler** er ærligt talt et af mine absolut yndlingskoncepter at lære fra mig, fordi de er så meget som ting, du allerede bruger hver eneste dag!
-Tænk et øjeblik på din telefons kontaktliste. Du kan ikke huske alles telefonnumre – i stedet gemmer du "Mor," "Bedste Ven," eller "Pizzestedet der leverer til kl. 2," og lader telefonen huske de faktiske numre. Variable fungerer på samme måde! De er som mærkede beholdere, hvor dit program kan gemme information og hente den senere ved hjælp af et navn, der faktisk giver mening.
+Tænk på din telefons kontaktliste et øjeblik. Du husker ikke alles telefonnumre – i stedet gemmer du "Mor," "Bedste ven," eller "Pizzasted der leverer til kl. 2 om natten" og lader din telefon huske de faktiske numre. Variabler fungerer præcis på samme måde! De er som mærkede beholdere, hvor dit program kan gemme information og hente det senere ved hjælp af et navn, der rent faktisk giver mening.
-Her er det virkelig seje: variable kan ændre sig, mens dit program kører (deraf navnet "variable" – kan du se, hvad de gjorde dér?). Ligesom du måske opdaterer pizzastedets kontakt, når du finder et endnu bedre sted, kan variable opdateres, mens dit program lærer ny information eller når situationer ændrer sig!
+Her er det, der er virkelig sejt: variabler kan ændre sig, mens dit program kører (deraf navnet "variabel" – kan du se hvad de gjorde der?). Ligesom du måske opdaterer den pizzakontakt, når du finder et endnu bedre sted, kan variabler opdateres, efterhånden som dit program lærer ny information eller som situationer ændrer sig!
-Lad mig vise dig, hvor utrolig simpelt det kan være:
+Lad mig vise dig, hvor smukt simpelt det kan være:
```javascript
// Trin 1: Oprettelse af grundlæggende variabler
@@ -320,11 +320,11 @@ let temperature = 75;
let isRaining = false;
```
-**Sådan forstår du disse koncepter:**
-- **Gem** uforanderlige værdier i `const` variable (som sidens navn)
-- **Brug** `let` til værdier, der kan ændre sig i løbet af programmet
-- **Tildel** forskellige datatyper: tekststrenge, tal og booleske værdier (sand/falsk)
-- **Vælg** beskrivende navne, der forklarer, hvad hver variabel indeholder
+**Forståelse af disse koncepter:**
+- **Gemmer** uforanderlige værdier i `const` variabler (som webstedets navn)
+- **Bruger** `let` til værdier, der kan ændre sig gennem dit program
+- **Tildeler** forskellige datatyper: strenge (tekst), tal og booleans (sand/falsk)
+- **Vælger** beskrivende navne, som forklarer, hvad hver variabel indeholder
```javascript
// Trin 2: Arbejde med objekter for at gruppere relaterede data
@@ -335,50 +335,50 @@ const weatherData = {
};
```
-**I ovenstående har vi:**
-- **Oprettet** et objekt til at gruppere relateret vejrinformation sammen
-- **Organiseret** flere datadel under ét variabelnavn
-- **Brugt** nøgle-værdi-par til klart at mærke hver datadel
+**Ovenfor har vi:**
+- **Oprettet** et objekt til at samle relaterede vejrdata sammen
+- **Organiseret** flere data under ét variabelnavn
+- **Brugt** nøgle-værdi-par for klart at mærke hver del af informationen
```javascript
// Trin 3: Brug og opdatering af variabler
console.log(`${siteName}: Today is ${currentWeather} and ${temperature}°F`);
console.log(`Wind speed: ${weatherData.windSpeed} mph`);
-// Opdatering af ændrbare variabler
+// Opdatering af ændringsbare variabler
currentWeather = "cloudy";
temperature = 68;
```
**Lad os forstå hver del:**
-- **Vis** information ved brug af template literals med `${}` syntaks
-- **Adgang** til objektets egenskaber med dot-notation (`weatherData.windSpeed`)
-- **Opdater** variable deklareret med `let` for at afspejle skiftende forhold
-- **Kombinér** flere variable for at skabe meningsfulde beskeder
+- **Viser** information ved hjælp af template literals med `${}` syntaks
+- **Adgang** til objektets egenskaber via dot notation (`weatherData.windSpeed`)
+- **Opdaterer** variabler deklareret med `let` for at afspejle skiftende forhold
+- **Kombinerer** flere variabler for at skabe meningsfulde beskeder
```javascript
-// Trin 4: Moderne destrukturering for renere kode
+// Trin 4: Moderne destructuring for renere kode
const { location, humidity } = weatherData;
console.log(`${location} humidity: ${humidity}%`);
```
-**Det du skal vide:**
-- **Udtræk** specifikke egenskaber fra objekter ved hjælp af destructuring assignment
-- **Opret** nye variable automatisk med samme navne som objektets nøgler
-- **Forenkle** kode ved at undgå gentagen dot-notation
+**Det, du skal vide:**
+- **Udtrækker** specifikke egenskaber fra objekter ved hjælp af destructuring assignment
+- **Opretter** nye variabler automatisk med samme navne som objektets nøgler
+- **Forenkler** kode ved at undgå gentagen dot notation
-### Kontrolflow: Lær dit program at tænke
+### Kontrolflow: Lærer dit program at tænke
-Okay, her bliver programmering virkelig sindssyg! **Kontrolflow** er grundlæggende at lære dit program at træffe smarte beslutninger, præcis som du gør hver dag uden engang at tænke over det.
+Okay, nu bliver programmering virkelig tankevækkende! **Kontrolflow** er i bund og grund at lære dit program, hvordan det kan tage smarte beslutninger, præcis som du gør hver eneste dag uden at tænke over det.
-Forestil dig dette: i morges gik du sikkert igennem noget a la "Hvis det regner, tager jeg paraply med. Hvis det er koldt, tager jeg jakke på. Hvis jeg er forsinket, springer jeg morgenmad over og tager en kaffe på vejen." Din hjerne følger naturligt denne hvis-så-logik dusinvis af gange hver dag!
+Forestil dig dette: i morges gik du sikkert igennem noget i stil med "Hvis det regner, tager jeg en paraply med. Hvis det er koldt, tager jeg en jakke på. Hvis jeg er forsinket, springer jeg morgenmaden over og tager kaffen på vejen." Din hjerne følger automatisk denne hvis-så logik dusinvis af gange hver dag!
-Det er det, der får programmer til at føles intelligente og levende i stedet for bare at følge et kedeligt, forudsigeligt script. De kan faktisk se på en situation, vurdere hvad der sker og reagere passende. Det er som at give dit program en hjerne, der kan tilpasse sig og træffe valg!
+Det er det, der får programmer til at føles intelligente og levende i stedet for bare at følge en kedelig, forudsigelig instruktion. De kan faktisk kigge på en situation, evaluere hvad der sker, og reagere passende. Det er som at give dit program en hjerne, der kan tilpasse sig og træffe valg!
Vil du se, hvor smukt det fungerer? Lad mig vise dig:
```javascript
-// Trin 1: Grundlæggende konditionel logik
+// Trin 1: Grundlæggende betinget logik
const userAge = 17;
if (userAge >= 18) {
@@ -389,11 +389,11 @@ if (userAge >= 18) {
}
```
-**Her er, hvad denne kode gør:**
+**Sådan fungerer denne kode:**
- **Tjekker** om brugerens alder opfylder stemmeretskravet
- **Udfører** forskellige kodeblokke baseret på betingelsens resultat
-- **Beregner** og viser, hvor lang tid der er til stemmeret, hvis under 18
-- **Giver** specifik, nyttig feedback for hver situation
+- **Beregner** og viser hvor længe der er til stemmeberettigelse, hvis under 18
+- **Giver** specifik, hjælpsom feedback for hver situation
```javascript
// Trin 2: Flere betingelser med logiske operatorer
@@ -409,11 +409,11 @@ if (userAge >= 18 && hasPermission) {
}
```
-**Nedbrydning af, hvad der sker her:**
-- **Kombinerer** flere betingelser ved hjælp af `&&` (og) operatoren
-- **Opretter** et hierarki af betingelser med `else if` til flere scenarier
-- **Håndterer** alle mulige tilfælde med en afsluttende `else` sætning
-- **Giver** klar, anvendelig feedback for hver forskellig situation
+**Her er en nedbrydning af, hvad der sker:**
+- **Kombinerer** flere betingelser med `&&` (og) operatoren
+- **Opretter** et hierarki af betingelser ved hjælp af `else if` for flere scenarier
+- **Håndterer** alle mulige tilfælde med en sidste `else` erklæring
+- **Giver** klar, handlingsorienteret feedback for hver situation
```javascript
// Trin 3: Kortfattet betingelse med ternær operator
@@ -421,10 +421,10 @@ const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
console.log(`Status: ${votingStatus}`);
```
-**Husk følgende:**
-- **Brug** den ternære operator (`? :`) til simple to-vej betingelser
-- **Skriv** betingelsen først, efterfulgt af `?`, derefter sandt resultat, så `:`, og til sidst falsk resultat
-- **Anvend** dette mønster, når du skal tildele værdier baseret på betingelser
+**Det skal du huske:**
+- **Bruger** ternary-operatoren (`? :`) til simple to-valgs betingelser
+- **Skriver** først betingelsen, efterfulgt af `?`, derefter sandt resultat, så `:`, og falsk resultat
+- **Anvender** dette mønster, når du skal tildele værdier baseret på betingelser
```javascript
// Trin 4: Håndtering af flere specifikke tilfælde
@@ -448,55 +448,55 @@ switch (dayOfWeek) {
```
**Denne kode opnår følgende:**
-- **Matcher** variabelværdi mod flere specifikke tilfælde
-- **Grupperer** lignende tilfælde (hverdag vs. weekend)
-- **Udfører** den korrekte kodeblok, når der findes et match
-- **Inkluderer** en `default` sag for at håndtere uventede værdier
-- **Bruger** `break` udsagn for at forhindre, at koden fortsætter til næste sag
+- **Matcher** variabelværdien mod flere specifikke tilfælde
+- **Grupperer** lignende tilfælde sammen (hverdag vs. weekend)
+- **Udfører** den passende kodeblok, når et match findes
+- **Inkluderer** en `default` case for at håndtere uventede værdier
+- **Bruger** `break` statements for at forhindre kode i at fortsætte til næste case
-> 💡 **Virkelighedsanalog**: Tænk på kontrolflow som verdens mest tålmodige GPS, der giver dig vejvisning. Den kan fx sige "Hvis der er trafik på Main Street, tag motorvejen i stedet. Hvis vejarbejde blokerer motorvejen, prøv den naturskønne rute." Programmer bruger præcis samme type betingede logik til intelligent at reagere på forskellige situationer og altid give brugerne den bedst mulige oplevelse.
+> 💡 **Virkelighedsanalog**: Tænk på kontrolflow som verdens mest tålmodige GPS, der giver dig anvisninger. Den kan sige "Hvis der er trafik på Hovedgaden, så tag motorvejen i stedet. Hvis vejarbejde blokerer motorvejen, prøv den naturskønne rute." Programmer bruger præcis samme type betingede logik for at reagere intelligent på forskellige situationer og altid give brugerne den bedst mulige oplevelse.
-### 🎯 **Begrebskontrol: Mestring af byggestenene**
+### 🎯 **Konceptkontrol: Byggesten mesterskab**
-**Lad os se, hvordan det går med det grundlæggende:**
-- Kan du forklare forskellen mellem en variabel og et udsagn med dine egne ord?
-- Tænk på en virkelig situation, hvor du ville bruge et hvis-så-valg (som i vores stemmeeksempel)
+**Lad os se, hvordan det går med grundlæggende forståelse:**
+- Kan du forklare forskellen på en variabel og et statement med dine egne ord?
+- Tænk på en virkelighedssituation, hvor du vil bruge en hvis-så beslutning (som vores stemmeretseksempel)
- Hvad er én ting ved programmeringslogik, der overraskede dig?
-**Hurtig selvtillidsboost:**
+**Hurtig selvtillids-booster:**
```mermaid
flowchart LR
- A["📝 Udsagn (Instruktioner)"] --> B["📦 Variabler (Lagring)"] --> C["🔀 Kontrolflow (Beslutninger)"] --> D["🎉 Fungerende Program!"]
+ A["📝 Udsagn (Instruktioner)"] --> B["📦 Variable (Lagring)"] --> C["🔀 Kontrolflow (Beslutninger)"] --> D["🎉 Fungerende program!"]
style A fill:#ffeb3b
style B fill:#4caf50
style C fill:#2196f3
style D fill:#ff4081
```
-✅ **Hvad kommer næst**: Vi skal have det absolut sjovt med at dykke dybere ned i disse koncepter, mens vi fortsætter denne utrolige rejse sammen! Lige nu skal du bare fokusere på at mærke begejstringen over alle de fantastiske muligheder foran dig. De specifikke færdigheder og teknikker vil komme helt naturligt, mens vi øver sammen – jeg lover, det bliver meget sjovere, end du måske forventer!
+✅ **Hvad der kommer næste gang**: Vi kommer til at have det helt vildt sjovt med at dykke dybere ned i disse koncepter, mens vi fortsætter denne utrolige rejse sammen! Lige nu skal du bare fokusere på at føle den begejstring over alle de fantastiske muligheder, der venter forude. De specifikke færdigheder og teknikker kommer helt naturligt, når vi øver os sammen – jeg lover, det bliver meget sjovere, end du måske forventer!
-## Værktøjerne i faget
+## Værktøjer i faget
-Okay, her bliver jeg ærligt talt så begejstret, at jeg næsten ikke kan holde det inde! 🚀 Vi skal til at tale om de utrolige værktøjer, som kommer til at få dig til at føle, at du lige har fået nøglerne til et digitalt rumskib.
+Okay, nu bliver jeg ærligt talt så begejstret, at jeg næsten ikke kan styre mig! 🚀 Vi skal til at tale om de utrolige værktøjer, der får dig til at føle, at du lige har fået nøglerne til et digitalt rumskib.
-Du ved, hvordan en kok har de perfekt afbalancerede knive, der føles som en forlængelse af deres hænder? Eller hvordan en musiker har den ene guitar, der synes at synge, så snart de rører ved den? Nå, udviklere har vores egen version af disse magiske værktøjer, og her kommer det, der helt sikkert vil blæse dit sind – de fleste af dem er fuldstændigt gratis!
+Du ved, hvordan en kok har de perfekt afbalancerede knive, som føles som forlængelser af hænderne? Eller hvordan en musiker har den ene guitar, der nærmest synger, fra det øjeblik, den røres? Nå, udviklere har vores egen version af disse magiske værktøjer, og her er, hvad der virkelig vil blæse dig omkuld – de fleste af dem er helt gratis!
-Jeg sidder næsten og hopper på stolen over at skulle dele disse med dig, fordi de fuldstændigt har revolutioneret, hvordan vi bygger software. Vi taler om AI-drevne kodeassistenter, som kan hjælpe med at skrive din kode (jeg laver ikke sjov!), cloud-miljøer, hvor du kan bygge hele applikationer fra bogstaveligt talt hvor som helst med Wi-Fi, og fejlfindingværktøjer så sofistikerede, at de er som at have røntgensyn for dine programmer.
+Jeg sidder nærmest og hopper i stolen, fordi jeg glæder mig til at dele dem med dig, da de fuldstændigt har revolutioneret, hvordan vi bygger software. Vi taler om AI-drevne kodningsassistenter, der kan hjælpe med at skrive din kode (jeg mener det virkelig!), cloud-miljøer, hvor du kan bygge hele applikationer fra bogstaveligt talt hvor som helst med Wi-Fi, og fejlfindingsværktøjer så sofistikerede, at det er som at have røntgensyn til dine programmer.
-Og her kommer det, der stadig giver mig gåsehud: det er ikke "begynder-værktøjer," du kommer til at vokse fra. Det er nøjagtigt de samme professionelle værktøjer, som udviklere hos Google, Netflix og det indie app-studie, du elsker, bruger lige nu. Du kommer til at føle dig som en vaskeægte pro med dem!
+Og her kommer delen, der stadig giver mig gåsehud: det er ikke "begynder-værktøjer," som du hurtigt kommer til at vokse fra. Det er præcis de samme professionelle værktøjer, som udviklere hos Google, Netflix og det indie app-studie, du elsker, bruger lige nu. Du kommer til at føle dig som en helt professionel, når du bruger dem!
```mermaid
graph TD
- A["💡 Din idé"] --> B["⌨️ Kodeeditor (VS Code)"]
- B --> C["🌐 Browser DevTools (Test & Fejlfinding)"]
+ A["💡 Din Idé"] --> B["⌨️ Kodeeditor (VS Code)"]
+ B --> C["🌐 Browser DevTools (Test & Debugging)"]
C --> D["⚡ Kommandolinje (Automatisering & Værktøjer)"]
D --> E["📚 Dokumentation (Læring & Reference)"]
- E --> F["🚀 Fantastisk webapp!"]
+ E --> F["🚀 Fantastisk Webapp!"]
- B -.-> G["🤖 AI-assistent (GitHub Copilot)"]
- C -.-> H["📱 Enhedstest (Responsivt design)"]
- D -.-> I["📦 Pakkehåndtering (npm, yarn)"]
- E -.-> J["👥 Fællesskab (Stack Overflow)"]
+ B -.-> G["🤖 AI Assistent (GitHub Copilot)"]
+ C -.-> H["📱 Enhedstest (Responsivt Design)"]
+ D -.-> I["📦 Pakkehåndteringer (npm, yarn)"]
+ E -.-> J["👥 Community (Stack Overflow)"]
style A fill:#fff59d
style F fill:#c8e6c9
@@ -505,63 +505,63 @@ graph TD
style I fill:#ffccbc
style J fill:#e8eaf6
```
-### Kodeeditorer og IDE’er: Dine nye digitale bedste venner
+### Kodeeditorer og IDE'er: Dine nye digitale bedste venner
-Lad os tale om kodeeditorer – de er seriøst lige ved at blive dine nye yndlingssteder at hænge ud! Tænk på dem som din personlige kodningshelligdom, hvor du vil tilbringe det meste af din tid med at skabe og perfektionere dine digitale værker.
+Lad os tale om kodeeditorer – de er alvorligt lige ved at blive dine nye yndlingssteder at hænge ud! Tænk på dem som dit personlige kodehelligdom, hvor du vil tilbringe det meste af din tid med at skabe og perfektionere dine digitale kreationer.
-Men her er det helt magiske ved moderne editorer: de er ikke bare fine teksteditorer. Det er som at have den mest geniale, støttende kodningsmentor siddende lige ved siden af dig 24/7. De fanger dine tastefejl, før du overhovedet opdager dem, foreslår forbedringer, der får dig til at se genial ud, hjælper dig med at forstå, hvad hver eneste kodebid gør, og nogle af dem kan endda forudsige, hvad du er ved at skrive, og tilbyde at færdiggøre dine tanker!
+Men her er det, der er helt magisk ved moderne editorer: de er ikke bare fine teksteditorer. De er som at have den mest geniale, støttende kode-mentor siddende lige ved siden af dig døgnet rundt. De fanger dine tastefejl, før du overhovedet opdager dem, foreslår forbedringer, der får dig til at se ud som et geni, hjælper dig med at forstå, hvad hvert kodeelement gør, og nogle af dem kan endda forudsige, hvad du er ved at skrive og tilbyde at færdiggøre dine tanker!
-Jeg kan huske, da jeg først opdagede auto-fuldførelse – jeg følte bogstaveligt talt, at jeg levede i fremtiden. Du begynder at skrive noget, og din editor siger, "Hey, tænkte du på denne funktion, der gør præcis det, du har brug for?" Det er som at have en tankelæser som din kodekammerat!
+Jeg husker, da jeg først opdagede autoudfyldning – jeg følte virkelig, at jeg levede i fremtiden. Du begynder at skrive noget, og din editor siger, "Hej, tænkte du på denne funktion, der gør præcis, hvad du har brug for?" Det er som at have en tankelæser som din kodebuddy!
-**Hvad gør disse editorer så utrolige?**
+**Hvad gør disse editorer så fantastiske?**
-Moderne kodeeditorer tilbyder en imponerende række funktioner, der er designet til at øge din produktivitet:
+Moderne kodeeditorer byder på et imponerende udvalg af funktioner designet til at øge din produktivitet:
-| Funktion | Hvad den gør | Hvorfor den hjælper |
+| Funktion | Hvad den gør | Hvorfor det hjælper |
|---------|--------------|--------------|
-| **Syntax Highlighting** | Farver forskellige dele af din kode | Gør koden lettere at læse og spotte fejl |
-| **Auto-completion** | Foreslår kode mens du skriver | Hurtigere kodning og færre tastefejl |
-| **Fejlfindingsværktøjer** | Hjælper dig med at finde og rette fejl | Spar tid på fejlretning |
-| **Udvidelser** | Tilføjer specialiserede funktioner | Tilpas din editor til enhver teknologi |
-| **AI-assistenter** | Foreslår kode og forklaringer | Fremskynder læring og produktivitet |
+| **Syntax Highlighting** | Farver forskellige dele af din kode | Gør kode nemmere at læse og opdage fejl |
+| **Auto-completion** | Foreslår kode, mens du skriver | Fremskynder kodningen og reducerer tastefejl |
+| **Debugging Tools** | Hjælper med at finde og rette fejl | Sparrer timer på fejlsøgning |
+| **Extensions** | Tilføjer specialiserede funktioner | Tilpas din editor til enhver teknologi |
+| **AI Assistants** | Foreslår kode og forklaringer | Fremskynder læring og produktivitet |
-> 🎥 **Videoressource**: Vil du se disse værktøjer i praksis? Tjek denne [Tools of the Trade video](https://youtube.com/watch?v=69WJeXGBdxg) for et omfattende overblik.
+> 🎥 **Videoressource**: Vil du se disse værktøjer i aktion? Tjek denne [Tools of the Trade video](https://youtube.com/watch?v=69WJeXGBdxg) for et omfattende overblik.
#### Anbefalede editorer til webudvikling
**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (Gratis)
- Mest populær blandt webudviklere
-- Fremragende økosystem af udvidelser
+- Fremragende økosystem for udvidelser
- Indbygget terminal og Git-integration
- **Must-have udvidelser**:
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - AI-drevne kodeforslag
- - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - Realtids samarbejde
+ - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - Realtids-samarbejde
- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - Automatisk kodeformatering
- - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - Fanger stavefejl i din kode
+ - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - Fang stavefejl i din kode
**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (Betalt, gratis for studerende)
- Avancerede fejlfindings- og testværktøjer
-- Intelligent kodefuldførelse
+- Intelligent kodeautofuldførelse
- Indbygget versionskontrol
-**Cloud-baserede IDE’er** (Forskellige priser)
-- [GitHub Codespaces](https://github.com/features/codespaces) – Fuldt VS Code i din browser
-- [Replit](https://replit.com/) – Fantastisk til læring og deling af kode
-- [StackBlitz](https://stackblitz.com/) – Øjeblikkelig, full-stack webudvikling
+**Cloud-baserede IDE'er** (Forskellige priser)
+- [GitHub Codespaces](https://github.com/features/codespaces) - Fuld VS Code i din browser
+- [Replit](https://replit.com/) - Fantastisk til læring og deling af kode
+- [StackBlitz](https://stackblitz.com/) - Øjeblikkelig, fuld-stack webudvikling
-> 💡 **Tips til opstart**: Start med Visual Studio Code – det er gratis, meget udbredt i branchen, og har et enormt fællesskab, der laver hjælpsomme tutorials og udvidelser.
+> 💡 **Kom godt i gang-tip**: Start med Visual Studio Code – det er gratis, bredt brugt i industrien og har et enormt community, der skaber nyttige tutorials og udvidelser.
### Webbrowsere: Dit hemmelige udviklingslaboratorium
-Okay, gør dig klar til at få dit sind fuldstændig blæst! Du ved, hvordan du har brugt browsere til at scrolle gennem sociale medier og se videoer? Nå, det viser sig, at de hele tiden har gemt på et utroligt hemmeligt udviklingslaboratorium, der bare ventede på, at du skulle opdage det!
+Okay, gør dig klar til at få dit sind fuldstændigt blæst! Du ved, hvordan du har brugt browsere til at scrolle på sociale medier og se videoer? Nå, det viser sig, at de har gemt dette utrolige hemmelige udviklingslaboratorium hele tiden og bare ventet på, at du skulle opdage det!
-Hver eneste gang du højreklikker på en webside og vælger "Inspicer element," åbner du en skjult verden af udviklerværktøjer, som ærligt talt er mere kraftfulde end noget dyrt software, jeg tidligere har betalt hundredevis af kroner for. Det er som at opdage, at dit almindelige gamle køkken hele tiden har skjult et professionelt kokkelaboratorium bag en hemmelig panel!
-Første gang nogen viste mig browserens DevTools, brugte jeg omkring tre timer bare på at klikke rundt og sige "VENT, KAN DEN OGSÅ DET?!" Du kan bogstaveligt talt redigere enhver hjemmeside i realtid, se præcis hvor hurtigt alt loader, teste hvordan dit site ser ud på forskellige enheder og endda debugge JavaScript som en helt pro. Det er fuldstændig vanvittigt!
+Hver eneste gang du højreklikker på en webside og vælger "Inspicér element," åbner du en skjult verden af udviklerværktøjer, som ærligt talt er mere kraftfulde end noget dyrt software, jeg tidligere har betalt hundredevis af kroner for. Det er som at opdage, at dit helt almindelige køkken har gemt et professionelt kokkelaboratorium bag en hemmelig panel!
+Første gang nogen viste mig browserens DevTools, brugte jeg næsten tre timer bare på at klikke rundt og sige "VENT, KAN DEN OGSÅ DET?!" Du kan bogstaveligt talt redigere enhver hjemmeside i realtid, se præcis hvor hurtigt alt indlæses, teste hvordan dit site ser ud på forskellige enheder og endda fejlfinde JavaScript som en ægte pro. Det er helt sindssygt!
**Her er hvorfor browsere er dit hemmelige våben:**
-Når du skaber en hjemmeside eller webapplikation, skal du kunne se, hvordan den ser ud og opfører sig i virkeligheden. Browsere viser ikke kun dit arbejde, men giver også detaljeret feedback om ydeevne, tilgængelighed og potentielle problemer.
+Når du laver en hjemmeside eller webapplikation, skal du kunne se, hvordan den ser ud og opfører sig i den virkelige verden. Browsere viser ikke kun dit arbejde, de giver også detaljeret feedback om ydeevne, tilgængelighed og potentielle problemer.
#### Browser Developer Tools (DevTools)
@@ -569,10 +569,10 @@ Moderne browsere indeholder omfattende udviklingsværktøjer:
| Tool Category | What It Does | Example Use Case |
|---------------|--------------|------------------|
-| **Element Inspector** | Se og rediger HTML/CSS i realtid | Juster styling for at se øjeblikkelige resultater |
-| **Console** | Se fejlmeddelelser og test JavaScript | Debug problemer og eksperimenter med kode |
-| **Network Monitor** | Overvåg hvordan ressourcer loader | Optimer ydeevne og indlæsningstider |
-| **Accessibility Checker** | Test for inklusivt design | Sikr at dit site fungerer for alle brugere |
+| **Element Inspector** | Se og rediger HTML/CSS i realtid | Juster stil og se resultater med det samme |
+| **Console** | Se fejlmeddelelser og test JavaScript | Fejlret problemer og eksperimenter med kode |
+| **Network Monitor** | Følg hvordan ressourcer indlæses | Optimer ydeevne og indlæsningstider |
+| **Accessibility Checker** | Test for inklusivt design | Sikr at dit site virker for alle brugere |
| **Device Simulator** | Forhåndsvis på forskellige skærmstørrelser | Test responsivt design uden flere enheder |
#### Anbefalede browsere til udvikling
@@ -581,20 +581,20 @@ Moderne browsere indeholder omfattende udviklingsværktøjer:
- **[Firefox](https://developer.mozilla.org/docs/Tools)** - Fremragende CSS Grid og tilgængelighedsværktøjer
- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - Bygget på Chromium med Microsofts udviklerressourcer
-> ⚠️ **Vigtig test-tip**: Test altid dine hjemmesider i flere browsere! Det, der fungerer perfekt i Chrome, kan se anderledes ud i Safari eller Firefox. Professionelle udviklere tester på tværs af alle større browsere for at sikre en ensartet brugeroplevelse.
+> ⚠️ **Vigtig testtip**: Test altid dine hjemmesider i flere browsere! Det der virker perfekt i Chrome, kan se anderledes ud i Safari eller Firefox. Professionelle udviklere tester på tværs af alle større browsere for at sikre ensartede brugeroplevelser.
### Kommandolinjeværktøjer: Din adgang til udvikler-superkræfter
-Okay, lad os være helt ærlige om kommandolinjen, for jeg vil have, at du hører det fra en, der virkelig forstår det. Da jeg først så den – bare den her skræmmende sorte skærm med blinkende tekst – tænkte jeg bogstaveligt talt: "Nej, absolut ikke! Det ligner noget fra en hackerfilm i 1980'erne, og jeg er bestemt ikke smart nok til det!" 😅
+Okay, lad os være helt ærlige omkring kommandolinjen, for jeg vil have, at du hører dette fra en, der virkelig forstår det. Da jeg først så den – bare den skræmmende sorte skærm med blinkende tekst – tænkte jeg bogstaveligt talt, "Nej, slet ikke! Det ligner noget fra en hackerfilm i 1980’erne, og jeg er bestemt ikke klog nok til det her!" 😅
-Men her er, hvad jeg ville ønske, nogen havde fortalt mig dengang, og hvad jeg fortæller dig lige nu: kommandolinjen er ikke skræmmende – det er faktisk som at have en direkte samtale med din computer. Tænk på det som forskellen mellem at bestille mad gennem en fancy app med billeder og menuer (som er nemt og lækkert) versus at gå ind på din yndlingslokale restaurant, hvor kokken ved præcis, hvad du kan lide og kan trylle noget perfekt frem bare ved at du siger "overrask mig med noget fantastisk."
+Men her er hvad jeg ville ønske nogen havde fortalt mig dengang, og som jeg fortæller dig nu: kommandolinjen er ikke skræmmende – det er faktisk som at have en direkte samtale med din computer. Tænk på det som forskellen mellem at bestille mad via en fancy app med billeder og menuer (som er nemt og lækkert) versus at gå ind på din lokale yndlingsrestaurant, hvor kokken præcis ved, hvad du kan lide, og kan trylle noget perfekt frem bare fordi du siger "overrask mig med noget fantastisk."
-Kommandolinjen er stedet, hvor udviklere føler sig som ægte troldmænd. Du taster et par tilsyneladende magiske ord (okay, de er bare kommandoer, men de føles magiske!), trykker enter, og BAM – du har oprettet hele projektstrukturer, installeret kraftfulde værktøjer fra hele verden eller udrullet din app til internettet, så millioner kan se den. Når du først får en smag af den kraft, er det ærligt talt ret vanedannende!
+Kommandolinjen er stedet, udviklere går til for at føle sig som rene troldmænd. Du skriver et par tilsyneladende magiske ord (okay, det er bare kommandoer, men de føles magiske!), trykker enter, og BOOM – du har oprettet komplette projektstrukturer, installeret kraftfulde værktøjer fra hele verden eller deployet din app til internettet, så millioner kan se den. Når du først får smag for den magt, er det ærligt talt ret vanedannende!
**Derfor bliver kommandolinjen dit favoritværktøj:**
-Mens grafiske brugerflader er fantastiske til mange opgaver, excellerer kommandolinjen i automatisering, præcision og hastighed. Mange udviklingsværktøjer fungerer primært via kommandolinjegrænseflader, og at lære at bruge dem effektivt kan forbedre din produktivitet markant.
+Mens grafiske brugergrænseflader er gode til mange opgaver, er kommandolinjen suveræn til automatisering, præcision og hastighed. Mange udviklingsværktøjer kører primært via kommandolinjen, og at lære at bruge dem effektivt kan forbedre din produktivitet markant.
```bash
# Trin 1: Opret og naviger til projektmappen
@@ -602,9 +602,9 @@ mkdir my-awesome-website
cd my-awesome-website
```
-**Sådan fungerer denne kode:**
-- **Opret** en ny mappe kaldet "my-awesome-website" til dit projekt
-- **Naviger** ind i den nyskabte mappe for at begynde arbejdet
+**Dette kodeeksempel gør:**
+- **Opretter** en ny mappe kaldet "my-awesome-website" til dit projekt
+- **Navigerer** ind i den nyskabte mappe for at begynde arbejdet
```bash
# Trin 2: Initialiser projekt med package.json
@@ -615,11 +615,11 @@ npm install --save-dev vite prettier eslint
npm install --save-dev @eslint/js
```
-**Trin for trin sker der følgende:**
-- **Initialiser** et nyt Node.js-projekt med standardindstillinger ved brug af `npm init -y`
-- **Installer** Vite som et moderne build-værktøj til hurtig udvikling og produktion
-- **Tilføj** Prettier til automatisk kodeformatering og ESLint til kodekvalitetskontrol
-- **Brug** flaget `--save-dev` for at markere disse som udviklingsafhængigheder
+**Trin for trin, her sker der:**
+- **Initialiserer** et nyt Node.js projekt med standardindstillinger via `npm init -y`
+- **Installerer** Vite som et moderne build-værktøj til hurtig udvikling og produktion
+- **Tilføjer** Prettier til automatisk kodeformatering og ESLint til kodekvalitetstjek
+- **Bruger** `--save-dev` flaget for at markere disse som udviklingsafhængigheder
```bash
# Trin 3: Opret projektstruktur og filer
@@ -631,26 +631,26 @@ npx vite
```
**I ovenstående har vi:**
-- **Organiseret** vores projekt ved at oprette separate mapper til kildekode og assets
-- **Genereret** en grundlæggende HTML-fil med korrekt dokumentstruktur
-- **Startet** Vite udviklingsserveren for live reload og hot module replacement
+- **Organiseret** vores projekt med separate mapper til kildekode og assets
+- **Genereret** en basal HTML-fil med korrekt dokumentstruktur
+- **Startet** Vite udviklingsserveren til live reload og hot module replacement
-#### Vigtige kommandolinjeværktøjer til webudvikling
+#### Væsentlige kommandolinjeværktøjer til webudvikling
| Tool | Purpose | Why You Need It |
|------|---------|-----------------|
-| **[Git](https://git-scm.com/)** | Versionskontrol | Spor ændringer, samarbejd med andre, backup af dit arbejde |
-| **[Node.js & npm](https://nodejs.org/)** | JavaScript runtime & pakkehåndtering | Kør JavaScript uden for browsere, installer moderne udviklingsværktøjer |
-| **[Vite](https://vitejs.dev/)** | Build-værktøj & dev-server | Lynhurtig udvikling med hot module replacement |
-| **[ESLint](https://eslint.org/)** | Kodekvalitet | Find og ret automatisk problemer i dit JavaScript |
-| **[Prettier](https://prettier.io/)** | Kodeformatering | Hold din kode konsekvent formateret og letlæselig |
+| **[Git](https://git-scm.com/)** | Versionsstyring | Spor ændringer, samarbejd med andre, sikkerhedskopiér dit arbejde |
+| **[Node.js & npm](https://nodejs.org/)** | JavaScript runtime & pakkestyring | Kør JavaScript udenfor browseren, installer moderne udviklingsværktøjer |
+| **[Vite](https://vitejs.dev/)** | Bygge- og udviklingsserver | Lynhurtig udvikling med hot module replacement |
+| **[ESLint](https://eslint.org/)** | Kodekvalitet | Find og rette problemer i din JavaScript automatisk |
+| **[Prettier](https://prettier.io/)** | Kodeformatering | Hold din kode konsekvent formateret og læsbar |
-#### Platformsspecifikke muligheder
+#### Platformspecifikke muligheder
**Windows:**
-- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - Moderne, funktionsrig terminal
-- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - Kraftigt scriptingmiljø
-- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - Traditonel Windows kommandolinje
+- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - Moderne og funktionsrig terminal
+- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - Kraftfuldt scripting-miljø
+- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - Traditionel Windows kommandolinje
**macOS:**
- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 - Indbygget terminalapplikation
@@ -660,75 +660,75 @@ npx vite
- **[Bash](https://www.gnu.org/software/bash/)** 💻 - Standard Linux shell
- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - Avanceret terminalemulator
-> 💻 = Forudinstalleret i operativsystemet
+> 💻 = Forudinstalleret på operativsystemet
-> 🎯 **Læringsvejledning**: Start med basis-kommandoer som `cd` (skift mappe), `ls` eller `dir` (list filer) og `mkdir` (opret mappe). Øv dig med moderne workflow-kommandoer som `npm install`, `git status` og `code .` (åbner tilhørende mappe i VS Code). Når du bliver mere komfortabel, vil du naturligt lære mere avancerede kommandoer og automatiseringsteknikker.
+> 🎯 **Læringsvejledning**: Begynd med grundlæggende kommandoer som `cd` (skift mappe), `ls` eller `dir` (list filer), og `mkdir` (opret mappe). Øv dig med moderne workflow-kommandoer som `npm install`, `git status` og `code .` (åbner nuværende mappe i VS Code). Når du bliver mere tryg, vil du naturligt lære mere avancerede kommandoer og automatiseringsteknikker.
### Dokumentation: Din altid-tilgængelige læringsmentor
-Okay, lad mig dele en lille hemmelighed, som vil få dig til at føle dig meget bedre tilpas som nybegynder: selv de mest erfarne udviklere bruger en stor del af deres tid på at læse dokumentation. Og det er ikke fordi, de ikke ved, hvad de laver – det er faktisk et tegn på visdom!
+Okay, jeg vil dele en lille hemmelighed, der vil få dig til at føle dig meget bedre som begynder: selv de mest erfarne udviklere bruger en stor del af deres tid på at læse dokumentation. Og det er ikke fordi de ikke ved, hvad de laver – det er faktisk et tegn på visdom!
-Tænk på dokumentation som at have adgang til verdens mest tålmodige, vidende lærere, der er tilgængelige døgnet rundt. Sidder du fast i et problem kl. 2 om natten? Dokumentationen er der med en varm virtuel krammer og præcis det svar, du har brug for. Vil du lære om en fed ny funktion, som alle taler om? Dokumentationen støtter dig med trin-for-trin eksempler. Forsøger du at forstå, hvorfor noget fungerer, som det gør? Gættede du det – dokumentationen er klar til at forklare det på en måde, der endelig klikker!
+Tænk på dokumentation som at have adgang til verdens mest tålmodige, vidende lærere, som er tilgængelige 24/7. Sidder du fast med et problem klokken 2 om natten? Dokumentationen er der med et virtuelt varmt kram og præcis det svar, du har brug for. Vil du lære om en smart ny funktion, som alle taler om? Dokumentationen hjælper dig med trin-for-trin eksempler. Prøver du at forstå, hvorfor noget virker, som det gør? Gæt engang – dokumentationen forklarer det på en måde, der endelig får det til at klikke!
-Her er noget, der helt ændrede mit perspektiv: webudviklingsverdenen bevæger sig utroligt hurtigt, og ingen (jeg mener absolut ingen!) kan huske alt. Jeg har set seniordom udviklere med 15+ års erfaring slå grundlæggende syntaks op, og ved du hvad? Det er ikke pinligt – det er smart! Det handler ikke om at have perfekt hukommelse; det handler om at vide, hvor man hurtigt kan finde pålidelige svar og forstå, hvordan man anvender dem.
+Her er noget, der ændrede mit perspektiv totalt: webudviklingsverdenen bevæger sig utrolig hurtigt, og ingen (jeg mener virkelig ingen!) kan huske det hele udenad. Jeg har set erfarne udviklere med 15+ års erfaring slå helt basal syntaks op, og ved du hvad? Det er ikke pinligt – det er smart! Det handler ikke om perfekt hukommelse; det handler om at vide, hvor man hurtigt finder pålidelige svar og kan anvende dem.
-**Her sker den virkelige magi:**
+**Her sker den sande magi:**
-Professionelle udviklere bruger en betydelig del af deres tid på at læse dokumentation – ikke fordi de er usikre, men fordi webudviklingslandskabet udvikler sig så hurtigt, at det kræver konstant læring at følge med. God dokumentation hjælper dig med ikke bare *hvordan* man bruger noget, men også *hvorfor* og *hvornår* man bruger det.
+Professionelle udviklere bruger en stor del af deres tid på at læse dokumentation – ikke fordi de ikke ved, hvad de laver, men fordi webudviklingslandskabet udvikler sig så hurtigt, at det kræver kontinuerlig læring at følge med. God dokumentation hjælper dig med ikke bare at forstå *hvordan* man bruger noget, men også *hvorfor* og *hvornår* man skal bruge det.
-#### Vigtige dokumentationsressourcer
+#### Væsentlige dokumentationsressourcer
**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)**
-- Guldstandarden for dokumentation af webteknologier
-- Omfattende guider til HTML, CSS og JavaScript
+- Guldstandarden for webteknologi-dokumentation
+- Omfattende guides til HTML, CSS og JavaScript
- Indeholder browserkompatibilitetsinformation
-- Har praktiske eksempler og interaktive demos
+- Har praktiske eksempler og interaktive demoer
**[Web.dev](https://web.dev)** (af Google)
- Moderne bedste praksis for webudvikling
-- Guides til ydeevneoptimering
-- Tilgængelighed og inklusivt design principper
-- Case-studier fra virkelige projekter
+- Guides til performanceoptimering
+- Principper for tilgængelighed og inklusivt design
+- Cases fra virkelige projekter
**[Microsoft Developer Documentation](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)**
-- Udviklerressourcer til Edge browseren
-- Progressive Web App guides
-- Indsigter om tværplatform udvikling
+- Udviklerressourcer til Edge-browseren
+- Progressive Web App-guides
+- Indsigter i cross-platform udvikling
**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)**
-- Strukturerede læringscurricula
+- Strukturerede læringsforløb
- Videokurser fra brancheeksperter
-- Praktiske kodningsøvelser
+- Hands-on kodeøvelser
-> 📚 **Studieteknik**: Forsøg ikke at huske dokumentationen udenad – lær i stedet at navigere effektivt i den. Bogmærk ofte brugte referencer og øv dig i at bruge søgefunktioner til hurtigt at finde specifik information.
+> 📚 **Studietips**: Forsøg ikke at huske dokumentationen udenad – lær i stedet at navigere i den effektivt. Bogmærk ofte brugte referencer og øv dig i at bruge søgefunktionerne til hurtigt at finde specifik information.
-### 🔧 **Værktøjsmestring: Hvad taler til dig?**
+### 🔧 **Værktøjsmestring: Hvad taler mest til dig?**
-**Tag et øjeblik og overvej:**
-- Hvilket værktøj er du mest spændt på at prøve først? (Der er ikke noget forkert svar!)
-- Føles kommandolinjen stadig skræmmende, eller er du nysgerrig på den?
-- Kan du forestille dig at bruge browserens DevTools til at kigge bag kulisserne på dine yndlingshjemmesider?
+**Tag et øjeblik til at overveje:**
+- Hvilket værktøj glæder du dig mest til at prøve først? (Der findes ikke et forkert svar!)
+- Føles kommandolinjen stadig intimiderende, eller er du nysgerrig på den?
+- Kan du forestille dig at bruge browser DevTools til at kigge bag kulisserne på dine yndlingshjemmesider?
```mermaid
pie title "Udviklertid brugt med værktøjer"
"Kodeeditor" : 40
- "Browser Test" : 25
- "Kommandolinje" : 15
+ "Browser Testning" : 25
+ "Kommando Linje" : 15
"Læsning af dokumentation" : 15
"Fejlfinding" : 5
```
-> **Sjov indsigt**: De fleste udviklere bruger omkring 40% af deres tid i deres kodeeditor, men læg mærke til hvor meget tid, der går til test, læring og problemløsning. Programmering handler ikke kun om at skrive kode – det handler om at skabe oplevelser!
+> **Sjov indsigt**: De fleste udviklere bruger omkring 40 % af deres tid i deres kodeeditor, men det er interessant at bemærke, hvor meget tid der går til test, læring og problemløsning. Programmering handler ikke bare om at skrive kode – det handler om at skabe oplevelser!
-✅ **Noget at tænke over**: Her er en interessant tanke – hvordan tror du, værktøjerne til at bygge hjemmesider (udvikling) adskiller sig fra værktøjerne til at designe, hvordan de ser ud (design)? Det er som forskellen mellem en arkitekt, der designer et smukt hus, og entreprenøren, der rent faktisk bygger det. Begge er afgørende, men de har brug for forskellige værktøjskasser! Denne tankegang vil virkelig hjælpe dig med at se det større billede af, hvordan hjemmesider kommer til live.
+✅ **Noget at tænke over**: Overvej hvordan værktøjerne til at bygge hjemmesider (udvikling) adskiller sig fra værktøjer til at designe, hvordan de ser ud (design). Det er som forskellen på en arkitekt, der designer et smukt hus, og entreprenøren, der rent faktisk bygger det. Begge dele er afgørende, men kræver forskellige værktøjskasser! Den slags tanker vil virkelig hjælpe dig med at se det større billede af, hvordan hjemmesider bliver til.
-## GitHub Copilot Agent Challenge 🚀
+## GitHub Copilot Agent Udfordring 🚀
-Brug Agent-tilstand til at løse følgende udfordring:
+Brug Agent-tilstanden til at løse følgende udfordring:
-**Beskrivelse:** Udforsk funktionerne i en moderne kodeeditor eller IDE og demonstrer, hvordan den kan forbedre din workflow som webudvikler.
+**Beskrivelse:** Udforsk funktionerne i en moderne kodeeditor eller IDE og demonstrer, hvordan den kan forbedre din arbejdsgang som webudvikler.
-**Prompt:** Vælg en kodeeditor eller IDE (som Visual Studio Code, WebStorm eller en cloud-baseret IDE). List tre funktioner eller udvidelser, der hjælper dig med at skrive, debugge eller vedligeholde kode mere effektivt. For hver, giv en kort forklaring på, hvordan det gavner din workflow.
+**Prompt:** Vælg en kodeeditor eller IDE (som Visual Studio Code, WebStorm eller en cloud-baseret IDE). Angiv tre funktioner eller udvidelser, der hjælper dig med at skrive, fejlfinde eller vedligeholde kode mere effektivt. For hver, giv en kort forklaring på, hvordan det gavner din arbejdsgang.
---
@@ -736,50 +736,50 @@ Brug Agent-tilstand til at løse følgende udfordring:
**Okay, detektiv, klar til din første sag?**
-Nu hvor du har fået dette fantastiske fundament, har jeg et eventyr, der vil hjælpe dig med at se, hvor utrolig forskelligartet og fascinerende programmeringsverdenen virkelig er. Og hør her – det handler ikke om at skrive kode endnu, så ingen pres! Tænk på dig selv som en programmingssprog-detektiv på din allerførste spændende sag!
+Nu hvor du har fået dette fantastiske fundament, har jeg et eventyr, som vil hjælpe dig med at se, hvor utroligt mangfoldig og fascinerende programmeringsverdenen er. Og hør her – det handler ikke om at skrive kode endnu, så tag det helt roligt! Tænk på dig selv som en programmeringssprogsdetektiv på din allerførste spændende sag!
**Din mission, hvis du vælger at acceptere den:**
-1. **Bliv sprogeksplorer**: Vælg tre programmeringssprog fra helt forskellige universer – måske et der bygger hjemmesider, et der skaber mobilapps og et, der bearbejder data for forskere. Find eksempler på den samme simple opgave skrevet i hvert sprog. Jeg lover, du bliver fuldstændig forbavset over, hvor forskellige de kan se ud, mens de laver præcis det samme!
+1. **Bliv en sprogeventyrer**: Vælg tre programmeringssprog fra helt forskellige verdener – måske ét til websites, ét til mobilapps og ét til databehandling for forskere. Find eksempler på den samme simple opgave skrevet i hvert sprog. Jeg lover, du bliver helt overrasket over, hvor forskelligt de kan se ud, selvom de laver præcis det samme!
-2. **Opdag deres oprindelseshistorier**: Hvad gør hvert sprog specielt? Her er en fed kendsgerning – hvert eneste programmeringssprog blev skabt, fordi nogen tænkte: "Ved du hvad? Der må være en bedre måde at løse dette specifikke problem på." Kan du finde ud af, hvad de problemer var? Nogle af disse historier er virkelig fascinerende!
+2. **Opdag deres oprindelseshistorier**: Hvad gør hvert sprog unikt? Her er en fed kendsgerning – hvert enkelt programmeringssprog blev skabt, fordi nogen tænkte, "Ved du hvad? Der må være en bedre måde at løse dette specifikke problem." Kan du finde ud af, hvad disse problemer var? Nogle af historierne er virkelig spændende!
-3. **Mød fællesskaberne**: Se på, hvor imødekommende og passionerede hvert sprogs fællesskab er. Nogle har millioner af udviklere, der deler viden og hjælper hinanden, andre er mindre, men utroligt tætte og støttende. Du vil elske at se de forskellige personligheder i disse fællesskaber!
+3. **Mød fællesskaberne**: Se, hvor imødekommende og passionerede hvert sprogs fællesskab er. Nogle har millioner af udviklere, der deler viden og hjælper hinanden, andre er mindre, men utrolig sammentømrede og støttende. Du kommer til at elske at opleve de forskellige personligheder i disse fællesskaber!
-4. **Følg din mavefornemmelse**: Hvilket sprog føles mest tilgængeligt for dig lige nu? Stress ikke over at træffe det "perfekte" valg – bare lyt til din intuition! Der findes ærligt talt ikke noget forkert svar her, og du kan altid udforske andre senere.
+4. **Følg din mavefornemmelse**: Hvilket sprog føles mest tilgængeligt for dig lige nu? Stress ikke over at træffe det "perfekte" valg – lyt bare til din instinkt! Der findes ærligt talt ikke et forkert svar her, og du kan altid udforske andre senere.
-**Bonus detektivarbejde**: Se om du kan finde ud af, hvilke store hjemmesider eller apps der er bygget med hvert sprog. Jeg garanterer, at du bliver chokeret over, hvad der driver Instagram, Netflix eller det mobilspil, du ikke kan slippe!
+**Bonusdetektivarbejde**: Se om du kan finde ud af, hvilke store hjemmesider eller apps der er bygget med hvert sprog. Jeg lover, du bliver chokeret over at lære, hvad der driver Instagram, Netflix eller det mobilspil, du ikke kan stoppe med at spille!
-> 💡 **Husk**: Du prøver ikke at blive ekspert i nogen af disse sprog i dag. Du lærer bare kvarteret at kende, inden du beslutter, hvor du vil slå dig ned. Tag dig god tid, hav det sjovt og lad din nysgerrighed føre dig!
+> 💡 **Husk**: Du behøver ikke blive ekspert i nogen af disse sprog i dag. Du skal bare lære kvarteret at kende, inden du beslutter dig for, hvor du vil slå dig ned. Tag dig god tid, hav det sjovt, og lad din nysgerrighed føre dig!
-## Lad os fejre det, du har opdaget!
+## Lad os fejre, hvad du har opdaget!
-Hold da op, du har suget så meget fantastisk information til dig i dag! Jeg er virkelig spændt på at se, hvor meget af denne fantastiske rejse, der er blevet hængende hos dig. Og husk – det er ikke en test, hvor du skal have alt perfekt. Det her er mere som en fejring af alt det fede, du har lært om denne fascinerende verden, du er ved at begive dig ud i!
+Hold da op, du har fanget så mange utrolige informationer i dag! Jeg er virkelig spændt på at se, hvor meget af denne fantastiske rejse, der sidder fast hos dig. Og husk – dette er ikke en test, hvor du skal gøre det perfekt. Det er mere en fejring af alt det seje, du har lært om denne fascinerende verden, du er på vej ind i!
-[Tag efter-lektion quizzen](https://ff-quizzes.netlify.app/web/)
-## Review & Selvstudie
+[Tag quizzen efter lektionen](https://ff-quizzes.netlify.app/web/)
-**Tag dig tid til at udforske og have det sjovt med det!**
+## Gennemgang & Selvstudie
-Du har dækket meget i dag, og det er noget at være stolt af! Nu kommer den sjove del – at udforske de emner, der vækkede din nysgerrighed. Husk, det her er ikke lektier – det er et eventyr!
+**Tag dig tid til at udforske og have det sjovt med det!**
+Du har dækket meget i dag, og det er noget, du kan være stolt af! Nu kommer den sjove del – at udforske de emner, der vækkede din nysgerrighed. Husk, dette er ikke lektier – det er et eventyr!
**Dyk dybere ned i det, der begejstrer dig:**
-**Prøv programmeringssprog af:**
-- Besøg de officielle hjemmesider for 2-3 sprog, der fangede din opmærksomhed. Hvert sprog har sin egen personlighed og historie!
-- Prøv nogle online kodelegepladser som [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), eller [Replit](https://replit.com/). Vær ikke bange for at eksperimentere – du kan ikke ødelægge noget!
-- Læs om, hvordan dit yndlingssprog blev til. Alvorligt talt, nogle af oprindelseshistorierne er fascinerende og vil hjælpe dig med at forstå, hvorfor sprog fungerer, som de gør.
+**Kom i gang med programmeringssprog:**
+- Besøg de officielle hjemmesider for 2-3 sprog, der fangede din interesse. Hvert enkelte har sin egen personlighed og historie!
+- Prøv nogle online kode-legeredskaber som [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), eller [Replit](https://replit.com/). Vær ikke bange for at eksperimentere – du kan ikke ødelægge noget!
+- Læs om, hvordan dit yndlingssprog blev til. Seriøst, nogle af disse oprindelseshistorier er fascinerende og vil hjælpe dig med at forstå, hvorfor sprog fungerer, som de gør.
-**Bliv fortrolig med dine nye værktøjer:**
-- Download Visual Studio Code, hvis du ikke allerede har det – det er gratis, og du vil elske det!
-- Brug et par minutter på at gennemse Extensions-markedet. Det er som en app-butik til din kodeeditor!
-- Åbn din browsers udviklerværktøjer og klik bare rundt. Bekymr dig ikke om at forstå alt – bare bliv fortrolig med, hvad der er der.
+**Bliv komfortabel med dine nye værktøjer:**
+- Download Visual Studio Code, hvis du ikke allerede har gjort det – det er gratis, og du kommer til at elske det!
+- Brug et par minutter på at browse gennem Extensions-markedet. Det er som en app-butik til din kodeeditor!
+- Åbn din browsers Developer Tools og klik rundt. Bekymr dig ikke om at forstå alt – bare bliv fortrolig med, hvad der er der.
-**Bliv en del af fællesskabet:**
-- Følg nogle udviklerfællesskaber på [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), eller [GitHub](https://github.com/). Programmeringsfællesskabet er utrolig imødekommende over for nybegyndere!
-- Se nogle begynder-venlige programmeringsvideoer på YouTube. Der findes mange gode skabere, som husker, hvordan det var at starte ud.
+**Deltag i fællesskabet:**
+- Følg nogle udviklerfællesskaber på [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), eller [GitHub](https://github.com/). Programmeringsfællesskabet er utroligt imødekommende overfor nybegyndere!
+- Se nogle begynder-venlige kodevideoer på YouTube. Der er så mange gode skabere, som husker, hvordan det er at være ny.
- Overvej at deltage i lokale meetups eller online fællesskaber. Tro mig, udviklere elsker at hjælpe nybegyndere!
-> 🎯 **Lyt, her er hvad jeg vil have, du husker**: Du forventes ikke at blive en kode-troldmand natten over! Lige nu lærer du bare at kende denne fantastiske nye verden, du er ved at blive en del af. Tag dig tid, nyd rejsen, og husk – hver eneste udvikler, du beundrer, sad engang præcis, hvor du sidder lige nu, og følte sig begejstret og måske lidt overvældet. Det er helt normalt, og det betyder, at du gør det rigtigt!
+> 🎯 **Lyt, her er hvad jeg vil have dig til at huske**: Du forventes ikke at blive en kode-mester natten over! Lige nu lærer du bare dette fantastiske nye univers at kende, som du snart skal være en del af. Tag dig god tid, nyd rejsen, og husk – hver eneste udvikler, du beundrer, sad engang lige præcis, hvor du er nu, følte sig spændt og måske lidt overvældet. Det er helt normalt, og det betyder, at du gør det rigtigt!
@@ -787,70 +787,70 @@ Du har dækket meget i dag, og det er noget at være stolt af! Nu kommer den sjo
[Reading the Docs](assignment.md)
-> 💡 **Et lille skub til din opgave**: Jeg ville virkelig elske at se dig udforske nogle værktøjer, vi ikke har dækket endnu! Spring editorerne, browsere og kommandolinjeværktøjerne over, som vi allerede har talt om – der er et helt utroligt univers af fantastiske udviklingsværktøjer derude, som bare venter på at blive opdaget. Kig efter dem, der er aktivt vedligeholdt og har levende, hjælpsomme fællesskaber (de har som regel de bedste tutorials og de mest støttende folk, når du uundgåeligt sidder fast og har brug for en venlig hånd).
+> 💡 **Et lille skub til din opgave**: Jeg vil virkelig gerne se dig udforske nogle værktøjer, vi ikke har dækket endnu! Spring editorerne, browsere og kommandolinjeværktøjer over, som vi allerede har talt om – der er et helt utroligt univers af fantastiske udviklingsværktøjer derude, som bare venter på at blive opdaget. Kig efter dem, der aktivt bliver vedligeholdt og har levende, hjælpsomme fællesskaber (de har som regel de bedste tutorials og de mest støttende folk, når du uundgåeligt sidder fast og har brug for en venlig hånd).
---
## 🚀 Din Programmeringsrejse Tidslinje
-### ⚡ **Hvad du kan nå på de næste 5 minutter**
-- [ ] Bogmærk 2-3 programmeringssprogs hjemmesider, der fangede din opmærksomhed
-- [ ] Download Visual Studio Code, hvis du ikke allerede har det
-- [ ] Åbn din browsers DevTools (F12) og klik rundt på en hvilken som helst hjemmeside
-- [ ] Bliv medlem af et programmeringsfællesskab (Dev.to, Reddit r/webdev, eller Stack Overflow)
+### ⚡ **Det kan du nå på de næste 5 minutter**
+- [ ] Bogmærk 2-3 programmeringssprogshjemmesider, der fangede din interesse
+- [ ] Download Visual Studio Code, hvis du ikke allerede har gjort det
+- [ ] Åbn din browsers DevTools (F12) og klik rundt på en vilkårlig hjemmeside
+- [ ] Deltag i et programmeringsfællesskab (Dev.to, Reddit r/webdev eller Stack Overflow)
-### ⏰ **Hvad du kan nå på denne time**
-- [ ] Fuldfør quizzen efter lektionen og reflekter over dine svar
-- [ ] Opsæt VS Code med GitHub Copilot-udvidelsen
-- [ ] Prøv et "Hello World" eksempel i 2 forskellige programmeringssprog online
-- [ ] Se en video om "En dag i livet for en udvikler" på YouTube
-- [ ] Påbegynd din detektivarbejde om programmeringssprog (fra udfordringen)
+### ⏰ **Det kan du nå på en time**
+- [ ] Gennemfør quizzen efter lektionen og tænk over dine svar
+- [ ] Sæt VS Code op med GitHub Copilot-udvidelsen
+- [ ] Prøv et "Hello World"-eksempel i to forskellige programmeringssprog online
+- [ ] Se en video om "En dag i en udviklers liv" på YouTube
+- [ ] Start din programmeringssprogsdetektiv-arbejde (fra udfordringen)
### 📅 **Dit uge-lange eventyr**
-- [ ] Fuldfør opgaven og udforsk 3 nye udviklingsværktøjer
+- [ ] Gennemfør opgaven og udforsk 3 nye udviklingsværktøjer
- [ ] Følg 5 udviklere eller programmeringskonti på sociale medier
- [ ] Prøv at bygge noget lille i CodePen eller Replit (selv bare "Hello, [Dit Navn]!")
-- [ ] Læs et udviklerblogindlæg om nogens programmeringsrejse
+- [ ] Læs et udvikler-blogindlæg om nogens kode-rejse
- [ ] Deltag i et virtuelt meetup eller se en programmeringssnak
- [ ] Begynd at lære dit valgte sprog med online tutorials
-### 🗓️ **Din månedslange forvandling**
-- [ ] Byg dit første lille projekt (selv en simpel webside tæller!)
-- [ ] Bidrag til et open source-projekt (start med dokumentationsrettelser)
-- [ ] Mentorer en, der lige er startet på deres programmeringsrejse
-- [ ] Lav din udviklerportfolio-hjemmeside
-- [ ] Forbind dig med lokale udviklerfællesskaber eller studiegrupper
-- [ ] Begynd at planlægge dit næste læringsmål
+### 🗓️ **Din måned-lange forvandling**
+- [ ] Byg dit første lille projekt (selv en simpel hjemmeside tæller!)
+- [ ] Bidrag til et open-source projekt (start med dokumentationsrettelser)
+- [ ] Mentorér en, der lige er startet på deres programmeringsrejse
+- [ ] Lav din udvikler-portfolio hjemmeside
+- [ ] Forbind med lokale udviklerfællesskaber eller studiegrupper
+- [ ] Begynd at planlægge din næste læringsmilepæl
-### 🎯 **Afsluttende refleksion**
+### 🎯 **Sidste refleksionscheck**
-**Før du går videre, så tag et øjeblik til at fejre:**
-- Hvad er én ting ved programmering, der begejstrede dig i dag?
+**Før du går videre, tag et øjeblik til at fejre:**
+- Hvad er én ting om programmering, der begejstrede dig i dag?
- Hvilket værktøj eller koncept vil du udforske først?
-- Hvordan føler du dig ved at starte denne programmeringsrejse?
-- Hvilket spørgsmål vil du stille en udvikler lige nu?
+- Hvordan har du det med at starte denne programmeringsrejse?
+- Hvad er et spørgsmål, du gerne vil stille en udvikler lige nu?
```mermaid
journey
title Din Selvtillidsopbygningsrejse
- section I dag
+ section I Dag
Nysgerrig: 3: You
Overvældet: 4: You
Begejstret: 5: You
- section Denne uge
+ section Denne Uge
Udforskning: 4: You
Læring: 5: You
Forbindelse: 4: You
- section Næste måned
+ section Næste Måned
Opbygning: 5: You
Selvsikker: 5: You
- Hjælper andre: 5: You
+ Hjælpe Andre: 5: You
```
-> 🌟 **Husk**: Enhver ekspert var engang en begynder. Enhver seniorudvikler har følt sig præcis som dig lige nu – begejstret, måske lidt overvældet, og bestemt nysgerrig efter, hvad der er muligt. Du er i fantastisk selskab, og denne rejse bliver utroligt spændende. Velkommen til den vidunderlige verden af programmering! 🎉
+> 🌟 **Husk**: Enhver ekspert har engang været nybegynder. Enhver seniorudvikler har engang følt præcis som du gør lige nu – spændt, måske lidt overvældet, og helt sikkert nysgerrig efter, hvad der er muligt. Du er i fantastisk selskab, og denne rejse bliver utroligt spændende. Velkommen til den vidunderlige verden af programmering! 🎉
---
-**Ansvarsfraskrivelse**:
-Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, bedes du være opmærksom på, at automatiske oversættelser kan indeholde fejl eller unøjagtigheder. Det oprindelige dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os ikke ansvar for eventuelle misforståelser eller fejltolkninger som følge af brugen af denne oversættelse.
+**Ansvarsfraskrivelse**:
+Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, bedes du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det oprindelige dokument på dets modersmål bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.
\ No newline at end of file
diff --git a/translations/da/AGENTS.md b/translations/da/AGENTS.md
index 5bd894a83..d9be5e449 100644
--- a/translations/da/AGENTS.md
+++ b/translations/da/AGENTS.md
@@ -2,36 +2,36 @@
## Projektoversigt
-Dette er et uddannelseslæremiddelforestilling til undervisning i grundlæggende webudvikling for begyndere. Læremidlet er et omfattende 12-ugers kursus udviklet af Microsoft Cloud Advocates, med 24 praktiske lektioner, der dækker JavaScript, CSS og HTML.
+Dette er et uddannelsesforløb-lager til undervisning i webudviklingsgrundlag for begyndere. Forløbet er et omfattende 12-ugers kursus udviklet af Microsoft Cloud Advocates, med 24 praktiske lektioner, der dækker JavaScript, CSS og HTML.
-### Nøglekomponenter
+### Hovedkomponenter
-- **Uddannelsesindhold**: 24 strukturerede lektioner organiseret i projektbaserede moduler
-- **Praktiske projekter**: Terrarium, Typingspil, Browserudvidelse, Rumspil, Bankapp, Kodeeditor og AI Chat-assistent
-- **Interaktive quizzer**: 48 quizzer med 3 spørgsmål hver (før/efter lektion vurderinger)
-- **Flersproget support**: Automatiserede oversættelser til 50+ sprog via GitHub Actions
-- **Teknologier**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (til AI-projekter)
+- **Uddannelsesindhold**: 24 strukturerede lektioner organiseret i projektbaserede moduler
+- **Praktiske Projekter**: Terrarium, Typing Game, Browserudvidelse, Space Game, Banking App, Code Editor, og AI Chat Assistant
+- **Interaktive Quizzer**: 48 quizzer med 3 spørgsmål hver (før/efter-lesson vurderinger)
+- **Flersprogssupport**: Automatiske oversættelser til 50+ sprog via GitHub Actions
+- **Teknologier**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (til AI-projekter)
### Arkitektur
-- Uddannelsesrepository med lektionbaseret struktur
-- Hver lektionsmappe indeholder README, kodeeksempler og løsninger
-- Selvstændige projekter i separate mapper (quiz-app, diverse lektionsprojekter)
-- Oversættelsessystem ved brug af GitHub Actions (co-op-translator)
-- Dokumentation serveres via Docsify og findes som PDF
+- Uddannelseslager med lektion-baseret struktur
+- Hver lektionsmappe indeholder README, kodeeksempler og løsninger
+- Selvstændige projekter i separate mapper (quiz-app, forskellige lektionsprojekter)
+- Oversættelsessystem ved brug af GitHub Actions (co-op-translator)
+- Dokumentation serveret via Docsify og tilgængelig som PDF
## Opsætningskommandoer
-Dette repository er primært til konsumering af uddannelsesindhold. For arbejde med specifikke projekter:
+Dette lager er primært til forbrug af uddannelsesindhold. For arbejde med specifikke projekter:
-### Hovedrepository opsætning
+### Hovedlageropsætning
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
-
-### Quiz App opsætning (Vue 3 + Vite)
+
+### Quiz App Opsætning (Vue 3 + Vite)
```bash
cd quiz-app
@@ -40,7 +40,7 @@ npm run dev # Start udviklingsserver
npm run build # Byg til produktion
npm run lint # Kør ESLint
```
-
+
### Bankprojekt API (Node.js + Express)
```bash
@@ -50,7 +50,7 @@ npm start # Start API-server
npm run lint # Kør ESLint
npm run format # Formater med Prettier
```
-
+
### Browserudvidelsesprojekter
```bash
@@ -58,16 +58,16 @@ cd 5-browser-extension/solution
npm install
# Følg browser-specifikke instruktioner til indlæsning af udvidelser
```
-
-### Rumspilsprojekter
+
+### Space Game Projekter
```bash
cd 6-space-game/solution
npm install
# Åbn index.html i browseren eller brug Live Server
```
-
-### Chatprojekt (Python Backend)
+
+### Chat Projekt (Python Backend)
```bash
cd 9-chat-project/solution/backend/python
@@ -75,208 +75,208 @@ pip install openai
# Indstil miljøvariablen GITHUB_TOKEN
python api.py
```
-
-## Udviklingsworkflow
-### For indholdsleverandører
+## Udviklingsarbejdsgang
+
+### For Indholdsbidragydere
-1. **Fork repository** til din GitHub-konto
-2. **Clone din fork** lokalt
-3. **Opret en ny branch** til dine ændringer
-4. Foretag ændringer til lektionsindhold eller kodeeksempler
-5. Test eventuelle kodeændringer i relevante projektmapper
-6. Indsend pull requests i henhold til bidragsretningslinjer
+1. **Fork lageret** til din GitHub-konto
+2. **Klon din fork** lokalt
+3. **Opret en ny gren** til dine ændringer
+4. Foretag ændringer til lektionsindhold eller kodeeksempler
+5. Test eventuelle kodeændringer i relevante projektmapper
+6. Indsend pull requests i henhold til bidragsretningslinjerne
-### For lærende
+### For Lærende
-1. Fork eller klon repository
-2. Naviger sekventielt i lektionsmapper
-3. Læs README-filer for hver lektion
-4. Tag pre-lesson quizzer på https://ff-quizzes.netlify.app/web/
-5. Arbejd gennem kodeeksempler i lektionsmapper
-6. Fuldfør opgaver og udfordringer
-7. Tag post-lesson quizzer
+1. Fork eller klon lageret
+2. Naviger til lektionsmapper i rækkefølge
+3. Læs README-filer for hver lektion
+4. Gennemfør før-lektion quizzer på https://ff-quizzes.netlify.app/web/
+5. Arbejd med kodeeksempler i lektionsmapper
+6. Fuldfør opgaver og udfordringer
+7. Tag efter-lektion quizzer
-### Liveudvikling
+### Live Udvikling
-- **Dokumentation**: Kør `docsify serve` i rodmappen (port 3000)
-- **Quiz App**: Kør `npm run dev` i quiz-app mappen
-- **Projekter**: Brug VS Code Live Server extension til HTML-projekter
-- **API-projekter**: Kør `npm start` i respektive API-mapper
+- **Dokumentation**: Kør `docsify serve` i rodmappen (port 3000)
+- **Quiz App**: Kør `npm run dev` i quiz-app mappen
+- **Projekter**: Brug VS Code Live Server-udvidelsen til HTML-projekter
+- **API Projekter**: Kør `npm start` i respektive API-mapper
## Testinstruktioner
-### Quiz App test
+### Quiz App Test
```bash
cd quiz-app
-npm run lint # Tjek for problemer med kodestil
+npm run lint # Tjek for kode stil problemer
npm run build # Bekræft at build lykkes
```
-
-### Bank API test
+
+### Bank API Test
```bash
cd 7-bank-project/api
npm run lint # Tjek for kode stil problemer
-node server.js # Bekræft at serveren starter uden fejl
+node server.js # Bekræft, at serveren starter uden fejl
```
-
-### Generel testtilgang
-- Dette er et uddannelsesrepository uden omfattende automatiserede tests
-- Manuel test fokuserer på:
- - Kodeeksempler kører fejlfrit
- - Links i dokumentation fungerer korrekt
- - Projektbygninger gennemføres succesfuldt
- - Eksempler følger bedste praksis
+### Generel Testtilgang
+
+- Dette er et uddannelseslager uden omfattende automatiserede tests
+- Manuel test fokuserer på:
+ - Kodeeksempler kører uden fejl
+ - Links i dokumentationen fungerer korrekt
+ - Projekt builds gennemføres succesfuldt
+ - Eksempler følger bedste praksis
-### Pre-indsendelsescheck
+### Tjek Før Indsendelse
-- Kør `npm run lint` i mapper med package.json
-- Bekræft at markdown-links er gyldige
-- Test kodeeksempler i browser eller Node.js
-- Tjek at oversættelser bevarer korrekt struktur
+- Kør `npm run lint` i mapper med package.json
+- Bekræft at markdown-links er valide
+- Test kodeeksempler i browser eller Node.js
+- Kontrollér at oversættelser bevarer korrekt struktur
-## Kode-stil retningslinjer
+## Kodeformateringsretningslinjer
### JavaScript
-- Brug moderne ES6+ syntaks
-- Følg standard ESLint konfigurationer leveret i projekterne
-- Brug meningsfulde variabel- og funktionsnavne for uddannelsesmæssig klarhed
-- Tilføj kommentarer der forklarer koncepter for lærende
-- Formater med Prettier hvor konfigureret
+- Brug moderne ES6+ syntaks
+- Følg standard ESLint konfigurationer i projekterne
+- Brug meningsfulde variabel- og funktionsnavne for pædagogisk klarhed
+- Tilføj kommentarer der forklarer koncepter for lærende
+- Formater med Prettier hvor konfigureret
### HTML/CSS
-- Semantiske HTML5 elementer
-- Responsive designprincipper
-- Klare klasse-navnekonventioner
-- Kommentarer der forklarer CSS-teknikker for lærende
+- Semantiske HTML5-elementer
+- Responsive designprincipper
+- Klare klassenavnekonventioner
+- Kommentarer der forklarer CSS-teknikker for lærende
### Python
-- PEP 8 stil retningslinjer
-- Klare, uddannelsesmæssige kodeeksempler
-- Type hints hvor hjælpsomt for læring
+- PEP 8 stilretningslinjer
+- Tydelige, pædagogiske kodeeksempler
+- Type hints hvor hjælpsomt for læring
-### Markdown dokumentation
+### Markdown Dokumentation
-- Klar overskriftshierarki
-- Kodeblokke med sprogspecifikation
-- Links til yderligere ressourcer
-- Skærmbilleder og billeder i `images/` mapper
-- Alt-tekst for billeder for tilgængelighed
+- Klar overskriftshierarki
+- Kodeblokke med sprogspecifikation
+- Links til yderligere ressourcer
+- Skærmbilleder og billeder i `images/` mapper
+- Alt-tekst for billeder for tilgængelighed
### Filorganisation
-- Lektioner nummereret sekventielt (1-getting-started-lessons, 2-js-basics, osv.)
-- Hvert projekt har `solution/` og ofte `start/` eller `your-work/` mapper
-- Billeder opbevaret i lektionsspecifikke `images/` mapper
-- Oversættelser i `translations/{language-code}/` struktur
+- Lektioner nummeret sekventielt (1-getting-started-lessons, 2-js-basics, osv.)
+- Hvert projekt har `solution/` og ofte `start/` eller `your-work/` mapper
+- Billeder gemt i lektion-specifikke `images/` mapper
+- Oversættelser i `translations/{language-code}/` struktur
-## Build og udrulning
+## Byg og Udrul
-### Quiz App udrulning (Azure Static Web Apps)
+### Quiz App Udrulning (Azure Static Web Apps)
-quiz-app er konfigureret til Azure Static Web Apps udrulning:
+Quiz-app'en er konfigureret til Azure Static Web Apps udrulning:
```bash
cd quiz-app
npm run build # Opretter dist/-mappe
-# Udruller via GitHub Actions-arbejdsgang ved push til main
+# Udruller via GitHub Actions workflow ved push til main
```
-
-Azure Static Web Apps konfiguration:
-- **App placering**: `/quiz-app`
-- **Output placering**: `dist`
-- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
-### Dokumentations PDF generering
+Azure Static Web Apps konfiguration:
+- **App placering**: `/quiz-app`
+- **Output placering**: `dist`
+- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
+
+### Dokumentations PDF Generering
```bash
npm install # Installer docsify-to-pdf
npm run convert # Generer PDF fra docs
```
-
-### Docsify dokumentation
+
+### Docsify Dokumentation
```bash
npm install -g docsify-cli # Installer Docsify globalt
docsify serve # Server på localhost:3000
```
-
-### Projekt-specifikke builds
-Hver projektmappe kan have sin egen build-proces:
-- Vue projekter: `npm run build` skaber produktionspakker
-- Statisk projekter: Ingen build-step, filer serveres direkte
+### Projekt-specifikke Builds
+
+Hver projektmappe kan have sin egen byggeproces:
+- Vue-projekter: `npm run build` skaber produktionspakker
+- Statiske projekter: Ingen build-step, server filer direkte
-## Pull Request retningslinjer
+## Pull Request Retningslinjer
-### Titelformat
+### Titel Format
-Brug klare, beskrivende titler der angiver ændringsområdet:
-- `[Quiz-app] Tilføj ny quiz til lektion X`
-- `[Lesson-3] Ret stavefejl i terrarium projekt`
-- `[Translation] Tilføj spansk oversættelse til lektion 5`
-- `[Docs] Opdater opsætningsinstruktioner`
+Brug klare, beskrivende titler der angiver ændringsområdet:
+- `[Quiz-app] Tilføj ny quiz til lektion X`
+- `[Lesson-3] Ret stavefejl i terrarium projekt`
+- `[Translation] Tilføj spansk oversættelse til lektion 5`
+- `[Docs] Opdater opsætningsinstruktioner`
-### Nødvendige checks
+### Krævede Tjek
Før indsendelse af PR:
-1. **Kodekvalitet**:
- - Kør `npm run lint` i berørte projektmapper
- - Ret alle lintfejl og advarsler
+1. **Kodekvalitet**:
+ - Kør `npm run lint` i berørte projektmapper
+ - Ret alle linting fejl og advarsler
-2. **Build verifikation**:
- - Kør `npm run build` hvis relevant
- - Sikr at der ikke er build-fejl
+2. **Build Verifikation**:
+ - Kør `npm run build` hvis relevant
+ - Sikr at der ikke er build-fejl
-3. **Linkvalidering**:
- - Test alle markdown links
- - Bekræft at billedreferencer virker
+3. **Link Validering**:
+ - Test alle markdown links
+ - Bekræft billedreferencer fungerer
-4. **Indholdsrevision**:
- - Korrekturlæs stavning og grammatik
- - Sikr at kodeeksempler er korrekte og uddannelsesmæssige
- - Bekræft at oversættelser bevarer oprindelig betydning
+4. **Indholdsgennemgang**:
+ - Korrekturlæs for stave- og grammatikfejl
+ - Sikr at kodeeksempler er korrekte og pædagogiske
+ - Bekræft at oversættelser bevarer original betydning
### Bidragskrav
-- Accepter Microsoft CLA (automatisk check ved første PR)
-- Følg [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
-- Se [CONTRIBUTING.md](./CONTRIBUTING.md) for detaljerede retningslinjer
-- Referer issues i PR-beskrivelse hvis relevant
+- Accepter Microsoft CLA (automatisk check ved første PR)
+- Følg [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
+- Se [CONTRIBUTING.md](./CONTRIBUTING.md) for detaljerede retningslinjer
+- Referer til issue-numre i PR-beskrivelse hvis relevant
-### Review proces
+### Gennemgangsproces
-- PRs gennemgås af vedligeholdere og community
-- Uddannelsesklarhed prioriteres
-- Kodeeksempler skal følge gældende bedste praksis
-- Oversættelser gennemgås for nøjagtighed og kulturel egnethed
+- PR’er gennemgås af vedligeholdere og community
+- Pædagogisk klarhed prioriteres
+- Kodeeksempler skal følge aktuelle bedste praksisser
+- Oversættelser vurderes for nøjagtighed og kulturel tilpasning
## Oversættelsessystem
-### Automatisk oversættelse
+### Automatisk Oversættelse
-- Bruger GitHub Actions med co-op-translator workflow
-- Oversætter automatisk til 50+ sprog
-- Kildefiler i hovedmapper
-- Oversatte filer i `translations/{language-code}/` mapper
+- Bruger GitHub Actions med co-op-translator workflow
+- Oversætter til 50+ sprog automatisk
+- Kildefiler i hovedmapper
+- Oversatte filer i `translations/{language-code}/` mapper
-### Tilføjelse af manuelle oversættelsesforbedringer
+### Tilføjelse af Manuelle Oversættelsesforbedringer
-1. Find fil i `translations/{language-code}/`
-2. Foretag forbedringer samtidig med at struktur bevares
-3. Sørg for at kodeeksempler forbliver funktionelle
-4. Test evt. lokaliseret quizindhold
+1. Find fil i `translations/{language-code}/`
+2. Foretag forbedringer med bevaret struktur
+3. Sikr at kodeeksempler forbliver funktionelle
+4. Test eventuelt lokaliseret quiz-indhold
-### Oversættelses metadata
+### Oversættelses Metadata
-Oversatte filer inkluderer metadata header:
+Oversatte filer indeholder metadata header:
```markdown
```
-
-## Fejlfinding og problemløsning
-### Almindelige problemer
+## Fejlfinding og Problemløsning
+
+### Almindelige Problemer
-**Quiz app starter ikke**:
-- Tjek Node.js version (v14+ anbefales)
-- Slet `node_modules` og `package-lock.json`, kør `npm install` igen
-- Tjek for portkonflikter (standard: Vite bruger port 5173)
+**Quiz app starter ikke**:
+- Tjek Node.js version (v14+ anbefalet)
+- Slet `node_modules` og `package-lock.json`, kør `npm install` igen
+- Tjek for portkonflikter (standard: Vite bruger port 5173)
-**API serveren starter ikke**:
-- Bekræft at Node.js version opfylder minimum (node >=10)
-- Tjek om port allerede er i brug
-- Sørg for alle afhængigheder er installeret med `npm install`
+**API server starter ikke**:
+- Bekræft Node.js version minimum (node >=10)
+- Tjek om port allerede er i brug
+- Sikr at alle afhængigheder er installeret med `npm install`
-**Browserudvidelse indlæses ikke**:
-- Bekræft at manifest.json er korrekt formateret
-- Tjek browserens konsol for fejl
-- Følg browser-specifikke installationsinstruktioner for udvidelser
+**Browserudvidelse loader ikke**:
+- Bekræft at manifest.json er korrekt formateret
+- Tjek browserkonsol for fejl
+- Følg browser-specifikke installationsinstruktioner til udvidelser
-**Python chat projekt problemer**:
-- Sørg for OpenAI pakken er installeret: `pip install openai`
-- Bekræft at GITHUB_TOKEN miljøvariablen er sat
-- Check GitHub Models adgangstilladelser
+**Python chat projekt problemer**:
+- Sikr at OpenAI-pakken er installeret: `pip install openai`
+- Bekræft at miljøvariablen GITHUB_TOKEN er sat
+- Tjek GitHub Models adgangstilladelser
-**Docsify serverer ikke dokumenter**:
-- Installer docsify-cli globalt: `npm install -g docsify-cli`
-- Kør fra repository rodmappe
-- Tjek at `docs/_sidebar.md` eksisterer
+**Docsify serverer ikke docs**:
+- Installer docsify-cli globalt: `npm install -g docsify-cli`
+- Kør fra lagerets rodmappe
+- Tjek at `docs/_sidebar.md` findes
-### Udviklingsmiljøtips
+### Udviklingsmiljø Tips
-- Brug VS Code med Live Server extension til HTML projekter
-- Installer ESLint og Prettier extensions for konsistent formattering
-- Brug browserens DevTools til debugging af JavaScript
-- Til Vue projekter, installer Vue DevTools browser extension
+- Brug VS Code med Live Server-udvidelsen til HTML-projekter
+- Installer ESLint og Prettier-udvidelser for ensartet formatering
+- Brug browser DevTools til fejlfinding af JavaScript
+- For Vue projekter, installer Vue DevTools browserudvidelsen
-### Ydeevne overvejelser
+### Ydelsesbetragtninger
-- Stort antal oversatte filer (50+ sprog) betyder at fulde clones er store
-- Brug shallow clone hvis kun indhold arbejdes på: `git clone --depth 1`
-- Ekskluder oversættelser fra søgninger når der arbejdes på engelsk indhold
-- Buildprocesser kan være langsomme ved første kørsel (npm install, Vite build)
+- Stort antal oversatte filer (50+ sprog) betyder at komplette kloner er store
+- Brug shallow clone hvis du kun arbejder med indhold: `git clone --depth 1`
+- Udeluk oversættelser fra søgninger ved arbejde med engelsk indhold
+- Byggeprocesser kan være langsomme ved første kørsel (npm install, Vite build)
-## Sikkerhedsovervejelser
+## Sikkerhedsbetragtninger
-### Miljøvariabler
+### Miljøvariable
-- API nøgler må aldrig committes til repository
-- Brug `.env` filer (allerede i `.gitignore`)
-- Dokumenter nødvendige miljøvariabler i projektets README
+- API nøgler må aldrig committes til lager
+- Brug `.env` filer (allerede i `.gitignore`)
+- Dokumenter nødvendige miljøvariable i projekt-READMEs
-### Python projekter
+### Python Projekter
-- Brug virtuelle miljøer: `python -m venv venv`
-- Hold afhængigheder opdaterede
-- GitHub tokens skal have minimal nødvendige tilladelser
+- Brug virtuelle miljøer: `python -m venv venv`
+- Hold afhængigheder opdaterede
+- GitHub tokens skal have minimale nødvendige rettigheder
-### GitHub Models adgang
+### GitHub Models Adgang
-- Personlige Access Tokens (PAT) kræves for GitHub Models
-- Tokens skal gemmes som miljøvariabler
-- Commit aldrig tokens eller credentials
+- Personlige adgangstokens (PAT) kræves til GitHub Models
+- Tokens skal gemmes som miljøvariable
+- Committ aldrig tokens eller login-oplysninger
-## Yderligere noter
+## Yderligere Bemærkninger
### Målgruppe
-- Fuldstændige begyndere til webudvikling
-- Studerende og selvstuderende
-- Lærere der bruger curriculum i klasseværelser
-- Indhold designet for tilgængelighed og gradvis færdighedsopbygning
+- Fulde begyndere til webudvikling
+- Studerende og selv-studerende
+- Lærere der bruger forløbet i klasseværelser
+- Indhold designet til tilgængelighed og gradvis færdighedsopbygning
### Uddannelsesfilosofi
-- Projektbaseret læringstilgang
-- Hyppige videnschecks (quizzer)
-- Praktiske kodningsøvelser
-- Eksempler på virkelige anvendelser
-- Fokus på grundlæggende før frameworks
+- Projektbaseret læringstilgang
+- Hyppige videnschecks (quizzer)
+- Praktiske kodningsøvelser
+- Eksempler på virkelige anvendelser
+- Fokus på grundlæggende før frameworks
-### Repository vedligeholdelse
+### Lager Vedligeholdelse
-- Aktivt community af lærende og bidragydere
-- Regelmæssige opdateringer af afhængigheder og indhold
-- Issues og diskussioner overvåges af vedligeholdere
-- Oversættelsesopdateringer automatiseret via GitHub Actions
+- Aktivt community af lærende og bidragydere
+- Regelmæssige opdateringer til afhængigheder og indhold
+- Issues og diskussioner overvåget af vedligeholdere
+- Oversættelsesopdateringer automatiseret via GitHub Actions
-### Relaterede ressourcer
+### Relaterede Ressourcer
-- [Microsoft Learn moduler](https://docs.microsoft.com/learn/)
-- [Student Hub ressourcer](https://docs.microsoft.com/learn/student-hub/)
-- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) anbefales til lærende
-- Yderligere kurser: Generativ AI, Data Science, ML, IoT curriculum tilgængelige
+- [Microsoft Learn moduler](https://docs.microsoft.com/learn/)
+- [Student Hub ressourcer](https://docs.microsoft.com/learn/student-hub/)
+- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) anbefalet til lærende
+- Yderligere kurser: Generativ AI, Data Science, ML, IoT forløb tilgængelige
-### Arbejde med specifikke projekter
+### Arbejde med Specifikke Projekter
-For detaljerede instruktioner om individuelle projekter, se README-filer i:
-- `quiz-app/README.md` - Vue 3 quiz applikation
-- `7-bank-project/README.md` - Bankapplikation med autentifikation
-- `5-browser-extension/README.md` - Udvikling af browserudvidelse
-- `6-space-game/README.md` - Canvas-baseret spiludvikling
-- `9-chat-project/README.md` - AI chat assistent projekt
+For detaljerede instruktioner om enkelte projekter, se README-filerne i:
+- `quiz-app/README.md` - Vue 3 quiz applikation
+- `7-bank-project/README.md` - Banking app med autentificering
+- `5-browser-extension/README.md` - Browserudvidelsesudvikling
+- `6-space-game/README.md` - Canvas-baseret spiludvikling
+- `9-chat-project/README.md` - AI chatassistent projekt
-### Monorepo struktur
+### Monorepo Struktur
-Selvom det ikke er et traditionelt monorepo, indeholder dette repository flere uafhængige projekter:
-- Hver lektion er selvstændig
-- Projekter deler ikke afhængigheder
-- Arbejd på individuelle projekter uden at påvirke andre
-- Klon hele repo for fuld curriculum oplevelse
+Selvom det ikke er et traditionelt monorepo, indeholder dette lager flere uafhængige projekter:
+- Hver lektion er selvstændig
+- Projekterne deler ikke afhængigheder
+- Arbejd på individuelle projekter uden at påvirke andre
+- Klon hele repo for fuldt forløbsoplevelse
---
-**Ansvarsfraskrivelse**:
-Dette dokument er oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det oprindelige dokument på dets modersmål bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.
+**Ansvarsfraskrivelse**:
+Dette dokument er oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, bedes du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det oprindelige dokument på dets modersmål bør betragtes som den autoritative kilde. Ved kritiske informationer anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for eventuelle misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse.
\ No newline at end of file
diff --git a/translations/da/README.md b/translations/da/README.md
index e756cd1cd..269374da0 100644
--- a/translations/da/README.md
+++ b/translations/da/README.md
@@ -10,71 +10,81 @@
[](https://discord.gg/nTYy5BXMWG)
-# Webudvikling for begyndere - Et pensum
+# Webudvikling for begyndere - en læseplan
-Lær grundlæggende webudvikling med vores 12-ugers omfattende kursus fra Microsoft Cloud Advocates. Hver af de 24 lektioner dykker ned i JavaScript, CSS og HTML gennem praktiske projekter som terrarier, browserudvidelser og rumspil. Deltag i quizzer, diskussioner og praktiske opgaver. Forbedr dine færdigheder og optimer din viden med vores effektive projektbaserede pædagogik. Start din kodningsrejse i dag!
+Lær grundlæggende webudvikling med vores 12-ugers omfattende kursus af Microsoft Cloud Advocates. Hver af de 24 lektioner dykker ned i JavaScript, CSS og HTML gennem praktiske projekter som terrarier, browserudvidelser og rumspil. Deltag i quizzer, diskussioner og praktiske opgaver. Forbedr dine færdigheder og optimer din vidensfastholdelse med vores effektive projektbaserede pædagogik. Start din kodningsrejse i dag!
Deltag i Azure AI Foundry Discord-fællesskabet
[](https://discord.gg/nTYy5BXMWG)
Følg disse trin for at komme i gang med at bruge disse ressourcer:
-1. **Fork depotet**: Klik på [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
-2. **Klon depotet**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
-3. [**Deltag i Azure AI Foundry Discord og mød eksperter og andre udviklere**](https://discord.com/invite/ByRwuEEgH4)
+1. **Fork Repositoryet**: Klik [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
+2. **Klon Repositoryet**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
+3. [**Deltag i Azure AI Foundry Discord og mød eksperter og medudviklere**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Flersproget support
-#### Understøttet via GitHub Action (Automatiseret & Altid Opdateret)
+#### Understøttet via GitHub Action (Automatiseret og altid opdateret)
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](./README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **Foretrækker du at klone lokalt?**
-
-> Dette repository indeholder 50+ sprogoversættelser, som betydeligt øger downloadstørrelsen. For at klone uden oversættelser, brug sparsomet udtjekning:
+>
+> Dette repository indeholder 50+ sprogoversættelser, hvilket øger downloadstørrelsen betydeligt. For at klone uden oversættelser skal du bruge spars checkout:
+>
+> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
+>
+> **CMD (Windows):**
+> ```cmd
+> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
+> cd Web-Dev-For-Beginners
+> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
+> ```
+>
> Dette giver dig alt, hvad du behøver for at gennemføre kurset med en meget hurtigere download.
-**Hvis du ønsker at få tilføjet yderligere oversættelsessprog, findes de understøttede sprog [her](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
+**Hvis du ønsker at få understøttelse af yderligere oversættelsessprog, er de listet [her](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑🎓 _Er du studerende?_
-Besøg [**Student Hub siden**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), hvor du finder begynderressourcer, studentpakker og endda måder at få en gratis certifikatkupon på. Dette er siden, du vil bogmærke og tjekke fra tid til anden, da vi månedligt udskifter indhold.
+Besøg [**Student Hub siden**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), hvor du finder begynderressourcer, studenterpakker og endda muligheder for at få et gratis certifikatkupon. Dette er siden, du vil bogmærke og tjekke indimellem, da vi skifter indhold månedligt.
### 📣 Meddelelse - Nye GitHub Copilot Agent mode udfordringer at gennemføre!
-Ny udfordring tilføjet, kig efter "GitHub Copilot Agent Challenge 🚀" i de fleste kapitler. Det er en ny udfordring for dig at fuldføre ved at bruge GitHub Copilot og Agent mode. Hvis du ikke har brugt Agent mode før, kan den ikke bare generere tekst, men også skabe og redigere filer, køre kommandoer med mere.
+Ny udfordring tilføjet, kig efter "GitHub Copilot Agent Challenge 🚀" i de fleste kapitler. Det er en ny udfordring, som du skal gennemføre ved hjælp af GitHub Copilot og Agent mode. Hvis du ikke har brugt Agent mode før, kan den ikke kun generere tekst, men også oprette og redigere filer, køre kommandoer og mere.
-### 📣 Meddelelse - _Nyt projekt at bygge med Generativ AI_
+### 📣 Meddelelse - _Nyt projekt at bygge ved hjælp af Generativ AI_
-Nyt AI-assistent projekt lige tilføjet, tjek det ud [projekt](./9-chat-project/README.md)
+Nyt AI Assistant projekt er netop tilføjet, tjek det ud [projekt](./9-chat-project/README.md)
-### 📣 Meddelelse - _Nyt pensum_ om Generativ AI for JavaScript er netop udgivet
+### 📣 Meddelelse - _Ny læseplan_ om Generativ AI for JavaScript er netop udgivet
-Gå ikke glip af vores nye pensum om Generativ AI!
+Gå ikke glip af vores nye læseplan for Generativ AI!
Besøg [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) for at komme i gang!

- Lektioner, der dækker alt fra det grundlæggende til RAG.
-- Interager med historiske karakterer ved hjælp af GenAI og vores følgesvend app.
+- Interagér med historiske figurer ved hjælp af GenAI og vores følgesvend-app.
- Sjov og engagerende fortælling, du vil rejse i tiden!

-Hver lektion inkluderer en opgave, en videnstest og en udfordring for at guide dig i læringsemner som:
+Hver lektion inkluderer en opgave, en videnscheck og en udfordring, der guider dig i at lære emner som:
- Prompting og prompt engineering
-- Tekst- og billedapp generation
+- Tekst- og billedappgenerering
- Søgeapps
Besøg [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) for at komme i gang!
@@ -83,130 +93,129 @@ Besøg [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) for at k
## 🌱 Kom godt i gang
-> **Lærere**, vi har [inkluderet nogle forslag](for-teachers.md) til, hvordan I kan bruge dette pensum. Vi modtager meget gerne jeres feedback [i vores diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
+> **Lærere**, vi har [inkluderet nogle forslag](for-teachers.md) til, hvordan I kan bruge denne læseplan. Vi vil meget gerne have jeres feedback [i vores diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
-**[Elever](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, for hver lektion, start med en quiz før lektion og følg op med at læse lektionens materiale, fuldføre de forskellige aktiviteter og tjek din forståelse med quiz efter lektionen.
+**[Lærende](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, for hver lektion, start med en pre-lecture quiz og følg op med at læse forelæsningsmaterialet, gennemføre de forskellige aktiviteter og tjek din forståelse med post-lecture quizzen.
-For at forbedre din læringsoplevelse, forbind med dine kammerater og arbejd sammen om projekterne! Diskussioner opfordres i vores [diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), hvor vores moderatorhold vil være tilgængelige for at svare på dine spørgsmål.
+For at forbedre din læringsoplevelse, forbind med dine jævnbyrdige for at arbejde på projekterne sammen! Diskussioner opfordres i vores [diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), hvor vores team af moderatorer vil være tilgængelige for at besvare dine spørgsmål.
-For at udvikle din uddannelse yderligere anbefaler vi stærkt at udforske [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) for yderligere studiematerialer.
+For at fremme din uddannelse, anbefaler vi kraftigt at udforske [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) for yderligere studiematerialer.
### 📋 Opsætning af dit miljø
-Dette pensum har et udviklingsmiljø klar til brug! Når du går i gang, kan du vælge at køre pensum i en [Codespace](https://github.com/features/codespaces/) (_et browserbaseret miljø uden installation_), eller lokalt på din computer ved hjælp af en teksteditor som [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+Denne læseplan har et udviklingsmiljø klar til brug! Når du kommer i gang, kan du vælge at køre læseplanen i en [Codespace](https://github.com/features/codespaces/) (_et browser-baseret miljø, hvor ingen installation er nødvendig_), eller lokalt på din computer ved hjælp af en teksteditor som [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Opret dit repository
-For at du nemt kan gemme dit arbejde anbefales det, at du opretter din egen kopi af dette repository. Det kan du gøre ved at klikke på knappen **Use this template** øverst på siden. Dette vil oprette et nyt repository på din GitHub-konto med en kopi af pensum.
+For at du nemt kan gemme dit arbejde anbefales det, at du opretter din egen kopi af dette repository. Det kan du gøre ved at klikke på **Use this template** knappen øverst på siden. Dette vil oprette et nyt repository i din GitHub-konto med en kopi af læseplanen.
Følg disse trin:
-1. **Fork depotet**: Klik på knappen "Fork" øverst til højre på denne side.
-2. **Klon depotet**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
+1. **Fork Repositoryet**: Klik på "Fork" knappen øverst til højre på denne side.
+2. **Klon Repositoryet**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
-#### Kør pensum i en Codespace
+#### Køre læseplanen i en Codespace
-I din kopi af dette repository, som du har oprettet, klik på knappen **Code** og vælg **Open with Codespaces**. Dette vil oprette en ny Codespace, som du kan arbejde i.
+I din kopi af dette repository, som du har oprettet, klik på **Code** knappen og vælg **Open with Codespaces**. Dette opretter en ny Codespace til dig at arbejde i.

-#### Kør pensum lokalt på din computer
-
-For at køre dette pensum lokalt på din computer, skal du bruge en teksteditor, en browser og et kommandolinjeværktøj. Vores første lektion, [Introduktion til programmeringssprog og værktøjer](../../1-getting-started-lessons/1-intro-to-programming-languages), vil guide dig gennem forskellige muligheder for hver af disse værktøjer, så du kan vælge det, der passer bedst til dig.
+#### Køre læseplanen lokalt på din computer
-Vi anbefaler at bruge [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) som din editor, som også har en indbygget [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Du kan downloade Visual Studio Code [her](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+For at køre denne læseplan lokalt på din computer, skal du bruge en teksteditor, en browser og et kommandolinjeværktøj. Vores første lektion, [Introduktion til programmeringssprog og handelsværktøjer](../../1-getting-started-lessons/1-intro-to-programming-languages), vil guide dig gennem forskellige valgmuligheder for hvert af disse værktøjer, så du kan vælge, hvad der passer bedst til dig.
-
-1. Klon dit repository til din computer. Det kan du gøre ved at klikke på knappen **Code** og kopiere URL’en:
+Vi anbefaler at bruge [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) som din editor, som også har et indbygget [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Du kan downloade Visual Studio Code [her](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+1. Klon dit repository til din computer. Det kan du gøre ved at klikke på **Code**-knappen og kopiere URL'en:
[CodeSpace](./images/createcodespace.png)
- Åbn derefter [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) i [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon), og kør følgende kommando, hvor du erstatter `` med den URL, du lige har kopieret:
+
+ Åbn derefter [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) i [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) og kør følgende kommando, hvor du erstatter `` med den URL, du lige har kopieret:
```bash
git clone
```
-2. Åbn mappen i Visual Studio Code. Det kan du gøre ved at klikke på **File** > **Open Folder** og vælge den mappe, du lige har klonet.
+2. Åbn mappen i Visual Studio Code. Det kan du gøre ved at klikke på **File** > **Open Folder** og vælge den mappe, du netop har klonet.
> Anbefalede Visual Studio Code-udvidelser:
>
-> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - for at forhåndsvise HTML-sider i Visual Studio Code
+> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - for at kunne forhåndsvise HTML-sider i Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - for at hjælpe dig med at skrive kode hurtigere
## 📂 Hver lektion inkluderer:
-- valgfri sketchnote
+- valgfri skitsetegning
- valgfri supplerende video
-- forudgående opvarmningsquiz før lektion
-- skriftlig lektion
-- for projektbaserede lektioner, trin-for-trin vejledninger til, hvordan man bygger projektet
-- vidensprøver
+- opvarmningsquiz før lektionen
+- skreven lektion
+- for projektbaserede lektioner, trin-for-trin vejledninger om, hvordan man bygger projektet
+- videnschecks
- en udfordring
- supplerende læsning
- opgave
-- [quiz efter lektionen](https://ff-quizzes.netlify.app/web/)
+- [quiz efter lektion](https://ff-quizzes.netlify.app/web/)
-> **En note om quizzer**: Alle quizzer findes i Quiz-app mappen, i alt 48 quizzer med tre spørgsmål hver. De er tilgængelige [her](https://ff-quizzes.netlify.app/web/). Quiz-appen kan køres lokalt eller implementeres til Azure; følg instruktionerne i `quiz-app` mappen.
+> **En note om quizzes**: Alle quizzes findes i Quiz-app mappen, i alt 48 quizzes med tre spørgsmål hver. De er tilgængelige [her](https://ff-quizzes.netlify.app/web/); quiz-appen kan køres lokalt eller implementeres til Azure; følg instruktionerne i `quiz-app` mappen.
## 🗃️ Lektioner
-| | Projekt Navn | Koncepter undervist | Læringsmål | Linket Lektion | Forfatter |
-| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :-----------------------: |
-| 01 | Kom godt i gang | Introduktion til programmering og værktøjer | Lær de grundlæggende principper bag de fleste programmeringssprog og om software, der hjælper professionelle udviklere | [Introduktion til programmeringssprog og værktøjer](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
-| 02 | Kom godt i gang | Grundlæggende om GitHub, inklusiv samarbejde i teams | Hvordan man bruger GitHub i sit projekt, hvordan man samarbejder med andre om en kodebase | [Introduktion til GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
-| 03 | Kom godt i gang | Tilgængelighed | Lær det grundlæggende om webtilgængelighed | [Grundlæggende om Tilgængelighed](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
-| 04 | JS Grundlæggende | JavaScript datatyper | Grundlæggende om JavaScript-datatyper | [Datatyper](./2-js-basics/1-data-types/README.md) | Jasmine |
-| 05 | JS Grundlæggende | Funktioner og metoder | Lær om funktioner og metoder til at styre en applikations logik | [Funktioner og metoder](./2-js-basics/2-functions-methods/README.md) | Jasmine og Christopher |
-| 06 | JS Grundlæggende | Beslutninger med JS | Lær hvordan man laver betingelser i din kode ved hjælp af beslutningstagning | [Beslutningstagning](./2-js-basics/3-making-decisions/README.md) | Jasmine |
-| 07 | JS Grundlæggende | Arrays og loops | Arbejd med data ved hjælp af arrays og loops i JavaScript | [Arrays og loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
-| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML i praksis | Byg HTML for at skabe et online terrarium med fokus på layout | [Introduktion til HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
-| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS i praksis | Byg CSS for at style det online terrarium, med fokus på CSS-grundlæggende funktioner inklusiv at gøre siden responsiv | [Introduktion til CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
-| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM-manipulation | Byg JavaScript for at få terrariet til at fungere som en drag/drop interface, med fokus på closures og DOM-manipulation | [JavaScript Closures, DOM-manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
-| 11 | [Typing Game](./4-typing-game/solution/README.md) | Byg et skrive-spil | Lær hvordan du bruger tastaturhændelser til at styre logikken i din JavaScript-app | [Begivenhedsdrevet programmering](./4-typing-game/typing-game/README.md) | Christopher |
-| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Arbejde med browsere | Lær hvordan browsere fungerer, deres historie, og hvordan man scaffolder de første elementer i en browserudvidelse | [Om browsere](./5-browser-extension/1-about-browsers/README.md) | Jen |
-| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Bygge en form, kalde API og gemme variabler i lokal lagring | Byg JavaScript-elementerne i din browserudvidelse for at kalde en API ved hjælp af variabler gemt i lokal lagring | [API'er, formularer og lokal lagring](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
-| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Baggrundsprocesser i browseren, web performance | Brug browserens baggrundsprocesser til at håndtere udvidelsens ikon; lær om webperformance og nogle optimeringer | [Baggrundsopgaver og ydeevne](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
-| 15 | [Space Game](./6-space-game/solution/README.md) | Mere avanceret spiludvikling med JavaScript | Lær om arv ved hjælp af både klasser og sammensætning samt Pub/Sub-mønsteret, som forberedelse til at bygge et spil | [Introduktion til avanceret spiludvikling](./6-space-game/1-introduction/README.md) | Chris |
-| 16 | [Space Game](./6-space-game/solution/README.md) | Tegning på canvas | Lær om Canvas API, der bruges til at tegne elementer på en skærm | [Tegning på Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
-| 17 | [Space Game](./6-space-game/solution/README.md) | Flytte elementer rundt på skærmen | Opdag, hvordan elementer kan få bevægelse ved hjælp af kartesiske koordinater og Canvas API | [Flytning af elementer](./6-space-game/3-moving-elements-around/README.md) | Chris |
-| 18 | [Space Game](./6-space-game/solution/README.md) | Kollisiondetektion | Få elementer til at kollidere og reagere på hinanden ved tastetryk og lav en cooldown-funktion for at sikre spillets ydeevne | [Kollisiondetektion](./6-space-game/4-collision-detection/README.md) | Chris |
-| 19 | [Space Game](./6-space-game/solution/README.md) | Holde styr på point | Udfør matematiske beregninger baseret på spillets status og præstation | [Pointoptælling](./6-space-game/5-keeping-score/README.md) | Chris |
-| 20 | [Space Game](./6-space-game/solution/README.md) | Afslutte og genstarte spillet | Lær om hvordan man afslutter og genstarter spillet, inklusiv oprydning af assets og nulstilling af variable | [Afslutningsbetingelsen](./6-space-game/6-end-condition/README.md) | Chris |
-| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-skabeloner og ruter i en webapp | Lær hvordan man skaber fundamentet for en multipages website-arkitektur med routing og HTML-skabeloner | [HTML-skabeloner og ruter](./7-bank-project/1-template-route/README.md) | Yohan |
-| 22 | [Banking App](./7-bank-project/solution/README.md) | Byg en Login og Registreringsformular | Lær om at bygge formularer og håndtere valideringsrutiner | [Formularer](./7-bank-project/2-forms/README.md) | Yohan |
-| 23 | [Banking App](./7-bank-project/solution/README.md) | Metoder til at hente og bruge data | Hvordan data flyder ind og ud af din app, hvordan man henter, gemmer og bortskaffer det | [Data](./7-bank-project/3-data/README.md) | Yohan |
-| 24 | [Banking App](./7-bank-project/solution/README.md) | Koncepter om state management | Lær hvordan din app bevarer state og hvordan man styrer den programmatisk | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
-| 25 | [Browser/VScode Code](../../8-code-editor) | Arbejde med VScode | Lær hvordan man bruger en kodeeditor | [Brug VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
-| 26 | [AI Assistants](./9-chat-project/README.md) | Arbejde med AI | Lær hvordan man bygger sin egen AI-assistent | [AI Assistant projekt](./9-chat-project/README.md) | Chris |
+| | Projektnavn | Gennemgåede Begreber | Læringsmål | Linket Lektion | Forfatter |
+| :-: | :------------------------------------------------------: | :------------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
+| 01 | Kom I Gang | Introduktion til programmering og værktøjer | Lær de grundlæggende elementer bag de fleste programmeringssprog og om software, der hjælper professionelle udviklere med deres arbejde | [Intro til programmeringssprog og værktøjer](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
+| 02 | Kom I Gang | Grundlæggende GitHub, inkl. samarbejde i team | Hvordan man bruger GitHub i sit projekt, og hvordan man samarbejder med andre om en kodebase | [Intro til GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
+| 03 | Kom I Gang | Tilgængelighed | Lær det grundlæggende om webtilgængelighed | [Tilgængelighedsgrundlag](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
+| 04 | JS Grundlæggende | JavaScript Datatyper | Grundlæggende JavaScript-datatyper | [Datatyper](./2-js-basics/1-data-types/README.md) | Jasmine |
+| 05 | JS Grundlæggende | Funktioner og Metoder | Lær om funktioner og metoder til at styre et programs logik | [Funktioner og Metoder](./2-js-basics/2-functions-methods/README.md) | Jasmine og Christopher |
+| 06 | JS Grundlæggende | Beslutningstagning med JS | Lær at skabe betingelser i din kode ved hjælp af beslutningsmetoder | [Beslutningstagning](./2-js-basics/3-making-decisions/README.md) | Jasmine |
+| 07 | JS Grundlæggende | Arrays og Løkker | Arbejd med data ved brug af arrays og løkker i JavaScript | [Arrays og Løkker](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
+| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML i praksis | Byg HTML'en til at skabe et online terrarium med fokus på opbygning af layout | [Introduktion til HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
+| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS i praksis | Byg CSS'en til at style det online terrarium med fokus på det grundlæggende i CSS, inkl. responsivt design | [Introduktion til CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
+| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM-manipulation | Byg JavaScript til at få terrariet til at fungere som en drag/drop-grænseflade med fokus på closures og DOM-manipulation | [JavaScript Closures, DOM-manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
+| 11 | [Typing Game](./4-typing-game/solution/README.md) | Byg et Typingspil | Lær at bruge tastaturbegivenheder til at styre logikken i din JavaScript-app | [Eventdrevet programmering](./4-typing-game/typing-game/README.md) | Christopher |
+| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Arbejde med browsere | Lær hvordan browsere fungerer, deres historie og hvordan man laver de første elementer i en browser-udvidelse | [Om browsere](./5-browser-extension/1-about-browsers/README.md) | Jen |
+| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Byg et formular, kald et API og gem variabler i lokal lagring | Byg JavaScript-elementerne til din browserudvidelse for at kalde et API ved brug af variabler gemt i lokal lagring | [API'er, formularer og lokal lagring](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
+| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Baggrundsprocesser i browseren, webperformance | Brug browserens baggrundsprocesser til at styre udvidelsens ikon; lær om webperformance og nogle optimeringer for at forbedre | [Baggrundsopgaver og performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
+| 15 | [Space Game](./6-space-game/solution/README.md) | Mere avanceret spiludvikling med JavaScript | Lær om arv via både klasser og komposition samt Pub/Sub-mønsteret som forberedelse til et spil | [Introduktion til avanceret spiludvikling](./6-space-game/1-introduction/README.md) | Chris |
+| 16 | [Space Game](./6-space-game/solution/README.md) | Tegning til canvas | Lær om Canvas API, som bruges til at tegne elementer på en skærm | [Tegning til canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
+| 17 | [Space Game](./6-space-game/solution/README.md) | Flyt elementer rundt på skærmen | Opdag hvordan elementer kan bevæge sig vha. kartesiske koordinater og Canvas API | [Flyt elementer rundt](./6-space-game/3-moving-elements-around/README.md) | Chris |
+| 18 | [Space Game](./6-space-game/solution/README.md) | Kollisionregistrering | Få elementer til at kollidere og reagere på hinanden ved tastetryk og tilføj en cooldown-funktion for at sikre spillets ydeevne | [Kollisionregistrering](./6-space-game/4-collision-detection/README.md) | Chris |
+| 19 | [Space Game](./6-space-game/solution/README.md) | Hold styr på point | Udfør matematiske beregninger baseret på spillets status og præstation | [Hold styr på point](./6-space-game/5-keeping-score/README.md) | Chris |
+| 20 | [Space Game](./6-space-game/solution/README.md) | Afslutning og genstart af spillet | Lær om at afslutte og genstarte spillet, inkl. oprydning af ressourcer og nulstilling af variabler | [Afslutningsbetingelsen](./6-space-game/6-end-condition/README.md) | Chris |
+| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-skabeloner og routes i en webapp | Lær hvordan man skaber arkitekturen for et multipages website ved hjælp af routing og HTML-skabeloner | [HTML-skabeloner og routes](./7-bank-project/1-template-route/README.md) | Yohan |
+| 22 | [Banking App](./7-bank-project/solution/README.md) | Byg en login- og registreringsformular | Lær om hvordan man laver formularer og håndterer valideringsrutiner | [Formularer](./7-bank-project/2-forms/README.md) | Yohan |
+| 23 | [Banking App](./7-bank-project/solution/README.md) | Metoder til hentning og brug af data | Hvordan data flyder ind og ud af din app, hvordan man henter, gemmer og bortskaffer det | [Data](./7-bank-project/3-data/README.md) | Yohan |
+| 24 | [Banking App](./7-bank-project/solution/README.md) | Koncepter for tilstandsadministration | Lær hvordan din app bevarer tilstand og hvordan man programmerer styring af denne | [Tilstandsadministration](./7-bank-project/4-state-management/README.md) | Yohan |
+| 25 | [Browser/VScode Code](../../8-code-editor) | Arbejde med VScode | Lær hvordan man bruger en kodeeditor | [Brug af VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
+| 26 | [AI Assistants](./9-chat-project/README.md) | Arbejde med AI | Lær hvordan du bygger din egen AI-assistent | [AI Assistent projekt](./9-chat-project/README.md) | Chris |
## 🏫 Pædagogik
-Vores pensum er designet med to nøgleprincipper i pædagogik:
+Vores læreplan er designet med to centrale pædagogiske principper for øje:
* projektbaseret læring
-* hyppige quizzer
+* hyppige quizzes
-Programmet underviser i grundlæggende JavaScript, HTML og CSS samt de nyeste værktøjer og teknikker, som nutidens webudviklere bruger. Studerende får mulighed for at udvikle praktisk erfaring ved at bygge et skrive-spil, et virtuelt terrarium, en miljøvenlig browserudvidelse, et rum-invader stil-spil og en bank-app til virksomheder. Ved slutningen af serien vil eleverne have opnået en solid forståelse for webudvikling.
+Programmet underviser i grundlæggende JavaScript, HTML og CSS samt de nyeste værktøjer og teknikker, som nutidens webudviklere bruger. Studerende vil få mulighed for at opnå praktisk erfaring ved at bygge et typing-spil, virtuelt terrarium, miljøvenligt browser-udvidelse, rum-invader-stil spil og en bankapp til virksomheder. Ved slutningen af serien vil studerende have opnået en solid forståelse af webudvikling.
-> 🎓 Du kan tage de første par lektioner i dette pensum som en [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) på Microsoft Learn!
+> 🎓 Du kan tage de første lektioner i denne læreplan som en [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) på Microsoft Learn!
-Ved at sikre, at indholdet stemmer overens med projekterne, bliver processen mere engagerende for eleverne, og fastholdelsen af koncepterne forbedres. Vi har også skrevet flere introduktionslektioner i JavaScript grundlæggende for at introducere begreber, kombineret med en video fra "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" samlingen af videotutorials, hvor nogle af forfatterne har bidraget til dette pensum.
+Ved at sikre, at indholdet er knyttet til projekter, bliver processen mere engagerende for studerende, og fastholdelsen af begreber styrkes. Vi har desuden skrevet flere introducerende lektioner i JavaScript grundlæggende for at introducere begreber, suppleret med en video fra "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" samlingen af videotutorials, hvoraf nogle forfattere bidrog til denne læreplan.
-Derudover sætter en quiz med lav risiko før en klasse intentionen hos eleven mod at lære et emne, mens en anden quiz efter klassen sikrer yderligere fastholdelse. Dette pensum er designet til at være fleksibelt og sjovt og kan tages som helhed eller delvist. Projekterne starter småt og bliver gradvist mere komplekse ved slutningen af 12-ugers cyklussen.
+Derudover sætter en lavrisiko quiz før en klasse målrettet elevens intention om at lære et emne, mens en anden quiz efter klasse sikrer yderligere fastholdelse. Denne læreplan er designet til at være fleksibel og sjov og kan tages helt eller delvist. Projekterne starter småt og bliver gradvist mere komplekse hen imod slutningen af den 12-ugers cyklus.
-Selvom vi bevidst har undgået at introducere JavaScript-rammer for at koncentrere os om de grundlæggende færdigheder, der er nødvendige som webudvikler, før man tager en ramme i brug, kunne et godt næste skridt efter at have gennemført dette pensum være at lære om Node.js via en anden samling videoer: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
+Selvom vi har undgået at introducere JavaScript-rammeværk for at fokusere på de grundlæggende færdigheder, der kræves som webudvikler, før man tager et rammeværk i brug, vil et godt næste skridt i denne læreplans afslutning være at lære om Node.js via en anden samling videoer: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
-> Besøg vores [Code of Conduct](CODE_OF_CONDUCT.md) og [Contributing](CONTRIBUTING.md) retningslinjer. Vi byder konstruktiv feedback velkommen!
+> Besøg vores [Adfærdskodeks](CODE_OF_CONDUCT.md) og [Bidrag](CONTRIBUTING.md) retningslinjer. Vi ser frem til din konstruktive feedback!
## 🧭 Offline adgang
-Du kan køre denne dokumentation offline ved at bruge [Docsify](https://docsify.js.org/#/). Fork dette repo, [installer Docsify](https://docsify.js.org/#/quickstart) på din lokale maskine, og i rodmappen for dette repo, skriv `docsify serve`. Hjemmesiden vil blive serveret på port 3000 på din localhost: `localhost:3000`.
+Du kan køre denne dokumentation offline ved at bruge [Docsify](https://docsify.js.org/#/). Fork dette repo, [installer Docsify](https://docsify.js.org/#/quickstart) på din lokale maskine, og skriv derefter i rodmappen af dette repo `docsify serve`. Websitet vil blive serveret på port 3000 på din localhost: `localhost:3000`.
## 📘 PDF
+En PDF med alle lektionerne kan findes [her](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
-En PDF af alle lektionerne kan findes [her](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
+## 🎒 Andre Kurser
-## 🎒 Andre kurser
Vores team producerer andre kurser! Tjek dem ud:
@@ -216,7 +225,7 @@ Vores team producerer andre kurser! Tjek dem ud:
[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
-### Azure / Edge / MCP / Agenter
+### Azure / Edge / MCP / Agents
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
@@ -224,7 +233,7 @@ Vores team producerer andre kurser! Tjek dem ud:
---
-### Generativ AI Serie
+### Generative AI Series
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
@@ -232,7 +241,7 @@ Vores team producerer andre kurser! Tjek dem ud:
---
-### Grundlæggende Læring
+### Core Learning
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@@ -243,7 +252,7 @@ Vores team producerer andre kurser! Tjek dem ud:
---
-### Copilot Serie
+### Copilot Series
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
@@ -251,21 +260,21 @@ Vores team producerer andre kurser! Tjek dem ud:
## Få Hjælp
-Hvis du går i stå eller har spørgsmål om at bygge AI-apps. Deltag sammen med andre elever og erfarne udviklere i diskussioner om MCP. Det er et støttende fællesskab, hvor spørgsmål er velkomne, og viden deles frit.
+Hvis du sidder fast eller har spørgsmål om at bygge AI-apps. Deltag sammen med andre lærende og erfarne udviklere i diskussioner om MCP. Det er et støttende fællesskab, hvor spørgsmål er velkomne, og viden deles frit.
[](https://discord.gg/nTYy5BXMWG)
-Hvis du har produktfeedback eller oplever fejl under byggeriet, besøg:
+Hvis du har produktfeedback eller oplever fejl under udvikling, besøg:
[](https://aka.ms/foundry/forum)
## Licens
-Dette repository er licenseret under MIT-licensen. Se filen [LICENSE](../../LICENSE) for mere information.
+Dette arkiv er licenseret under MIT-licensen. Se [LICENSE](../../LICENSE)-filen for mere information.
---
**Ansvarsfraskrivelse**:
-Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse.
+Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det oprindelige dokument på dets modersmål bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for eventuelle misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse.
\ No newline at end of file
diff --git a/translations/de/.co-op-translator.json b/translations/de/.co-op-translator.json
index 69d779724..f0afbd2ba 100644
--- a/translations/de/.co-op-translator.json
+++ b/translations/de/.co-op-translator.json
@@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
- "original_hash": "d45ddcc54eb9232a76d08328b09d792e",
- "translation_date": "2026-01-06T09:24:35+00:00",
+ "original_hash": "bec5e35642176d9e483552bfc82996d8",
+ "translation_date": "2026-03-06T16:37:25+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "de"
},
@@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
- "translation_date": "2026-02-06T15:46:17+00:00",
+ "translation_date": "2026-03-06T16:50:26+00:00",
"source_file": "AGENTS.md",
"language_code": "de"
},
@@ -516,8 +516,8 @@
"language_code": "de"
},
"README.md": {
- "original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
- "translation_date": "2026-02-06T15:42:19+00:00",
+ "original_hash": "a2c9eed480687319517c08a6319e5536",
+ "translation_date": "2026-03-06T16:34:03+00:00",
"source_file": "README.md",
"language_code": "de"
},
diff --git a/translations/de/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/de/1-getting-started-lessons/1-intro-to-programming-languages/README.md
index 4701ef1e0..47fed66eb 100644
--- a/translations/de/1-getting-started-lessons/1-intro-to-programming-languages/README.md
+++ b/translations/de/1-getting-started-lessons/1-intro-to-programming-languages/README.md
@@ -1,86 +1,85 @@
-# Einführung in Programmiersprachen und moderne Entwickler-Tools
+# Einführung in Programmiersprachen und moderne Entwicklerwerkzeuge
-Hey du, zukünftiger Entwickler! 👋 Darf ich dir etwas erzählen, das mir jeden einzelnen Tag eine Gänsehaut bereitet? Du bist kurz davor zu entdecken, dass Programmieren nicht nur etwas mit Computern zu tun hat – es geht darum, echte Superkräfte zu besitzen, um deine wildesten Ideen zum Leben zu erwecken!
+Hallo, zukünftiger Entwickler! 👋 Darf ich dir etwas erzählen, das mir jeden einzelnen Tag eine Gänsehaut bereitet? Du wirst gleich entdecken, dass Programmieren nicht nur etwas mit Computern zu tun hat – es sind tatsächlich Superkräfte, mit denen du deine wildesten Ideen zum Leben erwecken kannst!
-Du kennst diesen Moment, wenn du deine Lieblings-App benutzt und alles einfach perfekt zusammenpasst? Wenn du auf einen Knopf tippst und etwas absolut Magisches passiert, das dich denken lässt: „Wow, wie haben die DAS gemacht?“ Nun, jemand wie du – wahrscheinlich gerade in seinem Lieblingscafé um 2 Uhr morgens mit dem dritten Espresso – hat den Code geschrieben, der diese Magie erschaffen hat. Und hier kommt das, was dir den Kopf sprengen wird: Am Ende dieser Lektion wirst du nicht nur verstehen, wie sie es gemacht haben, sondern du wirst es kaum erwarten können, es selbst auszuprobieren!
+Kennst du diesen Moment, wenn du deine Lieblings-App benutzt und einfach alles perfekt zusammenpasst? Wenn du auf einen Button tippst und etwas absolut Magisches passiert, das dich denken lässt: „Wow, wie haben sie das gemacht?“ Nun, genau jemand wie du – wahrscheinlich gerade in seinem Lieblingscafé um 2 Uhr morgens bei seinem dritten Espresso – hat den Code geschrieben, der diese Magie erschaffen hat. Und jetzt kommt das, was dich umhauen wird: Am Ende dieser Lektion wirst du nicht nur verstehen, wie sie das gemacht haben, sondern du wirst es selbst ausprobieren wollen!
-Schau mal, ich kann total nachvollziehen, wenn Programmieren gerade einschüchternd wirkt. Als ich angefangen habe, dachte ich ehrlich, man müsse ein Mathegenie sein oder seit fünf Jahren programmieren. Aber weißt du, was meine Sichtweise komplett verändert hat? Programmieren ist genau so, wie eine neue Sprache zu lernen. Man fängt mit „Hallo“ und „Danke“ an, dann bestellt man Kaffee, und ehe man sich versieht, führt man tiefgründige philosophische Gespräche! Nur in diesem Fall sprechen wir mit Computern, und weißt du was? Sie sind die geduldigsten Gesprächspartner, die du je haben wirst – sie richten sich nie nach deinen Fehlern und freuen sich immer darauf, es nochmal zu versuchen!
+Hör zu, ich verstehe total, wenn Programmieren im Moment einschüchternd wirkt. Als ich anfing, dachte ich ehrlich, man müsse entweder ein Mathegenie sein oder seit seinem fünften Lebensjahr programmieren. Aber weißt du, was meine Perspektive komplett verändert hat? Programmieren ist genau so, wie eine neue Sprache lernen. Du beginnst mit „Hallo“ und „Danke“, arbeitest dich hoch bis zum Kaffeebestellen, und ehe du dich versiehst, führst du tiefgründige philosophische Gespräche! Nur dass du in diesem Fall mit Computern sprichst, und ganz ehrlich? Die sind die geduldigsten Gesprächspartner, die du je haben wirst – sie beurteilen deine Fehler nie und freuen sich immer, es nochmal zu versuchen!
-Heute werden wir die unglaublichen Werkzeuge erkunden, die moderne Webentwicklung nicht nur möglich, sondern richtig süchtig machend machen. Ich spreche von genau denselben Editoren, Browsern und Workflows, die Entwickler bei Netflix, Spotify und deinem Lieblings-Indie-App-Studio jeden einzelnen Tag verwenden. Und hier kommt der Teil, der dich einen Freudentanz machen lässt: Die meisten dieser professionellen, industrieweiten Werkzeuge sind komplett kostenlos!
+Heute erkunden wir die unglaublichen Werkzeuge, die moderne Webentwicklung nicht nur möglich machen, sondern richtig süchtig. Ich rede von genau den gleichen Editoren, Browsern und Workflows, die Entwickler bei Netflix, Spotify und deinem liebsten Indie-App-Studio jeden Tag nutzen. Und jetzt kommt der Teil, der dich vor Freude tanzen lässt: Die meisten dieser professionellen, branchenüblichen Tools sind komplett kostenlos!

> Sketchnote von [Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid
journey
- title Deine Programmierreise heute
+ title Deine Programmierreise Heute
section Entdecken
Was ist Programmierung: 5: You
Programmiersprachen: 4: You
Werkzeugübersicht: 5: You
section Erkunden
Code-Editoren: 4: You
- Browser & Entwicklertools: 5: You
+ Browser & DevTools: 5: You
Kommandozeile: 3: You
section Üben
Sprachdetektiv: 4: You
Werkzeugerkundung: 5: You
- Community-Verbindung: 5: You
+ Gemeinschaftsverbindung: 5: You
```
-## Lass uns sehen, was du schon weißt!
+## Schauen wir mal, was du schon weißt!
-Bevor wir in den Spaß eintauchen, bin ich neugierig – was weißt du schon über diese Programmierwelt? Und hör zu, wenn du diese Fragen siehst und denkst: „Ich habe buchstäblich keinen Schimmer von irgendwas“, dann ist das nicht nur okay, das ist perfekt! Das bedeutet, du bist genau am richtigen Ort. Denk an dieses Quiz wie an das Aufwärmen vor einem Workout – wir bereiten nur die Gehirnmuskeln vor!
-
-[Mach das Pre-Lesson-Quiz](https://forms.office.com/r/dru4TE0U9n?origin=lprLink)
+Bevor wir in den Spaß starten, interessiert mich: Was weißt du schon über diese Programmierwelt? Und hör zu, falls du dir jetzt denkst „Ich habe tatsächlich keinen Schimmer von alledem“, ist das nicht nur okay, sondern perfekt! Das bedeutet, du bist genau richtig hier. Betrachte dieses Quiz wie das Dehnen vor dem Workout – wir wärmen nur diese Denkmuskeln auf!
+[Mach das Pre-Lesson-Quiz](https://ff-quizzes.netlify.app/web/)
## Das Abenteuer, auf das wir uns gemeinsam begeben
-Okay, ich bin wirklich voller Vorfreude, was wir heute erkunden werden! Im Ernst, ich wünschte, ich könnte dein Gesicht sehen, wenn einige dieser Konzepte Klick machen. Hier ist die unglaubliche Reise, auf die wir uns begeben:
+Okay, ich freue mich wirklich riesig auf das, was wir heute entdecken werden! Ehrlich, ich wünschte, ich könnte dein Gesicht sehen, wenn dir mancher dieser Konzepte „klick“ macht. Das ist die unglaubliche Reise, auf die wir gemeinsam gehen:
-- **Was Programmieren eigentlich ist (und warum es das coolste überhaupt ist!)** – Wir werden entdecken, wie Code buchstäblich die unsichtbare Magie ist, die alles um dich herum antreibt, vom Wecker, der irgendwie weiß, dass Montagmorgen ist, bis hin zum Algorithmus, der deine Netflix-Empfehlungen perfekt kuratiert
-- **Programmiersprachen und ihre erstaunlichen Persönlichkeiten** – Stell dir vor, du gehst auf eine Party, bei der jede Person ganz andere Superkräfte und Problemlösungsmethoden hat. So ist die Welt der Programmiersprachen, und du wirst es lieben, sie kennenzulernen!
-- **Die grundlegenden Bausteine, die digitale Magie möglich machen** – Stell sie dir als das ultimative kreative LEGO-Set vor. Sobald du verstehst, wie diese Teile zusammenpassen, wirst du erkennen, dass du buchstäblich alles bauen kannst, was deine Fantasie träumt
-- **Professionelle Werkzeuge, die dir das Gefühl geben, gerade einen Zauberstab in die Hand gelegt bekommen zu haben** – Ich übertreibe nicht – diese Tools lassen dich wirklich fühlen, als hättest du Superkräfte, und das Beste? Es sind genau dieselben, die die Profis verwenden!
+- **Was Programmieren eigentlich ist (und warum es das coolste überhaupt ist!)** – Wir werden entdecken, wie Code buchstäblich die unsichtbare Magie ist, die alles um dich herum antreibt, von dem Wecker, der irgendwie weiß, dass Montagmorgen ist, bis zum Algorithmus, der deine Netflix-Empfehlungen perfekt kuratiert
+- **Programmiersprachen und ihre fantastischen Persönlichkeiten** – Stell dir vor, du betrittst eine Party, bei der jede Person ganz unterschiedliche Superkräfte und Lösungswege hat. So ist die Welt der Programmiersprachen, und du wirst sie lieben lernen!
+- **Die grundlegenden Bausteine, die digitale Magie ermöglichen** – Denk daran wie das ultimative kreative LEGO-Set. Sobald du verstehst, wie diese Teile zusammenpassen, wirst du merken, dass du buchstäblich alles bauen kannst, was deine Fantasie träumen lässt
+- **Professionelle Werkzeuge, die dir das Gefühl geben, gerade einen Zauberstab in die Hand bekommen zu haben** – Ich übertreibe nicht – diese Tools werden dich wirklich wie einen Superhelden fühlen lassen, und das Beste? Es sind genau die, die Profis nutzen!
-> 💡 **Hier ist das Wichtigste:** Versuch heute nicht einmal, alles auswendig zu lernen! Im Moment sollst du nur das Feuer der Begeisterung spüren, was alles möglich ist. Die Details bleiben ganz natürlich hängen, während wir zusammen üben – so funktioniert echtes Lernen!
+> 💡 **Hier ist die Sache**: Versuch nicht heute alles auswendig zu lernen! Im Moment will ich nur, dass du diesen Funken Aufregung spürst, was möglich ist. Die Details wirst du automatisch mit der Zeit lernen – so funktioniert echtes Lernen!
-> Du kannst diese Lektion auch auf [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon) machen!
+> Du kannst diese Lektion auch auf [Microsoft Learn](https://learn.microsoft.com/en-us/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon) machen!
## Was genau *ist* eigentlich Programmieren?
-Okay, packen wir die Millionen-Dollar-Frage an: Was ist Programmieren wirklich?
+Okay, jetzt die Millionen-Dollar-Frage: Was ist Programmieren wirklich?
-Ich erzähle dir eine Geschichte, die meine Sicht darauf komplett verändert hat. Letzte Woche habe ich versucht, meiner Mutter zu erklären, wie man unsere neue Smart-TV-Fernbedienung benutzt. Ich ertappte mich dabei zu sagen: „Drück den roten Knopf, aber nicht den großen roten Knopf, den kleinen roten Knopf links... nein, deine andere linke Seite... okay, jetzt halt ihn zwei Sekunden gedrückt, nicht eine, nicht drei...“ Kommt dir das bekannt vor? 😅
+Ich erzähle dir eine Geschichte, die meine Sichtweise komplett verändert hat. Letzte Woche wollte ich meiner Mutter erklären, wie man unsere neue Smart-TV-Fernbedienung benutzt. Ich ertappte mich dabei, Dinge zu sagen wie „Drück den roten Knopf, aber nicht den großen roten Knopf, den kleinen roten Knopf links… nein, dein anderes links… okay, jetzt halt ihn zwei Sekunden gedrückt, nicht eins, nicht drei…“ Kommt dir das bekannt vor? 😅
-Das ist Programmieren! Es ist die Kunst, unglaublich detaillierte, Schritt-für-Schritt-Anweisungen zu geben für etwas, das sehr mächtig ist, aber alles perfekt erklärt bekommen muss. Nur dass du hier nicht deiner Mutter erklärst (die fragen könnte: „Welcher rote Knopf?!“), sondern einem Computer (der genau das macht, was du sagst – auch wenn das, was du gesagt hast, nicht ganz das ist, was du meintest).
+Das ist Programmieren! Es ist die Kunst, extrem detaillierte Schritt-für-Schritt-Anweisungen zu geben an etwas, das sehr mächtig ist, aber alles perfekt erklärt bekommen muss. Nur dass du nicht deiner Mutter erklärst (die fragen könnte „Welchen roten Knopf?!“), sondern einem Computer (der genau das tut, was du sagst, auch wenn das nicht genau das war, was du meintest).
-Was mich umgehauen hat, als ich das zum ersten Mal gelernt habe: Computer sind im Grunde genommen ziemlich simpel. Sie verstehen buchstäblich nur zwei Dinge – 1 und 0, was im Grunde „ja“ und „nein“ oder „an“ und „aus“ bedeutet. Das war’s! Aber hier wird es magisch – wir müssen nicht in 1en und 0en sprechen, als wären wir in der Matrix. Hier kommen **Programmiersprachen** ins Spiel. Sie sind wie der beste Übersetzer der Welt, der deine vollkommen normalen menschlichen Gedanken in Computersprache übersetzt.
+Was mich total beeindruckt hat, als ich das zum ersten Mal verstanden habe: Computer sind eigentlich ziemlich einfach in ihrem Kern. Sie verstehen buchstäblich nur zwei Dinge – 1 und 0, was im Grunde nur „Ja“ und „Nein“ oder „An“ und „Aus“ bedeutet. Das war’s! Aber hier wird es magisch – wir müssen nicht in 1en und 0en reden wie in der Matrix. Dafür gibt es **Programmiersprachen**. Die sind wie der beste Übersetzer der Welt, der deine ganz normalen menschlichen Gedanken in Computersprache übersetzt.
-Und hier ist das, was mir jeden Morgen echte Gänsehaut bereitet: Buchstäblich *alles* Digitale in deinem Leben begann mit jemandem genau wie dir, wahrscheinlich im Schlafanzug mit einer Tasse Kaffee, der Code auf seinem Laptop tippte. Dieser Instagram-Filter, der dich makellos aussehen lässt? Jemand hat den Code dafür geschrieben. Die Empfehlung, die dich zu deinem neuen Lieblingssong geführt hat? Ein Entwickler hat diesen Algorithmus gebaut. Die App, die dir hilft, die Rechnung fürs Abendessen mit Freunden zu teilen? Jep, jemand dachte: „Das ist nervig, das kann ich bestimmt reparieren“ – und dann hat er es getan!
+Und hier ist etwas, das mir morgens immer noch echte Gänsehaut bereitet: Buchstäblich *alles* Digitale in deinem Leben hat irgendwann mit jemandem angefangen, der genau so war wie du, wahrscheinlich im Pyjama mit einer Tasse Kaffee, der Code auf seinem Laptop getippt hat. Dieser Instagram-Filter, der dich makellos aussehen lässt? Jemand hat den programmiert. Die Empfehlung, die dich zu deinem neuen Lieblingslied geführt hat? Ein Entwickler hat diesen Algorithmus gebaut. Die App, mit der du Rechnungen mit Freunden teilst? Ja, jemand hat gedacht „Das nervt, ich könnte das wohl lösen“ und dann... hat er es getan!
-Wenn du programmieren lernst, lernst du nicht nur eine neue Fähigkeit – du wirst Teil dieser unglaublichen Community von Problemlösern, die ihre Tage damit verbringen zu denken: „Was, wenn ich etwas bauen könnte, das jemanden den Tag nur ein bisschen besser macht?“ Mal ehrlich, gibt es was Cooleres?
+Wenn du programmierst, lernst du nicht nur eine neue Fähigkeit – du wirst Teil dieser unglaublichen Community von Problemlösern, die ihre Tage damit verbringen, zu denken: „Was wäre, wenn ich etwas bauen könnte, das jemandem den Tag ein kleines bisschen besser macht?“ Gibt es ehrlich etwas Cooleres?
-✅ **Spaß-Fakt-Suche**: Hier ist etwas super Cooles zum Nachschlagen, wenn du mal Zeit hast – wer war deiner Meinung nach die weltweit erste Computerprogrammiererin? Ich gebe dir einen Tipp: Es ist vielleicht nicht die Person, die du erwartest! Die Geschichte dahinter ist absolut faszinierend und zeigt, dass Programmieren schon immer um kreatives Problemlösen und Querdenken ging.
+✅ **Spaß-Fakt-Suche**: Hier ist etwas super Cooles, das du dir anschauen kannst, wenn du mal eine freie Minute hast – Wer war wohl der erste Computerprogrammierer der Welt? Ich gebe dir einen Tipp: Es ist vielleicht nicht die Person, die du erwartest! Die Geschichte hinter dieser Person ist faszinierend und zeigt, dass Programmieren immer schon kreatives Problemlösen und unkonventionelles Denken war.
-### 🧠 **Kurzer Check: Wie fühlst du dich?**
+### 🧠 **Gefühls-Check: Wie fühlst du dich?**
-**Nimm dir einen Moment zum Nachdenken:**
-- Macht dir der Gedanke „Anweisungen an Computer geben“ jetzt Sinn?
-- Fallen dir tägliche Aufgaben ein, die du gerne mit Programmierung automatisieren würdest?
-- Welche Fragen gehen dir gerade zum Thema Programmieren durch den Kopf?
+**Nimm dir einen Moment:**
+- Macht die Idee von „Anweisungen an Computer geben“ jetzt für dich Sinn?
+- Kannst du dir eine tägliche Aufgabe vorstellen, die du gerne mit Programmieren automatisieren würdest?
+- Welche Fragen schwirren dir so im Kopf durch diesen Programmierkram?
-> **Denk daran:** Es ist total normal, wenn dir einige Konzepte gerade noch etwas verwirrend vorkommen. Programmieren zu lernen ist wie eine neue Sprache lernen – das Gehirn braucht Zeit, um neue Verbindungen zu knüpfen. Du machst das super!
+> **Erinnere dich:** Es ist total normal, wenn manche Konzepte im Moment noch verschwommen sind. Programmieren zu lernen ist wie eine neue Sprache lernen – dein Gehirn braucht Zeit, um die neuronalen Verbindungen zu schaffen. Du machst das großartig!
-## Programmiersprachen sind wie verschiedene Zaubergeschmäcker
+## Programmiersprachen sind wie verschiedene Geschmacksrichtungen von Magie
-Okay, das klingt jetzt vielleicht komisch, aber bleib dran – Programmiersprachen sind wie verschiedene Musikrichtungen. Überleg mal: Es gibt Jazz, der weich und improvisierend ist, Rock, der kraftvoll und direkt ist, Klassik, die elegant und strukturiert ist, und Hip-Hop, der kreativ und ausdrucksstark ist. Jede Stilrichtung hat ihre eigene Atmosphäre, ihre eigene Community von leidenschaftlichen Fans, und jede ist perfekt für verschiedene Stimmungen und Anlässe.
+Okay, das klingt jetzt komisch, aber bleib dran – Programmiersprachen sind wie verschiedene Musikrichtungen. Denk mal drüber nach: Es gibt Jazz, der smooth und improvisiert ist, Rock, kraftvoll und direkt, Klassik, elegant und strukturiert, und Hip-Hop, kreativ und expressiv. Jede Stilrichtung hat ihre eigene Stimmung, ihre leidenschaftliche Fangemeinde und ist für unterschiedliche Stimmungen und Anlässe perfekt.
-Programmiersprachen funktionieren genau so! Du würdest nicht dieselbe Sprache verwenden, um ein lustiges Mobile-Spiel zu bauen, wie du sie nutzen würdest, um riesige Datenmengen zum Klima zu verarbeiten – genauso wenig würdest du Death Metal im Yoga-Kurs hören (naja, die meisten Yoga-Kurse jedenfalls! 😄).
+Programmiersprachen funktionieren genau so! Du würdest nicht dieselbe Sprache benutzen, um ein lustiges Mobile Game zu machen, wie um riesige Klima-Datenmengen zu verarbeiten, genau so wenig wie du Death Metal beim Yoga hören würdest (naja, bei den meisten Yogakursen jedenfalls! 😄).
-Aber hier kommt das, was mich jedes Mal umhaut, wenn ich drüber nachdenke: Diese Sprachen sind wie der geduldigste, brillanteste Dolmetscher der Welt, der direkt neben dir sitzt. Du kannst deine Ideen auf eine Weise ausdrücken, die deinem menschlichen Gehirn natürlich vorkommt, und sie erledigen all die unglaublich komplexe Arbeit, das in die 1en und 0en zu übersetzen, die Computer tatsächlich sprechen. Es ist wie ein Freund, der perfekt zweisprachig ist in „menschlicher Kreativität“ und „Computerlogik“ – und nie müde wird, nie Kaffeepausen braucht und dich auch nicht beurteilt, wenn du dieselbe Frage zweimal stellst!
+Aber was mich jedes Mal echt umhaut: Diese Sprachen sind wie der geduldigste und brillante Dolmetscher, der direkt neben dir sitzt. Du kannst deine Ideen so ausdrücken, dass es deinem menschlichen Gehirn natürlich vorkommt, und sie übernehmen die unglaublich komplexe Übersetzung in die 1en und 0en, die Computer tatsächlich sprechen. Es ist wie ein Freund, der perfekt „menschliche Kreativität“ und „Computerlogik“ beherrscht – und der nie müde wird, keine Kaffeepausen braucht und dich nie dafür verurteilt, dieselbe Frage zweimal zu stellen!
-### Beliebte Programmiersprachen und ihre Anwendungsgebiete
+### Beliebte Programmiersprachen und ihre Einsatzbereiche
```mermaid
mindmap
@@ -113,7 +112,7 @@ mindmap
Systeme & Leistung
C++
Spiele
- Leistungs-kritisch
+ Leistungs kritisch
Rust
Speichersicherheit
Systemprogrammierung
@@ -121,41 +120,41 @@ mindmap
Cloud-Dienste
Skalierbares Backend
```
-| Sprache | Am besten geeignet für | Warum sie beliebt ist |
-|----------|--------------------------------------|---------------------------------------------|
-| **JavaScript** | Webentwicklung, Benutzeroberflächen | Läuft in Browsern und ermöglicht interaktive Websites |
-| **Python** | Datenwissenschaft, Automatisierung, KI | Leicht zu lesen und zu lernen, mächtige Bibliotheken |
+| Sprache | Am besten geeignet für | Warum es beliebt ist |
+|----------|----------|------------------|
+| **JavaScript** | Webentwicklung, Benutzeroberflächen | Läuft in Browsern und treibt interaktive Webseiten an |
+| **Python** | Datenwissenschaft, Automatisierung, KI | Einfach zu lesen und zu lernen, leistungsstarke Bibliotheken |
| **Java** | Unternehmensanwendungen, Android-Apps | Plattformunabhängig, robust für große Systeme |
| **C#** | Windows-Anwendungen, Spieleentwicklung | Starke Unterstützung im Microsoft-Ökosystem |
-| **Go** | Cloud-Services, Backend-Systeme | Schnell, einfach, für moderne IT konzipiert |
+| **Go** | Cloud Services, Backend-Systeme | Schnell, einfach, für moderne IT entwickelt |
### Hochsprachen vs. Maschinensprachen
-Okay, das war ehrlich gesagt das Konzept, das mein Gehirn ursprünglich zerschmettert hat, als ich angefangen habe. Deshalb teile ich die Analogie, die das endlich für mich erklärt hat – und ich hoffe sehr, dass sie auch dir hilft!
+Okay, das war ehrlich gesagt das Konzept, das mich anfangs echt überfordert hat, deshalb teile ich dir die Analogie, die es für mich klick machen ließ – und ich hoffe, sie hilft dir auch!
-Stell dir vor, du bist in einem Land, dessen Sprache du nicht sprichst und brauchst dringend eine Toilette (wir waren doch alle schon mal dort, oder? 😅):
+Stell dir vor, du bist in einem Land, dessen Sprache du nicht sprichst, und musst dringend eine Toilette finden (wir waren doch alle schon mal dort, oder? 😅):
-- **Low-Level-Programmierung** ist wie das Erlernen des lokalen Dialekts so gut, dass du mit der Großmutter, die an der Ecke Obst verkauft, plaudern kannst – mit kulturellen Anspielungen, Slang und Insider-Witzen, die nur jemand versteht, der dort aufgewachsen ist. Super beeindruckend und unglaublich effizient... wenn du fließend bist! Aber ziemlich überwältigend, wenn du einfach nur eine Toilette finden willst.
+- **Low-level Programmierung** ist, als würdest du den lokalen Dialekt so gut lernen, dass du mit der Großmutter am Obststand plaudern kannst, inklusive kultureller Referenzen, regionalem Slang und Insiderwitzen, die nur jemand versteht, der dort aufgewachsen ist. Super beeindruckend und sehr effizient... wenn du zufällig fließend bist! Aber ziemlich überwältigend, wenn du nur eine Toilette suchst.
-- **High-Level-Programmierung** ist wie dieser fantastische lokale Freund, der dich einfach versteht. Du kannst auf Englisch sagen „Ich muss dringend zur Toilette“ und er macht die ganze kulturelle Übersetzung und gibt dir eine Wegbeschreibung, die für dein nicht-lokales Gehirn völlig Sinn macht.
+- **High-level Programmierung** ist wie dieser wunderbare lokale Freund, der dich einfach versteht. Du sagst „Ich muss dringend eine Toilette finden“ auf einfachem Englisch, und er kümmert sich um alle kulturellen Übersetzungen und gibt dir eine Wegbeschreibung, die für dein nicht-lokales Gehirn total Sinn macht.
-In Programmierbegriffen heißt das:
-- **Low-Level-Sprachen** (wie Assembly oder C) erlauben dir unglaublich detaillierte Gespräche mit der tatsächlichen Hardware des Computers, aber du musst wie eine Maschine denken, was... naja, sagen wir mal, ein großer mentaler Sprung ist!
-- **High-Level-Sprachen** (wie JavaScript, Python oder C#) erlauben dir, wie ein Mensch zu denken, während sie den ganzen Maschinencode hinter den Kulissen erledigen. Plus: Sie haben unglaublich einladende Communities voller Leute, die sich daran erinnern, wie es war, neu zu sein, und wirklich helfen wollen!
+In Programmierbegriffen:
+- **Low-level Sprachen** (wie Assembly oder C) erlauben es dir, extrem detaillierte Unterhaltungen mit der Hardware des Computers zu führen, aber du musst wie eine Maschine denken, was... naja, eine ziemlich große Umstellung ist!
+- **High-level Sprachen** (wie JavaScript, Python oder C#) erlauben es dir, wie ein Mensch zu denken, während sie die Maschinensprache hinter den Kulissen übernehmen. Außerdem gibt es riesige, einladende Communities voller Leute, die sich daran erinnern, wie es war, neu zu sein, und die dir wirklich helfen wollen!
-Rate mal, womit ich dir empfehle zu starten? 😉 Hochsprachen sind wie Stützräder, die du eigentlich nie abnehmen willst, weil sie das ganze Erlebnis viel angenehmer machen!
+Rate mal, mit welchen ich empfehle zu starten? 😉 Hochsprachen sind wie Stützräder, die du nie wirklich abmachen willst, weil sie das ganze Erlebnis einfach so viel angenehmer machen!
```mermaid
flowchart TB
- A["👤 Menschlicher Gedanke: 'Ich möchte Fibonacci-Zahlen berechnen'"] --> B{Programmiersprachniveau wählen}
+ A["👤 Menschlicher Gedanke: 'Ich möchte Fibonacci-Zahlen berechnen'"] --> B{Wählen Sie die Sprachebene}
- B -->|Hoch-Level| C["🌟 JavaScript/Python Einfach zu lesen und zu schreiben"]
- B -->|Niedrig-Level| D["⚙️ Assembler/C Direkte Hardwaresteuerung"]
+ B -->|Hochsprachen| C["🌟 JavaScript/Python Einfach zu lesen und zu schreiben"]
+ B -->|Maschinennah| D["⚙️ Assembly/C Direkte Hardwaresteuerung"]
- C --> E["📝 Schreiben: fibonacci(10)"]
- D --> F["📝 Schreiben: mov r0,#00 sub r0,r0,#01"]
+ C --> E["📝 Schreibe: fibonacci(10)"]
+ D --> F["📝 Schreibe: mov r0,#00 sub r0,r0,#01"]
- E --> G["🤖 Computer-Verständnis: Übersetzer übernimmt Komplexität"]
+ E --> G["🤖 Computerverständnis: Übersetzer übernimmt Komplexität"]
F --> G
G --> H["💻 Gleiches Ergebnis: 0, 1, 1, 2, 3, 5, 8, 13..."]
@@ -164,15 +163,15 @@ flowchart TB
style D fill:#fff3e0
style H fill:#e8f5e8
```
-### Lass mich dir zeigen, warum Hochsprachen viel freundlicher sind
+### Ich zeige dir, warum Hochsprachen viel freundlicher sind
-Okay, gleich zeige ich dir etwas, das perfekt demonstriert, warum ich mich in Hochsprachen verliebt habe. Aber zuerst – ich brauche dein Versprechen. Wenn du das erste Code-Beispiel siehst, gerate nicht in Panik! Es soll einschüchternd aussehen. Genau das ist der Punkt!
+Okay, ich zeige dir jetzt etwas, das perfekt zeigt, warum ich mich in Hochsprachen verliebt habe, aber zuerst – ich brauche dein Versprechen. Wenn du das erste Codebeispiel siehst, gerate nicht in Panik! Es soll einschüchternd aussehen. Genau das will ich zeigen!
-Wir werden dieselbe Aufgabe in zwei komplett unterschiedlichen Stilen ansehen. Beide erstellen eine sogenannte Fibonacci-Folge – ein wunderschönes mathematisches Muster, bei dem jede Zahl die Summe der beiden vorherigen ist: 0, 1, 1, 2, 3, 5, 8, 13... (Spaßfakt: Dieses Muster findest du buchstäblich überall in der Natur – Sonnenblumensamen-Spiralen, Tannenzapfenmuster, sogar wie Galaxien entstehen!)
+Wir betrachten dieselbe Aufgabe in zwei völlig unterschiedlichen Stilen. Beide erzeugen die sogenannte Fibonacci-Folge – ein wunderschönes mathematisches Muster, bei dem jede Zahl die Summe der beiden vorherigen ist: 0, 1, 1, 2, 3, 5, 8, 13... (Fun Fact: Dieses Muster findet sich buchstäblich überall in der Natur – Sonnenblumenkerne in Spiralen, Zapfenmuster, sogar wie Galaxien entstehen!)
Bereit, den Unterschied zu sehen? Los geht’s!
-**Hochsprache (JavaScript) – menschenfreundlich:**
+**Hochsprache (JavaScript) – Menschlich verständlich:**
```javascript
// Schritt 1: Grundlegende Fibonacci-Einrichtung
@@ -184,10 +183,10 @@ console.log('Fibonacci sequence:');
```
**Das macht dieser Code:**
-- **Deklariert** eine Konstante, um festzulegen, wie viele Fibonacci-Zahlen wir generieren wollen
-- **Initialisiert** zwei Variablen, um die aktuelle und nächste Zahl in der Folge zu verfolgen
-- **Setzt** die Anfangswerte (0 und 1), die das Fibonacci-Muster definieren
-- **Zeigt** eine Überschrift an, um die Ausgabe zu kennzeichnen
+- **Deklariert** eine Konstante, die festlegt, wie viele Fibonacci-Zahlen wir erzeugen wollen
+- **Initialisiert** zwei Variablen, um die aktuelle und die nächste Zahl der Folge zu verfolgen
+- **Setzt** die Startwerte (0 und 1), die das Fibonacci-Muster definieren
+- **Zeigt** eine Überschrift an, um unsere Ausgabe zu kennzeichnen
```javascript
// Schritt 2: Erzeuge die Sequenz mit einer Schleife
@@ -201,11 +200,11 @@ for (let i = 0; i < fibonacciCount; i++) {
}
```
-**So läuft das hier ab:**
-- **Schleife** über jede Position in unserer Folge mit einer `for`-Schleife
-- **Zeigt** jede Zahl mit ihrer Position unter Verwendung von Template Literal Formatierung an
-- **Berechnet** die nächste Fibonacci-Zahl durch Addition der aktuellen und nächsten Werte
-- **Aktualisiert** unsere Tracking-Variablen für die nächste Iteration
+**So entsteht das hier:**
+- **Schleifen** wir durch jede Position in unserer Folge mit einer `for`-Schleife
+- **Geben** wir jede Zahl mit ihrer Position formatiert aus
+- **Berechnen** wir die nächste Fibonacci-Zahl durch Addition der aktuellen und nächsten Werte
+- **Aktualisieren** wir unsere Variablen, um zur nächsten Iteration weiterzugehen
```javascript
// Schritt 3: Moderner funktionaler Ansatz
@@ -226,11 +225,11 @@ console.log(fibSequence);
**Oben haben wir:**
- **Eine wiederverwendbare Funktion** mit moderner Pfeilfunktion-Syntax erstellt
-- **Ein Array gebaut**, um die gesamte Folge zu speichern statt einzelnen Ausgabezeilen
-- **Array-Indizierung verwendet**, um jede neue Zahl aus vorherigen Werten zu berechnen
-- **Die komplette Folge zurückgegeben**, um sie flexibel an anderen Stellen zu nutzen
+- **Ein Array gebaut,** um die komplette Folge zu speichern anstatt sie einzeln auszugeben
+- **Array-Indizes genutzt,** um jede neue Zahl aus vorherigen Werten zu berechnen
+- **Die vollständige Folge zurückgegeben,** damit wir sie flexibel anderswo nutzen können
-**Niedrigsprache (ARM Assembly) – computerfreundlich:**
+**Niedrigsprache (ARM Assembly) – Computer-freundlich:**
```assembly
area ascen,code,readonly
@@ -257,28 +256,27 @@ back add r0,r1
end
```
-Beachte, wie die JavaScript-Version fast wie englische Anweisungen liest, während die Assembly-Version kryptische Befehle nutzt, die direkt den Prozessor des Computers steuern. Beide lösen exakt dieselbe Aufgabe, aber die Hochsprache ist für Menschen viel leichter zu verstehen, zu schreiben und zu pflegen.
-
-**Wichtige Unterschiede, die dir auffallen werden:**
-- **Lesbarkeit**: JavaScript verwendet beschreibende Namen wie `fibonacciCount`, während Assembly kryptische Bezeichnungen wie `r0`, `r1` nutzt
-- **Kommentare**: Hochrangige Sprachen fördern erklärende Kommentare, die den Code selbstdokumentierend machen
-- **Struktur**: Der logische Ablauf von JavaScript entspricht der Art, wie Menschen Schritt für Schritt über Probleme nachdenken
-- **Wartung**: Das Aktualisieren der JavaScript-Version für verschiedene Anforderungen ist einfach und klar
+Beachte, wie die JavaScript-Version fast wie englische Anweisungen liest, während die Assembly-Version kryptische Befehle nutzt, die direkt den Prozessor steuern. Beide erledigen exakt dieselbe Aufgabe, aber die Hochsprache ist für Menschen viel leichter zu verstehen, zu schreiben und zu warten.
-✅ **Über die Fibonacci-Folge**: Dieses absolut wunderschöne Zahlenmuster (bei dem jede Zahl der Summe der beiden vorhergehenden entspricht: 0, 1, 1, 2, 3, 5, 8...) taucht buchstäblich *überall* in der Natur auf! Du findest es in Sonnenblumenwirbeln, Tannenzapfenmustern, der Art, wie Nautilus-Schalen sich wölben, und sogar darin, wie Baumzweige wachsen. Es ist ziemlich verblüffend, wie Mathematik und Programmierung uns helfen können, die Muster zu verstehen und nachzubilden, die die Natur nutzt, um Schönheit zu erschaffen!
+**Wesentliche Unterschiede, die dir auffallen werden:**
+- **Lesbarkeit**: JavaScript verwendet beschreibende Namen wie `fibonacciCount`, während Assembly kryptische Bezeichnungen wie `r0`, `r1` nutzt
+- **Kommentare**: Hochsprachen ermutigen zu erklärenden Kommentaren, die den Code selbstdokumentierend machen
+- **Struktur**: Der logische Ablauf von JavaScript entspricht, wie Menschen Schritt-für-Schritt über Probleme nachdenken
+- **Wartung**: Das Aktualisieren der JavaScript-Version für verschiedene Anforderungen ist unkompliziert und klar
+✅ **Über die Fibonacci-Folge**: Dieses absolut wunderschöne Zahlenmuster (bei dem jede Zahl die Summe der beiden vorherigen ist: 0, 1, 1, 2, 3, 5, 8 ...) findet sich buchstäblich *überall* in der Natur! Du findest es in Sonnenblumen-Spiralen, Tannenzapfen-Mustern, der Form von Nautilus-Schalen und sogar im Wachstum von Baumzweigen. Es ist ziemlich verblüffend, wie Mathematik und Code uns helfen können, die Muster zu verstehen und nachzubilden, die die Natur nutzt, um Schönheit zu erschaffen!
## Die Bausteine, die die Magie möglich machen
-Also, jetzt wo du gesehen hast, wie Programmiersprachen in Aktion aussehen, lass uns die grundlegenden Bausteine anschauen, aus denen buchstäblich jedes jemals geschriebene Programm besteht. Denk daran wie an die wichtigsten Zutaten in deinem Lieblingsrezept – sobald du verstehst, was jede einzelne tut, wirst du in fast jeder Sprache Code lesen und schreiben können!
+Okay, jetzt, wo du gesehen hast, wie Programmiersprachen in Aktion aussehen, lass uns die grundlegenden Bausteine zerlegen, aus denen buchstäblich jedes jemals geschriebene Programm besteht. Denk an sie als die wesentlichen Zutaten in deinem Lieblingsrezept – wenn du verstehst, was jede einzelne bewirkt, kannst du Code in so gut wie jeder Sprache lesen und schreiben!
-Das ist ein bisschen wie die Grammatik des Programmierens lernen. Erinnerst du dich noch aus der Schule, als du über Substantive, Verben und Satzbau gelernt hast? Programmieren hat seine eigene Grammatikversion, und ehrlich gesagt ist sie viel logischer und nachsichtiger als die englische Grammatik je war! 😄
+Das ist ein bisschen so, als würdest du die Grammatik des Programmierens lernen. Erinnerst du dich noch aus der Schule, als du Nomen, Verben und wie man Sätze bildet gelernt hast? Programmieren hat seine eigene Grammatik, und ehrlich gesagt ist sie viel logischer und nachsichtiger als die englische Grammatik! 😄
### Anweisungen: Die Schritt-für-Schritt-Anleitungen
-Fangen wir mit **Anweisungen** an – sie sind wie einzelne Sätze in einem Gespräch mit deinem Computer. Jede Anweisung sagt dem Computer, genau eine Sache zu tun, ähnlich wie Wegbeschreibungen: „Hier links abbiegen“, „An der roten Ampel stoppen“, „Auf diesem Parkplatz parken“.
+Fangen wir mit **Anweisungen (Statements)** an – das sind einzelne Sätze in einer Konversation mit deinem Computer. Jede Anweisung sagt dem Computer, genau eine Sache zu tun, ähnlich wie Wegbeschreibungen: „Hier links abbiegen“, „An der roten Ampel anhalten“, „Auf diesem Parkplatz parken“.
-Was ich an Anweisungen liebe, ist wie lesbar sie meistens sind. Schau dir das an:
+Was ich an Anweisungen liebe, ist, wie meist gut lesbar sie sind. Schau dir das an:
```javascript
// Grundlegende Anweisungen, die einzelne Aktionen ausführen
@@ -286,31 +284,31 @@ const userName = "Alex";
console.log("Hello, world!");
const sum = 5 + 3;
```
-
-**Das macht dieser Code:**
-- **Deklariert** eine konstante Variable, um den Namen eines Benutzers zu speichern
-- **Zeigt** eine Begrüßungsnachricht in der Konsolenausgabe an
-- **Berechnet** und speichert das Ergebnis einer mathematischen Operation
+
+**Das macht dieser Code:**
+- **Deklariert** eine Konstantenvariable, um den Namen eines Nutzers zu speichern
+- **Zeigt** eine Begrüßungsnachricht in der Konsole an
+- **Berechnet** und speichert das Ergebnis einer mathematischen Operation
```javascript
// Anweisungen, die mit Webseiten interagieren
document.title = "My Awesome Website";
document.body.style.backgroundColor = "lightblue";
```
-
-**Schritt für Schritt passiert hier:**
-- **Ändert** den Titel der Webseite, der im Browser-Tab erscheint
-- **Verändert** die Hintergrundfarbe des gesamten Seitenkörpers
+
+**Schritt für Schritt passiert Folgendes:**
+- **Ändert** den Titel der Webseite, der im Browser-Tab angezeigt wird
+- **Verändert** die Hintergrundfarbe des gesamten Seitenkörpers
### Variablen: Das Speichersystem deines Programms
-Okay, **Variablen** sind ehrlich gesagt eines meiner absoluten Lieblingskonzepte zum Lehren, weil sie so sehr wie Dinge sind, die du jeden Tag benutzt!
+Okay, **Variablen** sind ehrlich gesagt eines meiner absoluten Lieblingsthemen zum Erklären, weil sie so sehr wie Dinge funktionieren, die du jeden Tag benutzt!
-Denk mal an dein Telefonbuch. Du merkst dir nicht die Telefonnummern aller Leute – stattdessen speicherst du „Mama“, „Beste Freundin“ oder „Pizza-Lieferdienst, der bis 2 Uhr nachts liefert“ und lässt dein Telefon die tatsächlichen Nummern merken. Variablen funktionieren genauso! Sie sind wie beschriftete Behälter, in denen dein Programm Informationen speichern und später mit einem aussagekräftigen Namen abrufen kann.
+Denk mal an dein Telefon-Adressbuch. Du merkst dir nicht jede Telefonnummer – stattdessen speicherst du „Mama“, „Beste Freundin“ oder „Pizzalieferdienst bis 2 Uhr morgens“ und dein Telefon merkt sich die echten Nummern. Variablen funktionieren genau so! Sie sind wie beschriftete Behälter, in denen dein Programm Informationen speichern und später über einen sinnvollen Namen wiederfinden kann.
-Das Coole ist: Variablen können sich ändern, während dein Programm läuft (daher der Name „Variable“ – siehst du, was die da gemacht haben?). So wie du den Kontakt für den Pizza-Lieferdienst updatest, wenn du einen noch besseren findest, können Variablen aktualisiert werden, wenn dein Programm neue Informationen lernt oder sich die Situation ändert!
+Das Coole daran: Variablen können sich ändern, während dein Programm läuft (daher der Name „Variable“ – merkst du, was sie gemacht haben?). Genauso wie du den Pizzalieferdienst-Kontakt aktualisierst, wenn du einen besseren gefunden hast, können Variablen aktualisiert werden, wenn dein Programm neue Informationen lernt oder sich Situationen ändern!
-Ich zeige dir, wie wunderschön einfach das sein kann:
+Ich zeige dir mal, wie einfach das sein kann:
```javascript
// Schritt 1: Erstellen von Basisvariablen
@@ -319,12 +317,12 @@ let currentWeather = "sunny";
let temperature = 75;
let isRaining = false;
```
-
-**Was diese Konzepte bedeuten:**
-- **Speichere** unveränderliche Werte in `const` Variablen (wie Name der Webseite)
-- **Benutze** `let` für Werte, die sich im Programmverlauf ändern können
-- **Weise zu** unterschiedliche Datentypen zu: Strings (Text), Zahlen und Booleans (wahr/falsch)
-- **Wähle** beschreibende Namen, die erklären, was jede Variable enthält
+
+**Verstehen dieser Konzepte:**
+- **Speichere** unveränderliche Werte in `const`-Variablen (wie den Site-Namen)
+- **Nutze** `let` für Werte, die sich im Programm ändern können
+- **Weise** verschiedene Datentypen zu: Strings (Text), Zahlen und Booleans (wahr/falsch)
+- **Wähle** beschreibende Namen, die erklären, was jede Variable enthält
```javascript
// Schritt 2: Arbeiten mit Objekten, um verwandte Daten zu gruppieren
@@ -334,11 +332,11 @@ const weatherData = {
windSpeed: 12
};
```
-
-**Oben haben wir:**
-- **Ein Objekt erstellt**, um zusammengehörige Wetterinformationen zu gruppieren
-- **Mehrere Datenstücke unter einem Variablennamen organisiert**
-- **Schlüssel-Wert-Paare verwendet**, um jede Information klar zu beschriften
+
+**Oben haben wir:**
+- **Ein Objekt erstellt**, um zusammengehörige Wetterinformationen zu gruppieren
+- **Mehrere Datenstücke** unter einem Variablennamen organisiert
+- **Schlüssel-Wert-Paare verwendet**, um jede Information klar zu beschriften
```javascript
// Schritt 3: Verwendung und Aktualisierung von Variablen
@@ -349,33 +347,33 @@ console.log(`Wind speed: ${weatherData.windSpeed} mph`);
currentWeather = "cloudy";
temperature = 68;
```
-
-**Hier verstehen wir jeden Teil:**
-- **Zeige** Informationen mit Template-Literalen und `${}`-Syntax an
-- **Greife auf Objekt-Eigenschaften zu** mit Punktnotation (`weatherData.windSpeed`)
-- **Aktualisiere** mit `let` deklarierte Variablen, um sich ändernde Bedingungen darzustellen
-- **Kombiniere** mehrere Variablen, um sinnvolle Nachrichten zu erzeugen
+
+**Schauen wir uns die einzelnen Teile an:**
+- **Zeige** Informationen mit Template-Literals und der `${}`-Syntax an
+- **Greife zu** auf Objekteigenschaften mit Punktnotation (`weatherData.windSpeed`)
+- **Aktualisiere** mit `let` deklarierte Variablen, um veränderte Bedingungen widerzuspiegeln
+- **Kombiniere** mehrere Variablen, um sinnvolle Nachrichten zu erstellen
```javascript
// Schritt 4: Modernes Destructuring für saubereren Code
const { location, humidity } = weatherData;
console.log(`${location} humidity: ${humidity}%`);
```
+
+**Das musst du wissen:**
+- **Extrahiere** bestimmte Eigenschaften aus Objekten mit Destructuring Assignment
+- **Erzeuge** automatisch neue Variablen mit den gleichen Namen wie die Objekt-Schlüssel
+- **Vereinfache** den Code durch Vermeidung mehrfacher Punktnotation
-**Was du wissen musst:**
-- **Extrahiere** spezifische Eigenschaften aus Objekten mit Destrukturierungszuweisung
-- **Erstelle** automatisch neue Variablen mit den gleichen Namen wie die Objektschlüssel
-- **Vereinfache** den Code, indem du sich wiederholende Punktnotation vermeidest
-
-### Steuerung des Programmflusses: Deinem Programm beibringen, zu denken
+### Kontrollfluss: Deinem Programm beibringen zu denken
-Okay, hier wird Programmieren wirklich verblüffend! **Kontrollfluss** bedeutet im Grunde, deinem Programm beizubringen, wie es kluge Entscheidungen trifft, genau wie du das jeden Tag ganz selbstverständlich tust.
+Das hier ist der Teil, an dem Programmieren absolut verblüffend wird! **Kontrollfluss** bedeutet im Grunde, deinem Programm beizubringen, wie es intelligente Entscheidungen treffen kann, genau wie du es jeden Tag ganz automatisch machst.
-Stell dir vor: Heute Morgen hast du bestimmt gedacht: „Wenn es regnet, nehme ich einen Regenschirm. Wenn es kalt ist, ziehe ich eine Jacke an. Wenn ich spät dran bin, überspringe ich das Frühstück und hole mir unterwegs Kaffee.“ Dein Gehirn folgt dieser Wenn-Dann-Logik dutzende Male jeden Tag ganz automatisch!
+Stell dir vor: Heute Morgen hast du wahrscheinlich etwa gedacht: „Wenn es regnet, nehme ich einen Regenschirm mit. Wenn es kalt ist, ziehe ich eine Jacke an. Wenn ich spät dran bin, überspringe ich das Frühstück und nehme unterwegs einen Kaffee.“ Dein Gehirn folgt ganz natürlich dieser Wenn-Dann-Logik dutzende Male am Tag!
-Das ist es, was Programme intelligent und lebendig wirken lässt, statt nur einem langweiligen, vorhersehbaren Drehbuch zu folgen. Sie können eine Situation betrachten, auswerten, was passiert, und angemessen reagieren. Es ist, als hätten sie ein Gehirn, das sich anpasst und Entscheidungen treffen kann!
+Das macht Programme intelligent und lebendig, anstatt dass sie nur einem langweiligen, vorhersehbaren Skript folgen. Sie können eine Situation anschauen, bewerten, was los ist, und angemessen reagieren. Es ist fast so, als würdest du deinem Programm ein Gehirn geben, das sich anpassen und Entscheidungen treffen kann!
-Willst du sehen, wie schön das funktioniert? Ich zeige es dir:
+Willst du sehen, wie genial das funktioniert? Ich zeige es dir:
```javascript
// Schritt 1: Grundlegende bedingte Logik
@@ -388,12 +386,12 @@ if (userAge >= 18) {
console.log(`You'll be able to vote in ${yearsToWait} year(s).`);
}
```
-
-**Das macht dieser Code:**
-- **Überprüft**, ob das Alter des Benutzers für die Wahlberechtigung ausreicht
-- **Führt** verschiedene Codeblöcke basierend aufs Ergebnis der Bedingung aus
-- **Berechnet** und zeigt an, wie lange es noch bis zur Wahlberechtigung dauert, falls unter 18
-- **Gibt** für jeden Fall spezifisches, hilfreiches Feedback
+
+**Das macht dieser Code:**
+- **Prüft**, ob das Alter des Nutzers die Wahlberechtigung erfüllt
+- **Führt** verschiedene Codeblöcke je nach Bedingungsergebnis aus
+- **Berechnet** und zeigt an, wie lange es bis zur Wahlberechtigung dauert, falls unter 18
+- **Gibt** spezifisches, hilfreiches Feedback für jedes Szenario
```javascript
// Schritt 2: Mehrere Bedingungen mit logischen Operatoren
@@ -408,26 +406,26 @@ if (userAge >= 18 && hasPermission) {
console.log("Sorry, you must be at least 16 years old.");
}
```
-
-**Was hier passiert, im Detail:**
-- **Kombiniert** mehrere Bedingungen mit dem `&&` (und) Operator
-- **Erstellt** eine Hierarchie von Bedingungen mit `else if` für mehrere Szenarien
-- **Behandelt** alle möglichen Fälle mit einer abschließenden `else`-Anweisung
-- **Gibt** klares, umsetzbares Feedback für jede Situation
+
+**Das passiert hier im Detail:**
+- **Verknüpft** mehrere Bedingungen mit dem `&&` (und)-Operator
+- **Erstellt** eine Hierarchie von Bedingungen mit `else if` für verschiedene Szenarien
+- **Erfasst** alle möglichen Fälle mit einem abschließenden `else`
+- **Gibt** klar verständliches, hilfreiches Feedback für jede Situation
```javascript
-// Schritt 3: Kurzform der Bedingung mit ternärem Operator
+// Schritt 3: Prägnante Bedingung mit ternärem Operator
const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
console.log(`Status: ${votingStatus}`);
```
-
-**Merke dir:**
-- **Verwende** den ternären Operator (`? :`) für einfache Zwei-Optionen-Bedingungen
-- **Schreibe** zuerst die Bedingung, dann `?`, dann Ergebnis, wenn wahr, dann `:`, dann Ergebnis, wenn falsch
-- **Wende** dieses Muster an, wenn du Werte auf Basis von Bedingungen zuweisen willst
+
+**Das solltest du dir merken:**
+- **Nutze** den ternären Operator (`? :`) für einfache Zwei-Option-Bedingungen
+- **Schreibe** zuerst die Bedingung, dann `?`, dann die wahre Ausgabe, dann `:`, dann die falsche Ausgabe
+- **Verwende** dieses Muster, wenn du Werte basierend auf Bedingungen zuweisen willst
```javascript
-// Schritt 4: Umgang mit mehreren speziellen Fällen
+// Schritt 4: Umgang mit mehreren spezifischen Fällen
const dayOfWeek = "Tuesday";
switch (dayOfWeek) {
@@ -446,55 +444,55 @@ switch (dayOfWeek) {
console.log("Invalid day of the week");
}
```
+
+**Dieser Code macht Folgendes:**
+- **Vergleicht** den Variablenwert mit mehreren spezifischen Fällen
+- **Fasst** ähnliche Fälle zusammen (Werktage vs. Wochenenden)
+- **Führt** den passenden Codeblock aus, wenn eine Übereinstimmung gefunden wird
+- **Beinhaltet** einen `default`-Fall für unerwartete Werte
+- **Verwendet** `break`-Anweisungen, um zu verhindern, dass der Code in weitere Fälle läuft
-**Dieser Code macht Folgendes:**
-- **Vergleicht** den Variablenwert mit mehreren spezifischen Fällen
-- **Gruppiert** ähnliche Fälle zusammen (Wochentage vs. Wochenenden)
-- **Führt** den passenden Codeblock aus, wenn ein Treffer vorliegt
-- **Beinhaltet** einen `default`-Fall für unerwartete Werte
-- **Verwendet** `break`-Anweisungen, um zu verhindern, dass der Code in den nächsten Fall weiterläuft
-
-> 💡 **Echtes Beispiel**: Stell dir Kontrollfluss wie das geduldigste GPS der Welt vor, das dir Anweisungen gibt. Es könnte sagen: „Wenn auf der Hauptstraße Verkehr ist, nimm die Autobahn. Wenn die Autobahn gesperrt ist, versuche die landschaftlich schöne Route.“ Programme verwenden genau dieselbe Art bedingter Logik, um intelligent auf verschiedene Situationen zu reagieren und immer das beste Nutzererlebnis zu bieten.
+> 💡 **Alltagsvergleich**: Stell dir den Kontrollfluss wie das geduldigste GPS der Welt vor, das dir Anweisungen gibt. Es sagt: „Wenn auf der Hauptstraße Stau ist, nimm lieber die Autobahn. Wenn Baustellen die Autobahn blockieren, versuch die malerische Strecke.“ Programme nutzen genau diese Art von bedingter Logik, um intelligent auf verschiedene Situationen zu reagieren und Nutzern immer die beste Erfahrung zu bieten.
-### 🎯 **Konzept-Check: Baustein-Meisterschaft**
+### 🎯 **Konzept-Check: Bausteine meistern**
-**Mal sehen, wie du mit den Grundlagen zurechtkommst:**
-- Kannst du den Unterschied zwischen einer Variable und einer Anweisung mit eigenen Worten erklären?
-- Denk an ein Beispiel aus der echten Welt, in dem du eine Wenn-Dann-Entscheidung treffen würdest (wie in unserem Wahl-Beispiel)
-- Was hat dich an der Programmierlogik am meisten überrascht?
+**Lass uns mal schauen, wie es mit den Grundlagen steht:**
+- Kannst du in deinen eigenen Worten den Unterschied zwischen einer Variable und einer Anweisung erklären?
+- Denk an ein Beispiel aus dem echten Leben, in dem du eine Wenn-Dann-Entscheidung treffen würdest (wie bei unserem Wahlrecht-Beispiel)
+- Was hat dich an der Programmierlogik am meisten überrascht?
-**Schneller Selbstvertrauens-Aufbau:**
+**Kleiner Selbstvertrauens-Kick:**
```mermaid
flowchart LR
- A["📝 Anweisungen (Instruktionen)"] --> B["📦 Variablen (Speicher)"] --> C["🔀 Programmfluss (Entscheidungen)"] --> D["🎉 Funktionierendes Programm!"]
+ A["📝 Anweisungen (Anweisungen)"] --> B["📦 Variablen (Speicher)"] --> C["🔀 Programmfluss (Entscheidungen)"] --> D["🎉 Funktionierendes Programm!"]
style A fill:#ffeb3b
style B fill:#4caf50
style C fill:#2196f3
style D fill:#ff4081
-```
-✅ **Was als Nächstes kommt**: Wir werden absolut viel Spaß haben, diese Konzepte immer weiter zu vertiefen, während wir diese unglaubliche Reise zusammen fortsetzen! Konzentriere dich jetzt einfach darauf, die Vorfreude auf all die erstaunlichen Möglichkeiten zu spüren, die vor dir liegen. Die speziellen Fähigkeiten und Techniken wirst du ganz natürlich lernen, wenn wir zusammen üben – ich verspreche, das macht viel mehr Spaß, als du vielleicht denkst!
+```
+✅ **Was als Nächstes kommt:** Wir werden richtig viel Spaß haben, wenn wir diese Konzepte weiter vertiefen und gemeinsam diese unglaubliche Reise fortsetzen! Konzentriere dich erstmal darauf, dich auf all die fantastischen Möglichkeiten zu freuen, die vor dir liegen. Die speziellen Fähigkeiten und Techniken werden sich ganz natürlich festigen, wenn wir gemeinsam üben – ich verspreche, das wird viel mehr Spaß machen, als du erwartest!
-## Werkzeuge des Handwerks
+## Werkzeuge des Fachs
-Okay, hier werde ich ehrlich so aufgeregt, dass ich mich kaum beherrschen kann! 🚀 Wir werden jetzt über die unglaublichen Werkzeuge sprechen, die dir das Gefühl geben werden, als hättest du gerade die Schlüssel zu einem digitalen Raumschiff bekommen.
+Okay, ehrlich gesagt bekomme ich hier richtig Gänsehaut vor Aufregung! 🚀 Wir sprechen jetzt über die unglaublichen Werkzeuge, mit denen du dich fühlen wirst, als hättest du gerade die Schlüssel zu einem digitalen Raumschiff in die Hand bekommen.
-Kennst du das, wenn ein Koch diese perfekt ausbalancierten Messer hat, die sich wie eine Verlängerung seiner Hände anfühlen? Oder wenn ein Musiker eine Gitarre hat, die zu singen scheint, sobald er sie berührt? Entwickler haben ihre eigene Version solcher magischen Werkzeuge, und hier kommt etwas, das dich absolut umhauen wird – die meisten davon sind komplett kostenlos!
+Du kennst doch sicher diese perfekt ausgewogenen Messer, die ein Koch hat und die sich fast wie eine Verlängerung der eigenen Hände anfühlen? Oder den Musiker, der eine Gitarre besitzt, die förmlich zu singen beginnt, sobald er sie berührt? Entwickler haben ihre ganz eigene Version dieser magischen Werkzeuge, und das, was dich umhauen wird – die meisten davon sind absolut kostenlos!
-Ich hüpfe praktisch auf meinem Stuhl, weil ich es kaum erwarten kann, diese mit dir zu teilen, denn sie haben die Art revolutioniert, wie wir Software entwickeln. Wir sprechen von KI-gestützten Code-Assistenten, die dir beim Schreiben deines Codes helfen können (kein Scherz!), Cloud-Umgebungen, in denen du ganze Anwendungen von buchstäblich überall mit WLAN bauen kannst, und Debugging-Tools, die so ausgefeilt sind, dass sie wie Röntgenblick für deine Programme sind.
+Ich freue mich so sehr, dir das zu zeigen, denn diese Tools haben die Softwareentwicklung komplett revolutioniert. Wir reden von KI-gestützten Programmierassistenten, die deinen Code schreiben helfen können (ernsthaft!), Cloud-Entwicklungsumgebungen, in denen du ganze Apps von überall mit WLAN bauen kannst, und so ausgefeilten Debuggern, dass sie beinahe als Röntgenblick für deine Programme gelten könnten.
-Und hier kommt der Teil, der mir immer noch eine Gänsehaut macht: Das sind keine „Anfänger-Werkzeuge“, die du irgendwann überholst. Das sind genau die gleichen professionellen Werkzeuge, die Entwickler bei Google, Netflix und dem Indie-App-Studio, das du liebst, gerade jetzt verwenden. Du wirst dich wie ein Profi fühlen, wenn du sie benutzt!
+Und hier kommt der Teil, der mir immer noch eine Gänsehaut macht: Das sind keine „Anfänger-Werkzeuge“, mit denen du schnell rauswächst. Das sind exakt die gleichen professionellen Tools, die Entwickler bei Google, Netflix und dem Indie-App-Studio, das du liebst, gerade in diesem Moment benutzen. Du wirst dich fühlen wie ein absoluter Profi!
```mermaid
graph TD
A["💡 Deine Idee"] --> B["⌨️ Code-Editor (VS Code)"]
B --> C["🌐 Browser DevTools (Testen & Debuggen)"]
C --> D["⚡ Befehlszeile (Automatisierung & Werkzeuge)"]
- D --> E["📚 Dokumentation (Lernen & Referenz)"]
- E --> F["🚀 Unglaubliche Webanwendung!"]
+ D --> E["📚 Dokumentation (Lernen & Nachschlagen)"]
+ E --> F["🚀 Unglaubliche Web-App!"]
B -.-> G["🤖 KI-Assistent (GitHub Copilot)"]
- C -.-> H["📱 Gerätetests (Responsives Design)"]
+ C -.-> H["📱 Gerätetest (Responsives Design)"]
D -.-> I["📦 Paketmanager (npm, yarn)"]
E -.-> J["👥 Gemeinschaft (Stack Overflow)"]
@@ -504,97 +502,97 @@ graph TD
style H fill:#f3e5f5
style I fill:#ffccbc
style J fill:#e8eaf6
-```
+```
### Code-Editoren und IDEs: Deine neuen digitalen besten Freunde
-Lass uns über Code-Editoren sprechen – die werden wirklich bald zu deinen Lieblingsplätzen zum Abhängen! Stell dir vor, es ist dein persönliches Programmier-Heiligtum, wo du die meiste Zeit verbringen wirst, um deine digitalen Kreationen zu gestalten und zu perfektionieren.
+Lass uns über Code-Editoren sprechen – die werden wirklich bald zu deinen Lieblingsorten zum Abhängen! Stell sie dir als deinen persönlichen Code-Sanctuary vor, in dem du die meiste Zeit damit verbringst, deine digitalen Kreationen zu erschaffen und zu perfektionieren.
-Aber das Wahre Wunder an modernen Editoren ist: Sie sind nicht nur schicke Texteditoren. Sie sind wie der brillanteste, unterstützendste Programmier-Mentor, der 24/7 direkt neben dir sitzt. Sie fangen deine Tippfehler ab, bevor du sie überhaupt bemerkst, schlagen Verbesserungen vor, die dich wie ein Genie aussehen lassen, helfen dir zu verstehen, was jeder Codeabschnitt macht, und manche können sogar vorhersagen, was du als Nächstes tippen willst, und bieten an, deine Gedanken zu vervollständigen!
+Aber das absolut Magische an modernen Editoren ist: Sie sind nicht einfach nur schicke Texteditoren. Sie sind wie der brillanteste, unterstützendste Programmier-Mentor, der rund um die Uhr neben dir sitzt. Sie fangen Tippfehler ab, bevor du sie überhaupt bemerkst, schlagen Verbesserungen vor, die dich zum Genie machen, helfen dir zu verstehen, was jeder Codeabschnitt tut, und manche von ihnen können sogar antizipieren, was du gleich tippen willst und bieten dir an, deine Gedanken fertigzuschreiben!
-Ich erinnere mich daran, wie ich das erste Mal Autovervollständigung entdeckt habe – ich hatte wirklich das Gefühl, in der Zukunft zu leben. Du beginnst etwas zu tippen und dein Editor sagt: „Hey, wolltest du diese Funktion nutzen, die genau das macht, was du brauchst?“ Es ist, als hättest du einen Gedankenleser als Programmierkumpel!
+Ich erinnere mich noch, als ich zum ersten Mal Auto-Completion entdeckt habe – ich hatte das Gefühl, in der Zukunft zu leben. Du fängst an zu tippen, und dein Editor sagt: „Hey, wolltest du nicht diese Funktion, die genau das macht, was du brauchst?“ Es ist fast wie ein Gedankenleser als dein Coding-Buddy!
**Was macht diese Editoren so unglaublich?**
-Moderne Code-Editoren bieten eine beeindruckende Reihe von Funktionen, die deine Produktivität steigern:
+Moderne Code-Editoren bieten eine beeindruckende Anzahl an Funktionen, die deine Produktivität steigern:
-| Funktion | Was sie macht | Warum sie hilft |
+| Funktion | Was es macht | Warum es hilft |
|---------|--------------|--------------|
-| **Syntaxhervorhebung** | Färbt verschiedene Teile deines Codes ein | Macht Code lesbarer und Fehler leichter erkennbar |
-| **Autovervollständigung** | Schlägt Code beim Tippen vor | Beschleunigt das Programmieren und reduziert Tippfehler |
-| **Debugging-Tools** | Helfen dir Fehler zu finden und zu beheben | Spart Stunden bei der Fehlersuche |
-| **Erweiterungen** | Fügen spezielle Features hinzu | Passe deinen Editor an jede Technologie an |
-| **KI-Assistenten** | Schlagen Code und Erklärungen vor | Beschleunigen das Lernen und die Produktivität |
+| **Syntax-Hervorhebung** | Färbt verschiedene Teile deines Codes | Macht den Code leichter lesbar und Fehler sichtbar |
+| **Auto-Vervollständigung** | Schlägt Code während des Tippens vor | Beschleunigt das Programmieren und reduziert Tippfehler |
+| **Debugging-Tools** | Hilft Fehler zu finden und zu beheben | Spart Stunden an Fehlersuche |
+| **Erweiterungen** | Fügen spezialisierte Funktionen hinzu | Passe deinen Editor für jede Technologie an |
+| **KI-Assistenten** | Schlagen Code und Erklärungen vor | Beschleunigen Lernen und Produktivität |
-> 🎥 **Video-Ressource**: Möchtest du diese Werkzeuge in Aktion sehen? Schau dir dieses [Tools of the Trade Video](https://youtube.com/watch?v=69WJeXGBdxg) für einen umfassenden Überblick an.
+> 🎥 **Video-Ressource**: Willst du diese Werkzeuge in Aktion sehen? Schau dir dieses [Tools of the Trade Video](https://youtube.com/watch?v=69WJeXGBdxg) für einen umfassenden Überblick an.
#### Empfohlene Editoren für Webentwicklung
-**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (kostenlos)
-- Am beliebtesten bei Webentwicklern
-- Ausgezeichnetes Erweiterungs-Ökosystem
-- Eingebautes Terminal und Git-Integration
-- **Must-Have-Erweiterungen**:
- - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) – KI-gestützte Codevorschläge
- - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) – Echtzeit-Zusammenarbeit
- - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) – Automatische Codeformatierung
- - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) – Rechtschreibprüfung im Code
+**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (Kostenlos)
+- Bei Webentwicklern am beliebtesten
+- Hervorragendes Erweiterungs-Ökosystem
+- Integriertes Terminal und Git
+- **Unverzichtbare Erweiterungen**:
+ - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) – KI-gestützte Codevorschläge
+ - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) – Echtzeit-Zusammenarbeit
+ - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) – Automatisches Codeformatieren
+ - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) – Fängt Tippfehler im Code auf
-**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (kostenpflichtig, kostenlos für Studenten)
-- Fortgeschrittene Debugging- und Testtools
-- Intelligente Codevervollständigung
-- Integrierte Versionskontrolle
+**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (Bezahlt, kostenlos für Studierende)
+- Fortgeschrittene Debugging- und Testwerkzeuge
+- Intelligente Code-Vervollständigung
+- Integrierte Versionskontrolle
-**Cloud-basierte IDEs** (verschiedene Preise)
-- [GitHub Codespaces](https://github.com/features/codespaces) – Volles VS Code im Browser
-- [Replit](https://replit.com/) – Super zum Lernen und Teilen von Code
-- [StackBlitz](https://stackblitz.com/) – Sofortige Full-Stack-Webentwicklung
+**Cloud-basierte IDEs** (Verschiedene Preise)
+- [GitHub Codespaces](https://github.com/features/codespaces) – Vollständiges VS Code im Browser
+- [Replit](https://replit.com/) – Ideal zum Lernen und Teilen von Code
+- [StackBlitz](https://stackblitz.com/) – Sofortige Full-Stack-Webentwicklung
-> 💡 **Einstiegstipp**: Fang mit Visual Studio Code an – es ist kostenlos, in der Branche weit verbreitet und hat eine riesige Community, die hilfreiche Tutorials und Erweiterungen erstellt.
+> 💡 **Einstiegstipp**: Starte mit Visual Studio Code – es ist kostenlos, in der Branche weit verbreitet und hat eine riesige Community, die hilfreiche Tutorials und Erweiterungen erstellt.
### Webbrowser: Dein geheimes Entwicklungslabor
-Bereite dich darauf vor, völlig begeistert zu sein! Du weißt, wie du Browser benutzt, um durch soziale Medien zu scrollen und Videos anzusehen? Nun, es stellt sich heraus, dass sie die ganze Zeit diesen unglaublichen geheimen Entwickler-Laborraum versteckt hatten, nur darauf wartend, dass du ihn entdeckst!
+Okay, mach dich bereit, total überrascht zu werden! Du nutzt Browser ja bisher, um durch Social Media zu scrollen und Videos zu schauen, richtig? Dabei haben sie die ganze Zeit ein unglaubliches geheimes Entwicklerlabor versteckt – und warten nur darauf, dass du es entdeckst!
-Jedes Mal, wenn du mit der rechten Maustaste auf eine Webseite klickst und „Element untersuchen“ wählst, öffnest du eine verborgene Welt von Entwicklerwerkzeugen, die ehrlich gesagt mächtiger sind als manche teure Software, für die ich früher hunderte Euro bezahlt habe. Es ist, als würdest du entdecken, dass deine ganz normale Küche hinter einer geheimen Tür ein Labor für Profiköche versteckt!
-Als mir zum ersten Mal jemand die Browser-DevTools gezeigt hat, habe ich etwa drei Stunden damit verbracht, einfach nur herumzuklicken und zu denken: "WARTEN, DAS KANN DAS AUCH?!" Du kannst wirklich jede Website in Echtzeit bearbeiten, genau sehen, wie schnell alles lädt, testen, wie deine Seite auf verschiedenen Geräten aussieht, und sogar JavaScript wie ein echter Profi debuggen. Das ist absolut verblüffend!
+Jedes Mal, wenn du mit der rechten Maustaste auf eine Webseite klickst und „Element untersuchen“ wählst, öffnest du eine verborgene Welt von Entwicklerwerkzeugen, die ehrlicherweise mächtiger sind als manche teure Software, für die ich früher hunderte von Euro bezahlt habe. Es ist, als würdest du entdecken, dass deine ganz normale Küche hinter einer geheimen Klappe ein Profi-Küchenlabor beherbergt!
+Als mir zum ersten Mal jemand die Browser-DevTools zeigte, verbrachte ich etwa drei Stunden damit, einfach nur herumzuklicken und zu denken: „WARTEN, DAS KANN ER AUCH?!“ Du kannst buchstäblich jede Website in Echtzeit bearbeiten, genau sehen, wie schnell alles lädt, testen, wie deine Seite auf verschiedenen Geräten aussieht, und sogar JavaScript wie ein echter Profi debuggen. Es ist absolut faszinierend!
-**Deshalb sind Browser dein geheimer Trumpf:**
+**Darum sind Browser deine Geheimwaffe:**
-Wenn du eine Website oder Webanwendung erstellst, musst du sehen, wie sie in der realen Welt aussieht und sich verhält. Browser zeigen nicht nur deine Arbeit an, sondern liefern auch detailliertes Feedback zu Leistung, Zugänglichkeit und möglichen Problemen.
+Wenn du eine Website oder Webanwendung erstellst, musst du sehen, wie sie in der realen Welt aussieht und sich verhält. Browser zeigen nicht nur dein Werk an, sondern liefern auch detailliertes Feedback zur Performance, Zugänglichkeit und zu potenziellen Problemen.
-#### Browser-Entwicklertools (DevTools)
+#### Browser Developer Tools (DevTools)
-Moderne Browser enthalten umfassende Entwicklungspakete:
+Moderne Browser beinhalten umfangreiche Entwicklungstools:
-| Tool-Kategorie | Was es macht | Beispielanwendung |
-|---------------|--------------|------------------|
-| **Element-Inspektor** | HTML/CSS in Echtzeit ansehen und bearbeiten | Styling anpassen, um sofortige Ergebnisse zu sehen |
+| Toolkategorie | Was es macht | Beispielanwendung |
+|---------------|--------------|-------------------|
+| **Element-Inspektor** | HTML/CSS in Echtzeit ansehen und editieren | Stil anpassen und sofortige Ergebnisse sehen |
| **Konsole** | Fehlermeldungen ansehen und JavaScript testen | Probleme debuggen und mit Code experimentieren |
-| **Netzwerk-Monitor** | Nachverfolgen, wie Ressourcen geladen werden | Leistung und Ladezeiten optimieren |
-| **Zugänglichkeits-Prüfer** | Inklusives Design testen | Sicherstellen, dass deine Seite für alle Nutzer funktioniert |
-| **Geräte-Simulator** | Vorschau auf verschiedenen Bildschirmgrößen | Responsives Design ohne mehrere Geräte testen |
+| **Netzwerkmonitor** | Nachverfolgen, wie Ressourcen geladen werden | Performance und Ladezeiten optimieren |
+| **Zugänglichkeitsprüfer** | Auf inklusive Gestaltung testen | Sicherstellen, dass deine Seite für alle Nutzer funktioniert |
+| **Gerätesimulator** | Vorschau auf verschiedenen Bildschirmgrößen | Responsive Design ohne mehrere Geräte testen |
#### Empfohlene Browser für die Entwicklung
- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** – Industriestandard DevTools mit umfangreicher Dokumentation
-- **[Firefox](https://developer.mozilla.org/docs/Tools)** – Hervorragende CSS Grid- und Zugänglichkeits-Tools
-- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** – Aufbau auf Chromium mit Microsofts Entwicklerressourcen
+- **[Firefox](https://developer.mozilla.org/docs/Tools)** – Hervorragende CSS Grid- und Zugänglichkeitswerkzeuge
+- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** – Auf Chromium basierend mit Microsofts Entwicklerressourcen
-> ⚠️ **Wichtiger Test-Tipp**: Teste deine Websites immer in mehreren Browsern! Was in Chrome perfekt funktioniert, kann in Safari oder Firefox anders aussehen. Professionelle Entwickler testen in allen großen Browsern, um konsistente Nutzererfahrungen zu gewährleisten.
+> ⚠️ **Wichtiger Test-Tipp**: Teste deine Websites immer in mehreren Browsern! Was in Chrome perfekt funktioniert, kann in Safari oder Firefox anders aussehen. Professionelle Entwickler testen in allen wichtigen Browsern, um eine konsistente Nutzererfahrung sicherzustellen.
-### Kommandozeilen-Tools: Dein Tor zu Entwickler-Superkräften
+### Kommandozeilen-Tools: Dein Zugang zu Entwickler-Superkräften
-Okay, jetzt mal ehrlich zum Thema Kommandozeile, denn ich will, dass du das von jemandem hörst, der es wirklich versteht. Als ich sie zum ersten Mal sah – nur dieser furchteinflößende schwarze Bildschirm mit blinkendem Text – dachte ich buchstäblich: „Nee, auf keinen Fall! Das sieht aus wie aus einem Hackerfilm der 1980er, und ich bin auf keinen Fall schlau genug dafür!“ 😅
+Okay, lass uns ganz ehrlich sein über die Kommandozeile, denn ich möchte, dass du das von jemandem hörst, der es wirklich versteht. Als ich sie zum ersten Mal sah – nur dieser beängstigende schwarze Bildschirm mit blinkendem Text – dachte ich buchstäblich: „Nein, auf keinen Fall! Das sieht aus wie aus einem Hacker-Film der 80er, und ich bin definitiv nicht klug genug dafür!“ 😅
-Aber hier ist, was ich mir damals gewünscht hätte, dass mir jemand sagt, und was ich dir jetzt sage: Die Kommandozeile ist nicht gruselig – sie ist tatsächlich wie ein direktes Gespräch mit deinem Computer. Stell sie dir vor wie den Unterschied zwischen Essen über eine schicke App mit Bildern und Menüs zu bestellen (was nett und einfach ist) und deinem Lieblingsrestaurant vor Ort, wo der Koch genau weiß, was du magst, und dir etwas Perfektes zaubert, nur weil du sagst „Überrasche mich mit etwas Großartigem.“
+Aber hier ist, was ich mir damals gewünscht hätte, dass mir jemand sagt, und was ich dir gerade jetzt erzähle: Die Kommandozeile ist nicht beängstigend – sie ist eigentlich wie ein direkter Dialog mit deinem Computer. Stell es dir vor wie der Unterschied zwischen Essen über eine schicke App mit Bildern und Menüs zu bestellen (was nett und einfach ist) und deinem Lieblingsrestaurant vor Ort, wo der Koch genau weiß, was du magst und etwas Perfektes zaubert, wenn du sagst: „Überrasche mich mit etwas Tollem.“
-Die Kommandozeile ist der Ort, an dem Entwickler sich wie absolute Zauberer fühlen. Du tippst ein paar scheinbar magische Worte ein (okay, es sind nur Befehle, aber sie fühlen sich magisch an!), drückst Enter und BOOM – du hast komplette Projektstrukturen erstellt, leistungsstarke Werkzeuge aus der ganzen Welt installiert oder deine App ins Internet für Millionen von Menschen gestellt. Wenn du diesen ersten Vorgeschmack auf diese Macht hast, ist das ehrlich gesagt ziemlich süchtig machend!
+Die Kommandozeile ist der Ort, an dem Entwickler sich wie absolute Zauberer fühlen. Du tippst ein paar scheinbar magische Wörter (okay, es sind Befehle, aber sie fühlen sich magisch an!), drückst Enter und BOOM – du hast ganze Projektstrukturen erstellt, mächtige Tools aus der ganzen Welt installiert oder deine App ins Internet gestellt, damit Millionen sie sehen können. Wenn du einmal diese Macht gespürt hast, wird es ehrlich gesagt ziemlich süchtig machen!
-**Warum die Kommandozeile dein Lieblingswerkzeug wird:**
+**Darum wird die Kommandozeile dein Lieblingstool sein:**
-Während grafische Oberflächen für viele Aufgaben großartig sind, glänzt die Kommandozeile bei Automatisierung, Präzision und Geschwindigkeit. Viele Entwicklungswerkzeuge funktionieren hauptsächlich über Kommandozeilen-Schnittstellen, und das effiziente Lernen ihrer Nutzung kann deine Produktivität dramatisch steigern.
+Während grafische Oberflächen für viele Aufgaben großartig sind, glänzt die Kommandozeile bei Automatisierung, Präzision und Geschwindigkeit. Viele Entwicklungstools arbeiten hauptsächlich über Kommandozeilenschnittstellen, und sie effizient zu nutzen, kann deine Produktivität drastisch steigern.
```bash
# Schritt 1: Erstellen und navigieren Sie zum Projektverzeichnis
@@ -603,8 +601,8 @@ cd my-awesome-website
```
**Das macht dieser Code:**
-- **Ein neues Verzeichnis namens "my-awesome-website"** für dein Projekt erstellen
-- **Ins neu erstellte Verzeichnis wechseln,** um mit der Arbeit zu beginnen
+- **Erstellt** ein neues Verzeichnis namens „my-awesome-website“ für dein Projekt
+- **Wechselt** in das neu erstellte Verzeichnis, um die Arbeit zu beginnen
```bash
# Schritt 2: Projekt mit package.json initialisieren
@@ -616,13 +614,13 @@ npm install --save-dev @eslint/js
```
**Schritt für Schritt passiert Folgendes:**
-- **Initialisierung** eines neuen Node.js-Projekts mit Standardeinstellungen via `npm init -y`
-- **Installation** von Vite als modernes Build-Tool für schnelle Entwicklung und Produktions-Builds
-- **Hinzufügen** von Prettier für automatische Code-Formatierung und ESLint für Code-Qualitätsprüfungen
-- **Verwendung** des `--save-dev` Flags, um diese als reine Entwicklungsabhängigkeiten zu markieren
+- **Initialisiert** ein neues Node.js-Projekt mit den Standard-Einstellungen via `npm init -y`
+- **Installiert** Vite als modernes Build-Tool für schnelle Entwicklung und Produktions-Builds
+- **Fügt hinzu** Prettier für automatische Code-Formatierung und ESLint für Code-Qualitätsprüfungen
+- **Verwendet** den `--save-dev`-Schalter, um diese als reine Entwicklungsabhängigkeiten zu markieren
```bash
-# Schritt 3: Projektstruktur und Dateien erstellen
+# Schritt 3: Erstellen Sie die Projektstruktur und Dateien
mkdir src assets
echo 'My Site
Hello World
' > index.html
@@ -631,30 +629,30 @@ npx vite
```
**Oben haben wir:**
-- **Unser Projekt organisiert,** indem wir separate Ordner für Quellcode und Assets erstellt haben
-- **Eine einfache HTML-Datei** mit korrekter Dokumentstruktur generiert
-- **Den Vite-Entwicklungsserver gestartet** für Live Reloading und Hot Module Replacement
+- **Organisiert** unser Projekt durch separate Ordner für Quellcode und Assets
+- **Generiert** eine einfache HTML-Datei mit korrektem Dokumentaufbau
+- **Gestartet** den Vite-Entwicklungsserver für Live-Reloading und Hot-Module-Replacement
-#### Unverzichtbare Kommandozeilen-Tools für Webentwicklung
+#### Unverzichtbare Kommandozeilentools für Webentwicklung
| Tool | Zweck | Warum du es brauchst |
|------|---------|-----------------|
-| **[Git](https://git-scm.com/)** | Versionskontrolle | Änderungen nachverfolgen, mit anderen zusammenarbeiten, Arbeit sichern |
-| **[Node.js & npm](https://nodejs.org/)** | JavaScript-Laufzeit & Paketverwaltung | JavaScript außerhalb des Browsers ausführen, moderne Entwicklungswerkzeuge installieren |
-| **[Vite](https://vitejs.dev/)** | Build-Tool & Entwicklungsserver | Blitzschnelle Entwicklung mit Hot Module Replacement |
-| **[ESLint](https://eslint.org/)** | Code-Qualität | Automatisch Probleme im JavaScript finden und beheben |
-| **[Prettier](https://prettier.io/)** | Code-Formatierung | Deinen Code einheitlich formatiert und lesbar halten |
+| **[Git](https://git-scm.com/)** | Versionskontrolle | Änderungen verfolgen, mit anderen zusammenarbeiten, Backup erstellen |
+| **[Node.js & npm](https://nodejs.org/)** | JavaScript-Laufzeit & Paketverwaltung | JavaScript außerhalb von Browsern ausführen, moderne Entwicklungstools installieren |
+| **[Vite](https://vitejs.dev/)** | Build-Tool & Dev-Server | Sehr schnelle Entwicklung mit Hot-Module-Replacement |
+| **[ESLint](https://eslint.org/)** | Codequalität | Probleme im JavaScript automatisch finden und beheben |
+| **[Prettier](https://prettier.io/)** | Codeformatierung | Deinen Code durchgängig formatiert und lesbar halten |
#### Plattform-spezifische Optionen
**Windows:**
- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** – Moderner, funktionsreicher Terminal
-- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 – Leistungsstarke Skriptumgebung
-- **[Eingabeaufforderung (Command Prompt)](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 – Traditionelle Windows-Kommandozeile
+- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 – Leistungsfähige Skriptumgebung
+- **[Eingabeaufforderung](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 – Traditionelle Windows-Kommandozeile
**macOS:**
-- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 – Eingebaute Terminal-Anwendung
-- **[iTerm2](https://iterm2.com/)** – Erweiterter Terminal mit erweiterten Funktionen
+- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 – Eingebautes Terminalprogramm
+- **[iTerm2](https://iterm2.com/)** – Erweitertes Terminal mit zusätzlichen Features
**Linux:**
- **[Bash](https://www.gnu.org/software/bash/)** 💻 – Standard-Linux-Shell
@@ -662,124 +660,124 @@ npx vite
> 💻 = Vorinstalliert im Betriebssystem
-> 🎯 **Lernpfad**: Beginne mit grundlegenden Befehlen wie `cd` (Verzeichnis wechseln), `ls` oder `dir` (Dateien auflisten) und `mkdir` (Ordner erstellen). Übe mit modernen Workflow-Befehlen wie `npm install`, `git status` und `code .` (öffnet das aktuelle Verzeichnis in VS Code). Mit zunehmendem Komfort wirst du automatisch fortgeschrittenere Befehle und Automatisierungstechniken lernen.
+> 🎯 **Lernpfad**: Starte mit Basisbefehlen wie `cd` (Verzeichnis wechseln), `ls` oder `dir` (Dateien auflisten) und `mkdir` (Ordner erstellen). Übe moderne Workflow-Befehle wie `npm install`, `git status` und `code .` (öffnet das aktuelle Verzeichnis in VS Code). Je sicherer du wirst, desto mehr wirst du fortgeschrittene Befehle und Automatisierungstechniken kennenlernen.
-### Dokumentation: Dein immer verfügbarer Lernmentor
+### Dokumentation: Dein jederzeit verfügbarer Lernmentor
-Okay, ich verrate dir ein kleines Geheimnis, das dich als Anfänger wirklich erleichtern wird: Selbst die erfahrensten Entwickler verbringen einen riesigen Teil ihrer Zeit mit dem Lesen von Dokumentation. Und das liegt nicht daran, dass sie nicht wissen, was sie tun – es ist tatsächlich ein Zeichen von Weisheit!
+Okay, ich teile ein kleines Geheimnis, das dich viel entspannter macht, Anfänger zu sein: Selbst die erfahrensten Entwickler verbringen einen großen Teil ihrer Zeit mit Lesen von Dokumentationen. Und das nicht, weil sie keine Ahnung haben – sondern es ist tatsächlich ein Zeichen von Weisheit!
-Denk an Dokumentation wie an den Zugang zu den geduldigsten, wissendsten Lehrern der Welt, die jederzeit verfügbar sind. Bei einem Problem um 2 Uhr nachts? Dokumentation ist da mit einer warmen virtuellen Umarmung und genau der Antwort, die du brauchst. Du willst etwas über ein cooles neues Feature lernen, über das alle sprechen? Dokumentation unterstützt dich mit Schritt-für-Schritt-Beispielen. Du versuchst zu verstehen, warum etwas so funktioniert, wie es tut? Genau, die Dokumentation erklärt es dir auf eine Art, die endlich Sinn macht!
+Sieh Dokumentation wie den Zugang zu den geduldigsten und kenntnisreichsten Lehrern der Welt, die 24/7 für dich da sind. Stehst du um 2 Uhr nachts vor einem Problem? Die Dokumentation ist da mit einer warmen virtuellen Umarmung und genau der Antwort, die du brauchst. Willst du eine coole neue Funktion lernen, über die alle sprechen? Die Dokumentation steht dir mit Schritt-für-Schritt-Beispielen zur Seite. Versucht du zu verstehen, warum etwas so funktioniert, wie es funktioniert? Genau, die Dokumentation erklärt dir alles, bis es endlich klick macht!
-Etwas, das meine Perspektive komplett verändert hat: Die Welt der Webentwicklung bewegt sich unglaublich schnell, und niemand (wirklich niemand!) behält alles im Kopf. Ich habe Senior-Entwickler mit über 15 Jahren Erfahrung gesehen, die grundlegende Syntax nachschlagen, und weißt du was? Das ist nicht peinlich – das ist schlau! Es geht nicht darum, ein perfektes Gedächtnis zu haben; es geht darum, zu wissen, wo man verlässliche Antworten schnell findet und wie man sie anwendet.
+Hier ist etwas, was meine Perspektive komplett verändert hat: Die Webentwicklung bewegt sich unglaublich schnell, und niemand (wirklich niemand!) behält alles im Kopf. Ich habe Senior Entwickler mit 15+ Jahren Erfahrung gesehen, wie sie grundlegende Syntax nachgeschlagen haben, und weißt du was? Das ist nicht peinlich – das ist schlau! Es geht nicht um perfektes Gedächtnis, sondern darum zu wissen, wo du verlässliche Antworten schnell findest und wie du sie anwendest.
-**Hier passiert die eigentliche Magie:**
+**Hier passiert die wahre Magie:**
-Professionelle Entwickler verbringen einen bedeutenden Teil ihrer Zeit mit dem Lesen von Dokumentation – nicht weil sie nicht wissen, was sie tun, sondern weil der Webentwicklungsbereich sich so schnell entwickelt, dass es kontinuierliches Lernen braucht, um auf dem Laufenden zu bleiben. Gute Dokumentation hilft dir zu verstehen, nicht nur *wie* man etwas benutzt, sondern *warum* und *wann*.
+Professionelle Entwickler verbringen viel Zeit mit Dokumentation – nicht weil sie keine Ahnung hätten, sondern weil die Webentwicklung sich so schnell verändert, dass kontinuierliches Lernen nötig ist. Gute Dokumentation hilft dir nicht nur zu verstehen, *wie* man etwas benutzt, sondern auch *warum* und *wann*.
#### Unverzichtbare Dokumentationsressourcen
**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)**
-- Der Goldstandard für Webtechnologie-Dokumentation
-- Umfassende Leitfäden für HTML, CSS und JavaScript
-- Beinhaltet Informationen zur Browser-Kompatibilität
-- Enthält praxisnahe Beispiele und interaktive Demos
+- Goldstandard für Webtechnologie-Dokumentationen
+- Umfassende Anleitungen zu HTML, CSS und JavaScript
+- Enthält Browserkompatibilitätsinformationen
+- Beinhaltet praktische Beispiele und interaktive Demos
**[Web.dev](https://web.dev)** (von Google)
- Moderne Best Practices der Webentwicklung
- Leitfäden zur Performance-Optimierung
-- Prinzipien für Zugänglichkeit und inklusives Design
+- Zugänglichkeits- und inklusive Designprinzipien
- Fallstudien aus echten Projekten
**[Microsoft Developer Documentation](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)**
-- Ressourcen zur Entwicklung für den Edge-Browser
-- Progressive Web-App-Anleitungen
+- Ressourcen für die Entwicklung mit Edge Browser
+- Progressive Web App-Anleitungen
- Einblicke in plattformübergreifende Entwicklung
**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)**
- Strukturierte Lerncurricula
- Videokurse von Branchenexperten
-- Praxisnahe Programmierübungen
+- Praktische Programmierübungen
-> 📚 **Lernstrategie**: Versuche nicht, Dokumentation auswendig zu lernen – lerne vielmehr, wie du sie effizient navigierst. Lege häufig genutzte Referenzen als Lesezeichen an und übe die Suchfunktionen, um gezielt Informationen schnell zu finden.
+> 📚 **Lernstrategie**: Versuche nicht, Dokumentation auswendig zu lernen – sondern lerne, sie effizient zu navigieren. Lege dir Lesezeichen für häufig genutzte Referenzen an und übe, die Suchfunktion zu nutzen, um schnell spezifische Informationen zu finden.
-### 🔧 **Tool-Beherrschungs-Check: Was spricht dich an?**
+### 🔧 **Tool-Mastery-Check: Was spricht dich am meisten an?**
**Nimm dir einen Moment und überlege:**
-- Welches Tool möchtest du als erstes ausprobieren? (Es gibt keine falsche Antwort!)
-- Fühlt sich die Kommandozeile noch einschüchternd an oder bist du neugierig?
-- Kannst du dir vorstellen, mit den Browser-DevTools hinter die Kulissen deiner Lieblingswebsites zu schauen?
+- Welches Tool möchtest du zuerst ausprobieren? (Es gibt kein falsches Ergebnis!)
+- Fühlst du dich von der Kommandozeile noch eingeschüchtert, oder bist du neugierig geworden?
+- Kannst du dir vorstellen, Browser-DevTools zu nutzen, um hinter die Kulissen deiner Lieblingswebsites zu blicken?
```mermaid
-pie title "Mit Werkzeugen verbrachte Entwicklerzeit"
+pie title "Entwicklerzeit mit Werkzeugen"
"Code Editor" : 40
- "Browser Testen" : 25
- "Kommandozeile" : 15
- "Dokumentation Lesen" : 15
+ "Browser Testing" : 25
+ "Command Line" : 15
+ "Dokumentation lesen" : 15
"Debugging" : 5
```
-> **Interessanter Einblick**: Die meisten Entwickler verbringen etwa 40 % ihrer Zeit im Code-Editor, aber schau mal, wie viel Zeit fürs Testen, Lernen und Problemlösen draufgeht. Programmieren ist nicht nur Code schreiben – es geht darum, Erlebnisse zu gestalten!
+> **Interessante Erkenntnis**: Die meisten Entwickler verbringen etwa 40 % ihrer Zeit im Code-Editor, aber achte mal darauf, wie viel Zeit fürs Testen, Lernen und Problemlösen draufgeht. Programmieren ist nicht nur Code schreiben – es geht darum, Erlebnisse zu schaffen!
-✅ **Zum Nachdenken**: Hier ist etwas Interessantes – wie denkst du, unterscheiden sich die Werkzeuge zum Erstellen von Websites (Entwicklung) von denen, die das Aussehen gestalten (Design)? Es ist wie der Unterschied zwischen einem Architekten, der ein schönes Haus entwirft, und dem Bauunternehmer, der es tatsächlich baut. Beides ist wichtig, aber sie brauchen unterschiedliche Werkzeugkästen! Diese Denkweise wird dir wirklich helfen, das große Ganze zu sehen, wie Websites lebendig werden.
+✅ **Denk mal drüber nach**: Hier eine interessante Frage – wie denkst du, unterscheiden sich Tools für die Entwicklung von Webseiten von denen zum Design der Optik? Es ist wie der Unterschied zwischen einem Architekten, der ein schönes Haus plant, und dem Bauunternehmer, der es tatsächlich baut. Beides ist wichtig, aber sie brauchen unterschiedliche Werkzeugkästen! Diese Denkweise hilft dir wirklich, das große Ganze zu sehen, wie Websites entstehen.
-## GitHub Copilot Agent Challenge 🚀
+## GitHub Copilot Agent Herausforderung 🚀
-Nutze den Agentenmodus, um die folgende Herausforderung zu meistern:
+Nutze den Agent-Modus, um folgende Herausforderung zu meistern:
-**Beschreibung:** Erkunde die Funktionen eines modernen Code-Editors oder einer IDE und zeige, wie sie deinen Arbeitsfluss als Webentwickler verbessern können.
+**Beschreibung:** Erkunde die Funktionen eines modernen Code-Editors oder einer IDE und zeige, wie er deinen Workflow als Webentwickler verbessern kann.
-**Anweisung:** Wähle einen Code-Editor oder eine IDE (wie Visual Studio Code, WebStorm oder eine cloudbasierte IDE). Liste drei Funktionen oder Erweiterungen auf, die dir helfen, Code effizienter zu schreiben, zu debuggen oder zu verwalten. Gib für jede eine kurze Erklärung, wie sie deinen Workflow unterstützt.
+**Aufgabe:** Wähle einen Code-Editor oder eine IDE (z. B. Visual Studio Code, WebStorm oder eine Cloud-basierte IDE). Liste drei Features oder Erweiterungen auf, die dir helfen, Code effizienter zu schreiben, zu debuggen oder zu verwalten. Erläutere für jedes kurz, wie es deinen Workflow unterstützt.
---
## 🚀 Herausforderung
-**Bereit für deinen ersten Fall, Detektiv?**
+**Also, Detektiv, bereit für deinen ersten Fall?**
-Jetzt, wo du diese tolle Grundlage hast, wartet ein Abenteuer auf dich, das dir zeigt, wie unglaublich vielfältig und faszinierend die Programmierwelt wirklich ist. Und keine Sorge – es geht noch nicht darum, Code zu schreiben, also kein Stress! Stell dir vor, du bist ein Programmiersprachen-Detektiv bei deinem allerersten spannenden Fall!
+Jetzt, wo du diese tolle Grundlage hast, habe ich ein Abenteuer für dich, das dir zeigt, wie unglaublich vielfältig und faszinierend die Programmierwelt wirklich ist. Und hör zu – es geht hier noch nicht ums Programmieren, also kein Druck! Denk an dich wie an einen Programmier-Sprachdetektiv bei deinem allerersten spannenden Fall!
-**Deine Mission, solltest du sie annehmen:**
-1. **Werde ein Sprachentdecker:** Wähle drei Programmiersprachen aus völlig unterschiedlichen Welten – vielleicht eine zum Erstellen von Websites, eine für mobile Apps und eine für die Datenverarbeitung in der Wissenschaft. Finde Beispiele für dieselbe einfache Aufgabe, geschrieben in jeder Sprache. Ich verspreche dir, du wirst erstaunt sein, wie unterschiedlich sie aussehen können, obwohl sie das Gleiche tun!
+**Deine Mission, falls du sie annimmst:**
+1. **Werde Sprachentdecker**: Wähle drei Programmiersprachen aus völlig unterschiedlichen Welten – vielleicht eine, die Websites baut, eine, die mobile Apps erstellt, und eine, die Daten für Wissenschaftler auswertet. Finde Beispiele für die gleiche einfache Aufgabe, jeweils in jeder Sprache geschrieben. Ich verspreche dir, du wirst absolut erstaunt sein, wie unterschiedlich sie aussehen, obwohl sie genau dasselbe machen!
-2. **Ergründe ihre Ursprungsgeschichten:** Was macht jede Sprache besonders? Ein cooler Fakt – jede einzelne Programmiersprache wurde erstellt, weil jemand dachte: „Weißt du was? Es muss einen besseren Weg geben, dieses spezielle Problem zu lösen.“ Kannst du herausfinden, welche Probleme das waren? Einige dieser Geschichten sind wirklich faszinierend!
+2. **Entdecke ihre Ursprungsgeschichten**: Was macht jede Sprache besonders? Hier ein cooler Fakt – jede Programmiersprache wurde geschaffen, weil jemand dachte: „Weißt du was? Es muss einen besseren Weg geben, genau dieses Problem zu lösen.“ Kannst du herausfinden, welche Probleme das waren? Einige dieser Geschichten sind wirklich faszinierend!
-3. **Lerne die Communities kennen:** Schau dir an, wie einladend und leidenschaftlich die Community jeder Sprache ist. Manche haben Millionen Entwickler, die Wissen teilen und sich gegenseitig helfen, andere sind kleiner, aber unglaublich eng verbunden und unterstützend. Du wirst die verschiedenen Persönlichkeiten dieser Communities lieben!
+3. **Lerne die Communities kennen**: Sieh dir an, wie willkommen heißend und leidenschaftlich die Community jeder Sprache ist. Manche haben Millionen von Entwicklern, die Wissen teilen und einander helfen, andere sind kleiner aber sehr eng verbunden und unterstützend. Du wirst die verschiedenen Persönlichkeiten dieser Communities lieben!
-4. **Folge deinem Bauchgefühl:** Welche Sprache fühlt sich gerade am zugänglichsten für dich an? Mach dir keinen Stress mit der „perfekten“ Wahl – hör einfach auf dein Bauchgefühl! Es gibt wirklich keine falsche Antwort, und du kannst später immer weitere Sprachen erkunden.
+4. **Vertrau deinem Bauchgefühl**: Welche Sprache wirkt gerade am zugänglichsten für dich? Mach dir keinen Stress wegen der „perfekten“ Wahl – hör einfach auf dein Gefühl! Es gibt ehrlich gesagt keine falsche Antwort, und du kannst später immer andere erkunden.
-**Bonus-Detektivarbeit:** Finde heraus, welche großen Websites oder Apps mit jeder Sprache gebaut sind. Ich garantiere dir, du wirst überrascht sein, zu erfahren, was Instagram, Netflix oder dieses mobile Spiel antreibt, das du einfach nicht mehr aus der Hand legen kannst!
+**Bonus-Detektivarbeit**: Finde heraus, welche großen Websites oder Apps mit jeder Sprache gebaut wurden. Ich garantiere dir, du wirst schockiert sein, was Instagram, Netflix oder dein Lieblings-Mobilspiel antreibt!
-> 💡 **Denke daran:** Du versuchst heute nicht, Experte in einer dieser Sprachen zu werden. Du lernst erstmal nur die Nachbarschaft kennen, bevor du dich entscheidest, wo du dich niederlassen willst. Nimm dir Zeit, hab Spaß dabei und lass dich von deiner Neugier leiten!
+> 💡 **Denke daran**: Du musst heute kein Experte in irgendeiner dieser Sprachen werden. Du lernst nur die Nachbarschaft kennen, bevor du entscheidest, wo du dich niederlassen möchtest. Nimm dir Zeit, hab Spaß dabei und lass deine Neugier leiten!
## Lass uns feiern, was du entdeckt hast!
-Wow, du hast heute so viele unglaubliche Informationen aufgenommen! Ich freue mich wirklich darauf zu sehen, wie viel von dieser großartigen Reise bei dir hängen geblieben ist. Und denk daran – das ist kein Test, bei dem du alles perfekt machen musst. Das ist eher eine Feier all der coolen Dinge, die du über diese faszinierende Welt gelernt hast, in die du bald eintauchst!
+Heilige Makrele, du hast heute so viele unglaubliche Informationen aufgenommen! Ich freue mich wirklich darauf zu sehen, wie viel von dieser fantastischen Reise bei dir hängen geblieben ist. Und denk daran – das ist kein Test, bei dem du alles perfekt machen musst. Das ist eher eine Feier von all den coolen Dingen, die du über diese faszinierende Welt gelernt hast, in die du eintauchst!
[Mach das Quiz nach der Lektion](https://ff-quizzes.netlify.app/web/)
-## Überprüfung & Selbststudium
-**Nimm dir Zeit, um zu erkunden und dabei Spaß zu haben!**
+## Rückblick & Selbststudium
-Du hast heute viel geschafft, und darauf kannst du stolz sein! Jetzt kommt der spaßige Teil – die Themen zu erforschen, die deine Neugier geweckt haben. Denk daran, das ist keine Hausaufgabe – es ist ein Abenteuer!
+**Nimm dir Zeit, um zu erkunden und Spaß zu haben!**
+Du hast heute eine Menge geschafft, und darauf kannst du wirklich stolz sein! Jetzt kommt der spaßige Teil – das Erkunden der Themen, die deine Neugier geweckt haben. Denk daran, das ist keine Hausaufgabe – es ist ein Abenteuer!
**Tauche tiefer ein in das, was dich begeistert:**
-**Arbeite praktisch mit Programmiersprachen:**
+**Werde praktisch mit Programmiersprachen:**
- Besuche die offiziellen Webseiten von 2-3 Sprachen, die deine Aufmerksamkeit erregt haben. Jede hat ihre eigene Persönlichkeit und Geschichte!
-- Probiere einige Online-Coding-Playgrounds wie [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/) oder [Replit](https://replit.com/). Hab keine Angst zu experimentieren – du kannst nichts kaputt machen!
-- Lies darüber, wie deine Lieblingssprache entstanden ist. Wirklich, einige dieser Ursprungsgeschichten sind faszinierend und helfen dir zu verstehen, warum Sprachen so funktionieren, wie sie es tun.
+- Probiere einige Online-Coding-Spielplätze wie [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), oder [Replit](https://replit.com/) aus. Hab keine Angst zu experimentieren – du kannst nichts kaputt machen!
+- Lies darüber, wie deine Lieblingssprache entstanden ist. Ehrlich, einige dieser Ursprungsgeschichten sind faszinierend und helfen dir zu verstehen, warum Sprachen so funktionieren, wie sie es tun.
-**Mache dich vertraut mit deinen neuen Werkzeugen:**
-- Lade Visual Studio Code herunter, falls du es noch nicht getan hast – es ist kostenlos und du wirst es lieben!
-- Verbringe ein paar Minuten beim Stöbern im Extensions-Marktplatz. Es ist wie ein App-Store für deinen Code-Editor!
-- Öffne die Entwicklerwerkzeuge deines Browsers und klicke einfach mal herum. Mach dir keine Sorgen, alles zu verstehen – lerne einfach, was dort ist.
+**Werde vertraut mit deinen neuen Werkzeugen:**
+- Lade Visual Studio Code herunter, falls du das noch nicht getan hast – es ist kostenlos und du wirst es lieben!
+- Verbringe ein paar Minuten damit, im Extensions-Marktplatz zu stöbern. Es ist wie ein App-Store für deinen Code-Editor!
+- Öffne die Entwicklertools deines Browsers und klicke dich einfach mal durch. Mach dir keine Sorgen, alles zu verstehen – gewöhne dich einfach an das, was dort ist.
**Tritt der Community bei:**
-- Folge einigen Entwickler-Communities auf [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/) oder [GitHub](https://github.com/). Die Programmier-Community ist für Neulinge unglaublich einladend!
-- Schau dir einige anfängerfreundliche Coding-Videos auf YouTube an. Es gibt so viele großartige Creators, die sich daran erinnern, wie es ist, neu anzufangen.
-- Ziehe in Erwägung, lokalen Meetups oder Online-Communities beizutreten. Vertrau mir, Entwickler helfen gerne Neulingen!
+- Folge einigen Entwickler-Communities auf [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), oder [GitHub](https://github.com/). Die Programmier-Community ist unglaublich offen und freundlich zu Neulingen!
+- Schaue dir anfängerfreundliche Programmier-Videos auf YouTube an. Es gibt so viele großartige Creator, die sich daran erinnern, wie es ist, am Anfang zu stehen.
+- Ziehe in Betracht, lokalen Meetups oder Online-Communities beizutreten. Vertrau mir, Entwickler lieben es, Neulingen zu helfen!
-> 🎯 **Hör zu, das ist, was du dir merken sollst**: Du musst über Nacht kein Programmiergenie werden! Im Moment lernst du einfach diese erstaunliche neue Welt kennen, der du bald angehören wirst. Nimm dir Zeit, genieße die Reise, und denk daran – jeder Entwickler, den du bewunderst, saß einmal genau dort, wo du jetzt sitzt, voller Vorfreude und vielleicht ein wenig überwältigt. Das ist ganz normal und bedeutet, dass du es richtig machst!
+> 🎯 **Merk dir Folgendes**: Von dir wird nicht erwartet, dass du über Nacht zum Programmier-Profi wirst! Im Moment lernst du gerade einfach nur diese erstaunliche neue Welt kennen, deren Teil du bald sein wirst. Nimm dir Zeit, genieße die Reise und denk daran – jeder Entwickler, den du bewunderst, saß einmal genau da, wo du jetzt sitzt, fühlte sich aufgeregt und vielleicht ein bisschen überfordert. Das ist völlig normal und zeigt, dass du auf dem richtigen Weg bist!
@@ -787,70 +785,70 @@ Du hast heute viel geschafft, und darauf kannst du stolz sein! Jetzt kommt der s
[Reading the Docs](assignment.md)
-> 💡 **Ein kleiner Anstoß für deine Aufgabe**: Ich würde mich sehr freuen, wenn du einige Tools entdeckst, die wir noch nicht behandelt haben! Überspringe die Editoren, Browser und Kommandozeilen-Tools, über die wir schon gesprochen haben – da draußen gibt es ein ganzes unglaubliches Universum an großartigen Entwicklungstools, die nur darauf warten, entdeckt zu werden. Suche nach solchen, die aktiv gepflegt werden und lebendige, hilfsbereite Communities haben (diese haben meist die besten Tutorials und die unterstützendsten Menschen, wenn du mal festhängst und eine freundliche Hand brauchst).
+> 💡 **Ein kleiner Anstoß für deine Aufgabe**: Ich würde es sehr lieben, wenn du einige Tools entdeckst, die wir noch nicht behandelt haben! Überspring die Editoren, Browser und Kommandozeilen-Tools, über die wir schon gesprochen haben – da draußen gibt es eine ganze unglaubliche Welt erstaunlicher Entwicklungstools, die nur darauf warten, entdeckt zu werden. Suche nach solchen, die aktiv gepflegt werden und lebendige, hilfsbereite Communities haben (diese bieten meist die besten Tutorials und die unterstützendsten Menschen, wenn du irgendwann mal feststeckst und eine helfende Hand brauchst).
---
-## 🚀 Deine Programmierreise-Zeitleiste
+## 🚀 Dein Programmier-Reiseplan
### ⚡ **Was du in den nächsten 5 Minuten tun kannst**
-- [ ] Lesezeichen für 2-3 Webseiten von Programmiersprachen setzen, die dich angesprochen haben
+- [ ] Lesezeichen für 2-3 Webseiten von Programmiersprachen setzen, die dein Interesse geweckt haben
- [ ] Visual Studio Code herunterladen, falls noch nicht geschehen
-- [ ] Die DevTools deines Browsers (F12) öffnen und auf irgendeiner Webseite herumklicken
-- [ ] Einer Programmier-Community beitreten (Dev.to, Reddit r/webdev oder Stack Overflow)
+- [ ] Die DevTools (F12) deines Browsers öffnen und auf irgendeiner Webseite herumklicken
+- [ ] Einer Programmierer-Community beitreten (Dev.to, Reddit r/webdev oder Stack Overflow)
### ⏰ **Was du in dieser Stunde schaffen kannst**
-- [ ] Das Quiz nach der Lektion abschließen und deine Antworten reflektieren
+- [ ] Das Quiz nach der Lektion absolvieren und deine Antworten reflektieren
- [ ] VS Code mit der GitHub Copilot-Erweiterung einrichten
-- [ ] Ein "Hello World"-Beispiel online in 2 verschiedenen Programmiersprachen ausprobieren
-- [ ] Ein "Day in the Life of a Developer"-Video auf YouTube anschauen
-- [ ] Mit deiner Programmier-Sprachdetektivarbeit beginnen (aus der Challenge)
+- [ ] Ein "Hello World"-Beispiel in 2 unterschiedlichen Programmiersprachen online ausprobieren
+- [ ] Ein "Day in the Life of a Developer"-Video auf YouTube ansehen
+- [ ] Mit deiner Programmiersprachen-Detektivarbeit beginnen (aus der Challenge)
### 📅 **Dein einwöchiges Abenteuer**
- [ ] Die Aufgabe abschließen und 3 neue Entwicklungstools erkunden
- [ ] 5 Entwickler oder Programmier-Accounts in sozialen Medien folgen
-- [ ] Versuche, etwas Kleines in CodePen oder Replit zu bauen (auch nur "Hallo, [Dein Name]!")
-- [ ] Einen Entwicklerblogpost über jemandes Programmierreise lesen
+- [ ] Versuche, etwas Kleines in CodePen oder Replit zu bauen (selbst „Hello, [Dein Name]!“ zählt)
+- [ ] Einen Entwickler-Blogbeitrag über die Programmierreise von jemandem lesen
- [ ] An einem virtuellen Meetup teilnehmen oder einen Programmier-Vortrag anschauen
-- [ ] Mit deinem gewählten Sprachlernprogramm online starten
+- [ ] Beginne, deine gewählte Sprache mit Online-Tutorials zu lernen
### 🗓️ **Deine einmonatige Transformation**
-- [ ] Dein erstes kleines Projekt bauen (auch eine einfache Webseite zählt!)
-- [ ] Zu einem Open-Source-Projekt beitragen (fang mit Dokumentationskorrekturen an)
-- [ ] Jemanden mentorieren, der gerade erst mit dem Programmieren beginnt
-- [ ] Deine Entwickler-Portfolio-Webseite erstellen
-- [ ] Dich mit lokalen Entwickler-Communities oder Lerngruppen verbinden
-- [ ] Deinen nächsten Lern-Meilenstein planen
+- [ ] Baue dein erstes kleines Projekt (selbst eine einfache Webseite zählt!)
+- [ ] Trage zu einem Open-Source-Projekt bei (fang mit Dokumentationskorrekturen an)
+- [ ] Mentoriere jemanden, der gerade erst mit dem Programmieren anfängt
+- [ ] Erstelle deine Entwickler-Portfolio-Webseite
+- [ ] Vernetze dich mit lokalen Entwickler-Communities oder Lerngruppen
+- [ ] Fang an, deinen nächsten Lern-Meilenstein zu planen
### 🎯 **Abschließende Reflexion**
**Bevor du weitermachst, nimm dir einen Moment zum Feiern:**
-- Was hat dich heute am Programmieren besonders begeistert?
-- Welches Tool oder Konzept möchtest du als Erstes erforschen?
-- Wie fühlst du dich beim Start dieser Programmierreise?
-- Welche Frage würdest du einem Entwickler gerade gerne stellen?
+- Was hat dich heute beim Programmieren besonders begeistert?
+- Welches Tool oder Konzept möchtest du zuerst erkunden?
+- Wie fühlst du dich bei dem Start deiner Programmierreise?
+- Welche Frage würdest du einem Entwickler gerade jetzt gern stellen?
```mermaid
journey
title Deine Reise zum Aufbau von Selbstvertrauen
section Heute
- Neugierig: 3: Du
- Überwältigt: 4: Du
- Aufgeregt: 5: Du
+ Neugierig: 3: You
+ Überwältigt: 4: You
+ Aufgeregt: 5: You
section Diese Woche
- Erkunden: 4: Du
- Lernen: 5: Du
- Verbinden: 4: Du
+ Erkunden: 4: You
+ Lernen: 5: You
+ Vernetzen: 4: You
section Nächster Monat
- Aufbauen: 5: Du
- Selbstbewusst: 5: Du
- Anderen Helfen: 5: Du
+ Aufbau: 5: You
+ Selbstbewusst: 5: You
+ Anderen Helfen: 5: You
```
-> 🌟 **Denk daran**: Jeder Experte war einmal Anfänger. Jeder erfahrene Entwickler hat sich genau so gefühlt wie du jetzt – begeistert, vielleicht ein wenig überwältigt und auf jeden Fall neugierig, was möglich ist. Du bist in großartiger Gesellschaft, und diese Reise wird unglaublich sein. Willkommen in der wundervollen Welt des Programmierens! 🎉
+> 🌟 **Denk daran**: Jeder Experte war einmal Anfänger. Jeder Senior-Entwickler hat sich genau so gefühlt wie du jetzt – aufgeregt, vielleicht etwas überfordert und definitiv neugierig, was alles möglich ist. Du bist in großartiger Gesellschaft, und diese Reise wird unglaublich sein. Willkommen in der wundervollen Welt des Programmierens! 🎉
---
**Haftungsausschluss**:
-Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, kann nicht ausgeschlossen werden, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten. Das Originaldokument in der jeweiligen Originalsprache gilt als maßgebliche Quelle. Für wichtige Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die durch die Nutzung dieser Übersetzung entstehen.
+Dieses Dokument wurde mithilfe des KI-Übersetzungsdienstes [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, bitten wir zu beachten, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache ist als maßgebliche Quelle zu betrachten. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die durch die Verwendung dieser Übersetzung entstehen.
\ No newline at end of file
diff --git a/translations/de/AGENTS.md b/translations/de/AGENTS.md
index de9b07739..0499a5845 100644
--- a/translations/de/AGENTS.md
+++ b/translations/de/AGENTS.md
@@ -2,42 +2,42 @@
## Projektübersicht
-Dies ist ein Bildungs-Curriculum-Repository zum Lehren der Grundlagen der Webentwicklung für Anfänger. Das Curriculum ist ein umfassender 12-Wochen-Kurs, entwickelt von Microsoft Cloud Advocates, mit 24 praxisorientierten Lektionen, die JavaScript, CSS und HTML abdecken.
+Dies ist ein Bildungs-Curriculum-Repository zum Erlernen der Grundlagen der Webentwicklung für Einsteiger. Das Curriculum ist ein umfassender 12-Wochen-Kurs, der von Microsoft Cloud Advocates entwickelt wurde und 24 praxisorientierte Lektionen zu JavaScript, CSS und HTML umfasst.
### Hauptkomponenten
- **Bildungsinhalte**: 24 strukturierte Lektionen, organisiert in projektbasierten Modulen
-- **Praktische Projekte**: Terrarium, Tipp-Spiel, Browser-Erweiterung, Weltraumspiel, Banking-App, Code-Editor und KI-Chat-Assistent
-- **Interaktive Quizze**: 48 Quizze mit jeweils 3 Fragen (Vor- und Nach-Lektionsbewertungen)
-- **Mehrsprachige Unterstützung**: Automatisierte Übersetzungen für 50+ Sprachen über GitHub Actions
+- **Praktische Projekte**: Terrarium, Tipp-Spiel, Browser-Erweiterung, Weltraumspiel, Bank-App, Code-Editor und KI-Chat-Assistent
+- **Interaktive Quizze**: 48 Quizze mit jeweils 3 Fragen (Vor-/Nach-Lektion-Bewertungen)
+- **Mehrsprachige Unterstützung**: Automatisierte Übersetzungen für über 50 Sprachen via GitHub Actions
- **Technologien**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (für KI-Projekte)
### Architektur
-- Bildungsrepository mit lektionbasierter Struktur
-- Jeder Lektionen-Ordner enthält README, Codebeispiele und Lösungen
+- Bildungs-Repository mit lektionenbasierter Struktur
+- Jeder Lektionen-Ordner enthält README, Code-Beispiele und Lösungen
- Eigenständige Projekte in separaten Verzeichnissen (quiz-app, verschiedene Lektionenprojekte)
- Übersetzungssystem mit GitHub Actions (co-op-translator)
-- Dokumentation bereitgestellt via Docsify und als PDF verfügbar
+- Dokumentation bereitgestellt über Docsify und als PDF verfügbar
## Setup-Befehle
-Dieses Repository dient primär dem Konsumieren von Bildungsinhalten. Für das Arbeiten mit spezifischen Projekten:
+Dieses Repository dient hauptsächlich dem Konsum von Bildungsinhalten. Für die Arbeit mit bestimmten Projekten:
-### Haupt-Repository Setup
+### Haupt-Repository-Setup
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
-### Quiz App Setup (Vue 3 + Vite)
+### Quiz-App Setup (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # Entwicklungsserver starten
-npm run build # Für die Produktion bauen
+npm run build # Für Produktion erstellen
npm run lint # ESLint ausführen
```
@@ -51,7 +51,7 @@ npm run lint # ESLint ausführen
npm run format # Mit Prettier formatieren
```
-### Browser-Erweiterungsprojekte
+### Browser-Erweiterungs-Projekte
```bash
cd 5-browser-extension/solution
@@ -59,12 +59,12 @@ npm install
# Befolgen Sie die browserspezifischen Anweisungen zum Laden der Erweiterung
```
-### Space Game Projekte
+### Weltraumspiel-Projekte
```bash
cd 6-space-game/solution
npm install
-# Öffnen Sie index.html im Browser oder verwenden Sie Live Server
+# Öffne index.html im Browser oder verwende Live Server
```
### Chat-Projekt (Python Backend)
@@ -78,148 +78,148 @@ python api.py
## Entwicklungs-Workflow
-### Für Inhaltsbeitragende
+### Für Inhaltsbeiträge
-1. **Repository forken** in dein GitHub-Konto
-2. **Fork lokal klonen**
-3. **Neuen Branch** für Änderungen erstellen
-4. Änderungen an Lektionstexten oder Codebeispielen vornehmen
-5. Codeänderungen in relevanten Projektordnern testen
-6. Pull Requests gemäß den Beitragsrichtlinien einreichen
+1. **Forken Sie das Repository** in Ihr GitHub-Konto
+2. **Klonen Sie Ihren Fork** lokal
+3. **Erstellen Sie einen neuen Branch** für Ihre Änderungen
+4. Nehmen Sie Änderungen am Lektionstext oder Codebeispielen vor
+5. Testen Sie Codeänderungen in relevanten Projektverzeichnissen
+6. Reichen Sie Pull-Requests gemäß den Beitragsrichtlinien ein
### Für Lernende
1. Repository forken oder klonen
-2. Lektionen-Ordner nacheinander durchgehen
-3. README-Dateien jeder Lektion lesen
-4. Pre-Lesson Quizze auf https://ff-quizzes.netlify.app/web/ absolvieren
-5. Codebeispiele in Lektionen bearbeiten
-6. Aufgaben und Herausforderungen abschließen
-7. Post-Lektion Quizze durchführen
+2. Navigieren Sie sequentiell durch die Lektionen-Ordner
+3. Lesen Sie die README-Dateien für jede Lektion
+4. Machen Sie Vor-Lektionen-Quizze unter https://ff-quizzes.netlify.app/web/
+5. Arbeiten Sie die Codebeispiele in den Lektionen-Ordnern durch
+6. Erledigen Sie Aufgaben und Herausforderungen
+7. Nehmen Sie an Nach-Lektionen-Quizzen teil
### Live-Entwicklung
-- **Dokumentation**: `docsify serve` im Root-Verzeichnis ausführen (Port 3000)
-- **Quiz-App**: `npm run dev` im quiz-app-Verzeichnis ausführen
-- **Projekte**: VS Code Live Server Extension für HTML-Projekte nutzen
-- **API-Projekte**: `npm start` in jeweiligen API-Ordnern ausführen
+- **Dokumentation**: Führen Sie `docsify serve` im Root-Verzeichnis aus (Port 3000)
+- **Quiz-App**: Führen Sie `npm run dev` im quiz-app-Verzeichnis aus
+- **Projekte**: Verwenden Sie die VS Code Live Server-Erweiterung für HTML-Projekte
+- **API-Projekte**: Führen Sie `npm start` in den jeweiligen API-Verzeichnissen aus
## Testanweisungen
-### Quiz App Testen
+### Quiz-App Testen
```bash
cd quiz-app
npm run lint # Überprüfen Sie auf Stilprobleme im Code
-npm run build # Überprüfen Sie, ob der Build erfolgreich ist
+npm run build # Stellen Sie sicher, dass der Build erfolgreich ist
```
-### Bank API Testen
+### Bank-API Testen
```bash
cd 7-bank-project/api
npm run lint # Überprüfe auf Code-Stilprobleme
-node server.js # Überprüfen, ob der Server ohne Fehler startet
+node server.js # Verifiziere, dass der Server ohne Fehler startet
```
### Allgemeiner Testansatz
-- Dies ist ein Bildungsrepository ohne umfassende automatisierte Tests
-- Manueller Test fokussiert auf:
- - Codebeispiele laufen fehlerfrei
- - Links in Dokumentation funktionieren korrekt
- - Projekt-Builds laufen erfolgreich durch
- - Beispiele folgen Best-Practices
+- Dies ist ein Bildungs-Repository ohne umfassende automatisierte Tests
+- Manuelles Testen konzentriert sich auf:
+ - Fehlerfreies Ausführen der Codebeispiele
+ - Funktionierende Links in der Dokumentation
+ - Erfolgreiche Projekt-Builds
+ - Einhaltung von Best Practices in den Beispielen
-### Vor-Einreichungs-Checks
+### Prüfungen vor dem Einreichen
-- `npm run lint` in Verzeichnissen mit package.json ausführen
-- Markdown-Links auf Gültigkeit prüfen
-- Codebeispiele im Browser oder Node.js testen
-- Übersetzungen auf korrekte Struktur prüfen
+- Führen Sie `npm run lint` in Verzeichnissen mit package.json aus
+- Überprüfen Sie die Gültigkeit der Markdown-Links
+- Testen Sie Codebeispiele im Browser oder Node.js
+- Stellen Sie sicher, dass Übersetzungen die Struktur beibehalten
-## Code-Stil-Richtlinien
+## Code-Stilrichtlinien
### JavaScript
-- Moderne ES6+ Syntax verwenden
-- Standard ESLint-Konfigurationen in Projekten einhalten
-- Sinnvolle Variablen- und Funktionsnamen für Bildungszwecke nutzen
-- Kommentare zur Erklärung von Konzepten hinzufügen
-- Formatierung mit Prettier, wo konfiguriert
+- Verwenden Sie moderne ES6+-Syntax
+- Folgen Sie den standardmäßigen ESLint-Konfigurationen in den Projekten
+- Verwenden Sie aussagekräftige Variablen- und Funktionsnamen zur besseren Verständlichkeit
+- Fügen Sie Kommentare zur Erklärung von Konzepten für Lernende hinzu
+- Formatieren Sie mit Prettier, wo konfiguriert
### HTML/CSS
-- Semantische HTML5-Elemente verwenden
-- Responsive Design-Prinzipien beachten
+- Semantische HTML5-Elemente
+- Prinzipien des responsiven Designs
- Klare Klassennamen-Konventionen
- Kommentare zur Erklärung von CSS-Techniken für Lernende
### Python
-- PEP 8 Stilrichtlinien einhalten
-- Klare, erklärende Codebeispiele
-- Type-Hints wo sinnvoll für Lernzwecke
+- PEP 8 Stilrichtlinien
+- Klare, didaktische Codebeispiele
+- Typ-Hinweise, wo hilfreich für das Lernen
### Markdown-Dokumentation
-- Klare Überschriftenhierarchie
+- Klare Gliederungshierarchie
- Codeblöcke mit Sprachangabe
-- Links zu weiterführenden Ressourcen
-- Screenshots und Bilder in `images/` Verzeichnissen
-- Alt-Text für Bilder zur Barrierefreiheit
+- Verlinkung zu weiteren Ressourcen
+- Screenshots und Bilder in `images/`-Verzeichnissen
+- Alternativtexte für Bilder zur Barrierefreiheit
### Dateiorganisation
-- Lektionen sequenziell nummeriert (1-getting-started-lessons, 2-js-basics, etc.)
+- Lektionen fortlaufend nummeriert (1-getting-started-lessons, 2-js-basics usw.)
- Jedes Projekt hat `solution/` und oft `start/` oder `your-work/` Verzeichnisse
-- Bilder in lektionenspezifischen `images/` Ordnern gespeichert
-- Übersetzungen in `translations/{language-code}/` Struktur
+- Bilder in lektionenspezifischen `images/`-Ordnern gespeichert
+- Übersetzungen in `translations/{language-code}/` Unterordnern
## Build und Deployment
-### Quiz App Deployment (Azure Static Web Apps)
+### Quiz-App Deployment (Azure Static Web Apps)
-Die quiz-app ist für das Deployment auf Azure Static Web Apps konfiguriert:
+Die quiz-app ist für Azure Static Web Apps Deployment konfiguriert:
```bash
cd quiz-app
npm run build # Erstellt den Ordner dist/
-# Führt Deployment über GitHub Actions Workflow bei Push auf main durch
+# Führt die Bereitstellung über den GitHub Actions-Workflow bei Push auf main durch
```
Azure Static Web Apps Konfiguration:
- **App-Standort**: `/quiz-app`
-- **Ausgabestandort**: `dist`
+- **Output-Standort**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
-### Dokumentation PDF-Erstellung
+### PDF-Erstellung der Dokumentation
```bash
npm install # Installiere docsify-to-pdf
-npm run convert # Generiere PDF aus Docs
+npm run convert # Erzeuge PDF aus docs
```
### Docsify Dokumentation
```bash
npm install -g docsify-cli # Docsify global installieren
-docsify serve # Lokalhost:3000 bedienen
+docsify serve # Auf localhost:3000 bereitstellen
```
-### Projektspezifische Builds
+### Projekt-spezifische Builds
-Jedes Projektverzeichnis kann einen eigenen Build-Prozess haben:
+Jedes Projektverzeichnis kann seinen eigenen Build-Prozess haben:
- Vue-Projekte: `npm run build` erzeugt Produktions-Bundles
- Statische Projekte: Kein Build-Schritt, Dateien werden direkt bereitgestellt
## Pull-Request-Richtlinien
-### Titelformat
+### Titel-Format
-Klare, beschreibende Titel verwenden, die den Änderungsbereich angeben:
+Verwenden Sie klare, beschreibende Titel, die den Änderungsbereich angeben:
- `[Quiz-app] Neues Quiz für Lektion X hinzufügen`
-- `[Lesson-3] Tippfehler im Terrarium-Projekt beheben`
+- `[Lesson-3] Tippfehler im Terrarium-Projekt korrigieren`
- `[Translation] Spanische Übersetzung für Lektion 5 hinzufügen`
- `[Docs] Setup-Anweisungen aktualisieren`
@@ -228,55 +228,55 @@ Klare, beschreibende Titel verwenden, die den Änderungsbereich angeben:
Vor dem Einreichen eines PR:
1. **Codequalität**:
- - `npm run lint` in betroffenen Projektordnern ausführen
- - Alle Linting-Fehler und -Warnungen beheben
+ - Führen Sie `npm run lint` in den betroffenen Projektverzeichnissen aus
+ - Beheben Sie alle Linting-Fehler und Warnungen
2. **Build-Verifikation**:
- - `npm run build` ausführen, falls zutreffend
- - Keine Build-Fehler zulassen
+ - Führen Sie ggf. `npm run build` aus
+ - Stellen Sie sicher, dass keine Build-Fehler auftreten
3. **Linkprüfung**:
- - Alle Markdown-Links testen
- - Funktionalität der Bildreferenzen prüfen
+ - Testen Sie alle Markdown-Links
+ - Überprüfen Sie Bildreferenzen
4. **Inhaltsprüfung**:
- - Rechtschreibung und Grammatik prüfen
- - Codebeispiele auf Korrektheit und pädagogischen Wert kontrollieren
- - Übersetzungen auf Bedeutungstreue überprüfen
+ - Korrekturlesen auf Rechtschreibung und Grammatik
+ - Sicherstellen, dass Codebeispiele korrekt und didaktisch sind
+ - Überprüfen, dass Übersetzungen die Originalbedeutung wahren
### Beitragsanforderungen
-- Microsoft CLA zustimmen (automatische Prüfung im ersten PR)
-- Microsoft Open Source Code of Conduct einhalten: https://opensource.microsoft.com/codeofconduct/
-- Details in [CONTRIBUTING.md](./CONTRIBUTING.md) nachlesen
-- Issue-Nummern wenn möglich im PR-Beschreibung referenzieren
+- Zustimmung zur Microsoft CLA (automatische Prüfung beim ersten PR)
+- Befolgung des [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
+- Siehe [CONTRIBUTING.md](./CONTRIBUTING.md) für detaillierte Richtlinien
+- Referenzierung von Issue-Nummern in der PR-Beschreibung, falls zutreffend
-### Review-Prozess
+### Überprüfungsprozess
-- PRs werden von Maintainers und Community überprüft
-- Pädagogische Klarheit hat Priorität
-- Codebeispiele sollten aktuellen Best Practices folgen
-- Übersetzungen auf Genauigkeit und kulturelle Angemessenheit geprüft
+- PRs werden von Maintainers und Community geprüft
+- Didaktische Klarheit hat Priorität
+- Codebeispiele sollten den aktuellen Best Practices folgen
+- Übersetzungen werden auf Genauigkeit und kulturelle Angemessenheit geprüft
## Übersetzungssystem
### Automatisierte Übersetzung
-- Nutzt GitHub Actions mit co-op-translator Workflow
-- Übersetzt automatisch in 50+ Sprachen
-- Quelldateien in Hauptverzeichnissen
-- Übersetzte Dateien in `translations/{language-code}/` Verzeichnissen
+- Verwendet GitHub Actions mit co-op-translator Workflow
+- Übersetzt automatisch in über 50 Sprachen
+- Quelldateien in den Hauptverzeichnissen
+- Übersetzte Dateien in `translations/{language-code}/` Ordnern
-### Manuelle Verbesserungen hinzufügen
+### Manuelle Übersetzungsverbesserungen hinzufügen
1. Datei in `translations/{language-code}/` finden
-2. Verbesserungen vornehmen, Struktur erhalten
+2. Verbesserungen vornehmen und dabei die Struktur bewahren
3. Sicherstellen, dass Codebeispiele weiterhin funktionieren
-4. Lokalisierte Quizinhalte testen
+4. Eventuell lokalisierte Quiz-Inhalte testen
### Übersetzungs-Metadaten
-Übersetzte Dateien enthalten Metadaten-Header:
+Übersetzte Dateien enthalten Metadaten-Kopfzeile:
```markdown
```
-## Debugging und Fehlerbehebung
+## Fehlerbehebung und Problembehandlung
### Häufige Probleme
**Quiz-App startet nicht**:
-- Node.js Version prüfen (v14+ empfohlen)
-- `node_modules` und `package-lock.json` löschen, `npm install` neu ausführen
-- Prüfen auf Port-Konflikte (Standard: Vite nutzt Port 5173)
+- Überprüfen der Node.js-Version (v14+ empfohlen)
+- Löschen von `node_modules` und `package-lock.json`, danach `npm install` ausführen
+- Prüfen auf Port-Konflikte (Standard: Vite verwendet Port 5173)
**API-Server startet nicht**:
-- Node.js Version mindestens 10 prüfen
+- Node.js-Version prüfen (node >=10)
- Prüfen, ob Port bereits belegt ist
-- Alle Abhängigkeiten mit `npm install` installieren
+- Sicherstellen, dass alle Abhängigkeiten mit `npm install` installiert sind
**Browser-Erweiterung lädt nicht**:
-- Manifest.json korrekt formatiert prüfen
+- Manifest.json auf korrekte Formatierung prüfen
- Browser-Konsole auf Fehler überprüfen
-- Browser-spezifische Installationsanweisungen befolgen
+- Browser-spezifische Installationsanweisungen beachten
-**Python Chat-Projekt Probleme**:
+**Probleme mit Python-Chat-Projekt**:
- OpenAI-Paket installiert? `pip install openai`
- Umgebungsvariable GITHUB_TOKEN gesetzt?
-- Zugriffsrechte für GitHub Modelle prüfen
+- Zugriff auf GitHub-Modelle prüfen
-**Docsify liefert keine Docs**:
+**Docsify liefert keine Dokumentation aus**:
- docsify-cli global installieren: `npm install -g docsify-cli`
-- Vom Root-Verzeichnis des Repositorys starten
+- Im Root-Verzeichnis des Repositories ausführen
- Sicherstellen, dass `docs/_sidebar.md` existiert
-### Tipps für Entwicklungsumgebung
+### Tipps zur Entwicklungsumgebung
-- VS Code mit Live Server Erweiterung für HTML-Projekte verwenden
-- ESLint und Prettier Extensions für konsistentes Formatieren installieren
-- Browser DevTools zum Debuggen von JavaScript nutzen
-- Für Vue Projekte Vue DevTools Browser-Erweiterung verwenden
+- VS Code mit Live Server-Erweiterung für HTML-Projekte verwenden
+- ESLint- und Prettier-Erweiterungen für konsistente Formatierung installieren
+- Browser-DevTools zum Debuggen von JavaScript nutzen
+- Für Vue-Projekte Vue DevTools Browser-Erweiterung installieren
-### Performance Überlegungen
+### Performance-Überlegungen
- Große Anzahl übersetzter Dateien (50+ Sprachen) führt zu großen Klonen
-- Bei nur Content-Arbeiten shallow clone verwenden: `git clone --depth 1`
-- Übersetzungen bei Suche nach englischem Inhalt ausnehmen
-- Build-Prozesse können im ersten Lauf langsam sein (npm install, Vite Build)
+- Verwenden Sie ein flaches Klon mit `git clone --depth 1`, wenn nur Inhalte bearbeitet werden
+- Übersetzungen bei der Suche ausnehmen, wenn englische Inhalte bearbeitet werden
+- Build-Prozesse können beim ersten Lauf langsam sein (npm install, Vite build)
## Sicherheitsüberlegungen
### Umgebungsvariablen
-- API-Schlüssel dürfen niemals ins Repository gelangen
-- `.env` Dateien verwenden (bereits in `.gitignore`)
-- Benötigte Umgebungsvariablen in Projekt-READMEs dokumentieren
+- API-Schlüssel dürfen nie im Repository gespeichert werden
+- Verwenden Sie `.env` Dateien (bereits in `.gitignore` enthalten)
+- Erforderliche Umgebungsvariablen in den Projekt-READMEs dokumentieren
### Python-Projekte
-- Virtuelle Umgebungen nutzen: `python -m venv venv`
+- Virtuelle Umgebungen verwenden: `python -m venv venv`
- Abhängigkeiten aktuell halten
-- GitHub Token mit minimal notwendigen Rechten nutzen
+- GitHub-Tokens sollten nur minimale erforderliche Berechtigungen haben
-### GitHub Modelle Zugriff
+### Zugriff auf GitHub-Modelle
-- Personal Access Tokens (PAT) für GitHub Modelle erforderlich
+- Persönliche Zugriffstoken (PAT) werden für GitHub-Modelle benötigt
- Tokens als Umgebungsvariablen speichern
-- Tokens oder Zugangsdaten niemals committen
+- Nie Tokens oder Anmeldedaten im Repository commiten
-## Weitere Hinweise
+## Zusätzliche Hinweise
### Zielgruppe
-- Komplettanfänger in Webentwicklung
+- Komplettanfänger in der Webentwicklung
- Studierende und Selbstlernende
- Lehrkräfte, die das Curriculum im Unterricht einsetzen
-- Inhalte sind auf Zugänglichkeit und schrittweises Lernen ausgelegt
+- Inhalte sind auf Zugänglichkeit und schrittweisen Kompetenzaufbau ausgelegt
### Pädagogische Philosophie
-- Projektbasierter Lernansatz
-- Regelmäßige Wissensabfragen (Quizze)
-- Praktische Programmierübungen
-- Beispiele aus der Praxis
+- Projektbasiertes Lernen
+- Häufige Wissensüberprüfungen (Quizze)
+- Praktische Coding-Übungen
+- Praxisnahe Beispiele
- Fokus auf Grundlagen vor Frameworks
-### Repository Wartung
+### Repository-Wartung
- Aktive Community von Lernenden und Beitragenden
-- Regelmäßige Aktualisierungen von Abhängigkeiten und Inhalten
+- Regelmäßige Updates von Abhängigkeiten und Inhalten
- Issues und Diskussionen werden von Maintainers überwacht
- Übersetzungsupdates automatisiert via GitHub Actions
@@ -381,28 +381,28 @@ CO_OP_TRANSLATOR_METADATA:
- [Microsoft Learn Module](https://docs.microsoft.com/learn/)
- [Student Hub Ressourcen](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) empfohlen für Lernende
-- Weitere Kurse: Generative AI, Data Science, ML, IoT Curricula verfügbar
+- Weitere Kurse: Generative KI, Data Science, ML, IoT Curricula verfügbar
### Arbeiten mit spezifischen Projekten
-Detaillierte Anweisungen zu einzelnen Projekten in den README-Dateien:
+Für detaillierte Anweisungen zu einzelnen Projekten siehe README-Dateien in:
- `quiz-app/README.md` - Vue 3 Quiz-Anwendung
-- `7-bank-project/README.md` - Banking-Anwendung mit Authentifizierung
-- `5-browser-extension/README.md` - Browsererweiterungsentwicklung
+- `7-bank-project/README.md` - Bankanwendung mit Authentifizierung
+- `5-browser-extension/README.md` - Entwicklung von Browser-Erweiterungen
- `6-space-game/README.md` - Canvas-basiertes Spiel
-- `9-chat-project/README.md` - KI-Chat-Assistent Projekt
+- `9-chat-project/README.md` - KI-Chat-Assistent-Projekt
### Monorepo-Struktur
-Obwohl kein klassisches Monorepo, enthält dieses Repository mehrere unabhängige Projekte:
+Obwohl kein traditionelles Monorepo, enthält dieses Repository mehrere unabhängige Projekte:
- Jede Lektion ist eigenständig
- Projekte teilen keine Abhängigkeiten
-- Arbeit an einzelnen Projekten ohne Beeinträchtigung anderer
-- Gesamtes Repo klonen für komplettes Curriculum-Erlebnis
+- Arbeiten Sie an einzelnen Projekten, ohne andere zu beeinflussen
+- Klonen Sie das gesamte Repository für die vollständige Curriculum-Erfahrung
---
-**Haftungsausschluss**:
-Dieses Dokument wurde mithilfe des KI-Übersetzungsdienstes [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir auf Genauigkeit achten, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache gilt als maßgebliche Quelle. Für wichtige Informationen wird eine professionelle, menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die durch die Nutzung dieser Übersetzung entstehen.
+**Haftungsausschluss**:
+Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir nach Genauigkeit streben, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache ist als maßgebliche Quelle anzusehen. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Nutzung dieser Übersetzung entstehen.
\ No newline at end of file
diff --git a/translations/de/README.md b/translations/de/README.md
index a6358fac4..046d7a0f7 100644
--- a/translations/de/README.md
+++ b/translations/de/README.md
@@ -10,259 +10,271 @@
[](https://discord.gg/nTYy5BXMWG)
-# Webentwicklung für Anfänger – Ein Lehrplan
+# Webentwicklung für Anfänger - Ein Lehrplan
-Lernen Sie die Grundlagen der Webentwicklung mit unserem 12-wöchigen umfassenden Kurs von Microsoft Cloud Advocates. Jede der 24 Lektionen behandelt JavaScript, CSS und HTML durch praktische Projekte wie Terrarien, Browsererweiterungen und Weltraumspiele. Arbeiten Sie mit Quizzen, Diskussionen und praktischen Aufgaben. Verbessern Sie Ihre Fähigkeiten und optimieren Sie die Wissensspeicherung mit unserer effektiven projektbasierten Pädagogik. Beginnen Sie noch heute Ihre Programmierreise!
+Lerne die Grundlagen der Webentwicklung mit unserem umfassenden 12-wöchigen Kurs von Microsoft Cloud Advocates. Jede der 24 Lektionen vertieft JavaScript, CSS und HTML durch praktische Projekte wie Terrarien, Browser-Erweiterungen und Weltraumspiele. Engagiere dich mit Quizzen, Diskussionen und praktischen Aufgaben. Verbessere deine Fähigkeiten und optimiere dein Wissensspeicher mit unserer effektiven projektbasierten Didaktik. Starte noch heute deine Programmierreise!
-Treten Sie der Azure AI Foundry Discord-Community bei
+Tritt der Azure AI Foundry Discord Community bei
[](https://discord.gg/nTYy5BXMWG)
-Folgen Sie diesen Schritten, um mit diesen Ressourcen zu starten:
-1. **Repository forken**: Klicken Sie auf [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
+Folge diesen Schritten, um die Ressourcen zu nutzen:
+1. **Repository forken**: Klicke [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Repository klonen**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
-3. [**Treten Sie dem Azure AI Foundry Discord bei und treffen Sie Experten und andere Entwickler**](https://discord.com/invite/ByRwuEEgH4)
+3. [**Tritt dem Azure AI Foundry Discord bei und triff Experten und andere Entwickler**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Mehrsprachige Unterstützung
-#### Unterstützt durch GitHub Action (Automatisiert & Immer Aktuell)
+#### Unterstützt über GitHub Action (Automatisiert & immer aktuell)
-[Arabisch](../ar/README.md) | [Bengalisch](../bn/README.md) | [Bulgarisch](../bg/README.md) | [Birmanisch (Myanmar)](../my/README.md) | [Chinesisch (vereinfacht)](../zh-CN/README.md) | [Chinesisch (traditionell, Hongkong)](../zh-HK/README.md) | [Chinesisch (traditionell, Macau)](../zh-MO/README.md) | [Chinesisch (traditionell, Taiwan)](../zh-TW/README.md) | [Kroatisch](../hr/README.md) | [Tschechisch](../cs/README.md) | [Dänisch](../da/README.md) | [Niederländisch](../nl/README.md) | [Estnisch](../et/README.md) | [Finnisch](../fi/README.md) | [Französisch](../fr/README.md) | [Deutsch](./README.md) | [Griechisch](../el/README.md) | [Hebräisch](../he/README.md) | [Hindi](../hi/README.md) | [Ungarisch](../hu/README.md) | [Indonesisch](../id/README.md) | [Italienisch](../it/README.md) | [Japanisch](../ja/README.md) | [Kannada](../kn/README.md) | [Koreanisch](../ko/README.md) | [Litauisch](../lt/README.md) | [Malaiisch](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalesisch](../ne/README.md) | [Nigerianisches Pidgin](../pcm/README.md) | [Norwegisch](../no/README.md) | [Persisch (Farsi)](../fa/README.md) | [Polnisch](../pl/README.md) | [Portugiesisch (Brasilien)](../pt-BR/README.md) | [Portugiesisch (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumänisch](../ro/README.md) | [Russisch](../ru/README.md) | [Serbisch (Kyrillisch)](../sr/README.md) | [Slowakisch](../sk/README.md) | [Slowenisch](../sl/README.md) | [Spanisch](../es/README.md) | [Swahili](../sw/README.md) | [Schwedisch](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thailändisch](../th/README.md) | [Türkisch](../tr/README.md) | [Ukrainisch](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamesisch](../vi/README.md)
+[Arabisch](../ar/README.md) | [Bengalisch](../bn/README.md) | [Bulgarisch](../bg/README.md) | [Birmanisch (Myanmar)](../my/README.md) | [Chinesisch (vereinfacht)](../zh-CN/README.md) | [Chinesisch (traditionell, Hongkong)](../zh-HK/README.md) | [Chinesisch (traditionell, Macau)](../zh-MO/README.md) | [Chinesisch (traditionell, Taiwan)](../zh-TW/README.md) | [Kroatisch](../hr/README.md) | [Tschechisch](../cs/README.md) | [Dänisch](../da/README.md) | [Niederländisch](../nl/README.md) | [Estnisch](../et/README.md) | [Finnisch](../fi/README.md) | [Französisch](../fr/README.md) | [Deutsch](./README.md) | [Griechisch](../el/README.md) | [Hebräisch](../he/README.md) | [Hindi](../hi/README.md) | [Ungarisch](../hu/README.md) | [Indonesisch](../id/README.md) | [Italienisch](../it/README.md) | [Japanisch](../ja/README.md) | [Kannada](../kn/README.md) | [Koreanisch](../ko/README.md) | [Litauisch](../lt/README.md) | [Malaiisch](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepalesisch](../ne/README.md) | [Nigerianisches Pidgin](../pcm/README.md) | [Norwegisch](../no/README.md) | [Persisch (Farsi)](../fa/README.md) | [Polnisch](../pl/README.md) | [Portugiesisch (Brasilien)](../pt-BR/README.md) | [Portugiesisch (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Rumänisch](../ro/README.md) | [Russisch](../ru/README.md) | [Serbisch (Kyrillisch)](../sr/README.md) | [Slowakisch](../sk/README.md) | [Slowenisch](../sl/README.md) | [Spanisch](../es/README.md) | [Suaheli](../sw/README.md) | [Schwedisch](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thailändisch](../th/README.md) | [Türkisch](../tr/README.md) | [Ukrainisch](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamesisch](../vi/README.md)
> **Lieber lokal klonen?**
-
-> Dieses Repository enthält über 50 Sprachübersetzungen, was die Download-Größe erheblich erhöht. Um ohne Übersetzungen zu klonen, nutzen Sie sparse checkout:
+>
+> Dieses Repository enthält über 50 Sprachübersetzungen, was die Download-Größe erheblich erhöht. Um ohne Übersetzungen zu klonen, verwende Sparse Checkout:
+>
+> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
-> So erhalten Sie alles, was Sie benötigen, um den Kurs mit einem viel schnelleren Download abzuschließen.
+>
+> **CMD (Windows):**
+> ```cmd
+> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
+> cd Web-Dev-For-Beginners
+> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
+> ```
+>
+> Damit erhältst du alles, um den Kurs zu absolvieren – und der Download geht viel schneller.
-**Wenn Sie weitere Übersetzungssprachen wünschen, finden Sie die unterstützten Sprachen [hier](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
+**Wenn du weitere Übersetzungen wünschst, findest du die unterstützten Sprachen [hier](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑🎓 _Bist du Student?_
-Besuche die [**Student Hub Seite**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), wo du Ressourcen für Anfänger, Studierendenpakete und sogar Möglichkeiten findest, einen kostenlosen Zertifikatgutschein zu erhalten. Das ist die Seite, die du als Lesezeichen speichern und von Zeit zu Zeit überprüfen solltest, da wir monatlich Inhalt austauschen.
+Besuche die [**Student Hub-Seite**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), wo du Anfängerressourcen, Studentenpakete und sogar Möglichkeiten findest, einen kostenlosen Zertifikatsgutschein zu erhalten. Diese Seite solltest du als Lesezeichen speichern und regelmäßig besuchen, da wir monatlich Inhalte austauschen.
### 📣 Ankündigung – Neue GitHub Copilot Agent Mode Herausforderungen zum Abschließen!
-Neue Herausforderung hinzugefügt, suche in den meisten Kapiteln nach „GitHub Copilot Agent Challenge 🚀“. Das ist eine neue Herausforderung, die du mit GitHub Copilot und dem Agent-Modus abschließen kannst. Wenn du den Agent-Modus noch nicht benutzt hast, er kann nicht nur Text generieren, sondern auch Dateien erstellen und bearbeiten, Befehle ausführen und vieles mehr.
+Neue Herausforderung hinzugefügt, suche nach "GitHub Copilot Agent Challenge 🚀" in den meisten Kapiteln. Das ist eine neue Challenge für dich, die du mit GitHub Copilot und dem Agent Mode abschließen kannst. Falls du den Agent Mode noch nicht benutzt hast: Er erzeugt nicht nur Text, sondern kann auch Dateien erstellen und bearbeiten, Befehle ausführen und mehr.
-### 📣 Ankündigung – _Neues Projekt mit Generativer KI bauen_
+### 📣 Ankündigung – _Neues Projekt mit Generativer KI_
-Neues AI-Assistenten-Projekt hinzugefügt, schau es dir an [Projekt](./9-chat-project/README.md)
+Neues KI-Assistent-Projekt gerade hinzugefügt, schau es dir an [Projekt](./9-chat-project/README.md)
### 📣 Ankündigung – _Neuer Lehrplan_ zu Generativer KI für JavaScript wurde gerade veröffentlicht
-Verpasse nicht unseren neuen Lehrplan zur Generativen KI!
+Verpasse nicht unseren neuen Generative AI Lehrplan!
-Besuche [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), um zu starten!
+Besuche [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), um loszulegen!

- Lektionen, die alles von den Grundlagen bis zu RAG abdecken.
-- Interagiere mit historischen Charakteren mittels GenAI und unserer Begleit-App.
-- Spaßige und fesselnde Erzählweise, du wirst durch die Zeit reisen!
+- Interagiere mit historischen Figuren mit GenAI und unserer Begleit-App.
+- Spaßige und fesselnde Erzählweise, du reist durch die Zeit!

-Jede Lektion beinhaltet eine Aufgabe, einen Wissenscheck und eine Challenge, die dich in Themen wie:
+
+Jede Lektion enthält eine Aufgabe, einen Wissenscheck und eine Challenge, die dich beim Lernen von Themen wie den folgenden leitet:
- Prompting und Prompt-Engineering
-- Text- und Bild-App-Generierung
-- Suchanwendungen
-anleiten.
+- Text- und Bildanwendungs-Generierung
+- Suchanwendungen
+
+Besuche [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), um loszulegen!
+
-Besuche [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), um zu starten!
## 🌱 Erste Schritte
-> **Lehrkräfte**, wir haben [einige Vorschläge](for-teachers.md) aufgenommen, wie Sie diesen Lehrplan verwenden können. Wir freuen uns auf Ihr Feedback [in unserem Diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
+> **Lehrkräfte**, wir haben [einige Vorschläge](for-teachers.md) aufgenommen, wie ihr diesen Lehrplan nutzen könnt. Wir freuen uns über euer Feedback [in unserem Diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
-**[Lernende](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)** starten für jede Lektion mit einem Pre-Lecture-Quiz und folgen mit dem Lesen des Vorlesungsmaterials, dem Abschließen der verschiedenen Aktivitäten und überprüfen ihr Verständnis mit dem Post-Lecture-Quiz.
+**[Lernende](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, beginne jede Lektion mit einem Pre-Lecture-Quiz, lese dann das Vorlesungsmaterial, bearbeite die verschiedenen Aktivitäten und überprüfe dein Verständnis mit dem Post-Lecture-Quiz.
-Um dein Lernerlebnis zu verbessern, verbinde dich mit deinen Mitlernenden, um gemeinsam an den Projekten zu arbeiten! Diskussionen sind erwünscht in unserem [Diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), wo unser Moderatorenteam für deine Fragen zur Verfügung steht.
+Um dein Lernen zu verbessern, vernetze dich mit deinen Mitlernenden, um gemeinsam an Projekten zu arbeiten! Diskussionen sind in unserem [Diskussionsforum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) erwünscht, wo unser Moderatorenteam deine Fragen beantwortet.
-Für deine weitere Bildung empfehlen wir dringend, [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) zu erkunden, um zusätzliches Lernmaterial zu finden.
+Für eine weiterführende Ausbildung empfehlen wir dringend, [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) für zusätzliche Lernmaterialien zu erkunden.
### 📋 Einrichtung deiner Umgebung
-Dieser Lehrplan verfügt über eine sofort einsatzfertige Entwicklungsumgebung! Zu Beginn kannst du wählen, ob du den Lehrplan in einem [Codespace](https://github.com/features/codespaces/) (_einer browserbasierten Umgebung ohne Installation_) oder lokal auf deinem Computer mit einem Texteditor wie [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ausführen möchtest.
+Dieser Lehrplan verfügt über eine sofort einsatzbereite Entwicklungsumgebung! Du kannst zu Beginn wählen, ob du den Lehrplan in einem [Codespace](https://github.com/features/codespaces/) (_eine browserbasierte, installfreie Umgebung_) oder lokal auf deinem Computer mit einem Texteditor wie [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ausführen möchtest.
-#### Erstelle dein Repository
-Damit du deine Arbeit einfach speichern kannst, empfehlen wir dir, eine eigene Kopie dieses Repositories anzulegen. Das kannst du tun, indem du oben auf der Seite den Button **Use this template** anklickst. Dadurch wird ein neues Repository in deinem GitHub-Konto mit einer Kopie des Lehrplans erstellt.
+#### Erstelle dein eigenes Repository
+Damit du deine Arbeit leicht speichern kannst, wird empfohlen, eine eigene Kopie dieses Repositorys zu erstellen. Dazu klicke auf den Button **Use this template** oben auf der Seite. Damit wird ein neues Repository in deinem GitHub-Konto mit einer Kopie des Lehrplans erstellt.
Folge diesen Schritten:
-1. **Repository forken**: Klicke auf den „Fork“-Button oben rechts auf dieser Seite.
+1. **Repository forken**: Klicke auf den „Fork“-Button rechts oben auf dieser Seite.
2. **Repository klonen**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
-#### Betrieb des Lehrplans in einem Codespace
+#### Ausführen des Lehrplans in einem Codespace
-In deiner erstellten Kopie des Repositories klickst du auf den **Code**-Button und wählst **Open with Codespaces** aus. Dadurch wird ein neuer Codespace zum Arbeiten für dich erstellt.
+In deiner eigenen Kopie dieses Repositorys, klicke auf den Button **Code** und wähle **Open with Codespaces**. Dies erstellt einen neuen Codespace, in dem du arbeiten kannst.

-#### Betrieb des Lehrplans lokal auf deinem Computer
-
-Um diesen Lehrplan lokal auf deinem Computer auszuführen, benötigst du einen Texteditor, einen Browser und ein Kommandozeilen-Tool. Unsere erste Lektion, [Einführung in Programmiersprachen und Werkzeuge](../../1-getting-started-lessons/1-intro-to-programming-languages), führt dich durch verschiedene Optionen für diese Tools, damit du das auswählen kannst, was am besten für dich passt.
+#### Ausführen des Lehrplans lokal auf deinem Computer
-Unsere Empfehlung ist es, [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) als Editor zu verwenden, der auch ein integriertes [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) besitzt. Du kannst Visual Studio Code [hier herunterladen](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+Um diesen Lehrplan lokal auf deinem Computer auszuführen, benötigst du einen Texteditor, einen Browser und ein Kommandozeilen-Tool. Unsere erste Lektion, [Einführung in Programmiersprachen und Werkzeuge](../../1-getting-started-lessons/1-intro-to-programming-languages), führt dich durch verschiedene Optionen für diese Werkzeuge, sodass du wählen kannst, was am besten zu dir passt.
-1. Klone dein Repository auf deinen Computer. Das kannst du tun, indem du den **Code**-Button anklickst und die URL kopierst:
+Wir empfehlen die Nutzung von [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) als Editor, der auch ein integriertes [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) bietet. Visual Studio Code kannst du [hier herunterladen](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+1. Klone dein Repository auf deinen Computer. Du kannst dies tun, indem du auf die **Code**-Schaltfläche klickst und die URL kopierst:
[CodeSpace](./images/createcodespace.png)
-Dann öffnen Sie das [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) innerhalb von [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) und führen Sie den folgenden Befehl aus, wobei Sie `` durch die URL ersetzen, die Sie gerade kopiert haben:
+
+ Öffne dann [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) innerhalb von [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) und führe den folgenden Befehl aus, wobei du `` durch die gerade kopierte URL ersetzt:
```bash
git clone
```
-2. Öffnen Sie den Ordner in Visual Studio Code. Dies können Sie tun, indem Sie auf **Datei** > **Ordner öffnen** klicken und den gerade geklonten Ordner auswählen.
+2. Öffne den Ordner in Visual Studio Code. Du kannst dies tun, indem du auf **Datei** > **Ordner öffnen** klickst und den gerade geklonten Ordner auswählst.
-> Empfohlene Visual Studio Code Erweiterungen:
+> Empfohlene Visual Studio Code-Erweiterungen:
>
-> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - um HTML-Seiten innerhalb von Visual Studio Code vorzuschauen
-> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - um Ihnen beim schnelleren Schreiben von Code zu helfen
+> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - um HTML-Seiten direkt in Visual Studio Code vorzuschauen
+> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - um dir beim schnelleren Schreiben von Code zu helfen
## 📂 Jede Lektion beinhaltet:
-- optionale Sketchnote
+- optionales Sketchnote
- optionales ergänzendes Video
-- Aufwärm-Quiz vor der Lektion
+- Aufwärmquiz vor der Lektion
- schriftliche Lektion
-- bei projektbasierten Lektionen Schritt-für-Schritt-Anleitungen zum Aufbau des Projekts
-- Wissenskontrollen
+- für projektbasierte Lektionen Schritt-für-Schritt-Anleitungen zum Erstellen des Projekts
+- Wissensüberprüfungen
- eine Herausforderung
- ergänzende Lektüre
- Aufgabe
- [Quiz nach der Lektion](https://ff-quizzes.netlify.app/web/)
-> **Eine Anmerkung zu den Quizzen**: Alle Quizze befinden sich im Quiz-app-Ordner, insgesamt 48 Quizze mit je drei Fragen. Sie sind [hier](https://ff-quizzes.netlify.app/web/) verfügbar, die Quiz-App kann lokal ausgeführt oder auf Azure bereitgestellt werden; folgen Sie der Anleitung im `quiz-app`-Ordner.
+> **Ein Hinweis zu den Quizzen**: Alle Quizze sind im Ordner Quiz-app enthalten, insgesamt 48 Quizze mit jeweils drei Fragen. Sie sind [hier](https://ff-quizzes.netlify.app/web/) verfügbar. Die Quiz-App kann lokal ausgeführt oder auf Azure bereitgestellt werden; folge den Anweisungen im Ordner `quiz-app`.
## 🗃️ Lektionen
-| | Projektname | Vermittelte Konzepte | Lernziele | Verlinkte Lektion | Autor |
-| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
-| 01 | Einstieg | Einführung in Programmierung und Werkzeuge | Lernen Sie die grundlegenden Grundlagen der meisten Programmiersprachen und über Software, die professionellen Entwicklern hilft | [Einführung in Programmiersprachen und Werkzeuge](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
-| 02 | Einstieg | Grundlagen von GitHub, einschließlich Teamarbeit | Wie man GitHub im Projekt verwendet und mit anderen an einem Code-Repository zusammenarbeitet | [Einführung in GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
-| 03 | Einstieg | Barrierefreiheit | Lernen Sie die Grundlagen der Web-Barrierefreiheit | [Grundlagen Barrierefreiheit](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
-| 04 | JS-Grundlagen | JavaScript Datentypen | Die Grundlagen von JavaScript-Datentypen | [Datentypen](./2-js-basics/1-data-types/README.md) | Jasmine |
-| 05 | JS-Grundlagen | Funktionen und Methoden | Lernen Sie Funktionen und Methoden zur Steuerung des Anwendungslogikflusses | [Funktionen und Methoden](./2-js-basics/2-functions-methods/README.md) | Jasmine und Christopher |
-| 06 | JS-Grundlagen | Entscheidungen mit JS treffen | Lernen Sie, wie Sie Bedingungen in Ihrem Code mit Entscheidungsstrukturen erstellen | [Entscheidungen treffen](./2-js-basics/3-making-decisions/README.md) | Jasmine |
-| 07 | JS-Grundlagen | Arrays und Schleifen | Arbeiten Sie mit Daten unter Verwendung von Arrays und Schleifen in JavaScript | [Arrays und Schleifen](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
-| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML in der Praxis | Erstellen Sie das HTML, um ein Online-Terrarium anzulegen, mit Fokus auf den Aufbau eines Layouts | [Einführung in HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
-| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS in der Praxis | Erstellen Sie das CSS zur Gestaltung des Online-Terrariums, mit Fokus auf die Grundlagen von CSS und responsive Design | [Einführung in CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
-| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM-Manipulation | Erstellen Sie das JavaScript, um das Terrarium als Drag/Drop-Oberfläche zu gestalten, mit Fokus auf Closures und DOM-Manipulation | [JavaScript Closures, DOM-Manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
-| 11 | [Typing Game](./4-typing-game/solution/README.md) | Aufbau eines Tipp-Spiels | Lernen Sie, wie Sie Tastatureignisse verwenden, um die Logik Ihrer JavaScript-App zu steuern | [Ereignisgesteuerte Programmierung](./4-typing-game/typing-game/README.md) | Christopher |
-| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Arbeiten mit Browsern | Lernen Sie, wie Browser funktionieren, ihre Geschichte und wie Sie die ersten Elemente einer Browsererweiterung gestalten | [Über Browser](./5-browser-extension/1-about-browsers/README.md) | Jen |
-| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Erstellen eines Formulars, Aufrufen einer API und Speichern von Variablen im lokalen Speicher | Erstellen Sie die JavaScript-Elemente Ihrer Browser-Erweiterung zum Aufrufen einer API unter Verwendung von Variablen im lokalen Speicher | [APIs, Formulare und lokaler Speicher](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
-| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Hintergrundprozesse im Browser, Web-Performance | Verwenden Sie die Hintergrundprozesse des Browsers, um das Symbol der Erweiterung zu verwalten; lernen Sie über Web-Performance und Optimierungen | [Hintergrundaufgaben und Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
-| 15 | [Space Game](./6-space-game/solution/README.md) | Fortgeschrittene Spieleentwicklung mit JavaScript | Lernen Sie Vererbung mit Klassen und Komposition sowie das Pub/Sub-Muster, als Vorbereitung auf den Spielebau | [Einführung in die fortgeschrittene Spieleentwicklung](./6-space-game/1-introduction/README.md) | Chris |
-| 16 | [Space Game](./6-space-game/solution/README.md) | Zeichnen auf Canvas | Lernen Sie die Canvas-API kennen, die zum Zeichnen von Elementen auf einem Bildschirm verwendet wird | [Zeichnen auf Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
-| 17 | [Space Game](./6-space-game/solution/README.md) | Bewegen von Elementen auf dem Bildschirm | Entdecken Sie, wie Elemente mit kartesischen Koordinaten und der Canvas-API Bewegung erhalten | [Bewegen von Elementen](./6-space-game/3-moving-elements-around/README.md) | Chris |
-| 18 | [Space Game](./6-space-game/solution/README.md) | Kollisionserkennung | Lassen Sie Elemente kollidieren und aufeinander reagieren, basierend auf Tastatureingaben, und fügen Sie eine Cooldown-Funktion hinzu | [Kollisionserkennung](./6-space-game/4-collision-detection/README.md) | Chris |
-| 19 | [Space Game](./6-space-game/solution/README.md) | Punkteverwaltung | Führen Sie mathematische Berechnungen basierend auf dem Status und der Leistung des Spiels durch | [Punkteverwaltung](./6-space-game/5-keeping-score/README.md) | Chris |
-| 20 | [Space Game](./6-space-game/solution/README.md) | Beenden und Neustarten des Spiels | Lernen Sie, wie Sie das Spiel beenden und neu starten, einschließlich der Bereinigung von Assets und Zurücksetzen von Variablen | [Die Endbedingung](./6-space-game/6-end-condition/README.md) | Chris |
-| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-Vorlagen und Routen in einer Webanwendung | Lernen Sie, wie Sie das Gerüst einer mehrseitigen Website-Architektur mit Routing und HTML-Vorlagen erstellen | [HTML-Vorlagen und Routen](./7-bank-project/1-template-route/README.md) | Yohan |
-| 22 | [Banking App](./7-bank-project/solution/README.md) | Login- und Registrierungsformular erstellen | Lernen Sie, wie man Formulare erstellt und Validierungsroutinen handhabt | [Formulare](./7-bank-project/2-forms/README.md) | Yohan |
-| 23 | [Banking App](./7-bank-project/solution/README.md) | Methoden zum Abrufen und Verwalten von Daten | Wie Daten in Ihre App hinein- und herausfließen, wie man sie abruft, speichert und entsorgt | [Daten](./7-bank-project/3-data/README.md) | Yohan |
-| 24 | [Banking App](./7-bank-project/solution/README.md) | Konzepte des State Managements | Lernen Sie, wie Ihre App den Zustand beibehält und diesen programmatisch verwaltet | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
-| 25 | [Browser/VScode-Code](../../8-code-editor) | Arbeiten mit VScode | Lernen Sie, wie man einen Code-Editor benutzt | [Verwendung des VScode Code Editors](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
-| 26 | [AI Assistants](./9-chat-project/README.md) | Arbeiten mit KI | Lernen Sie, wie Sie Ihren eigenen KI-Assistenten erstellen | [KI-Assistent-Projekt](./9-chat-project/README.md) | Chris |
+| | Projektname | Erlernte Konzepte | Lernziele | Verknüpfte Lektion | Autor |
+| :-: | :----------------------------------------------------: | :------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------: | :----------------: |
+| 01 | Erste Schritte | Einführung in Programmierung und Werkzeuge | Erlerne die grundlegenden Konzepte der meisten Programmiersprachen und Software, die professionelle Entwickler verwenden | [Einführung in Programmiersprachen und Werkzeuge](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
+| 02 | Erste Schritte | Grundlagen von GitHub, inklusive Teamarbeit | Wie man GitHub im Projekt nutzt und mit anderen an einer Codebasis zusammenarbeitet | [Einführung in GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
+| 03 | Erste Schritte | Barrierefreiheit | Erlerne die Grundlagen der Web-Barrierefreiheit | [Grundlagen der Barrierefreiheit](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
+| 04 | JS-Grundlagen | JavaScript-Datentypen | Die Grundlagen der JavaScript-Datentypen | [Datentypen](./2-js-basics/1-data-types/README.md) | Jasmine |
+| 05 | JS-Grundlagen | Funktionen und Methoden | Lerne Funktionen und Methoden kennen, um den Ablauf einer Anwendung zu steuern | [Funktionen und Methoden](./2-js-basics/2-functions-methods/README.md) | Jasmine und Christopher |
+| 06 | JS-Grundlagen | Entscheidungen in JS treffen | Lerne, wie man Bedingungen im Code mit Entscheidungsstrukturen erstellt | [Entscheidungen treffen](./2-js-basics/3-making-decisions/README.md) | Jasmine |
+| 07 | JS-Grundlagen | Arrays und Schleifen | Arbeite mit Daten in JavaScript mithilfe von Arrays und Schleifen | [Arrays und Schleifen](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
+| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML in der Praxis | Erstelle das HTML, um ein Online-Terrarium zu bauen, mit Schwerpunkt auf Layout | [Einführung in HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
+| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS in der Praxis | Erstelle das CSS, um das Online-Terrarium zu stylen, mit Fokus auf CSS-Grundlagen und responsives Design | [Einführung in CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
+| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM-Manipulation | Erstelle das JavaScript, damit das Terrarium als Drag/Drop-Oberfläche funktioniert, Fokus auf Closures und DOM-Manipulation | [JavaScript Closures, DOM-Manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
+| 11 | [Tipp-Spiel](./4-typing-game/solution/README.md) | Ein Tipp-Spiel bauen | Lerne, wie Tastaturereignisse zur Steuerung der Logik deiner JavaScript-App verwendet werden | [Ereignisgesteuerte Programmierung](./4-typing-game/typing-game/README.md) | Christopher |
+| 12 | [Grüne Browsererweiterung](./5-browser-extension/solution/README.md) | Arbeiten mit Browsern | Lerne, wie Browser funktionieren, ihre Geschichte und wie man erste Elemente einer Browsererweiterung erstellt | [Über Browser](./5-browser-extension/1-about-browsers/README.md) | Jen |
+| 13 | [Grüne Browsererweiterung](./5-browser-extension/solution/README.md) | Formular erstellen, API aufrufen und Variablen im lokalen Speicher ablegen | Erstelle JavaScript-Elemente deiner Browsererweiterung, um eine API unter Verwendung lokal gespeicherter Variablen zu nutzen | [APIs, Formulare und lokaler Speicher](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
+| 14 | [Grüne Browsererweiterung](./5-browser-extension/solution/README.md) | Hintergrundprozesse im Browser, Web-Performance | Nutze die Hintergrundprozesse des Browsers, um das Symbol der Erweiterung zu verwalten; lerne über Web-Performance und Optimierungen | [Hintergrundaufgaben und Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
+| 15 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Fortgeschrittene Spieleentwicklung mit JavaScript | Lerne Vererbung mittels Klassen und Komposition sowie das Pub/Sub-Muster, als Vorbereitung für den Bau eines Spiels | [Einführung in die fortgeschrittene Spieleentwicklung](./6-space-game/1-introduction/README.md) | Chris |
+| 16 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Zeichnen auf Canvas | Lerne die Canvas-API kennen, um Elemente auf einem Bildschirm zu zeichnen | [Zeichnen auf Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
+| 17 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Elemente auf dem Bildschirm bewegen | Entdecke, wie Elemente Bewegung mit kartesischen Koordinaten und der Canvas-API erhalten | [Elemente bewegen](./6-space-game/3-moving-elements-around/README.md) | Chris |
+| 18 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Kollisions-Erkennung | Lasse Elemente kollidieren und aufeinander reagieren, nutze Tastendrucke und implementiere eine Abklingfunktion zur Leistungssteigerung | [Kollisions-Erkennung](./6-space-game/4-collision-detection/README.md) | Chris |
+| 19 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Punkte zählen | Führe mathematische Berechnungen basierend auf Spielstatus und Leistung durch | [Punkte zählen](./6-space-game/5-keeping-score/README.md) | Chris |
+| 20 | [Weltraum-Spiel](./6-space-game/solution/README.md) | Spiel beenden und neu starten | Lerne, wie man das Spiel beendet und neu startet, inklusive Bereinigung von Ressourcen und Zurücksetzen von Variablen | [Die Endbedingung](./6-space-game/6-end-condition/README.md) | Chris |
+| 21 | [Bankanwendung](./7-bank-project/solution/README.md) | HTML-Templates und Routen in einer Web-App | Lerne, wie man das Gerüst einer mehrseitigen Webseite mithilfe von Routing und HTML-Templates erstellt | [HTML-Templates und Routen](./7-bank-project/1-template-route/README.md) | Yohan |
+| 22 | [Bankanwendung](./7-bank-project/solution/README.md) | Login- und Registrierungsformular erstellen | Lerne, wie man Formulare baut und Validierungsroutinen behandelt | [Formulare](./7-bank-project/2-forms/README.md) | Yohan |
+| 23 | [Bankanwendung](./7-bank-project/solution/README.md) | Methoden zum Abrufen und Nutzen von Daten | Wie Daten in die App gelangen und wieder herausfließen, wie man sie abruft, speichert und entfernt | [Daten](./7-bank-project/3-data/README.md) | Yohan |
+| 24 | [Bankanwendung](./7-bank-project/solution/README.md) | Konzepte des State-Managements | Lerne, wie deine App Zustände behält und wie man diese programmatisch verwaltet | [State-Management](./7-bank-project/4-state-management/README.md) | Yohan |
+| 25 | [Browser/VScode Code](../../8-code-editor) | Arbeiten mit VScode | Lerne, wie du einen Code-Editor benutzt | [Visual Studio Code Editor verwenden](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
+| 26 | [KI-Assistenten](./9-chat-project/README.md) | Arbeiten mit KI | Lerne, wie du deinen eigenen KI-Assistenten baust | [KI-Assistenten-Projekt](./9-chat-project/README.md) | Chris |
## 🏫 Pädagogik
-Unser Lehrplan ist nach zwei wesentlichen pädagogischen Prinzipien gestaltet:
+Unser Curriculum basiert auf zwei zentralen pädagogischen Prinzipien:
* projektbasiertes Lernen
* häufige Quizze
-Das Programm vermittelt die Grundlagen von JavaScript, HTML und CSS sowie die neuesten Werkzeuge und Techniken, die heutige Webentwickler verwenden. Studierende haben die Möglichkeit, praktische Erfahrungen zu sammeln, indem sie ein Tipp-Spiel, ein virtuelles Terrarium, eine umweltfreundliche Browsererweiterung, ein Space-Invaders-artiges Spiel und eine Banking-App für Unternehmen entwickeln. Am Ende der Reihe haben die Studierenden ein solides Verständnis der Webentwicklung erworben.
+Das Programm vermittelt die Grundlagen von JavaScript, HTML und CSS sowie die neuesten Werkzeuge und Techniken, die heutige Webentwickler nutzen. Die Studierenden haben die Gelegenheit, praktische Erfahrungen zu sammeln, indem sie ein Tipp-Spiel, ein virtuelles Terrarium, eine umweltfreundliche Browser-Erweiterung, ein Weltraum-Invader-artiges Spiel und eine Bankanwendung für Unternehmen bauen. Am Ende der Reihe verfügen die Studierenden über ein solides Verständnis der Webentwicklung.
-> 🎓 Sie können die ersten Lektionen dieses Curriculums als [Lernpfad](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) bei Microsoft Learn absolvieren!
+> 🎓 Die ersten Lektionen dieses Curriculums kannst du auch als [Learning Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) auf Microsoft Learn absolvieren!
-Indem sichergestellt wird, dass die Inhalte mit Projekten übereinstimmen, wird der Prozess für die Studierenden ansprechender gestaltet und die Beibehaltung der Konzepte verbessert. Wir haben außerdem mehrere Einsteigerlektionen zu den Grundlagen von JavaScript geschrieben, um Konzepte einzuführen, begleitet von einem Video aus der Tutorialsammlung „[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)“, deren Autoren teilweise zum Curriculum beigetragen haben.
+Indem sichergestellt wird, dass die Inhalte auf Projekte abgestimmt sind, wird der Prozess für die Lernenden spannender und die Behaltensrate der Konzepte verbessert. Wir haben auch mehrere Einstiegskapitel zu den Grundlagen von JavaScript geschrieben und mit Videos aus der Tutorial-Reihe "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" kombiniert – einige der Autoren haben zu diesem Curriculum beigetragen.
-Zudem setzt ein niedrigschwelliges Quiz vor einer Unterrichtsstunde die Lernintention der Studierenden, während ein zweites Quiz nach dem Unterricht die weitere Beibehaltung sichert. Dieses Curriculum wurde so gestaltet, dass es flexibel und unterhaltsam ist und ganz oder teilweise absolviert werden kann. Die Projekte starten klein und werden bis zum Ende des 12-Wochen-Zyklus zunehmend komplexer.
+Darüber hinaus setzt ein niedrigschwelliges Quiz vor der Lektion die Lernabsicht der Studierenden, während ein weiteres Quiz danach die Behaltensrate sicherstellt. Das Curriculum wurde so konzipiert, dass es flexibel und unterhaltsam ist und sowohl vollständig als auch teilweise absolviert werden kann. Die Projekte starten klein und werden im Verlauf des 12-Wochen-Zyklus zunehmend komplexer.
-Während wir bewusst darauf verzichtet haben, JavaScript-Frameworks einzuführen, um uns auf die grundlegenden Fähigkeiten für Webentwickler zu konzentrieren, bevor ein Framework eingesetzt wird, wäre ein guter nächster Schritt zum Abschluss dieses Curriculums, Node.js über eine weitere Videosammlung zu lernen: „[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)“.
+Während wir bewusst darauf verzichtet haben, JavaScript-Frameworks einzuführen, um uns auf die grundlegenden Fähigkeiten eines Webentwicklers vor der Anwendung eines Frameworks zu konzentrieren, wäre ein guter nächster Schritt nach Abschluss dieses Curriculums das Erlernen von Node.js anhand einer weiteren Videoserie: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
-> Besuchen Sie unsere [Verhaltensregeln](CODE_OF_CONDUCT.md) und [Beitragsrichtlinien](CONTRIBUTING.md). Wir freuen uns über Ihr konstruktives Feedback!
+> Besuche unsere [Verhaltensregeln](CODE_OF_CONDUCT.md) und [Beitragsrichtlinien](CONTRIBUTING.md). Wir freuen uns über dein konstruktives Feedback!
## 🧭 Offline-Zugriff
-Sie können diese Dokumentation offline mit [Docsify](https://docsify.js.org/#/) ausführen. Forken Sie dieses Repository, [installieren Sie Docsify](https://docsify.js.org/#/quickstart) auf Ihrem lokalen Rechner und geben Sie dann im Stammordner dieses Repositories `docsify serve` ein. Die Website wird auf Port 3000 auf Ihrem lokalen Host bereitgestellt: `localhost:3000`.
+Du kannst diese Dokumentation offline mit [Docsify](https://docsify.js.org/#/) verwenden. Forke dieses Repo, [installiere Docsify](https://docsify.js.org/#/quickstart) auf deinem lokalen Rechner und gib dann im Stammordner dieses Repos `docsify serve` ein. Die Website wird auf Port 3000 auf deinem localhost ausgeführt: `localhost:3000`.
## 📘 PDF
+Eine PDF mit allen Lektionen ist [hier](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf) zu finden.
-Ein PDF aller Lektionen finden Sie [hier](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
+## 🎒 Andere Kurse
-## 🎒 Weitere Kurse
Unser Team produziert weitere Kurse! Schau dir an:
### LangChain
-[](https://aka.ms/langchain4j-for-beginners)
-[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
-[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
+[](https://aka.ms/langchain4j-for-beginners)
+[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
+[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
-### Azure / Edge / MCP / Agents
-[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
+### Azure / Edge / MCP / Agenten
+[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
-### Generative AI Series
-[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
-[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
-[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
-[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
+### Generative KI-Serie
+[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
+[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
+[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
+[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
-### Core Learning
-[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
-[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
+### Kernlernen
+[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
+[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
-### Copilot Series
-[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
+### Copilot-Serie
+[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
## Hilfe erhalten
-Wenn du feststeckst oder Fragen zum Erstellen von KI-Anwendungen hast. Schließe dich anderen Lernenden und erfahrenen Entwicklern an, um über MCP zu diskutieren. Es ist eine unterstützende Community, in der Fragen willkommen sind und Wissen frei geteilt wird.
+Wenn du festhängst oder Fragen zum Erstellen von KI-Anwendungen hast: Trete anderen Lernenden und erfahrenen Entwicklern in den Diskussionen über MCP bei. Es ist eine unterstützende Community, in der Fragen willkommen sind und Wissen frei geteilt wird.
[](https://discord.gg/nTYy5BXMWG)
-Wenn du Feedback zum Produkt hast oder Fehler beim Erstellen auftreten, besuche:
+Wenn du Produktfeedback hast oder beim Bauen auf Fehler stößt, besuche:
[](https://aka.ms/foundry/forum)
## Lizenz
-Dieses Repository ist unter der MIT-Lizenz lizenziert. Weitere Informationen findest du in der [LICENSE](../../LICENSE) Datei.
+Dieses Repository ist unter der MIT-Lizenz lizenziert. Siehe die [LICENSE](../../LICENSE) Datei für weitere Informationen.
---
**Haftungsausschluss**:
-Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, bitten wir zu beachten, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache gilt als maßgebliche Quelle. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen.
+Dieses Dokument wurde mithilfe des KI-Übersetzungsdienstes [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir um Genauigkeit bemüht sind, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner Ursprungssprache gilt als maßgebliche Quelle. Für wichtige Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Nutzung dieser Übersetzung entstehen.
\ No newline at end of file
diff --git a/translations/el/.co-op-translator.json b/translations/el/.co-op-translator.json
index 7be17fd6b..a7db4fd3c 100644
--- a/translations/el/.co-op-translator.json
+++ b/translations/el/.co-op-translator.json
@@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
- "original_hash": "d45ddcc54eb9232a76d08328b09d792e",
- "translation_date": "2026-01-06T21:16:19+00:00",
+ "original_hash": "bec5e35642176d9e483552bfc82996d8",
+ "translation_date": "2026-03-06T12:05:54+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "el"
},
@@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
- "translation_date": "2026-02-06T17:12:15+00:00",
+ "translation_date": "2026-03-06T12:18:30+00:00",
"source_file": "AGENTS.md",
"language_code": "el"
},
@@ -516,8 +516,8 @@
"language_code": "el"
},
"README.md": {
- "original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
- "translation_date": "2026-02-06T17:07:46+00:00",
+ "original_hash": "a2c9eed480687319517c08a6319e5536",
+ "translation_date": "2026-03-06T12:00:55+00:00",
"source_file": "README.md",
"language_code": "el"
},
diff --git a/translations/el/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/el/1-getting-started-lessons/1-intro-to-programming-languages/README.md
index 5b41d1d82..d170856ca 100644
--- a/translations/el/1-getting-started-lessons/1-intro-to-programming-languages/README.md
+++ b/translations/el/1-getting-started-lessons/1-intro-to-programming-languages/README.md
@@ -1,15 +1,15 @@
# Εισαγωγή στις Γλώσσες Προγραμματισμού και τα Σύγχρονα Εργαλεία Ανάπτυξης
-Γεια σου, μελλοντικέ προγραμματιστή! 👋 Μπορώ να σου πω κάτι που ακόμα με συγκλονίζει κάθε μέρα; Είσαι έτοιμος να ανακαλύψεις ότι ο προγραμματισμός δεν αφορά μόνο τους υπολογιστές – αφορά το να έχεις πραγματικές υπερδυνάμεις για να ζωντανέψεις τις πιο τρελές σου ιδέες!
+Γεια σου, μελλοντικέ προγραμματιστή! 👋 Μπορώ να σου πω κάτι που ακόμα μου προκαλεί ρίγος κάθε μέρα; Είσαι έτοιμος να ανακαλύψεις ότι ο προγραμματισμός δεν είναι απλώς για υπολογιστές – είναι σαν να έχεις πραγματικές υπερδυνάμεις για να ζωντανέψεις τις πιο τρελές σου ιδέες!
-Ξέρεις εκείνη τη στιγμή που χρησιμοποιείς την αγαπημένη σου εφαρμογή και όλα απλά συνδυάζονται τέλεια; Όταν πατάς ένα κουμπί και συμβαίνει κάτι μαγικό που σε κάνει να πεις "ουάου, πώς ΤΟ ΕΚΑΝΑΝ αυτό;" Λοιπόν, κάποιος ακριβώς σαν κι εσένα – πιθανόν να είναι καθισμένος στο αγαπημένο του καφέ στις 2 τα ξημερώματα με τον τρίτο του εσπρέσο – έγραψε τον κώδικα που δημιούργησε αυτή τη μαγεία. Και να τι θα σε εντυπωσιάσει: στο τέλος αυτού του μαθήματος, όχι μόνο θα καταλάβεις πώς το έκαναν, αλλά θα θέλεις κι εσύ να το δοκιμάσεις!
+Ξέρεις εκείνη τη στιγμή που χρησιμοποιείς την αγαπημένη σου εφαρμογή και όλα ταιριάζουν τέλεια; Όταν πατάς ένα κουμπί και συμβαίνει κάτι μαγικό που σε κάνει να λες "ουάου, πώς το ΕΚΑΝΑΝ αυτό;" Λοιπόν, κάποιος σαν εσένα – πιθανώς καθισμένος στο αγαπημένο του καφέ στις 2 το πρωί με τον τρίτο εσπρέσο του – έγραψε τον κώδικα που δημιούργησε αυτή τη μαγεία. Και αυτό που θα σε αφήσει άφωνο: στο τέλος αυτού του μαθήματος, όχι μόνο θα καταλάβεις πώς το έκαναν, αλλά θα ανυπομονείς να το δοκιμάσεις ο ίδιος!
-Κοίτα, καταλαβαίνω αν ο προγραμματισμός σου φαίνεται τρομακτικός αυτή τη στιγμή. Όταν ξεκίνησα, πίστευα ειλικρινά ότι έπρεπε να είσαι κάποιος μαθηματικός ιδιοφυής ή να προγραμματίζεις από τότε που ήσουν πέντε χρονών. Αλλά αυτό που άλλαξε εντελώς την οπτική μου ήταν: ο προγραμματισμός είναι ακριβώς όπως να μαθαίνεις να κάνεις συζητήσεις σε μια νέα γλώσσα. Ξεκινάς με το "γεια" και το "ευχαριστώ", μετά μαθαίνεις να παραγγέλνεις καφέ, και πριν το καταλάβεις κάνεις βαθιές φιλοσοφικές συζητήσεις! Μόνο που εδώ, κάνεις συζητήσεις με υπολογιστές, και ειλικρινά; Είναι οι πιο υπομονετικοί συνομιλητές που θα έχεις ποτέ – ποτέ δεν κρίνουν τα λάθη σου και πάντα ενθουσιάζονται να προσπαθήσουν ξανά!
+Κοίτα, καταλαβαίνω απόλυτα αν ο προγραμματισμός σου φαίνεται τρομακτικός τώρα. Όταν άρχισα, πίστευα ειλικρινά ότι χρειάζεται να είσαι κάποιο είδος μαθηματικού ιδιοφυΐα ή να προγραμματίζεις από πέντε χρονών. Αλλά αυτό που άλλαξε τελείως την οπτική μου: ο προγραμματισμός είναι ακριβώς σαν να μαθαίνεις να κάνεις συζητήσεις σε μια νέα γλώσσα. Ξεκινάς με "γεια" και "ευχαριστώ", μετά μαθαίνεις να παραγγέλνεις καφέ, και προτού το καταλάβεις, κάνεις βαθιές φιλοσοφικές συζητήσεις! Εκτός από το ότι σε αυτή την περίπτωση κάνεις συζητήσεις με υπολογιστές, και ειλικρινά; Είναι οι πιο υπομονετικοί συνομιλητές που θα έχεις ποτέ – δεν κρίνουν ποτέ τα λάθη σου και πάντα ενθουσιάζονται να προσπαθήσουν ξανά!
-Σήμερα, θα εξερευνήσουμε τα απίστευτα εργαλεία που κάνουν την σύγχρονη ανάπτυξη ιστοσελίδων όχι μόνο δυνατή, αλλά και σοβαρά εθιστική. Μιλάω για τους ίδιους ακριβώς επεξεργαστές, προγράμματα περιήγησης και ροές εργασίας που χρησιμοποιούν οι προγραμματιστές στη Netflix, Spotify και το αγαπημένο σου indie studio εφαρμογών κάθε μέρα. Και να το μέρος που θα σε κάνει να χορέψεις από χαρά: τα περισσότερα από αυτά τα επαγγελματικά, βιομηχανικά πρότυπα εργαλεία είναι εντελώς δωρεάν!
+Σήμερα, θα εξερευνήσουμε τα απίστευτα εργαλεία που κάνουν τη σύγχρονη ανάπτυξη ιστοσελίδων όχι απλά εφικτή, αλλά σοβαρά εθιστική. Μιλάω για τους ίδιους επεξεργαστές κώδικα, φυλλομετρητές και ροές εργασίας που χρησιμοποιούν οι προγραμματιστές της Netflix, της Spotify και του αγαπημένου σου ανεξάρτητου στούντιο εφαρμογών κάθε μέρα. Και εδώ είναι το κομμάτι που θα σε κάνει να χορέψεις από χαρά: τα περισσότερα από αυτά τα επαγγελματικά, βιομηχανικά αναγνωρισμένα εργαλεία είναι εντελώς δωρεάν!

-> Σκέτς από [Tomomi Imura](https://twitter.com/girlie_mac)
+> Σημείωση σκίτσου από την [Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid
journey
@@ -22,84 +22,85 @@ journey
Επεξεργαστές Κώδικα: 4: You
Περιηγητές & Εργαλεία Ανάπτυξης: 5: You
Γραμμή Εντολών: 3: You
- section Εξάσκηση
- Ντετέκτιβ Γλωσσών: 4: You
+ section Άσκηση
+ Ντετέκτιβ Γλώσσας: 4: You
Εξερεύνηση Εργαλείων: 5: You
Σύνδεση Κοινότητας: 5: You
```
## Ας Δούμε Τι Ξέρεις Ήδη!
-Πριν βουτήξουμε στα διασκεδαστικά, έχω περιέργεια – τι ξέρεις ήδη για αυτόν τον κόσμο του προγραμματισμού; Και άκου, αν κοιτάς αυτές τις ερωτήσεις και σκέφτεσαι "Δεν έχω απολύτως καμία ιδέα για τίποτα από αυτά", αυτό δεν είναι απλώς εντάξει, είναι τέλειο! Σημαίνει ότι είσαι στο ακριβώς σωστό μέρος. Σκέψου αυτό το κουίζ σαν τέντωμα πριν την άσκηση – απλώς ζεσταίνουμε τους μυς του εγκεφάλου!
+Πριν βουτήξουμε στα διασκεδαστικά, είμαι περίεργος – τι ήδη ξέρεις για αυτόν τον κόσμο του προγραμματισμού; Και άκου, αν κοιτάς αυτές τις ερωτήσεις και σκέφτεσαι "Δεν έχω απολύτως καμία ιδέα για τίποτα από όλα αυτά," αυτό δεν είναι απλά εντάξει, είναι τέλειο! Αυτό σημαίνει ότι βρίσκεσαι ακριβώς στο σωστό μέρος. Σκέψου αυτό το κουίζ σαν ένα ζέσταμα πριν την προπόνηση – απλώς "ζεσταίνουμε" τους μυς του εγκεφάλου!
-[Κάνε το προ-μάθημα κουίζ](https://forms.office.com/r/dru4TE0U9n?origin=lprLink)
+[Κάνε το προκαταρκτικό κουίζ](https://ff-quizzes.netlify.app/web/)
-## Η Περιπέτεια που Ετοιμαζόμαστε να Κάνουμε Μαζί
-Εντάξει, είμαι πραγματικά γεμάτος ενθουσιασμό για όσα θα εξερευνήσουμε σήμερα! Σοβαρά, εύχομαι να μπορούσα να δω το πρόσωπό σου όταν καταλάβεις μερικές από αυτές τις έννοιες. Να το απίστευτο ταξίδι που θα κάνουμε μαζί:
+## Η Περιπέτεια που Θα Ζήσουμε Μαζί
-- **Τι είναι ο προγραμματισμός πραγματικά (και γιατί είναι το πιο κουλ πράγμα στον κόσμο!)** – Θα ανακαλύψουμε πώς ο κώδικας είναι στην ουσία η αόρατη μαγεία που κινεί τα πάντα γύρω σου, από το ξυπνητήρι που ξαφνικά ξέρει ότι είναι Δευτέρα το πρωί, μέχρι τον αλγόριθμο που επιμελεί τέλεια τις Netflix προτάσεις σου
-- **Γλώσσες προγραμματισμού και οι εκπληκτικές προσωπικότητές τους** – Φαντάσου να μπαίνεις σε ένα πάρτι όπου ο καθένας έχει τελείως διαφορετικές υπερδυνάμεις και τρόπους να λύνει προβλήματα. Έτσι είναι ο κόσμος των γλωσσών προγραμματισμού, και θα λατρέψεις να τις γνωρίσεις!
-- **Τα βασικά δομικά στοιχεία που κάνουν τη ψηφιακή μαγεία να συμβαίνει** – Σκέψου τα σαν το απόλυτο δημιουργικό σετ LEGO. Μόλις καταλάβεις πώς ενώνονται αυτά τα κομμάτια, θα συνειδητοποιήσεις ότι μπορείς να φτιάξεις κυριολεκτικά οτιδήποτε ονειρευτεί το μυαλό σου
-- **Επαγγελματικά εργαλεία που θα σε κάνουν να νιώσεις σαν να σου έδωσαν το ραβδί ενός μάγου** – Δεν υπερβάλλω εδώ – αυτά τα εργαλεία θα σε κάνουν πραγματικά να νιώσεις ότι έχεις υπερδυνάμεις, και το καλύτερο; Είναι τα ίδια που χρησιμοποιούν οι επαγγελματίες!
+Εντάξει, είμαι πραγματικά γεμάτος ενθουσιασμό για αυτά που θα ανακαλύψουμε σήμερα! Σοβαρά, θα ήθελα να σου δω το πρόσωπο όταν μερικές από αυτές τις έννοιες "κουμπώσουν." Αυτή είναι η απίστευτη διαδρομή που θα πάρουμε μαζί:
-> 💡 **Να το θυμάσαι**: Μην προσπαθήσεις καν να απομνημονεύσεις τα πάντα σήμερα! Τώρα απλώς θέλω να νιώσεις αυτήν την σπίθα ενθουσιασμού για το τι είναι δυνατό. Οι λεπτομέρειες θα κολλήσουν φυσικά καθώς θα εξασκούμαστε μαζί – έτσι συμβαίνει η αληθινή μάθηση!
+- **Τι ακριβώς είναι ο προγραμματισμός (και γιατί είναι το πιο κουλ πράγμα!)** – Θα ανακαλύψουμε πώς ο κώδικας είναι κυριολεκτικά η αόρατη μαγεία που τροφοδοτεί τα πάντα γύρω σου, από αυτό το ξυπνητήρι που με κάποιον τρόπο ξέρει ότι είναι Δευτέρα πρωί μέχρι τον αλγόριθμο που επιμελείται τέλεια τις προτάσεις σου στο Netflix
+- **Οι γλώσσες προγραμματισμού και οι υπέροχες προσωπικότητές τους** – Φαντάσου να πηγαίνεις σε ένα πάρτυ όπου κάθε άτομο έχει εντελώς διαφορετικές υπερδυνάμεις και τρόπους επίλυσης προβλημάτων. Έτσι είναι ο κόσμος των γλωσσών προγραμματισμού, και θα λατρέψεις να τις γνωρίσεις!
+- **Τα βασικά δομικά στοιχεία που κάνουν την ψηφιακή μαγεία να συμβαίνει** – Σκέψου τα σαν το απόλυτο δημιουργικό σετ LEGO. Μόλις καταλάβεις πώς ταιριάζουν αυτά τα κομμάτια, θα καταλάβεις ότι μπορείς κυριολεκτικά να φτιάξεις οτιδήποτε ονειρεύεται το μυαλό σου
+- **Επαγγελματικά εργαλεία που θα σε κάνουν να νιώσεις σαν να σου έδωσαν το ξύλο ενός μάγου** – Δεν υπερβάλλω εδώ – αυτά τα εργαλεία θα σε κάνουν πραγματικά να νιώσεις ότι έχεις υπερδυνάμεις, και το καλύτερο; Είναι τα ίδια που χρησιμοποιούν οι επαγγελματίες!
-> Μπορείς να κάνεις αυτό το μάθημα στο [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
+> 💡 **Να θυμάσαι το εξής**: Μην προσπαθήσεις καν να τα αποστηθίσεις όλα σήμερα! Αυτή τη στιγμή, θέλω απλώς να νιώσεις αυτόν τον σπινθήρα ενθουσιασμού για το τι είναι δυνατό. Οι λεπτομέρειες θα μείνουν φυσικά όσο εξασκούμαστε μαζί – έτσι μαθαίνει κανείς πραγματικά!
-## Τι Είναι Ακριβώς ο Προγραμματισμός;
+> Μπορείς να παρακολουθήσεις αυτό το μάθημα στο [Microsoft Learn](https://learn.microsoft.com/en-us/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
-Εντάξει, ας απαντήσουμε στην ερώτηση του εκατομμυρίου: τι είναι πραγματικά ο προγραμματισμός;
+## Λοιπόν, Τι Ακριβώς *ΕΙΝΑΙ* ο Προγραμματισμός;
-Θα σου πω μια ιστορία που άλλαξε εντελώς τον τρόπο που το σκέφτομαι. Την προηγούμενη εβδομάδα, προσπαθούσα να εξηγήσω στη μαμά μου πώς να χρησιμοποιήσει το νέο έξυπνο τηλεχειριστήριο της τηλεόρασης. Έπιασα τον εαυτό μου να λέει πράγματα όπως "Πάτα το κόκκινο κουμπί, αλλά όχι το μεγάλο κόκκινο κουμπί, το μικρό κόκκινο κουμπί στα αριστερά... όχι, το άλλο αριστερά σου... καλά, τώρα κράτα το για δύο δευτερόλεπτα, όχι ένα, όχι τρία..." Σου θυμίζει κάτι; 😅
+Εντάξει, ας καταπιαστούμε με την ερώτηση του εκατομμυρίου: τι είναι πραγματικά ο προγραμματισμός;
-Αυτός είναι ο προγραμματισμός! Είναι η τέχνη να δίνεις απίστευτα λεπτομερείς, βήμα προς βήμα οδηγίες σε κάτι που είναι πανίσχυρο αλλά χρειάζεται τα πάντα να του εξηγηθούν τέλεια. Μόνο που αντί να εξηγείς στη μαμά σου (που μπορεί να ρωτήσει "ποιο κόκκινο κουμπί;!"), εξηγείς σε έναν υπολογιστή (που κάνει ακριβώς ό,τι λες, ακόμα κι αν αυτό που είπες δεν είναι ακριβώς αυτό που ήθελες).
+Θα σου πω μια ιστορία που άλλαξε τελείως το πώς το σκέφτομαι. Την προηγούμενη εβδομάδα, προσπαθούσα να εξηγήσω στη μητέρα μου πώς να χρησιμοποιήσει το νέο μας έξυπνο τηλεχειριστήριο της τηλεόρασης. Έπιασα τον εαυτό μου να λέει πράγματα όπως "Πάτα το κόκκινο κουμπί, όχι το μεγάλο κόκκινο, το μικρό κόκκινο αριστερά… όχι, το άλλο αριστερά σου… εντάξει, τώρα κράτα το για δύο δευτερόλεπτα, όχι ένα, όχι τρία…" Σου θυμίζει κάτι; 😅
-Αυτό που με εντυπωσίασε όταν το έμαθα πρώτη φορά: οι υπολογιστές είναι στην ουσία απλοί στον πυρήνα τους. Καταλαβαίνουν κυριολεκτικά μόνο δύο πράγματα – 1 και 0, που είναι βασικά "ναι" και "όχι" ή "αναμμένο" και "σβηστό". Αυτό είναι όλο! Αλλά εδώ γίνεται η μαγεία – δεν χρειάζεται να μιλάμε σε 1 και 0 σαν να είμαστε μέσα στο Matrix. Εκεί έρχονται οι **γλώσσες προγραμματισμού** να σώσουν την κατάσταση. Είναι σαν να έχεις τον καλύτερο μεταφραστή στον κόσμο που παίρνει τις απλές ανθρώπινες σκέψεις σου και τις μετατρέπει στη γλώσσα των υπολογιστών.
+Αυτός είναι ο προγραμματισμός! Η τέχνη να δίνεις εξαιρετικά λεπτομερείς, βήμα-βήμα οδηγίες σε κάτι που είναι πολύ ισχυρό αλλά χρειάζεται τα πάντα να του λέγονται ακριβώς. Εκτός από το ότι η εξήγηση δεν πηγαίνει στη μητέρα σου (που μπορεί να ρωτήσει "ποιο κόκκινο κουμπί;"), αλλά σε έναν υπολογιστή (που απλώς κάνει ακριβώς ό,τι του λες, ακόμα και αν αυτό που είπες δεν είναι ακριβώς αυτό που ήθελες).
-Και αυτό που ακόμα με συγκλονίζει κάθε πρωί όταν ξυπνάω: κυριολεκτικά *όλα* τα ψηφιακά πράγματα στη ζωή σου ξεκίνησαν από κάποιον ακριβώς σαν κι εσένα, πιθανώς καθισμένο σε πυζάμες με ένα φλιτζάνι καφέ, να γράφει κώδικα στον φορητό υπολογιστή του. Αυτό το φίλτρο του Instagram που σε κάνει να δείχνεις άψογος; Κάποιος το κωδικοποίησε. Η πρόταση που σου έφερε το νέο αγαπημένο τραγούδι; Ένας προγραμματιστής έφτιαξε αυτόν τον αλγόριθμο. Η εφαρμογή που σε βοηθά να μοιράζεσαι τους λογαριασμούς του δείπνου με φίλους; Ναι, κάποιος σκέφτηκε "αυτό είναι ενοχλητικό, μάλλον μπορώ να το διορθώσω" και… το έκανε!
+Αυτό που μου προκάλεσε δέος όταν το έμαθα πρώτα: οι υπολογιστές στην ουσία είναι αρκετά απλοί στη βάση τους. Καταλαβαίνουν κυριολεκτικά μόνο δύο πράγματα – 1 και 0, που είναι βασικά "ναι" και "όχι" ή "αναμμένο" και "σβηστό". Αυτό είναι! Αλλά εδώ γίνεται μαγικό – δεν χρειάζεται να μιλάμε σε 1 και 0 σαν να είμαστε στη Μήτρα. Εδώ μπαίνουν τα **γλώσσες προγραμματισμού**. Είναι σαν να έχεις τον καλύτερο μεταφραστή στον κόσμο που μετατρέπει τις κανονικές ανθρώπινες σκέψεις σου σε γλώσσα υπολογιστή.
-Όταν μαθαίνεις να προγραμματίζεις, δεν αποκτάς απλώς μια νέα δεξιότητα – γίνεσαι μέρος μιας απίστευτης κοινότητας ανθρώπων που λύνουν προβλήματα και περνούν τις μέρες τους σκεπτόμενοι, "Τι θα γινόταν αν μπορούσα να φτιάξω κάτι που κάνει τη μέρα κάποιου λίγο καλύτερη;" Ειλικρινά, υπάρχει κάτι πιο κουλ από αυτό;
+Και αυτό που ακόμα μου προκαλεί πραγματικά ρίγη κάθε πρωί όταν ξυπνάω: κυριολεκτικά τα *πάντα* ψηφιακά στη ζωή σου ξεκίνησαν από κάποιον σαν εσένα, πιθανώς καθισμένο με τις πιτζάμες και ένα φλιτζάνι καφέ, να πληκτρολογεί κώδικα στο λάπτοπ του. Αυτό το φίλτρο του Instagram που σε κάνει να φαίνεσαι άψογος; Κάποιος το κωδικοποίησε. Η πρόταση που σε οδήγησε στο νέο αγαπημένο σου τραγούδι; Ένας προγραμματιστής έφτιαξε αυτόν τον αλγόριθμο. Η εφαρμογή που σε βοηθά να μοιράζεις τους λογαριασμούς του δείπνου με φίλους; Ναι, κάποιος σκέφτηκε "αυτό είναι εκνευριστικό, σίγουρα μπορώ να το διορθώσω" και μετά... το έκανε!
-✅ **Κυνήγι Διασκεδαστικού Γεγονότος**: Να κάτι πολύ ωραίο για να κοιτάξεις όταν έχεις λίγο ελεύθερο χρόνο – ποιος νομίζεις ότι ήταν ο πρώτος προγραμματιστής υπολογιστή στον κόσμο; Θα σου δώσω μια υπόδειξη: δεν είναι απαραίτητα αυτός που περιμένεις! Η ιστορία πίσω από αυτό το άτομο είναι απολύτως συναρπαστική και δείχνει ότι ο προγραμματισμός πάντα είχε να κάνει με τη δημιουργική επίλυση προβλημάτων και το να σκέφτεσαι έξω από το κουτί.
+Όταν μάθεις να προγραμματίζεις, δεν μαθαίνεις απλά μια νέα δεξιότητα – γίνεσαι μέρος αυτής της απίστευτης κοινότητας ανθρώπων που λύνουν προβλήματα και περνούν τις μέρες τους σκεπτόμενοι, "τι θα γινόταν αν μπορούσα να φτιάξω κάτι που κάνει τη μέρα κάποιου λίγο καλύτερη;" Ειλικρινά, υπάρχει κάτι πιο κουλ από αυτό;
+
+✅ **Κυνήγι Διασκεδαστικού Γεγονότος**: Εδώ είναι κάτι πολύ ενδιαφέρον για να ψάξεις όταν έχεις λίγο χρόνο – ποιος νομίζεις ότι ήταν ο πρώτος προγραμματιστής υπολογιστών στον κόσμο; Θα σου δώσω μια υπόδειξη: ίσως να μην είναι αυτό που περιμένεις! Η ιστορία αυτής της προσωπικότητας είναι απολύτως συναρπαστική και δείχνει ότι ο προγραμματισμός πάντα είχε να κάνει με τη δημιουργική επίλυση προβλημάτων και το να σκέφτεσαι έξω από τα συνηθισμένα.
### 🧠 **Ώρα Ελέγχου: Πώς Νιώθεις;**
**Πάρε μια στιγμή να σκεφτείς:**
-- Σου βγάζει νόημα τώρα η ιδέα του "να δίνεις οδηγίες στους υπολογιστές";
-- Μπορείς να σκεφτείς μια καθημερινή εργασία που θα ήθελες να αυτοματοποιήσεις με προγραμματισμό;
-- Ποιες ερωτήσεις σου έρχονται στο μυαλό για όλο αυτό τον προγραμματισμό;
+- Καταλαβαίνεις τώρα την ιδέα του "δίνοντας οδηγίες σε υπολογιστές";
+- Μπορείς να σκεφτείς μια καθημερινή δουλειά που θα ήθελες να αυτοματοποιήσεις με προγραμματισμό;
+- Ποιες ερωτήσεις σου έρχονται στο μυαλό σχετικά με αυτόν τον προγραμματισμό;
-> **Να θυμάσαι**: Είναι απόλυτα φυσιολογικό αν μερικές έννοιες σου φαίνονται ασαφείς τώρα. Ο προγραμματισμός είναι σαν να μαθαίνεις μια νέα γλώσσα – χρειάζεται χρόνος για να δημιουργηθούν οι νευρωνικές διαδρομές στον εγκέφαλο. Πάς πολύ καλά!
+> **Να θυμάσαι**: Είναι απόλυτα φυσιολογικό αν μερικές έννοιες φαίνονται θολές τώρα. Το να μαθαίνεις προγραμματισμό είναι σαν να μαθαίνεις μια νέα γλώσσα – παίρνει χρόνο για να δημιουργήσει ο εγκέφαλός σου αυτές τις νευρωνικές διαδρομές. Τα καταφέρνεις υπέροχα!
## Οι Γλώσσες Προγραμματισμού Είναι Σαν Διάφορες Γεύσεις Μαγείας
-Εντάξει, αυτό ίσως ακουστεί περίεργο, αλλά μείνε μαζί μου – οι γλώσσες προγραμματισμού είναι πολύ σαν διαφορετικά είδη μουσικής. Σκέψου το: έχεις jazz, που είναι ομαλή και αυτοσχεδιαστική, rock που είναι δυνατή και απλή, κλασική μουσική που είναι κομψή και δομημένη, και hip-hop που είναι δημιουργική και εκφραστική. Κάθε στυλ έχει τη δική του ατμόσφαιρα, τη δική του κοινότητα παθιασμένων θαυμαστών και το καθένα είναι τέλειο για διαφορετικές διαθέσεις και περιστάσεις.
+Εντάξει, αυτό θα ακούγεται παράξενο, αλλά μείνε μαζί μου – οι γλώσσες προγραμματισμού μοιάζουν πολύ με διαφορετικά είδη μουσικής. Σκέψου το: έχεις τζαζ, που είναι ομαλή και αυτοσχεδιαστική, ροκ που είναι δυναμική και απλή, κλασική που είναι κομψή και δομημένη, και χιπ-χοπ που είναι δημιουργική και εκφραστική. Κάθε στυλ έχει τη δική του ατμόσφαιρα, τη δική του κοινότητα παθιασμένων θαυμαστών, και το καθένα είναι τέλειο για διαφορετικές διαθέσεις και περιστάσεις.
-Οι γλώσσες προγραμματισμού λειτουργούν ακριβώς έτσι! Δεν θα έγραφες το ίδιο παιχνίδι για κινητά με γλώσσα που χρησιμοποιείς για να επεξεργαστείς τεράστια κλιματικά δεδομένα, όπως δεν θα άκουγες death metal σε τάξη γιόγκα (τουλάχιστον σε περισσότερες τάξεις γιόγκα! 😄).
+Οι γλώσσες προγραμματισμού λειτουργούν ακριβώς έτσι! Δεν θα χρησιμοποιούσες την ίδια γλώσσα για να φτιάξεις ένα διασκεδαστικό παιχνίδι για κινητά που θα χρησιμοποιούσες για να επεξεργαστείς μεγάλα ποσά δεδομένων για το κλίμα, όπως δεν θα άκουγες ντεθ μέταλ σε μάθημα γιόγκα (εντάξει, στις περισσότερες γιόγκα! 😄).
-Αλλά κάνε μου την χάρη, κάθε φορά που το σκέφτομαι με εκπλήσσει: αυτές οι γλώσσες είναι σαν να έχεις τον πιο υπομονετικό, λαμπρό διερμηνέα στον κόσμο καθισμένο δίπλα σου. Μπορείς να εκφράσεις τις ιδέες σου με τρόπο φυσικό στον ανθρώπινο εγκέφαλό σου και αυτοί αναλαμβάνουν όλη την πολύπλοκη δουλειά της μετάφρασης σε 1 και 0 που μιλάνε οι υπολογιστές. Είναι σαν να έχεις έναν φίλο που μιλάει τέλεια και τις δύο γλώσσες, "ανθρώπινης δημιουργικότητας" και "λογικής υπολογιστή" – και δεν κουράζεται ποτέ, δεν χρειάζεται διαλείμματα για καφέ και ποτέ δεν σε κρίνει αν ρωτήσεις ξανά την ίδια ερώτηση!
+Αλλά αυτό που με αφήνει έκπληκτο κάθε φορά που το σκέφτομαι: αυτές οι γλώσσες είναι σαν να έχεις τον πιο υπομονετικό, λαμπρό διερμηνέα στον κόσμο δίπλα σου. Μπορείς να εκφράσεις τις ιδέες σου με τρόπο που νιώθεις φυσικός για τον ανθρώπινο εγκέφαλό σου, και αυτοί αναλαμβάνουν όλη τη πολύπλοκη δουλειά του να το μεταφράσουν στα 1 και 0 που μιλάνε οι υπολογιστές. Είναι σαν να έχεις έναν φίλο που μιλά άπταιστα και τις δύο "ανθρώπινη δημιουργικότητα" και "λογική υπολογιστή" – και ποτέ δεν κουράζεται, δεν χρειάζεται διάλειμμα για καφέ και δεν σε κρίνει αν ρωτήσεις την ίδια ερώτηση δύο φορές!
### Δημοφιλείς Γλώσσες Προγραμματισμού και Χρήσεις τους
```mermaid
mindmap
root((Γλώσσες Προγραμματισμού))
- Ανάπτυξη Ιστού
+ Web Development
JavaScript
Μαγεία Frontend
Διαδραστικές Ιστοσελίδες
TypeScript
JavaScript + Τύποι
Επιχειρησιακές Εφαρμογές
- Δεδομένα & ΤΝ
+ Data & AI
Python
Επιστήμη Δεδομένων
Μηχανική Μάθηση
- Αυτοματισμός
+ Αυτοματοποίηση
R
Στατιστική
Έρευνα
- Κινητές Εφαρμογές
+ Mobile Apps
Java
Android
Επιχειρήσεις
@@ -109,7 +110,7 @@ mindmap
Kotlin
Σύγχρονο Android
Πολυπλατφορμικό
- Συστήματα & Απόδοση
+ Systems & Performance
C++
Παιχνίδια
Κρίσιμη Απόδοση
@@ -120,41 +121,41 @@ mindmap
Υπηρεσίες Νέφους
Κλιμακούμενο Backend
```
-| Γλώσσα | Καλύτερα για | Γιατί είναι δημοφιλής |
-|----------|----------|------------------|
-| **JavaScript** | Ανάπτυξη ιστοσελίδων, διεπαφές χρήστη | Τρέχει στους περιηγητές και υποστηρίζει διαδραστικές ιστοσελίδες |
-| **Python** | Επιστήμη δεδομένων, αυτοματοποίηση, AI | Εύκολη στην ανάγνωση και μάθηση, ισχυρές βιβλιοθήκες |
+| Γλώσσα | Καλύτερη για | Γιατί Είναι Δημοφιλής |
+|---------|-----------|----------------------|
+| **JavaScript** | Ανάπτυξη ιστοσελίδων, διεπαφές χρήστη | Τρέχει στους φυλλομετρητές και τροφοδοτεί διαδραστικές ιστοσελίδες |
+| **Python** | Επιστήμη δεδομένων, αυτοματοποίηση, AI | Εύκολη στην ανάγνωση και εκμάθηση, ισχυρές βιβλιοθήκες |
| **Java** | Επιχειρησιακές εφαρμογές, εφαρμογές Android | Ανεξάρτητη πλατφόρμα, ανθεκτική σε μεγάλα συστήματα |
| **C#** | Εφαρμογές Windows, ανάπτυξη παιχνιδιών | Ισχυρή υποστήριξη από το οικοσύστημα της Microsoft |
-| **Go** | Υπηρεσίες νέφους, συστήματα backend | Γρήγορη, απλή, σχεδιασμένη για σύγχρονους υπολογιστές |
+| **Go** | Υπηρεσίες cloud, backend συστήματα | Γρήγορη, απλή, σχεδιασμένη για σύγχρονη πληροφορική |
-### Γλώσσες Υψηλού Επίπέδου έναντι Χαμηλού Επίπεδου
+### Γλώσσες Υψηλού Επίπεδου vs. Χαμηλού Επίπεδου
-Εντάξει, αυτή ήταν ειλικρινά η έννοια που "έσπασε" το μυαλό μου όταν ξεκίνησα, οπότε θα μοιραστώ την αναλογία που τελικά μου έκανε κλικ – και ελπίζω να σε βοηθήσει και εσένα!
+Εντάξει, αυτή ήταν ειλικρινά η έννοια που μου έσπασε το μυαλό όταν ξεκίνησα, οπότε θα μοιραστώ την αναλογία που τελικά με βοήθησε να την καταλάβω – και ελπίζω να σε βοηθήσει κι εσένα!
-Φαντάσου ότι επισκέπτεσαι μια χώρα όπου δεν μιλάς τη γλώσσα και απελπισμένα πρέπει να βρεις την πλησιέστερη τουαλέτα (έχουμε περάσει όλοι από αυτό, σωστά; 😅):
+Φαντάσου ότι βρίσκεσαι σε μια χώρα όπου δεν μιλάς τη γλώσσα, και χρειάζεσαι απεγνωσμένα να βρεις την πιο κοντινή τουαλέτα (όλοι έχουμε βρεθεί εκεί, σωστά; 😅):
-- **Ο προγραμματισμός χαμηλού επιπέδου** είναι σαν να μαθαίνεις τόσο καλά τη τοπική διάλεκτο που μπορείς να μιλήσεις με την γιαγιά που πουλάει φρούτα στη γωνία, χρησιμοποιώντας πολιτισμικές αναφορές, τοπική αργκό και αστεία που καταλαβαίνει μόνο κάποιος που μεγάλωσε εκεί. Πολύ εντυπωσιακό και απίστευτα αποδοτικό... αν είσαι άπταιστος! Αλλά αρκετά συντριπτικό όταν απλά ψάχνεις για τουαλέτα.
+- **Ο προγραμματισμός χαμηλού επιπέδου** είναι σαν να μαθαίνεις τη ντόπια διάλεκτο τόσο καλά που μπορείς να συνομιλήσεις με τη γιαγιά που πουλάει φρούτα στη γωνία χρησιμοποιώντας πολιτισμικές αναφορές, τοπικά ιδιώματα και αστεία που μόνο κάποιος που μεγάλωσε εκεί θα καταλάβαινε. Πολύ εντυπωσιακό και απίστευτα αποδοτικό... αν τυχαίνει να μιλάς την γλώσσα! Αλλά αρκετά συντριπτικό όταν απλώς προσπαθείς να βρεις ένα μπάνιο.
-- **Ο προγραμματισμός υψηλού επιπέδου** είναι σαν να έχεις αυτόν τον υπέροχο ντόπιο φίλο που απλά σε καταλαβαίνει. Μπορείς να πεις "Πραγματικά πρέπει να βρω μια τουαλέτα" στα απλά αγγλικά και εκείνος να μεταφράσει όλη την πολιτισμική γλώσσα και να σου δώσει οδηγίες που βγάζουν απόλυτο νόημα στον εγκέφαλό σου που δεν είναι ντόπιος.
+- **Ο προγραμματισμός υψηλού επιπέδου** είναι σαν να έχεις αυτόν τον εκπληκτικό ντόπιο φίλο που σε καταλαβαίνει. Μπορείς να πεις "Πραγματικά χρειάζομαι να βρω μια τουαλέτα" στα απλά αγγλικά, και αυτοί αναλαμβάνουν όλη τη μετάφραση στην κουλτούρα και σου δίνουν οδηγίες με τρόπο που έχει απόλυτο νόημα για το μη-ντόπιο μυαλό σου.
Σε όρους προγραμματισμού:
-- **Οι γλώσσες χαμηλού επιπέδου** (όπως Assembly ή C) σου επιτρέπουν να έχεις απίστευτα λεπτομερείς συζητήσεις με το πραγματικό υλικό του υπολογιστή, αλλά πρέπει να σκέφτεσαι σαν μηχανή, που είναι... ας το πούμε, μεγάλη πνευματική αλλαγή!
-- **Οι γλώσσες υψηλού επιπέδου** (όπως JavaScript, Python ή C#) σε αφήνουν να σκέφτεσαι σαν άνθρωπος ενώ αυτές διαχειρίζονται όλη τη μηχανική ορολογία στα παρασκήνια. Επιπλέον, έχουν αυτές τις απίστευτα φιλόξενες κοινότητες γεμάτες ανθρώπους που θυμούνται πώς ήταν να είσαι αρχάριος και πραγματικά θέλουν να βοηθήσουν!
+- Οι **γλώσσες χαμηλού επιπέδου** (όπως Assembly ή C) σου επιτρέπουν να έχεις απίστευτα λεπτομερείς συνομιλίες με το υλικό του υπολογιστή, αλλά πρέπει να σκέφτεσαι σαν μηχανή, το οποίο... ας πούμε ότι είναι αρκετά μεγάλο άλμα νοητικά!
+- Οι **γλώσσες υψηλού επιπέδου** (όπως JavaScript, Python ή C#) σου επιτρέπουν να σκέφτεσαι σαν άνθρωπος ενώ αυτοί αναλαμβάνουν όλη τη "μηχανική γλώσσα" πίσω από τα παρασκήνια. Επιπλέον, έχουν απίστευτες, φιλόξενες κοινότητες γεμάτες ανθρώπους που θυμούνται πώς ήταν να είσαι νέος και πραγματικά θέλουν να βοηθήσουν!
-Μαντέψτε με ποια θα σε προτείνω να ξεκινήσεις; 😉 Οι γλώσσες υψηλού επιπέδου είναι σαν τις βοηθητικές ρόδες που δεν θέλεις να βγάλεις ποτέ γιατί κάνουν όλη την εμπειρία πολύ πιο απολαυστική!
+Μάντεψε με ποιο ξεκινάω να προτείνω; 😉 Οι γλώσσες υψηλού επιπέδου είναι σαν να έχεις βοηθητικές ρόδες που δεν θέλεις ποτέ να αφαιρέσεις γιατί κάνουν όλη την εμπειρία πολύ πιο ευχάριστη!
```mermaid
flowchart TB
A["👤 Ανθρώπινη Σκέψη: 'Θέλω να υπολογίσω αριθμούς Fibonacci'"] --> B{Επίπεδο Γλώσσας}
- B -->|Υψηλού Επιπέδου| C["🌟 JavaScript/Python Εύκολο στην ανάγνωση και γραφή"]
+ B -->|Υψηλού Επιπέδου| C["🌟 JavaScript/Python Εύκολο στην ανάγνωση και τη συγγραφή"]
B -->|Χαμηλού Επιπέδου| D["⚙️ Assembly/C Άμεσος έλεγχος υλικού"]
C --> E["📝 Γράψε: fibonacci(10)"]
D --> F["📝 Γράψε: mov r0,#00 sub r0,r0,#01"]
- E --> G["🤖 Κατανόηση Υπολογιστή: Ο μεταφραστής χειρίζεται την πολυπλοκότητα"]
+ E --> G["🤖 Κατανόηση Υπολογιστή: Ο μεταφραστής διαχειρίζεται την πολυπλοκότητα"]
F --> G
G --> H["💻 Ίδιο Αποτέλεσμα: 0, 1, 1, 2, 3, 5, 8, 13..."]
@@ -163,15 +164,15 @@ flowchart TB
style D fill:#fff3e0
style H fill:#e8f5e8
```
-### Άφησέ Με να Σου Δείξω Γιατί Οι Γλώσσες Υψηλού Επίπεδου Είναι Πολύ Φιλικές
+### Άσε Με Να Σου Δείξω Γιατί οι Γλώσσες Υψηλού Επιπέδου Είναι Πιο Φιλικές
-Εντάξει, πρόκειται να σου δείξω κάτι που δείχνει τέλεια γιατί αγάπησα τις γλώσσες υψηλού επιπέδου, αλλά πρώτα – πρέπει να μου υποσχεθείς κάτι. Όταν δεις το πρώτο παράδειγμα κώδικα, μην πανικοβληθείς! Προορίζεται να φαίνεται τρομακτικό. Αυτό είναι το σημείο που θέλω να κάνω!
+Εντάξει, θα σου δείξω κάτι που αναδεικνύει τέλεια γιατί ερωτεύτηκα τις γλώσσες υψηλού επιπέδου, αλλά πρώτα – θέλω να μου υποσχεθείς κάτι. Όταν δεις το πρώτο παράδειγμα κώδικα, μην πανικοβληθείς! Είναι φυσιολογικό να φαίνεται λίγο τρομακτικό. Αυτό ακριβώς τονίζω!
-Θα δούμε το ίδιο ακριβώς έργο γραμμένο σε δύο τελείως διαφορετικά στυλ. Και τα δύο δημιουργούν την ακολουθία Fibonacci – αυτό το όμορφο μαθηματικό μοτίβο όπου κάθε αριθμός είναι το άθροισμα των δύο προηγούμενων: 0, 1, 1, 2, 3, 5, 8, 13... (Διασκεδαστικό γεγονός: θα βρεις αυτό το μοτίβο κυριολεκτικά παντού στη φύση – στις σπείρες σπόρων ηλίανθου, στα μοτίβα κουκουναριών, ακόμα και στο πώς σχηματίζονται οι γαλαξίες!)
+Θα δούμε την ίδια ακριβώς εργασία γραμμένη σε δύο εντελώς διαφορετικά στυλ. Και τα δύο δημιουργούν την ακολουθία Fibonacci – είναι ένα όμορφο μαθηματικό μοτίβο όπου κάθε αριθμός είναι το άθροισμα των δύο προηγουμένων: 0, 1, 1, 2, 3, 5, 8, 13... (Διασκεδαστικό γεγονός: θα βρεις αυτό το μοτίβο κυριολεκτικά παντού στη φύση – στο σπείρωμα των ηλιόσπορων, στα μοτίβα των κουκουναριών, ακόμα και στον τρόπο σχηματισμού των γαλαξιών!)
-Έτοιμος να δεις τη διαφορά; Πάμε!
+Έτοιμος να δεις τη διαφορά; Ας πάμε!
-**Γλώσσα υψηλού επιπέδου (JavaScript) – Ανθρώπινη φιλική:**
+**Γλώσσα υψηλού επιπέδου (JavaScript) – Φιλική στον άνθρωπο:**
```javascript
// Βήμα 1: Βασική ρύθμιση Fibonacci
@@ -182,18 +183,18 @@ let next = 1;
console.log('Fibonacci sequence:');
```
-**Αυτό κάνει ο κώδικας:**
-- **Δηλώνει** μια σταθερά για να καθορίσει πόσους αριθμούς Fibonacci θέλουμε να δημιουργήσουμε
-- **Αρχικοποιεί** δύο μεταβλητές για να παρακολουθεί τους τρέχοντες και επόμενους αριθμούς στην ακολουθία
-- **Ορίζει** τις αρχικές τιμές (0 και 1) που καθορίζουν το μοτίβο Fibonacci
-- **Εμφανίζει** ένα μήνυμα κεφαλίδας για να ταυτοποιήσει την έξοδο μας
+**Αυτό κάνει αυτός ο κώδικας:**
+- **Δηλώνει** μια σταθερά που καθορίζει πόσους αριθμούς Fibonacci θέλουμε να παράγουμε
+- **Αρχικοποιεί** δύο μεταβλητές για να παρακολουθεί τους τρέχοντες και τους επόμενους αριθμούς της σειράς
+- **Ορίζει** τις αρχικές τιμές (0 και 1) που καθορίζουν το μοτίβο Fibonacci
+- **Εμφανίζει** ένα επικεφαλίδα μήνυμα για να αναγνωρίσουμε την έξοδο μας
```javascript
-// Βήμα 2: Δημιουργήστε τη σειρά με έναν βρόχο
+// Βήμα 2: Δημιουργήστε την ακολουθία με έναν βρόχο
for (let i = 0; i < fibonacciCount; i++) {
console.log(`Position ${i + 1}: ${current}`);
- // Υπολογίστε τον επόμενο αριθμό στη σειρά
+ // Υπολογίστε τον επόμενο αριθμό στην ακολουθία
const sum = current + next;
current = next;
next = sum;
@@ -201,10 +202,10 @@ for (let i = 0; i < fibonacciCount; i++) {
```
**Αναλύοντας τι συμβαίνει εδώ:**
-- **Επαναλαμβάνει** μέσω κάθε θέσης στην ακολουθία μας χρησιμοποιώντας έναν βρόχο `for`
-- **Εμφανίζει** κάθε αριθμό με τη θέση του χρησιμοποιώντας τη μορφοποίηση προτύπου συμβολοσειράς
-- **Υπολογίζει** τον επόμενο αριθμό Fibonacci προσθέτοντας τις τρέχουσες και επόμενες τιμές
-- **Ενημερώνει** τις μεταβλητές παρακολούθησης για να προχωρήσει στην επόμενη επανάληψη
+- **Κάνει βρόχο** μέσα από κάθε θέση στη σειρά μας χρησιμοποιώντας έναν `for` βρόχο
+- **Εμφανίζει** κάθε αριθμό με τη θέση του χρησιμοποιώντας μορφοποίηση template literal
+- **Υπολογίζει** τον επόμενο αριθμό Fibonacci προσθέτοντας την τρέχουσα με την επόμενη τιμή
+- **Ενημερώνει** τις μεταβλητές παρακολούθησης για να μετακινηθεί στον επόμενο γύρο
```javascript
// Βήμα 3: Σύγχρονη λειτουργική προσέγγιση
@@ -224,10 +225,10 @@ console.log(fibSequence);
```
**Στο παραπάνω έχουμε:**
-- **Δημιουργήσει** μια επαναχρησιμοποιήσιμη συνάρτηση χρησιμοποιώντας τη σύγχρονη σύνταξη βέλους
-- **Κατασκευάσει** έναν πίνακα για να αποθηκεύσουμε την πλήρη ακολουθία αντί να εμφανίζουμε έναν-έναν
-- **Χρησιμοποιήσει** δεικτοδότηση πίνακα για να υπολογίσουμε κάθε νέο αριθμό από τις προηγούμενες τιμές
-- **Επιστρέψει** την πλήρη ακολουθία για ευέλικτη χρήση σε άλλα μέρη του προγράμματος
+- **Δημιουργήσει** μια επαναχρησιμοποιήσιμη συνάρτηση χρησιμοποιώντας σύγχρονη σύνταξη arrow function
+- **Κατασκευάσει** έναν πίνακα για να αποθηκεύσουμε όλη τη σειρά αντί να την εμφανίζουμε έναν έναν
+- **Χρησιμοποιήσει** δείκτες πίνακα για να υπολογίσουμε κάθε νέο αριθμό από τις προηγούμενες τιμές
+- **Επιστρέψει** όλη τη σειρά για ευέλικτη χρήση σε άλλα μέρη του προγράμματός μας
**Γλώσσα χαμηλού επιπέδου (ARM Assembly) – Φιλική στον υπολογιστή:**
@@ -256,27 +257,28 @@ back add r0,r1
end
```
-Παρατήρησε πώς η έκδοση JavaScript διαβάζεται σχεδόν σαν αγγλικές οδηγίες, ενώ η έκδοση Assembly χρησιμοποιεί κρυπτογραφημένες εντολές που ελέγχουν άμεσα τον επεξεργαστή του υπολογιστή. Και οι δύο πραγματοποιούν το ίδιο έργο, αλλά η γλώσσα υψηλού επιπέδου είναι πολύ πιο εύκολη για τους ανθρώπους να καταλάβουν, να γράψουν και να διατηρήσουν.
+Παρατήρησε πώς η έκδοση JavaScript διαβάζεται σχεδόν σαν οδηγίες στα Αγγλικά, ενώ η έκδοση Assembly χρησιμοποιεί κρυπτογραφικές εντολές που ελέγχουν απευθείας τον επεξεργαστή του υπολογιστή. Και οι δύο εκτελούν την ίδια ακριβώς εργασία, αλλά η γλώσσα υψηλού επιπέδου είναι πολύ πιο εύκολη για τους ανθρώπους να καταλάβουν, να γράψουν και να συντηρήσουν.
**Κύριες διαφορές που θα παρατηρήσεις:**
-- **Αναγνωσιμότητα**: Η JavaScript χρησιμοποιεί περιγραφικά ονόματα όπως `fibonacciCount` ενώ η Assembly χρησιμοποιεί κρυπτογραφικές ετικέτες όπως `r0`, `r1`
-- **Σχόλια**: Οι γλώσσες υψηλού επιπέδου ενθαρρύνουν επεξηγηματικά σχόλια που κάνουν τον κώδικα αυτο-τεκμηριωμένο
-- **Δομή**: Η λογική ροή του JavaScript ταιριάζει με τον τρόπο που οι άνθρωποι σκέφτονται για τα προβλήματα βήμα προς βήμα
-- **Συντήρηση**: Η ενημέρωση της έκδοσης JavaScript για διάφορες απαιτήσεις είναι απλή και καθαρή
+- **Αναγνωσιμότητα**: Η JavaScript χρησιμοποιεί περιγραφικά ονόματα όπως `fibonacciCount` ενώ η Assembly χρησιμοποιεί κρυπτικά ετικέτες όπως `r0`, `r1`
+- **Σχόλια**: Οι γλώσσες υψηλού επιπέδου ενθαρρύνουν επεξηγηματικά σχόλια που κάνουν τον κώδικα αυτο-τεκμηριούμενο
+- **Δομή**: Η λογική ροή της JavaScript ταιριάζει με τον τρόπο που οι άνθρωποι σκέφτονται τα προβλήματα βήμα-βήμα
+- **Συντήρηση**: Η ενημέρωση της έκδοσης JavaScript για διαφορετικές απαιτήσεις είναι απλή και ξεκάθαρη
+
+✅ **Σχετικά με τη σειρά Fibonacci**: Αυτό το απόλυτα υπέροχο αριθμητικό μοτίβο (όπου κάθε αριθμός ισούται με το άθροισμα των δύο προηγούμενων: 0, 1, 1, 2, 3, 5, 8...) εμφανίζεται κυριολεκτικά *παντού* στη φύση! Θα το βρείτε στις σπείρες των ηλίανθων, στα μοτίβα των πετάλων πεύκου, στον τρόπο που καμπυλώνουν τα κελύφη του ναυτίλου, και ακόμα στον τρόπο που αναπτύσσονται τα κλαδιά των δέντρων. Είναι πραγματικά εντυπωσιακό το πώς τα μαθηματικά και ο κώδικας μπορούν να μας βοηθήσουν να κατανοήσουμε και να αναπαράγουμε τα μοτίβα που η φύση χρησιμοποιεί για να δημιουργεί ομορφιά!
-✅ **Σχετικά με την ακολουθία Fibonacci**: Αυτό το απολύτως υπέροχο μοτίβο αριθμών (όπου κάθε αριθμός ισούται με το άθροισμα των δύο προηγούμενων: 0, 1, 1, 2, 3, 5, 8...) εμφανίζεται κυριολεκτικά *παντού* στη φύση! Θα το βρείτε στις σπείρες των ηλιοτροπίων, στα μοτίβα των κουκουναριών, στον τρόπο που καμπυλώνουν τα κοχύλια ναυτίλου, και ακόμα και στο πώς μεγαλώνουν τα κλαδιά των δέντρων. Είναι πραγματικά εντυπωσιακό το πώς τα μαθηματικά και ο κώδικας μπορούν να μας βοηθήσουν να κατανοήσουμε και να αναπαράγουμε τα μοτίβα που χρησιμοποιεί η φύση για να δημιουργήσει ομορφιά!
-## Τα Θεμελιώδη Στοιχεία Που Δημιουργούν Τη Μαγεία
+## Τα Τούβλα που Δημιουργούν τη Μαγεία
-Εντάξει, τώρα που είδες πώς μοιάζουν οι γλώσσες προγραμματισμού σε δράση, ας αναλύσουμε τα βασικά κομμάτια που αποτελούν κυριολεκτικά κάθε πρόγραμμα που έχει γράψει ποτέ άνθρωπος. Σκέψου τα σαν τα απαραίτητα υλικά στην αγαπημένη σου συνταγή – μόλις καταλάβεις τι κάνει το καθένα, θα μπορείς να διαβάζεις και να γράφεις κώδικα σε σχεδόν οποιαδήποτε γλώσσα!
+Εντάξει, τώρα που είδατε πώς μοιάζουν οι γλώσσες προγραμματισμού στην πράξη, ας αναλύσουμε τα θεμελιώδη κομμάτια που απαρτίζουν κυριολεκτικά κάθε πρόγραμμα που έχει γραφτεί ποτέ. Σκεφτείτε τα σαν τα βασικά υλικά στην αγαπημένη σας συνταγή – μόλις καταλάβετε τι κάνει το καθένα, θα μπορείτε να διαβάζετε και να γράφετε κώδικα σχεδόν σε οποιαδήποτε γλώσσα!
-Αυτό είναι κάπως σαν να μαθαίνεις τη γραμματική του προγραμματισμού. Θυμάσαι στο σχολείο όταν μάθαινες για ουσιαστικά, ρήματα και πώς να σχηματίζεις προτάσεις; Ο προγραμματισμός έχει τη δική του έκδοση γραμματικής, και ειλικρινά, είναι πολύ πιο λογική και συγχωρητική από τη γραμματική της Αγγλικής γλώσσας! 😄
+Αυτό μοιάζει κάπως με το να μαθαίνεις τη γραμματική του προγραμματισμού. Θυμηθείτε όταν στο σχολείο μάθατε για ουσιαστικά, ρήματα και πώς να φτιάχνετε προτάσεις; Ο προγραμματισμός έχει τη δική του έκδοση γραμματικής και ειλικρινά, είναι πολύ πιο λογική και επιεικής από ό,τι ήταν η αγγλική γραμματική! 😄
-### Δηλώσεις: Οι Οδηγίες Βήμα προς Βήμα
+### Δηλώσεις: Οι Οδηγίες Βήμα-Βήμα
-Ας ξεκινήσουμε με τις **δηλώσεις** – αυτές είναι σαν μεμονωμένες προτάσεις σε μια συνομιλία με τον υπολογιστή σου. Κάθε δήλωση λέει στον υπολογιστή να κάνει ένα συγκεκριμένο πράγμα, σαν να δίνεις οδηγίες: "Στρίψε αριστερά εδώ", "Σταμάτα στο κόκκινο φανάρι", "Πάρκαρε εκεί".
+Ας ξεκινήσουμε με τις **δηλώσεις** – είναι σαν μεμονωμένες προτάσεις σε μια συζήτηση με τον υπολογιστή σας. Κάθε δήλωση λέει στον υπολογιστή να κάνει ένα συγκεκριμένο πράγμα, κάπως σαν να δίνετε οδηγίες: "Στρίψε αριστερά εδώ," "Σταμάτα στο κόκκινο φανάρι," "Παρκάρισε εκεί."
-Αυτό που λατρεύω στις δηλώσεις είναι πόσο ευανάγνωστες είναι συνήθως. Δες αυτό:
+Αυτό που μου αρέσει στις δηλώσεις είναι το πόσο αναγνώσιμες είναι συνήθως. Ρίξτε μια ματιά:
```javascript
// Βασικές δηλώσεις που εκτελούν μεμονωμένες ενέργειες
@@ -284,31 +286,31 @@ const userName = "Alex";
console.log("Hello, world!");
const sum = 5 + 3;
```
-
-**Αυτό που κάνει αυτός ο κώδικας:**
-- **Δηλώνει** μια σταθερή μεταβλητή για να αποθηκεύσει το όνομα χρήστη
-- **Εμφανίζει** ένα μήνυμα χαιρετισμού στην κονσόλα
-- **Υπολογίζει** και αποθηκεύει το αποτέλεσμα μιας μαθηματικής λειτουργίας
+
+**Αυτό που κάνει ο κώδικας:**
+- **Δηλώνει** μια σταθερά μεταβλητή για να αποθηκεύσει το όνομα ενός χρήστη
+- **Εμφανίζει** ένα μήνυμα χαιρετισμού στην κονσόλα
+- **Υπολογίζει** και αποθηκεύει το αποτέλεσμα μιας μαθηματικής πράξης
```javascript
// Δηλώσεις που αλληλεπιδρούν με ιστοσελίδες
document.title = "My Awesome Website";
document.body.style.backgroundColor = "lightblue";
```
-
-**Βήμα προς βήμα, αυτό συμβαίνει:**
-- **Τροποποιεί** τον τίτλο της ιστοσελίδας που εμφανίζεται στην καρτέλα του προγράμματος περιήγησης
-- **Αλλάζει** το χρώμα φόντου ολόκληρης της σελίδας
-### Μεταβλητές: Το Σύστημα Μνήμης Του Προγράμματός Σου
+**Βήμα-βήμα, αυτό συμβαίνει:**
+- **Τροποποιεί** τον τίτλο της ιστοσελίδας που εμφανίζεται στην καρτέλα του προγράμματος περιήγησης
+- **Αλλάζει** το χρώμα φόντου ολόκληρου του σώματος της σελίδας
-Εντάξει, οι **μεταβλητές** είναι ειλικρινά μία από τις αγαπημένες μου έννοιες για διδασκαλία επειδή είναι τόσο παρόμοιες με πράγματα που ήδη χρησιμοποιείς κάθε μέρα!
+### Μεταβλητές: Το Σύστημα Μνήμης του Προγράμματός Σας
-Σκέψου για λίγο τη λίστα επαφών του τηλεφώνου σου. Δεν απομνημονεύεις όλους τους αριθμούς τηλεφώνου – αντίθετα, αποθηκεύεις "Μαμά", "Καλύτερος Φίλος" ή "Το Πιτσαρία Που Παραδίδει Έως Τις 2 ΠΜ" και αφήνεις το τηλέφωνό σου να θυμάται τους πραγματικούς αριθμούς. Οι μεταβλητές λειτουργούν ακριβώς με τον ίδιο τρόπο! Είναι σαν ετικετοποιημένα δοχεία όπου το πρόγραμμα μπορεί να αποθηκεύει πληροφορίες και να τις ανακαλεί αργότερα χρησιμοποιώντας ένα όνομα που βγάζει νόημα.
+Εντάξει, οι **μεταβλητές** είναι ειλικρινά από τις αγαπημένες μου έννοιες για διδασκαλία επειδή μοιάζουν τόσο πολύ με πράγματα που ήδη χρησιμοποιείτε καθημερινά!
-Αυτό που είναι πραγματικά κουλ: οι μεταβλητές μπορούν να αλλάζουν καθώς τρέχει το πρόγραμμα (γι' αυτό και λέγονται "μεταβλητές" – κατάλαβες τι έκαναν εκεί;). Ακριβώς όπως μπορείς να ενημερώνεις την επαφή ενός πιτσαρία όταν ανακαλύπτεις κάπου ακόμα καλύτερο, οι μεταβλητές μπορούν να ενημερώνονται καθώς το πρόγραμμα μαθαίνει νέα δεδομένα ή όταν οι καταστάσεις αλλάζουν!
+Σκεφτείτε για μια στιγμή τη λίστα επαφών στο τηλέφωνό σας. Δεν απομνημονεύετε όλα τα τηλέφωνα – αντίθετα, αποθηκεύετε "Μαμά," "Καλύτερος Φίλος," ή "Εστιατόριο που Παραδίδει ως τις 2 π.μ." και αφήνετε το τηλέφωνο να θυμάται τους πραγματικούς αριθμούς. Οι μεταβλητές δουλεύουν ακριβώς το ίδιο! Είναι σαν δοχεία με ετικέτες όπου το πρόγραμμα μπορεί να αποθηκεύει πληροφορίες και να τις ανακτά αργότερα με ένα όνομα που έχει νόημα.
-Άσε με να σου δείξω πόσο απλό και όμορφο μπορεί να είναι αυτό:
+Αυτό που είναι πραγματικά ωραίο: οι μεταβλητές μπορούν να αλλάξουν καθώς τρέχει το πρόγραμμα (γι’ αυτό λέγονται "μεταβλητές" – καταλαβαίνετε το λογοπαίγνιο;). Ακριβώς όπως μπορεί να ενημερώσετε την επαφή του εστιατορίου πίτσας όταν βρείτε κάτι καλύτερο, έτσι και οι μεταβλητές μπορούν να ενημερώνονται καθώς το πρόγραμμα μαθαίνει νέα πράγματα ή αλλάζουν οι συνθήκες!
+
+Ας δείξω πόσο όμορφα απλό μπορεί να είναι αυτό:
```javascript
// Βήμα 1: Δημιουργία βασικών μεταβλητών
@@ -317,26 +319,26 @@ let currentWeather = "sunny";
let temperature = 75;
let isRaining = false;
```
-
-**Κατανόηση αυτών των εννοιών:**
-- **Αποθήκευση** αμετάβλητων τιμών σε μεταβλητές `const` (όπως το όνομα του ιστότοπου)
-- **Χρήση** `let` για τιμές που μπορούν να αλλάζουν μέσα στο πρόγραμμα
-- **Ανάθεση** διαφορετικών τύπων δεδομένων: συμβολοσειρές (κείμενο), αριθμοί, και boolean (αληθές/ψευδές)
-- **Επιλογή** περιγραφικών ονομάτων που εξηγούν τι αποθηκεύει κάθε μεταβλητή
+
+**Κατανόηση αυτών των εννοιών:**
+- **Αποθηκεύει** αμετάβλητες τιμές σε `const` μεταβλητές (π.χ. όνομα ιστοσελίδας)
+- **Χρησιμοποιεί** `let` για τιμές που μπορεί να αλλάζουν κατά τη διάρκεια του προγράμματος
+- **Αναθέτει** διαφορετικούς τύπους δεδομένων: αλφαριθμητικά (κείμενο), αριθμούς και boolean (true/false)
+- **Επιλέγει** περιγραφικά ονόματα που εξηγούν τι περιέχει κάθε μεταβλητή
```javascript
-// Βήμα 2: Εργασία με αντικείμενα για ομαδοποίηση σχετικών δεδομένων
+// Βήμα 2: Εργασία με αντικείμενα για την ομαδοποίηση σχετικών δεδομένων
const weatherData = {
location: "San Francisco",
humidity: 65,
windSpeed: 12
};
```
-
-**Στο παραπάνω έχουμε:**
-- **Δημιουργήσει** ένα αντικείμενο για να ομαδοποιήσουμε σχετικές πληροφορίες καιρού
-- **Οργανώσει** πολλά δεδομένα κάτω από ένα όνομα μεταβλητής
-- **Χρησιμοποιήσει** ζεύγη κλειδί-τιμή για να ετικετοποιήσουμε κάθε πληροφορία ξεκάθαρα
+
+**Πάνω απ’ όλα, έχουμε:**
+- **Δημιουργήσει** ένα αντικείμενο για να ομαδοποιήσουμε σχετικές πληροφορίες καιρού
+- **Οργανώσει** πολλαπλές πληροφορίες κάτω από ένα όνομα μεταβλητής
+- **Χρησιμοποιήσει** ζεύγη κλειδί-τιμής για να ετικετοποιήσουμε καθαρά κάθε κομμάτι πληροφορίας
```javascript
// Βήμα 3: Χρήση και ενημέρωση μεταβλητών
@@ -347,36 +349,36 @@ console.log(`Wind speed: ${weatherData.windSpeed} mph`);
currentWeather = "cloudy";
temperature = 68;
```
-
-**Ας κατανοήσουμε κάθε μέρος:**
-- **Εμφάνιση** πληροφοριών χρησιμοποιώντας template literals με σύνταξη `${}`
-- **Πρόσβαση** σε ιδιότητες αντικειμένων με τελεία (`weatherData.windSpeed`)
-- **Ενημέρωση** μεταβλητών δηλωμένων με `let` για να αντανακλούν μεταβαλλόμενες συνθήκες
-- **Συνδυασμός** πολλών μεταβλητών για δημιουργία νοημάτων μηνυμάτων
+
+**Ας κατανοήσουμε κάθε μέρος:**
+- **Εμφανίζει** πληροφορίες χρησιμοποιώντας template literals με τη σύνταξη `${}`
+- **Προσπελαύνει** τις ιδιότητες του αντικειμένου με σημειογραφία τελείας (`weatherData.windSpeed`)
+- **Ενημερώνει** μεταβλητές δηλωμένες με `let` για να αντανακλούν αλλαγές στις συνθήκες
+- **Συνδυάζει** πολλαπλές μεταβλητές για να δημιουργήσει νοηματικά μηνύματα
```javascript
-// Βήμα 4: Σύγχρονο αποδόμημα για πιο καθαρό κώδικα
+// Βήμα 4: Σύγχρονη αποδόμηση για πιο καθαρό κώδικα
const { location, humidity } = weatherData;
console.log(`${location} humidity: ${humidity}%`);
```
-
-**Τι πρέπει να ξέρεις:**
-- **Εξαγωγή** συγκεκριμένων ιδιοτήτων από αντικείμενα με αποδομητική ανάθεση
-- **Δημιουργία** νέων μεταβλητών αυτόματα με τα ίδια ονόματα όπως τα κλειδιά των αντικειμένων
-- **Απλοποίηση** του κώδικα αποφεύγοντας επαναλαμβανόμενη χρήση τελείας
-### Ροή Ελέγχου: Διδάσκοντας Το Πρόγραμμά Σου Να Σκέφτεται
+**Τι πρέπει να ξέρετε:**
+- **Εξάγει** συγκεκριμένες ιδιότητες από αντικείμενα με την κατανομή (destructuring assignment)
+- **Δημιουργεί** νέες μεταβλητές αυτόματα με τα ίδια ονόματα των κλειδιών του αντικειμένου
+- **Απλοποιεί** τον κώδικα αποφεύγοντας την επαναλαμβανόμενη σημειογραφία τελείας
-Εντάξει, εδώ ο προγραμματισμός γίνεται απολύτως εκπληκτικός! Η **ροή ελέγχου** ουσιαστικά μαθαίνει στο πρόγραμμα πώς να παίρνει έξυπνες αποφάσεις, ακριβώς όπως το κάνεις κι εσύ κάθε μέρα χωρίς καν να το συνειδητοποιείς.
+### Έλεγχος Ροής: Διδάσκοντας το Πρόγραμμά Σας να Σκέφτεται
-Φαντάσου το εξής: σήμερα το πρωί μάλλον πέρασες από κάτι σαν "Αν βρέχει, θα πάρω ομπρέλα. Αν κάνει κρύο, θα φορέσω μπουφάν. Αν αργώ, θα παραλείψω το πρωινό και θα πάρω καφέ στο δρόμο." Ο εγκέφαλός σου ακολουθεί αυτή την if-then λογική δεκάδες φορές κάθε μέρα!
+Εντάξει, εδώ γίνεται πραγματικά συναρπαστικό! Ο **έλεγχος ροής** είναι βασικά το να διδάσκεις το πρόγραμμα πώς να παίρνει έξυπνες αποφάσεις, ακριβώς όπως κάνετε εσείς κάθε μέρα χωρίς να το σκέφτεστε.
-Αυτό είναι που κάνει τα προγράμματα να φαίνονται έξυπνα και ζωντανά, αντί να απλώς ακολουθούν κάποιο βαρετό και προβλέψιμο σενάριο. Μπορούν να δουν μια κατάσταση, να αξιολογήσουν τι συμβαίνει, και να ανταποκριθούν κατάλληλα. Είναι σαν να δίνεις στο πρόγραμμα ένα μυαλό που μπορεί να προσαρμοστεί και να κάνει επιλογές!
+Φανταστείτε το εξής: σήμερα το πρωί πιθανόν κάνατε κάτι σαν "Αν βρέχει, θα πάρω ομπρέλα. Αν κάνει κρύο, θα φορέσω μπουφάν. Αν αργώ, θα παραλείψω το πρωινό και θα πάρω καφέ στο δρόμο." Ο εγκέφαλός σας ακολουθεί φυσικά αυτήν τη λογική αν-τότε δεκάδες φορές κάθε μέρα!
-Θες να δεις πόσο όμορφα λειτουργεί αυτό; Άσε με να σου δείξω:
+Αυτό κάνει τα προγράμματα να φαίνονται έξυπνα και ζωντανά, αντί απλά να ακολουθούν κάποιο βαρετό, προβλέψιμο σενάριο. Μπορούν πραγματικά να κοιτάξουν την κατάσταση, να αξιολογήσουν τι συμβαίνει και να ανταποκριθούν κατάλληλα. Σαν να δίνετε στο πρόγραμμά σας έναν εγκέφαλο που μπορεί να προσαρμοστεί και να παίρνει αποφάσεις!
+
+Θέλετε να δείτε πόσο όμορφα λειτουργεί; Ας δείξω:
```javascript
-// Βήμα 1: Βασική συνθήκη λογικής
+// Βήμα 1: Βασική λογική υπό συνθήκη
const userAge = 17;
if (userAge >= 18) {
@@ -386,12 +388,12 @@ if (userAge >= 18) {
console.log(`You'll be able to vote in ${yearsToWait} year(s).`);
}
```
-
-**Αυτό που κάνει ο κώδικας:**
-- **Ελέγχει** αν η ηλικία χρήστη πληροί την προϋπόθεση για ψήφο
-- **Εκτελεί** διαφορετικά μπλοκ κώδικα με βάση το αποτέλεσμα της συνθήκης
-- **Υπολογίζει** και εμφανίζει πόσος χρόνος μένει μέχρι να μπορεί να ψηφίσει αν είναι κάτω των 18
-- **Προσφέρει** συγκεκριμένη, χρήσιμη ανατροφοδότηση για κάθε σενάριο
+
+**Αυτό που κάνει ο κώδικας:**
+- **Ελέγχει** αν η ηλικία του χρήστη πληροί την προϋπόθεση ψήφου
+- **Εκτελεί** διαφορετικά μπλοκ κώδικα ανάλογα με το αποτέλεσμα της συνθήκης
+- **Υπολογίζει** και εμφανίζει πόσος χρόνος απομένει μέχρι την ικανότητα ψήφου αν είναι κάτω των 18
+- **Προσφέρει** συγκεκριμένη και χρήσιμη ανατροφοδότηση για κάθε περίπτωση
```javascript
// Βήμα 2: Πολλαπλές συνθήκες με λογικούς τελεστές
@@ -406,23 +408,23 @@ if (userAge >= 18 && hasPermission) {
console.log("Sorry, you must be at least 16 years old.");
}
```
-
-**Ανάλυση τι συμβαίνει εδώ:**
-- **Συνδυάζει** πολλαπλές συνθήκες με τον τελεστή `&&` (και)
-- **Δημιουργεί** ιεραρχία συνθηκών με `else if` για πολλαπλά σενάρια
-- **Χειρίζεται** όλες τις πιθανές περιπτώσεις με μια τελική δήλωση `else`
-- **Παρέχει** σαφή και πράξημο ανατροφοδότηση για κάθε διαφορετική κατάσταση
+
+**Ανάλυση όσων συμβαίνουν εδώ:**
+- **Συνδυάζει** πολλαπλές προϋποθέσεις με τον τελεστή `&&` (και)
+- **Δημιουργεί** ιεραρχία συνθηκών με `else if` για πολλαπλά σενάρια
+- **Χειρίζεται** όλες τις πιθανές περιπτώσεις με μια τελευταία δήλωση `else`
+- **Προσφέρει** σαφή και εφαρμόσιμη ανατροφοδότηση για κάθε διαφορετική κατάσταση
```javascript
-// Βήμα 3: Συνοπτική συνθήκη με τον τριμερικό τελεστή
+// Βήμα 3: Συνοπτική συνθήκη με τριαδικό τελεστή
const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
console.log(`Status: ${votingStatus}`);
```
-
-**Τι πρέπει να θυμάσαι:**
-- **Χρησιμοποίησε** τον τριαδικό τελεστή (`? :`) για απλές συνθήκες με δύο επιλογές
-- **Γράψε** πρώτα τη συνθήκη, μετά `?`, μετά την αληθή περίπτωση, μετά `:`, και μετά την ψευδή περίπτωση
-- **Εφάρμοσε** αυτό το μοτίβο όταν χρειάζεσαι να αναθέσεις τιμές βάσει συνθηκών
+
+**Τι πρέπει να θυμάστε:**
+- **Χρησιμοποιείστε** τον τελεστή ternary (`? :`) για απλές συνθήκες με δύο επιλογές
+- **Γράψτε** πρώτα τη συνθήκη, μετά το `?`, μετά το αποτέλεσμα αν αληθές, μετά το `:`, και τέλος το αποτέλεσμα αν ψευδές
+- **Εφαρμόστε** αυτό το μοτίβο όταν χρειάζεται να αναθέσετε τιμές βάσει συνθηκών
```javascript
// Βήμα 4: Διαχείριση πολλαπλών συγκεκριμένων περιπτώσεων
@@ -444,55 +446,55 @@ switch (dayOfWeek) {
console.log("Invalid day of the week");
}
```
-
-**Αυτός ο κώδικας πετυχαίνει τα εξής:**
-- **Ταιριάζει** την τιμή μιας μεταβλητής σε πολλές συγκεκριμένες περιπτώσεις
-- **Ομαδοποιεί** παρόμοιες περιπτώσεις μαζί (εργάσιμες ημέρες έναντι σαββατοκύριακων)
-- **Εκτελεί** το κατάλληλο μπλοκ κώδικα όταν βρεθεί ταύτιση
-- **Περιλαμβάνει** μια `default` περίπτωση για την αντιμετώπιση απρόβλεπτων τιμών
-- **Χρησιμοποιεί** δηλώσεις `break` για να εμποδίσει τον κώδικα να συνεχίσει στην επόμενη περίπτωση
-> 💡 **Αναλογία από την πραγματική ζωή**: Σκέψου τη ροή ελέγχου σαν το πιο υπομονετικό GPS στον κόσμο που σου δίνει οδηγίες. Μπορεί να σου πει "Αν υπάρχει κίνηση στην Οδό Κεντρικής, πάρε τον αυτοκινητόδρομο. Αν ο δρόμος μπλοκάρεται από έργα, δοκίμασε τη διαδρομή με θέα." Τα προγράμματα χρησιμοποιούν ακριβώς αυτό το είδος λογικής για να ανταποκρίνονται έξυπνα σε διαφορετικές καταστάσεις και πάντα να προσφέρουν την καλύτερη δυνατή εμπειρία στους χρήστες.
+**Αυτός ο κώδικας επιτυγχάνει:**
+- **Ταιριάζει** την τιμή της μεταβλητής με πολλαπλές συγκεκριμένες περιπτώσεις
+- **Ομαδοποιεί** παρόμοιες περιπτώσεις μαζί (εργάσιμες ημέρες έναντι σαββατοκύριακων)
+- **Εκτελεί** το αντίστοιχο μπλοκ κώδικα όταν βρεθεί ταίριασμα
+- **Περιλαμβάνει** μια περίπτωση `default` για να χειριστεί απρόβλεπτες τιμές
+- **Χρησιμοποιεί** δηλώσεις `break` για να αποτρέψει τη συνέχεια στον επόμενο case
+
+> 💡 **Πραγματικό παράδειγμα**: Σκεφτείτε τον έλεγχο ροής σαν να έχετε το πιο υπομονετικό GPS στον κόσμο που σας δίνει οδηγίες. Μπορεί να πει "Αν έχει κίνηση στη Λεωφόρο Κύρια, πάρε τον αυτοκινητόδρομο. Αν οι εργασίες κλείνουν τον αυτοκινητόδρομο, δοκίμασε τη γραφική διαδρομή." Τα προγράμματα χρησιμοποιούν ακριβώς αυτόν τον τύπο λογικής για να ανταποκρίνονται έξυπνα σε διάφορες καταστάσεις και πάντα να προσφέρουν την καλύτερη δυνατή εμπειρία στους χρήστες.
-### 🎯 **Έλεγχος Έννοιας: Κυριαρχία Στα Θεμελιώδη Στοιχεία**
+### 🎯 **Έλεγχος Εννοιών: Κατανόηση των Βασικών**
-**Ας δούμε πώς τα πας με τα βασικά:**
-- Μπορείς να εξηγήσεις τη διαφορά ανάμεσα σε μεταβλητή και δήλωση με δικά σου λόγια;
-- Σκέψου ένα πραγματικό παράδειγμα όπου θα χρησιμοποιούσες μια απόφαση τύπου if-then (όπως στο παράδειγμα της ψήφου)
-- Ποιο είναι κάτι στην λογική του προγραμματισμού που σε εξέπληξε;
+**Ας δούμε πώς τα πάτε με τα βασικά:**
+- Μπορείτε να εξηγήσετε τη διαφορά μεταξύ μεταβλητής και δήλωσης με δικά σας λόγια;
+- Σκεφτείτε ένα παράδειγμα της καθημερινότητας όπου θα χρησιμοποιούσατε μια απόφαση αν-τότε (όπως το παράδειγμα της ψήφου)
+- Ποιο είναι ένα πράγμα για τη λογική προγραμματισμού που σας εξέπληξε;
-**Γρήγορο ενισχυτικό αυτοπεποίθησης:**
+**Γρήγορο κίνητρο αυτοπεποίθησης:**
```mermaid
flowchart LR
- A["📝 Δηλώσεις (Εντολές)"] --> B["📦 Μεταβλητές (Αποθήκευση)"] --> C["🔀 Έλεγχος Ροής (Αποφάσεις)"] --> D["🎉 Λειτουργικό Πρόγραμμα!"]
+ A["📝 Δηλώσεις (Οδηγίες)"] --> B["📦 Μεταβλητές (Αποθήκευση)"] --> C["🔀 Ροή Ελέγχου (Αποφάσεις)"] --> D["🎉 Λειτουργικό Πρόγραμμα!"]
style A fill:#ffeb3b
style B fill:#4caf50
style C fill:#2196f3
style D fill:#ff4081
-```
-✅ **Τι θα ακολουθήσει**: Θα περάσουμε υπέροχα εξερευνώντας πιο βαθιά αυτές τις έννοιες καθώς θα συνεχίζουμε μαζί αυτό το απίστευτο ταξίδι! Τώρα απλώς εστίασε στο να νιώθεις τον ενθουσιασμό για όλες τις εκπληκτικές δυνατότητες που έχεις μπροστά σου. Οι συγκεκριμένες δεξιότητες και τεχνικές θα έρθουν φυσικά καθώς θα εξασκούμαστε μαζί – υπόσχομαι πως αυτό θα είναι πολύ πιο διασκεδαστικό από όσο πιθανώς φαντάζεσαι!
+```
+✅ **Τι ακολουθεί**: Θα διασκεδάσουμε απίστευτα εξερευνώντας βαθύτερα αυτές τις έννοιες καθώς προχωρούμε σε αυτό το απίστευτο ταξίδι μαζί! Αυτή τη στιγμή, απλά συγκεντρωθείτε στο να νιώσετε τον ενθουσιασμό για όλες τις εκπληκτικές δυνατότητες που έρχονται. Οι συγκεκριμένες δεξιότητες και τεχνικές θα αποτυπωθούν φυσικά καθώς εξασκούμαστε – υπόσχομαι ότι θα είναι πολύ πιο διασκεδαστικό απ’ όσο φαντάζεστε!
-## Εργαλεία Του Εμπορίου
+## Εργαλεία της Τέχνης
-Εντάξει, εδώ πραγματικά ενθουσιάζομαι τόσο που σχεδόν δεν μπορώ να το συγκρατήσω! 🚀 Ετοιμαζόμαστε να μιλήσουμε για τα απίστευτα εργαλεία που θα σε κάνουν να νιώσεις σαν να σου έδωσαν τα κλειδιά ενός ψηφιακού διαστημικού σκάφους.
+Εντάξει, εδώ πραγματικά ενθουσιάζομαι τόσο που σχεδόν δεν μπορώ να συγκρατηθώ! 🚀 Ετοιμαζόμαστε να μιλήσουμε για τα απίστευτα εργαλεία που θα σας κάνουν να νιώσετε σαν να κρατάτε τα κλειδιά ενός ψηφιακού διαστημόπλοιου.
-Ξέρεις πώς ένας σεφ έχει τα τέλεια ισορροπημένα μαχαίρια που νιώθεις σαν προέκταση των χεριών του; Ή πώς ένας μουσικός έχει την κιθάρα που μοιάζει να τραγουδά τη στιγμή που την αγγίζει; Λοιπόν, οι προγραμματιστές έχουμε τη δική μας εκδοχή αυτών των μαγικών εργαλείων, και εδώ είναι το πιο εκπληκτικό που θα σου αλλάξει το μυαλό – τα περισσότερα είναι εντελώς δωρεάν!
+Ξέρετε πώς ένας σεφ έχει αυτά τα απόλυτα ισορροπημένα μαχαίρια που νιώθουν σαν προέκταση των χεριών του; Ή πώς ένας μουσικός έχει εκείνη την κιθάρα που μοιάζει να τραγουδάει τη στιγμή που την αγγίζει; Ε, οι προγραμματιστές έχουμε τη δική μας έκδοση αυτών των μαγικών εργαλείων, και εδώ είναι κάτι που θα σας αφήσει άφωνους – τα περισσότερα από αυτά είναι εντελώς δωρεάν!
-Πραγματικά χοροπηδάω στην καρέκλα μου σκεπτόμενος να τα μοιραστώ μαζί σου, γιατί έχουν επαναστατικοποιήσει τον τρόπο που φτιάχνουμε λογισμικό. Μιλάμε για βοηθούς προγραμματισμού με τεχνητή νοημοσύνη που μπορούν να σε βοηθήσουν να γράψεις τον κώδικά σου (σοβαρά τώρα!), περιβάλλοντα στην cloud όπου μπορείς να δημιουργήσεις ολόκληρες εφαρμογές από κυριολεκτικά οπουδήποτε υπάρχει Wi-Fi και εργαλεία debugging τόσο προηγμένα που είναι σαν να έχεις ακτίνες Χ για τα προγράμματά σου.
+Σχεδόν σκαρφαλώνω στην καρέκλα μου από ενθουσιασμό όταν σκέφτομαι να τα μοιραστώ μαζί σας γιατί έχουν αλλάξει ολοκληρωτικά τον τρόπο που δημιουργούμε λογισμικό. Μιλάμε για βοηθούς κωδικοποίησης με τεχνητή νοημοσύνη που μπορούν να γράφουν κώδικα για εσάς (δεν αστειεύομαι!), περιβάλλοντα στο cloud όπου μπορείτε να φτιάξετε ολόκληρες εφαρμογές από οπουδήποτε με Wi-Fi, και εργαλεία εντοπισμού σφαλμάτων τόσο εξελιγμένα που μοιάζουν να έχουν ακτίνες Χ στα προγράμματά σας.
-Και να το κομμάτι που ακόμα μου προκαλεί ανατριχίλα: αυτά δεν είναι «εργαλεία για αρχάριους» που θα ξεπεράσεις αργότερα. Αυτά είναι τα ίδια επαγγελματικού επιπέδου εργαλεία που χρησιμοποιούν προγραμματιστές στη Google, το Netflix, και στο indie στούντιο εφαρμογών που αγαπάς ακριβώς αυτή τη στιγμή. Θα νιώθεις τεράστιος επαγγελματίας όταν τα χρησιμοποιείς!
+Και το κομμάτι που πάντα μου δίνει ρίγος: αυτά δεν είναι εργαλεία «για αρχάριους» που θα ξεπεράσετε. Αυτά είναι ακριβώς τα ίδια επαγγελματικά εργαλεία που χρησιμοποιούν προγραμματιστές στην Google, στο Netflix, και σε εκείνο το indie στούντιο που λατρεύετε, αυτή ακριβώς τη στιγμή. Θα νιώθετε επαγγελματίες όταν τα χρησιμοποιείτε!
```mermaid
graph TD
- A["💡 Η Ιδέα Σας"] --> B["⌨️ Επεξεργαστής Κώδικα (VS Code)"]
- B --> C["🌐 Εργαλεία Προγραμματιστή Περιηγητή (Δοκιμή & Αποσφαλμάτωση)"]
- C --> D["⚡ Γραμμή Εντολών (Αυτοματισμός & Εργαλεία)"]
+ A["💡 Η Ιδέα Σου"] --> B["⌨️ Επεξεργαστής Κώδικα (VS Code)"]
+ B --> C["🌐 Εργαλεία Ανάπτυξης Περιηγητή (Δοκιμές & Εντοπισμός Σφαλμάτων)"]
+ C --> D["⚡ Γραμμή Εντολών (Αυτοματοποίηση & Εργαλεία)"]
D --> E["📚 Τεκμηρίωση (Μάθηση & Αναφορά)"]
- E --> F["🚀 Εκπληκτική Ιστοσελίδα!"]
+ E --> F["🚀 Εκπληκτική Εφαρμογή Ιστού!"]
B -.-> G["🤖 Βοηθός Τεχνητής Νοημοσύνης (GitHub Copilot)"]
- C -.-> H["📱 Δοκιμή Συσκευών (Ανταποκρινόμενος Σχεδιασμός)"]
+ C -.-> H["📱 Δοκιμή Συσκευής (Ανταποκρίσιμος Σχεδιασμός)"]
D -.-> I["📦 Διαχειριστές Πακέτων (npm, yarn)"]
E -.-> J["👥 Κοινότητα (Stack Overflow)"]
@@ -502,109 +504,110 @@ graph TD
style H fill:#f3e5f5
style I fill:#ffccbc
style J fill:#e8eaf6
-```
-### Επεξεργαστές Κώδικα και IDEs: Οι Νέοι Ψηφιακοί Καλύτεροι Φίλοι Σου
+```
+### Επεξεργαστές Κώδικα και IDEs: Οι Νέοι Σχεδόν Φίλοι Σας στον Ψηφιακό Κόσμο
-Ας μιλήσουμε για επεξεργαστές κώδικα – αυτοί σοβαρά πρόκειται να γίνουν τα νέα αγαπημένα σου μέρη για να περάσεις χρόνο! Σκέψου τους σαν το προσωπικό σου καταφύγιο κωδικοποίησης όπου θα περνάς το μεγαλύτερο μέρος του χρόνου σου δημιουργώντας και ολοκληρώνοντας τις ψηφιακές σου δημιουργίες.
+Ας μιλήσουμε για επεξεργαστές κώδικα – αυτοί πρόκειται σοβαρά να γίνουν τα νέα σας αγαπημένα μέρη για να περνάτε τον χρόνο σας! Σκεφτείτε τους σαν το προσωπικό σας καταφύγιο κωδικοποίησης όπου θα περνάτε το μεγαλύτερο μέρος του χρόνου σας δημιουργώντας και τελειοποιώντας τις ψηφιακές σας δημιουργίες.
-Αλλά να τι είναι μαγικό στους σύγχρονους επεξεργαστές: δεν είναι απλά ένα ωραίο πρόγραμμα επεξεργασίας κειμένου. Είναι σαν να έχεις τον πιο έξυπνο, υποστηρικτικό μέντορα προγραμματισμού καθισμένο δίπλα σου 24/7. Σου βρίσκουν τα λάθη πριν καν τα παρατηρήσεις, προτείνουν βελτιώσεις που σε κάνουν να φαίνεσαι ιδιοφυΐα, σε βοηθούν να καταλάβεις τι κάνει κάθε κομμάτι κώδικα, και κάποιοι μπορούν ακόμα να προβλέψουν τι πρόκειται να γράψεις και να προσφέρουν να ολοκληρώσουν τις σκέψεις σου!
+Αλλά εδώ είναι το μαγικό με τους σύγχρονους επεξεργαστές: δεν είναι απλά καλοφτιαγμένοι επεξεργαστές κειμένου. Είναι σαν να έχετε τον πιο λαμπρό, υποστηρικτικό μέντορα κώδικα δίπλα σας 24/7. Διόρθωνουν τα τυπογραφικά σας λάθη πριν τα προσέξετε, προτείνουν βελτιώσεις που σας κάνουν να φαίνεστε ιδιοφυΐες, σας βοηθούν να καταλάβετε τι κάνει κάθε κομμάτι κώδικα, και μερικοί μπορούν ακόμα να προβλέψουν τι θα γράψετε και να προσφέρουν να ολοκληρώσουν τις σκέψεις σας!
-Θυμάμαι όταν ανακάλυψα για πρώτη φορά το auto-completion – ένιωσα κυριολεκτικά σαν να ζω στο μέλλον. Ξεκινάς να γράφεις κάτι και ο επεξεργαστής σου λέει, "Ρε συ, μήπως σκεφτόσουν αυτή τη συνάρτηση που κάνει ακριβώς αυτό που χρειάζεσαι;" Είναι σαν να έχεις έναν τηλεπαθητικό φίλο προγραμματισμού!
+Θυμάμαι όταν ανακάλυψα για πρώτη φορά την αυτόματη συμπλήρωση – ένιωσα κυριολεκτικά σαν να ζω στο μέλλον. Αρχίζεις να πληκτρολογείς κάτι και ο επεξεργαστής λέει, "Έλεγες αυτή τη συνάρτηση που κάνει ακριβώς ό,τι χρειάζεσαι;" Είναι σαν να έχεις έναν τηλεπαθητικό φίλο στο κωδικογράφημα!
-**Τι κάνει αυτούς τους επεξεργαστές τόσο απίθανους;**
+**Τι κάνει αυτούς τους επεξεργαστές τόσο εκπληκτικούς;**
-Οι σύγχρονοι επεξεργαστές κώδικα προσφέρουν μια εντυπωσιακή γκάμα δυνατοτήτων για να αυξήσουν την παραγωγικότητά σου:
+Οι σύγχρονοι επεξεργαστές κώδικα προσφέρουν μια εντυπωσιακή ποικιλία χαρακτηριστικών για να αυξήσουν την παραγωγικότητά σας:
-| Δυνατότητα | Τι Κάνει | Γιατί Βοηθάει |
-|------------|----------|---------------|
-| **Έγχρωμη Ανάδειξη Συντακτικού** | Χρωματίζει διαφορετικά μέρη του κώδικά σου | Κάνει τον κώδικα πιο εύκολο στην ανάγνωση και εύρεση λαθών |
-| **Αυτόματη Συμπλήρωση** | Προτείνει κώδικα καθώς πληκτρολογείς | Επιταχύνει τον προγραμματισμό και μειώνει τα τυπογραφικά λάθη |
-| **Εργαλεία Εντοπισμού Σφαλμάτων** | Σε βοηθάει να βρεις και να διορθώσεις λάθη | Εξοικονομεί ώρες δυσκολιών και αναζητήσεων λαθών |
-| **Πρόσθετα** | Προσθέτουν εξειδικευμένες λειτουργίες | Προσαρμόζουν τον επεξεργαστή σου για οποιαδήποτε τεχνολογία |
-| **Βοηθοί Τεχνητής Νοημοσύνης** | Προτείνουν κώδικα και εξηγήσεις | Επιταχύνουν τη μάθηση και την παραγωγικότητα |
+| Χαρακτηριστικό | Τι Κάνει | Γιατί Βοηθάει |
+|---------|--------------|--------------|
+| **Επισήμανση Συντακτικού** | Βαφτίζει διαφορετικά μέρη του κώδικα | Κάνει τον κώδικα πιο εύκολο στην ανάγνωση και στην εύρεση λαθών |
+| **Αυτόματη Συμπλήρωση** | Προτείνει κώδικα καθώς πληκτρολογείτε | Επιταχύνει τον προγραμματισμό και μειώνει τα τυπογραφικά λάθη |
+| **Εργαλεία Αποσφαλμάτωσης** | Βοηθά να βρείτε και να διορθώσετε λάθη | Εξοικονομεί ώρες στην ανεύρεση σφαλμάτων |
+| **Επεκτάσεις** | Προσθέτουν εξειδικευμένες λειτουργίες | Προσαρμόζουν τον επεξεργαστή για οποιαδήποτε τεχνολογία |
+| **Βοηθοί AI** | Προτείνουν κώδικα και εξηγήσεις | Επιταχύνουν τη μάθηση και την παραγωγικότητα |
-> 🎥 **Βίντεο Πόρος**: Θέλεις να δεις αυτά τα εργαλεία σε δράση; Δες αυτό το [βίντεο Tools of the Trade](https://youtube.com/watch?v=69WJeXGBdxg) για μια ολοκληρωμένη επισκόπηση.
+> 🎥 **Βίντεο Πόρος**: Θέλετε να δείτε αυτά τα εργαλεία σε δράση; Δείτε αυτό το [βίντεο Εργαλεία της Τέχνης](https://youtube.com/watch?v=69WJeXGBdxg) για μια ολοκληρωμένη επισκόπηση.
-#### Συνιστώμενοι Επεξεργαστές για Web Development
+#### Προτεινόμενοι Επεξεργαστές για Ανάπτυξη Ιστού
-**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (Δωρεάν)
-- Ο πιο δημοφιλής μεταξύ των web developers
-- Εξαιρετικό οικοσύστημα προσθέτων
-- Ενσωματωμένο τερματικό και ολοκλήρωση με Git
-- **Απαραίτητα πρόσθετα**:
- - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - Προτάσεις κώδικα με τεχνητή νοημοσύνη
- - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - Συνεργασία σε πραγματικό χρόνο
- - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - Αυτόματη μορφοποίηση κώδικα
- - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - Ανίχνευση ορθογραφικών λαθών στον κώδικα
+**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (Δωρεάν)
+- Πιο δημοφιλής στους προγραμματιστές ιστού
+- Εξαιρετικό οικοσύστημα επεκτάσεων
+- Ενσωματωμένο τερματικό και υποστήριξη Git
+- **Επιβεβλημένες επεκτάσεις**:
+ - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - Προτάσεις κώδικα με AI
+ - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - Συνεργασία σε πραγματικό χρόνο
+ - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - Αυτόματη μορφοποίηση κώδικα
+ - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - Εντοπίζει τυπογραφικά λάθη στον κώδικα
-**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (Επί πληρωμή, δωρεάν για φοιτητές)
-- Προηγμένα εργαλεία debugging και testing
-- Έξυπνη αυτόματη συμπλήρωση κώδικα
-- Ενσωματωμένος έλεγχος έκδοσης
+**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (Επί πληρωμή, δωρεάν για φοιτητές)
+- Προηγμένα εργαλεία αποσφαλμάτωσης και δοκιμών
+- Έξυπνη ολοκλήρωση κώδικα
+- Ενσωματωμένος έλεγχος έκδοσης
-**Cloud-Based IDEs** (Διάφορες τιμές)
-- [GitHub Codespaces](https://github.com/features/codespaces) - Ολόκληρο VS Code μέσα στον browser σου
-- [Replit](https://replit.com/) - Ιδανικό για μάθηση και κοινή χρήση κώδικα
-- [StackBlitz](https://stackblitz.com/) - Άμεση ανάπτυξη web εφαρμογών πλήρους στοίβας
+**IDEs βάσει Cloud** (Διάφορες τιμές)
+- [GitHub Codespaces](https://github.com/features/codespaces) - Πλήρες VS Code σε πρόγραμμα περιήγησης
+- [Replit](https://replit.com/) - Ιδανικό για μάθηση και κοινή χρήση κώδικα
+- [StackBlitz](https://stackblitz.com/) - Άμεση ανάπτυξη web full-stack
-> 💡 **Συμβουλή για να ξεκινήσεις**: Ξεκίνα με το Visual Studio Code – είναι δωρεάν, ευρέως χρησιμοποιούμενο στη βιομηχανία, και έχει μια τεράστια κοινότητα που δημιουργεί χρήσιμα tutorials και πρόσθετα.
+> 💡 **Συμβουλή για ξεκίνημα**: Ξεκινήστε με το Visual Studio Code – είναι δωρεάν, ευρέως χρησιμοποιούμενο στη βιομηχανία και έχει μια τεράστια κοινότητα που δημιουργεί χρήσιμα μαθήματα και επεκτάσεις.
-### Περιηγητές Ιστού: Το Μυστικό Σου Εργαστήριο Ανάπτυξης
-Εντάξει, ετοιμάσου να σοκαριστείς τελείως! Ξέρεις πώς χρησιμοποιείς τους περιηγητές για να σκρολάρεις στα social media και να βλέπεις βίντεο; Λοιπόν, αποδεικνύεται πως έκρυβαν αυτό το απίστευτο μυστικό εργαστήριο προγραμματισμού όλον αυτόν τον καιρό, περιμένοντας απλά να το ανακαλύψεις!
+### Προγράμματα Περιήγησης: Το Μυστικό Εργαστήριο Ανάπτυξής Σας
-Κάθε φορά που κάνεις δεξί κλικ σε μια ιστοσελίδα και επιλέγεις "Επιθεώρηση στοιχείου" ανοίγεις έναν κρυφό κόσμο εργαλείων προγραμματιστή που είναι ειλικρινά πιο ισχυρά από μερικά ακριβά λογισμικά που πληρωνόμουν εκατοντάδες ευρώ παλιότερα. Είναι σαν να ανακαλύπτεις ότι η παλιά σου κουζίνα έκρυβε ένα επαγγελματικό εργαστήριο σεφ πίσω από ένα κρυφό πάνελ!
-Την πρώτη φορά που μου έδειξε κάποιος τα DevTools του browser, πέρασα περίπου τρεις ώρες απλώς κάνοντας κλικ και λέγοντας «ΠΕΡΙΜΕΝΕ, ΜΠΟΡΕΙ ΝΑ ΚΑΝΕΙ ΚΙ ΑΥΤΟ;!» Μπορείς κυριολεκτικά να επεξεργαστείς οποιαδήποτε ιστοσελίδα σε πραγματικό χρόνο, να δεις ακριβώς πόσο γρήγορα φορτώνει τα πάντα, να δοκιμάσεις πώς φαίνεται ο ιστότοπός σου σε διαφορετικές συσκευές, και ακόμα να αποσφαλματώσεις JavaScript σαν απόλυτος επαγγελματίας. Είναι πραγματικά απίστευτο!
+Εντάξει, ετοιμαστείτε να σας φύγει το μυαλό! Ξέρετε πώς χρησιμοποιείτε τα προγράμματα περιήγησης για να σκρολάρετε στα κοινωνικά δίκτυα και να βλέπετε βίντεο; Λοιπόν, αποδείχτηκε ότι κρύβουν αυτό το απίστευτο μυστικό εργαστήριο προγραμματιστών όλη αυτή την ώρα, απλά περιμένοντας να το ανακαλύψετε!
-**Γιατί οι browsers είναι το μυστικό σου όπλο:**
+Κάθε φορά που κάνετε δεξί κλικ σε μια ιστοσελίδα και επιλέγετε "Επιθεώρηση στοιχείου", ανοίγετε έναν κρυφό κόσμο εργαλείων ανάπτυξης που είναι ειλικρινά πιο ισχυρά από ορισμένα ακριβά προγράμματα που πλήρωνα εκατοντάδες ευρώ. Είναι σαν να ανακαλύπτετε ότι η συνηθισμένη σας κουζίνα έκρυβε ένα επαγγελματικό εργαστήριο σεφ πίσω από μια μυστική πόρτα!
+Την πρώτη φορά που κάποιος μου έδειξε τα DevTools του browser, πέρασα περίπου τρεις ώρες απλώς κάνοντας κλικ και λέγοντας «ΠΕΡΙΜΕΝΕ, ΜΠΟΡΕΙ ΝΑ ΚΑΝΕΙ ΚΙ ΑΥΤΟ;!» Μπορείς κυριολεκτικά να επεξεργαστείς οποιαδήποτε ιστοσελίδα σε πραγματικό χρόνο, να δεις ακριβώς πόσο γρήγορα φορτώνει το κάθε τι, να δοκιμάσεις πώς φαίνεται ο ιστότοπός σου σε διαφορετικές συσκευές, και ακόμα να κάνεις αποσφαλμάτωση JavaScript σαν απόλυτος επαγγελματίας. Είναι πραγματικά εκπληκτικό!
-Όταν δημιουργείς μια ιστοσελίδα ή μια web εφαρμογή, χρειάζεται να δεις πώς φαίνεται και πώς συμπεριφέρεται στον πραγματικό κόσμο. Οι browsers όχι μόνο εμφανίζουν τη δουλειά σου, αλλά παρέχουν και λεπτομερή ανατροφοδότηση για την απόδοση, την προσβασιμότητα και πιθανά προβλήματα.
+**Αυτός είναι ο λόγος που οι browsers είναι το μυστικό σου όπλο:**
+
+Όταν δημιουργείς έναν ιστότοπο ή μια διαδικτυακή εφαρμογή, χρειάζεται να δεις πώς φαίνεται και πώς συμπεριφέρεται σε πραγματικές συνθήκες. Οι browsers όχι μόνο εμφανίζουν τη δουλειά σου, αλλά παρέχουν και λεπτομερή ανατροφοδότηση σχετικά με τις επιδόσεις, την προσβασιμότητα και πιθανά προβλήματα.
#### Εργαλεία Ανάπτυξης Browser (DevTools)
Οι σύγχρονοι browsers περιλαμβάνουν ολοκληρωμένες σουίτες ανάπτυξης:
-| Κατηγορία Εργαλείου | Τι Κάνει | Παράδειγμα Χρήσης |
+| Κατηγορία Εργαλείων | Τι Κάνει | Παράδειγμα Χρήσης |
|---------------------|----------|-------------------|
-| **Επιθεωρητής Στοιχείων** | Προβολή και επεξεργασία HTML/CSS σε πραγματικό χρόνο | Προσαρμογή στυλ για άμεσα αποτελέσματα |
-| **Κονσόλα** | Προβολή μηνυμάτων σφαλμάτων και δοκιμή JavaScript | Αποσφαλμάτωση προβλημάτων και πειραματισμός με κώδικα |
-| **Παρακολούθηση Δικτύου** | Παρακολούθηση φόρτωσης πόρων | Βελτιστοποίηση απόδοσης και χρόνων φόρτωσης |
-| **Έλεγχος Προσβασιμότητας** | Δοκιμή για συμπεριληπτικό σχεδιασμό | Εξασφάλιση λειτουργικότητας για όλους τους χρήστες |
+| **Επιθεωρητής Στοιχείων** | Προβολή και επεξεργασία HTML/CSS σε πραγματικό χρόνο | Προσαρμογή στυλ για άμεσο αποτέλεσμα |
+| **Κονσόλα** | Προβολή μηνυμάτων σφάλματος και δοκιμή JavaScript | Αποσφαλμάτωση προβλημάτων και πειραματισμός με κώδικα |
+| **Παρακολούθηση Δικτύου** | Παρακολούθηση του πώς φορτώνουν οι πόροι | Βελτιστοποίηση επιδόσεων και χρόνων φόρτωσης |
+| **Έλεγχος Προσβασιμότητας** | Δοκιμή για συμπεριληπτικό σχεδιασμό | Διασφάλιση λειτουργίας του ιστότοπου για όλους τους χρήστες |
| **Προσομοιωτής Συσκευών** | Προεπισκόπηση σε διαφορετικά μεγέθη οθόνης | Δοκιμή responsive σχεδιασμού χωρίς πολλές συσκευές |
-#### Προτεινόμενοι Browsers για Ανάπτυξη
+#### Συνιστώμενοι Browsers για Ανάπτυξη
-- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - Πρότυπα DevTools με εκτενή τεκμηρίωση
-- **[Firefox](https://developer.mozilla.org/docs/Tools)** - Εξαιρετικά εργαλεία CSS Grid και προσβασιμότητας
-- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - Βασισμένος σε Chromium με πόρους ανάπτυξης της Microsoft
+- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - Βιομηχανικό πρότυπο DevTools με εκτενή τεκμηρίωση
+- **[Firefox](https://developer.mozilla.org/docs/Tools)** - Εξαιρετικά εργαλεία για CSS Grid και προσβασιμότητα
+- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - Βασισμένος στο Chromium με πόρους ανάπτυξης από την Microsoft
-> ⚠️ **Σημαντική Συμβουλή Δοκιμών**: Πάντα να δοκιμάζεις τους ιστότοπούς σου σε πολλαπλούς browsers! Αυτό που λειτουργεί τέλεια στο Chrome μπορεί να φαίνεται διαφορετικό στο Safari ή στο Firefox. Οι επαγγελματίες προγραμματιστές δοκιμάζουν σε όλους τους μεγάλους browsers για να εξασφαλίσουν συνεπή εμπειρία χρήστη.
+> ⚠️ **Σημαντική Συμβουλή Δοκιμών**: Δοκίμασε πάντα τις ιστοσελίδες σου σε πολλούς browsers! Ό,τι λειτουργεί τέλεια στο Chrome μπορεί να φαίνεται διαφορετικό στο Safari ή Firefox. Οι επαγγελματίες προγραμματιστές ελέγχουν σε όλους τους μεγάλους browsers για να εξασφαλίσουν συνεπείς εμπειρίες χρήστη.
-### Εργαλεία Γραμμής Εντολών: Η Πύλη σου σε Υπερδυνάμεις Προγραμματιστή
+### Εργαλεία Γραμμής Εντολών: Η Πύλη σου προς Υπερδυνάμεις Προγραμματιστή
-Εντάξει, ας έχουμε μια εντελώς ειλικρινή στιγμή εδώ για τη γραμμή εντολών, γιατί θέλω να το ακούσεις από κάποιον που το καταλαβαίνει πραγματικά. Την πρώτη φορά που την είδα – αυτήν την τρομακτική μαύρη οθόνη με το αναβοσβήσιμο κείμενο – σκέφτηκα κυριολεκτικά, «Όχι, ούτε καν! Φαίνεται κάτι από ταινία χάκερ των 1980s, και σίγουρα δεν είμαι αρκετά έξυπνος γι’ αυτό!» 😅
+Εντάξει, ας έχουμε μια εντελώς ειλικρινή στιγμή εδώ για τη γραμμή εντολών, γιατί θέλω να το ακούσεις από κάποιον που το καταλαβαίνει πραγματικά. Όταν την πρωτοείδα – αυτή την τρομακτική μαύρη οθόνη με το αναβοσβήσιμο κείμενο – πραγματικά σκέφτηκα, «Όχι, καθόλου! Αυτό μοιάζει με κάτι από μια ταινία χάκερ της δεκαετίας του 1980, και σίγουρα δεν είμαι αρκετά έξυπνος για αυτό!» 😅
-Αλλά εδώ είναι τι θα ήθελα να μου είχε πει κάποιος τότε, και τι σου λέω τώρα: η γραμμή εντολών δεν είναι τρομακτική – είναι σαν να έχεις μια άμεση συνομιλία με τον υπολογιστή σου. Σκέψου την ως τη διαφορά μεταξύ της παραγγελίας φαγητού μέσω μιας κομψής εφαρμογής με εικόνες και μενού (που είναι ωραίο και εύκολο) και της εισόδου στο αγαπημένο σου τοπικό εστιατόριο, όπου ο σεφ ξέρει ακριβώς τι σου αρέσει και μπορεί να σου ετοιμάσει κάτι τέλειο απλώς λέγοντας «έκπληξέ με με κάτι καταπληκτικό.»
+Αλλά αυτό που θα ήθελα να μου είχε πει κάποιος τότε, και αυτό που σου λέω τώρα, είναι: η γραμμή εντολών δεν είναι τρομακτική – είναι πραγματικά σαν να έχεις μια άμεση συνομιλία με τον υπολογιστή σου. Φαντάσου τη διαφορά μεταξύ παραγγελίας φαγητού μέσω μιας κομψής εφαρμογής με εικόνες και μενού (που είναι ωραία και εύκολη), και του να μπεις στο αγαπημένο σου τοπικό εστιατόριο όπου ο σεφ ξέρει ακριβώς τι σου αρέσει και μπορεί να φτιάξει κάτι τέλειο, απλώς λέγοντας «έκπληξέ με με κάτι υπέροχο».
-Η γραμμή εντολών είναι το μέρος όπου οι προγραμματιστές νιώθουν σαν απόλυτοι μάγοι. Πληκτρολογείς μερικές λέξεις που μοιάζουν μαγικές (εντάξει, είναι απλές εντολές, αλλά νιώθουν μαγικές!), πατάς enter και ΜΠΑΜ – δημιούργησες ολόκληρες δομές έργων, εγκατέστησες ισχυρά εργαλεία από όλο τον κόσμο, ή ανέβασες την εφαρμογή σου στο διαδίκτυο για εκατομμύρια ανθρώπους να τη δουν. Μόλις δοκιμάσεις αυτή τη δύναμη, είναι εθιστικό!
+Η γραμμή εντολών είναι το μέρος όπου πηγαίνουν οι προγραμματιστές για να νιώσουν σαν απόλυτοι μάγοι. Πληκτρολογείς μερικές φαινομενικά μαγικές λέξεις (εντάξει, είναι απλώς εντολές, αλλά νιώθουν μαγικές!), πατάς enter, και ΜΠΟΥΜ – έχεις δημιουργήσει ολόκληρες δομές έργου, εγκατέστησες πανίσχυρα εργαλεία από όλο τον κόσμο, ή ανέβασες την εφαρμογή σου στο διαδίκτυο για να τη δουν εκατομμύρια άνθρωποι. Μόλις πάρεις μια πρώτη γεύση αυτής της δύναμης, ειλικρινά γίνεται εθιστικό!
**Γιατί η γραμμή εντολών θα γίνει το αγαπημένο σου εργαλείο:**
-Ενώ οι γραφικές διεπαφές είναι υπέροχες για πολλές εργασίες, η γραμμή εντολών υπερισχύει στον αυτοματισμό, την ακρίβεια και την ταχύτητα. Πολλά εργαλεία ανάπτυξης δουλεύουν κυρίως μέσω διεπαφής γραμμής εντολών, και η εκμάθησή τους μπορεί να βελτιώσει δραματικά την παραγωγικότητά σου.
+Ενώ οι γραφικές διεπαφές είναι υπέροχες για πολλές εργασίες, η γραμμή εντολών ξεχωρίζει στην αυτοματοποίηση, την ακρίβεια και την ταχύτητα. Πολλά εργαλεία ανάπτυξης λειτουργούν κυρίως μέσω της γραμμής εντολών, και η εκμάθηση της αποδοτικής χρήσης τους μπορεί να βελτιώσει δραματικά την παραγωγικότητά σου.
```bash
-# Βήμα 1: Δημιουργήστε και μεταβείτε στον κατάλογο του έργου
+# Βήμα 1: Δημιουργήστε και μεταβείτε στον φάκελο του έργου
mkdir my-awesome-website
cd my-awesome-website
```
-**Αυτό που κάνει ο κώδικας:**
-- **Δημιουργεί** έναν νέο φάκελο "my-awesome-website" για το έργο σου
-- **Μετακινείσαι** στον νεοδημιουργημένο φάκελο για να ξεκινήσεις να δουλεύεις
+**Αυτός ο κώδικας κάνει τα εξής:**
+- **Δημιουργεί** έναν νέο φάκελο με το όνομα "my-awesome-website" για το έργο σου
+- **Μπαίνει** μέσα στον νέο φάκελο για να ξεκινήσεις να δουλεύεις
```bash
-# Βήμα 2: Αρχικοποιήστε το έργο με το package.json
+# Βήμα 2: Αρχικοποιήστε το έργο με package.json
npm init -y
# Εγκαταστήστε σύγχρονα εργαλεία ανάπτυξης
@@ -612,224 +615,222 @@ npm install --save-dev vite prettier eslint
npm install --save-dev @eslint/js
```
-**Βήμα βήμα, τι συμβαίνει:**
-- **Αρχικοποιεί** ένα νέο έργο Node.js με τις προεπιλεγμένες ρυθμίσεις χρησιμοποιώντας `npm init -y`
-- **Εγκαθιστά** το Vite ως σύγχρονο εργαλείο κατασκευής για γρήγορη ανάπτυξη και παραγωγή
-- **Προσθέτει** το Prettier για αυτόματο φορμάρισμα κώδικα και το ESLint για έλεγχο ποιότητας κώδικα
-- **Χρησιμοποιεί** τη σημαία `--save-dev` για να δηλώσει αυτές τις εξαρτήσεις ως μόνο για ανάπτυξη
+**Βήμα προς βήμα, εδώ συμβαίνει:**
+- **Αρχικοποιεί** νέο έργο Node.js με προεπιλεγμένες ρυθμίσεις χρησιμοποιώντας `npm init -y`
+- **Εγκαθιστά** το Vite ως μοντέρνο εργαλείο κατασκευής για γρήγορη ανάπτυξη και παραγωγή
+- **Προσθέτει** το Prettier για αυτόματο format κώδικα και το ESLint για έλεγχο ποιότητας κώδικα
+- **Χρησιμοποιεί** τη σημαία `--save-dev` για να τα ορίσει ως εξαρτήσεις μόνο ανάπτυξης
```bash
-# Βήμα 3: Δημιουργήστε τη δομή και τα αρχεία του έργου
+# Βήμα 3: Δημιουργήστε τη δομή του έργου και τα αρχεία
mkdir src assets
echo 'My Site
Hello World
' > index.html
-# Εκκινήστε τον διακομιστή ανάπτυξης
+# Εκκίνηση διακομιστή ανάπτυξης
npx vite
```
-**Στο παραπάνω έχουμε:**
-- **Οργανώσει** το έργο μας δημιουργώντας ξεχωριστούς φακέλους για τον κώδικα πηγής και τα αρχεία
-- **Παράγει** ένα βασικό αρχείο HTML με σωστή δομή εγγράφου
-- **Ξεκίνησε** τον διακομιστή ανάπτυξης Vite για live-reloading και hot module replacement
+**Στο παραπάνω, έχουμε:**
+- **Οργανώσει** το έργο μας δημιουργώντας ξεχωριστούς φακέλους για τον πηγαίο κώδικα και τα assets
+- **Δημιουργήσει** ένα βασικό αρχείο HTML με σωστή δομή εγγράφου
+- **Ξεκινήσει** τον διακομιστή ανάπτυξης Vite για ζωντανή ανανέωση και hot module replacement
-#### Απαραίτητα Εργαλεία Γραμμής Εντολών για Web Ανάπτυξη
+#### Απαραίτητα Εργαλεία Γραμμής Εντολών για Ανάπτυξη Ιστού
| Εργαλείο | Σκοπός | Γιατί το Χρειάζεσαι |
-|----------|---------|---------------------|
-| **[Git](https://git-scm.com/)** | Έλεγχος έκδοσης | Παρακολούθηση αλλαγών, συνεργασία με άλλους, backup της δουλειάς σου |
+|----------|--------|---------------------|
+| **[Git](https://git-scm.com/)** | Έλεγχος εκδόσεων | Παρακολούθηση αλλαγών, συνεργασία με άλλους, δημιουργία αντιγράφων ασφαλείας |
| **[Node.js & npm](https://nodejs.org/)** | Εκτέλεση JavaScript & διαχείριση πακέτων | Εκτέλεση JavaScript εκτός browser, εγκατάσταση σύγχρονων εργαλείων ανάπτυξης |
| **[Vite](https://vitejs.dev/)** | Εργαλείο κατασκευής & dev server | Αστραπιαία ανάπτυξη με hot module replacement |
-| **[ESLint](https://eslint.org/)** | Ποιότητα κώδικα | Αυτόματη εύρεση και διόρθωση προβλημάτων στον κώδικα JavaScript |
-| **[Prettier](https://prettier.io/)** | Μορφοποίηση κώδικα | Κρατά τον κώδικά σου συνεπή και εύκολο στην ανάγνωση |
+| **[ESLint](https://eslint.org/)** | Ποιότητα κώδικα | Αυτόματη εύρεση και διόρθωση προβλημάτων στον JavaScript κώδικα |
+| **[Prettier](https://prettier.io/)** | Μορφοποίηση κώδικα | Κρατάει τον κώδικα συνεπή μορφοποιημένο και ευανάγνωστο |
-#### Επιλογές ανά Πλατφόρμα
+#### Επιλογές Ανά Πλατφόρμα
**Windows:**
-- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - Σύγχρονο, πλήρες τερματικό
-- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - Ισχυρό περιβάλλον scripting
-- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - Παραδοσιακή γραμμή εντολών των Windows
+- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - Σύγχρονο, πλούσιο σε λειτουργίες τερματικό
+- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - Δυνατό περιβάλλον scripting
+- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - Παραδοσιακή γραμμή εντολών Windows
**macOS:**
- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 - Ενσωματωμένη εφαρμογή τερματικού
-- **[iTerm2](https://iterm2.com/)** - Βελτιωμένο τερματικό με προηγμένες δυνατότητες
+- **[iTerm2](https://iterm2.com/)** - Ενισχυμένο τερματικό με προχωρημένες λειτουργίες
**Linux:**
-- **[Bash](https://www.gnu.org/software/bash/)** 💻 - Τυπικό shell του Linux
-- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - Προηγμένος τερματικός εξομοιωτής
+- **[Bash](https://www.gnu.org/software/bash/)** 💻 - Πρότυπο Linux shell
+- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - Προηγμένος εξομοιωτής τερματικού
> 💻 = Προεγκατεστημένο στο λειτουργικό σύστημα
-> 🎯 **Μονοπάτι Εκμάθησης**: Ξεκίνα με βασικές εντολές όπως `cd` (αλλαγή φακέλου), `ls` ή `dir` (λίστα αρχείων), και `mkdir` (δημιουργία φακέλου). Εξασκήσου με σύγχρονες εντολές ροής εργασίας όπως `npm install`, `git status`, και `code .` (άνοιγμα τρέχοντος φακέλου στο VS Code). Καθώς νιώθεις πιο άνετα, θα μαθαίνεις φυσικά πιο προχωρημένες εντολές και τεχνικές αυτοματισμού.
+> 🎯 **Μονοπάτι Μάθησης:** Ξεκίνα με βασικές εντολές όπως `cd` (αλλαγή φακέλου), `ls` ή `dir` (λίστα αρχείων), και `mkdir` (δημιουργία φακέλου). Πρακτική με μοντέρνες εντολές ροής εργασίας όπως `npm install`, `git status`, και `code .` (ανοίγει τον τρέχοντα φάκελο στο VS Code). Καθώς νιώθεις πιο άνετα, θα μάθεις φυσικά πιο προχωρημένες εντολές και τεχνικές αυτοματοποίησης.
-### Τεκμηρίωση: Ο Πάντα Διαθέσιμος Μέντοράς σου στη Μάθηση
+### Τεκμηρίωση: Ο Πάντα Διαθέσιμος Μέντορας Μάθησης σου
-Εντάξει, άσε με να μοιραστώ ένα μικρό μυστικό που θα σε κάνει να αισθανθείς πολύ καλύτερα ως αρχάριος: ακόμα και οι πιο έμπειροι προγραμματιστές περνάνε μεγάλο μέρος του χρόνου τους διαβάζοντας τεκμηρίωση. Και αυτό δεν είναι επειδή δεν ξέρουν τι κάνουν – είναι σημάδι σοφίας!
+Εντάξει, άσε με να μοιραστώ ένα μικρό μυστικό που θα σε κάνει να νιώσεις πολύ καλύτερα για το ότι είσαι αρχάριος: ακόμα και οι πιο έμπειροι προγραμματιστές περνούν τεράστιο μέρος του χρόνου τους διαβάζοντας τεκμηρίωση. Και αυτό δεν είναι επειδή δεν ξέρουν τι κάνουν – είναι στην πραγματικότητα σημάδι σοφίας!
-Σκέψου την τεκμηρίωση ως την πρόσβαση στους πιο υπομονετικούς και γνώστες εκπαιδευτές του κόσμου που είναι διαθέσιμοι 24/7. Είσαι κολλημένος με ένα πρόβλημα στις 2 το ξημέρωμα; Η τεκμηρίωση είναι εκεί με έναν ζεστό εικονικό αγκαλιά και ακριβώς την απάντηση που χρειάζεσαι. Θέλεις να μάθεις για κάποια νέα δροσερή λειτουργία που όλοι συζητούν; Η τεκμηρίωση σε υποστηρίζει με βήμα-βήμα παραδείγματα. Προσπαθείς να καταλάβεις γιατί κάτι λειτουργεί όπως λειτουργεί; Το μάντεψες – η τεκμηρίωση είναι έτοιμη να το εξηγήσει με τρόπο που τελικά να βγάζει νόημα!
+Σκέψου την τεκμηρίωση σαν να έχεις πρόσβαση στους πιο υπομονετικούς και γνώστες δασκάλους του κόσμου, διαθέσιμους 24/7. Έμεινες μπλοκαρισμένος σε ένα πρόβλημα στις 2 π.μ.; Η τεκμηρίωση είναι εκεί με μια ζεστή εικονική αγκαλιά και ακριβώς την απάντηση που χρειάζεσαι. Θέλεις να μάθεις για κάποια νέα φοβερή λειτουργία για την οποία μιλάνε όλοι; Η τεκμηρίωση σε στηρίζει με παραδείγματα βήμα-βήμα. Προσπαθείς να καταλάβεις γιατί κάτι λειτουργεί όπως λειτουργεί; Μάντεψε – η τεκμηρίωση είναι έτοιμη να το εξηγήσει με τρόπο που επιτέλους να "κολλάει"!
-Κάτι που άλλαξε εντελώς την οπτική μου είναι το εξής: ο κόσμος της web ανάπτυξης αλλάζει αστραπιαία, και κανείς (εννοώ ΚΑΝΕΙΣ!) δεν θυμάται τα πάντα από μνήμης. Έχω δει έμπειρους προγραμματιστές με πάνω από 15 χρόνια εμπειρίας να ψάχνουν βασική σύνταξη, και ξέρεις τι; Αυτό δεν είναι ντροπή – είναι έξυπνο! Δεν πρόκειται για τέλεια μνήμη, αλλά για το να ξέρεις πού θα βρεις γρήγορα αξιόπιστες απαντήσεις και πώς να τις εφαρμόσεις.
+Κάτι που άλλαξε ολοκληρωτικά την προοπτική μου: ο κόσμος της ανάπτυξης web κινείται απίστευτα γρήγορα, και κανείς (εννοώ καθόλου κανείς!) δεν κρατάει τα πάντα απομνημονευμένα. Έχω δει κορυφαίους προγραμματιστές με πάνω από 15 χρόνια εμπειρίας να ψάχνουν απλή σύνταξη, και ξέρεις κάτι; Αυτό δεν είναι ντροπιαστικό – είναι έξυπνο! Δεν είναι θέμα τέλειας μνήμης, αλλά το να ξέρεις πού να βρεις αξιόπιστες απαντήσεις γρήγορα και πώς να τις εφαρμόσεις.
-**Εδώ συμβαίνει η πραγματική μαγεία:**
+**Εδώ γίνεται η πραγματική μαγεία:**
-Οι επαγγελματίες προγραμματιστές ξοδεύουν σημαντικό μέρος του χρόνου τους διαβάζοντας τεκμηρίωση – όχι επειδή δεν ξέρουν τι κάνουν, αλλά επειδή το τοπίο της web ανάπτυξης εξελίσσεται τόσο γρήγορα που η συνεχής μάθηση είναι απαραίτητη. Η καλή τεκμηρίωση σε βοηθάει να κατανοήσεις όχι μόνο *πώς* να χρησιμοποιήσεις κάτι, αλλά *γιατί* και *πότε* να το χρησιμοποιήσεις.
+Οι επαγγελματίες προγραμματιστές αφιερώνουν μεγάλο μέρος του χρόνου τους διαβάζοντας τεκμηρίωση – όχι επειδή δεν ξέρουν τι κάνουν, αλλά επειδή το τοπίο της ανάπτυξης ιστού εξελίσσεται τόσο γρήγορα που η παραμονή ενημερωμένος απαιτεί συνεχή μάθηση. Η καλή τεκμηρίωση σε βοηθά να καταλάβεις όχι μόνο *πώς* να χρησιμοποιήσεις κάτι, αλλά *γιατί* και *πότε* να το χρησιμοποιήσεις.
-#### Βασικοί Πόροι Τεκμηρίωσης
+#### Απαραίτητοι Πόροι Τεκμηρίωσης
**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)**
-- Το πρότυπο χρυσού για την τεκμηρίωση τεχνολογιών web
-- Αναλυτικοί οδηγοί για HTML, CSS, και JavaScript
-- Περιλαμβάνει πληροφορίες συμβατότητας browsers
-- Δείχνει πρακτικά παραδείγματα και διαδραστικές επίδειξεις
+- Το χρυσό πρότυπο για τεκμηρίωση τεχνολογιών web
+- Αναλυτικοί οδηγοί για HTML, CSS και JavaScript
+- Περιλαμβάνει πληροφορίες συμβατότητας browser
+- Προσφέρει πρακτικά παραδείγματα και διαδραστικές επιδείξεις
**[Web.dev](https://web.dev)** (από την Google)
- Σύγχρονες βέλτιστες πρακτικές ανάπτυξης web
-- Οδηγοί για βελτιστοποίηση απόδοσης
+- Οδηγοί βελτιστοποίησης επιδόσεων
- Αρχές προσβασιμότητας και συμπεριληπτικού σχεδιασμού
-- Μελέτες περίπτωσης από πραγματικά έργα
+- Μελέτες περιπτώσεων από πραγματικά έργα
**[Microsoft Developer Documentation](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)**
-- Πόροι ανάπτυξης για τον Edge browser
+- Πόροι ανάπτυξης browser Edge
- Οδηγοί για Progressive Web Apps
-- Ενημερώσεις για cross-platform ανάπτυξη
+- Γνώσεις για ανάπτυξη πολλαπλών πλατφορμών
**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)**
-- Δομημένα προγράμματα εκμάθησης
+- Διαρθρωμένα προγράμματα μάθησης
- Βίντεο μαθήματα από ειδικούς του κλάδου
-- Πρακτικές ασκήσεις κώδικα
+- Πρακτικές ασκήσεις κωδικοποίησης
-> 📚 **Στρατηγική Μελέτης**: Μην προσπαθείς να απομνημονεύσεις την τεκμηρίωση – μάθε να την περιηγείσαι αποτελεσματικά. Αποθήκευσε στις σελιδοδείκτες συχνά χρησιμοποιούμενους πόρους και εξασκήσου στη χρήση της αναζήτησης για να βρίσκεις πληροφορίες γρήγορα.
+> 📚 **Στρατηγική Μελέτης:** Μην προσπαθείς να απομνημονεύεις την τεκμηρίωση – μάθε αντ' αυτού πώς να την περιηγείσαι αποδοτικά. Αποθήκευσε σελιδοδείκτες τα συχνά χρησιμοποιούμενα αναφορικά σημεία και εξασκήσου να χρησιμοποιείς λειτουργίες αναζήτησης για να βρίσκεις γρήγορα συγκεκριμένες πληροφορίες.
-### 🔧 **Έλεγχος Εμπειρίας Εργαλείων: Τι Σου Κάθεται Καλά;**
+### 🔧 **Έλεγχος Εμπειρίας στα Εργαλεία: Τι Σου Αρέσει;**
-**Πάρε μια στιγμή να σκεφτείς:**
-- Ποιο εργαλείο ανυπομονείς να δοκιμάσεις πρώτο; (Δεν υπάρχει λάθος απάντηση!)
-- Η γραμμή εντολών εξακολουθεί να φαίνεται τρομακτική ή είσαι περίεργος για αυτήν;
-- Μπορείς να φανταστείς να χρησιμοποιείς τα DevTools του browser για να ρίξεις μια ματιά πίσω από το παρασκήνιο των αγαπημένων σου ιστοσελίδων;
+**Κάνε ένα διάλειμμα να σκεφτείς:**
+- Ποιο εργαλείο είσαι πιο ενθουσιασμένος να δοκιμάσεις πρώτα; (Δεν υπάρχει λάθος απάντηση!)
+- Η γραμμή εντολών ακόμα φαίνεται τρομακτική ή σε ενδιαφέρει να τη μάθεις;
+- Μπορείς να φανταστείς να χρησιμοποιείς τα DevTools του browser για να ρίξεις μια ματιά πίσω από την κουρτίνα των αγαπημένων σου ιστοσελίδων;
```mermaid
-pie title "Χρόνος που αφιερώνεται από τον προγραμματιστή με εργαλεία"
+pie title "Χρόνος που Δαπανάται από τον Προγραμματιστή με Εργαλεία"
"Επεξεργαστής Κώδικα" : 40
- "Δοκιμή σε Περιηγητή" : 25
+ "Δοκιμές στον Περιηγητή" : 25
"Γραμμή Εντολών" : 15
"Ανάγνωση Τεκμηρίωσης" : 15
- "Αντιμετώπιση Σφαλμάτων" : 5
+ "Εντοπισμός Σφαλμάτων" : 5
```
-> **Αστεία παρατήρηση**: Οι περισσότεροι προγραμματιστές περνούν περίπου το 40% του χρόνου τους στον επεξεργαστή κώδικα, αλλά πρόσεξε πόσος χρόνος αφιερώνεται στο testing, τη μάθηση και την επίλυση προβλημάτων. Ο προγραμματισμός δεν είναι απλώς γραφή κώδικα – είναι κατασκευή εμπειριών!
+> **Ενδιαφέρον στοιχείο:** Οι περισσότεροι προγραμματιστές περνούν περίπου το 40% του χρόνου τους στον επεξεργαστή κώδικα, αλλά παρατήρησε πόσος χρόνος πηγαίνει σε δοκιμές, μάθηση, και επίλυση προβλημάτων. Ο προγραμματισμός δεν είναι απλώς να γράφεις κώδικα – είναι να δημιουργείς εμπειρίες!
-✅ **Θέμα για σκέψη**: Να κάτι ενδιαφέρον να σκεφτείς – πώς νομίζεις ότι τα εργαλεία για την κατασκευή ιστοσελίδων (ανάπτυξη) μπορεί να διαφέρουν από τα εργαλεία για το σχεδιασμό της εμφάνισής τους (design); Είναι σαν τη διαφορά μεταξύ ενός αρχιτέκτονα που σχεδιάζει ένα όμορφο σπίτι και ενός εργολάβου που το κατασκευάζει. Και οι δύο είναι κρίσιμοι, αλλά χρειάζονται διαφορετικά κουτιά εργαλείων! Αυτός ο τρόπος σκέψης θα σε βοηθήσει πραγματικά να δεις τη μεγαλύτερη εικόνα του πώς ζωντανεύουν οι ιστοσελίδες.
+✅ **Θέμα για σκέψη:** Να κάτι ενδιαφέρον για να το σκεφτείς – πώς νομίζεις ότι τα εργαλεία για την κατασκευή ιστοσελίδων (ανάπτυξη) μπορεί να διαφέρουν από τα εργαλεία για τον σχεδιασμό της εμφάνισής τους (σχεδιασμός); Είναι σαν τη διαφορά μεταξύ ενός αρχιτέκτονα που σχεδιάζει ένα όμορφο σπίτι και ενός εργολάβου που το χτίζει πραγματικά. Και τα δύο είναι κρίσιμα, αλλά χρειάζονται διαφορετικά εργαλειοθήκες! Αυτός ο τρόπος σκέψης θα σε βοηθήσει να δεις τη μεγαλύτερη εικόνα του πώς ζωντανεύουν οι ιστοσελίδες.
## Πρόκληση GitHub Copilot Agent 🚀
Χρησιμοποίησε τη λειτουργία Agent για να ολοκληρώσεις την παρακάτω πρόκληση:
-**Περιγραφή:** Ερεύνησε τα χαρακτηριστικά ενός μοντέρνου επεξεργαστή κώδικα ή IDE και δείξε πώς μπορεί να βελτιώσει τη ροή εργασίας σου ως web developer.
+**Περιγραφή:** Εξερεύνησε τα χαρακτηριστικά ενός σύγχρονου επεξεργαστή κώδικα ή IDE και δείξε πώς μπορεί να βελτιώσει τη ροή εργασίας σου ως web developer.
-**Προτροπή:** Επίλεξε έναν επεξεργαστή κώδικα ή IDE (όπως Visual Studio Code, WebStorm, ή ένα cloud-based IDE). Κατάγραψε τρία χαρακτηριστικά ή επεκτάσεις που σε βοηθούν να γράφεις, αποσφαλματώνεις, ή να διατηρείς τον κώδικα πιο αποτελεσματικά. Για κάθε ένα, δώσε μια σύντομη εξήγηση για το πώς ωφελεί τη ροή εργασίας σου.
+**Οδηγία:** Επέλεξε έναν επεξεργαστή κώδικα ή IDE (όπως Visual Studio Code, WebStorm ή ένα cloud-based IDE). Κατάγραψε τρία χαρακτηριστικά ή επεκτάσεις που σε βοηθούν να γράφεις, να αποσφαλματώνεις ή να διατηρείς κώδικα πιο αποδοτικά. Για κάθε ένα, δώσε μια σύντομη εξήγηση πώς ωφελεί τη ροή εργασίας σου.
---
## 🚀 Πρόκληση
-**Εντάξει, ντετέκτιβ, έτοιμος για την πρώτη σου υπόθεση;**
+**Λοιπόν, ντετέκτιβ, έτοιμος για την πρώτη σου υπόθεση;**
-Τώρα που έχεις αυτή τη φοβερή βάση, έχω μια περιπέτεια που θα σε βοηθήσει να δεις πόσο απίστευτα διαφορετικός και συναρπαστικός είναι ο κόσμος του προγραμματισμού. Και πρόσεχε – δεν πρόκειται ακόμα για γραφή κώδικα, οπότε κανένα άγχος! Σκέψου τον εαυτό σου ως ντετέκτιβ γλωσσών προγραμματισμού στην πρώτη σου συναρπαστική υπόθεση!
+Τώρα που έχεις αυτή την υπέροχη βάση, έχω μια περιπέτεια που θα σε βοηθήσει να δεις πόσο απίστευτα διαφορετικός και συναρπαστικός είναι ο κόσμος του προγραμματισμού. Και άκου – δεν πρόκειται ακόμα για γραφή κώδικα, οπότε μη νιώθεις πίεση! Φαντάσου τον εαυτό σου ως ντετέκτιβ γλωσσών προγραμματισμού στην πρώτη σου συναρπαστική υπόθεση!
-**Η αποστολή σου, αν την αποδεχθείς:**
-1. **Γίνε εξερευνητής γλωσσών**: Διάλεξε τρεις γλώσσες προγραμματισμού από εντελώς διαφορετικά σύμπαντα – ίσως μία που φτιάχνει ιστοσελίδες, μία που δημιουργεί εφαρμογές κινητών, και μία που επεξεργάζεται δεδομένα για επιστήμονες. Βρες παραδείγματα της ίδιας απλής εργασίας γραμμένα σε κάθε γλώσσα. Σου υπόσχομαι ότι θα εντυπωσιαστείς από το πόσο διαφορετικά μπορεί να φαίνονται ενώ κάνουν ακριβώς το ίδιο!
+**Η αποστολή σου, αν αρνηθείς να την αποδεχτείς:**
+1. **Γίνε εξερευνητής γλωσσών:** Διάλεξε τρεις γλώσσες προγραμματισμού από τελείως διαφορετικούς κόσμους – ίσως μία που φτιάχνει ιστοσελίδες, μία που δημιουργεί κινητές εφαρμογές, και μία που επεξεργάζεται δεδομένα για επιστήμονες. Βρες παραδείγματα για το ίδιο απλό έργο γραμμένα σε κάθε γλώσσα. Υπόσχομαι ότι θα εντυπωσιαστείς πόσο διαφορετικά μπορούν να φαίνονται, παρόλο που κάνουν το ίδιο ακριβώς πράγμα!
-2. **Αποκάλυψε τις ιστορίες προέλευσής τους**: Τι κάνει κάθε γλώσσα ξεχωριστή; Ένα ωραίο γεγονός – κάθε γλώσσα προγραμματισμού δημιουργήθηκε γιατί κάποιος σκέφτηκε, «Ξέρεις κάτι; Πρέπει να υπάρχει καλύτερος τρόπος να λυθεί αυτό το συγκεκριμένο πρόβλημα.» Μπορείς να καταλάβεις ποια ήταν αυτά τα προβλήματα; Μερικές από αυτές τις ιστορίες είναι πραγματικά συναρπαστικές!
+2. **Αποκάλυψε την προέλευσή τους:** Τι κάνει κάθε γλώσσα ξεχωριστή; Ιδού ένα ωραίο γεγονός – κάθε γλώσσα προγραμματισμού δημιουργήθηκε γιατί κάποιος σκέφτηκε, «Ξέρεις κάτι; Πρέπει να υπάρχει καλύτερος τρόπος να λυθεί αυτό το συγκεκριμένο πρόβλημα.» Μπορείς να καταλάβεις ποια ήταν αυτά τα προβλήματα; Μερικές από αυτές τις ιστορίες είναι πραγματικά συναρπαστικές!
-3. **Γνώρισε τις κοινότητες**: Δες πώς είναι φιλόξενες και παθιασμένες οι κοινότητες κάθε γλώσσας. Κάποιες έχουν εκατομμύρια προγραμματιστές που μοιράζονται γνώση και βοηθούν ο ένας τον άλλον, άλλες είναι μικρότερες αλλά απίστευτα δεμένες και υποστηρικτικές. Θα λατρέψεις να δεις τις διαφορετικές προσωπικότητες που έχουν αυτές οι κοινότητες!
+3. **Γνώρισε τις κοινότητες:** Δες πόσο φιλόξενες και παθιασμένες είναι οι κοινότητες κάθε γλώσσας. Κάποιες έχουν εκατομμύρια προγραμματιστών που μοιράζονται γνώση και βοηθούν ο ένας τον άλλον, άλλες είναι μικρότερες αλλά απίστευτα δεμένες και υποστηρικτικές. Θα λατρέψεις να δεις τις διαφορετικές προσωπικότητες αυτών των κοινοτήτων!
-4. **Άκου το ένστικτό σου**: Ποια γλώσσα σου φαίνεται πιο προσβάσιμη τώρα; Μην αγχωθείς για την «τέλεια» επιλογή – απλώς άκου το ένστικτό σου! Δεν υπάρχει λάθος απάντηση εδώ, και πάντα μπορείς να εξερευνήσεις άλλες αργότερα.
+4. **Ακολούθησε το ένστικτό σου:** Ποια γλώσσα σου φαίνεται πιο προσιτή αυτή τη στιγμή; Μην αγχώνεσαι για την «τέλεια» επιλογή – απλά άκου το ένστικτό σου! Ειλικρινά δεν υπάρχει λάθος απάντηση εδώ, και μπορείς πάντα να εξερευνήσεις άλλες αργότερα.
-**Επιπλέον ντετέκτιβ εργασία**: Μάθε αν μπορείς ποια μεγάλα sites ή εφαρμογές είναι φτιαγμένα με κάθε γλώσσα. Σου εγγυώμαι ότι θα σοκαριστείς μαθαίνοντας τι τροφοδοτεί Instagram, Netflix ή εκείνο το κινητό παιχνίδι που δεν μπορείς να σταματήσεις να παίζεις!
+**Μπόνους για τον ντετέκτιβ:** Δες αν μπορείς να ανακαλύψεις ποιοι μεγάλοι ιστότοποι ή εφαρμογές είναι χτισμένοι με κάθε γλώσσα. Σου εγγυώμαι ότι θα σοκαριστείς να μάθεις τι τροφοδοτεί το Instagram, το Netflix ή εκείνο το κινητό παιχνίδι που δεν μπορείς να σταματήσεις να παίζεις!
-> 💡 **Θυμήσου**: Δεν προσπαθείς να γίνεις ειδικός σε καμία από αυτές τις γλώσσες σήμερα. Απλώς γνωρίζεις τη γειτονιά πριν αποφασίσεις πού θέλεις να στήσεις μαγαζί. Πάρε τον χρόνο σου, διασκέδασε και άσε την περιέργεια να σε οδηγήσει!
+> 💡 **Θυμήσου:** Δεν προσπαθείς να γίνεις ειδικός σε καμία από αυτές τις γλώσσες σήμερα. Απλώς γνωρίζεις τη γειτονιά πριν αποφασίσεις πού θέλεις να στήσεις το μαγαζί σου. Πάρε το χρόνο σου, διασκέδασε, και άφησε την περιέργειά σου να σε καθοδηγήσει!
-## Ας Γιορτάσουμε Ό,τι Ανακάλυψες!
+## Ας Γιορτάσουμε Όσα Ανακάλυψες!
-Θεέ μου, έχουμε απορροφήσει τόσες απίστευτες πληροφορίες σήμερα! Είμαι πραγματικά ενθουσιασμένος να δω πόσο από αυτό το καταπληκτικό ταξίδι έχει μείνει μέσα σου. Και να θυμάσαι – δεν είναι διαγώνισμα που πρέπει να πετύχεις απόλυτα. Είναι περισσότερο μια γιορτή για όλα τα ωραία πράγματα που έμαθες για αυτόν τον συναρπαστικό κόσμο στον οποίο πρόκειται να βουτήξεις!
+Ω Θεέ μου, έχεις απορροφήσει τόσο απίστευτες πληροφορίες σήμερα! Είμαι πραγματικά ενθουσιασμένος να δω πόσα από αυτό το υπέροχο ταξίδι έχεις κρατήσει μαζί σου. Και θυμήσου – αυτό δεν είναι ένα τεστ όπου πρέπει να τα κάνεις όλα τέλεια. Είναι περισσότερο ένας εορτασμός όλων των φοβερών πραγμάτων που έμαθες για αυτόν τον συναρπαστικό κόσμο που πρόκειται να βυθιστείς!
[Κάνε το κουίζ μετά το μάθημα](https://ff-quizzes.netlify.app/web/)
-## Ανασκόπηση & Αυτομελέτη
-**Πάρε το χρόνο σου να εξερευνήσεις και να το διασκεδάσεις!**
+## Ανασκόπηση & Αυτομάθηση
-Κάλυψες πολύ υλικό σήμερα, και αυτό είναι κάτι να νιώθεις περήφανος! Τώρα έρχεται το διασκεδαστικό κομμάτι – να εξερευνήσεις τα θέματα που κέντρισαν την περιέργειά σου. Θυμήσου, αυτό δεν είναι εργασία για το σπίτι – είναι μια περιπέτεια!
+**Πάρε το χρόνο σου να εξερευνήσεις και να διασκεδάσεις!**
+Έχεις καλύψει πολλή ύλη σήμερα, και αυτό είναι κάτι για το οποίο μπορείς να είσαι περήφανος! Τώρα ξεκινά το διασκεδαστικό μέρος – να εξερευνήσεις τα θέματα που προκάλεσαν την περιέργειά σου. Θυμήσου, αυτό δεν είναι σπίτι – είναι μια περιπέτεια!
**Βυθίσου πιο βαθιά σε ό,τι σε ενθουσιάζει:**
-**Πάρε πρακτική με γλώσσες προγραμματισμού:**
+**Δοκίμασε πρακτικά τις γλώσσες προγραμματισμού:**
- Επισκέψου τις επίσημες ιστοσελίδες 2-3 γλωσσών που τράβηξαν την προσοχή σου. Η κάθε μία έχει τη δική της προσωπικότητα και ιστορία!
-- Δοκίμασε κάποια διαδικτυακά προγραμματιστικά περιβάλλοντα όπως το [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), ή [Replit](https://replit.com/). Μην φοβηθείς να πειραματιστείς – δεν θα σπάσεις τίποτα!
-- Διάβασε για το πώς γεννήθηκε η αγαπημένη σου γλώσσα. Σοβαρά, μερικές από αυτές τις ιστορίες προέλευσης είναι συναρπαστικές και θα σε βοηθήσουν να καταλάβεις γιατί οι γλώσσες λειτουργούν όπως λειτουργούν.
+- Δοκίμασε κάποια διαδικτυακά playgrounds κώδικα όπως το [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), ή [Replit](https://replit.com/). Μην φοβηθείς να πειραματιστείς – δεν μπορείς να σπάσεις τίποτα!
+- Διάβασε για το πώς δημιουργήθηκε η αγαπημένη σου γλώσσα. Σοβαρά τώρα, μερικές από αυτές τις ιστορίες προέλευσης είναι συναρπαστικές και θα σε βοηθήσουν να καταλάβεις γιατί οι γλώσσες λειτουργούν όπως λειτουργούν.
-**Νιώσε άνετα με τα νέα σου εργαλεία:**
-- Κατέβασε το Visual Studio Code αν δεν το έχεις ήδη – είναι δωρεάν και θα το λατρέψεις!
-- Περάσε λίγα λεπτά εξερευνώντας την αγορά επεκτάσεων (Extensions marketplace). Είναι σαν ένα κατάστημα εφαρμογών για τον κώδικά σου!
-- Άνοιξε τα Εργαλεία Προγραμματιστή (Developer Tools) του browser σου και κάνε κλικ εδώ κι εκεί. Μην ανησυχείς αν δεν καταλαβαίνεις τα πάντα – απλώς εξοικειώσου με το τι υπάρχει.
+**Γίνε άνετος με τα νέα σου εργαλεία:**
+- Κατέβασε το Visual Studio Code αν δεν το έχεις κάνει ήδη – είναι δωρεάν και θα το λατρέψεις!
+- Περάστε μερικά λεπτά περιηγούμενος στην αγορά επεκτάσεων. Είναι σαν ένα app store για τον επεξεργαστή κώδικά σου!
+- Άνοιξε τα Developer Tools του browser σου και κάνε κλικ ανάμεσα. Μην ανησυχείς αν δεν καταλαβαίνεις τα πάντα – απλά εξοικειώσου με όσα υπάρχουν εκεί.
-**Γίνε μέρος της κοινότητας:**
-- Ακολούθησε κάποιες κοινότητες προγραμματιστών στο [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), ή [GitHub](https://github.com/). Η κοινότητα προγραμματιστών είναι απίστευτα φιλόξενη προς τους νέους!
-- Δες βίντεο με μαθήματα για αρχάριους στο YouTube. Υπάρχουν τόσοι πολλοί υπέροχοι δημιουργοί που θυμούνται πώς είναι να ξεκινάς.
+**Γίνε μέλος της κοινότητας:**
+- Ακολούθησε μερικές κοινότητες προγραμματιστών στο [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), ή [GitHub](https://github.com/). Η κοινότητα προγραμματιστών είναι εξαιρετικά φιλόξενη για τους νεοεισερχόμενους!
+- Δες μερικά βίντεο για αρχάριους στο YouTube. Υπάρχουν πολλοί εξαιρετικοί δημιουργοί εκεί έξω που θυμούνται πώς είναι να ξεκινάς.
- Σκέψου να συμμετάσχεις σε τοπικές συναντήσεις ή διαδικτυακές κοινότητες. Πίστεψέ με, οι προγραμματιστές αγαπούν να βοηθούν τους νεοεισερχόμενους!
-> 🎯 **Άκου, αυτό θέλω να θυμάσαι**: Δεν περιμένουμε να γίνεις μάγος του κώδικα μέσα σε μια νύχτα! Τώρα απλώς γνωρίζεις αυτόν τον απίθανο νέο κόσμο που πρόκειται να γίνεις μέρος του. Πάρε το χρόνο σου, απόλαυσε το ταξίδι, και θυμήσου – κάθε προγραμματιστής που θαυμάζεις κάθονταν ακριβώς εκεί που είσαι τώρα, νιώθοντας ενθουσιασμό και ίσως λίγο υπερφορτωμένος. Είναι απόλυτα φυσιολογικό, και αυτό σημαίνει ότι τα πας πολύ καλά!
-
-
+> 🎯 **Άκου, αυτό θέλω να θυμάσαι**: Δεν αναμένεται να γίνεις μάγος του κώδικα μέσα σε μία νύχτα! Αυτή τη στιγμή, απλώς γνωρίζεις αυτόν τον καταπληκτικό νέο κόσμο που πρόκειται να γίνεις μέρος του. Πάρε τον χρόνο σου, απόλαυσε το ταξίδι, και θυμήσου – κάθε προγραμματιστής που θαυμάζεις κάποτε καθότανε ακριβώς εκεί που είσαι τώρα, νιώθοντας ενθουσιασμό και ίσως λίγο μπερδεμένος. Αυτό είναι τελείως φυσιολογικό, και σημαίνει ότι τα πας καλά!
-## Εργασία
+## Ανάθεση
[Reading the Docs](assignment.md)
-> 💡 **Μικρή παρότρυνση για την εργασία σου**: Θα ήθελα πολύ να σε δω να εξερευνήσεις εργαλεία που δεν έχουμε καλύψει ακόμα! Άφησε για λίγο στην άκρη τους επεξεργαστές, browsers και εργαλεία γραμμής εντολών που έχουμε ήδη αναφέρει – υπάρχει ένας ολόκληρος καταπληκτικός κόσμος με απίθανα εργαλεία ανάπτυξης που περιμένουν να τα ανακαλύψεις. Ψάξε για αυτά που συντηρούνται ενεργά και έχουν ζωντανές, φιλικές κοινότητες (συνήθως έχουν τα καλύτερα tutorials και τους πιο υποστηρικτικούς ανθρώπους όταν κολλήσεις και χρειαστείς βοήθεια).
+> 💡 **Μικρή ώθηση για την ανάθεσή σου**: Θα ήθελα πάρα πολύ να σε δω να εξερευνάς κάποια εργαλεία που δεν έχουμε καλύψει ακόμα! Παράβλεψε τους επεξεργαστές, browsers και εργαλεία γραμμής εντολών που έχουμε ήδη αναφέρει – υπάρχει όλο αυτό το απίστευτο σύμπαν εκπληκτικών εργαλείων ανάπτυξης που περιμένει να ανακαλυφθεί. Ψάξε για αυτά που συντηρούνται ενεργά και έχουν ζωντανές, βοηθητικές κοινότητες (αυτά έχουν τις καλύτερες οδηγίες και τα πιο υποστηρικτικά άτομα όταν κολλήσεις και χρειαστείς ένα φιλικό χέρι).
---
## 🚀 Το Χρονοδιάγραμμα του Ταξιδιού σου στον Προγραμματισμό
-### ⚡ **Τι μπορείς να κάνεις στα επόμενα 5 λεπτά**
-- [ ] Αποθήκευσε σελιδοδείκτες 2-3 ιστοσελίδες γλωσσών προγραμματισμού που τράβηξαν την προσοχή σου
-- [ ] Κατέβασε το Visual Studio Code αν δεν το έχεις ήδη
-- [ ] Άνοιξε τα DevTools του browser σου (F12) και κάνε κλικ σε οποιαδήποτε ιστοσελίδα
-- [ ] Γίνε μέλος σε μια κοινότητα προγραμματιστών (Dev.to, Reddit r/webdev, ή Stack Overflow)
+### ⚡ **Τι Μπορείς να Κάνεις στα Επόμενα 5 Λεπτά**
+- [ ] Κράτα σελιδοδείκτη σε ιστοσελίδες 2-3 γλωσσών προγραμματισμού που τράβηξαν το ενδιαφέρον σου
+- [ ] Κατέβασε το Visual Studio Code αν δεν το έχεις ήδη κάνει
+- [ ] Άνοιξε τα DevTools του browser σου (F12) και κλίκαρε σε οποιαδήποτε ιστοσελίδα
+- [ ] Γίνε μέλος σε μία κοινότητα προγραμματισμού (Dev.to, Reddit r/webdev, ή Stack Overflow)
-### ⏰ **Τι μπορείς να πετύχεις αυτήν την ώρα**
-- [ ] Ολοκλήρωσε το quiz μετά το μάθημα και σκέψου τις απαντήσεις σου
+### ⏰ **Τι Μπορείς να Ολοκληρώσεις Αυτή την Ώρα**
+- [ ] Ολοκλήρωσε το κουίζ μετά το μάθημα και σκέψου τις απαντήσεις σου
- [ ] Ρύθμισε το VS Code με την επέκταση GitHub Copilot
- [ ] Δοκίμασε ένα παράδειγμα "Hello World" σε 2 διαφορετικές γλώσσες προγραμματισμού online
- [ ] Δες ένα βίντεο "Μια μέρα στη ζωή ενός προγραμματιστή" στο YouTube
-- [ ] Ξεκίνα την έρευνα σου για τις γλώσσες προγραμματισμού (από την πρόκληση)
+- [ ] Ξεκίνα την ερευνητική σου δουλειά για τις γλώσσες προγραμματισμού (από την πρόκληση)
-### 📅 **Η περιπέτεια της εβδομάδας σου**
-- [ ] Ολοκλήρωσε την εργασία και εξερεύνησε 3 νέα εργαλεία ανάπτυξης
+### 📅 **Η Περιπέτεια της Εβδομάδας σου**
+- [ ] Ολοκλήρωσε την ανάθεση και εξερεύνησε 3 νέα εργαλεία ανάπτυξης
- [ ] Ακολούθησε 5 προγραμματιστές ή λογαριασμούς προγραμματισμού στα social media
-- [ ] Δοκίμασε να φτιάξεις κάτι μικρό στο CodePen ή Replit (ακόμα και μόνο "Hello, [Το Όνομά Σου]!")
-- [ ] Διάβασε ένα άρθρο προγραμματιστή για το ταξίδι κάποιου με τον κώδικα
-- [ ] Συμμετέχει σε ένα εικονικό meetup ή δες μια ομιλία για προγραμματισμό
-- [ ] Άρχισε να μαθαίνεις τη γλώσσα που διάλεξες με online tutorials
+- [ ] Προσπάθησε να φτιάξεις κάτι μικρό στο CodePen ή Replit (ακόμα και απλά "Hello, [Το Όνομά σου]!")
+- [ ] Διάβασε ένα post σε blog προγραμματιστή σχετικά με το ταξίδι κάποιου στον κώδικα
+- [ ] Συμμετάσχετε σε μια διαδικτυακή συνάντηση ή παρακολούθησε μια ομιλία προγραμματισμού
+- [ ] Ξεκίνα να μαθαίνεις τη γλώσσα που επέλεξες με διαδικτυακά μαθήματα
-### 🗓️ **Η μεταμόρφωση του μήνα σου**
+### 🗓️ **Η Μεταμόρφωσή σου Μέσα στον Μήνα**
- [ ] Φτιάξε το πρώτο σου μικρό project (ακόμα και μια απλή ιστοσελίδα μετράει!)
-- [ ] Συνεισφέρε σε ένα ανοιχτού κώδικα project (ξεκίνα με διορθώσεις τεκμηρίωσης)
-- [ ] Γίνε μέντορας σε κάποιον που μόλις ξεκινάει το ταξίδι στον προγραμματισμό
-- [ ] Δημιούργησε την προσωπική σου ιστοσελίδα-πορτφόλιο προγραμματιστή
+- [ ] Συνεισφέρε σε ένα open-source project (ξεκίνα με διορθώσεις τεκμηρίωσης)
+- [ ] Μέντορας σε κάποιον που μόλις ξεκινά το ταξίδι προγραμματισμού
+- [ ] Δημιούργησε την προσωπική σου ιστοσελίδα-χαρτοφυλάκιο προγραμματιστή
- [ ] Συνδέσου με τοπικές κοινότητες προγραμματιστών ή ομάδες μελέτης
-- [ ] Ξεκίνα να σχεδιάζεις τον επόμενο στόχο μάθησής σου
+- [ ] Ξεκίνα να σχεδιάζεις το επόμενο εκπαιδευτικό σου ορόσημο
-### 🎯 **Τελικός έλεγχος αναστοχασμού**
+### 🎯 **Τελικός Απολογισμός**
-**Πριν προχωρήσεις, πάρε μια στιγμή να γιορτάσεις:**
-- Ποιο ήταν το ένα πράγμα για τον προγραμματισμό σήμερα που σε ενθουσίασε;
-- Ποιο εργαλείο ή έννοια θέλεις να εξερευνήσεις πρώτα;
-- Πώς αισθάνεσαι που ξεκινάς αυτό το ταξίδι στον προγραμματισμό;
-- Ποια είναι μια ερώτηση που θα ήθελες να κάνεις σε έναν προγραμματιστή τώρα;
+**Πριν προχωρήσεις, πάρε μια στιγμή για να γιορτάσεις:**
+- Ποιο είναι ένα πράγμα για τον προγραμματισμό που σε ενθουσίασε σήμερα;
+- Ποιο εργαλείο ή έννοια θέλεις να εξερευνήσεις πρώτο;
+- Πώς νιώθεις που ξεκινάς αυτό το ταξίδι στον προγραμματισμό;
+- Ποια είναι μια ερώτηση που θα ήθελες να κάνεις σε έναν προγραμματιστή αυτή τη στιγμή;
```mermaid
journey
- title Το Ταξίδι σας για την Ενίσχυση της Αυτοπεποίθησής σας
+ title Το Ταξίδι Ενίσχυσης της Αυτοπεποίθησής Σου
section Σήμερα
Curious: 3: You
Overwhelmed: 4: You
@@ -838,16 +839,16 @@ journey
Exploring: 4: You
Learning: 5: You
Connecting: 4: You
- section Επόμενος Μήνας
+ section Τον Επόμενο Μήνα
Building: 5: You
Confident: 5: You
Helping Others: 5: You
```
-> 🌟 **Θυμήσου**: Κάθε ειδικός ήταν κάποτε αρχάριος. Κάθε έμπειρος προγραμματιστής ένιωσε κάποτε ακριβώς όπως νιώθεις τώρα – ενθουσιασμό, ίσως λίγη υπερφόρτωση, και σίγουρα περιέργεια για το τι είναι δυνατό. Είσαι σε καταπληκτική παρέα, και αυτό το ταξίδι πρόκειται να είναι απίθανο. Καλώς ήρθες στον υπέροχο κόσμο του προγραμματισμού! 🎉
+> 🌟 **Θυμήσου**: Κάθε ειδικός ήταν κάποτε αρχάριος. Κάθε ανώτερος προγραμματιστής ένιωθε ακριβώς όπως εσύ τώρα – ενθουσιασμένος, ίσως λίγο μπερδεμένος, και σίγουρα περίεργος για το τι είναι δυνατόν. Βρίσκεσαι σε καταπληκτική παρέα, και αυτό το ταξίδι θα είναι απίστευτο. Καλωσόρισες στον υπέροχο κόσμο του προγραμματισμού! 🎉
---
**Αποποίηση ευθυνών**:
-Το παρόν έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη σας ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη γλώσσα προέλευσής του πρέπει να θεωρείται η έγκυρη πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
+Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθεια για ακρίβεια, παρακαλούμε να γνωρίζετε ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη γλώσσα του πρέπει να θεωρείται η αξιόπιστη πηγή. Για κρίσιμες πληροφορίες, συνιστάται η επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
\ No newline at end of file
diff --git a/translations/el/AGENTS.md b/translations/el/AGENTS.md
index b10a934d6..09ed63570 100644
--- a/translations/el/AGENTS.md
+++ b/translations/el/AGENTS.md
@@ -2,36 +2,36 @@
## Επισκόπηση Έργου
-Αυτό είναι ένα εκπαιδευτικό αποθετήριο προγράμματος σπουδών για τη διδασκαλία των βασικών αρχών ανάπτυξης ιστού σε αρχάριους. Το πρόγραμμα σπουδών είναι ένα ολοκληρωμένο μάθημα 12 εβδομάδων που έχει αναπτυχθεί από τους Microsoft Cloud Advocates, περιλαμβάνοντας 24 πρακτικά μαθήματα που καλύπτουν JavaScript, CSS και HTML.
+Αυτό είναι ένα εκπαιδευτικό αποθετήριο προγράμματος σπουδών για τη διδασκαλία των βασικών της ανάπτυξης ιστού σε αρχάριους. Το πρόγραμμα σπουδών είναι ένα ολοκληρωμένο μάθημα 12 εβδομάδων που έχει αναπτυχθεί από τους Microsoft Cloud Advocates, με 24 πρακτικά μαθήματα που καλύπτουν JavaScript, CSS και HTML.
### Κύρια Στοιχεία
-- **Εκπαιδευτικό Περιεχόμενο**: 24 οργανωμένα μαθήματα ταξινομημένα σε ενότητες έργων
-- **Πρακτικά Έργα**: Terrarium, Παιχνίδι Πληκτρολόγησης, Επέκταση Περιηγητή, Παιχνίδι Διαστήματος, Εφαρμογή Τραπεζικής, Επεξεργαστής Κώδικα και Βοηθός Συνομιλίας AI
-- **Διαδραστικά Quiz**: 48 κουίζ με 3 ερωτήσεις το καθένα (αξιολογήσεις πριν/μετά το μάθημα)
-- **Υποστήριξη Πολλών Γλωσσών**: Αυτόματες μεταφράσεις σε 50+ γλώσσες μέσω GitHub Actions
+- **Εκπαιδευτικό Περιεχόμενο**: 24 δομημένα μαθήματα οργανωμένα σε ενότητες με βάση έργα
+- **Πρακτικά Έργα**: Terrarium, Παιχνίδι Πληκτρολόγησης, Επέκταση Browser, Παιχνίδι στο Διάστημα, Τραπεζική Εφαρμογή, Επεξεργαστής Κώδικα και Βοηθός Chat με AI
+- **Διαδραστικά Κουίζ**: 48 κουίζ με 3 ερωτήσεις το καθένα (αξιολογήσεις πριν/μετά τα μαθήματα)
+- **Πολυγλωσσική Υποστήριξη**: Αυτόματες μεταφράσεις για πάνω από 50 γλώσσες μέσω GitHub Actions
- **Τεχνολογίες**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (για έργα AI)
### Αρχιτεκτονική
- Εκπαιδευτικό αποθετήριο με δομή βασισμένη σε μαθήματα
- Κάθε φάκελος μαθήματος περιέχει README, παραδείγματα κώδικα και λύσεις
-- Αυτόνομα έργα σε ξεχωριστούς καταλόγους (quiz-app, διάφορα έργα μαθημάτων)
-- Σύστημα μετάφρασης με χρήση GitHub Actions (co-op-translator)
-- Τεκμηρίωση που σερβίρεται μέσω Docsify και διατίθεται σε μορφή PDF
+- Ανεξάρτητα έργα σε ξεχωριστούς καταλόγους (quiz-app, διάφορα μαθήματα έργων)
+- Σύστημα μετάφρασης που χρησιμοποιεί GitHub Actions (co-op-translator)
+- Τεκμηρίωση προσβάσιμη μέσω Docsify και διαθέσιμη ως PDF
-## Εντολές Ρύθμισης
+## Εντολές Ρυθμίσεων
-Αυτό το αποθετήριο προορίζεται κυρίως για κατανάλωση εκπαιδευτικού περιεχομένου. Για εργασία σε συγκεκριμένα έργα:
+Αυτό το αποθετήριο προορίζεται κυρίως για κατανάλωση εκπαιδευτικού περιεχομένου. Για εργασία με συγκεκριμένα έργα:
-### Ρύθμιση Κύριου Αποθετηρίου
+### Κύρια Ρύθμιση Αποθετηρίου
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
-### Ρύθμιση Εφαρμογής Κουίζ (Vue 3 + Vite)
+### Ρύθμιση Quiz App (Vue 3 + Vite)
```bash
cd quiz-app
@@ -41,7 +41,7 @@ npm run build # Δημιουργία για παραγωγή
npm run lint # Εκτέλεση ESLint
```
-### API Έργο Τράπεζας (Node.js + Express)
+### API Τραπεζικού Έργου (Node.js + Express)
```bash
cd 7-bank-project/api
@@ -51,7 +51,7 @@ npm run lint # Εκτέλεση ESLint
npm run format # Μορφοποίηση με Prettier
```
-### Έργα Επέκτασης Περιηγητή
+### Έργα Επέκτασης Browser
```bash
cd 5-browser-extension/solution
@@ -59,15 +59,15 @@ npm install
# Ακολουθήστε τις οδηγίες φόρτωσης επεκτάσεων ειδικές για τον περιηγητή
```
-### Έργα Παιχνιδιού Διαστήματος
+### Έργα Παιχνιδιού στο Διάστημα
```bash
cd 6-space-game/solution
npm install
-# Ανοίξτε το index.html στον περιηγητή ή χρησιμοποιήστε το Live Server
+# Ανοίξτε το index.html σε πρόγραμμα περιήγησης ή χρησιμοποιήστε Live Server
```
-### Έργο Συνομιλίας (Python Backend)
+### Έργο Chat (Backend Python)
```bash
cd 9-chat-project/solution/backend/python
@@ -76,207 +76,207 @@ pip install openai
python api.py
```
-## Ροή Εργασίας Ανάπτυξης
+## Ροή Ανάπτυξης
### Για Συνεργάτες Περιεχομένου
-1. **Διακλάδωση (Fork)** του αποθετηρίου στο λογαριασμό σας στο GitHub
-2. **Κλωνοποίηση (Clone)** του fork τοπικά
-3. **Δημιουργία νέου κλάδου** για τις αλλαγές σας
-4. Κάντε αλλαγές στο περιεχόμενο των μαθημάτων ή στα παραδείγματα κώδικα
-5. Δοκιμάστε τις αλλαγές κώδικα στους αντίστοιχους φακέλους έργων
-6. Υποβάλετε pull requests ακολουθώντας τις οδηγίες συμβολής
+1. **Κάντε fork το αποθετήριο** στον λογαριασμό σας στο GitHub
+2. **Κλωνοποιήστε το fork τοπικά**
+3. **Δημιουργήστε νέο branch** για τις αλλαγές σας
+4. Κάντε αλλαγές σε περιεχόμενο μαθήματος ή παραδείγματα κώδικα
+5. Δοκιμάστε τις αλλαγές σε σχετικούς καταλόγους έργων
+6. Υποβάλετε pull requests σύμφωνα με τις οδηγίες συνεισφοράς
### Για Μαθητές
-1. Κάντε fork ή clone το αποθετήριο
-2. Πλοηγηθείτε στους φακέλους μαθημάτων κατά σειρά
+1. Κάντε fork ή κλωνοποιήστε το αποθετήριο
+2. Πλοηγηθείτε στους καταλόγους μαθημάτων διαδοχικά
3. Διαβάστε τα αρχεία README για κάθε μάθημα
4. Ολοκληρώστε τα κουίζ πριν το μάθημα στη διεύθυνση https://ff-quizzes.netlify.app/web/
-5. Μελετήστε τα παραδείγματα κώδικα στους φακέλους μαθημάτων
+5. Εργαστείτε μέσα από τα παραδείγματα κώδικα στους φακέλους μαθημάτων
6. Ολοκληρώστε εργασίες και προκλήσεις
7. Κάντε τα κουίζ μετά το μάθημα
### Ζωντανή Ανάπτυξη
-- **Τεκμηρίωση**: Τρέξτε `docsify serve` στην ρίζα (θύρα 3000)
-- **Εφαρμογή Κουίζ**: Τρέξτε `npm run dev` στον φάκελο quiz-app
-- **Έργα**: Χρησιμοποιήστε την επέκταση VS Code Live Server για έργα HTML
-- **API Έργα**: Τρέξτε `npm start` στους αντίστοιχους φακέλους API
+- **Τεκμηρίωση**: Εκτελέστε `docsify serve` στον ριζικό φάκελο (θύρα 3000)
+- **Quiz App**: Εκτελέστε `npm run dev` στον φάκελο quiz-app
+- **Έργα**: Χρησιμοποιήστε το VS Code Live Server extension για HTML έργα
+- **API Έργα**: Εκτελέστε `npm start` στους αντίστοιχους φακέλους API
## Οδηγίες Δοκιμών
-### Δοκιμή Εφαρμογής Κουίζ
+### Δοκιμές Quiz App
```bash
cd quiz-app
-npm run lint # Έλεγχος για προβλήματα μορφοποίησης κώδικα
-npm run build # Επαλήθευση επιτυχίας της κατασκευής
+npm run lint # Ελέγξτε για προβλήματα στο στυλ κώδικα
+npm run build # Επιβεβαιώστε ότι η κατασκευή είναι επιτυχής
```
-### Δοκιμή API Τράπεζας
+### Δοκιμές Bank API
```bash
cd 7-bank-project/api
-npm run lint # Έλεγχος για ζητήματα στυλ κώδικα
-node server.js # Επαλήθευση εκκίνησης διακομιστή χωρίς σφάλματα
+npm run lint # Ελέγξτε για προβλήματα στο στυλ κώδικα
+node server.js # Επαληθεύστε ότι ο διακομιστής ξεκινά χωρίς σφάλματα
```
### Γενική Προσέγγιση Δοκιμών
-- Πρόκειται για εκπαιδευτικό αποθετήριο χωρίς πλήρεις αυτοματοποιημένες δοκιμές
+- Αυτό είναι ένα εκπαιδευτικό αποθετήριο χωρίς πλήρεις αυτοματοποιημένες δοκιμές
- Οι χειροκίνητες δοκιμές εστιάζουν σε:
- - Εκτέλεση παραδειγμάτων κώδικα χωρίς σφάλματα
- - Σωστή λειτουργία συνδέσμων στην τεκμηρίωση
- - Επιτυχής ολοκλήρωση δημιουργίας έργων
- - Τα παραδείγματα ακολουθούν βέλτιστες πρακτικές
+ - Τα παραδείγματα κώδικα να τρέχουν χωρίς σφάλματα
+ - Οι σύνδεσμοι στην τεκμηρίωση να λειτουργούν σωστά
+ - Οι κατασκευές έργων να ολοκληρώνονται επιτυχώς
+ - Τα παραδείγματα να ακολουθούν βέλτιστες πρακτικές
-### Έλεγχοι Πριν την Υποβολή
+### Έλεγχοι Πριν Υποβολή
-- Τρέξτε `npm run lint` σε φακέλους με package.json
+- Εκτελέστε `npm run lint` σε φακέλους με package.json
- Επαληθεύστε ότι οι σύνδεσμοι markdown είναι έγκυροι
-- Δοκιμάστε παραδείγματα κώδικα στον περιηγητή ή Node.js
-- Επιβεβαιώστε ότι οι μεταφράσεις διατηρούν σωστή δομή
+- Δοκιμάστε παραδείγματα κώδικα στο πρόγραμμα περιήγησης ή Node.js
+- Ελέγξτε ότι οι μεταφράσεις διατηρούν τη σωστή δομή
## Οδηγίες Στυλ Κώδικα
### JavaScript
- Χρησιμοποιήστε σύγχρονη σύνταξη ES6+
-- Ακολουθήστε τις τυπικές ρυθμίσεις ESLint που παρέχονται στα έργα
+- Ακολουθήστε τις τυποποιημένες ρυθμίσεις ESLint που παρέχονται στα έργα
- Χρησιμοποιήστε κατανοητά ονόματα μεταβλητών και συναρτήσεων για εκπαιδευτική σαφήνεια
- Προσθέστε σχόλια που εξηγούν έννοιες για τους μαθητές
-- Μορφοποιήστε με Prettier όπου έχει ρυθμιστεί
+- Διαμορφώστε με Prettier όπου έχει ρυθμιστεί
### HTML/CSS
- Σημαντικά στοιχεία HTML5
-- Αρχές responsive σχεδίασης
-- Καθαρή ονοματοθεσία κλάσεων
+- Αρχές responsive design
+- Καθαρή ονοματοδοσία κλάσεων
- Σχόλια που εξηγούν τεχνικές CSS για μαθητές
### Python
- Οδηγίες στυλ PEP 8
- Καθαρά, εκπαιδευτικά παραδείγματα κώδικα
-- Σημειώσεις τύπων όπου βοηθούν στη μάθηση
+- Υποδείξεις τύπων όπου βοηθούν στη μάθηση
### Τεκμηρίωση Markdown
-- Καθαρή ιεραρχία κεφαλίδων
-- Μπλοκ κώδικα με δήλωση γλώσσας
-- Σύνδεσμοι για επιπλέον πόρους
-- Στιγμιότυπα και εικόνες στους φακέλους `images/`
-- Εναλλακτικό κείμενο για εικόνες για προσβασιμότητα
+- Ξεκάθαρη ιεραρχία τίτλων
+- Μπλοκ κώδικα με καθορισμένη γλώσσα
+- Σύνδεσμοι σε πρόσθετους πόρους
+- Στιγμιότυπα και εικόνες στους καταλόγους `images/`
+- Περιγραφικό κείμενο (alt) για εικόνες για προσβασιμότητα
### Οργάνωση Αρχείων
-- Μαθήματα αριθμημένα διαδοχικά (1-getting-started-lessons, 2-js-basics κτλ.)
-- Κάθε έργο έχει φακέλους `solution/` και συχνά `start/` ή `your-work/`
-- Αποθηκεύονται εικόνες σε φακέλους `images/` κάθε μαθήματος
-- Μεταφράσεις στη δομή `translations/{language-code}/`
+- Μαθήματα αριθμημένα διαδοχικά (1-getting-started-lessons, 2-js-basics, κλπ.)
+- Κάθε έργο έχει φακέλους `solution/` και συνήθως `start/` ή `your-work/`
+- Οι εικόνες αποθηκεύονται σε φακέλους `images/` συγκεκριμένων μαθημάτων
+- Οι μεταφράσεις βρίσκονται στη δομή `translations/{language-code}/`
-## Δημιουργία και Ανάπτυξη
+## Κατασκευή και Ανάπτυξη
-### Ανάπτυξη Εφαρμογής Κουίζ (Azure Static Web Apps)
+### Ανάπτυξη Quiz App (Azure Static Web Apps)
-Η εφαρμογή κουίζ έχει ρυθμιστεί για ανάπτυξη σε Azure Static Web Apps:
+Το quiz-app είναι διαμορφωμένο για ανάπτυξη σε Azure Static Web Apps:
```bash
cd quiz-app
-npm run build # Δημιουργεί τον φάκελο dist/
-# Αναπτύσσει μέσω ροής εργασίας GitHub Actions κατά την ώθηση στο main
+npm run build # Δημιουργεί το φάκελο dist/
+# Αναπτύσσει μέσω της ροής εργασίας GitHub Actions κατά την προώθηση στο main
```
-Ρυθμίσεις Azure Static Web Apps:
-- **Τοποθεσία εφαρμογής**: `/quiz-app`
-- **Τοποθεσία εξόδου**: `dist`
+Διαμόρφωση Azure Static Web Apps:
+- **Θέση εφαρμογής**: `/quiz-app`
+- **Θέση εξόδου**: `dist`
- **Ροή εργασίας**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Δημιουργία PDF Τεκμηρίωσης
```bash
-npm install # Εγκαταστήστε το docsify-to-pdf
-npm run convert # Δημιουργήστε PDF από το docs
+npm install # Εγκατάσταση του docsify-to-pdf
+npm run convert # Δημιουργία PDF από docs
```
### Τεκμηρίωση Docsify
```bash
npm install -g docsify-cli # Εγκαταστήστε το Docsify παγκοσμίως
-docsify serve # Εξυπηρετήστε στο localhost:3000
+docsify serve # Σερβίρετε στο localhost:3000
```
-### Δημιουργίες ανά Έργο
+### Κατασκευές Ανά Έργο
-Κάθε φάκελος έργου μπορεί να έχει τη δική του διαδικασία δημιουργίας:
-- Vue έργα: `npm run build` δημιουργεί πακέτα παραγωγής
-- Στατικά έργα: Δεν απαιτείται βήμα δημιουργίας, τα αρχεία σερβίρονται απευθείας
+Κάθε φάκελος έργου μπορεί να έχει τη δική του διαδικασία κατασκευής:
+- Έργα Vue: `npm run build` δημιουργεί παραγωγικά πακέτα
+- Στατικά έργα: Χωρίς βήμα κατασκευής, τα εξυπηρετεί άμεσα
## Οδηγίες Pull Request
-### Μορφοποίηση Τίτλου
+### Μορφή Τίτλου
-Χρησιμοποιήστε σαφείς, περιγραφικούς τίτλους που δείχνουν το πεδίο αλλαγής:
-- `[Quiz-app] Προσθήκη νέου κουίζ για μάθημα X`
-- `[Lesson-3] Διόρθωση ορθογραφικού λάθους στο έργο terrarium`
+Χρησιμοποιήστε σαφείς, περιγραφικούς τίτλους που δείχνουν το αντικείμενο αλλαγής:
+- `[Quiz-app] Προσθήκη νέου κουίζ για το μάθημα X`
+- `[Lesson-3] Διόρθωση τυπογραφικού στο έργο terrarium`
- `[Translation] Προσθήκη ισπανικής μετάφρασης για το μάθημα 5`
-- `[Docs] Ενημέρωση οδηγών ρύθμισης`
+- `[Docs] Ενημέρωση οδηγιών ρύθμισης`
### Απαραίτητοι Έλεγχοι
Πριν υποβάλετε PR:
1. **Ποιότητα Κώδικα**:
- - Τρέξτε `npm run lint` στους σχετικούς φακέλους έργων
+ - Εκτελέστε `npm run lint` σε σχετικούς φακέλους έργων
- Διορθώστε όλα τα σφάλματα και προειδοποιήσεις lint
-2. **Επαλήθευση Δημιουργίας**:
- - Τρέξτε `npm run build` εφόσον ισχύει
- - Επιβεβαιώστε απουσία σφαλμάτων δημιουργίας
+2. **Επαλήθευση Κατασκευής**:
+ - Εκτελέστε `npm run build` όπου έχει εφαρμογή
+ - Βεβαιωθείτε ότι δεν υπάρχουν σφάλματα κατασκευής
-3. **Έλεγχος Συνδέσμων**:
- - Δοκιμάστε όλους τους συνδέσμους markdown
- - Επαληθεύστε την απόδοση εικόνων
+3. **Επαλήθευση Συνδέσμων**:
+ - Ελέγξτε όλους τους συνδέσμους markdown
+ - Εξασφαλίστε ότι οι εικόνες φορτώνουν σωστά
-4. **Έλεγχος Περιεχομένου**:
- - Επιμεληθείτε για ορθογραφικά και γραμματικά λάθη
- - Επιβεβαιώστε ότι τα παραδείγματα κώδικα είναι σωστά και εκπαιδευτικά
- - Διασφαλίστε ότι οι μεταφράσεις διατηρούν το αρχικό νόημα
+4. **Ανασκόπηση Περιεχομένου**:
+ - Διορθώστε ορθογραφικά και γραμματικά λάθη
+ - Επαληθεύστε την ορθότητα και εκπαιδευτική αξία των παραδειγμάτων κώδικα
+ - Ελέγξτε ότι οι μεταφράσεις διατηρούν το αρχικό νόημα
-### Απαιτήσεις Συμβολής
+### Απαιτήσεις Συμμετοχής
-- Συμφωνήστε με το Microsoft CLA (αυτόματος έλεγχος στην πρώτη PR)
-- Ακολουθήστε τον [Κώδικα Συμπεριφοράς της Microsoft Open Source](https://opensource.microsoft.com/codeofconduct/)
+- Συμφωνία με το Microsoft CLA (αυτοματοποιημένος έλεγχος στο πρώτο PR)
+- Ακολούθηση του [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Δείτε το [CONTRIBUTING.md](./CONTRIBUTING.md) για λεπτομερείς οδηγίες
-- Αναφέρετε αριθμούς θεμάτων στην περιγραφή PR όπου ισχύει
+- Αναφορά αριθμού θεμάτων στην περιγραφή PR όταν ισχύει
### Διαδικασία Αναθεώρησης
-- Τα PR ελέγχονται από συντηρητές και την κοινότητα
+- Τα PR ελέγχονται από διαχειριστές και την κοινότητα
- Δίνεται προτεραιότητα στην εκπαιδευτική σαφήνεια
- Τα παραδείγματα κώδικα πρέπει να ακολουθούν τις τρέχουσες βέλτιστες πρακτικές
- Οι μεταφράσεις ελέγχονται για ακρίβεια και πολιτισμική καταλληλότητα
## Σύστημα Μετάφρασης
-### Αυτόματη Μετάφραση
+### Αυτόματες Μεταφράσεις
- Χρησιμοποιεί GitHub Actions με ροή εργασίας co-op-translator
-- Μεταφράζει αυτόματα σε 50+ γλώσσες
-- Αρχεία πηγής στους κύριους φακέλους
-- Μεταφρασμένα αρχεία στους φακέλους `translations/{language-code}/`
+- Μεταφράζει σε πάνω από 50 γλώσσες αυτόματα
+- Αρχεία πηγής στους κύριους καταλόγους
+- Μεταφρασμένα αρχεία σε φακέλους `translations/{language-code}/`
### Προσθήκη Χειροκίνητων Βελτιώσεων Μετάφρασης
-1. Εντοπίστε το αρχείο στο `translations/{language-code}/`
+1. Εντοπίστε το αρχείο σε `translations/{language-code}/`
2. Κάντε βελτιώσεις διατηρώντας τη δομή
-3. Επιβεβαιώστε ότι τα παραδείγματα κώδικα είναι λειτουργικά
-4. Δοκιμάστε τυχόν τοπικοποιημένο περιεχόμενο κουίζ
+3. Βεβαιωθείτε ότι τα παραδείγματα κώδικα παραμένουν λειτουργικά
+4. Δοκιμάστε το τοπικευμένο περιεχόμενο κουίζ
### Μεταδεδομένα Μετάφρασης
-Τα μεταφρασμένα αρχεία περιλαμβάνουν κεφαλίδα μεταδεδομένων:
+Τα μεταφρασμένα αρχεία περιλαμβάνουν επικεφαλίδα μεταδεδομένων:
```markdown
```
-## Αποσφαλμάτωση και Επίλυση Προβλημάτων
+## Αντιμετώπιση Σφαλμάτων και Επίλυση Προβλημάτων
-### Συνήθη Προβλήματα
+### Συνηθισμένα Προβλήματα
-**Η εφαρμογή κουίζ δεν ξεκινά**:
-- Ελέγξτε την έκδοση Node.js (προτείνεται v14+)
-- Διαγράψτε τους φακέλους `node_modules` και το αρχείο `package-lock.json`, τρέξτε ξανά `npm install`
+**Αποτυχία εκκίνησης της εφαρμογής κουίζ**:
+- Ελέγξτε την έκδοση Node.js (συνιστάται v14+)
+- Διαγράψτε `node_modules` και `package-lock.json`, εκτελέστε ξανά `npm install`
- Ελέγξτε για συγκρούσεις θυρών (προεπιλογή: Vite χρησιμοποιεί θύρα 5173)
-**Ο server API δεν ξεκινά**:
-- Βεβαιωθείτε ότι η έκδοση Node.js είναι >=10
-- Ελέγξτε αν η θύρα είναι ελεύθερη
-- Εξασφαλίστε ότι έχουν εγκατασταθεί όλες οι εξαρτήσεις με `npm install`
+**Ο διακομιστής API δεν ξεκινά**:
+- Επαληθεύστε ότι η έκδοση Node.js είναι επαρκής (node >=10)
+- Ελέγξτε αν η θύρα χρησιμοποιείται ήδη
+- Βεβαιωθείτε ότι όλες οι εξαρτήσεις έχουν εγκατασταθεί με `npm install`
-**Η επέκταση περιηγητή δεν φορτώνει**:
-- Βεβαιωθείτε ότι το manifest.json είναι σωστά μορφοποιημένο
-- Ελέγξτε για σφάλματα στην κονσόλα του περιηγητή
-- Ακολουθήστε τις οδηγίες εγκατάστασης της επέκτασης που είναι ειδικές για τον περιηγητή
+**Η επέκταση browser δεν φορτώνει**:
+- Επαληθεύστε ότι το manifest.json είναι σωστά μορφοποιημένο
+- Ελέγξτε την κονσόλα του browser για σφάλματα
+- Ακολουθήστε οδηγίες εγκατάστασης επεκτάσεων ειδικές για τον browser
-**Προβλήματα με το έργο συνομιλίας Python**:
-- Βεβαιωθείτε ότι έχει εγκατασταθεί το πακέτο OpenAI: `pip install openai`
-- Βεβαιωθείτε ότι η μεταβλητή περιβάλλοντος GITHUB_TOKEN υπάρχει
+**Προβλήματα με το έργο Python chat**:
+- Βεβαιωθείτε ότι το πακέτο OpenAI είναι εγκατεστημένο: `pip install openai`
+- Επαληθεύστε ότι το περιβαλλοντικό μεταβλητό GITHUB_TOKEN έχει οριστεί
- Ελέγξτε τα δικαιώματα πρόσβασης στα GitHub Models
-**Τα Docsify δεν σερβίρουν τεκμηρίωση**:
-- Εγκαταστήστε το docsify-cli παγκοσμίως: `npm install -g docsify-cli`
-- Εκτελέστε από τη ρίζα του αποθετηρίου
+**Η Docsify δεν εξυπηρετεί τεκμηρίωση**:
+- Εγκαταστήστε docsify-cli παγκόσμια: `npm install -g docsify-cli`
+- Εκτελέστε από τον ριζικό φάκελο του αποθετηρίου
- Ελέγξτε ότι υπάρχει το αρχείο `docs/_sidebar.md`
-### Συμβουλές Ανάπτυξης Περιβάλλοντος
+### Συμβουλές για Περιβάλλον Ανάπτυξης
-- Χρησιμοποιήστε VS Code με την επέκταση Live Server για έργα HTML
-- Εγκαταστήστε τις επεκτάσεις ESLint και Prettier για συνεπή μορφοποίηση
-- Χρησιμοποιήστε τα DevTools του περιηγητή για αποσφαλμάτωση JavaScript
-- Για έργα Vue, εγκαταστήστε την επέκταση Vue DevTools στον περιηγητή
+- Χρησιμοποιήστε VS Code με επέκταση Live Server για HTML έργα
+- Εγκαταστήστε ESLint και Prettier για συνεπή μορφοποίηση
+- Χρησιμοποιήστε DevTools του browser για debugging JavaScript
+- Για έργα Vue, εγκαταστήστε την επέκταση Vue DevTools στον browser
-### Σκέψεις για την Απόδοση
+### Θέματα Απόδοσης
-- Μεγάλος αριθμός μεταφρασμένων αρχείων (50+ γλώσσες) σημαίνει μεγάλο μέγεθος κλώνου
-- Χρησιμοποιήστε shallow clone αν εργάζεστε μόνο στο περιεχόμενο: `git clone --depth 1`
-- Αποκλείστε τις μεταφράσεις από τις αναζητήσεις όταν δουλεύετε στα Αγγλικά
-- Οι διαδικασίες δημιουργίας μπορεί να είναι αργές στην πρώτη εκτέλεση (npm install, Vite build)
+- Ο μεγάλος αριθμός μεταφρασμένων αρχείων (πάνω από 50 γλώσσες) σημαίνει ότι οι πλήρεις κλωνοποιήσεις είναι μεγάλες
+- Χρησιμοποιήστε shallow clone αν εργάζεστε μόνο με περιεχόμενο: `git clone --depth 1`
+- Αποφύγετε τις μεταφράσεις στις αναζητήσεις όταν εργάζεστε με αγγλικό περιεχόμενο
+- Οι διαδικασίες κατασκευής μπορεί να είναι αργές στην πρώτη εκτέλεση (npm install, κατασκευή Vite)
-## Σκέψεις Ασφαλείας
+## Θέματα Ασφαλείας
-### Μεταβλητές Περιβάλλοντος
+### Περιβαλλοντικές Μεταβλητές
- Τα κλειδιά API δεν πρέπει ποτέ να δεσμεύονται στο αποθετήριο
- Χρησιμοποιήστε αρχεία `.env` (ήδη στο `.gitignore`)
-- Τεκμηριώστε τις απαιτούμενες μεταβλητές περιβάλλοντος στα README των έργων
+- Τεκμηριώστε τις απαιτούμενες περιβαλλοντικές μεταβλητές στα README των έργων
-### Έργα Python
+### Python Έργα
- Χρησιμοποιήστε εικονικά περιβάλλοντα: `python -m venv venv`
-- Κρατάτε τις εξαρτήσεις ενημερωμένες
-- Τα tokens GitHub πρέπει να έχουν τα ελάχιστα απαραίτητα δικαιώματα
+- Διατηρήστε τις εξαρτήσεις ενημερωμένες
+- Τα GitHub tokens πρέπει να έχουν ελάχιστα απαραίτητα δικαιώματα
### Πρόσβαση σε GitHub Models
- Απαιτούνται Personal Access Tokens (PAT) για GitHub Models
-- Τα tokens πρέπει να φυλάσσονται ως μεταβλητές περιβάλλοντος
+- Τα tokens πρέπει να αποθηκεύονται ως περιβαλλοντικές μεταβλητές
- Ποτέ μην δεσμεύετε tokens ή διαπιστευτήρια
## Επιπλέον Σημειώσεις
-### Στοχευόμενο Κοινό
+### Στόχος Κοινού
-- Απόλυτοι αρχάριοι στην ανάπτυξη ιστού
-- Φοιτητές και αυτοδίδακτοι
-- Καθηγητές που χρησιμοποιούν το πρόγραμμα σπουδών στις τάξεις
+- Πλήρεις αρχάριοι στην ανάπτυξη ιστού
+- Μαθητές και αυτοδίδακτοι
+- Εκπαιδευτικοί που χρησιμοποιούν το πρόγραμμα σπουδών σε τάξεις
- Το περιεχόμενο έχει σχεδιαστεί για προσβασιμότητα και σταδιακή ανάπτυξη δεξιοτήτων
### Εκπαιδευτική Φιλοσοφία
-- Προσέγγιση μάθησης βασισμένη σε έργα
-- Συχνές επαναλήψεις γνώσης (κουίζ)
-- Πρακτικές ασκήσεις κώδικα
-- Παραδείγματα εφαρμογών πραγματικού κόσμου
-- Εστίαση στις βασικές αρχές πριν τα frameworks
+- Προσέγγιση μάθησης μέσω έργων
+- Συχνές δοκιμές γνώσεων (κουίζ)
+- Πρακτικές ασκήσεις κωδικοποίησης
+- Παραδείγματα εφαρμογών σε πραγματικό κόσμο
+- Εστίαση στα βασικά πριν τα frameworks
### Συντήρηση Αποθετηρίου
-- Δραστήρια κοινότητα μαθητών και συνεργατών
+- Ενεργή κοινότητα μαθητών και συνεργατών
- Τακτικές ενημερώσεις εξαρτήσεων και περιεχομένου
-- Παρακολούθηση θεμάτων και συζητήσεων από τους συντηρητές
+- Παρακολούθηση θεμάτων και συζητήσεων από τους διαχειριστές
- Αυτόματες ενημερώσεις μεταφράσεων μέσω GitHub Actions
### Σχετικοί Πόροι
@@ -381,28 +381,28 @@ CO_OP_TRANSLATOR_METADATA:
- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) συνιστάται για μαθητές
-- Επιπλέον μαθήματα: Generative AI, Data Science, ML, IoT διαθέσιμα
+- Επιπλέον μαθήματα: Generative AI, Data Science, ML, IoT curricula διαθέσιμα
### Εργασία με Συγκεκριμένα Έργα
-Για λεπτομερείς οδηγίες για τα επιμέρους έργα, ανατρέξτε στα αρχεία README σε:
-- `quiz-app/README.md` - Εφαρμογή κουίζ Vue 3
-- `7-bank-project/README.md` - Εφαρμογή τραπεζικού με αυθεντικοποίηση
-- `5-browser-extension/README.md` - Ανάπτυξη επέκτασης περιηγητή
-- `6-space-game/README.md` - Παιχνίδι βασισμένο σε canvas
+Για λεπτομερείς οδηγίες σε μεμονωμένα έργα, ανατρέξτε στα αρχεία README σε:
+- `quiz-app/README.md` - Εφαρμογή quiz με Vue 3
+- `7-bank-project/README.md` - Τραπεζική εφαρμογή με αυθεντικοποίηση
+- `5-browser-extension/README.md` - Ανάπτυξη επέκτασης browser
+- `6-space-game/README.md` - Ανάπτυξη παιχνιδιού βασισμένου σε Canvas
- `9-chat-project/README.md` - Έργο βοηθού συνομιλίας AI
### Δομή Monorepo
-Παρόλο που δεν είναι παραδοσιακό monorepo, αυτό το αποθετήριο περιέχει πολλαπλά ανεξάρτητα έργα:
-- Κάθε μάθημα είναι αυτόνομο
+Αν και δεν είναι παραδοσιακό monorepo, αυτό το αποθετήριο περιέχει πολλαπλά ανεξάρτητα έργα:
+- Κάθε μάθημα είναι ανεξάρτητο
- Τα έργα δεν μοιράζονται εξαρτήσεις
-- Εργαστείτε σε επιμέρους έργα χωρίς να επηρεάζετε άλλα
-- Κλωνοποιήστε ολόκληρο το αποθετήριο για πλήρη εμπειρία προγράμματος σπουδών
+- Εργαστείτε σε μεμονωμένα έργα χωρίς να επηρεάζετε τα άλλα
+- Κλωνοποιήστε ολόκληρο το αποθετήριο για την πλήρη εμπειρία προγράμματος σπουδών
---
-**Αποποίηση Ευθύνης**:
-Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που προσπαθούμε για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η επίσημη πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική μετάφραση από ανθρώπους. Δεν φέρουμε ευθύνη για οποιεσδήποτε παρανοήσεις ή λανθασμένες ερμηνείες προκύψουν από τη χρήση αυτής της μετάφρασης.
+**Αποποίηση ευθυνών**:
+Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που επιδιώκουμε την ακρίβεια, παρακαλούμε να σημειώσετε ότι οι αυτοματοποιημένες μεταφράσεις μπορεί να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
\ No newline at end of file
diff --git a/translations/el/README.md b/translations/el/README.md
index a396bff4d..602c8e4c3 100644
--- a/translations/el/README.md
+++ b/translations/el/README.md
@@ -10,70 +10,80 @@
[](https://discord.gg/nTYy5BXMWG)
-# Ανάπτυξη Ιστού για Αρχάριους - Ένα Πρόγραμμα Σπουδών
+# Ανάπτυξη Ιστού για Αρχαρίους - Ένα Πρόγραμμα Σπουδών
-Μάθετε τα βασικά της ανάπτυξης ιστού με το ολοκληρωμένο μας μάθημα 12 εβδομάδων από τους Microsoft Cloud Advocates. Κάθε ένα από τα 24 μαθήματα εμβαθύνει σε JavaScript, CSS και HTML μέσα από πρακτικά έργα όπως τεραρίουμ, επεκτάσεις προγράμματος περιήγησης και παιχνίδια στο διάστημα. Ασχοληθείτε με κουίζ, συζητήσεις και πρακτικές εργασίες. Αναβαθμίστε τις δεξιότητές σας και βελτιστοποιήστε την απορρόφηση γνώσεων με την αποτελεσματική παιδαγωγική βασισμένη σε έργα. Ξεκινήστε το ταξίδι σας στον κώδικα σήμερα!
+Μάθετε τα βασικά της ανάπτυξης ιστοσελίδων με το ολοκληρωμένο 12-εβδομαδιαίο μάθημά μας από τους Microsoft Cloud Advocates. Κάθε ένα από τα 24 μαθήματα εμβαθύνει σε JavaScript, CSS και HTML μέσω πρακτικών έργων όπως τεραριαμικά, επεκτάσεις προγράμματος περιήγησης και παιχνίδια στο διάστημα. Συμμετέχετε σε κουίζ, συζητήσεις και πρακτικές αναθέσεις. Βελτιώστε τις δεξιότητές σας και μεγιστοποιήστε τη διατήρηση γνώσεων με την αποτελεσματική παιδαγωγική μας που βασίζεται σε έργα. Ξεκινήστε το ταξίδι κωδικοποίησής σας σήμερα!
-Εγγραφείτε στην Κοινότητα Discord Azure AI Foundry
+Γίνετε μέλος της κοινότητας Azure AI Foundry στο Discord
[](https://discord.gg/nTYy5BXMWG)
-Ακολουθήστε αυτά τα βήματα για να ξεκινήσετε να χρησιμοποιείτε αυτούς τους πόρους:
-1. **Αντιγράψτε το Αποθετήριο**: Κάντε κλικ [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
+Ακολουθήστε αυτά τα βήματα για να ξεκινήσετε με αυτούς τους πόρους:
+1. **Δημιουργήστε Fork το Αποθετήριο**: Κάντε κλικ [](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Κλωνοποιήστε το Αποθετήριο**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
-3. [**Εγγραφείτε στο Discord του Azure AI Foundry και γνωρίστε ειδικούς και άλλους προγραμματιστές**](https://discord.com/invite/ByRwuEEgH4)
+3. [**Γίνετε μέλος του Azure AI Foundry Discord και γνωρίστε ειδικούς και άλλους προγραμματιστές**](https://discord.com/invite/ByRwuEEgH4)
-### 🌐 Υποστήριξη Πολλών Γλωσσών
+### 🌐 Υποστήριξη Πολλαπλών Γλωσσών
-#### Υποστηρίζεται μέσω GitHub Action (Αυτόματη & Πάντα Ενημερωμένη)
+#### Υποστηρίζεται μέσω GitHub Action (Αυτοματοποιημένα & Πάντα Ενημερωμένα)
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](./README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
-> **Προτιμάτε να Κλωνοποιήσετε τοπικά;**
-
-> Αυτό το αποθετήριο περιλαμβάνει πάνω από 50 μεταφράσεις γλωσσών που αυξάνουν σημαντικά το μέγεθος λήψης. Για να κλωνοποιήσετε χωρίς τις μεταφράσεις, χρησιμοποιήστε sparse checkout:
+> **Προτιμάτε να κλωνοποιήσετε τοπικά;**
+>
+> Αυτό το αποθετήριο περιλαμβάνει πάνω από 50 μεταφράσεις γλωσσών, που αυξάνουν σημαντικά το μέγεθος λήψης. Για να κλωνοποιήσετε χωρίς μεταφράσεις, χρησιμοποιήστε τον αραιό έλεγχο:
+>
+> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
+>
+> **CMD (Windows):**
+> ```cmd
+> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
+> cd Web-Dev-For-Beginners
+> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
+> ```
+>
> Αυτό σας δίνει όλα όσα χρειάζεστε για να ολοκληρώσετε το μάθημα με πολύ πιο γρήγορη λήψη.
-**Εάν επιθυμείτε να υποστηριχθούν επιπλέον γλώσσες μετάφρασης, αυτές είναι καταγεγραμμένες [εδώ](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
+**Εάν επιθυμείτε να υποστηρίζονται επιπλέον γλώσσες μετάφρασης, αναφέρονται [εδώ](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
-[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
+[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
-#### 🧑🎓 _Είσαι φοιτητής/φοιτήτρια;_
+#### 🧑🎓 _Είστε φοιτητής;_
-Επισκεφθείτε τη [**σελίδα Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) όπου θα βρείτε πόρους για αρχάριους, πακέτα φοιτητών και ακόμα τρόπους να λάβετε δωρεάν κουπόνι πιστοποίησης. Αυτή είναι η σελίδα που θέλετε να αποθηκεύσετε στα αγαπημένα σας και να ελέγχετε περιστασιακά καθώς ενημερώνουμε το περιεχόμενο κάθε μήνα.
+Επισκεφθείτε τη [**Σελίδα για Φοιτητές**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) όπου θα βρείτε πόρους για αρχάριους, πακέτα για φοιτητές και ακόμα τρόπους να πάρετε δωρεάν κουπόνι πιστοποιητικού. Αυτή είναι η σελίδα που θέλετε να αποθηκεύσετε στα αγαπημένα σας και να ελέγχετε περιοδικά καθώς ανανεώνουμε το περιεχόμενο κάθε μήνα.
-### 📣 Ανακοίνωση - Νέες προκλήσεις λειτουργίας GitHub Copilot Agent για ολοκλήρωση!
+### 📣 Ανακοίνωση - Νέες προκλήσεις λειτουργίας GitHub Copilot Agent για να ολοκληρώσετε!
-Προστέθηκε νέα πρόκληση, αναζητήστε το "GitHub Copilot Agent Challenge 🚀" στα περισσότερα κεφάλαια. Αυτή είναι μια νέα πρόκληση για να ολοκληρώσετε χρησιμοποιώντας το GitHub Copilot και το Agent mode. Αν δεν έχετε χρησιμοποιήσει το Agent mode πριν, μπορεί όχι μόνο να δημιουργεί κείμενο αλλά και να δημιουργεί και να επεξεργάζεται αρχεία, να εκτελεί εντολές και άλλα.
+Νέα πρόκληση προστέθηκε, ψάξτε για "GitHub Copilot Agent Challenge 🚀" στα περισσότερα κεφάλαια. Αυτή είναι μια νέα πρόκληση για να ολοκληρώσετε χρησιμοποιώντας το GitHub Copilot και τη λειτουργία Agent. Αν δεν έχετε χρησιμοποιήσει τη λειτουργία Agent πριν, μπορεί όχι μόνο να δημιουργεί κείμενο αλλά και να δημιουργεί και να επεξεργάζεται αρχεία, να εκτελεί εντολές και άλλα.
-### 📣 Ανακοίνωση - _Νέο έργο για κατασκευή με χρήση Γενετικής Τεχνητής Νοημοσύνης_
+### 📣 Ανακοίνωση - _Νέο Έργο για κατασκευή με τη χρήση Generative AI_
-Πρόσθετο νέο έργο Βοηθού AI, δείτε το [έργο](./9-chat-project/README.md)
+Πρόσφατα προστέθηκε ένα νέο έργο βοηθού AI, δείτε το [έργο](./9-chat-project/README.md)
-### 📣 Ανακοίνωση - _Νέο Πρόγραμμα Σπουδών_ για Γενετική Τεχνητή Νοημοσύνη σε JavaScript μόλις κυκλοφόρησε
+### 📣 Ανακοίνωση - _Νέο πρόγραμμα σπουδών_ για Generative AI για JavaScript μόλις κυκλοφόρησε
-Μην χάσετε το νέο μας πρόγραμμα σπουδών για Γενετική Τεχνητή Νοημοσύνη!
+Μην χάσετε το νέο μας πρόγραμμα σπουδών για Generative AI!
Επισκεφθείτε [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) για να ξεκινήσετε!

-- Μαθήματα που καλύπτουν από τα βασικά ως το RAG.
-- Αλληλεπιδράστε με ιστορικούς χαρακτήρες μέσω GenAI και της εφαρμογής συνοδού μας.
-- Διασκεδαστική και καλογραμμένη αφήγηση, θα ταξιδεύετε στο χρόνο!
+- Μαθήματα που καλύπτουν από τα βασικά μέχρι το RAG.
+- Αλληλεπιδράστε με ιστορικούς χαρακτήρες χρησιμοποιώντας GenAI και την companion εφαρμογή μας.
+- Διασκεδαστική και συναρπαστική αφήγηση, θα ταξιδεύετε στο χρόνο!

-Κάθε μάθημα περιλαμβάνει μια εργασία για ολοκλήρωση, έναν έλεγχο γνώσης και μια πρόκληση για να σας καθοδηγήσει στη μάθηση θεμάτων όπως:
-- Εντολές και μηχανική εντολών
+Κάθε μάθημα περιλαμβάνει ανάθεση για ολοκλήρωση, έλεγχο γνώσεων και πρόκληση που σας καθοδηγούν στην εκμάθηση θεμάτων όπως:
+- Πώς να δημιουργείτε prompts και μηχανική prompts
- Δημιουργία εφαρμογών κειμένου και εικόνας
- Εφαρμογές αναζήτησης
@@ -83,130 +93,129 @@
## 🌱 Ξεκινώντας
-> **Καθηγητές**, έχουμε [περιλάβει μερικές προτάσεις](for-teachers.md) για το πώς να χρησιμοποιήσετε αυτό το πρόγραμμα σπουδών. Θα εκτιμούσαμε το feedback σας [στο φόρουμ συζητήσεών μας](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
+> **Καθηγητές**, έχουμε [συμπεριλάβει ορισμένες προτάσεις](for-teachers.md) για το πώς να χρησιμοποιήσετε αυτό το πρόγραμμα σπουδών. Θα θέλαμε πολύ τα σχόλιά σας [στο φόρουμ συζητήσεών μας](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
-**[Μαθητές](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, για κάθε μάθημα, ξεκινήστε με ένα προ-λεκτικό κουίζ και συνεχίστε διαβάζοντας το υλικό του μαθήματος, ολοκληρώνοντας τις διάφορες δραστηριότητες και ελέγχοντας την κατανόησή σας με το μετα-λεκτικό κουίζ.
+**[Μαθητές](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, για κάθε μάθημα, ξεκινήστε με ένα προ-μάθημα κουίζ και συνεχίστε διαβάζοντας το υλικό του μαθήματος, ολοκληρώνοντας τις διάφορες δραστηριότητες και ελέγξτε την κατανόησή σας με το μετα-μάθημα κουίζ.
-Για να βελτιώσετε την εκπαιδευτική σας εμπειρία, συνδεθείτε με τους συναδέλφους σας για να δουλέψετε μαζί στα έργα! Οι συζητήσεις ενθαρρύνονται στο [φόρουμ συζητήσεών μας](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) όπου η ομάδα των μεσαζόντων μας θα είναι διαθέσιμη για να απαντήσει στις ερωτήσεις σας.
+Για να βελτιώσετε την εμπειρία μάθησής σας, συνδεθείτε με τους συμφοιτητές σας για να δουλέψετε στα έργα μαζί! Οι συζητήσεις ενθαρρύνονται στο [φόρουμ συζητήσεών μας](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) όπου η ομάδα των συντονιστών μας θα είναι διαθέσιμη να απαντήσει στις ερωτήσεις σας.
Για περαιτέρω εκπαίδευση, συνιστούμε ανεπιφύλακτα να εξερευνήσετε το [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) για επιπλέον υλικό μελέτης.
### 📋 Ρύθμιση του περιβάλλοντός σας
-Αυτό το πρόγραμμα σπουδών έχει ένα περιβάλλον ανάπτυξης έτοιμο για χρήση! Καθώς ξεκινάτε, μπορείτε να επιλέξετε να τρέξετε το πρόγραμμα σε [Codespace](https://github.com/features/codespaces/) (_ένα περιβάλλον βασισμένο σε πρόγραμμα περιήγησης, χωρίς ανάγκη εγκαταστάσεων_), ή τοπικά στον υπολογιστή σας χρησιμοποιώντας έναν επεξεργαστή κειμένου όπως το [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+Αυτό το πρόγραμμα σπουδών έχει έτοιμο περιβάλλον ανάπτυξης! Όταν ξεκινάτε, μπορείτε να επιλέξετε να τρέξετε το πρόγραμμα σε ένα [Codespace](https://github.com/features/codespaces/) (_περιβάλλον βασισμένο σε πρόγραμμα περιήγησης, χωρίς ανάγκη εγκατάστασης_), ή τοπικά στον υπολογιστή σας χρησιμοποιώντας έναν επεξεργαστή κειμένου όπως το [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Δημιουργήστε το αποθετήριό σας
-Για να αποθηκεύετε εύκολα τη δουλειά σας, συνιστάται να δημιουργήσετε το δικό σας αντίγραφο αυτού του αποθετηρίου. Μπορείτε να το κάνετε πατώντας το κουμπί **Use this template** στο πάνω μέρος της σελίδας. Αυτό θα δημιουργήσει ένα νέο αποθετήριο στο λογαριασμό σας στο GitHub με ένα αντίγραφο του προγράμματος σπουδών.
+Για να αποθηκεύετε εύκολα τη δουλειά σας, συνιστάται να δημιουργήσετε το δικό σας αντίγραφο αυτού του αποθετηρίου. Μπορείτε να το κάνετε κάνοντας κλικ στο κουμπί **Use this template** στην κορυφή της σελίδας. Αυτό θα δημιουργήσει ένα νέο αποθετήριο στον λογαριασμό σας στο GitHub με ένα αντίγραφο του προγράμματος σπουδών.
Ακολουθήστε αυτά τα βήματα:
-1. **Αντιγράψτε το Αποθετήριο**: Κάντε κλικ στο κουμπί "Fork" στην πάνω δεξιά γωνία αυτής της σελίδας.
+1. **Δημιουργήστε Fork το Αποθετήριο**: Κάντε κλικ στο κουμπί "Fork" στην επάνω δεξιά γωνία αυτής της σελίδας.
2. **Κλωνοποιήστε το Αποθετήριο**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
-#### Εκτέλεση του προγράμματος σε Codespace
+#### Τρέξιμο του προγράμματος σε Codespace
-Στο αντίγραφο αυτού του αποθετηρίου που δημιουργήσατε, κάντε κλικ στο κουμπί **Code** και επιλέξτε **Open with Codespaces**. Αυτό θα δημιουργήσει ένα νέο Codespace για να δουλέψετε.
+Στο αντίγραφο που δημιουργήσατε, κάντε κλικ στο κουμπί **Code** και επιλέξτε **Open with Codespaces**. Αυτό θα δημιουργήσει έναν νέο Codespace για να εργαστείτε.

-#### Εκτέλεση του προγράμματος τοπικά στον υπολογιστή σας
-
-Για να τρέξετε αυτό το πρόγραμμα τοπικά, θα χρειαστείτε έναν επεξεργαστή κειμένου, ένα πρόγραμμα περιήγησης και ένα εργαλείο γραμμής εντολών. Το πρώτο μάθημά μας, [Εισαγωγή στις Γλώσσες Προγραμματισμού και στα Εργαλεία του Χειριστή](../../1-getting-started-lessons/1-intro-to-programming-languages), θα σας καθοδηγήσει στις διάφορες επιλογές για κάθε ένα από αυτά τα εργαλεία για να επιλέξετε εκείνο που σας ταιριάζει καλύτερα.
-
-Η σύστασή μας είναι να χρησιμοποιήσετε [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ως επεξεργαστή, που επίσης διαθέτει ενσωματωμένο [Τερματικό](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Μπορείτε να κατεβάσετε το Visual Studio Code [εδώ](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+#### Τρέξιμο του προγράμματος τοπικά στον υπολογιστή σας
+Για να τρέξετε αυτό το πρόγραμμα τοπικά στον υπολογιστή σας θα χρειαστείτε έναν επεξεργαστή κειμένου, έναν πρόγραμμα περιήγησης και ένα εργαλείο γραμμής εντολών. Το πρώτο μας μάθημα, [Εισαγωγή στις Γλώσσες Προγραμματισμού και στα Εργαλεία](../../1-getting-started-lessons/1-intro-to-programming-languages), θα σας καθοδηγήσει ανάμεσα στις διάφορες επιλογές για κάθε ένα από αυτά τα εργαλεία, για να επιλέξετε ποια δουλεύει καλύτερα για εσάς.
-1. Κλωνοποιήστε το αποθετήριό σας στον υπολογιστή σας. Μπορείτε να το κάνετε πατώντας το κουμπί **Code** και αντιγράφοντας το URL:
+Η σύστασή μας είναι να χρησιμοποιήσετε το [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ως επεξεργαστή σας, που έχει επίσης ενσωματωμένο [τερματικό](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Μπορείτε να κατεβάσετε το Visual Studio Code [εδώ](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
+1. Κλωνοποιήστε το αποθετήριο στον υπολογιστή σας. Μπορείτε να το κάνετε κάνοντας κλικ στο κουμπί **Code** και αντιγράφοντας τη διεύθυνση URL:
[CodeSpace](./images/createcodespace.png)
- Στη συνέχεια, ανοίξτε το [Τερματικό](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) μέσα στο [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) και εκτελέστε την ακόλουθη εντολή, αντικαθιστώντας το `` με το URL που μόλις αντιγράψατε:
+
+ Στη συνέχεια, ανοίξτε το [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) μέσα στο [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) και εκτελέστε την ακόλουθη εντολή, αντικαθιστώντας το `` με τη διεύθυνση URL που μόλις αντιγράψατε:
```bash
git clone
```
-2. Ανοίξτε τον φάκελο στο Visual Studio Code. Μπορείτε να το κάνετε κάνοντας κλικ στο **File** > **Open Folder** και επιλέγοντας τον φάκελο που μόλις κλωνοποιήσατε.
+2. Ανοίξτε το φάκελο στο Visual Studio Code. Μπορείτε να το κάνετε κάνοντας κλικ στο **File** > **Open Folder** και επιλέγοντας το φάκελο που μόλις κλωνοποιήσατε.
-> Συνιστώμενες επεκτάσεις για το Visual Studio Code:
+> Προτεινόμενες επεκτάσεις Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - για προεπισκόπηση σελίδων HTML μέσα στο Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - για να σας βοηθήσει να γράφετε κώδικα πιο γρήγορα
## 📂 Κάθε μάθημα περιλαμβάνει:
-- προαιρετική σχεδίαση ιδεών (sketchnote)
+- προαιρετικό σκιτσάκι
- προαιρετικό συμπληρωματικό βίντεο
-- προθέρμανση quiz πριν το μάθημα
+- προ-μαθησιακό quiz για προθέρμανση
- γραπτό μάθημα
-- για μαθήματα βασισμένα σε project, οδηγίες βήμα προς βήμα για το πώς να χτίσετε το έργο
+- για μαθήματα βασισμένα σε έργα, οδηγούς βήμα προς βήμα για την κατασκευή του έργου
- ελέγχους γνώσης
- μια πρόκληση
- συμπληρωματική ανάγνωση
-- εργασίες
-- [τεστ μετά το μάθημα](https://ff-quizzes.netlify.app/web/)
+- ανάθεση
+- [μετα-μαθησιακό quiz](https://ff-quizzes.netlify.app/web/)
-> **Μια σημείωση για τα κουίζ**: Όλα τα κουίζ βρίσκονται στον φάκελο Quiz-app, συνολικά 48 κουίζ με τρεις ερωτήσεις το καθένα. Είναι διαθέσιμα [εδώ](https://ff-quizzes.netlify.app/web/) και η εφαρμογή κουίζ μπορεί να τρέξει τοπικά ή να αναπτυχθεί στο Azure· ακολουθήστε τις οδηγίες στον φάκελο `quiz-app`.
+> **Σημείωση σχετικά με τα quiz**: Όλα τα quiz περιέχονται στο φάκελο Quiz-app, συνολικά 48 quiz με τρεις ερωτήσεις το καθένα. Είναι διαθέσιμα [εδώ](https://ff-quizzes.netlify.app/web/), η εφαρμογή quiz μπορεί να τρέξει τοπικά ή να αναπτυχθεί στο Azure· ακολουθήστε τις οδηγίες στον φάκελο `quiz-app`.
## 🗃️ Μαθήματα
-| | Όνομα Έργου | Διδασκόμενες Έννοιες | Στόχοι Μάθησης | Σχετικό Μάθημα | Συγγραφέας |
+| | Όνομα Έργου | Διδασκόμενες Έννοιες | Μαθησιακοί Στόχοι | Συνδεδεμένο Μάθημα | Συγγραφέας |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
-| 01 | Ξεκινώντας | Εισαγωγή στον Προγραμματισμό και τα Εργαλεία του Επαγγέλματος | Μάθετε τις βασικές αρχές πίσω από τις περισσότερες γλώσσες προγραμματισμού και για το λογισμικό που βοηθά τους επαγγελματίες προγραμματιστές να κάνουν τη δουλειά τους | [Εισαγωγή στις Γλώσσες Προγραμματισμού και στα Εργαλεία](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
-| 02 | Ξεκινώντας | Βασικά του GitHub, περιλαμβάνει τη συνεργασία με ομάδα | Πώς να χρησιμοποιήσετε το GitHub στο έργο σας, πώς να συνεργάζεστε με άλλους σε μια βάση κώδικα | [Εισαγωγή στο GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
-| 03 | Ξεκινώντας | Προσβασιμότητα | Μάθετε τα βασικά της προσβασιμότητας στον ιστό | [Βασικά της Προσβασιμότητας](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
-| 04 | Βασικά JS | Τύποι Δεδομένων JavaScript | Τα βασικά των τύπων δεδομένων JavaScript | [Τύποι Δεδομένων](./2-js-basics/1-data-types/README.md) | Jasmine |
-| 05 | Βασικά JS | Συναρτήσεις και Μέθοδοι | Μάθετε για τις συναρτήσεις και τις μεθόδους για τη διαχείριση της ροής λογικής μιας εφαρμογής | [Συναρτήσεις και Μέθοδοι](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
-| 06 | Βασικά JS | Λήψη Αποφάσεων με JS | Μάθετε πώς να δημιουργείτε συνθήκες στον κώδικά σας χρησιμοποιώντας μεθόδους λήψης αποφάσεων | [Λήψη Αποφάσεων](./2-js-basics/3-making-decisions/README.md) | Jasmine |
-| 07 | Βασικά JS | Πίνακες και Βρόχοι | Εργαστείτε με δεδομένα χρησιμοποιώντας πίνακες και βρόχους στην JavaScript | [Πίνακες και Βρόχοι](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
-| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML στην πράξη | Δημιουργήστε το HTML για να φτιάξετε ένα online terrarium, εστιάζοντας στη δημιουργία διάταξης | [Εισαγωγή στο HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
-| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS στην πράξη | Δημιουργήστε το CSS για το στυλιζάρισμα του online terrarium, εστιάζοντας στα βασικά του CSS, συμπεριλαμβανομένου και του responsive design | [Εισαγωγή στο CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
-| 10 | [Terrarium](./3-terrarium/solution/README.md) | Κλεισίματα JavaScript, χειρισμός DOM | Δημιουργήστε τον JavaScript κώδικα για να κάνει το terrarium λειτουργικό ως interface με σύρσιμο και απόθεση, εστιάζοντας σε κλεισίματα και χειρισμό DOM | [Κλεισίματα JavaScript, χειρισμός DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
-| 11 | [Παιχνίδι Πληκτρολόγησης](./4-typing-game/solution/README.md) | Δημιουργία Παιχνιδιού Πληκτρολόγησης | Μάθετε πώς να χρησιμοποιείτε τα γεγονότα πληκτρολογίου για να οδηγήσετε τη λογική της εφαρμογής JavaScript | [Προγραμματισμός με Γεγονότα](./4-typing-game/typing-game/README.md) | Christopher |
-| 12 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Εργασία με Περιηγητές | Μάθετε πώς λειτουργούν οι περιηγητές, την ιστορία τους και πώς να στήσετε τα πρώτα στοιχεία μιας επέκτασης περιηγητή | [Σχετικά με τους Περιηγητές](./5-browser-extension/1-about-browsers/README.md) | Jen |
-| 13 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Δημιουργία φόρμας, κλήση API και αποθήκευση μεταβλητών στο τοπικό αποθετήριο | Δημιουργήστε τα στοιχεία JavaScript της επέκτασης περιηγητή σας για να καλέσετε ένα API χρησιμοποιώντας μεταβλητές αποθηκευμένες στο τοπικό αποθετήριο | [APIs, Φόρμες και Τοπικό Αποθετήριο](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
-| 14 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Διαδικασίες υπόβαθρου στον περιηγητή, απόδοση στον ιστό | Χρησιμοποιήστε τις διαδικασίες υπόβαθρου για τη διαχείριση του εικονιδίου της επέκτασης· μάθετε για την απόδοση του ιστού και κάποιες βελτιστοποιήσεις για βελτίωση | [Εργασίες Υπόβαθρου και Απόδοση](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
-| 15 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Προχωρημένη Ανάπτυξη Παιχνιδιών με JavaScript | Μάθετε για την Κληρονομικότητα χρησιμοποιώντας τόσο Κλάσεις όσο και Σύνθεση και το μοτίβο Pub/Sub, σε προετοιμασία για την κατασκευή ενός παιχνιδιού | [Εισαγωγή στην Προχωρημένη Ανάπτυξη Παιχνιδιών](./6-space-game/1-introduction/README.md) | Chris |
-| 16 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Σχεδίαση σε καμβά | Μάθετε για το Canvas API, που χρησιμοποιείται για ζωγραφική στοιχείων στην οθόνη | [Σχεδίαση σε Καμβά](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
-| 17 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Κίνηση στοιχείων στην οθόνη | Ανακαλύψτε πώς τα στοιχεία μπορούν να κινηθούν χρησιμοποιώντας καρτεσιανές συντεταγμένες και το Canvas API | [Κίνηση Στοιχείων](./6-space-game/3-moving-elements-around/README.md) | Chris |
-| 18 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Ανίχνευση συγκρούσεων | Κάντε τα στοιχεία να συγκρούονται και να αντιδρούν μεταξύ τους χρησιμοποιώντας πατήματα πλήκτρων και διαθέτοντας λειτουργία ανάρρωσης για ομαλή απόδοση στο παιχνίδι | [Ανίχνευση Σύγκρουσης](./6-space-game/4-collision-detection/README.md) | Chris |
-| 19 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Διατήρηση σκορ | Εκτελέστε μαθηματικούς υπολογισμούς βάσει της κατάστασης και απόδοσης του παιχνιδιού | [Διατήρηση Σκορ](./6-space-game/5-keeping-score/README.md) | Chris |
-| 20 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Τερματισμός και επανεκκίνηση παιχνιδιού | Μάθετε για τον τερματισμό και την επανεκκίνηση του παιχνιδιού, συμπεριλαμβανομένου του καθαρισμού πόρων και της επαναφοράς μεταβλητών | [Η Συνθήκη Τερματισμού](./6-space-game/6-end-condition/README.md) | Chris |
-| 21 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Πρότυπα HTML και Διαδρομές σε μια Web Εφαρμογή | Μάθετε πώς να δημιουργήσετε τη δομή μιας πολυσέλιδης ιστοσελίδας χρησιμοποιώντας routing και πρότυπα HTML | [Πρότυπα HTML και Διαδρομές](./7-bank-project/1-template-route/README.md) | Yohan |
-| 22 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Δημιουργία Φόρμας Σύνδεσης και Εγγραφής | Μάθετε για τη δημιουργία φορμών και τη διαχείριση των διαδικασιών επικύρωσης | [Φόρμες](./7-bank-project/2-forms/README.md) | Yohan |
-| 23 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Μέθοδοι Ανάκτησης και Χρήσης Δεδομένων | Πώς ρέουν τα δεδομένα μέσα και έξω από την εφαρμογή σας, πώς να τα ανακτάτε, να τα αποθηκεύετε και να τα απορρίπτετε | [Δεδομένα](./7-bank-project/3-data/README.md) | Yohan |
-| 24 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Έννοιες Διαχείρισης Κατάστασης | Μάθετε πώς η εφαρμογή διατηρεί την κατάσταση και πώς να τη διαχειρίζεστε προγραμματιστικά | [Διαχείριση Κατάστασης](./7-bank-project/4-state-management/README.md) | Yohan |
-| 25 | [Κώδικας Περιηγητή/VSCode](../../8-code-editor) | Εργασία με το VScode | Μάθετε πώς να χρησιμοποιείτε έναν επεξεργαστή κώδικα | [Χρήση επεξεργαστή κώδικα VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
-| 26 | [Βοηθοί Τεχνητής Νοημοσύνης](./9-chat-project/README.md) | Εργασία με AI | Μάθετε πώς να δημιουργήσετε τον δικό σας βοηθό τεχνητής νοημοσύνης | [Έργο Βοηθού AI](./9-chat-project/README.md) | Chris |
+| 01 | Ξεκινώντας | Εισαγωγή στον Προγραμματισμό και τα Εργαλεία της Εργασίας | Μάθετε τις βασικές αρχές πίσω από τις περισσότερες γλώσσες προγραμματισμού και για το λογισμικό που βοηθά τους επαγγελματίες προγραμματιστές να κάνουν τη δουλειά τους | [Εισαγωγή στις Γλώσσες Προγραμματισμού και Εργαλεία](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
+| 02 | Ξεκινώντας | Βασικά του GitHub, περιλαμβάνει συνεργασία με ομάδα | Πώς να χρησιμοποιείτε το GitHub στο έργο σας, πώς να συνεργάζεστε με άλλους σε βάση κώδικα | [Εισαγωγή στο GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
+| 03 | Ξεκινώντας | Προσβασιμότητα | Μάθετε τα βασικά της προσβασιμότητας ιστού | [Βασικά της Προσβασιμότητας](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
+| 04 | Βασικά JS | Τύποι Δεδομένων JavaScript | Τα βασικά των τύπων δεδομένων JavaScript | [Τύποι Δεδομένων](./2-js-basics/1-data-types/README.md) | Jasmine |
+| 05 | Βασικά JS | Συναρτήσεις και Μέθοδοι | Μάθετε για τις συναρτήσεις και μεθόδους για τη διαχείριση της ροής λογικής μιας εφαρμογής | [Συναρτήσεις και Μέθοδοι](./2-js-basics/2-functions-methods/README.md) | Jasmine και Christopher |
+| 06 | Βασικά JS | Λήψη Αποφάσεων με JS | Μάθετε πώς να δημιουργείτε συνθήκες στον κώδικά σας χρησιμοποιώντας μεθόδους λήψης αποφάσεων | [Λήψη Αποφάσεων](./2-js-basics/3-making-decisions/README.md) | Jasmine |
+| 07 | Βασικά JS | Πίνακες και Βρόχοι | Εργαστείτε με δεδομένα χρησιμοποιώντας πίνακες και βρόχους σε JavaScript | [Πίνακες και Βρόχοι](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
+| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML στην Πράξη | Δημιουργήστε το HTML για ένα διαδικτυακό terrarium, εστιάζοντας στην κατασκευή μιας διάταξης | [Εισαγωγή στο HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
+| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS στην Πράξη | Δημιουργήστε το CSS για το στυλ του διαδικτυακού terrarium, εστιάζοντας στα βασικά του CSS, συμπεριλαμβανομένης της ανταπόκρισης της σελίδας | [Εισαγωγή στο CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
+| 10 | [Terrarium](./3-terrarium/solution/README.md) | Κλεισίματα JavaScript, χειρισμός DOM | Δημιουργήστε τον JavaScript κώδικα για τη λειτουργία του terrarium ως διεπαφή drag/drop, εστιάζοντας στα κλεισίματα και χειρισμό DOM | [Κλεισίματα JavaScript, χειρισμός DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
+| 11 | [Παιχνίδι Πληκτρολόγησης](./4-typing-game/solution/README.md) | Δημιουργία Παιχνιδιού Πληκτρολόγησης | Μάθετε πώς να χρησιμοποιείτε τα γεγονότα πληκτρολογίου για να κατευθύνετε τη λογική της εφαρμογής JavaScript | [Προγραμματισμός με βάση τα γεγονότα](./4-typing-game/typing-game/README.md) | Christopher |
+| 12 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Εργασία με Περιηγητές | Μάθετε πώς λειτουργούν οι περιηγητές, την ιστορία τους και πώς να στήσετε τα πρώτα στοιχεία επέκτασης περιηγητή | [Σχετικά με τους Περιηγητές](./5-browser-extension/1-about-browsers/README.md) | Jen |
+| 13 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Δημιουργία φόρμας, κλήση API και αποθήκευση μεταβλητών στο τοπικό αποθηκευτικό χώρο | Δημιουργήστε τα στοιχεία JavaScript της επέκτασης περιηγητή σας για να καλέσετε ένα API χρησιμοποιώντας μεταβλητές αποθηκευμένες τοπικά | [APIs, Φόρμες και Τοπική Αποθήκευση](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
+| 14 | [Πράσινη Επέκταση Περιηγητή](./5-browser-extension/solution/README.md) | Φόντινες διεργασίες στον περιηγητή, απόδοση ιστοσελίδας | Χρησιμοποιήστε τις φόντινες διεργασίες του περιηγητή για να διαχειριστείτε το εικονίδιο της επέκτασης· μάθετε για την απόδοση του ιστού και ορισμένες βελτιστοποιήσεις | [Φόντινες εργασίες και Απόδοση](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
+| 15 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Προχωρημένη Ανάπτυξη Παιχνιδιών με JavaScript | Μάθετε για την Κληρονομικότητα χρησιμοποιώντας και Κλάσεις και Σύνθεση και το πρότυπο Pub/Sub, ως προετοιμασία για τη δημιουργία παιχνιδιού | [Εισαγωγή στην Προχωρημένη Ανάπτυξη Παιχνιδιών](./6-space-game/1-introduction/README.md) | Chris |
+| 16 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Σχεδίαση στον καμβά | Μάθετε για το Canvas API, που χρησιμοποιείται για να ζωγραφίζετε στοιχεία σε οθόνη | [Σχεδίαση στον Καμβά](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
+| 17 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Μετακίνηση στοιχείων στην οθόνη | Ανακαλύψτε πώς τα στοιχεία μπορούν να αποκτούν κίνηση χρησιμοποιώντας τα καρτεσιανά συντεταγμένα και το Canvas API | [Μετακίνηση Στοιχείων](./6-space-game/3-moving-elements-around/README.md) | Chris |
+| 18 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Ανίχνευση συγκρούσεων | Κάντε τα στοιχεία να συγκρούονται και να αντιδρούν το ένα στο άλλο χρησιμοποιώντας πατήματα και παρέχετε λειτουργία ψύξης για τη βελτίωση της απόδοσης του παιχνιδιού | [Ανίχνευση Συγκρούσεων](./6-space-game/4-collision-detection/README.md) | Chris |
+| 19 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Διατήρηση σκορ | Εκτελέστε μαθηματικούς υπολογισμούς με βάση την κατάσταση και απόδοση του παιχνιδιού | [Διατήρηση Σκορ](./6-space-game/5-keeping-score/README.md) | Chris |
+| 20 | [Παιχνίδι Διαστήματος](./6-space-game/solution/README.md) | Τερματισμός και επανεκκίνηση παιχνιδιού | Μάθετε για τον τερματισμό και την επανεκκίνηση του παιχνιδιού, συμπεριλαμβανομένου του καθαρισμού πόρων και της επαναφοράς τιμών μεταβλητών | [Η Συνθήκη Τερματισμού](./6-space-game/6-end-condition/README.md) | Chris |
+| 21 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Πρότυπα HTML και Διαδρομές σε μια Ιστοσελίδα | Μάθετε πώς να δημιουργήσετε τη δομή μιας πολυσέλιδης ιστοσελίδας χρησιμοποιώντας δρομολόγηση και πρότυπα HTML | [Πρότυπα HTML και Διαδρομές](./7-bank-project/1-template-route/README.md) | Yohan |
+| 22 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Δημιουργία Φόρμας Εισόδου και Εγγραφής | Μάθετε για τη δημιουργία φορμών και τη διαχείριση ρουτινών ελέγχου | [Φόρμες](./7-bank-project/2-forms/README.md) | Yohan |
+| 23 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Μέθοδοι Λήψης και Χρήσης Δεδομένων | Πώς τα δεδομένα ρέουν μέσα κι έξω από την εφαρμογή σας, πώς να τα λαμβάνετε, να τα αποθηκεύετε και να τα απορρίπτετε | [Δεδομένα](./7-bank-project/3-data/README.md) | Yohan |
+| 24 | [Εφαρμογή Τραπεζικής](./7-bank-project/solution/README.md) | Έννοιες Διαχείρισης Κατάστασης | Μάθετε πώς η εφαρμογή σας διατηρεί κατάσταση και πώς να τη διαχειρίζεστε προγραμματιστικά | [Διαχείριση Κατάστασης](./7-bank-project/4-state-management/README.md) | Yohan |
+| 25 | [Κώδικας Browser/VScode](../../8-code-editor) | Εργασία με το VScode | Μάθετε πώς να χρησιμοποιείτε έναν επεξεργαστή κώδικα | [Χρήση του επεξεργαστή κώδικα VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
+| 26 | [Βοηθοί Τεχνητής Νοημοσύνης](./9-chat-project/README.md) | Εργασία με ΤΝ | Μάθετε πώς να φτιάξετε τον δικό σας βοηθό ΤΝ | [Έργο βοηθού ΤΝ](./9-chat-project/README.md) | Chris |
## 🏫 Παιδαγωγική
Το πρόγραμμα σπουδών μας έχει σχεδιαστεί με δύο βασικές παιδαγωγικές αρχές στο μυαλό:
* μάθηση βασισμένη σε έργα
-* συχνά κουίζ
+* συχνά quiz
-Το πρόγραμμα διδάσκει τα βασικά της JavaScript, HTML και CSS, καθώς και τα πιο σύγχρονα εργαλεία και τεχνικές που χρησιμοποιούν οι σύγχρονοι προγραμματιστές ιστού. Οι μαθητές θα έχουν την ευκαιρία να αναπτύξουν πρακτική εμπειρία δημιουργώντας ένα παιχνίδι πληκτρολόγησης, ένα εικονικό terrarium, μια οικολογική επέκταση περιηγητή, ένα παιχνίδι τύπου εισβολέα στο διάστημα και μια τραπεζική εφαρμογή για επιχειρήσεις. Μέχρι το τέλος της σειράς, οι μαθητές θα έχουν αποκτήσει μια στέρεη κατανόηση της ανάπτυξης στον ιστό.
+Το πρόγραμμα διδάσκει τα βασικά του JavaScript, HTML και CSS, καθώς και τα πιο πρόσφατα εργαλεία και τεχνικές που χρησιμοποιούν οι σημερινοί προγραμματιστές ιστού. Οι σπουδαστές θα έχουν την ευκαιρία να αποκτήσουν πρακτική εμπειρία χτίζοντας ένα παιχνίδι πληκτρολόγησης, ένα εικονικό terrarium, μια φιλική προς το περιβάλλον επέκταση περιηγητή, ένα παιχνίδι τύπου space-invader και μια τραπεζική εφαρμογή για επιχειρήσεις. Μέχρι το τέλος της σειράς, οι μαθητές θα έχουν αποκτήσει σταθερή κατανόηση της ανάπτυξης ιστού.
-> 🎓 Μπορείτε να παρακολουθήσετε τα πρώτα μαθήματα αυτού του προγράμματος ως [Μονοπάτι Μάθησης](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) στο Microsoft Learn!
+> 🎓 Μπορείτε να παρακολουθήσετε τα πρώτα λίγα μαθήματα αυτού του προγράμματος σπουδών ως [Μονοπάτι Μάθησης](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) στο Microsoft Learn!
-Διασφαλίζοντας ότι το περιεχόμενο εναρμονίζεται με τα έργα, η διαδικασία γίνεται πιο ελκυστική για τους μαθητές και η διατήρηση των εννοιών ενισχύεται. Επίσης, γράψαμε αρκετά εισαγωγικά μαθήματα στα βασικά της JavaScript για την εισαγωγή εννοιών, συνοδευόμενα από ένα βίντεο από τη συλλογή βίντεο "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", αρκετοί από τους συγγραφείς του οποίου συνέβαλαν σε αυτό το πρόγραμμα σπουδών.
+Διασφαλίζοντας ότι το περιεχόμενο ευθυγραμμίζεται με τα έργα, η διαδικασία γίνεται πιο ελκυστική για τους μαθητές και η διατήρηση των εννοιών ενισχύεται. Επίσης γράψαμε αρκετά αρχικά μαθήματα στα βασικά της JavaScript για να παρουσιάσουμε έννοιες, σε συνδυασμό με βίντεο από τη συλλογή "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" με βιντεομαθήματα, με μερικούς από τους συγγραφείς τους να έχουν συμβάλει σε αυτό το πρόγραμμα σπουδών.
-Επιπλέον, ένα χαμηλού ρίσκου κουίζ πριν το μάθημα θέτει την πρόθεση του μαθητή προς την εκμάθηση ενός θέματος, ενώ ένα δεύτερο κουίζ μετά το μάθημα εξασφαλίζει περαιτέρω διατήρηση. Αυτό το πρόγραμμα σπουδών σχεδιάστηκε να είναι ευέλικτο και διασκεδαστικό και μπορεί να παρακολουθηθεί ολόκληρο ή κατά τμήματα. Τα έργα ξεκινούν μικρά και γίνονται όλο και πιο σύνθετα προς το τέλος του κύκλου των 12 εβδομάδων.
+Επιπλέον, ένα ανεπίσημο quiz πριν από το μάθημα θέτει τον σκοπό του μαθητή προς την εκμάθηση μιας θεματικής ενότητας, ενώ ένα δεύτερο quiz μετά το μάθημα διασφαλίζει περαιτέρω διατήρηση. Αυτό το πρόγραμμα σπουδών έχει σχεδιαστεί ώστε να είναι ευέλικτο και διασκεδαστικό και μπορεί να παρακολουθηθεί στο σύνολό του ή μεμονωμένα τμήματα. Τα έργα ξεκινούν μικρά και γίνονται όλο και πιο σύνθετα μέχρι το τέλος του δωδεκαβδομαδιαίου κύκλου.
-Παρόλο που αποφεύγουμε εσκεμμένα την εισαγωγή πλαισίων εργασίας JavaScript για να εστιάσουμε στις βασικές δεξιότητες που χρειάζεται ένας προγραμματιστής ιστού πριν από την υιοθέτηση πλαισίου, ένα καλό επόμενο βήμα για την ολοκλήρωση αυτού του προγράμματος θα ήταν η εκμάθηση του Node.js μέσω μιας άλλης συλλογής βίντεο: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
+Ενώ έχουμε σκοπίμως αποφύγει την εισαγωγή πλαισίων JavaScript για να επικεντρωθούμε στις βασικές δεξιότητες που χρειάζεται ένας προγραμματιστής ιστού πριν την υιοθέτηση πλαισίου, ένα καλό επόμενο βήμα για την ολοκλήρωση αυτού του προγράμματος σπουδών θα ήταν η εκμάθηση του Node.js μέσω μιας άλλης συλλογής βίντεο: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
-> Επισκεφτείτε τις οδηγίες μας [Κώδικας Συμπεριφοράς](CODE_OF_CONDUCT.md) και [Συνεισφοράς](CONTRIBUTING.md). Καλωσορίζουμε τα εποικοδομητικά σας σχόλια!
+> Επισκεφτείτε τους [Κανόνες Συμπεριφοράς](CODE_OF_CONDUCT.md) και τις οδηγίες [Συμμετοχής](CONTRIBUTING.md). Καλωσορίζουμε τις εποικοδομητικές σας παρατηρήσεις!
## 🧭 Πρόσβαση εκτός σύνδεσης
-Μπορείτε να εκτελέσετε αυτή την τεκμηρίωση εκτός σύνδεσης χρησιμοποιώντας το [Docsify](https://docsify.js.org/#/). Κάντε fork αυτό το αποθετήριο, [εγκαταστήστε το Docsify](https://docsify.js.org/#/quickstart) στη τοπική σας μηχανή και μετά στο ριζικό φάκελο αυτού του αποθετηρίου, πληκτρολογήστε `docsify serve`. Ο ιστότοπος θα σερβιριστεί στην πόρτα 3000 στον τοπικό σας υπολογιστή: `localhost:3000`.
+Μπορείτε να τρέξετε αυτή την τεκμηρίωση εκτός σύνδεσης χρησιμοποιώντας το [Docsify](https://docsify.js.org/#/). Κλωνοποιήστε το αποθετήριο, [εγκαταστήστε το Docsify](https://docsify.js.org/#/quickstart) στον τοπικό σας υπολογιστή και μετά στον ριζικό φάκελο του αποθετηρίου, πληκτρολογήστε `docsify serve`. Ο ιστότοπος θα σερβιριστεί στην θύρα 3000 στο τοπικό σας μηχάνημα: `localhost:3000`.
## 📘 PDF
-
-Ένα PDF με όλα τα μαθήματα μπορείτε να βρείτε [εδώ](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
+Ένα PDF με όλα τα μαθήματα μπορεί να βρεθεί [εδώ](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Άλλα Μαθήματα
+
Η ομάδα μας παράγει και άλλα μαθήματα! Δείτε:
@@ -224,7 +233,7 @@
---
-### Σειρά για Δημιουργική Τεχνητή Νοημοσύνη
+### Σειρά για Τη Γενετική Τεχνητή Νοημοσύνη
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
@@ -232,7 +241,7 @@
---
-### Κεντρική Μάθηση
+### Βασική Μάθηση
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@@ -251,11 +260,11 @@
## Λήψη Βοήθειας
-Αν κολλήσετε ή έχετε ερωτήσεις σχετικά με τη δημιουργία εφαρμογών AI, συμμετάσχετε με άλλους μαθητές και έμπειρους προγραμματιστές σε συζητήσεις σχετικά με το MCP. Είναι μια υποστηρικτική κοινότητα όπου οι ερωτήσεις είναι ευπρόσδεκτες και η γνώση μοιράζεται ελεύθερα.
+Αν κολλήσετε ή έχετε απορίες σχετικά με την ανάπτυξη εφαρμογών ΤΝ, συμμετάσχετε σε συζητήσεις με άλλους μαθητές και έμπειρους προγραμματιστές για το MCP. Είναι μια υποστηρικτική κοινότητα όπου οι ερωτήσεις είναι ευπρόσδεκτες και η γνώση μοιράζεται ελεύθερα.
[](https://discord.gg/nTYy5BXMWG)
-Αν έχετε ανατροφοδότηση για το προϊόν ή λάθη κατά την ανάπτυξη, επισκεφθείτε:
+Εάν έχετε ανατροφοδότηση προϊόντος ή λάθη κατά την ανάπτυξη, επισκεφτείτε:
[](https://aka.ms/foundry/forum)
@@ -266,6 +275,6 @@
---
-**Απόρρητο**:
-Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που επιδιώκουμε την ακρίβεια, παρακαλείστε να γνωρίζετε ότι οι αυτοματοποιημένες μεταφράσεις μπορεί να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη γλώσσα του θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική μετάφραση από ανθρώπινο μεταφραστή. Δεν φέρουμε ευθύνη για τυχόν παρερμηνείες ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
+**Αποποίηση ευθυνών**:
+Το παρόν έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρότι προσπαθούμε για ακρίβεια, παρακαλούμε να σημειώσετε ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το αρχικό έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
\ No newline at end of file
diff --git a/translations/en/.co-op-translator.json b/translations/en/.co-op-translator.json
new file mode 100644
index 000000000..51d15da1c
--- /dev/null
+++ b/translations/en/.co-op-translator.json
@@ -0,0 +1,584 @@
+{
+ "1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
+ "original_hash": "bec5e35642176d9e483552bfc82996d8",
+ "translation_date": "2026-03-06T11:35:13+00:00",
+ "source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
+ "language_code": "en"
+ },
+ "1-getting-started-lessons/1-intro-to-programming-languages/assignment.md": {
+ "original_hash": "17b8ec8e85d99e27dcb3f73842e583be",
+ "translation_date": "2026-03-06T11:35:29+00:00",
+ "source_file": "1-getting-started-lessons/1-intro-to-programming-languages/assignment.md",
+ "language_code": "en"
+ },
+ "1-getting-started-lessons/2-github-basics/README.md": {
+ "original_hash": "5c383cc2cc23bb164b06417d1c107a44",
+ "translation_date": "2026-03-06T11:37:58+00:00",
+ "source_file": "1-getting-started-lessons/2-github-basics/README.md",
+ "language_code": "en"
+ },
+ "1-getting-started-lessons/3-accessibility/README.md": {
+ "original_hash": "7f2c48e04754724123ea100a822765e5",
+ "translation_date": "2026-03-06T11:31:39+00:00",
+ "source_file": "1-getting-started-lessons/3-accessibility/README.md",
+ "language_code": "en"
+ },
+ "1-getting-started-lessons/3-accessibility/assignment.md": {
+ "original_hash": "e6d0f456dfc22afb41bbdefeb5ec179d",
+ "translation_date": "2026-03-06T11:32:26+00:00",
+ "source_file": "1-getting-started-lessons/3-accessibility/assignment.md",
+ "language_code": "en"
+ },
+ "1-getting-started-lessons/README.md": {
+ "original_hash": "770d9f83dddc841c19f210dee5fe0712",
+ "translation_date": "2025-10-03T13:25:08+00:00",
+ "source_file": "1-getting-started-lessons/README.md",
+ "language_code": "en"
+ },
+ "10-ai-framework-project/README.md": {
+ "original_hash": "3925b6a1c31c60755eaae4d578232c25",
+ "translation_date": "2026-03-06T10:39:12+00:00",
+ "source_file": "10-ai-framework-project/README.md",
+ "language_code": "en"
+ },
+ "2-js-basics/1-data-types/README.md": {
+ "original_hash": "672b0bb6e8b431075f3bdb7130590d2d",
+ "translation_date": "2026-03-06T10:48:37+00:00",
+ "source_file": "2-js-basics/1-data-types/README.md",
+ "language_code": "en"
+ },
+ "2-js-basics/1-data-types/assignment.md": {
+ "original_hash": "6fd645e97c48cd5eb5a3d290815ec8b5",
+ "translation_date": "2026-03-06T10:48:45+00:00",
+ "source_file": "2-js-basics/1-data-types/assignment.md",
+ "language_code": "en"
+ },
+ "2-js-basics/2-functions-methods/README.md": {
+ "original_hash": "71f7d7dafa1c7194d79ddac87f669ff9",
+ "translation_date": "2026-03-06T10:46:37+00:00",
+ "source_file": "2-js-basics/2-functions-methods/README.md",
+ "language_code": "en"
+ },
+ "2-js-basics/2-functions-methods/assignment.md": {
+ "original_hash": "8328f58f4593b4671656ff8f4b2edbd9",
+ "translation_date": "2026-03-06T10:46:50+00:00",
+ "source_file": "2-js-basics/2-functions-methods/assignment.md",
+ "language_code": "en"
+ },
+ "2-js-basics/3-making-decisions/README.md": {
+ "original_hash": "c688385d15dd3645e924ea0ffee8967f",
+ "translation_date": "2026-03-06T10:50:36+00:00",
+ "source_file": "2-js-basics/3-making-decisions/README.md",
+ "language_code": "en"
+ },
+ "2-js-basics/3-making-decisions/assignment.md": {
+ "original_hash": "ffe366b2d1f037b99fbadbe1dc81083d",
+ "translation_date": "2026-03-06T10:50:56+00:00",
+ "source_file": "2-js-basics/3-making-decisions/assignment.md",
+ "language_code": "en"
+ },
+ "2-js-basics/4-arrays-loops/README.md": {
+ "original_hash": "1710a50a519a6e4a1b40a5638783018d",
+ "translation_date": "2026-03-06T10:52:54+00:00",
+ "source_file": "2-js-basics/4-arrays-loops/README.md",
+ "language_code": "en"
+ },
+ "2-js-basics/4-arrays-loops/assignment.md": {
+ "original_hash": "8abcada0534e0fb3a7556ea3c5a2a8a4",
+ "translation_date": "2026-03-06T10:53:08+00:00",
+ "source_file": "2-js-basics/4-arrays-loops/assignment.md",
+ "language_code": "en"
+ },
+ "2-js-basics/README.md": {
+ "original_hash": "cc9e70a2f096c67389c8acff1521fc27",
+ "translation_date": "2025-08-28T11:39:19+00:00",
+ "source_file": "2-js-basics/README.md",
+ "language_code": "en"
+ },
+ "3-terrarium/1-intro-to-html/README.md": {
+ "original_hash": "3fcfa99c4897e051b558b5eaf1e8cc74",
+ "translation_date": "2026-03-06T11:24:57+00:00",
+ "source_file": "3-terrarium/1-intro-to-html/README.md",
+ "language_code": "en"
+ },
+ "3-terrarium/1-intro-to-html/assignment.md": {
+ "original_hash": "650e63282e1dfa032890fcf5c1c4119d",
+ "translation_date": "2026-03-06T11:25:17+00:00",
+ "source_file": "3-terrarium/1-intro-to-html/assignment.md",
+ "language_code": "en"
+ },
+ "3-terrarium/2-intro-to-css/README.md": {
+ "original_hash": "e39f3a4e3bcccf94639e3af1248f8a4d",
+ "translation_date": "2026-03-06T11:28:35+00:00",
+ "source_file": "3-terrarium/2-intro-to-css/README.md",
+ "language_code": "en"
+ },
+ "3-terrarium/2-intro-to-css/assignment.md": {
+ "original_hash": "bee6762d4092a13fc7c338814963f980",
+ "translation_date": "2026-03-06T11:28:50+00:00",
+ "source_file": "3-terrarium/2-intro-to-css/assignment.md",
+ "language_code": "en"
+ },
+ "3-terrarium/3-intro-to-DOM-and-closures/README.md": {
+ "original_hash": "973e48ad87d67bf5bb819746c9f8e302",
+ "translation_date": "2026-03-06T11:27:00+00:00",
+ "source_file": "3-terrarium/3-intro-to-DOM-and-closures/README.md",
+ "language_code": "en"
+ },
+ "3-terrarium/3-intro-to-DOM-and-closures/assignment.md": {
+ "original_hash": "947ca5ce7c94aee9c7de7034e762bc17",
+ "translation_date": "2026-03-06T11:27:21+00:00",
+ "source_file": "3-terrarium/3-intro-to-DOM-and-closures/assignment.md",
+ "language_code": "en"
+ },
+ "3-terrarium/README.md": {
+ "original_hash": "bc5c5550f79d10add90ce419ee34abb3",
+ "translation_date": "2026-03-06T10:40:00+00:00",
+ "source_file": "3-terrarium/README.md",
+ "language_code": "en"
+ },
+ "3-terrarium/solution/README.md": {
+ "original_hash": "6329fbe8bd936068debd78cca6f09c0a",
+ "translation_date": "2025-08-28T11:50:16+00:00",
+ "source_file": "3-terrarium/solution/README.md",
+ "language_code": "en"
+ },
+ "4-typing-game/README.md": {
+ "original_hash": "efa2ab875b8bb5a7883816506da6b6d2",
+ "translation_date": "2026-03-06T10:39:54+00:00",
+ "source_file": "4-typing-game/README.md",
+ "language_code": "en"
+ },
+ "4-typing-game/solution/README.md": {
+ "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
+ "translation_date": "2025-08-28T11:58:40+00:00",
+ "source_file": "4-typing-game/solution/README.md",
+ "language_code": "en"
+ },
+ "4-typing-game/typing-game/README.md": {
+ "original_hash": "da8bc72041a2bb3826a54654ee1a8844",
+ "translation_date": "2026-03-06T11:23:27+00:00",
+ "source_file": "4-typing-game/typing-game/README.md",
+ "language_code": "en"
+ },
+ "4-typing-game/typing-game/assignment.md": {
+ "original_hash": "3eac59d70e2532a677a2ce6bf765485a",
+ "translation_date": "2026-03-06T11:23:39+00:00",
+ "source_file": "4-typing-game/typing-game/assignment.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/1-about-browsers/README.md": {
+ "original_hash": "00aa85715e1efd4930c17a23e3012e69",
+ "translation_date": "2026-03-06T11:11:23+00:00",
+ "source_file": "5-browser-extension/1-about-browsers/README.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/1-about-browsers/assignment.md": {
+ "original_hash": "b6897c02603d0045dd6d8256e8714baa",
+ "translation_date": "2026-03-06T11:11:39+00:00",
+ "source_file": "5-browser-extension/1-about-browsers/assignment.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/2-forms-browsers-local-storage/README.md": {
+ "original_hash": "2b6203a48c48d8234e0948353b47d84e",
+ "translation_date": "2026-03-06T11:07:39+00:00",
+ "source_file": "5-browser-extension/2-forms-browsers-local-storage/README.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/2-forms-browsers-local-storage/assignment.md": {
+ "original_hash": "25b8d28b8531352d4eb67291fd7824c4",
+ "translation_date": "2026-03-06T11:07:57+00:00",
+ "source_file": "5-browser-extension/2-forms-browsers-local-storage/assignment.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/3-background-tasks-and-performance/README.md": {
+ "original_hash": "b275fed2c6fc90d2b9b6661a3225faa2",
+ "translation_date": "2026-03-06T11:09:37+00:00",
+ "source_file": "5-browser-extension/3-background-tasks-and-performance/README.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/3-background-tasks-and-performance/assignment.md": {
+ "original_hash": "a203e560e58ccc6ba68bffc40c7c8676",
+ "translation_date": "2026-03-06T11:09:58+00:00",
+ "source_file": "5-browser-extension/3-background-tasks-and-performance/assignment.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/README.md": {
+ "original_hash": "b121a279a6ab39878491f3e572673515",
+ "translation_date": "2025-08-28T11:22:58+00:00",
+ "source_file": "5-browser-extension/README.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/solution/README.md": {
+ "original_hash": "fab4e6b4f0efcd587a9029d82991f597",
+ "translation_date": "2025-08-28T11:27:00+00:00",
+ "source_file": "5-browser-extension/solution/README.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/solution/translation/README.es.md": {
+ "original_hash": "cbaf73f94a9ab4c680a10ef871e92948",
+ "translation_date": "2025-08-28T11:28:22+00:00",
+ "source_file": "5-browser-extension/solution/translation/README.es.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/solution/translation/README.fr.md": {
+ "original_hash": "9361268ca430b2579375009e1eceb5e5",
+ "translation_date": "2025-08-28T11:29:07+00:00",
+ "source_file": "5-browser-extension/solution/translation/README.fr.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/solution/translation/README.hi.md": {
+ "original_hash": "dd58ae1b7707034f055718c1b68bc8de",
+ "translation_date": "2025-08-28T11:27:20+00:00",
+ "source_file": "5-browser-extension/solution/translation/README.hi.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/solution/translation/README.it.md": {
+ "original_hash": "9a6b22a2eff0f499b66236be973b24ad",
+ "translation_date": "2025-08-28T11:27:41+00:00",
+ "source_file": "5-browser-extension/solution/translation/README.it.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/solution/translation/README.ja.md": {
+ "original_hash": "3f5e6821e0febccfc5d05e7c944d9e3d",
+ "translation_date": "2025-08-28T11:28:01+00:00",
+ "source_file": "5-browser-extension/solution/translation/README.ja.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/solution/translation/README.ms.md": {
+ "original_hash": "21b364c158c8e4f698de65eeac16c9fe",
+ "translation_date": "2025-08-28T11:28:46+00:00",
+ "source_file": "5-browser-extension/solution/translation/README.ms.md",
+ "language_code": "en"
+ },
+ "5-browser-extension/start/README.md": {
+ "original_hash": "26fd39046d264ba185dcb086d3a8cf3e",
+ "translation_date": "2025-08-28T11:26:41+00:00",
+ "source_file": "5-browser-extension/start/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/1-introduction/README.md": {
+ "original_hash": "a6332a7bb4d0be3bfd24199c83993777",
+ "translation_date": "2026-03-06T11:03:38+00:00",
+ "source_file": "6-space-game/1-introduction/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/1-introduction/assignment.md": {
+ "original_hash": "c8fc39a014d08247c082878122e2ba73",
+ "translation_date": "2026-03-06T11:03:54+00:00",
+ "source_file": "6-space-game/1-introduction/assignment.md",
+ "language_code": "en"
+ },
+ "6-space-game/2-drawing-to-canvas/README.md": {
+ "original_hash": "7994743c5b21fdcceb36307916ef249a",
+ "translation_date": "2026-03-06T10:58:48+00:00",
+ "source_file": "6-space-game/2-drawing-to-canvas/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/2-drawing-to-canvas/assignment.md": {
+ "original_hash": "87cd43afe5b69dbbffb5c4b209ea6791",
+ "translation_date": "2026-03-06T10:58:59+00:00",
+ "source_file": "6-space-game/2-drawing-to-canvas/assignment.md",
+ "language_code": "en"
+ },
+ "6-space-game/3-moving-elements-around/README.md": {
+ "original_hash": "8c55a2bd4bc0ebe4c88198fd563a9e09",
+ "translation_date": "2026-03-06T11:05:43+00:00",
+ "source_file": "6-space-game/3-moving-elements-around/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/3-moving-elements-around/assignment.md": {
+ "original_hash": "c162b3b3a1cafc1483c8015e9b266f0d",
+ "translation_date": "2026-03-06T11:05:53+00:00",
+ "source_file": "6-space-game/3-moving-elements-around/assignment.md",
+ "language_code": "en"
+ },
+ "6-space-game/4-collision-detection/README.md": {
+ "original_hash": "039b4d8ce65f5edd82cf48d9c3e6728c",
+ "translation_date": "2026-03-06T10:57:05+00:00",
+ "source_file": "6-space-game/4-collision-detection/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/4-collision-detection/assignment.md": {
+ "original_hash": "124efddbb65166cddb38075ad6dae324",
+ "translation_date": "2026-03-06T10:57:16+00:00",
+ "source_file": "6-space-game/4-collision-detection/assignment.md",
+ "language_code": "en"
+ },
+ "6-space-game/4-collision-detection/solution/README.md": {
+ "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
+ "translation_date": "2025-08-28T11:35:46+00:00",
+ "source_file": "6-space-game/4-collision-detection/solution/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/4-collision-detection/your-work/README.md": {
+ "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
+ "translation_date": "2025-08-28T11:35:55+00:00",
+ "source_file": "6-space-game/4-collision-detection/your-work/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/5-keeping-score/README.md": {
+ "original_hash": "2ed9145a16cf576faa2a973dff84d099",
+ "translation_date": "2026-03-06T11:01:59+00:00",
+ "source_file": "6-space-game/5-keeping-score/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/5-keeping-score/assignment.md": {
+ "original_hash": "81f292dbda01685b91735e0398dc0504",
+ "translation_date": "2025-08-28T11:34:09+00:00",
+ "source_file": "6-space-game/5-keeping-score/assignment.md",
+ "language_code": "en"
+ },
+ "6-space-game/5-keeping-score/solution/README.md": {
+ "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
+ "translation_date": "2025-08-28T11:34:21+00:00",
+ "source_file": "6-space-game/5-keeping-score/solution/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/5-keeping-score/your-work/README.md": {
+ "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
+ "translation_date": "2025-08-28T11:34:30+00:00",
+ "source_file": "6-space-game/5-keeping-score/your-work/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/6-end-condition/README.md": {
+ "original_hash": "a4b78043f4d64bf3ee24e0689b8b391d",
+ "translation_date": "2026-03-06T11:00:22+00:00",
+ "source_file": "6-space-game/6-end-condition/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/6-end-condition/assignment.md": {
+ "original_hash": "232d592791465c1678cab3a2bb6cd3e8",
+ "translation_date": "2026-03-06T11:00:50+00:00",
+ "source_file": "6-space-game/6-end-condition/assignment.md",
+ "language_code": "en"
+ },
+ "6-space-game/6-end-condition/solution/README.md": {
+ "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
+ "translation_date": "2025-08-28T11:38:05+00:00",
+ "source_file": "6-space-game/6-end-condition/solution/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/6-end-condition/your-work/README.md": {
+ "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
+ "translation_date": "2025-08-28T11:38:14+00:00",
+ "source_file": "6-space-game/6-end-condition/your-work/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/README.md": {
+ "original_hash": "c40a698395ee5102715f7880bba3f2e7",
+ "translation_date": "2025-08-28T11:31:47+00:00",
+ "source_file": "6-space-game/README.md",
+ "language_code": "en"
+ },
+ "6-space-game/solution/README.md": {
+ "original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
+ "translation_date": "2025-08-28T11:34:38+00:00",
+ "source_file": "6-space-game/solution/README.md",
+ "language_code": "en"
+ },
+ "7-bank-project/1-template-route/README.md": {
+ "original_hash": "351678bece18f07d9daa987a881fb062",
+ "translation_date": "2026-03-06T11:16:13+00:00",
+ "source_file": "7-bank-project/1-template-route/README.md",
+ "language_code": "en"
+ },
+ "7-bank-project/1-template-route/assignment.md": {
+ "original_hash": "df0dcecddcd28ea8cbf6ede0ad57d673",
+ "translation_date": "2026-03-06T11:16:24+00:00",
+ "source_file": "7-bank-project/1-template-route/assignment.md",
+ "language_code": "en"
+ },
+ "7-bank-project/2-forms/README.md": {
+ "original_hash": "7cbdbd132d39a2bb493e85bc2a9387cc",
+ "translation_date": "2026-03-06T11:13:46+00:00",
+ "source_file": "7-bank-project/2-forms/README.md",
+ "language_code": "en"
+ },
+ "7-bank-project/2-forms/assignment.md": {
+ "original_hash": "efb01fcafd2ef40c593a6e662fc938a8",
+ "translation_date": "2026-03-06T11:14:07+00:00",
+ "source_file": "7-bank-project/2-forms/assignment.md",
+ "language_code": "en"
+ },
+ "7-bank-project/3-data/README.md": {
+ "original_hash": "86ee5069f27ea3151389d8687c95fac9",
+ "translation_date": "2026-03-06T11:18:59+00:00",
+ "source_file": "7-bank-project/3-data/README.md",
+ "language_code": "en"
+ },
+ "7-bank-project/3-data/assignment.md": {
+ "original_hash": "d0a02cb117e91a5b5f24178080068a3d",
+ "translation_date": "2026-03-06T11:19:20+00:00",
+ "source_file": "7-bank-project/3-data/assignment.md",
+ "language_code": "en"
+ },
+ "7-bank-project/4-state-management/README.md": {
+ "original_hash": "b807b09df716dc48a2b750835bf8e933",
+ "translation_date": "2026-03-06T11:21:23+00:00",
+ "source_file": "7-bank-project/4-state-management/README.md",
+ "language_code": "en"
+ },
+ "7-bank-project/4-state-management/assignment.md": {
+ "original_hash": "50a7783473b39a2e0f133e271a102231",
+ "translation_date": "2026-03-06T11:21:50+00:00",
+ "source_file": "7-bank-project/4-state-management/assignment.md",
+ "language_code": "en"
+ },
+ "7-bank-project/README.md": {
+ "original_hash": "830359535306594b448db6575ce5cdee",
+ "translation_date": "2025-08-28T11:13:52+00:00",
+ "source_file": "7-bank-project/README.md",
+ "language_code": "en"
+ },
+ "7-bank-project/api/README.md": {
+ "original_hash": "9884f8c8a61cf56214450f8b16a094ce",
+ "translation_date": "2025-08-28T11:16:11+00:00",
+ "source_file": "7-bank-project/api/README.md",
+ "language_code": "en"
+ },
+ "7-bank-project/solution/README.md": {
+ "original_hash": "461aa4fc74c6b1789c3a13b5d82c0cd9",
+ "translation_date": "2025-08-28T11:16:34+00:00",
+ "source_file": "7-bank-project/solution/README.md",
+ "language_code": "en"
+ },
+ "8-code-editor/1-using-a-code-editor/README.md": {
+ "original_hash": "a9a3bcc037a447e2d8994d99e871cd9f",
+ "translation_date": "2026-03-06T10:54:48+00:00",
+ "source_file": "8-code-editor/1-using-a-code-editor/README.md",
+ "language_code": "en"
+ },
+ "8-code-editor/1-using-a-code-editor/assignment.md": {
+ "original_hash": "effe56ba51c38d7bdfad1ea38288666b",
+ "translation_date": "2026-03-06T10:55:36+00:00",
+ "source_file": "8-code-editor/1-using-a-code-editor/assignment.md",
+ "language_code": "en"
+ },
+ "9-chat-project/README.md": {
+ "original_hash": "2066c17078e9d18b5e309f31d8e8bc24",
+ "translation_date": "2026-03-06T10:44:47+00:00",
+ "source_file": "9-chat-project/README.md",
+ "language_code": "en"
+ },
+ "9-chat-project/solution/README.md": {
+ "original_hash": "cb549dcad8eea3221cb89793aeaa3bb3",
+ "translation_date": "2025-09-01T15:17:50+00:00",
+ "source_file": "9-chat-project/solution/README.md",
+ "language_code": "en"
+ },
+ "9-chat-project/solution/backend/README.md": {
+ "original_hash": "bcd2c2bbaae71151b1ed1b9170aa78af",
+ "translation_date": "2025-09-01T15:41:51+00:00",
+ "source_file": "9-chat-project/solution/backend/README.md",
+ "language_code": "en"
+ },
+ "9-chat-project/solution/backend/python/README.md": {
+ "original_hash": "0aaa930f076f2d83cc872ad157f8ffd3",
+ "translation_date": "2026-03-06T11:38:06+00:00",
+ "source_file": "9-chat-project/solution/backend/python/README.md",
+ "language_code": "en"
+ },
+ "9-chat-project/solution/frontend/README.md": {
+ "original_hash": "7746a470be8fc7f736eb1b43ebb710ee",
+ "translation_date": "2025-09-01T15:50:34+00:00",
+ "source_file": "9-chat-project/solution/frontend/README.md",
+ "language_code": "en"
+ },
+ "AGENTS.md": {
+ "original_hash": "a362efd06d64d4134a0cfe8515a86d34",
+ "translation_date": "2025-10-03T11:11:50+00:00",
+ "source_file": "AGENTS.md",
+ "language_code": "en"
+ },
+ "CODE_OF_CONDUCT.md": {
+ "original_hash": "b0a9b4cccd918195f58224d5793da1a6",
+ "translation_date": "2025-08-28T11:13:41+00:00",
+ "source_file": "CODE_OF_CONDUCT.md",
+ "language_code": "en"
+ },
+ "CONTRIBUTING.md": {
+ "original_hash": "777400e9f0336c7ee2f9a1200a88478f",
+ "translation_date": "2025-08-28T11:12:28+00:00",
+ "source_file": "CONTRIBUTING.md",
+ "language_code": "en"
+ },
+ "Git-Basics/README.md": {
+ "original_hash": "5cf5e1ed51455fefed4895fcc4d6ba2a",
+ "translation_date": "2025-10-03T15:43:56+00:00",
+ "source_file": "Git-Basics/README.md",
+ "language_code": "en"
+ },
+ "README.md": {
+ "original_hash": "a2c9eed480687319517c08a6319e5536",
+ "translation_date": "2026-03-06T10:36:58+00:00",
+ "source_file": "README.md",
+ "language_code": "en"
+ },
+ "Roadmap.md": {
+ "original_hash": "28bf6185fd7f27b62ddc210514366192",
+ "translation_date": "2026-03-06T11:54:38+00:00",
+ "source_file": "Roadmap.md",
+ "language_code": "en"
+ },
+ "SECURITY.md": {
+ "original_hash": "4ecc3bf2e27983d4c780be6f26ee6228",
+ "translation_date": "2025-08-28T11:12:43+00:00",
+ "source_file": "SECURITY.md",
+ "language_code": "en"
+ },
+ "SUPPORT.md": {
+ "original_hash": "c9d207ff77b4bb46e46dc2b607a8ec1a",
+ "translation_date": "2025-08-28T11:12:03+00:00",
+ "source_file": "SUPPORT.md",
+ "language_code": "en"
+ },
+ "_404.md": {
+ "original_hash": "ea9f0804bd62f46d9808e953ec7fc459",
+ "translation_date": "2025-08-28T11:12:17+00:00",
+ "source_file": "_404.md",
+ "language_code": "en"
+ },
+ "docs/_navbar.md": {
+ "original_hash": "3bd2f51ecf4ac9b39277cba748943793",
+ "translation_date": "2025-08-28T11:47:45+00:00",
+ "source_file": "docs/_navbar.md",
+ "language_code": "en"
+ },
+ "docs/_sidebar.md": {
+ "original_hash": "655c91b5979de46f1d70d97f0c5f1d14",
+ "translation_date": "2025-08-28T11:47:26+00:00",
+ "source_file": "docs/_sidebar.md",
+ "language_code": "en"
+ },
+ "for-teachers.md": {
+ "original_hash": "71009af209f81cc01a1f2d324200375f",
+ "translation_date": "2025-10-03T08:19:51+00:00",
+ "source_file": "for-teachers.md",
+ "language_code": "en"
+ },
+ "lesson-template/README.md": {
+ "original_hash": "0494be70ad7fadd13a8c3d549c23e355",
+ "translation_date": "2025-08-28T11:48:01+00:00",
+ "source_file": "lesson-template/README.md",
+ "language_code": "en"
+ },
+ "lesson-template/assignment.md": {
+ "original_hash": "b5f62ec256c7e43e771f0d3b4e1a9130",
+ "translation_date": "2025-08-28T11:48:16+00:00",
+ "source_file": "lesson-template/assignment.md",
+ "language_code": "en"
+ },
+ "memory-game/README.md": {
+ "original_hash": "ff47271e53637b2ba6ba72ad2b70f6d7",
+ "translation_date": "2025-10-03T11:52:55+00:00",
+ "source_file": "memory-game/README.md",
+ "language_code": "en"
+ },
+ "quiz-app/README.md": {
+ "original_hash": "5301875c55bb305e6046bed3a4fd06d2",
+ "translation_date": "2025-08-28T11:53:58+00:00",
+ "source_file": "quiz-app/README.md",
+ "language_code": "en"
+ }
+}
\ No newline at end of file
diff --git a/translations/en/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/en/1-getting-started-lessons/1-intro-to-programming-languages/README.md
index a46afa139..c6c31b1da 100644
--- a/translations/en/1-getting-started-lessons/1-intro-to-programming-languages/README.md
+++ b/translations/en/1-getting-started-lessons/1-intro-to-programming-languages/README.md
@@ -1,64 +1,238 @@
-
-# Introduction to Programming Languages and Tools of the Trade
+# Introduction to Programming Languages and Modern Developer Tools
+
+Hey there, future developer! 👋 Can I tell you something that still gives me chills every single day? You're about to discover that programming isn't just about computers – it's about having actual superpowers to bring your wildest ideas to life!
+
+You know that moment when you're using your favorite app and everything just clicks perfectly? When you tap a button and something absolutely magical happens that makes you go "wow, how did they DO that?" Well, someone just like you – probably sitting in their favorite coffee shop at 2 AM with their third espresso – wrote the code that created that magic. And here's what's going to blow your mind: by the end of this lesson, you'll not only understand how they did it, but you'll be itching to try it yourself!
+
+Look, I totally get it if programming feels intimidating right now. When I first started, I honestly thought you needed to be some kind of math genius or have been coding since you were five years old. But here's what completely changed my perspective: programming is exactly like learning to have conversations in a new language. You start with "hello" and "thank you," then work up to ordering coffee, and before you know it, you're having deep philosophical discussions! Except in this case, you're having conversations with computers, and honestly? They're the most patient conversation partners you'll ever have – they never judge your mistakes and they're always excited to try again!
-This lesson introduces the fundamentals of programming languages. The topics discussed here are relevant to most modern programming languages today. In the 'Tools of the Trade' section, you'll explore software that can assist you as a developer.
+Today, we're going to explore the incredible tools that make modern web development not just possible, but seriously addictive. I'm talking about the exact same editors, browsers, and workflows that developers at Netflix, Spotify, and your favorite indie app studio use every single day. And here's the part that's going to make you do a happy dance: most of these professional-grade, industry-standard tools are completely free!
-
+
> Sketchnote by [Tomomi Imura](https://twitter.com/girlie_mac)
-## Pre-Lecture Quiz
-[Pre-lecture quiz](https://forms.office.com/r/dru4TE0U9n?origin=lprLink)
+```mermaid
+journey
+ title Your Programming Journey Today
+ section Discover
+ What is Programming: 5: You
+ Programming Languages: 4: You
+ Tools Overview: 5: You
+ section Explore
+ Code Editors: 4: You
+ Browsers & DevTools: 5: You
+ Command Line: 3: You
+ section Practice
+ Language Detective: 4: You
+ Tool Exploration: 5: You
+ Community Connection: 5: You
+```
+## Let's See What You Already Know!
+
+Before we jump into the fun stuff, I'm curious – what do you already know about this programming world? And listen, if you're looking at these questions thinking "I literally have zero clue about any of this," that's not just okay, it's perfect! That means you're in exactly the right place. Think of this quiz like stretching before a workout – we're just warming up those brain muscles!
+
+[Take the pre-lesson quiz](https://ff-quizzes.netlify.app/web/)
+
+
+## The Adventure We're About to Go On Together
+
+Okay, I am genuinely bouncing with excitement about what we're going to explore today! Seriously, I wish I could see your face when some of these concepts click. Here's the incredible journey we're taking together:
+
+- **What programming actually is (and why it's the coolest thing ever!)** – We're going to discover how code is literally the invisible magic powering everything around you, from that alarm that somehow knows it's Monday morning to the algorithm that perfectly curates your Netflix recommendations
+- **Programming languages and their amazing personalities** – Imagine walking into a party where each person has completely different superpowers and ways of solving problems. That's what the programming language world is like, and you're going to love meeting them!
+- **The fundamental building blocks that make digital magic happen** – Think of these as the ultimate creative LEGO set. Once you understand how these pieces fit together, you'll realize you can literally build anything your imagination dreams up
+- **Professional tools that'll make you feel like you just got handed a wizard's wand** – I'm not being dramatic here – these tools will genuinely make you feel like you have superpowers, and the best part? They're the same ones the pros use!
+
+> 💡 **Here's the thing**: Don't even think about trying to memorize everything today! Right now, I just want you to feel that spark of excitement about what's possible. The details will stick naturally as we practice together – that's how real learning happens!
+
+> You can take this lesson on [Microsoft Learn](https://learn.microsoft.com/en-us/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
+
+## So What Exactly *Is* Programming?
+
+Alright, let's tackle the million-dollar question: what is programming, really?
+
+I'll give you a story that completely changed how I think about this. Last week, I was trying to explain to my mom how to use our new smart TV remote. I caught myself saying things like "Press the red button, but not the big red button, the small red button on the left... no, your other left... okay, now hold it for two seconds, not one, not three..." Sound familiar? 😅
+
+That's programming! It's the art of giving incredibly detailed, step-by-step instructions to something that's very powerful but needs everything spelled out perfectly. Except instead of explaining to your mom (who can ask "which red button?!"), you're explaining to a computer (which just does exactly what you say, even if what you said isn't quite what you meant).
+
+Here's what blew my mind when I first learned this: computers are actually pretty simple at their core. They literally only understand two things – 1 and 0, which is basically just "yes" and "no" or "on" and "off." That's it! But here's where it gets magical – we don't have to speak in 1s and 0s like we're in The Matrix. That's where **programming languages** come to the rescue. They're like having the world's best translator who takes your perfectly normal human thoughts and converts them into computer language.
+
+And here's what still gives me actual chills every morning when I wake up: literally *everything* digital in your life started with someone just like you, probably sitting in their pajamas with a cup of coffee, typing code on their laptop. That Instagram filter that makes you look flawless? Someone coded that. The recommendation that led you to your new favorite song? A developer built that algorithm. The app that helps you split dinner bills with friends? Yep, someone thought "this is annoying, I bet I could fix this" and then... they did!
+
+When you learn to program, you're not just picking up a new skill – you're becoming part of this incredible community of problem-solvers who spend their days thinking, "What if I could build something that makes someone's day just a little bit better?" Honestly, is there anything cooler than that?
+
+✅ **Fun Fact Hunt**: Here's something super cool to look up when you have a spare moment – who do you think was the world's first computer programmer? I'll give you a hint: it might not be who you're expecting! The story behind this person is absolutely fascinating and shows that programming has always been about creative problem-solving and thinking outside the box.
-## Introduction
+### 🧠 **Check-in Time: How Are You Feeling?**
-In this lesson, we will cover:
+**Take a moment to reflect:**
+- Does the idea of "giving instructions to computers" make sense to you now?
+- Can you think of a daily task you'd like to automate with programming?
+- What questions are bubbling up in your mind about this whole programming thing?
-- What programming is
-- Types of programming languages
-- Basic components of a program
-- Useful software and tools for professional developers
+> **Remember**: It's totally normal if some concepts feel fuzzy right now. Learning programming is like learning a new language – it takes time for your brain to build those neural pathways. You're doing great!
-> You can take this lesson on [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
+## Programming Languages Are Like Different Flavors of Magic
-## What is Programming?
+Okay, this is going to sound weird, but stick with me – programming languages are a lot like different types of music. Think about it: you've got jazz, which is smooth and improvisational, rock that's powerful and straightforward, classical that's elegant and structured, and hip-hop that's creative and expressive. Each style has its own vibe, its own community of passionate fans, and each one is perfect for different moods and occasions.
-Programming (also called coding) is the process of writing instructions for a device, such as a computer or mobile device. These instructions are written using a programming language, which the device interprets. These sets of instructions may be referred to by various names, such as *program*, *computer program*, *application (app)*, or *executable*.
+Programming languages work exactly the same way! You wouldn't use the same language to build a fun mobile game that you'd use to crunch massive amounts of climate data, just like you wouldn't play death metal at a yoga class (well, most yoga classes anyway! 😄).
-A *program* can be anything created with code—websites, games, and phone apps are all programs. While it's possible to create a program without writing code, the underlying logic is interpreted by the device, and that logic is most likely written in code. A program that is *running* or *executing* code is carrying out instructions. The device you're using to read this lesson is running a program to display it on your screen.
+But here's what absolutely blows my mind every time I think about it: these languages are like having the most patient, brilliant interpreter in the world sitting right next to you. You can express your ideas in a way that feels natural to your human brain, and they handle all the incredibly complex work of translating that into the 1s and 0s that computers actually speak. It's like having a friend who's perfectly fluent in both "human creativity" and "computer logic" – and they never get tired, never need coffee breaks, and never judge you for asking the same question twice!
-✅ Research task: Who is considered the world's first computer programmer?
+### Popular Programming Languages and Their Uses
-## Programming Languages
+```mermaid
+mindmap
+ root((Programming Languages))
+ Web Development
+ JavaScript
+ Frontend Magic
+ Interactive Websites
+ TypeScript
+ JavaScript + Types
+ Enterprise Apps
+ Data & AI
+ Python
+ Data Science
+ Machine Learning
+ Automation
+ R
+ Statistics
+ Research
+ Mobile Apps
+ Java
+ Android
+ Enterprise
+ Swift
+ iOS
+ Apple Ecosystem
+ Kotlin
+ Modern Android
+ Cross-platform
+ Systems & Performance
+ C++
+ Games
+ Performance Critical
+ Rust
+ Memory Safety
+ System Programming
+ Go
+ Cloud Services
+ Scalable Backend
+```
+| Language | Best For | Why It's Popular |
+|----------|----------|------------------|
+| **JavaScript** | Web development, user interfaces | Runs in browsers and powers interactive websites |
+| **Python** | Data science, automation, AI | Easy to read and learn, powerful libraries |
+| **Java** | Enterprise applications, Android apps | Platform-independent, robust for large systems |
+| **C#** | Windows applications, game development | Strong Microsoft ecosystem support |
+| **Go** | Cloud services, backend systems | Fast, simple, designed for modern computing |
+
+### High-Level vs. Low-Level Languages
+
+Okay, this was honestly the concept that broke my brain when I first started learning, so I'm going to share the analogy that finally made it click for me – and I really hope it helps you too!
+
+Imagine you're visiting a country where you don't speak the language, and you desperately need to find the nearest bathroom (we've all been there, right? 😅):
+
+- **Low-level programming** is like learning the local dialect so well that you can chat with the grandmother selling fruit on the corner using cultural references, local slang, and inside jokes that only someone who grew up there would understand. Super impressive and incredibly efficient... if you happen to be fluent! But pretty overwhelming when you're just trying to find a bathroom.
+
+- **High-level programming** is like having that amazing local friend who just gets you. You can say "I really need to find a restroom" in plain English, and they handle all the cultural translation and give you directions in a way that makes perfect sense to your non-local brain.
+
+In programming terms:
+- **Low-level languages** (like Assembly or C) let you have incredibly detailed conversations with the computer's actual hardware, but you need to think like a machine, which is... well, let's just say it's a pretty big mental shift!
+- **High-level languages** (like JavaScript, Python, or C#) let you think like a human while they handle all the machine-speak behind the scenes. Plus, they have these incredibly welcoming communities full of people who remember what it was like to be new and genuinely want to help!
+
+Guess which ones I'm going to suggest you start with? 😉 High-level languages are like having training wheels that you never actually want to take off because they make the whole experience so much more enjoyable!
+
+```mermaid
+flowchart TB
+ A["👤 Human Thought: 'I want to calculate Fibonacci numbers'"] --> B{Choose Language Level}
+
+ B -->|High-Level| C["🌟 JavaScript/Python Easy to read and write"]
+ B -->|Low-Level| D["⚙️ Assembly/C Direct hardware control"]
+
+ C --> E["📝 Write: fibonacci(10)"]
+ D --> F["📝 Write: mov r0,#00 sub r0,r0,#01"]
+
+ E --> G["🤖 Computer Understanding: Translator handles complexity"]
+ F --> G
+
+ G --> H["💻 Same Result: 0, 1, 1, 2, 3, 5, 8, 13..."]
+
+ style C fill:#e1f5fe
+ style D fill:#fff3e0
+ style H fill:#e8f5e8
+```
+### Let Me Show You Why High-Level Languages Are So Much Friendlier
+
+Alright, I'm about to show you something that perfectly demonstrates why I fell in love with high-level languages, but first – I need you to promise me something. When you see that first code example, don't panic! It's supposed to look intimidating. That's exactly the point I'm making!
+
+We're going to look at the exact same task written in two completely different styles. Both create what's called the Fibonacci sequence – it's this beautiful mathematical pattern where each number is the sum of the two before it: 0, 1, 1, 2, 3, 5, 8, 13... (Fun fact: you'll find this pattern literally everywhere in nature – sunflower seed spirals, pinecone patterns, even the way galaxies form!)
+
+Ready to see the difference? Let's go!
-Programming languages allow developers to write instructions for a device. Devices only understand binary (1s and 0s), which is not an efficient way for *most* developers to communicate. Programming languages act as a bridge between humans and computers.
+**High-level language (JavaScript) – Human-friendly:**
-Programming languages come in various formats and serve different purposes. For instance, JavaScript is primarily used for web applications, while Bash is mainly used for operating systems.
+```javascript
+// Step 1: Basic Fibonacci setup
+const fibonacciCount = 10;
+let current = 0;
+let next = 1;
-*Low-level languages* typically require fewer steps for a device to interpret instructions compared to *high-level languages*. However, high-level languages are popular due to their readability and support. JavaScript is considered a high-level language.
+console.log('Fibonacci sequence:');
+```
-The following code demonstrates the difference between a high-level language (JavaScript) and a low-level language (ARM assembly code).
+**Here's what this code does:**
+- **Declare** a constant to specify how many Fibonacci numbers we want to generate
+- **Initialize** two variables to track the current and next numbers in the sequence
+- **Set up** the starting values (0 and 1) that define the Fibonacci pattern
+- **Display** a header message to identify our output
```javascript
-let number = 10
-let n1 = 0, n2 = 1, nextTerm;
-
-for (let i = 1; i <= number; i++) {
- console.log(n1);
- nextTerm = n1 + n2;
- n1 = n2;
- n2 = nextTerm;
+// Step 2: Generate the sequence with a loop
+for (let i = 0; i < fibonacciCount; i++) {
+ console.log(`Position ${i + 1}: ${current}`);
+
+ // Calculate next number in sequence
+ const sum = current + next;
+ current = next;
+ next = sum;
}
```
-```c
+**Breaking down what happens here:**
+- **Loop** through each position in our sequence using a `for` loop
+- **Display** each number with its position using template literal formatting
+- **Calculate** the next Fibonacci number by adding current and next values
+- **Update** our tracking variables to move to the next iteration
+
+```javascript
+// Step 3: Modern functional approach
+const generateFibonacci = (count) => {
+ const sequence = [0, 1];
+
+ for (let i = 2; i < count; i++) {
+ sequence[i] = sequence[i - 1] + sequence[i - 2];
+ }
+
+ return sequence;
+};
+
+// Usage example
+const fibSequence = generateFibonacci(10);
+console.log(fibSequence);
+```
+
+**In the above, we've:**
+- **Created** a reusable function using modern arrow function syntax
+- **Built** an array to store the complete sequence rather than displaying one by one
+- **Used** array indexing to calculate each new number from previous values
+- **Returned** the complete sequence for flexible use in other parts of our program
+
+**Low-level language (ARM Assembly) – Computer-friendly:**
+
+```assembly
area ascen,code,readonly
entry
code32
@@ -83,137 +257,600 @@ back add r0,r1
end
```
-Believe it or not, *both are doing the same thing*: printing a Fibonacci sequence up to 10.
+Notice how the JavaScript version reads almost like English instructions, while the Assembly version uses cryptic commands that directly control the computer's processor. Both accomplish the exact same task, but the high-level language is much easier for humans to understand, write, and maintain.
+
+**Key differences you'll notice:**
+- **Readability**: JavaScript uses descriptive names like `fibonacciCount` while Assembly uses cryptic labels like `r0`, `r1`
+- **Comments**: High-level languages encourage explanatory comments that make code self-documenting
+- **Structure**: JavaScript's logical flow matches how humans think about problems step-by-step
+- **Maintenance**: Updating the JavaScript version for different requirements is straightforward and clear
+
+✅ **About the Fibonacci sequence**: This absolutely gorgeous number pattern (where each number equals the sum of the two before it: 0, 1, 1, 2, 3, 5, 8...) shows up literally *everywhere* in nature! You'll find it in sunflower spirals, pinecone patterns, the way nautilus shells curve, and even in how tree branches grow. It's pretty mind-blowing how math and code can help us understand and recreate the patterns that nature uses to create beauty!
+
+
+## The Building Blocks That Make the Magic Happen
+
+Alright, now that you've seen what programming languages look like in action, let's break down the fundamental pieces that make up literally every program ever written. Think of these as the essential ingredients in your favorite recipe – once you understand what each one does, you'll be able to read and write code in pretty much any language!
+
+This is kind of like learning the grammar of programming. Remember back in school when you learned about nouns, verbs, and how to put sentences together? Programming has its own version of grammar, and honestly, it's way more logical and forgiving than English grammar ever was! 😄
+
+### Statements: The Step-by-Step Instructions
+
+Let's start with **statements** – these are like individual sentences in a conversation with your computer. Each statement tells the computer to do one specific thing, kind of like giving directions: "Turn left here," "Stop at the red light," "Park in that spot."
+
+What I love about statements is how readable they usually are. Check this out:
+
+```javascript
+// Basic statements that perform single actions
+const userName = "Alex";
+console.log("Hello, world!");
+const sum = 5 + 3;
+```
+
+**Here's what this code does:**
+- **Declare** a constant variable to store a user's name
+- **Display** a greeting message to the console output
+- **Calculate** and store the result of a mathematical operation
+
+```javascript
+// Statements that interact with web pages
+document.title = "My Awesome Website";
+document.body.style.backgroundColor = "lightblue";
+```
+
+**Step by step, here's what's happening:**
+- **Modify** the webpage's title that appears in the browser tab
+- **Change** the background color of the entire page body
+
+### Variables: Your Program's Memory System
+
+Okay, **variables** are honestly one of my absolute favorite concepts to teach because they're so much like things you already use every single day!
+
+Think about your phone's contact list for a second. You don't memorize everyone's phone number – instead, you save "Mom," "Best Friend," or "Pizza Place That Delivers Until 2 AM" and let your phone remember the actual numbers. Variables work exactly the same way! They're like labeled containers where your program can store information and retrieve it later using a name that actually makes sense.
+
+Here's what's really cool: variables can change as your program runs (hence the name "variable" – see what they did there?). Just like you might update that pizza place contact when you discover somewhere even better, variables can be updated as your program learns new information or as situations change!
+
+Let me show you how beautifully simple this can be:
+
+```javascript
+// Step 1: Creating basic variables
+const siteName = "Weather Dashboard";
+let currentWeather = "sunny";
+let temperature = 75;
+let isRaining = false;
+```
+
+**Understanding these concepts:**
+- **Store** unchanging values in `const` variables (like site name)
+- **Use** `let` for values that can change throughout your program
+- **Assign** different data types: strings (text), numbers, and booleans (true/false)
+- **Choose** descriptive names that explain what each variable contains
+
+```javascript
+// Step 2: Working with objects to group related data
+const weatherData = {
+ location: "San Francisco",
+ humidity: 65,
+ windSpeed: 12
+};
+```
+
+**In the above, we've:**
+- **Created** an object to group related weather information together
+- **Organized** multiple pieces of data under one variable name
+- **Used** key-value pairs to label each piece of information clearly
+
+```javascript
+// Step 3: Using and updating variables
+console.log(`${siteName}: Today is ${currentWeather} and ${temperature}°F`);
+console.log(`Wind speed: ${weatherData.windSpeed} mph`);
+
+// Updating changeable variables
+currentWeather = "cloudy";
+temperature = 68;
+```
+
+**Let's understand each part:**
+- **Display** information using template literals with `${}` syntax
+- **Access** object properties using dot notation (`weatherData.windSpeed`)
+- **Update** variables declared with `let` to reflect changing conditions
+- **Combine** multiple variables to create meaningful messages
+
+```javascript
+// Step 4: Modern destructuring for cleaner code
+const { location, humidity } = weatherData;
+console.log(`${location} humidity: ${humidity}%`);
+```
+
+**What you need to know:**
+- **Extract** specific properties from objects using destructuring assignment
+- **Create** new variables automatically with the same names as object keys
+- **Simplify** code by avoiding repetitive dot notation
+
+### Control Flow: Teaching Your Program to Think
-✅ A Fibonacci sequence is [defined](https://en.wikipedia.org/wiki/Fibonacci_number) as a series of numbers where each number is the sum of the two preceding ones, starting from 0 and 1. The first 10 numbers in the Fibonacci sequence are 0, 1, 1, 2, 3, 5, 8, 13, 21, and 34.
+Okay, this is where programming gets absolutely mind-blowing! **Control flow** is basically teaching your program how to make smart decisions, exactly like you do every single day without even thinking about it.
-## Elements of a Program
+Picture this: this morning you probably went through something like "If it's raining, I'll grab an umbrella. If it's cold, I'll wear a jacket. If I'm running late, I'll skip breakfast and grab coffee on the way." Your brain naturally follows this if-then logic dozens of times every day!
-A single instruction in a program is called a *statement*. Statements usually have a character or line spacing that marks where the instruction ends, or *terminates*. The way a program terminates varies by language.
+This is what makes programs feel intelligent and alive instead of just following some boring, predictable script. They can actually look at a situation, evaluate what's happening, and respond appropriately. It's like giving your program a brain that can adapt and make choices!
-Statements in a program may depend on data provided by a user or other sources to execute instructions. Data can influence how a program behaves, so programming languages include ways to temporarily store data for later use. These are called *variables*. Variables are statements that instruct a device to save data in its memory. Variables in programs are similar to variables in algebra, where they have a unique name and their value can change over time.
+Want to see how beautifully this works? Let me show you:
-Some statements may not be executed by a device. This can happen intentionally, as designed by the developer, or accidentally due to unexpected errors. This type of control over an application makes it more robust and maintainable. Typically, these changes in control occur when certain conditions are met. A common statement used in modern programming to control program flow is the `if..else` statement.
+```javascript
+// Step 1: Basic conditional logic
+const userAge = 17;
+
+if (userAge >= 18) {
+ console.log("You can vote!");
+} else {
+ const yearsToWait = 18 - userAge;
+ console.log(`You'll be able to vote in ${yearsToWait} year(s).`);
+}
+```
-✅ You'll learn more about this type of statement in future lessons.
+**Here's what this code does:**
+- **Check** if the user's age meets the voting requirement
+- **Execute** different code blocks based on the condition result
+- **Calculate** and display how long until voting eligibility if under 18
+- **Provide** specific, helpful feedback for each scenario
+
+```javascript
+// Step 2: Multiple conditions with logical operators
+const userAge = 17;
+const hasPermission = true;
+
+if (userAge >= 18 && hasPermission) {
+ console.log("Access granted: You can enter the venue.");
+} else if (userAge >= 16) {
+ console.log("You need parent permission to enter.");
+} else {
+ console.log("Sorry, you must be at least 16 years old.");
+}
+```
+
+**Breaking down what happens here:**
+- **Combine** multiple conditions using the `&&` (and) operator
+- **Create** a hierarchy of conditions using `else if` for multiple scenarios
+- **Handle** all possible cases with a final `else` statement
+- **Provide** clear, actionable feedback for each different situation
+
+```javascript
+// Step 3: Concise conditional with ternary operator
+const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
+console.log(`Status: ${votingStatus}`);
+```
+
+**What you need to remember:**
+- **Use** the ternary operator (`? :`) for simple two-option conditions
+- **Write** condition first, followed by `?`, then true result, then `:`, then false result
+- **Apply** this pattern when you need to assign values based on conditions
+
+```javascript
+// Step 4: Handling multiple specific cases
+const dayOfWeek = "Tuesday";
+
+switch (dayOfWeek) {
+ case "Monday":
+ case "Tuesday":
+ case "Wednesday":
+ case "Thursday":
+ case "Friday":
+ console.log("It's a weekday - time to work!");
+ break;
+ case "Saturday":
+ case "Sunday":
+ console.log("It's the weekend - time to relax!");
+ break;
+ default:
+ console.log("Invalid day of the week");
+}
+```
+
+**This code accomplishes the following:**
+- **Match** the variable value against multiple specific cases
+- **Group** similar cases together (weekdays vs. weekends)
+- **Execute** the appropriate code block when a match is found
+- **Include** a `default` case to handle unexpected values
+- **Use** `break` statements to prevent code from continuing to the next case
+
+> 💡 **Real-world analogy**: Think of control flow like having the world's most patient GPS giving you directions. It might say "If there's traffic on Main Street, take the highway instead. If construction is blocking the highway, try the scenic route." Programs use exactly the same type of conditional logic to respond intelligently to different situations and always give users the best possible experience.
+
+### 🎯 **Concept Check: Building Blocks Mastery**
+
+**Let's see how you're doing with the fundamentals:**
+- Can you explain the difference between a variable and a statement in your own words?
+- Think of a real-world scenario where you'd use an if-then decision (like our voting example)
+- What's one thing about programming logic that surprised you?
+
+**Quick confidence booster:**
+```mermaid
+flowchart LR
+ A["📝 Statements (Instructions)"] --> B["📦 Variables (Storage)"] --> C["🔀 Control Flow (Decisions)"] --> D["🎉 Working Program!"]
+
+ style A fill:#ffeb3b
+ style B fill:#4caf50
+ style C fill:#2196f3
+ style D fill:#ff4081
+```
+✅ **What's coming up next**: We're going to have an absolute blast diving deeper into these concepts as we continue this incredible journey together! Right now, just focus on feeling that excitement about all the amazing possibilities ahead of you. The specific skills and techniques will stick naturally as we practice together – I promise this is going to be so much more fun than you might expect!
## Tools of the Trade
-[](https://youtube.com/watch?v=69WJeXGBdxg "Tools of the Trade")
+Alright, this is honestly where I get so excited I can barely contain myself! 🚀 We're about to talk about the incredible tools that are going to make you feel like you just got handed the keys to a digital spaceship.
+
+You know how a chef has those perfectly balanced knives that feel like extensions of their hands? Or how a musician has that one guitar that seems to sing the moment they touch it? Well, developers have our own version of these magical tools, and here's what's going to absolutely blow your mind – most of them are completely free!
+
+I'm practically bouncing in my chair thinking about sharing these with you because they've completely revolutionized how we build software. We're talking about AI-powered coding assistants that can help write your code (I'm not even kidding!), cloud environments where you can build entire applications from literally anywhere with Wi-Fi, and debugging tools so sophisticated they're like having X-ray vision for your programs.
+
+And here's the part that still gives me chills: these aren't "beginner tools" that you'll outgrow. These are the exact same professional-grade tools that developers at Google, Netflix, and that indie app studio you love are using right this very moment. You're going to feel like such a pro using them!
+
+```mermaid
+graph TD
+ A["💡 Your Idea"] --> B["⌨️ Code Editor (VS Code)"]
+ B --> C["🌐 Browser DevTools (Testing & Debugging)"]
+ C --> D["⚡ Command Line (Automation & Tools)"]
+ D --> E["📚 Documentation (Learning & Reference)"]
+ E --> F["🚀 Amazing Web App!"]
+
+ B -.-> G["🤖 AI Assistant (GitHub Copilot)"]
+ C -.-> H["📱 Device Testing (Responsive Design)"]
+ D -.-> I["📦 Package Managers (npm, yarn)"]
+ E -.-> J["👥 Community (Stack Overflow)"]
+
+ style A fill:#fff59d
+ style F fill:#c8e6c9
+ style G fill:#e1f5fe
+ style H fill:#f3e5f5
+ style I fill:#ffccbc
+ style J fill:#e8eaf6
+```
+### Code Editors and IDEs: Your New Digital Best Friends
-> 🎥 Click the image above to watch a video about tooling
+Let's talk about code editors – these are seriously about to become your new favorite places to hang out! Think of them as your personal coding sanctuary where you'll spend most of your time crafting and perfecting your digital creations.
-In this section, you'll explore software that can be very useful as you begin your journey as a professional developer.
+But here's what's absolutely magical about modern editors: they're not just fancy text editors. They're like having the most brilliant, supportive coding mentor sitting right next to you 24/7. They catch your typos before you even notice them, suggest improvements that make you look like a genius, help you understand what every piece of code does, and some of them can even predict what you're about to type and offer to finish your thoughts!
-A **development environment** is a unique set of tools and features that developers frequently use when writing software. These tools may be customized to meet a developer's specific needs and can evolve over time as priorities shift, personal projects change, or different programming languages are used. Development environments are as unique as the developers who use them.
+I remember when I first discovered auto-completion – I literally felt like I was living in the future. You start typing something, and your editor goes, "Hey, were you thinking of this function that does exactly what you need?" It's like having a mind reader as your coding buddy!
-### Editors
+**What makes these editors so incredible?**
-One of the most essential tools for software development is the editor. Editors are where you write your code and sometimes where you run it.
+Modern code editors offer an impressive array of features designed to boost your productivity:
-Developers rely on editors for several reasons:
+| Feature | What It Does | Why It Helps |
+|---------|--------------|--------------|
+| **Syntax Highlighting** | Colors different parts of your code | Makes code easier to read and spot errors |
+| **Auto-completion** | Suggests code as you type | Speeds up coding and reduces typos |
+| **Debugging Tools** | Helps you find and fix errors | Saves hours of troubleshooting time |
+| **Extensions** | Add specialized features | Customize your editor for any technology |
+| **AI Assistants** | Suggest code and explanations | Accelerates learning and productivity |
-- *Debugging* helps identify bugs and errors by stepping through the code line by line. Some editors have built-in debugging capabilities, which can be customized for specific programming languages.
-- *Syntax highlighting* adds colors and text formatting to code, making it easier to read. Most editors allow syntax highlighting customization.
-- *Extensions and Integrations* are specialized tools created by developers for developers. These tools are not part of the base editor. For example, many developers document their code to explain how it works. They might install a spell-check extension to catch typos in the documentation. Most extensions are designed for specific editors, and most editors include a way to search for available extensions.
-- *Customization* allows developers to tailor their development environment to their needs. Most editors are highly customizable and may even allow developers to create custom extensions.
+> 🎥 **Video Resource**: Want to see these tools in action? Check out this [Tools of the Trade video](https://youtube.com/watch?v=69WJeXGBdxg) for a comprehensive overview.
-#### Popular Editors and Web Development Extensions
+#### Recommended Editors for Web Development
-- [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)
- - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
- - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)
- - [Prettier - Code formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
-- [Atom](https://atom.io/)
- - [spell-check](https://atom.io/packages/spell-check)
- - [teletype](https://atom.io/packages/teletype)
- - [atom-beautify](https://atom.io/packages/atom-beautify)
-
-- [Sublimetext](https://www.sublimetext.com/)
- - [emmet](https://emmet.io/)
- - [SublimeLinter](http://www.sublimelinter.com/en/stable/)
+**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (Free)
+- Most popular among web developers
+- Excellent extension ecosystem
+- Built-in terminal and Git integration
+- **Must-have extensions**:
+ - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - AI-powered code suggestions
+ - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - Real-time collaboration
+ - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - Automatic code formatting
+ - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - Catch typos in your code
-### Browsers
+**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (Paid, free for students)
+- Advanced debugging and testing tools
+- Intelligent code completion
+- Built-in version control
-Another essential tool is the browser. Web developers use browsers to test how their code runs on the web. Browsers also display the visual elements of a web page written in the editor, such as HTML.
+**Cloud-Based IDEs** (Various pricing)
+- [GitHub Codespaces](https://github.com/features/codespaces) - Full VS Code in your browser
+- [Replit](https://replit.com/) - Great for learning and sharing code
+- [StackBlitz](https://stackblitz.com/) - Instant, full-stack web development
-Many browsers include *developer tools* (DevTools), which offer features and information to help developers gather and analyze important details about their applications. For example, if a web page has errors, DevTools can be configured to capture information about when the errors occurred.
+> 💡 **Getting Started Tip**: Start with Visual Studio Code – it's free, widely used in the industry, and has an enormous community creating helpful tutorials and extensions.
-#### Popular Browsers and DevTools
-- [Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)
-- [Chrome](https://developers.google.com/web/tools/chrome-devtools/)
-- [Firefox](https://developer.mozilla.org/docs/Tools)
+### Web Browsers: Your Secret Development Laboratory
-### Command Line Tools
+Okay, prepare to have your mind completely blown! You know how you've been using browsers to scroll through social media and watch videos? Well, it turns out they've been hiding this incredible secret developer laboratory this entire time, just waiting for you to discover it!
-Some developers prefer a less graphical interface for their daily tasks and rely on the command line. Writing code involves a lot of typing, and some developers prefer not to disrupt their workflow by switching between the keyboard and mouse. They use keyboard shortcuts to navigate between desktop windows, work on different files, and use tools. While most tasks can be completed with a mouse, the command line allows developers to perform many tasks without switching between the mouse and keyboard. Another advantage of the command line is its configurability—you can save custom configurations, modify them later, and import them to other development machines. Since development environments are highly personalized, some developers avoid the command line, others rely on it entirely, and some prefer a mix of both.
+Every single time you right-click on a webpage and select "Inspect Element," you're opening up a hidden world of developer tools that are honestly more powerful than some expensive software I used to pay hundreds of dollars for. It's like discovering that your regular old kitchen has been concealing a professional chef's laboratory behind a secret panel!
+The first time someone showed me browser DevTools, I spent like three hours just clicking around and going "WAIT, IT CAN DO THAT TOO?!" You can literally edit any website in real-time, see exactly how fast everything loads, test how your site looks on different devices, and even debug JavaScript like a total pro. It's absolutely mind-blowing!
-### Popular Command Line Options
+**Here's why browsers are your secret weapon:**
-Command line options vary depending on the operating system.
+When you create a website or web application, you need to see how it looks and behaves in the real world. Browsers not only display your work but also provide detailed feedback about performance, accessibility, and potential issues.
-*💻 = preinstalled on the operating system.*
+#### Browser Developer Tools (DevTools)
-#### Windows
+Modern browsers include comprehensive development suites:
-- [Powershell](https://docs.microsoft.com/powershell/scripting/overview?view=powershell-7/?WT.mc_id=academic-77807-sagibbon) 💻
-- [Command Line](https://docs.microsoft.com/windows-server/administration/windows-commands/windows-commands/?WT.mc_id=academic-77807-sagibbon) (also known as CMD) 💻
-- [Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)
-- [mintty](https://mintty.github.io/)
-
-#### MacOS
+| Tool Category | What It Does | Example Use Case |
+|---------------|--------------|------------------|
+| **Element Inspector** | View and edit HTML/CSS in real-time | Adjust styling to see immediate results |
+| **Console** | View error messages and test JavaScript | Debug problems and experiment with code |
+| **Network Monitor** | Track how resources load | Optimize performance and loading times |
+| **Accessibility Checker** | Test for inclusive design | Ensure your site works for all users |
+| **Device Simulator** | Preview on different screen sizes | Test responsive design without multiple devices |
+
+#### Recommended Browsers for Development
+
+- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - Industry-standard DevTools with extensive documentation
+- **[Firefox](https://developer.mozilla.org/docs/Tools)** - Excellent CSS Grid and accessibility tools
+- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - Built on Chromium with Microsoft's developer resources
+
+> ⚠️ **Important Testing Tip**: Always test your websites in multiple browsers! What works perfectly in Chrome might look different in Safari or Firefox. Professional developers test across all major browsers to ensure consistent user experiences.
+
+
+### Command Line Tools: Your Gateway to Developer Superpowers
+
+Alright, let's have a completely honest moment here about the command line, because I want you to hear this from someone who truly gets it. When I first saw it – just this scary black screen with blinking text – I literally thought, "Nope, absolutely not! This looks like something from a 1980s hacker movie, and I am definitely not smart enough for this!" 😅
+
+But here's what I wish someone had told me back then, and what I'm telling you right now: the command line isn't scary – it's actually like having a direct conversation with your computer. Think of it like the difference between ordering food through a fancy app with pictures and menus (which is nice and easy) versus walking into your favorite local restaurant where the chef knows exactly what you like and can whip up something perfect just by you saying "surprise me with something amazing."
+
+The command line is where developers go to feel like absolute wizards. You type a few seemingly magical words (okay, they're just commands, but they feel magical!), hit enter, and BOOM – you've created entire project structures, installed powerful tools from around the world, or deployed your app to the internet for millions of people to see. Once you get your first taste of that power, it's honestly pretty addictive!
+
+**Why the command line will become your favorite tool:**
+
+While graphical interfaces are great for many tasks, the command line excels at automation, precision, and speed. Many development tools work primarily through command line interfaces, and learning to use them efficiently can dramatically improve your productivity.
+
+```bash
+# Step 1: Create and navigate to project directory
+mkdir my-awesome-website
+cd my-awesome-website
+```
+
+**Here's what this code does:**
+- **Create** a new directory called "my-awesome-website" for your project
+- **Navigate** into the newly created directory to begin working
+
+```bash
+# Step 2: Initialize project with package.json
+npm init -y
+
+# Install modern development tools
+npm install --save-dev vite prettier eslint
+npm install --save-dev @eslint/js
+```
+
+**Step by step, here's what's happening:**
+- **Initialize** a new Node.js project with default settings using `npm init -y`
+- **Install** Vite as a modern build tool for fast development and production builds
+- **Add** Prettier for automatic code formatting and ESLint for code quality checks
+- **Use** the `--save-dev` flag to mark these as development-only dependencies
+
+```bash
+# Step 3: Create project structure and files
+mkdir src assets
+echo 'My Site
Hello World
' > index.html
+
+# Start development server
+npx vite
+```
+
+**In the above, we've:**
+- **Organized** our project by creating separate folders for source code and assets
+- **Generated** a basic HTML file with proper document structure
+- **Started** the Vite development server for live reloading and hot module replacement
+
+#### Essential Command Line Tools for Web Development
-- [Terminal](https://support.apple.com/guide/terminal/open-or-quit-terminal-apd5265185d-f365-44cb-8b09-71a064a42125/mac) 💻
-- [iTerm](https://iterm2.com/)
-- [Powershell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-macos?view=powershell-7/?WT.mc_id=academic-77807-sagibbon)
+| Tool | Purpose | Why You Need It |
+|------|---------|-----------------|
+| **[Git](https://git-scm.com/)** | Version control | Track changes, collaborate with others, backup your work |
+| **[Node.js & npm](https://nodejs.org/)** | JavaScript runtime & package management | Run JavaScript outside browsers, install modern development tools |
+| **[Vite](https://vitejs.dev/)** | Build tool & dev server | Lightning-fast development with hot module replacement |
+| **[ESLint](https://eslint.org/)** | Code quality | Automatically find and fix problems in your JavaScript |
+| **[Prettier](https://prettier.io/)** | Code formatting | Keep your code consistently formatted and readable |
-#### Linux
+#### Platform-Specific Options
-- [Bash](https://www.gnu.org/software/bash/manual/html_node/index.html) 💻
-- [KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)
-- [Powershell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7/?WT.mc_id=academic-77807-sagibbon)
+**Windows:**
+- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - Modern, feature-rich terminal
+- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - Powerful scripting environment
+- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - Traditional Windows command line
-#### Popular Command Line Tools
+**macOS:**
+- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 - Built-in terminal application
+- **[iTerm2](https://iterm2.com/)** - Enhanced terminal with advanced features
-- [Git](https://git-scm.com/) (💻 on most operating systems)
-- [NPM](https://www.npmjs.com/)
-- [Yarn](https://classic.yarnpkg.com/en/docs/cli/)
+**Linux:**
+- **[Bash](https://www.gnu.org/software/bash/)** 💻 - Standard Linux shell
+- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - Advanced terminal emulator
-### Documentation
+> 💻 = Pre-installed on the operating system
-When developers want to learn something new, they often turn to documentation for guidance. Documentation helps developers understand how to use tools and languages effectively and provides deeper insights into their functionality.
+> 🎯 **Learning Path**: Start with basic commands like `cd` (change directory), `ls` or `dir` (list files), and `mkdir` (create folder). Practice with modern workflow commands like `npm install`, `git status`, and `code .` (opens current directory in VS Code). As you become more comfortable, you'll naturally pick up more advanced commands and automation techniques.
-#### Popular Documentation on Web Development
-- [Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web), from Mozilla, the publishers of the [Firefox](https://www.mozilla.org/firefox/) browser
-- [Frontend Masters](https://frontendmasters.com/learn/)
-- [Web.dev](https://web.dev), from Google, publishers of [Chrome](https://www.google.com/chrome/)
-- [Microsoft's own developer docs](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers), for [Microsoft Edge](https://www.microsoft.com/edge)
-- [W3 Schools](https://www.w3schools.com/where_to_start.asp)
+### Documentation: Your Always-Available Learning Mentor
-✅ Research task: Now that you understand the basics of a web developer's environment, compare it with a web designer's environment.
+Okay, let me share a little secret that's going to make you feel so much better about being a beginner: even the most experienced developers spend a huge chunk of their time reading documentation. And that's not because they don't know what they're doing – it's actually a sign of wisdom!
+
+Think of documentation as having access to the world's most patient, knowledgeable teachers who are available 24/7. Stuck on a problem at 2 AM? Documentation is there with a warm virtual hug and exactly the answer you need. Want to learn about some cool new feature that everyone's talking about? Documentation has your back with step-by-step examples. Trying to understand why something works the way it does? You guessed it – documentation is ready to explain it in a way that finally makes it click!
+
+Here's something that completely changed my perspective: the web development world moves incredibly fast, and nobody (I mean absolutely nobody!) keeps everything memorized. I've watched senior developers with 15+ years of experience look up basic syntax, and you know what? That's not embarrassing – that's smart! It's not about having a perfect memory; it's about knowing where to find reliable answers quickly and understanding how to apply them.
+
+**Here's where the real magic happens:**
+
+Professional developers spend a significant portion of their time reading documentation – not because they don't know what they're doing, but because the web development landscape evolves so rapidly that staying current requires continuous learning. Great documentation helps you understand not just *how* to use something, but *why* and *when* to use it.
+
+#### Essential Documentation Resources
+
+**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)**
+- The gold standard for web technology documentation
+- Comprehensive guides for HTML, CSS, and JavaScript
+- Includes browser compatibility information
+- Features practical examples and interactive demos
+
+**[Web.dev](https://web.dev)** (by Google)
+- Modern web development best practices
+- Performance optimization guides
+- Accessibility and inclusive design principles
+- Case studies from real-world projects
+
+**[Microsoft Developer Documentation](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)**
+- Edge browser development resources
+- Progressive Web App guides
+- Cross-platform development insights
+
+**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)**
+- Structured learning curricula
+- Video courses from industry experts
+- Hands-on coding exercises
+
+> 📚 **Study Strategy**: Don't try to memorize documentation – instead, learn how to navigate it efficiently. Bookmark frequently-used references and practice using the search functions to find specific information quickly.
+
+### 🔧 **Tool Mastery Check: What Resonates With You?**
+
+**Take a moment to consider:**
+- Which tool are you most excited to try first? (There's no wrong answer!)
+- Does the command line still feel intimidating, or are you curious about it?
+- Can you imagine using browser DevTools to peek behind the curtain of your favorite websites?
+
+```mermaid
+pie title "Developer Time Spent With Tools"
+ "Code Editor" : 40
+ "Browser Testing" : 25
+ "Command Line" : 15
+ "Reading Docs" : 15
+ "Debugging" : 5
+```
+> **Fun insight**: Most developers spend about 40% of their time in their code editor, but notice how much time goes to testing, learning, and problem-solving. Programming isn't just about writing code – it's about crafting experiences!
+
+✅ **Food for thought**: Here's something interesting to ponder – how do you think the tools for building websites (development) might be different from tools for designing how they look (design)? It's like the difference between being an architect who designs a beautiful house and the contractor who actually builds it. Both are crucial, but they need different toolboxes! This kind of thinking will really help you see the bigger picture of how websites come to life.
+
+## GitHub Copilot Agent Challenge 🚀
+
+Use the Agent mode to complete the following challenge:
+
+**Description:** Explore the features of a modern code editor or IDE and demonstrate how it can improve your workflow as a web developer.
+
+**Prompt:** Choose a code editor or IDE (such as Visual Studio Code, WebStorm, or a cloud-based IDE). List three features or extensions that help you write, debug, or maintain code more efficiently. For each, provide a brief explanation of how it benefits your workflow.
---
## 🚀 Challenge
-Compare some programming languages. What are some unique characteristics of JavaScript vs. Java? How about COBOL vs. Go?
+**Alright, detective, ready for your first case?**
+
+Now that you've got this awesome foundation, I've got an adventure that's going to help you see just how incredibly diverse and fascinating the programming world really is. And listen – this isn't about writing code yet, so no pressure there! Think of yourself as a programming language detective on your very first exciting case!
-## Post-Lecture Quiz
-[Post-lecture quiz](https://ff-quizzes.netlify.app/web/)
+**Your mission, should you choose to accept it:**
+1. **Become a language explorer**: Pick three programming languages from completely different universes – maybe one that builds websites, one that creates mobile apps, and one that crunches data for scientists. Find examples of the same simple task written in each language. I promise you're going to be absolutely amazed at how different they can look while doing the exact same thing!
+
+2. **Uncover their origin stories**: What makes each language special? Here's a cool fact – every single programming language was created because someone thought, "You know what? There's got to be a better way to solve this specific problem." Can you figure out what those problems were? Some of these stories are genuinely fascinating!
+
+3. **Meet the communities**: Check out how welcoming and passionate each language's community is. Some have millions of developers sharing knowledge and helping each other, others are smaller but incredibly tight-knit and supportive. You're going to love seeing the different personalities these communities have!
+
+4. **Follow your gut feeling**: Which language feels most approachable to you right now? Don't stress about making the "perfect" choice – just listen to your instincts! There's honestly no wrong answer here, and you can always explore others later.
+
+**Bonus detective work**: See if you can discover what major websites or apps are built with each language. I guarantee you'll be shocked to learn what powers Instagram, Netflix, or that mobile game you can't stop playing!
+
+> 💡 **Remember**: You're not trying to become an expert in any of these languages today. You're just getting to know the neighborhood before you decide where you want to set up shop. Take your time, have fun with it, and let your curiosity guide you!
+
+## Let's Celebrate What You've Discovered!
+
+Holy moly, you've absorbed so much incredible information today! I'm genuinely excited to see how much of this amazing journey has stuck with you. And remember – this isn't a test where you need to get everything perfect. This is more like a celebration of all the cool stuff you've learned about this fascinating world you're about to dive into!
+
+[Take the post-lesson quiz](https://ff-quizzes.netlify.app/web/)
## Review & Self Study
-Explore the different programming languages available. Try writing a line of code in one language, then rewrite it in two others. What did you learn?
+**Take your time to explore and have fun with it!**
+You've covered a lot of ground today, and that's something to be proud of! Now comes the fun part – exploring the topics that sparked your curiosity. Remember, this isn't homework – it's an adventure!
+
+**Dive deeper into what excites you:**
+
+**Get hands-on with programming languages:**
+- Visit the official websites of 2-3 languages that caught your attention. Each one has its own personality and story!
+- Try some online coding playgrounds like [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/), or [Replit](https://replit.com/). Don't be afraid to experiment – you can't break anything!
+- Read about how your favorite language came to be. Seriously, some of these origin stories are fascinating and will help you understand why languages work the way they do.
+
+**Get comfortable with your new tools:**
+- Download Visual Studio Code if you haven't already – it's free and you're going to love it!
+- Spend a few minutes browsing the Extensions marketplace. It's like an app store for your code editor!
+- Open up your browser's Developer Tools and just click around. Don't worry about understanding everything – just get familiar with what's there.
+
+**Join the community:**
+- Follow some developer communities on [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/), or [GitHub](https://github.com/). The programming community is incredibly welcoming to newcomers!
+- Watch some beginner-friendly coding videos on YouTube. There are so many great creators out there who remember what it's like to be starting out.
+- Consider joining local meetups or online communities. Trust me, developers love helping newcomers!
+
+> 🎯 **Listen, here's what I want you to remember**: You're not expected to become a coding wizard overnight! Right now, you're just getting to know this amazing new world you're about to be part of. Take your time, enjoy the journey, and remember – every single developer you admire was once sitting exactly where you are right now, feeling excited and maybe a little overwhelmed. That's totally normal, and it means you're doing it right!
+
+
## Assignment
[Reading the Docs](assignment.md)
-> Note: When selecting tools for your assignment, do not choose editors, browsers, or command line tools already listed above.
+> 💡 **A little nudge for your assignment**: I'd absolutely love to see you explore some tools we haven't covered yet! Skip the editors, browsers, and command line tools we've already talked about – there's this whole incredible universe of amazing development tools out there just waiting to be discovered. Look for ones that are actively maintained and have vibrant, helpful communities (these tend to have the best tutorials and the most supportive people when you inevitably get stuck and need a friendly hand).
+
+---
+
+## 🚀 Your Programming Journey Timeline
+
+### ⚡ **What You Can Do in the Next 5 Minutes**
+- [ ] Bookmark 2-3 programming language websites that caught your attention
+- [ ] Download Visual Studio Code if you haven't already
+- [ ] Open your browser's DevTools (F12) and click around any website
+- [ ] Join one programming community (Dev.to, Reddit r/webdev, or Stack Overflow)
+
+### ⏰ **What You Can Accomplish This Hour**
+- [ ] Complete the post-lesson quiz and reflect on your answers
+- [ ] Set up VS Code with the GitHub Copilot extension
+- [ ] Try a "Hello World" example in 2 different programming languages online
+- [ ] Watch a "Day in the Life of a Developer" video on YouTube
+- [ ] Start your programming language detective work (from the challenge)
+
+### 📅 **Your Week-Long Adventure**
+- [ ] Complete the assignment and explore 3 new development tools
+- [ ] Follow 5 developers or programming accounts on social media
+- [ ] Try building something tiny in CodePen or Replit (even just "Hello, [Your Name]!")
+- [ ] Read one developer blog post about someone's coding journey
+- [ ] Join a virtual meetup or watch a programming talk
+- [ ] Start learning your chosen language with online tutorials
+
+### 🗓️ **Your Month-Long Transformation**
+- [ ] Build your first small project (even a simple webpage counts!)
+- [ ] Contribute to an open-source project (start with documentation fixes)
+- [ ] Mentor someone who's just starting their programming journey
+- [ ] Create your developer portfolio website
+- [ ] Connect with local developer communities or study groups
+- [ ] Start planning your next learning milestone
+
+### 🎯 **Final Reflection Check-in**
+
+**Before you move on, take a moment to celebrate:**
+- What's one thing about programming that excited you today?
+- Which tool or concept do you want to explore first?
+- How do you feel about starting this programming journey?
+- What's one question you'd like to ask a developer right now?
+
+```mermaid
+journey
+ title Your Confidence Building Journey
+ section Today
+ Curious: 3: You
+ Overwhelmed: 4: You
+ Excited: 5: You
+ section This Week
+ Exploring: 4: You
+ Learning: 5: You
+ Connecting: 4: You
+ section Next Month
+ Building: 5: You
+ Confident: 5: You
+ Helping Others: 5: You
+```
+> 🌟 **Remember**: Every expert was once a beginner. Every senior developer once felt exactly like you do right now – excited, maybe a little overwhelmed, and definitely curious about what's possible. You're in amazing company, and this journey is going to be incredible. Welcome to the wonderful world of programming! 🎉
---
-**Disclaimer**:
-This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we aim for accuracy, please note that automated translations may contain errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is recommended. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation.
\ No newline at end of file
+
+**Disclaimer**:
+This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.
+
\ No newline at end of file
diff --git a/translations/en/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md b/translations/en/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md
index 09e6e1cf8..49f2f309a 100644
--- a/translations/en/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md
+++ b/translations/en/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md
@@ -1,31 +1,69 @@
-
+# Assignment: Exploring Modern Web Development Tools
+
## Instructions
-There are many tools that a web developer may need that are listed on the [MDN documentation for client-side tooling](https://developer.mozilla.org/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview). Select **three tools** that are **not covered in this lesson** (excluding [list specific tools or refer to lesson content]), explain **why** a web developer would use each tool, and find a tool that fits each category. For each, share a link to its official documentation (not the example used on MDN).
+The web development ecosystem includes hundreds of specialized tools that help developers build, test, and maintain applications efficiently. Your task is to research and understand tools that complement the ones covered in this lesson.
+
+**Your Mission:** Select **three tools** that are **not covered in this lesson** (avoid choosing code editors, browsers, or command line tools already listed). Focus on tools that solve specific problems in modern web development workflows.
+
+**For each tool, provide:**
+
+1. **Tool name and category** (e.g., "Figma - Design Tool" or "Jest - Testing Framework")
+2. **Purpose and benefits** - Explain in 2-3 sentences why a web developer would use this tool and what problems it solves
+3. **Official documentation link** - Provide a link to the tool's official documentation or website (not just tutorial sites)
+4. **Real-world context** - Mention one way this tool fits into a professional development workflow
+
+## Suggested Tool Categories
+
+Consider exploring tools from these categories:
+
+| Category | Examples | What They Do |
+|----------|----------|--------------|
+| **Build Tools** | Vite, Webpack, Parcel, esbuild | Bundle and optimize code for production with fast development servers |
+| **Testing Frameworks** | Vitest, Jest, Cypress, Playwright | Ensure code works correctly and catch bugs before deployment |
+| **Design Tools** | Figma, Adobe XD, Penpot | Create mockups, prototypes, and design systems collaboratively |
+| **Deployment Platforms** | Netlify, Vercel, Cloudflare Pages | Host and distribute websites with automatic CI/CD |
+| **Version Control** | GitHub, GitLab, Bitbucket | Manage code changes, collaboration, and project workflows |
+| **CSS Frameworks** | Tailwind CSS, Bootstrap, Bulma | Accelerate styling with pre-built component libraries |
+| **Package Managers** | npm, pnpm, Yarn | Install and manage code libraries and dependencies |
+| **Accessibility Tools** | axe-core, Lighthouse, Pa11y | Test for inclusive design and WCAG compliance |
+| **API Development** | Postman, Insomnia, Thunder Client | Test and document APIs during development |
-**Format:**
-- Tool name
-- Why a web developer would use it (2-3 sentences)
-- Link to documentation
+## Format Requirements
-**Length:**
-- Each explanation should be 2-3 sentences.
+**For each tool:**
+```
+### [Tool Name] - [Category]
+
+**Purpose:** [2-3 sentences explaining why developers use this tool]
+
+**Documentation:** [Official website/documentation link]
+
+**Workflow Integration:** [1 sentence about how it fits into development process]
+```
+
+## Quality Guidelines
+
+- **Choose current tools**: Select tools that are actively maintained and widely used in 2025
+- **Focus on value**: Explain the specific benefits, not just what the tool does
+- **Professional context**: Consider tools used by development teams, not just individual hobbyists
+- **Diverse selection**: Pick tools from different categories to show breadth of the ecosystem
+- **Modern relevance**: Prioritize tools that align with current web development trends and best practices
## Rubric
-Exemplary | Adequate | Needs Improvement
---- | --- | -- |
-Explained why web developer would use tool | Explained how, but not why developer would use tool | Did not mention how or why a developer would use tool |
+| Excellent | Good | Needs Improvement |
+|-----------|------|-------------------|
+| **Clearly explained why developers use each tool and what problems it solves** | **Explained what the tool does but missed some context about its value** | **Listed tools but didn't explain their purpose or benefits** |
+| **Provided official documentation links for all tools** | **Provided mostly official links with 1-2 tutorial sites** | **Relied mainly on tutorial sites rather than official documentation** |
+| **Selected current, professionally-used tools from diverse categories** | **Selected good tools but limited variety in categories** | **Selected outdated tools or only from one category** |
+| **Demonstrated understanding of how tools fit into development workflows** | **Showed some understanding of professional context** | **Focused only on tool features without workflow context** |
+
+> 💡 **Research Tip**: Look for tools mentioned in job postings for web developers, check popular developer surveys, or explore the dependencies used by successful open-source projects on GitHub!
---
-**Disclaimer**:
-This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we aim for accuracy, please note that automated translations may contain errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is recommended. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation.
\ No newline at end of file
+
+**Disclaimer**:
+This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.
+
\ No newline at end of file
diff --git a/translations/en/1-getting-started-lessons/2-github-basics/README.md b/translations/en/1-getting-started-lessons/2-github-basics/README.md
index ab0c7ec08..dd96267ba 100644
--- a/translations/en/1-getting-started-lessons/2-github-basics/README.md
+++ b/translations/en/1-getting-started-lessons/2-github-basics/README.md
@@ -1,344 +1,769 @@
-
# Introduction to GitHub
-This lesson introduces the basics of GitHub, a platform for hosting and managing changes to your code.
+Hey there, future developer! 👋 Ready to join millions of coders around the world? I'm genuinely excited to introduce you to GitHub – think of it as the social media platform for programmers, except instead of sharing photos of your lunch, we're sharing code and building incredible things together!
-
+Here's what absolutely blows my mind: every app on your phone, every website you visit, and most of the tools you'll learn to use were built by teams of developers collaborating on platforms just like GitHub. That music app you love? Someone like you contributed to it. That game you can't put down? Yep, probably built with GitHub collaboration. And now YOU'RE going to learn how to be part of that amazing community!
+
+I know this might feel like a lot at first – heck, I remember staring at my first GitHub page thinking "What on earth does any of this mean?" But here's the thing: every single developer started exactly where you are right now. By the end of this lesson, you'll have your very own GitHub repository (think of it as your personal project showcase in the cloud), and you'll know how to save your work, share it with others, and even contribute to projects that millions of people use.
+
+We're going to take this journey together, one step at a time. No rushing, no pressure – just you, me, and some really cool tools that are about to become your new best friends!
+
+
> Sketchnote by [Tomomi Imura](https://twitter.com/girlie_mac)
+```mermaid
+journey
+ title Your GitHub Adventure Today
+ section Setup
+ Install Git: 4: You
+ Create Account: 5: You
+ First Repository: 5: You
+ section Master Git
+ Local Changes: 4: You
+ Commits & Pushes: 5: You
+ Branching: 4: You
+ section Collaborate
+ Fork Projects: 4: You
+ Pull Requests: 5: You
+ Open Source: 5: You
+```
## Pre-Lecture Quiz
[Pre-lecture quiz](https://ff-quizzes.netlify.app)
## Introduction
-In this lesson, we'll explore:
+Before we dive into the really exciting stuff, let's get your computer ready for some GitHub magic! Think of this like organizing your art supplies before creating a masterpiece – having the right tools ready makes everything so much smoother and way more fun.
-- Tracking your work on your computer
-- Collaborating on projects with others
-- Contributing to open-source software
+I'm going to walk you through each setup step personally, and I promise it's not nearly as intimidating as it might look at first glance. If something doesn't click right away, that's completely normal! I remember setting up my first development environment and feeling like I was trying to read ancient hieroglyphics. Every single developer has been exactly where you are right now, wondering if they're doing it right. Spoiler alert: if you're here learning, you're already doing it right! 🌟
+
+In this lesson, we'll cover:
+
+- tracking the work you do on your machine
+- working on projects with others
+- how to contribute to open source software
### Prerequisites
-Before starting, check if Git is installed. In the terminal, type:
+Let's get your computer ready for some GitHub magic! Don't worry – this setup is something you only need to do once, and then you'll be all set for your entire coding journey.
+
+Alright, let's start with the foundation! First, we need to check if Git is already hanging out on your computer. Git is basically like having a super-smart assistant that remembers every single change you make to your code – way better than frantically hitting Ctrl+S every two seconds (we've all been there!).
+
+Let's see if Git is already installed by typing this magic command in your terminal:
`git --version`
-If Git isn't installed, [download Git](https://git-scm.com/downloads). Then, set up your local Git profile in the terminal:
-* `git config --global user.name "your-name"`
-* `git config --global user.email "your-email"`
+If Git isn't there yet, no worries! Just head over to [download Git](https://git-scm.com/downloads) and grab it. Once you've got it installed, we need to introduce Git to you properly:
+
+> 💡 **First Time Setup**: These commands tell Git who you are. This information will be attached to every commit you make, so choose a name and email you're comfortable sharing publicly.
+
+```bash
+git config --global user.name "your-name"
+git config --global user.email "your-email"
+```
-To verify if Git is already configured, type:
-`git config --list`
+To check if Git is already configured you can type:
+```bash
+git config --list
+```
-You'll also need a GitHub account, a code editor (like Visual Studio Code), and access to your terminal (or command prompt).
+You'll also need a GitHub account, a code editor (like Visual Studio Code), and you'll need to open your terminal (or: command prompt).
-Visit [github.com](https://github.com/) to create an account if you don't have one, or log in and complete your profile.
+Navigate to [github.com](https://github.com/) and create an account if you haven't already, or log in and fill out your profile.
-✅ GitHub isn't the only code repository platform out there, but it's the most widely known.
+💡 **Modern tip**: Consider setting up [SSH keys](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) or using [GitHub CLI](https://cli.github.com/) for easier authentication without passwords.
+
+✅ GitHub isn't the only code repository in the world; there are others, but GitHub is the best known
### Preparation
-You'll need a folder containing a code project on your local machine (laptop or PC) and a public repository on GitHub to practice contributing to others' projects.
+You'll need both a folder with a code project on your local machine (laptop or PC), and a public repository on GitHub, which will serve as an example for how to contribute to the projects of others.
----
+### Keeping Your Code Safe
-## Code Management
+Let's talk about security for a moment – but don't worry, we're not going to overwhelm you with scary stuff! Think of these security practices like locking your car or your house. They're simple habits that become second nature and keep your hard work protected.
-Imagine you have a folder on your computer with a code project, and you want to start tracking your progress using Git, a version control system. Some people liken using Git to writing a love letter to your future self. By reading your commit messages days, weeks, or months later, you'll recall why you made certain decisions or "roll back" changes—provided you write good commit messages.
+We'll show you the modern, secure ways to work with GitHub right from the start. This way, you'll develop good habits that will serve you well throughout your coding career.
+
+When working with GitHub, it's important to follow security best practices:
+
+| Security Area | Best Practice | Why It Matters |
+|---------------|---------------|----------------|
+| **Authentication** | Use SSH keys or Personal Access Tokens | Passwords are less secure and being phased out |
+| **Two-Factor Authentication** | Enable 2FA on your GitHub account | Adds an extra layer of account protection |
+| **Repository Security** | Never commit sensitive information | API keys and passwords should never be in public repos |
+| **Dependency Management** | Enable Dependabot for updates | Keeps your dependencies secure and up-to-date |
+
+> ⚠️ **Critical Security Reminder**: Never commit API keys, passwords, or other sensitive information to any repository. Use environment variables and `.gitignore` files to protect sensitive data.
+
+**Modern Authentication Setup:**
+
+```bash
+# Generate SSH key (modern ed25519 algorithm)
+ssh-keygen -t ed25519 -C "your_email@example.com"
+
+# Set up Git to use SSH
+git remote set-url origin git@github.com:username/repository.git
+```
+
+> 💡 **Pro Tip**: SSH keys eliminate the need to enter passwords repeatedly and are more secure than traditional authentication methods.
+
+---
+
+## Managing Your Code Like a Pro
+
+Okay, THIS is where things get really exciting! 🎉 We're about to learn how to track and manage your code like the pros do, and honestly, this is one of my favorite things to teach because it's such a game-changer.
+
+Picture this: you're writing an amazing story, and you want to keep track of every draft, every brilliant edit, and every "wait, that's genius!" moment along the way. That's exactly what Git does for your code! It's like having the most incredible time-traveling notebook that remembers EVERYTHING – every keystroke, every change, every "oops, that broke everything" moment that you can instantly undo.
+
+I'll be honest – this might feel overwhelming at first. When I started, I thought "Why can't I just save my files like normal?" But trust me on this: once Git clicks for you (and it will!), you'll have one of those lightbulb moments where you think "How did I EVER code without this?" It's like discovering you can fly when you've been walking everywhere your whole life!
+
+Let's say you have a folder locally with some code project and you want to start tracking your progress using git - the version control system. Some people compare using git to writing a love letter to your future self. Reading your commit messages days or weeks or months later you'll be able to recall why you made a decision, or "rollback" a change - that is, when you write good "commit messages".
+
+```mermaid
+flowchart TD
+ A[📁 Your Project Files] --> B{Is it a Git Repository?}
+ B -->|No| C[git init]
+ B -->|Yes| D[Make Changes]
+ C --> D
+ D --> E[git add .]
+ E --> F["git commit -m 'message'"]
+ F --> G[git push]
+ G --> H[🌟 Code on GitHub!]
+
+ H --> I{Want to collaborate?}
+ I -->|Yes| J[Fork & Clone]
+ I -->|No| D
+ J --> K[Create Branch]
+ K --> L[Make Changes]
+ L --> M[Pull Request]
+ M --> N[🎉 Contributing!]
+
+ style A fill:#fff59d
+ style H fill:#c8e6c9
+ style N fill:#ff4081,color:#fff
+```
+### Task: Create Your First Repository!
+
+> 🎯 **Your Mission (and I'm so excited for you!)**: We're going to create your very first GitHub repository together! By the time we're done here, you'll have your own little corner of the internet where your code lives, and you'll have made your first "commit" (that's developer speak for saving your work in a really smart way).
+>
+> This is honestly such a special moment – you're about to officially join the global community of developers! I still remember the thrill of creating my first repo and thinking "Wow, I'm really doing this!"
-### Task: Create a Repository and Commit Code
+Let's walk through this adventure together, step by step. Take your time with each part – there's no prize for rushing, and I promise every single step will make sense. Remember, every coding superstar you admire was once sitting exactly where you are, about to create their first repository. How cool is that?
-> Watch the video
+> Check out video
>
> [](https://www.youtube.com/watch?v=9R31OUPpxU4)
-1. **Create a repository on GitHub**. On GitHub.com, go to the repositories tab or use the navigation bar in the top-right corner to find the **new repo** button.
+**Let's Do This Together:**
- 1. Name your repository (folder).
- 1. Click **create repository**.
+1. **Create your repository on GitHub**. Head over to GitHub.com and look for that bright green **New** button (or the **+** sign in the top right corner). Click it and select **New repository**.
-1. **Navigate to your working folder**. In your terminal, switch to the folder (directory) you want to start tracking. Type:
+ Here's what to do:
+ 1. Give your repository a name – make it something meaningful to you!
+ 1. Add a description if you want (this helps others understand what your project is about)
+ 1. Decide if you want it public (everyone can see it) or private (just for you)
+ 1. I recommend checking the box to add a README file – it's like the front page of your project
+ 1. Click **Create repository** and celebrate – you just created your first repo! 🎉
+
+2. **Navigate to your project folder**. Now let's open up your terminal (don't worry, it's not as scary as it looks!). We need to tell your computer where your project files are. Type this command:
```bash
cd [name of your folder]
```
-1. **Initialize a Git repository**. In your project folder, type:
+ **What we're doing here:**
+ - We're basically saying "Hey computer, take me to my project folder"
+ - This is like opening a specific folder on your desktop, but we're doing it with text commands
+ - Replace `[name of your folder]` with the actual name of your project folder
+
+3. **Turn your folder into a Git repository**. This is where the magic happens! Type:
```bash
git init
```
-1. **Check the status**. To check the status of your repository, type:
+ **Here's what just happened (pretty cool stuff!):**
+ - Git just created a hidden `.git` folder in your project – you won't see it, but it's there!
+ - Your regular folder is now a "repository" that can track every change you make
+ - Think of it like giving your folder superpowers to remember everything
+
+4. **Check what's happening**. Let's see what Git thinks about your project right now:
```bash
git status
```
- The output might look like this:
+ **Understanding what Git is telling you:**
+
+ You might see something that looks like this:
```output
Changes not staged for commit:
(use "git add ..." to update what will be committed)
- (use "git checkout -- ..." to discard changes in working directory)
+ (use "git restore ..." to discard changes in working directory)
modified: file.txt
modified: file2.txt
```
- The `git status` command typically shows information like which files are ready to be saved to the repository or have changes you might want to preserve.
+ **Don't panic! Here's what this means:**
+ - Files in **red** are files that have changes but aren't ready to be saved yet
+ - Files in **green** (when you see them) are ready to be saved
+ - Git is being helpful by telling you exactly what you can do next
-1. **Add all files for tracking**
- This is also known as staging files or adding files to the staging area.
+ > 💡 **Pro tip**: The `git status` command is your best friend! Use it anytime you're confused about what's going on. It's like asking Git "Hey, what's the situation right now?"
+
+5. **Get your files ready to save** (this is called "staging"):
```bash
git add .
```
- The `git add` command with the `.` argument stages all your files and changes for tracking.
+ **What we just did:**
+ - We told Git "Hey, I want to include ALL my files in the next save"
+ - The `.` is like saying "everything in this folder"
+ - Now your files are "staged" and ready for the next step
-1. **Add selected files for tracking**
+ **Want to be more selective?** You can add just specific files:
```bash
git add [file or folder name]
```
- This allows you to stage only specific files when you don't want to commit everything at once.
+ **Why might you want to do this?**
+ - Sometimes you want to save related changes together
+ - It helps you organize your work into logical chunks
+ - Makes it easier to understand what changed and when
-1. **Unstage all files**
+ **Changed your mind?** No worries! You can unstage files like this:
```bash
+ # Unstage everything
git reset
+
+ # Unstage just one file
+ git reset [file name]
```
- This command unstages all files at once.
+ Don't worry – this doesn't delete your work, it just takes files out of the "ready to save" pile.
-1. **Unstage a specific file**
-
- ```bash
- git reset [file or folder name]
- ```
-
- This command unstages only a particular file that you don't want to include in the next commit.
-
-1. **Save your work**. At this point, you've added files to the staging area, where Git tracks your files. To make the changes permanent, you need to commit the files. A commit represents a save point in your repository's history. Type the following to create a commit:
+6. **Save your work permanently** (making your first commit!):
```bash
git commit -m "first commit"
```
- This commits all your files with the message "first commit." For future commit messages, aim to be more descriptive to convey the type of change you've made.
+ **🎉 Congratulations! You just made your first commit!**
+
+ **Here's what just happened:**
+ - Git took a "snapshot" of all your staged files at this exact moment
+ - Your commit message "first commit" explains what this save point is about
+ - Git gave this snapshot a unique ID so you can always find it later
+ - You've officially started tracking your project's history!
-1. **Connect your local Git repository to GitHub**. While a Git repository is useful on your computer, you'll eventually want to back up your files and collaborate with others. GitHub is a great platform for this. Since we've already created a repository on GitHub, we just need to connect it to our local Git repository. Use the `git remote add` command. Type:
+ > 💡 **Future commit messages**: For your next commits, be more descriptive! Instead of "updated stuff", try "Add contact form to homepage" or "Fix navigation menu bug". Your future self will thank you!
- > Before typing the command, go to your GitHub repository page to find the repository URL. Replace ```https://github.com/username/repository_name.git``` with your GitHub URL.
+7. **Connect your local project to GitHub**. Right now, your project exists only on your computer. Let's connect it to your GitHub repository so you can share it with the world!
+
+ First, go to your GitHub repository page and copy the URL. Then come back here and type:
```bash
git remote add origin https://github.com/username/repository_name.git
```
+
+ (Replace that URL with your actual repository URL!)
- This creates a remote connection named "origin" pointing to the GitHub repository you created earlier.
+ **What we just did:**
+ - We created a connection between your local project and your GitHub repository
+ - "Origin" is just a nickname for your GitHub repository – it's like adding a contact to your phone
+ - Now your local Git knows where to send your code when you're ready to share it
-1. **Push local files to GitHub**. Now that you've established a connection between your local repository and the GitHub repository, send your files to GitHub using the `git push` command:
+ 💡 **Easier way**: If you have GitHub CLI installed, you can do this in one command:
+ ```bash
+ gh repo create my-repo --public --push --source=.
+ ```
- > Note: Your branch name might differ from ```main```.
+8. **Send your code to GitHub** (the big moment!):
```bash
git push -u origin main
```
- This pushes your commits from the "main" branch to GitHub. Including `-u` in the command sets the upstream branch, allowing you to use `git push` or `git pull` without specifying the branch name in future commands.
+ **🚀 This is it! You're uploading your code to GitHub!**
+
+ **What's happening:**
+ - Your commits are traveling from your computer to GitHub
+ - The `-u` flag sets up a permanent connection so future pushes are easier
+ - "main" is the name of your primary branch (like the main folder)
+ - After this, you can just type `git push` for future uploads!
+
+ 💡 **Quick note**: If your branch is called something else (like "master"), use that name instead. You can check with `git branch --show-current`.
+
+9. **Your new daily coding rhythm** (this is where it gets addictive!):
-2. **Add more changes**. To continue making changes and pushing them to GitHub, use the following three commands:
+ From now on, whenever you make changes to your project, you've got this simple three-step dance:
```bash
git add .
- git commit -m "type your commit message here"
+ git commit -m "describe what you changed"
git push
```
- > Tip: Consider adopting a `.gitignore` file to exclude files you don't want to track, such as personal notes stored in the same folder. You can find templates for `.gitignore` files at [.gitignore templates](https://github.com/github/gitignore).
+ **This becomes your coding heartbeat:**
+ - Make some awesome changes to your code ✨
+ - Stage them with `git add` ("Hey Git, pay attention to these changes!")
+ - Save them with `git commit` and a descriptive message (future you will thank you!)
+ - Share them with the world using `git push` 🚀
+ - Rinse and repeat – seriously, this becomes as natural as breathing!
+
+ I love this workflow because it's like having multiple save points in a video game. Made a change you love? Commit it! Want to try something risky? No problem – you can always go back to your last commit if things go sideways!
+
+ > 💡 **Tip**: You might also want to adopt a `.gitignore` file to prevent files you don't want to track from showing up on GitHub - like that notes file you store in the same folder but has no place on a public repository. You can find templates for `.gitignore` files at [.gitignore templates](https://github.com/github/gitignore) or create one using [gitignore.io](https://www.toptal.com/developers/gitignore).
+
+### 🧠 **First Repository Check-in: How Did That Feel?**
+
+**Take a moment to celebrate and reflect:**
+- How did it feel to see your code appear on GitHub for the first time?
+- Which step felt the most confusing, and which felt surprisingly easy?
+- Can you explain the difference between `git add`, `git commit`, and `git push` in your own words?
+
+```mermaid
+stateDiagram-v2
+ [*] --> LocalFiles: Create project
+ LocalFiles --> Staged: git add .
+ Staged --> Committed: git commit
+ Committed --> GitHub: git push
+ GitHub --> [*]: Success! 🎉
+
+ note right of Staged
+ Files ready to save
+ end note
+
+ note right of Committed
+ Snapshot created
+ end note
+```
+> **Remember**: Even experienced developers sometimes forget the exact commands. Having this workflow become muscle memory takes practice - you're doing great!
+
+#### Modern Git workflows
+
+Consider adopting these modern practices:
+
+- **Conventional Commits**: Use a standardized commit message format like `feat:`, `fix:`, `docs:`, etc. Learn more at [conventionalcommits.org](https://www.conventionalcommits.org/)
+- **Atomic commits**: Make each commit represent a single logical change
+- **Frequent commits**: Commit often with descriptive messages rather than large, infrequent commits
-#### Commit Messages
+#### Commit messages
-A great Git commit subject line completes the sentence:
-"If applied, this commit will ."
+A great Git commit subject line completes the following sentence:
+If applied, this commit will
-For the subject, use the imperative, present tense: "change" instead of "changed" or "changes."
-Similarly, in the optional body, use the imperative, present tense. The body should explain the motivation for the change and contrast it with previous behavior. Focus on the `why`, not the `how`.
+For the subject use the imperative, present tense: "change" not "changed" nor "changes".
+As in the subject, in the body (optional) also use the imperative, present tense. The body should include the motivation for the change and contrast this with previous behavior. You're explaining the `why`, not the `how`.
-✅ Spend a few minutes exploring GitHub. Can you find an excellent commit message? How about a very minimal one? What information do you think is most important to include in a commit message?
+✅ Take a few minutes to surf around GitHub. Can you find a really great commit message? Can you find a really minimal one? What information do you think is the most important and useful to convey in a commit message?
-### Task: Collaborate
+## Working with Others (The Fun Part!)
-The primary reason for uploading projects to GitHub is to enable collaboration with other developers.
+Hold onto your hat because THIS is where GitHub becomes absolutely magical! 🪄 You've mastered managing your own code, but now we're diving into my absolute favorite part – collaborating with amazing people from all over the world.
-## Working on Projects with Others
+Picture this: you wake up tomorrow and see that someone in Tokyo improved your code while you were sleeping. Then someone in Berlin fixes a bug you've been stuck on. By afternoon, a developer in São Paulo has added a feature you never even thought of. That's not science fiction – that's just Tuesday in the GitHub universe!
-> Watch the video
+What gets me really excited is that the collaboration skills you're about to learn? These are the EXACT same workflows that teams at Google, Microsoft, and your favorite startups use every single day. You're not just learning a cool tool – you're learning the secret language that makes the entire software world work together.
+
+Seriously, once you experience the rush of having someone merge your first pull request, you'll understand why developers get so passionate about open source. It's like being part of the world's biggest, most creative team project!
+
+> Check out video
>
> [](https://www.youtube.com/watch?v=bFCM-PC3cu8)
-In your repository, navigate to `Insights > Community` to see how your project aligns with recommended community standards.
+The main reason for putting things on GitHub was to make it possible to collaborate with other developers.
+
+```mermaid
+flowchart LR
+ A[🔍 Find Project] --> B[🍴 Fork Repository]
+ B --> C[📥 Clone to Local]
+ C --> D[🌿 Create Branch]
+ D --> E[✏️ Make Changes]
+ E --> F[💾 Commit Changes]
+ F --> G[📤 Push Branch]
+ G --> H[🔄 Create Pull Request]
+ H --> I{Maintainer Review}
+ I -->|✅ Approved| J[🎉 Merge!]
+ I -->|❓ Changes Requested| K[📝 Make Updates]
+ K --> F
+ J --> L[🧹 Clean Up Branches]
+
+ style A fill:#e3f2fd
+ style J fill:#e8f5e8
+ style L fill:#fff3e0
+```
+In your repository, navigate to `Insights > Community` to see how your project compares to recommended community standards.
+
+Want to make your repository look professional and welcoming? Head over to your repository and click on `Insights > Community`. This cool feature shows you how your project compares to what the GitHub community considers "good repository practices."
+
+> 🎯 **Making Your Project Shine**: A well-organized repository with good documentation is like having a clean, welcoming storefront. It tells people you care about your work and makes others want to contribute!
+
+**Here's what makes a repository awesome:**
+
+| What to Add | Why It's Important | What It Does for You |
+|-------------|-------------------|---------------------|
+| **Description** | First impression matters! | People know instantly what your project does |
+| **README** | Your project's front page | Like a friendly tour guide for new visitors |
+| **Contributing Guidelines** | Shows you welcome help | People know exactly how they can help you |
+| **Code of Conduct** | Creates a friendly space | Everyone feels welcome to participate |
+| **License** | Legal clarity | Others know how they can use your code |
+| **Security Policy** | Shows you're responsible | Demonstrates professional practices |
+
+> 💡 **Pro Tip**: GitHub provides templates for all of these files. When creating a new repository, check the boxes to automatically generate these files.
+
+**Modern GitHub Features to Explore:**
+
+🤖 **Automation & CI/CD:**
+- **GitHub Actions** for automated testing and deployment
+- **Dependabot** for automatic dependency updates
+
+💬 **Community & Project Management:**
+- **GitHub Discussions** for community conversations beyond issues
+- **GitHub Projects** for kanban-style project management
+- **Branch protection rules** to enforce code quality standards
-Here are some ways to improve your GitHub repository:
-- **Description**: Have you added a description for your project?
-- **README**: Have you included a README? GitHub offers guidance for writing a [README](https://docs.github.com/articles/about-readmes/?WT.mc_id=academic-77807-sagibbon).
-- **Contributing Guidelines**: Does your project have [contributing guidelines](https://docs.github.com/articles/setting-guidelines-for-repository-contributors/?WT.mc_id=academic-77807-sagibbon)?
-- **Code of Conduct**: Have you added a [Code of Conduct](https://docs.github.com/articles/adding-a-code-of-conduct-to-your-project/)?
-- **License**: Perhaps most importantly, have you added a [license](https://docs.github.com/articles/adding-a-license-to-a-repository/)?
-These resources help onboard new team members. They're often the first things new contributors review before even looking at your code to determine if your project is worth their time.
+All these resources will benefit onboarding new team members. And those are typically the kind of things new contributors look at before even looking at your code, to find out if your project is the right place for them to be spending their time.
-✅ README files, while time-consuming to prepare, are often overlooked by busy maintainers. Can you find an example of a particularly detailed README? Note: There are [tools to help create good READMEs](https://www.makeareadme.com/) that you might want to try.
+✅ README files, although they take time to prepare, are often neglected by busy maintainers. Can you find an example of a particularly descriptive one? Note: there are some [tools to help create good READMEs](https://www.makeareadme.com/) that you might like to try.
-### Task: Merge Code
+### Task: Merge some code
-Contributing documentation helps people contribute to your project. It explains the types of contributions you're looking for and outlines the process. Contributors will need to follow several steps to contribute to your GitHub repository:
+Contributing docs help people contribute to the project. It explains what types of contributions you're looking for and how the process works. Contributors will need to go through a series of steps to be able to contribute to your repo on GitHub:
-1. **Fork your repository**: Contributors will likely need to _fork_ your project, creating a copy of your repository on their GitHub profile.
-1. **Clone**: From there, they will clone the project to their local machine.
-1. **Create a branch**: Ask contributors to create a _branch_ for their work.
-1. **Focus on one area**: Encourage contributors to focus their changes on one specific area at a time. This increases the likelihood of successfully merging their work. For example, if they fix a bug, add a new feature, and update tests, you might only want to implement 1 or 2 of those changes.
-✅ Think of situations where branches are particularly important for writing and shipping good code. What use cases come to mind?
+1. **Forking your repo** You will probably want people to _fork_ your project. Forking means creating a replica of your repository on their GitHub profile.
+1. **Clone**. From there they will clone the project to their local machine.
+1. **Create a branch**. You will want to ask them to create a _branch_ for their work.
+1. **Focus their change on one area**. Ask contributors to concentrate their contributions on one thing at a time - that way the chances that you can _merge_ in their work is higher. Imagine they write a bug fix, add a new feature, and update several tests - what if you want to, or can only implement 2 out of 3, or 1 out of 3 changes?
-> Note: Be the change you want to see in the world—create branches for your own work too. Any commits you make will apply to the branch you're currently "checked out" to. Use `git status` to see which branch you're on.
+✅ Imagine a situation where branches are particularly critical to writing and shipping good code. What use cases can you think of?
-Let's walk through a contributor workflow. Assume the contributor has already _forked_ and _cloned_ the repository, so they have a Git repository ready to work on locally:
+> Note, be the change you want to see in the world, and create branches for your own work as well. Any commits you make will be made on the branch you’re currently “checked out” to. Use `git status` to see which branch that is.
-1. **Create a branch**: Use the `git branch` command to create a branch for the changes they plan to contribute:
+Let's go through a contributor workflow. Assume the contributor has already _forked_ and _cloned_ the repo so they have a Git repo ready to be worked on, on their local machine:
+
+1. **Create a branch**. Use the command `git branch` to create a branch that will contain the changes they mean to contribute:
```bash
git branch [branch-name]
```
-1. **Switch to the working branch**: Switch to the specified branch and update the working directory using `git switch`:
+ > 💡 **Modern Approach**: You can also create and switch to the new branch in one command:
+ ```bash
+ git switch -c [branch-name]
+ ```
+
+1. **Switch to working branch**. Switch to the specified branch and update the working directory with `git switch`:
```bash
git switch [branch-name]
```
-1. **Make changes**: Add your changes and inform Git using the following commands:
+ > 💡 **Modern Note**: `git switch` is the modern replacement for `git checkout` when changing branches. It's clearer and safer for beginners.
+
+1. **Do work**. At this point you want to add your changes. Don't forget to tell Git about it with the following commands:
```bash
git add .
git commit -m "my changes"
```
- Ensure your commit message is clear and descriptive for both yourself and the repository maintainer.
+ > ⚠️ **Commit Message Quality**: Ensure you give your commit a good name, both for your sake and the maintainer of the repo you are helping on. Be specific about what you changed!
-1. **Merge your work with the `main` branch**: Once you're done working, you'll want to merge your changes with the `main` branch. Since the `main` branch might have changed in the meantime, update it first using the following commands:
+1. **Combine your work with the `main` branch**. At some point you are done working and you want to combine your work with that of the `main` branch. The `main` branch might have changed meanwhile so make sure you first update it to the latest with the following commands:
```bash
git switch main
git pull
```
- To ensure any conflicts (situations where Git can't automatically merge changes) occur in your working branch, run the following commands:
+ At this point you want to make sure that any _conflicts_, situations where Git can't easily _combine_ the changes happens in your working branch. Therefore run the following commands:
```bash
git switch [branch_name]
git merge main
```
- The `git merge main` command incorporates all changes from `main` into your branch. Ideally, you can proceed without issues. If conflicts arise, VS Code will highlight where Git is "confused," allowing you to resolve the affected files.
+ The `git merge main` command will bring in all changes from `main` into your branch. Hopefully you can just continue. If not, VS Code will tell you where Git is _confused_ and you just alter the affected files to say which content is the most accurate.
- To switch to a different branch, use the modern `git switch` command:
+ 💡 **Modern alternative**: Consider using `git rebase` for a cleaner history:
```bash
- git switch [branch_name]
-
+ git rebase main
+ ```
+ This replays your commits on top of the latest main branch, creating a linear history.
-1. **Push your work to GitHub**: Sending your work to GitHub involves two steps: pushing your branch to your repository and opening a Pull Request (PR).
+1. **Send your work to GitHub**. Sending your work to GitHub means two things. Pushing your branch to your repo and then open up a PR, Pull Request.
```bash
git push --set-upstream origin [branch-name]
```
- The above command creates the branch on your forked repository.
-1. **Open a PR**. Next, you’ll want to open a PR. To do this, navigate to the forked repository on GitHub. GitHub will show an option asking if you want to create a new PR. Click on it, and you’ll be taken to an interface where you can edit the commit message title and provide a more suitable description. Now, the maintainer of the repository you forked will see this PR and, _fingers crossed_, they’ll appreciate it and _merge_ your PR. Congratulations, you’re now a contributor, yay! :)
+ The above command creates the branch on your forked repo.
+
+### 🤝 **Collaboration Skills Check: Ready to Work with Others?**
+
+**Let's see how you're feeling about collaboration:**
+- Does the idea of forking and pull requests make sense to you now?
+- What's one thing about working with branches that you want to practice more?
+- How comfortable do you feel about contributing to someone else's project?
+
+```mermaid
+mindmap
+ root((Git Collaboration))
+ Branching
+ Feature branches
+ Bug fix branches
+ Experimental work
+ Pull Requests
+ Code review
+ Discussion
+ Testing
+ Best Practices
+ Clear commit messages
+ Small focused changes
+ Good documentation
+```
+> **Confidence booster**: Every single developer you admire was once nervous about their first pull request. The GitHub community is incredibly welcoming to newcomers!
+
+1. **Open a PR**. Next, you want to open up a PR. You do that by navigating to the forked repo on GitHub. You will see an indication on GitHub where it asks whether you want to create a new PR, you click that and you are taken to an interface where you can change commit message title, give it a more suitable description. Now the maintainer of the repo you forked will see this PR and _fingers crossed_ they will appreciate and _merge_ your PR. You are now a contributor, yay :)
+
+ 💡 **Modern tip**: You can also create PRs using GitHub CLI:
+ ```bash
+ gh pr create --title "Your PR title" --body "Description of changes"
+ ```
+
+ 🔧 **Best practices for PRs**:
+ - Link to related issues using keywords like "Fixes #123"
+ - Add screenshots for UI changes
+ - Request specific reviewers
+ - Use draft PRs for work-in-progress
+ - Ensure all CI checks pass before requesting review
-1. **Clean up**. It’s considered good practice to _clean up_ after successfully merging a PR. You should clean up both your local branch and the branch you pushed to GitHub. First, delete it locally using the following command:
+1. **Clean up**. It's considered good practice to _clean up_ after you successfully merge a PR. You want to clean up both your local branch and the branch you pushed to GitHub. First let's delete it locally with the following command:
```bash
git branch -d [branch-name]
```
- Next, go to the GitHub page for the forked repository and remove the remote branch you just pushed.
+ Ensure you go the GitHub page for the forked repo next and remove the remote branch you just pushed to it.
-The term `Pull request` might sound a bit odd because you’re essentially pushing your changes to the project. However, the maintainer (project owner) or core team needs to review your changes before merging them into the project’s "main" branch. So, in reality, you’re requesting a decision from the maintainer to accept your changes.
+`Pull request` seems like a silly term because really you want to push your changes to the project. But the maintainer (project owner) or core team needs to consider your changes before merging it with the project's "main" branch, so you're really requesting a change decision from a maintainer.
-A pull request is a space where you can compare and discuss the differences introduced in a branch, with reviews, comments, integrated tests, and more. A good pull request follows similar rules to a commit message. You can also reference an issue in the issue tracker, especially if your work fixes a specific issue. To do this, use a `#` followed by the issue number, for example, `#97`.
+A pull request is the place to compare and discuss the differences introduced on a branch with reviews, comments, integrated tests, and more. A good pull request follows roughly the same rules as a commit message. You can add a reference to an issue in the issue tracker, when your work for instance fixes an issue. This is done using a `#` followed by the number of your issue. For example `#97`.
-🤞Fingers crossed that all checks pass and the project owner(s) merge your changes into the project 🤞
+🤞Fingers crossed that all checks pass and the project owner(s) merge your changes into the project🤞
Update your current local working branch with all new commits from the corresponding remote branch on GitHub:
`git pull`
-## How to contribute to open source
+## Contributing to Open Source (Your Chance to Make an Impact!)
-First, find a repository (or **repo**) on GitHub that interests you and to which you’d like to contribute. You’ll need to copy its contents to your machine.
+Are you ready for something that's going to absolutely blow your mind? 🤯 Let's talk about contributing to open source projects – and I'm getting goosebumps just thinking about sharing this with you!
-✅ A great way to find 'beginner-friendly' repositories is to [search by the tag 'good-first-issue'](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/).
+This is your chance to become part of something truly extraordinary. Imagine improving the tools that millions of developers use every day, or fixing a bug in an app that your friends love. That's not just a dream – that's what open source contribution is all about!
-
+Here's what gives me chills every time I think about it: every single tool you've been learning with – your code editor, the frameworks we'll explore, even the browser you're reading this in – started with someone exactly like you making their very first contribution. That brilliant developer who built your favorite VS Code extension? They were once a beginner clicking "create pull request" with shaky hands, just like you're about to do.
-There are several ways to copy code. One way is to "clone" the repository’s contents using HTTPS, SSH, or the GitHub CLI (Command Line Interface).
+And here's the most beautiful part: the open source community is like the internet's biggest group hug. Most projects actively look for newcomers and have issues tagged "good first issue" specifically for people like you! Maintainers genuinely get excited when they see new contributors because they remember their own first steps.
-Open your terminal and clone the repository like this:
-`git clone https://github.com/ProjectURL`
+```mermaid
+flowchart TD
+ A[🔍 Explore GitHub] --> B[🏷️ Find "good first issue"]
+ B --> C[📖 Read Contributing Guidelines]
+ C --> D[🍴 Fork Repository]
+ D --> E[💻 Set Up Local Environment]
+ E --> F[🌿 Create Feature Branch]
+ F --> G[✨ Make Your Contribution]
+ G --> H[🧪 Test Your Changes]
+ H --> I[📝 Write Clear Commit]
+ I --> J[📤 Push & Create PR]
+ J --> K[💬 Engage with Feedback]
+ K --> L[🎉 Merged! You're a Contributor!]
+ L --> M[🌟 Find Next Issue]
+
+ style A fill:#e1f5fe
+ style L fill:#c8e6c9
+ style M fill:#fff59d
+```
+You're not just learning to code here – you're preparing to join a global family of builders who wake up every day thinking "How can we make the digital world a little bit better?" Welcome to the club! 🌟
-To start working on the project, navigate to the correct folder:
+First, let's find a repository (or **repo**) on GitHub of interest to you and to which you'd like to contribute a change. You will want to copy its contents to your machine.
+
+✅ A good way to find 'beginner-friendly' repos is to [search by the tag 'good-first-issue'](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/).
+
+
+
+There are several ways of copying code. One way is to "clone" the contents of the repository, using HTTPS, SSH, or using the GitHub CLI (Command Line Interface).
+
+Open your terminal and clone the repository like so:
+```bash
+# Using HTTPS
+git clone https://github.com/ProjectURL
+
+# Using SSH (requires SSH key setup)
+git clone git@github.com:username/repository.git
+
+# Using GitHub CLI
+gh repo clone username/repository
+```
+
+To work on the project, switch to the right folder:
`cd ProjectURL`
-You can also open the entire project using [Codespaces](https://github.com/features/codespaces), GitHub’s built-in code editor/cloud development environment, or [GitHub Desktop](https://desktop.github.com/).
+You can also open the entire project using:
+- **[GitHub Codespaces](https://github.com/features/codespaces)** - GitHub's cloud development environment with VS Code in the browser
+- **[GitHub Desktop](https://desktop.github.com/)** - A GUI application for Git operations
+- **[GitHub.dev](https://github.dev)** - Press the `.` key on any GitHub repo to open VS Code in the browser
+- **VS Code** with the GitHub Pull Requests extension
-Alternatively, you can download the code as a zipped folder.
+Lastly, you can download the code in a zipped folder.
### A few more interesting things about GitHub
-You can star, watch, and/or "fork" any public repository on GitHub. Your starred repositories can be found in the drop-down menu at the top-right corner. It’s like bookmarking, but for code.
+You can star, watch and/or "fork" any public repository on GitHub. You can find your starred repositories in the top-right drop-down menu. It's like bookmarking, but for code.
+
+Projects have an issue tracker, mostly on GitHub in the "Issues" tab unless indicated otherwise, where people discuss issues related to the project. And the Pull Requests tab is where people discuss and review changes that are in progress.
-Projects typically have an issue tracker, usually found in the "Issues" tab on GitHub unless stated otherwise. This is where people discuss project-related issues. The Pull Requests tab is where people discuss and review ongoing changes.
+Projects might also have discussion in forums, mailing lists, or chat channels like Slack, Discord or IRC.
-Projects may also have discussions in forums, mailing lists, or chat channels like Slack, Discord, or IRC.
+🔧 **Modern GitHub features**:
+- **GitHub Discussions** - Built-in forum for community conversations
+- **GitHub Sponsors** - Support maintainers financially
+- **Security tab** - Vulnerability reports and security advisories
+- **Actions tab** - See automated workflows and CI/CD pipelines
+- **Insights tab** - Analytics about contributors, commits, and project health
+- **Projects tab** - GitHub's built-in project management tools
-✅ Explore your new GitHub repository and try out a few features, like editing settings, adding information to your repo, and creating a project (like a Kanban board). There’s a lot to discover!
+✅ Take a look around your new GitHub repo and try a few things, like editing settings, adding information to your repo, creating a project (like a Kanban board), and setting up GitHub Actions for automation. There's a lot you can do!
---
## 🚀 Challenge
-Pair up with a friend to work on each other’s code. Collaboratively create a project, fork code, create branches, and merge changes.
+Alright, it's time to put your shiny new GitHub superpowers to the test! 🚀 Here's a challenge that's going to make everything click in the most satisfying way:
+
+Grab a friend (or that family member who's always asking what you're up to with all this "computer stuff") and embark on a collaborative coding adventure together! This is where the real magic happens – create a project, let them fork it, make some branches, and merge changes like the pros you're becoming.
+
+I'm not gonna lie – you'll probably laugh at some point (especially when you both try to change the same line), maybe scratch your heads in confusion, but you'll definitely have those amazing "aha!" moments that make all the learning worth it. Plus, there's something special about sharing that first successful merge with someone else – it's like a tiny celebration of how far you've come!
+
+Don't have a coding buddy yet? No worries at all! The GitHub community is packed with incredibly welcoming people who remember what it was like to be new. Look for repositories with "good first issue" labels – they're basically saying "Hey beginners, come learn with us!" How awesome is that?
## Post-Lecture Quiz
[Post-lecture quiz](https://ff-quizzes.netlify.app/web/en/)
-## Review & Self Study
+## Review & Keep Learning
-Read more about [contributing to open source software](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution).
+Whew! 🎉 Look at you – you've just conquered GitHub basics like an absolute champion! If your brain feels a little full right now, that's completely normal and honestly a good sign. You've just learned tools that took me weeks to feel comfortable with when I started.
-[Git cheatsheet](https://training.github.com/downloads/github-git-cheat-sheet/).
+Git and GitHub are incredibly powerful (like, seriously powerful), and every developer I know – including the ones who seem like wizards now – had to practice and stumble around a bit before it all clicked. The fact that you've made it through this lesson means you're already on your way to mastering some of the most important tools in a developer's toolkit.
-Practice, practice, practice. GitHub offers excellent learning paths via [skills.github.com](https://skills.github.com):
+Here are some absolutely fantastic resources to help you practice and become even more awesome:
-- [First Week on GitHub](https://skills.github.com/#first-week-on-github)
+- [Contributing to open source software guide](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) – Your roadmap to making a difference
+- [Git cheatsheet](https://training.github.com/downloads/github-git-cheat-sheet/) – Keep this handy for quick reference!
-You’ll also find more advanced courses.
+And remember: practice makes progress, not perfection! The more you use Git and GitHub, the more natural it becomes. GitHub has created some amazing interactive courses that let you practice in a safe environment:
+
+- [Introduction to GitHub](https://github.com/skills/introduction-to-github)
+- [Communicate using Markdown](https://github.com/skills/communicate-using-markdown)
+- [GitHub Pages](https://github.com/skills/github-pages)
+- [Managing merge conflicts](https://github.com/skills/resolve-merge-conflicts)
+
+**Feeling adventurous? Check out these modern tools:**
+- [GitHub CLI documentation](https://cli.github.com/manual/) – For when you want to feel like a command-line wizard
+- [GitHub Codespaces documentation](https://docs.github.com/en/codespaces) – Code in the cloud!
+- [GitHub Actions documentation](https://docs.github.com/en/actions) – Automate all the things
+- [Git best practices](https://www.atlassian.com/git/tutorials/comparing-workflows) – Level up your workflow game
+
+## GitHub Copilot Agent Challenge 🚀
+
+Use the Agent mode to complete the following challenge:
+
+**Description:** Create a collaborative web development project that demonstrates the complete GitHub workflow you've learned in this lesson. This challenge will help you practice repository creation, collaboration features, and modern Git workflows in a real-world scenario.
+
+**Prompt:** Create a new public GitHub repository for a simple "Web Development Resources" project. The repository should include a well-structured README.md file listing useful web development tools and resources, organized by categories (HTML, CSS, JavaScript, etc.). Set up the repository with proper community standards including a license, contributing guidelines, and a code of conduct. Create at least two feature branches: one for adding CSS resources and another for JavaScript resources. Make commits to each branch with descriptive commit messages, then create pull requests to merge the changes back to main. Enable GitHub features like Issues, Discussions, and set up a basic GitHub Actions workflow for automated checks.
## Assignment
-Complete [the First Week on GitHub course](https://skills.github.com/#first-week-on-github)
+Your mission, should you choose to accept it: Complete the [Introduction to GitHub](https://github.com/skills/introduction-to-github) course on GitHub Skills. This interactive course will let you practice everything you've learned in a safe, guided environment. Plus, you'll get a cool badge when you finish! 🏅
+
+**Feeling ready for more challenges?**
+- Set up SSH authentication for your GitHub account (no more passwords!)
+- Try using GitHub CLI for your daily Git operations
+- Create a repository with a GitHub Actions workflow
+- Explore GitHub Codespaces by opening this very repository in a cloud-based editor
+
+---
+
+## 🚀 Your GitHub Mastery Timeline
+
+### ⚡ **What You Can Do in the Next 5 Minutes**
+- [ ] Star this repository and 3 other projects that interest you
+- [ ] Set up two-factor authentication on your GitHub account
+- [ ] Create a simple README for your first repository
+- [ ] Follow 5 developers whose work inspires you
+
+### 🎯 **What You Can Accomplish This Hour**
+- [ ] Complete the post-lesson quiz and reflect on your GitHub journey
+- [ ] Set up SSH keys for password-free GitHub authentication
+- [ ] Create your first meaningful commit with a great commit message
+- [ ] Explore GitHub's "Explore" tab to discover trending projects
+- [ ] Practice forking a repository and making a small change
+
+### 📅 **Your Week-Long GitHub Adventure**
+- [ ] Complete the GitHub Skills courses (Introduction to GitHub, Markdown)
+- [ ] Make your first pull request to an open source project
+- [ ] Set up a GitHub Pages site to showcase your work
+- [ ] Join GitHub Discussions on projects you're interested in
+- [ ] Create a repository with proper community standards (README, License, etc.)
+- [ ] Try GitHub Codespaces for cloud-based development
+
+### 🌟 **Your Month-Long Transformation**
+- [ ] Contribute to 3 different open source projects
+- [ ] Mentor someone new to GitHub (pay it forward!)
+- [ ] Set up automated workflows with GitHub Actions
+- [ ] Build a portfolio showcasing your GitHub contributions
+- [ ] Participate in Hacktoberfest or similar community events
+- [ ] Become a maintainer of your own project that others contribute to
+
+### 🎓 **Final GitHub Mastery Check-in**
+
+**Celebrate how far you've come:**
+- What's your favorite thing about using GitHub?
+- Which collaboration feature excites you most?
+- How confident do you feel about contributing to open source now?
+- What's the first project you want to contribute to?
+
+```mermaid
+journey
+ title Your GitHub Confidence Journey
+ section Today
+ Nervous: 3: You
+ Curious: 4: You
+ Excited: 5: You
+ section This Week
+ Practicing: 4: You
+ Contributing: 5: You
+ Connecting: 5: You
+ section Next Month
+ Collaborating: 5: You
+ Leading: 5: You
+ Inspiring Others: 5: You
+```
+> 🌍 **Welcome to the global developer community!** You now have the tools to collaborate with millions of developers worldwide. Your first contribution might seem small, but remember - every major open source project started with someone making their very first commit. The question isn't if you'll make an impact, but what amazing project will benefit from your unique perspective first! 🚀
+
+Remember: every expert was once a beginner. You've got this! 💪
---
-**Disclaimer**:
-This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we aim for accuracy, please note that automated translations may contain errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is recommended. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation.
\ No newline at end of file
+
+**Disclaimer**:
+This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.
+
\ No newline at end of file
diff --git a/translations/en/1-getting-started-lessons/3-accessibility/README.md b/translations/en/1-getting-started-lessons/3-accessibility/README.md
index bcbb26336..47cea7dae 100644
--- a/translations/en/1-getting-started-lessons/3-accessibility/README.md
+++ b/translations/en/1-getting-started-lessons/3-accessibility/README.md
@@ -1,17 +1,24 @@
-
# Creating Accessible Webpages
-
+
> Sketchnote by [Tomomi Imura](https://twitter.com/girlie_mac)
+```mermaid
+journey
+ title Your Accessibility Learning Adventure
+ section Foundation
+ Understanding Users: 5: You
+ Testing Tools: 4: You
+ POUR Principles: 5: You
+ section Build Skills
+ Semantic HTML: 4: You
+ Visual Design: 5: You
+ ARIA Techniques: 4: You
+ section Master Practice
+ Keyboard Navigation: 5: You
+ Form Accessibility: 4: You
+ Real-world Testing: 5: You
+```
## Pre-Lecture Quiz
[Pre-lecture quiz](https://ff-quizzes.netlify.app/web/)
@@ -19,225 +26,1466 @@ CO_OP_TRANSLATOR_METADATA:
>
> \- Sir Timothy Berners-Lee, W3C Director and inventor of the World Wide Web
-This quote perfectly captures the importance of building accessible websites. An application that excludes certain users is inherently discriminatory. As web developers, we should always prioritize accessibility. By focusing on it from the start, you'll be well on your way to ensuring that everyone can access the pages you create. In this lesson, you'll learn about tools that can help you ensure your web assets are accessible and how to design with accessibility in mind.
-
+Here's something that might surprise you: when you build accessible websites, you're not just helping people with disabilities—you're actually making the web better for everyone!
+
+Ever notice those curb cuts at street corners? They were originally designed for wheelchairs, but now they help people with strollers, delivery workers with dollies, travelers with rolling luggage, and cyclists too. That's exactly how accessible web design works—solutions that help one group often end up benefiting everyone. Pretty cool, right?
+
+In this lesson, we're going to explore how to create websites that truly work for everyone, no matter how they browse the web. You'll discover practical techniques that are already built into web standards, get hands-on with testing tools, and see how accessibility makes your sites more usable for all users.
+
+By the end of this lesson, you'll have the confidence to make accessibility a natural part of your development workflow. Ready to explore how thoughtful design choices can open up the web to billions of users? Let's dive in!
+
+```mermaid
+mindmap
+ root((Web Accessibility))
+ Users
+ Screen readers
+ Keyboard navigation
+ Voice control
+ Magnification
+ Technologies
+ HTML semantics
+ ARIA attributes
+ CSS focus indicators
+ Keyboard events
+ Benefits
+ Wider audience
+ Better SEO
+ Legal compliance
+ Universal design
+ Testing
+ Automated tools
+ Manual testing
+ User feedback
+ Real assistive tech
+```
> You can take this lesson on [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/accessibility/?WT.mc_id=academic-77807-sagibbon)!
-## Tools to use
+## Understanding Assistive Technologies
+
+Before we jump into coding, let's take a moment to understand how people with different abilities actually experience the web. This isn't just theory—understanding these real-world navigation patterns will make you a much better developer!
+
+Assistive technologies are pretty amazing tools that help people with disabilities interact with websites in ways that might surprise you. Once you get the hang of how these technologies work, creating accessible web experiences becomes way more intuitive. It's like learning to see your code through someone else's eyes.
### Screen readers
-Screen readers are among the most well-known accessibility tools.
+[Screen readers](https://en.wikipedia.org/wiki/Screen_reader) are pretty sophisticated pieces of technology that convert digital text into speech or braille output. While they're primarily used by people with visual impairments, they're also super helpful for users with learning disabilities like dyslexia.
+
+I like to think of a screen reader as having a really smart narrator reading a book to you. It reads content aloud in a logical order, announces interactive elements like "button" or "link," and provides keyboard shortcuts for jumping around a page. But here's the thing—screen readers can only work their magic if we build websites with proper structure and meaningful content. That's where you come in as a developer!
+
+**Popular screen readers across platforms:**
+- **Windows**: [NVDA](https://www.nvaccess.org/about-nvda/) (free and most popular), [JAWS](https://webaim.org/articles/jaws/), [Narrator](https://support.microsoft.com/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1/?WT.mc_id=academic-77807-sagibbon) (built-in)
+- **macOS/iOS**: [VoiceOver](https://support.apple.com/guide/voiceover/welcome/10) (built-in and very capable)
+- **Android**: [TalkBack](https://support.google.com/accessibility/android/answer/6283677) (built-in)
+- **Linux**: [Orca](https://wiki.gnome.org/Projects/Orca) (free and open-source)
+
+**How screen readers navigate web content:**
+
+Screen readers provide multiple navigation methods that make browsing efficient for experienced users:
+- **Sequential reading**: Reads content from top to bottom, like following a book
+- **Landmark navigation**: Jump between page sections (header, nav, main, footer)
+- **Heading navigation**: Skip between headings to understand page structure
+- **Link lists**: Generate a list of all links for quick access
+- **Form controls**: Navigate directly between input fields and buttons
+
+> 💡 **Here's something that blew my mind**: 68% of screen reader users navigate primarily by headings ([WebAIM Survey](https://webaim.org/projects/screenreadersurvey9/#finding)). This means your heading structure is like a roadmap for users—when you get it right, you're literally helping people find their way around your content faster!
+
+### Building your testing workflow
+
+Here's some good news—effective accessibility testing doesn't have to be overwhelming! You'll want to combine automated tools (they're fantastic at catching obvious issues) with some hands-on testing. Here's a systematic approach that I've found catches the most issues without eating up your entire day:
+
+**Essential manual testing workflow:**
+
+```mermaid
+flowchart TD
+ A[🚀 Start Testing] --> B{⌨️ Keyboard Navigation}
+ B --> C[Tab through all interactive elements]
+ C --> D{🎧 Screen Reader Testing}
+ D --> E[Test with NVDA/VoiceOver]
+ E --> F{🔍 Zoom Testing}
+ F --> G[Zoom to 200% and test functionality]
+ G --> H{🎨 Color/Contrast Check}
+ H --> I[Verify all text meets contrast ratios]
+ I --> J{👁️ Focus Management}
+ J --> K[Ensure focus indicators are visible]
+ K --> L[✅ Testing Complete]
+
+ style A fill:#e3f2fd
+ style L fill:#e8f5e8
+ style B fill:#fff3e0
+ style D fill:#f3e5f5
+ style F fill:#e0f2f1
+ style H fill:#fce4ec
+ style J fill:#e8eaf6
+```
+**Step-by-step testing checklist:**
+1. **Keyboard navigation**: Use only Tab, Shift+Tab, Enter, Space, and Arrow keys
+2. **Screen reader testing**: Enable NVDA, VoiceOver, or Narrator and navigate with eyes closed
+3. **Zoom testing**: Test at 200% and 400% zoom levels
+4. **Color contrast verification**: Check all text and UI components
+5. **Focus indicator testing**: Ensure all interactive elements have visible focus states
-[Screen readers](https://en.wikipedia.org/wiki/Screen_reader) are commonly used by individuals with vision impairments. Just as we ensure browsers display information correctly, we must also ensure screen readers convey the same information accurately.
+✅ **Start with Lighthouse**: Open your browser's DevTools, run a Lighthouse accessibility audit, then use the results to guide your manual testing focus areas.
-At their core, screen readers audibly read a page from top to bottom. If your page is entirely text, the reader will present the information similarly to a browser. However, web pages often include links, images, colors, and other visual elements. Care must be taken to ensure this information is conveyed correctly by a screen reader.
+### Zoom and magnification tools
-Every web developer should become familiar with screen readers. Just as you understand how browsers work, you should also learn how screen readers operate. Fortunately, most operating systems come with built-in screen readers.
+You know how you sometimes pinch to zoom on your phone when text is too small, or squint at your laptop screen in bright sunlight? Many users rely on magnification tools to make content readable every single day. This includes people with low vision, older adults, and anyone who's ever tried to read a website outdoors.
-Some browsers also include tools and extensions that can read text aloud or provide basic navigation features, such as [these accessibility-focused Edge browser tools](https://support.microsoft.com/help/4000734/microsoft-edge-accessibility-features). While useful, these tools function differently from screen readers and should not be used as substitutes for screen reader testing.
+Modern zoom technologies have evolved beyond just making things bigger. Understanding how these tools work will help you create responsive designs that remain functional and attractive at any magnification level.
-✅ Try a screen reader and browser text reader. On Windows, [Narrator](https://support.microsoft.com/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1/?WT.mc_id=academic-77807-sagibbon) is included by default, and [JAWS](https://webaim.org/articles/jaws/) and [NVDA](https://www.nvaccess.org/about-nvda/) can also be installed. On macOS and iOS, [VoiceOver](https://support.apple.com/guide/voiceover/welcome/10) is pre-installed.
+**Modern browser zoom capabilities:**
+- **Page zoom**: Scales all content proportionally (text, images, layout) - this is the preferred method
+- **Text-only zoom**: Increases font size while maintaining original layout
+- **Pinch-to-zoom**: Mobile gesture support for temporary magnification
+- **Browser support**: All modern browsers support zoom up to 500% without breaking functionality
-### Zoom
+**Specialized magnification software:**
+- **Windows**: [Magnifier](https://support.microsoft.com/windows/use-magnifier-to-make-things-on-the-screen-easier-to-see-414948ba-8b1c-d3bd-8615-0e5e32204198) (built-in), [ZoomText](https://www.freedomscientific.com/training/zoomtext/getting-started/)
+- **macOS/iOS**: [Zoom](https://www.apple.com/accessibility/mac/vision/) (built-in with advanced features)
-Zooming is another tool frequently used by individuals with vision impairments.
+> ⚠️ **Design Consideration**: WCAG requires that content remain functional when zoomed to 200%. At this level, horizontal scrolling should be minimal, and all interactive elements should remain accessible.
-The simplest form of zooming is static zoom, which can be controlled using `Control + plus sign (+)` or by lowering the screen resolution. This type of zoom enlarges the entire page, so using [responsive design](https://developer.mozilla.org/docs/Learn/CSS/CSS_layout/Responsive_Design) is essential to ensure a good user experience at higher zoom levels.
+✅ **Test your responsive design**: Zoom your browser to 200% and 400%. Does your layout adapt gracefully? Can you still access all functionality without excessive scrolling?
-Another type of zoom involves specialized software that magnifies specific areas of the screen and allows panning, similar to using a magnifying glass. On Windows, [Magnifier](https://support.microsoft.com/windows/use-magnifier-to-make-things-on-the-screen-easier-to-see-414948ba-8b1c-d3bd-8615-0e5e32204198) is built in, while [ZoomText](https://www.freedomscientific.com/training/zoomtext/getting-started/) is a third-party magnification tool with additional features and a larger user base. Both macOS and iOS include a built-in magnification tool called [Zoom](https://www.apple.com/accessibility/mac/vision/).
+## Modern Accessibility Testing Tools
-### Contrast checkers
+Now that you understand how people navigate the web with assistive technologies, let's explore the tools that help you build and test accessible websites.
-Colors on websites must be chosen carefully to accommodate users who are color-blind or have difficulty perceiving low-contrast colors.
+Think of it like this: automated tools are great at catching obvious issues (like missing alt text), while hands-on testing helps you ensure your site feels good to use in the real world. Together, they give you confidence that your sites work for everyone.
-✅ Test a website you enjoy using for its color choices with a browser extension like [WCAG's color checker](https://microsoftedge.microsoft.com/addons/detail/wcag-color-contrast-check/idahaggnlnekelhgplklhfpchbfdmkjp?hl=en-US&WT.mc_id=academic-77807-sagibbon). What do you learn?
+### Color contrast testing
-### Lighthouse
+Here's some good news: color contrast is one of the most common accessibility issues, but it's also one of the easiest to fix. Good contrast benefits everyone—from users with visual impairments to people trying to read their phones at the beach.
-Your browser's developer tools include the Lighthouse tool, which provides an initial analysis of a website's accessibility (along with other metrics). While you shouldn't rely solely on Lighthouse, achieving a 100% score is a helpful starting point.
+**WCAG contrast requirements:**
-✅ Open Lighthouse in your browser's developer tools and analyze any website. What do you discover?
+| Text Type | WCAG AA (Minimum) | WCAG AAA (Enhanced) |
+|-----------|-------------------|---------------------|
+| **Normal text** (under 18pt) | 4.5:1 contrast ratio | 7:1 contrast ratio |
+| **Large text** (18pt+ or 14pt+ bold) | 3:1 contrast ratio | 4.5:1 contrast ratio |
+| **UI components** (buttons, form borders) | 3:1 contrast ratio | 3:1 contrast ratio |
-## Designing for accessibility
+**Essential testing tools:**
+- [Colour Contrast Analyser](https://www.tpgi.com/color-contrast-checker/) - Desktop app with color picker
+- [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/) - Web-based with instant feedback
+- [Stark](https://www.getstark.co/) - Design tool plugin for Figma, Sketch, Adobe XD
+- [Accessible Colors](https://accessible-colors.com/) - Find accessible color palettes
-Accessibility is a broad topic, but there are many resources available to help you.
+✅ **Build better color palettes**: Start with your brand colors and use contrast checkers to create accessible variations. Document these as your design system's accessible color tokens.
-- [Accessible U - University of Minnesota](https://accessibility.umn.edu/your-role/web-developers)
+### Comprehensive accessibility auditing
-While we can't cover every aspect of creating accessible websites, the following are some core principles to implement. Designing an accessible page from the beginning is **always** easier than retrofitting an existing page.
+The most effective accessibility testing combines multiple approaches. No single tool catches everything, so building a testing routine with various methods ensures thorough coverage.
-## Good display principles
+**Browser-based testing (built into DevTools):**
+- **Chrome/Edge**: Lighthouse accessibility audit + Accessibility panel
+- **Firefox**: Accessibility Inspector with detailed tree view
+- **Safari**: Audit tab in Web Inspector with VoiceOver simulation
-### Color-safe palettes
+**Professional testing extensions:**
+- [axe DevTools](https://www.deque.com/axe/devtools/) - Industry-standard automated testing
+- [WAVE](https://wave.webaim.org/extension/) - Visual feedback with error highlighting
+- [Accessibility Insights](https://accessibilityinsights.io/) - Microsoft's comprehensive testing suite
-People perceive colors differently. When choosing a color scheme for your site, ensure it's accessible to everyone. A great [tool for generating color palettes is Color Safe](http://colorsafe.co/).
+**Command-line and CI/CD integration:**
+- [axe-core](https://github.com/dequelabs/axe-core) - JavaScript library for automated testing
+- [Pa11y](https://pa11y.org/) - Command-line accessibility testing tool
+- [Lighthouse CI](https://github.com/GoogleChrome/lighthouse-ci) - Automated accessibility scoring
-✅ Identify a website with problematic color usage. Why is it an issue?
+> 🎯 **Testing Goal**: Aim for a Lighthouse accessibility score of 95+ as your baseline. Remember, automated tools only catch about 30-40% of accessibility issues—manual testing is still essential!
-### Use the correct HTML
+### 🧠 **Testing Skills Check: Ready to Find Issues?**
-With CSS and JavaScript, you can make any element look like any type of control. For example, a `` could be styled to look like a `