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/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 `