diff --git a/translated_images/br/.co-op-translator.json b/translated_images/pt-BR/.co-op-translator.json
similarity index 88%
rename from translated_images/br/.co-op-translator.json
rename to translated_images/pt-BR/.co-op-translator.json
index 4b6ecbb3c..92afc62a4 100644
--- a/translated_images/br/.co-op-translator.json
+++ b/translated_images/pt-BR/.co-op-translator.json
@@ -3,858 +3,858 @@
"original_hash": "6b12479c2e6a54160867fa8945c04082",
"translation_date": "2026-01-15T17:41:59+00:00",
"source_file": "5-browser-extension/1-about-browsers/images/1.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"1.cc07a5cbe114ad1d.webp": {
"original_hash": "fc436b6749801dd90d0558ae92d56b60",
"translation_date": "2026-01-15T17:46:08+00:00",
"source_file": "3-terrarium/2-intro-to-css/images/1.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"2.1dae52ff08042246.webp": {
"original_hash": "3995628a6a986308859d0cb6eed8d787",
"translation_date": "2026-01-15T17:41:34+00:00",
"source_file": "5-browser-extension/1-about-browsers/images/2.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"after-codeswing-extension-pb.0ebddddcf73b5509.webp": {
"original_hash": "861d59ec65a7334c5f3a4c02dfe22ceb",
"translation_date": "2026-01-15T17:37:34+00:00",
"source_file": "8-code-editor/images/after-codeswing-extension-pb.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"background.148a8d43afde5730.webp": {
"original_hash": "5a50f015fb466782c69063ffebb256de",
"translation_date": "2026-01-15T17:31:20+00:00",
"source_file": "images/background.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"backgroundColor.e19c3c60768150c8.webp": {
"original_hash": "b3e10fe033f615ec9d3580cce61eae09",
"translation_date": "2026-01-15T17:40:21+00:00",
"source_file": "6-space-game/solution/spaceArt/png/Background/backgroundColor.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"browser-console.efaf0b51aaaf6778.webp": {
"original_hash": "8d6c5077d1f133d27c65c0014ef503a9",
"translation_date": "2026-01-15T17:42:44+00:00",
"source_file": "7-bank-project/2-forms/images/browser-console.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"browser.60317c9be8b7f84a.webp": {
"original_hash": "aa4461fec006d86899864d991b50cc74",
"translation_date": "2026-01-15T17:31:56+00:00",
"source_file": "sketchnotes/browser.jpg",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"canvas.fbd605ff8e5b8aff.webp": {
"original_hash": "29556305738d345dd023554d788d5477",
"translation_date": "2026-01-15T17:29:07+00:00",
"source_file": "teaching-files/canvas.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"canvas_grid.5f209da785ded492.webp": {
"original_hash": "8da354720ffbfd778571aa17402de890",
"translation_date": "2026-01-15T17:39:53+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/canvas_grid.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"character.5c0dd8e067ffd693.webp": {
"original_hash": "076bbb4d25a17982c81973b8dba9d4fa",
"translation_date": "2026-01-15T17:31:05+00:00",
"source_file": "images/character.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"click-register.e89a30bf0d4bc9ca.webp": {
"original_hash": "ef9688313524664fad6ab9b0e080c758",
"translation_date": "2026-01-15T17:42:27+00:00",
"source_file": "7-bank-project/2-forms/images/click-register.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"clone_repo.5085c48d666ead57.webp": {
"original_hash": "28c00f3d5861ab95d188b4f6a2d337df",
"translation_date": "2026-01-15T17:46:13+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/images/clone_repo.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"clone_repo.6a202fb230ab6bdd.webp": {
"original_hash": "9261d014674312eece91deae958538cf",
"translation_date": "2026-01-15T17:31:12+00:00",
"source_file": "images/clone_repo.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"codespace.bcecbdf5d2747d3d.webp": {
"original_hash": "ff86a65511122ddb448e092969566b0a",
"translation_date": "2026-01-15T17:46:18+00:00",
"source_file": "9-chat-project/assets/codespace.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"create-a-fork.297ab42b4bd0af99.webp": {
"original_hash": "10712b80e3dcfa7c44fb8820a6ff3ad3",
"translation_date": "2026-01-15T17:37:59+00:00",
"source_file": "8-code-editor/images/create-a-fork.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"create-new-file-pb.0797800d977ec3eb.webp": {
"original_hash": "c149c42e04132f2409651425d6924ffa",
"translation_date": "2026-01-15T17:36:32+00:00",
"source_file": "8-code-editor/images/create-new-file-pb.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"create-new-file.2814e609c2af9aeb.webp": {
"original_hash": "cf6df76faeac2d92904e5d877b7bdf69",
"translation_date": "2026-01-15T17:36:23+00:00",
"source_file": "8-code-editor/images/create-new-file.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"createcodespace.0238bbf4d7a8d955.webp": {
"original_hash": "4f504323085308f4a0e7b5bfb37e16d7",
"translation_date": "2026-01-15T17:29:59+00:00",
"source_file": "images/createcodespace.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"data-flow.fa2354e0908fecc8.webp": {
"original_hash": "c9b82b42fa1973b3b7bfad9c7128c24c",
"translation_date": "2026-01-15T17:43:04+00:00",
"source_file": "7-bank-project/4-state-management/images/data-flow.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"default-vscode-dev.5d06881d65c1b323.webp": {
"original_hash": "146fecc3a9da37cb1d5c9d628cd94996",
"translation_date": "2026-01-15T17:38:57+00:00",
"source_file": "8-code-editor/images/default-vscode-dev.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"dialog.93bba104afeb79f1.webp": {
"original_hash": "c56b5ad7eb8c4df4b3ed8a99bf67e6e2",
"translation_date": "2026-01-15T17:43:00+00:00",
"source_file": "7-bank-project/4-state-management/images/dialog.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"dom-tree.7daf0e763cbbba92.webp": {
"original_hash": "579f4ae298ff15a357def7f442671847",
"translation_date": "2026-01-15T17:43:19+00:00",
"source_file": "3-terrarium/3-intro-to-DOM-and-closures/images/dom-tree.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"earlybrowsers.d984b711cdf3a42d.webp": {
"original_hash": "810a4d2348668e25289029c5cfcb67bd",
"translation_date": "2026-01-15T17:41:23+00:00",
"source_file": "5-browser-extension/1-about-browsers/images/earlybrowsers.jpg",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"edit-a-file-pb.263555922c14fc52.webp": {
"original_hash": "5c52723d35259eadd110d0c720a87b04",
"translation_date": "2026-01-15T17:38:32+00:00",
"source_file": "8-code-editor/images/edit-a-file-pb.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"edit-a-file.52c0ee665ef19f08.webp": {
"original_hash": "c28903236d60be6bba3f3848ea368c63",
"translation_date": "2026-01-15T17:39:49+00:00",
"source_file": "8-code-editor/images/edit-a-file.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"enemyShip.035a46787bff658c.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:09+00:00",
"source_file": "6-space-game/5-keeping-score/solution/assets/enemyShip.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"enemyShip.1a1354d7988de290.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:06+00:00",
"source_file": "6-space-game/6-end-condition/solution/assets/enemyShip.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"enemyShip.22cbee6ea27a5809.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:01+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/your-work/assets/enemyShip.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"enemyShip.321ecb1b4eb21f2c.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:08+00:00",
"source_file": "6-space-game/5-keeping-score/your-work/assets/enemyShip.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"enemyShip.4fbf2889e6129db4.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:04+00:00",
"source_file": "6-space-game/6-end-condition/your-work/assets/enemyShip.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"enemyShip.5df2a822c16650c2.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:02+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/solution/assets/enemyShip.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"enemyShip.62983ed4bfb2220f.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:29+00:00",
"source_file": "6-space-game/3-moving-elements-around/solution/assets/enemyShip.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"enemyShip.add7036e1c3c3014.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:39:59+00:00",
"source_file": "6-space-game/4-collision-detection/solution/assets/enemyShip.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"enemyShip.b39a140287683bf7.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:28+00:00",
"source_file": "6-space-game/3-moving-elements-around/your-work/assets/enemyShip.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"enemyShip.b9626ed228a17a32.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:39:57+00:00",
"source_file": "6-space-game/4-collision-detection/your-work/assets/enemyShip.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"enemyShip.deb0477a7312f54d.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:15+00:00",
"source_file": "6-space-game/solution/spaceArt/png/enemyShip.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"enemyUFO.bf8585e4e8dcdb68.webp": {
"original_hash": "18198bef76e4882928e4092344d0fb98",
"translation_date": "2026-01-15T17:40:18+00:00",
"source_file": "6-space-game/solution/spaceArt/png/enemyUFO.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"extension-details.9f8f1fd4e9eb2de5.webp": {
"original_hash": "f57d2e246e6ba8a58463d7573640d714",
"translation_date": "2026-01-15T17:39:41+00:00",
"source_file": "8-code-editor/images/extension-details.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"extension-screenshot.0e7f5bfa110e92e3.webp": {
"original_hash": "4fdd1d3fdbc9ac2c2932f83847a5e4b8",
"translation_date": "2026-01-15T17:29:50+00:00",
"source_file": "5-browser-extension/extension-screenshot.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"extension-settings.21c752ae4f4cdb78.webp": {
"original_hash": "fd7ebcb5d84c78047026ab3337908306",
"translation_date": "2026-01-15T17:36:46+00:00",
"source_file": "8-code-editor/images/extension-settings.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"extensions.eca0e0c7f59a10b5.webp": {
"original_hash": "a6c9c8f51d3edd917262e53664f08441",
"translation_date": "2026-01-15T17:38:08+00:00",
"source_file": "8-code-editor/images/extensions.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"favicon.37b561214b36d454.webp": {
"original_hash": "228faa6584f8ba1f7e9a75e3200112e9",
"translation_date": "2026-01-15T17:30:59+00:00",
"source_file": "images/favicon.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"form-post.61de4ca1b964d91a.webp": {
"original_hash": "7e95c76a8ea2e82bceea70aae89f2360",
"translation_date": "2026-01-15T17:42:31+00:00",
"source_file": "7-bank-project/2-forms/images/form-post.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"history.7fdabbafa521e064.webp": {
"original_hash": "445d71bea6a747dfe547df7eea846439",
"translation_date": "2026-01-15T17:42:06+00:00",
"source_file": "7-bank-project/1-template-route/history.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"install-on-edge.78634f02842c4828.webp": {
"original_hash": "6224aad8f1cd252da83c2808ff5c7a4e",
"translation_date": "2026-01-15T17:29:27+00:00",
"source_file": "5-browser-extension/install-on-edge.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"install-on-edge.d68781acaf0b3d3d.webp": {
"original_hash": "6224aad8f1cd252da83c2808ff5c7a4e",
"translation_date": "2026-01-15T17:41:49+00:00",
"source_file": "5-browser-extension/1-about-browsers/images/install-on-edge.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"laserGreen.89904f0f49945560.webp": {
"original_hash": "ddf7102c86fc3ec46037714c60091851",
"translation_date": "2026-01-15T17:40:17+00:00",
"source_file": "6-space-game/solution/spaceArt/png/laserGreen.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"laserGreenShot.e4fbfc4714c08a5b.webp": {
"original_hash": "cb6ed500c16736a41998e4cd0c467df7",
"translation_date": "2026-01-15T17:40:16+00:00",
"source_file": "6-space-game/solution/spaceArt/png/laserGreenShot.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"laserRed.2040e11f55c0a40a.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:05+00:00",
"source_file": "6-space-game/6-end-condition/solution/assets/laserRed.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"laserRed.381bc5555491ce67.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:27+00:00",
"source_file": "6-space-game/3-moving-elements-around/your-work/assets/laserRed.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"laserRed.69730edd76f0b3bd.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:03+00:00",
"source_file": "6-space-game/6-end-condition/your-work/assets/laserRed.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"laserRed.b583dc1728eb8581.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:09+00:00",
"source_file": "6-space-game/5-keeping-score/solution/assets/laserRed.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"laserRed.cae9ab24ea9b18fd.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:39:59+00:00",
"source_file": "6-space-game/4-collision-detection/solution/assets/laserRed.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"laserRed.d81ce4986f87c251.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:15+00:00",
"source_file": "6-space-game/solution/spaceArt/png/laserRed.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"laserRed.e58ef8db2585dfbe.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:07+00:00",
"source_file": "6-space-game/5-keeping-score/your-work/assets/laserRed.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"laserRed.e66e29ace6666064.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:29+00:00",
"source_file": "6-space-game/3-moving-elements-around/solution/assets/laserRed.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"laserRed.e86e8fb629c6026e.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:39:57+00:00",
"source_file": "6-space-game/4-collision-detection/your-work/assets/laserRed.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"laserRedShot.c39d066745996a71.webp": {
"original_hash": "1f1048184aab9d405e9f7d067a57af01",
"translation_date": "2026-01-15T17:40:18+00:00",
"source_file": "6-space-game/solution/spaceArt/png/laserRedShot.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"life.27144b6d4bfdea76.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:40:17+00:00",
"source_file": "6-space-game/solution/spaceArt/png/life.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"life.2a159298dd98f4ef.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:40:09+00:00",
"source_file": "6-space-game/5-keeping-score/your-work/assets/life.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"life.466df3b1692a244a.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:39:58+00:00",
"source_file": "6-space-game/4-collision-detection/your-work/assets/life.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"life.65a2aaceca875284.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:40:00+00:00",
"source_file": "6-space-game/4-collision-detection/solution/assets/life.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"life.6fb9f50d53ee0413.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:40:10+00:00",
"source_file": "6-space-game/5-keeping-score/solution/assets/life.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"life.78b6e96a3003767e.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:40:05+00:00",
"source_file": "6-space-game/6-end-condition/your-work/assets/life.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"life.86d843ce9c23289c.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:40:07+00:00",
"source_file": "6-space-game/6-end-condition/solution/assets/life.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"localstorage.472f8147b6a3f8d1.webp": {
"original_hash": "7706ccb87a13a08250f315f03140bc61",
"translation_date": "2026-01-15T17:40:37+00:00",
"source_file": "5-browser-extension/2-forms-browsers-local-storage/images/localstorage.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"log.804026979f3707e0.webp": {
"original_hash": "4c5e39f339781db01641b77b6b2d6026",
"translation_date": "2026-01-15T17:41:15+00:00",
"source_file": "5-browser-extension/3-background-tasks-and-performance/images/log.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"login-error.416fe019b36a6327.webp": {
"original_hash": "ea96ed372d7a4c37ee2df3f0352f79d1",
"translation_date": "2026-01-15T17:42:47+00:00",
"source_file": "7-bank-project/3-data/images/login-error.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"meteorBig.1e452b3ad7af50ad.webp": {
"original_hash": "07f37816512f563dd68780fdee2e30a6",
"translation_date": "2026-01-15T17:40:14+00:00",
"source_file": "6-space-game/solution/spaceArt/png/meteorBig.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"meteorSmall.0d729bc71c12d41f.webp": {
"original_hash": "ebabf6690cc614f9e33f019c356166fa",
"translation_date": "2026-01-15T17:40:15+00:00",
"source_file": "6-space-game/solution/spaceArt/png/meteorSmall.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"moodle.94eb93d714a50cb2.webp": {
"original_hash": "0d04a6ef1ac524b452d5a0aae3f45bee",
"translation_date": "2026-01-15T17:28:45+00:00",
"source_file": "teaching-files/moodle.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"mpa.7f7375a1a2d4aa77.webp": {
"original_hash": "021255b74f0b79b0c286c163c210ef3d",
"translation_date": "2026-01-15T17:42:51+00:00",
"source_file": "7-bank-project/3-data/images/mpa.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"nebula.55c2933d36d035d3.webp": {
"original_hash": "e0fa4f86653c6fe97bc77271c46241c2",
"translation_date": "2026-01-15T17:40:27+00:00",
"source_file": "6-space-game/solution/spaceArt/png/Background/nebula.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"new-file-github.com.c886796d800e8056.webp": {
"original_hash": "2e0ddd0dad4734e3968b70907df9c052",
"translation_date": "2026-01-15T17:39:10+00:00",
"source_file": "8-code-editor/images/new-file-github.com.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"open-palette-menu.46dda01084738da8.webp": {
"original_hash": "1860e80bf0534b9d54ef0fcb7e1a9f9e",
"translation_date": "2026-01-15T17:38:52+00:00",
"source_file": "8-code-editor/images/open-palette-menu.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"open-remote-repository.bd9c2598b8949e7f.webp": {
"original_hash": "777c01a9242da7d5d0e1b037df9c86f9",
"translation_date": "2026-01-15T17:38:04+00:00",
"source_file": "8-code-editor/images/open-remote-repository.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"palette-menu.4946174e07f42622.webp": {
"original_hash": "7387b91076790084ec8828866e88c6ce",
"translation_date": "2026-01-15T17:38:49+00:00",
"source_file": "8-code-editor/images/palette-menu.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"partI-solution.36c53b48c9ffae2a.webp": {
"original_hash": "fbbd263368f61f8ed3a86c4571e6810b",
"translation_date": "2026-01-15T17:39:55+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/partI-solution.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant1.a876180d8659acb9.webp": {
"original_hash": "e08f9b0f46f6d9d7c9949d4c3e590694",
"translation_date": "2026-01-15T17:44:24+00:00",
"source_file": "3-terrarium/solution/images/plant1.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant10.2f2c47804ae52dd3.webp": {
"original_hash": "dba97454882c2796c52a33c403db61f7",
"translation_date": "2026-01-15T17:45:07+00:00",
"source_file": "3-terrarium/solution/images/plant10.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant11.0ce0081b0ef17aa1.webp": {
"original_hash": "68346dbd1ae03331b0a87025c3e8e9e2",
"translation_date": "2026-01-15T17:44:55+00:00",
"source_file": "3-terrarium/solution/images/plant11.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant12.6b934c4312a00228.webp": {
"original_hash": "dafacde8e7a0b56c4baaabe88b4f90e2",
"translation_date": "2026-01-15T17:46:00+00:00",
"source_file": "3-terrarium/solution/images/plant12.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant13.37d6ab2e2481421f.webp": {
"original_hash": "5cac561d7596ee631c4d02436d8f6998",
"translation_date": "2026-01-15T17:45:19+00:00",
"source_file": "3-terrarium/solution/images/plant13.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant14.908791477a46eb7f.webp": {
"original_hash": "349b8e5a33d1221bef4a4ac3bb439bb9",
"translation_date": "2026-01-15T17:44:35+00:00",
"source_file": "3-terrarium/solution/images/plant14.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant2.9e45efea224115b0.webp": {
"original_hash": "24beefd3dcca66085b44d3ae5d9758e1",
"translation_date": "2026-01-15T17:45:53+00:00",
"source_file": "3-terrarium/solution/images/plant2.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant3.06efdd0fa0c4b115.webp": {
"original_hash": "7e40e6f14cf52f7d75ed42320817b044",
"translation_date": "2026-01-15T17:45:36+00:00",
"source_file": "3-terrarium/solution/images/plant3.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant4.3b78072b427727c6.webp": {
"original_hash": "c523205855d0691a9a0161c6abca983c",
"translation_date": "2026-01-15T17:45:29+00:00",
"source_file": "3-terrarium/solution/images/plant4.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant5.8ec58b18ac336fa8.webp": {
"original_hash": "bcf5f2eacd7da3fe6b07c857d7f5a2ce",
"translation_date": "2026-01-15T17:45:44+00:00",
"source_file": "3-terrarium/solution/images/plant5.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant6.ca4ff8372e6676b1.webp": {
"original_hash": "6932fdb455fcae5b324b129367d2f56a",
"translation_date": "2026-01-15T17:44:44+00:00",
"source_file": "3-terrarium/solution/images/plant6.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant7.194d5a42fcf5a88c.webp": {
"original_hash": "b7a1e35f9946cb04440ce620c34f201d",
"translation_date": "2026-01-15T17:43:42+00:00",
"source_file": "3-terrarium/solution/images/plant7.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant8.7b247809ab0eb492.webp": {
"original_hash": "3eb38c747aaf33ce7aa70b58a31b62a8",
"translation_date": "2026-01-15T17:44:13+00:00",
"source_file": "3-terrarium/solution/images/plant8.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"plant9.8fe614c01ded1b1e.webp": {
"original_hash": "a9655c162938a27c63d48ac675061e2b",
"translation_date": "2026-01-15T17:43:54+00:00",
"source_file": "3-terrarium/solution/images/plant9.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"player.137ee0e47f895ffc.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:06+00:00",
"source_file": "6-space-game/6-end-condition/solution/assets/player.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"player.2887422f6982c3cd.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:08+00:00",
"source_file": "6-space-game/5-keeping-score/your-work/assets/player.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"player.391fed427ede24f5.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:10+00:00",
"source_file": "6-space-game/5-keeping-score/solution/assets/player.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"player.3c4f50182552a73a.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:28+00:00",
"source_file": "6-space-game/3-moving-elements-around/your-work/assets/player.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"player.47bc9de0714c723d.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:01+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/your-work/assets/player.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"player.57b3107c03012695.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:16+00:00",
"source_file": "6-space-game/solution/spaceArt/png/player.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"player.606f85953e5e564e.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:04+00:00",
"source_file": "6-space-game/6-end-condition/your-work/assets/player.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"player.680ea4c619b54fe1.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:39:58+00:00",
"source_file": "6-space-game/4-collision-detection/your-work/assets/player.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"player.bfe14f110bddf56d.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:30+00:00",
"source_file": "6-space-game/3-moving-elements-around/solution/assets/player.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"player.c99c25d54a615ca0.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:00+00:00",
"source_file": "6-space-game/4-collision-detection/solution/assets/player.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"player.dd24c1afa8c71e9b.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:02+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/solution/assets/player.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"playerDamaged.181703f652fd5176.webp": {
"original_hash": "9d71aebe7303edd536064fb0f5e2ae82",
"translation_date": "2026-01-15T17:40:20+00:00",
"source_file": "6-space-game/solution/spaceArt/png/playerDamaged.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"playerLeft.0f928412e66ba5d9.webp": {
"original_hash": "40a42047b8ee49c6dd87c981e98d4d2e",
"translation_date": "2026-01-15T17:40:21+00:00",
"source_file": "6-space-game/solution/spaceArt/png/playerLeft.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"playerRight.e4825f489e29f737.webp": {
"original_hash": "1c7b03f73e1d6ed74955357680cb05cb",
"translation_date": "2026-01-15T17:40:21+00:00",
"source_file": "6-space-game/solution/spaceArt/png/playerRight.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"playground-choice.1d23ba7d407f4758.webp": {
"original_hash": "1c2e88cad7aad10922b4de1e87f1a47f",
"translation_date": "2026-01-15T17:46:47+00:00",
"source_file": "9-chat-project/assets/playground-choice.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"playground.d2b927122224ff8f.webp": {
"original_hash": "4152bb8cd5f23e73d58b3beb52919477",
"translation_date": "2026-01-15T17:46:35+00:00",
"source_file": "9-chat-project/assets/playground.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"preview.9215f0a010074476.webp": {
"original_hash": "6eaab6a69de1fa433e822578652c7287",
"translation_date": "2026-01-15T17:40:13+00:00",
"source_file": "6-space-game/solution/spaceArt/preview.jpg",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"profiler.5a4a62479c5df01c.webp": {
"original_hash": "40b8a4d9f47e2f3e18aa2e814a15356c",
"translation_date": "2026-01-15T17:41:00+00:00",
"source_file": "5-browser-extension/3-background-tasks-and-performance/images/profiler.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"project-on-vscode.dev.e79815a9a95ee7fe.webp": {
"original_hash": "35de4bc32ea66a11f919671558e07d52",
"translation_date": "2026-01-15T17:39:01+00:00",
"source_file": "8-code-editor/images/project-on-vscode.dev.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"result.96ef01f607bf856a.webp": {
"original_hash": "e83c44a0fcaa7720ce32eb71d53d5250",
"translation_date": "2026-01-15T17:42:39+00:00",
"source_file": "7-bank-project/2-forms/images/result.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"screen1.baccbba0f1f93364.webp": {
"original_hash": "92c8fa2dbe566c4e19c98a9e7de6faa6",
"translation_date": "2026-01-15T17:42:11+00:00",
"source_file": "7-bank-project/images/screen1.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"screen2.123c82a831a1d14a.webp": {
"original_hash": "43b7f2857d5f758394e443df8fbc31cf",
"translation_date": "2026-01-15T17:42:18+00:00",
"source_file": "7-bank-project/images/screen2.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"screenshot.0a1ee0d123df681b.webp": {
"original_hash": "f909b463a14ff6542a816470f68bfac3",
"translation_date": "2026-01-15T17:47:02+00:00",
"source_file": "9-chat-project/assets/screenshot.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"screenshot.e7a5ad659e364568.webp": {
"original_hash": "c562c1fdc9d73658456e02b873e4dff9",
"translation_date": "2026-01-15T17:31:34+00:00",
"source_file": "images/screenshot.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"screenshot_gray.0c796099a1f9f25e.webp": {
"original_hash": "324b7bff7867c38e100d0acad18ed53d",
"translation_date": "2026-01-15T17:43:08+00:00",
"source_file": "3-terrarium/images/screenshot_gray.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"shield.1b9412b7ca6610ab.webp": {
"original_hash": "a672dc1a5f905918272bb58f1e236340",
"translation_date": "2026-01-15T17:40:19+00:00",
"source_file": "6-space-game/solution/spaceArt/png/shield.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"snapshot.97750180ebcad737.webp": {
"original_hash": "9db2fa7afcc1d258ec1a130cef145f94",
"translation_date": "2026-01-15T17:40:43+00:00",
"source_file": "5-browser-extension/3-background-tasks-and-performance/images/snapshot.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"spa.268ec73b41f992c2.webp": {
"original_hash": "3d3d7273070c2ddab04458fbb084ad4a",
"translation_date": "2026-01-15T17:42:54+00:00",
"source_file": "7-bank-project/3-data/images/spa.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"speedLine.5bcabb93f48b5ae1.webp": {
"original_hash": "ef791dbe8ea2e21cf697831e203803d5",
"translation_date": "2026-01-15T17:40:26+00:00",
"source_file": "6-space-game/solution/spaceArt/png/Background/speedLine.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"spritesheet.bec82852290b14ee.webp": {
"original_hash": "d593b0f366e9efd2f2b3ef18e7eb2d0c",
"translation_date": "2026-01-15T17:39:56+00:00",
"source_file": "6-space-game/solution/spritesheet.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"starBackground.a897b8acb1b0587d.webp": {
"original_hash": "cca00ba0b9e73859ab5bb928d5ca2fa2",
"translation_date": "2026-01-15T17:40:24+00:00",
"source_file": "6-space-game/solution/spaceArt/png/Background/starBackground.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"starBig.72e9c6d0d18f363d.webp": {
"original_hash": "4e8f1abc8b48d75990117ea8b6207842",
"translation_date": "2026-01-15T17:40:22+00:00",
"source_file": "6-space-game/solution/spaceArt/png/Background/starBig.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"starSmall.ed78b961dbcd0898.webp": {
"original_hash": "609bf88a971475818f95816b8cf71508",
"translation_date": "2026-01-15T17:40:25+00:00",
"source_file": "6-space-game/solution/spaceArt/png/Background/starSmall.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"template.67ad477109d29a2b.webp": {
"original_hash": "a184e4c012fd4fca9ab3c552df87bd0c",
"translation_date": "2026-01-15T17:46:50+00:00",
"source_file": "9-chat-project/assets/template.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"terrarium-final.0920f16e87c13a84.webp": {
"original_hash": "324b7bff7867c38e100d0acad18ed53d",
"translation_date": "2026-01-15T17:43:32+00:00",
"source_file": "3-terrarium/3-intro-to-DOM-and-closures/images/terrarium-final.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"terrarium-final.2f07047ffc597d0a.webp": {
"original_hash": "c669f9222e16690bb2015ce86bb4739c",
"translation_date": "2026-01-15T17:46:05+00:00",
"source_file": "3-terrarium/2-intro-to-css/images/terrarium-final.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"validation-error.8bd23e98d416c22f.webp": {
"original_hash": "d614ce6b24e2583901da9038297fe327",
"translation_date": "2026-01-15T17:42:35+00:00",
"source_file": "7-bank-project/2-forms/images/validation-error.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"vs-code-index.e2986cf919471eb9.webp": {
"original_hash": "ed8437cb2629b95551fff5e5d72ef4f5",
"translation_date": "2026-01-15T17:43:11+00:00",
"source_file": "3-terrarium/1-intro-to-html/images/vs-code-index.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"webdev101-a11y.8ef3025c858d897a.webp": {
"original_hash": "3f5220c5d502a906028b8a85245cc6da",
"translation_date": "2026-01-15T17:35:00+00:00",
"source_file": "sketchnotes/webdev101-a11y.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"webdev101-css.3f7af5991bf53a20.webp": {
"original_hash": "9de1dc14864697c82395b02f31a72aec",
"translation_date": "2026-01-15T17:33:46+00:00",
"source_file": "sketchnotes/webdev101-css.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"webdev101-github.8846d7971abef6f9.webp": {
"original_hash": "412ec8fc404fead25f314e2fdb564548",
"translation_date": "2026-01-15T17:33:19+00:00",
"source_file": "sketchnotes/webdev101-github.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"webdev101-html.4389c2067af68e98.webp": {
"original_hash": "23bf24ecb0e72f0c6c835824dec5ee54",
"translation_date": "2026-01-15T17:32:25+00:00",
"source_file": "sketchnotes/webdev101-html.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"webdev101-js-arrays.439d7528b8a29455.webp": {
"original_hash": "564c9e2d7f8e5a3b7e23570df300c732",
"translation_date": "2026-01-15T17:36:13+00:00",
"source_file": "sketchnotes/webdev101-js-arrays.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"webdev101-js-datatypes.4cc470179730702c.webp": {
"original_hash": "20fda1612cc0e8d20e6be01ffc28e5f7",
"translation_date": "2026-01-15T17:35:24+00:00",
"source_file": "sketchnotes/webdev101-js-datatypes.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"webdev101-js-decisions.69e1b20f272dd1f0.webp": {
"original_hash": "5e49a0b9b4149f782a4378354ba7fd56",
"translation_date": "2026-01-15T17:34:37+00:00",
"source_file": "sketchnotes/webdev101-js-decisions.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"webdev101-js-functions.be049c4726e94f8b.webp": {
"original_hash": "ec4279b1b2191fa07a83e78a97e81f29",
"translation_date": "2026-01-15T17:34:14+00:00",
"source_file": "sketchnotes/webdev101-js-functions.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"webdev101-js.10280393044d7eaa.webp": {
"original_hash": "fe1f154de74b31fdeb9a6df40e7ad5e1",
"translation_date": "2026-01-15T17:35:52+00:00",
"source_file": "sketchnotes/webdev101-js.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"webdev101-programming.d6e3f98e61ac4bff.webp": {
"original_hash": "adf4dac4d350592773dbdba8ebaaa262",
"translation_date": "2026-01-15T17:32:56+00:00",
"source_file": "sketchnotes/webdev101-programming.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"working-tree-pb.6cd43e5076f23ba3.webp": {
"original_hash": "f6b14887694745dd143a09bd60b74185",
"translation_date": "2026-01-15T17:39:29+00:00",
"source_file": "8-code-editor/images/working-tree-pb.png",
- "language_code": "br"
+ "language_code": "pt-BR"
},
"working-tree.c58eec08e6335c79.webp": {
"original_hash": "bf2608b4302123a00a8e7b1b6a430b4a",
"translation_date": "2026-01-15T17:39:20+00:00",
"source_file": "8-code-editor/images/working-tree.png",
- "language_code": "br"
+ "language_code": "pt-BR"
}
}
\ No newline at end of file
diff --git a/translated_images/br/1.b6da8c1394b07491.webp b/translated_images/pt-BR/1.b6da8c1394b07491.webp
similarity index 100%
rename from translated_images/br/1.b6da8c1394b07491.webp
rename to translated_images/pt-BR/1.b6da8c1394b07491.webp
diff --git a/translated_images/br/1.cc07a5cbe114ad1d.webp b/translated_images/pt-BR/1.cc07a5cbe114ad1d.webp
similarity index 100%
rename from translated_images/br/1.cc07a5cbe114ad1d.webp
rename to translated_images/pt-BR/1.cc07a5cbe114ad1d.webp
diff --git a/translated_images/br/2.1dae52ff08042246.webp b/translated_images/pt-BR/2.1dae52ff08042246.webp
similarity index 100%
rename from translated_images/br/2.1dae52ff08042246.webp
rename to translated_images/pt-BR/2.1dae52ff08042246.webp
diff --git a/translated_images/br/after-codeswing-extension-pb.0ebddddcf73b5509.webp b/translated_images/pt-BR/after-codeswing-extension-pb.0ebddddcf73b5509.webp
similarity index 100%
rename from translated_images/br/after-codeswing-extension-pb.0ebddddcf73b5509.webp
rename to translated_images/pt-BR/after-codeswing-extension-pb.0ebddddcf73b5509.webp
diff --git a/translated_images/br/background.148a8d43afde5730.webp b/translated_images/pt-BR/background.148a8d43afde5730.webp
similarity index 100%
rename from translated_images/br/background.148a8d43afde5730.webp
rename to translated_images/pt-BR/background.148a8d43afde5730.webp
diff --git a/translated_images/br/backgroundColor.e19c3c60768150c8.webp b/translated_images/pt-BR/backgroundColor.e19c3c60768150c8.webp
similarity index 100%
rename from translated_images/br/backgroundColor.e19c3c60768150c8.webp
rename to translated_images/pt-BR/backgroundColor.e19c3c60768150c8.webp
diff --git a/translated_images/br/browser-console.efaf0b51aaaf6778.webp b/translated_images/pt-BR/browser-console.efaf0b51aaaf6778.webp
similarity index 100%
rename from translated_images/br/browser-console.efaf0b51aaaf6778.webp
rename to translated_images/pt-BR/browser-console.efaf0b51aaaf6778.webp
diff --git a/translated_images/br/browser.60317c9be8b7f84a.webp b/translated_images/pt-BR/browser.60317c9be8b7f84a.webp
similarity index 100%
rename from translated_images/br/browser.60317c9be8b7f84a.webp
rename to translated_images/pt-BR/browser.60317c9be8b7f84a.webp
diff --git a/translated_images/br/canvas.fbd605ff8e5b8aff.webp b/translated_images/pt-BR/canvas.fbd605ff8e5b8aff.webp
similarity index 100%
rename from translated_images/br/canvas.fbd605ff8e5b8aff.webp
rename to translated_images/pt-BR/canvas.fbd605ff8e5b8aff.webp
diff --git a/translated_images/br/canvas_grid.5f209da785ded492.webp b/translated_images/pt-BR/canvas_grid.5f209da785ded492.webp
similarity index 100%
rename from translated_images/br/canvas_grid.5f209da785ded492.webp
rename to translated_images/pt-BR/canvas_grid.5f209da785ded492.webp
diff --git a/translated_images/br/character.5c0dd8e067ffd693.webp b/translated_images/pt-BR/character.5c0dd8e067ffd693.webp
similarity index 100%
rename from translated_images/br/character.5c0dd8e067ffd693.webp
rename to translated_images/pt-BR/character.5c0dd8e067ffd693.webp
diff --git a/translated_images/br/click-register.e89a30bf0d4bc9ca.webp b/translated_images/pt-BR/click-register.e89a30bf0d4bc9ca.webp
similarity index 100%
rename from translated_images/br/click-register.e89a30bf0d4bc9ca.webp
rename to translated_images/pt-BR/click-register.e89a30bf0d4bc9ca.webp
diff --git a/translated_images/br/clone_repo.5085c48d666ead57.webp b/translated_images/pt-BR/clone_repo.5085c48d666ead57.webp
similarity index 100%
rename from translated_images/br/clone_repo.5085c48d666ead57.webp
rename to translated_images/pt-BR/clone_repo.5085c48d666ead57.webp
diff --git a/translated_images/br/clone_repo.6a202fb230ab6bdd.webp b/translated_images/pt-BR/clone_repo.6a202fb230ab6bdd.webp
similarity index 100%
rename from translated_images/br/clone_repo.6a202fb230ab6bdd.webp
rename to translated_images/pt-BR/clone_repo.6a202fb230ab6bdd.webp
diff --git a/translated_images/br/codespace.bcecbdf5d2747d3d.webp b/translated_images/pt-BR/codespace.bcecbdf5d2747d3d.webp
similarity index 100%
rename from translated_images/br/codespace.bcecbdf5d2747d3d.webp
rename to translated_images/pt-BR/codespace.bcecbdf5d2747d3d.webp
diff --git a/translated_images/br/create-a-fork.297ab42b4bd0af99.webp b/translated_images/pt-BR/create-a-fork.297ab42b4bd0af99.webp
similarity index 100%
rename from translated_images/br/create-a-fork.297ab42b4bd0af99.webp
rename to translated_images/pt-BR/create-a-fork.297ab42b4bd0af99.webp
diff --git a/translated_images/br/create-new-file-pb.0797800d977ec3eb.webp b/translated_images/pt-BR/create-new-file-pb.0797800d977ec3eb.webp
similarity index 100%
rename from translated_images/br/create-new-file-pb.0797800d977ec3eb.webp
rename to translated_images/pt-BR/create-new-file-pb.0797800d977ec3eb.webp
diff --git a/translated_images/br/create-new-file.2814e609c2af9aeb.webp b/translated_images/pt-BR/create-new-file.2814e609c2af9aeb.webp
similarity index 100%
rename from translated_images/br/create-new-file.2814e609c2af9aeb.webp
rename to translated_images/pt-BR/create-new-file.2814e609c2af9aeb.webp
diff --git a/translated_images/br/createcodespace.0238bbf4d7a8d955.webp b/translated_images/pt-BR/createcodespace.0238bbf4d7a8d955.webp
similarity index 100%
rename from translated_images/br/createcodespace.0238bbf4d7a8d955.webp
rename to translated_images/pt-BR/createcodespace.0238bbf4d7a8d955.webp
diff --git a/translated_images/br/data-flow.fa2354e0908fecc8.webp b/translated_images/pt-BR/data-flow.fa2354e0908fecc8.webp
similarity index 100%
rename from translated_images/br/data-flow.fa2354e0908fecc8.webp
rename to translated_images/pt-BR/data-flow.fa2354e0908fecc8.webp
diff --git a/translated_images/br/default-vscode-dev.5d06881d65c1b323.webp b/translated_images/pt-BR/default-vscode-dev.5d06881d65c1b323.webp
similarity index 100%
rename from translated_images/br/default-vscode-dev.5d06881d65c1b323.webp
rename to translated_images/pt-BR/default-vscode-dev.5d06881d65c1b323.webp
diff --git a/translated_images/br/dialog.93bba104afeb79f1.webp b/translated_images/pt-BR/dialog.93bba104afeb79f1.webp
similarity index 100%
rename from translated_images/br/dialog.93bba104afeb79f1.webp
rename to translated_images/pt-BR/dialog.93bba104afeb79f1.webp
diff --git a/translated_images/br/dom-tree.7daf0e763cbbba92.webp b/translated_images/pt-BR/dom-tree.7daf0e763cbbba92.webp
similarity index 100%
rename from translated_images/br/dom-tree.7daf0e763cbbba92.webp
rename to translated_images/pt-BR/dom-tree.7daf0e763cbbba92.webp
diff --git a/translated_images/br/earlybrowsers.d984b711cdf3a42d.webp b/translated_images/pt-BR/earlybrowsers.d984b711cdf3a42d.webp
similarity index 100%
rename from translated_images/br/earlybrowsers.d984b711cdf3a42d.webp
rename to translated_images/pt-BR/earlybrowsers.d984b711cdf3a42d.webp
diff --git a/translated_images/br/edit-a-file-pb.263555922c14fc52.webp b/translated_images/pt-BR/edit-a-file-pb.263555922c14fc52.webp
similarity index 100%
rename from translated_images/br/edit-a-file-pb.263555922c14fc52.webp
rename to translated_images/pt-BR/edit-a-file-pb.263555922c14fc52.webp
diff --git a/translated_images/br/edit-a-file.52c0ee665ef19f08.webp b/translated_images/pt-BR/edit-a-file.52c0ee665ef19f08.webp
similarity index 100%
rename from translated_images/br/edit-a-file.52c0ee665ef19f08.webp
rename to translated_images/pt-BR/edit-a-file.52c0ee665ef19f08.webp
diff --git a/translated_images/br/enemyShip.035a46787bff658c.webp b/translated_images/pt-BR/enemyShip.035a46787bff658c.webp
similarity index 100%
rename from translated_images/br/enemyShip.035a46787bff658c.webp
rename to translated_images/pt-BR/enemyShip.035a46787bff658c.webp
diff --git a/translated_images/br/enemyShip.1a1354d7988de290.webp b/translated_images/pt-BR/enemyShip.1a1354d7988de290.webp
similarity index 100%
rename from translated_images/br/enemyShip.1a1354d7988de290.webp
rename to translated_images/pt-BR/enemyShip.1a1354d7988de290.webp
diff --git a/translated_images/br/enemyShip.22cbee6ea27a5809.webp b/translated_images/pt-BR/enemyShip.22cbee6ea27a5809.webp
similarity index 100%
rename from translated_images/br/enemyShip.22cbee6ea27a5809.webp
rename to translated_images/pt-BR/enemyShip.22cbee6ea27a5809.webp
diff --git a/translated_images/br/enemyShip.321ecb1b4eb21f2c.webp b/translated_images/pt-BR/enemyShip.321ecb1b4eb21f2c.webp
similarity index 100%
rename from translated_images/br/enemyShip.321ecb1b4eb21f2c.webp
rename to translated_images/pt-BR/enemyShip.321ecb1b4eb21f2c.webp
diff --git a/translated_images/br/enemyShip.4fbf2889e6129db4.webp b/translated_images/pt-BR/enemyShip.4fbf2889e6129db4.webp
similarity index 100%
rename from translated_images/br/enemyShip.4fbf2889e6129db4.webp
rename to translated_images/pt-BR/enemyShip.4fbf2889e6129db4.webp
diff --git a/translated_images/br/enemyShip.5df2a822c16650c2.webp b/translated_images/pt-BR/enemyShip.5df2a822c16650c2.webp
similarity index 100%
rename from translated_images/br/enemyShip.5df2a822c16650c2.webp
rename to translated_images/pt-BR/enemyShip.5df2a822c16650c2.webp
diff --git a/translated_images/br/enemyShip.62983ed4bfb2220f.webp b/translated_images/pt-BR/enemyShip.62983ed4bfb2220f.webp
similarity index 100%
rename from translated_images/br/enemyShip.62983ed4bfb2220f.webp
rename to translated_images/pt-BR/enemyShip.62983ed4bfb2220f.webp
diff --git a/translated_images/br/enemyShip.add7036e1c3c3014.webp b/translated_images/pt-BR/enemyShip.add7036e1c3c3014.webp
similarity index 100%
rename from translated_images/br/enemyShip.add7036e1c3c3014.webp
rename to translated_images/pt-BR/enemyShip.add7036e1c3c3014.webp
diff --git a/translated_images/br/enemyShip.b39a140287683bf7.webp b/translated_images/pt-BR/enemyShip.b39a140287683bf7.webp
similarity index 100%
rename from translated_images/br/enemyShip.b39a140287683bf7.webp
rename to translated_images/pt-BR/enemyShip.b39a140287683bf7.webp
diff --git a/translated_images/br/enemyShip.b9626ed228a17a32.webp b/translated_images/pt-BR/enemyShip.b9626ed228a17a32.webp
similarity index 100%
rename from translated_images/br/enemyShip.b9626ed228a17a32.webp
rename to translated_images/pt-BR/enemyShip.b9626ed228a17a32.webp
diff --git a/translated_images/br/enemyShip.deb0477a7312f54d.webp b/translated_images/pt-BR/enemyShip.deb0477a7312f54d.webp
similarity index 100%
rename from translated_images/br/enemyShip.deb0477a7312f54d.webp
rename to translated_images/pt-BR/enemyShip.deb0477a7312f54d.webp
diff --git a/translated_images/br/enemyUFO.bf8585e4e8dcdb68.webp b/translated_images/pt-BR/enemyUFO.bf8585e4e8dcdb68.webp
similarity index 100%
rename from translated_images/br/enemyUFO.bf8585e4e8dcdb68.webp
rename to translated_images/pt-BR/enemyUFO.bf8585e4e8dcdb68.webp
diff --git a/translated_images/br/extension-details.9f8f1fd4e9eb2de5.webp b/translated_images/pt-BR/extension-details.9f8f1fd4e9eb2de5.webp
similarity index 100%
rename from translated_images/br/extension-details.9f8f1fd4e9eb2de5.webp
rename to translated_images/pt-BR/extension-details.9f8f1fd4e9eb2de5.webp
diff --git a/translated_images/br/extension-screenshot.0e7f5bfa110e92e3.webp b/translated_images/pt-BR/extension-screenshot.0e7f5bfa110e92e3.webp
similarity index 100%
rename from translated_images/br/extension-screenshot.0e7f5bfa110e92e3.webp
rename to translated_images/pt-BR/extension-screenshot.0e7f5bfa110e92e3.webp
diff --git a/translated_images/br/extension-settings.21c752ae4f4cdb78.webp b/translated_images/pt-BR/extension-settings.21c752ae4f4cdb78.webp
similarity index 100%
rename from translated_images/br/extension-settings.21c752ae4f4cdb78.webp
rename to translated_images/pt-BR/extension-settings.21c752ae4f4cdb78.webp
diff --git a/translated_images/br/extensions.eca0e0c7f59a10b5.webp b/translated_images/pt-BR/extensions.eca0e0c7f59a10b5.webp
similarity index 100%
rename from translated_images/br/extensions.eca0e0c7f59a10b5.webp
rename to translated_images/pt-BR/extensions.eca0e0c7f59a10b5.webp
diff --git a/translated_images/br/favicon.37b561214b36d454.webp b/translated_images/pt-BR/favicon.37b561214b36d454.webp
similarity index 100%
rename from translated_images/br/favicon.37b561214b36d454.webp
rename to translated_images/pt-BR/favicon.37b561214b36d454.webp
diff --git a/translated_images/br/form-post.61de4ca1b964d91a.webp b/translated_images/pt-BR/form-post.61de4ca1b964d91a.webp
similarity index 100%
rename from translated_images/br/form-post.61de4ca1b964d91a.webp
rename to translated_images/pt-BR/form-post.61de4ca1b964d91a.webp
diff --git a/translated_images/br/history.7fdabbafa521e064.webp b/translated_images/pt-BR/history.7fdabbafa521e064.webp
similarity index 100%
rename from translated_images/br/history.7fdabbafa521e064.webp
rename to translated_images/pt-BR/history.7fdabbafa521e064.webp
diff --git a/translated_images/br/install-on-edge.78634f02842c4828.webp b/translated_images/pt-BR/install-on-edge.78634f02842c4828.webp
similarity index 100%
rename from translated_images/br/install-on-edge.78634f02842c4828.webp
rename to translated_images/pt-BR/install-on-edge.78634f02842c4828.webp
diff --git a/translated_images/br/install-on-edge.d68781acaf0b3d3d.webp b/translated_images/pt-BR/install-on-edge.d68781acaf0b3d3d.webp
similarity index 100%
rename from translated_images/br/install-on-edge.d68781acaf0b3d3d.webp
rename to translated_images/pt-BR/install-on-edge.d68781acaf0b3d3d.webp
diff --git a/translated_images/br/laserGreen.89904f0f49945560.webp b/translated_images/pt-BR/laserGreen.89904f0f49945560.webp
similarity index 100%
rename from translated_images/br/laserGreen.89904f0f49945560.webp
rename to translated_images/pt-BR/laserGreen.89904f0f49945560.webp
diff --git a/translated_images/br/laserGreenShot.e4fbfc4714c08a5b.webp b/translated_images/pt-BR/laserGreenShot.e4fbfc4714c08a5b.webp
similarity index 100%
rename from translated_images/br/laserGreenShot.e4fbfc4714c08a5b.webp
rename to translated_images/pt-BR/laserGreenShot.e4fbfc4714c08a5b.webp
diff --git a/translated_images/br/laserRed.2040e11f55c0a40a.webp b/translated_images/pt-BR/laserRed.2040e11f55c0a40a.webp
similarity index 100%
rename from translated_images/br/laserRed.2040e11f55c0a40a.webp
rename to translated_images/pt-BR/laserRed.2040e11f55c0a40a.webp
diff --git a/translated_images/br/laserRed.381bc5555491ce67.webp b/translated_images/pt-BR/laserRed.381bc5555491ce67.webp
similarity index 100%
rename from translated_images/br/laserRed.381bc5555491ce67.webp
rename to translated_images/pt-BR/laserRed.381bc5555491ce67.webp
diff --git a/translated_images/br/laserRed.69730edd76f0b3bd.webp b/translated_images/pt-BR/laserRed.69730edd76f0b3bd.webp
similarity index 100%
rename from translated_images/br/laserRed.69730edd76f0b3bd.webp
rename to translated_images/pt-BR/laserRed.69730edd76f0b3bd.webp
diff --git a/translated_images/br/laserRed.b583dc1728eb8581.webp b/translated_images/pt-BR/laserRed.b583dc1728eb8581.webp
similarity index 100%
rename from translated_images/br/laserRed.b583dc1728eb8581.webp
rename to translated_images/pt-BR/laserRed.b583dc1728eb8581.webp
diff --git a/translated_images/br/laserRed.cae9ab24ea9b18fd.webp b/translated_images/pt-BR/laserRed.cae9ab24ea9b18fd.webp
similarity index 100%
rename from translated_images/br/laserRed.cae9ab24ea9b18fd.webp
rename to translated_images/pt-BR/laserRed.cae9ab24ea9b18fd.webp
diff --git a/translated_images/br/laserRed.d81ce4986f87c251.webp b/translated_images/pt-BR/laserRed.d81ce4986f87c251.webp
similarity index 100%
rename from translated_images/br/laserRed.d81ce4986f87c251.webp
rename to translated_images/pt-BR/laserRed.d81ce4986f87c251.webp
diff --git a/translated_images/br/laserRed.e58ef8db2585dfbe.webp b/translated_images/pt-BR/laserRed.e58ef8db2585dfbe.webp
similarity index 100%
rename from translated_images/br/laserRed.e58ef8db2585dfbe.webp
rename to translated_images/pt-BR/laserRed.e58ef8db2585dfbe.webp
diff --git a/translated_images/br/laserRed.e66e29ace6666064.webp b/translated_images/pt-BR/laserRed.e66e29ace6666064.webp
similarity index 100%
rename from translated_images/br/laserRed.e66e29ace6666064.webp
rename to translated_images/pt-BR/laserRed.e66e29ace6666064.webp
diff --git a/translated_images/br/laserRed.e86e8fb629c6026e.webp b/translated_images/pt-BR/laserRed.e86e8fb629c6026e.webp
similarity index 100%
rename from translated_images/br/laserRed.e86e8fb629c6026e.webp
rename to translated_images/pt-BR/laserRed.e86e8fb629c6026e.webp
diff --git a/translated_images/br/laserRedShot.c39d066745996a71.webp b/translated_images/pt-BR/laserRedShot.c39d066745996a71.webp
similarity index 100%
rename from translated_images/br/laserRedShot.c39d066745996a71.webp
rename to translated_images/pt-BR/laserRedShot.c39d066745996a71.webp
diff --git a/translated_images/br/life.27144b6d4bfdea76.webp b/translated_images/pt-BR/life.27144b6d4bfdea76.webp
similarity index 100%
rename from translated_images/br/life.27144b6d4bfdea76.webp
rename to translated_images/pt-BR/life.27144b6d4bfdea76.webp
diff --git a/translated_images/br/life.2a159298dd98f4ef.webp b/translated_images/pt-BR/life.2a159298dd98f4ef.webp
similarity index 100%
rename from translated_images/br/life.2a159298dd98f4ef.webp
rename to translated_images/pt-BR/life.2a159298dd98f4ef.webp
diff --git a/translated_images/br/life.466df3b1692a244a.webp b/translated_images/pt-BR/life.466df3b1692a244a.webp
similarity index 100%
rename from translated_images/br/life.466df3b1692a244a.webp
rename to translated_images/pt-BR/life.466df3b1692a244a.webp
diff --git a/translated_images/br/life.65a2aaceca875284.webp b/translated_images/pt-BR/life.65a2aaceca875284.webp
similarity index 100%
rename from translated_images/br/life.65a2aaceca875284.webp
rename to translated_images/pt-BR/life.65a2aaceca875284.webp
diff --git a/translated_images/br/life.6fb9f50d53ee0413.webp b/translated_images/pt-BR/life.6fb9f50d53ee0413.webp
similarity index 100%
rename from translated_images/br/life.6fb9f50d53ee0413.webp
rename to translated_images/pt-BR/life.6fb9f50d53ee0413.webp
diff --git a/translated_images/br/life.78b6e96a3003767e.webp b/translated_images/pt-BR/life.78b6e96a3003767e.webp
similarity index 100%
rename from translated_images/br/life.78b6e96a3003767e.webp
rename to translated_images/pt-BR/life.78b6e96a3003767e.webp
diff --git a/translated_images/br/life.86d843ce9c23289c.webp b/translated_images/pt-BR/life.86d843ce9c23289c.webp
similarity index 100%
rename from translated_images/br/life.86d843ce9c23289c.webp
rename to translated_images/pt-BR/life.86d843ce9c23289c.webp
diff --git a/translated_images/br/localstorage.472f8147b6a3f8d1.webp b/translated_images/pt-BR/localstorage.472f8147b6a3f8d1.webp
similarity index 100%
rename from translated_images/br/localstorage.472f8147b6a3f8d1.webp
rename to translated_images/pt-BR/localstorage.472f8147b6a3f8d1.webp
diff --git a/translated_images/br/log.804026979f3707e0.webp b/translated_images/pt-BR/log.804026979f3707e0.webp
similarity index 100%
rename from translated_images/br/log.804026979f3707e0.webp
rename to translated_images/pt-BR/log.804026979f3707e0.webp
diff --git a/translated_images/br/login-error.416fe019b36a6327.webp b/translated_images/pt-BR/login-error.416fe019b36a6327.webp
similarity index 100%
rename from translated_images/br/login-error.416fe019b36a6327.webp
rename to translated_images/pt-BR/login-error.416fe019b36a6327.webp
diff --git a/translated_images/br/meteorBig.1e452b3ad7af50ad.webp b/translated_images/pt-BR/meteorBig.1e452b3ad7af50ad.webp
similarity index 100%
rename from translated_images/br/meteorBig.1e452b3ad7af50ad.webp
rename to translated_images/pt-BR/meteorBig.1e452b3ad7af50ad.webp
diff --git a/translated_images/br/meteorSmall.0d729bc71c12d41f.webp b/translated_images/pt-BR/meteorSmall.0d729bc71c12d41f.webp
similarity index 100%
rename from translated_images/br/meteorSmall.0d729bc71c12d41f.webp
rename to translated_images/pt-BR/meteorSmall.0d729bc71c12d41f.webp
diff --git a/translated_images/br/moodle.94eb93d714a50cb2.webp b/translated_images/pt-BR/moodle.94eb93d714a50cb2.webp
similarity index 100%
rename from translated_images/br/moodle.94eb93d714a50cb2.webp
rename to translated_images/pt-BR/moodle.94eb93d714a50cb2.webp
diff --git a/translated_images/br/mpa.7f7375a1a2d4aa77.webp b/translated_images/pt-BR/mpa.7f7375a1a2d4aa77.webp
similarity index 100%
rename from translated_images/br/mpa.7f7375a1a2d4aa77.webp
rename to translated_images/pt-BR/mpa.7f7375a1a2d4aa77.webp
diff --git a/translated_images/br/nebula.55c2933d36d035d3.webp b/translated_images/pt-BR/nebula.55c2933d36d035d3.webp
similarity index 100%
rename from translated_images/br/nebula.55c2933d36d035d3.webp
rename to translated_images/pt-BR/nebula.55c2933d36d035d3.webp
diff --git a/translated_images/br/new-file-github.com.c886796d800e8056.webp b/translated_images/pt-BR/new-file-github.com.c886796d800e8056.webp
similarity index 100%
rename from translated_images/br/new-file-github.com.c886796d800e8056.webp
rename to translated_images/pt-BR/new-file-github.com.c886796d800e8056.webp
diff --git a/translated_images/br/open-palette-menu.46dda01084738da8.webp b/translated_images/pt-BR/open-palette-menu.46dda01084738da8.webp
similarity index 100%
rename from translated_images/br/open-palette-menu.46dda01084738da8.webp
rename to translated_images/pt-BR/open-palette-menu.46dda01084738da8.webp
diff --git a/translated_images/br/open-remote-repository.bd9c2598b8949e7f.webp b/translated_images/pt-BR/open-remote-repository.bd9c2598b8949e7f.webp
similarity index 100%
rename from translated_images/br/open-remote-repository.bd9c2598b8949e7f.webp
rename to translated_images/pt-BR/open-remote-repository.bd9c2598b8949e7f.webp
diff --git a/translated_images/br/palette-menu.4946174e07f42622.webp b/translated_images/pt-BR/palette-menu.4946174e07f42622.webp
similarity index 100%
rename from translated_images/br/palette-menu.4946174e07f42622.webp
rename to translated_images/pt-BR/palette-menu.4946174e07f42622.webp
diff --git a/translated_images/br/partI-solution.36c53b48c9ffae2a.webp b/translated_images/pt-BR/partI-solution.36c53b48c9ffae2a.webp
similarity index 100%
rename from translated_images/br/partI-solution.36c53b48c9ffae2a.webp
rename to translated_images/pt-BR/partI-solution.36c53b48c9ffae2a.webp
diff --git a/translated_images/br/plant1.a876180d8659acb9.webp b/translated_images/pt-BR/plant1.a876180d8659acb9.webp
similarity index 100%
rename from translated_images/br/plant1.a876180d8659acb9.webp
rename to translated_images/pt-BR/plant1.a876180d8659acb9.webp
diff --git a/translated_images/br/plant10.2f2c47804ae52dd3.webp b/translated_images/pt-BR/plant10.2f2c47804ae52dd3.webp
similarity index 100%
rename from translated_images/br/plant10.2f2c47804ae52dd3.webp
rename to translated_images/pt-BR/plant10.2f2c47804ae52dd3.webp
diff --git a/translated_images/br/plant11.0ce0081b0ef17aa1.webp b/translated_images/pt-BR/plant11.0ce0081b0ef17aa1.webp
similarity index 100%
rename from translated_images/br/plant11.0ce0081b0ef17aa1.webp
rename to translated_images/pt-BR/plant11.0ce0081b0ef17aa1.webp
diff --git a/translated_images/br/plant12.6b934c4312a00228.webp b/translated_images/pt-BR/plant12.6b934c4312a00228.webp
similarity index 100%
rename from translated_images/br/plant12.6b934c4312a00228.webp
rename to translated_images/pt-BR/plant12.6b934c4312a00228.webp
diff --git a/translated_images/br/plant13.37d6ab2e2481421f.webp b/translated_images/pt-BR/plant13.37d6ab2e2481421f.webp
similarity index 100%
rename from translated_images/br/plant13.37d6ab2e2481421f.webp
rename to translated_images/pt-BR/plant13.37d6ab2e2481421f.webp
diff --git a/translated_images/br/plant14.908791477a46eb7f.webp b/translated_images/pt-BR/plant14.908791477a46eb7f.webp
similarity index 100%
rename from translated_images/br/plant14.908791477a46eb7f.webp
rename to translated_images/pt-BR/plant14.908791477a46eb7f.webp
diff --git a/translated_images/br/plant2.9e45efea224115b0.webp b/translated_images/pt-BR/plant2.9e45efea224115b0.webp
similarity index 100%
rename from translated_images/br/plant2.9e45efea224115b0.webp
rename to translated_images/pt-BR/plant2.9e45efea224115b0.webp
diff --git a/translated_images/br/plant3.06efdd0fa0c4b115.webp b/translated_images/pt-BR/plant3.06efdd0fa0c4b115.webp
similarity index 100%
rename from translated_images/br/plant3.06efdd0fa0c4b115.webp
rename to translated_images/pt-BR/plant3.06efdd0fa0c4b115.webp
diff --git a/translated_images/br/plant4.3b78072b427727c6.webp b/translated_images/pt-BR/plant4.3b78072b427727c6.webp
similarity index 100%
rename from translated_images/br/plant4.3b78072b427727c6.webp
rename to translated_images/pt-BR/plant4.3b78072b427727c6.webp
diff --git a/translated_images/br/plant5.8ec58b18ac336fa8.webp b/translated_images/pt-BR/plant5.8ec58b18ac336fa8.webp
similarity index 100%
rename from translated_images/br/plant5.8ec58b18ac336fa8.webp
rename to translated_images/pt-BR/plant5.8ec58b18ac336fa8.webp
diff --git a/translated_images/br/plant6.ca4ff8372e6676b1.webp b/translated_images/pt-BR/plant6.ca4ff8372e6676b1.webp
similarity index 100%
rename from translated_images/br/plant6.ca4ff8372e6676b1.webp
rename to translated_images/pt-BR/plant6.ca4ff8372e6676b1.webp
diff --git a/translated_images/br/plant7.194d5a42fcf5a88c.webp b/translated_images/pt-BR/plant7.194d5a42fcf5a88c.webp
similarity index 100%
rename from translated_images/br/plant7.194d5a42fcf5a88c.webp
rename to translated_images/pt-BR/plant7.194d5a42fcf5a88c.webp
diff --git a/translated_images/br/plant8.7b247809ab0eb492.webp b/translated_images/pt-BR/plant8.7b247809ab0eb492.webp
similarity index 100%
rename from translated_images/br/plant8.7b247809ab0eb492.webp
rename to translated_images/pt-BR/plant8.7b247809ab0eb492.webp
diff --git a/translated_images/br/plant9.8fe614c01ded1b1e.webp b/translated_images/pt-BR/plant9.8fe614c01ded1b1e.webp
similarity index 100%
rename from translated_images/br/plant9.8fe614c01ded1b1e.webp
rename to translated_images/pt-BR/plant9.8fe614c01ded1b1e.webp
diff --git a/translated_images/br/player.137ee0e47f895ffc.webp b/translated_images/pt-BR/player.137ee0e47f895ffc.webp
similarity index 100%
rename from translated_images/br/player.137ee0e47f895ffc.webp
rename to translated_images/pt-BR/player.137ee0e47f895ffc.webp
diff --git a/translated_images/br/player.2887422f6982c3cd.webp b/translated_images/pt-BR/player.2887422f6982c3cd.webp
similarity index 100%
rename from translated_images/br/player.2887422f6982c3cd.webp
rename to translated_images/pt-BR/player.2887422f6982c3cd.webp
diff --git a/translated_images/br/player.391fed427ede24f5.webp b/translated_images/pt-BR/player.391fed427ede24f5.webp
similarity index 100%
rename from translated_images/br/player.391fed427ede24f5.webp
rename to translated_images/pt-BR/player.391fed427ede24f5.webp
diff --git a/translated_images/br/player.3c4f50182552a73a.webp b/translated_images/pt-BR/player.3c4f50182552a73a.webp
similarity index 100%
rename from translated_images/br/player.3c4f50182552a73a.webp
rename to translated_images/pt-BR/player.3c4f50182552a73a.webp
diff --git a/translated_images/br/player.47bc9de0714c723d.webp b/translated_images/pt-BR/player.47bc9de0714c723d.webp
similarity index 100%
rename from translated_images/br/player.47bc9de0714c723d.webp
rename to translated_images/pt-BR/player.47bc9de0714c723d.webp
diff --git a/translated_images/br/player.57b3107c03012695.webp b/translated_images/pt-BR/player.57b3107c03012695.webp
similarity index 100%
rename from translated_images/br/player.57b3107c03012695.webp
rename to translated_images/pt-BR/player.57b3107c03012695.webp
diff --git a/translated_images/br/player.606f85953e5e564e.webp b/translated_images/pt-BR/player.606f85953e5e564e.webp
similarity index 100%
rename from translated_images/br/player.606f85953e5e564e.webp
rename to translated_images/pt-BR/player.606f85953e5e564e.webp
diff --git a/translated_images/br/player.680ea4c619b54fe1.webp b/translated_images/pt-BR/player.680ea4c619b54fe1.webp
similarity index 100%
rename from translated_images/br/player.680ea4c619b54fe1.webp
rename to translated_images/pt-BR/player.680ea4c619b54fe1.webp
diff --git a/translated_images/br/player.bfe14f110bddf56d.webp b/translated_images/pt-BR/player.bfe14f110bddf56d.webp
similarity index 100%
rename from translated_images/br/player.bfe14f110bddf56d.webp
rename to translated_images/pt-BR/player.bfe14f110bddf56d.webp
diff --git a/translated_images/br/player.c99c25d54a615ca0.webp b/translated_images/pt-BR/player.c99c25d54a615ca0.webp
similarity index 100%
rename from translated_images/br/player.c99c25d54a615ca0.webp
rename to translated_images/pt-BR/player.c99c25d54a615ca0.webp
diff --git a/translated_images/br/player.dd24c1afa8c71e9b.webp b/translated_images/pt-BR/player.dd24c1afa8c71e9b.webp
similarity index 100%
rename from translated_images/br/player.dd24c1afa8c71e9b.webp
rename to translated_images/pt-BR/player.dd24c1afa8c71e9b.webp
diff --git a/translated_images/br/playerDamaged.181703f652fd5176.webp b/translated_images/pt-BR/playerDamaged.181703f652fd5176.webp
similarity index 100%
rename from translated_images/br/playerDamaged.181703f652fd5176.webp
rename to translated_images/pt-BR/playerDamaged.181703f652fd5176.webp
diff --git a/translated_images/br/playerLeft.0f928412e66ba5d9.webp b/translated_images/pt-BR/playerLeft.0f928412e66ba5d9.webp
similarity index 100%
rename from translated_images/br/playerLeft.0f928412e66ba5d9.webp
rename to translated_images/pt-BR/playerLeft.0f928412e66ba5d9.webp
diff --git a/translated_images/br/playerRight.e4825f489e29f737.webp b/translated_images/pt-BR/playerRight.e4825f489e29f737.webp
similarity index 100%
rename from translated_images/br/playerRight.e4825f489e29f737.webp
rename to translated_images/pt-BR/playerRight.e4825f489e29f737.webp
diff --git a/translated_images/br/playground-choice.1d23ba7d407f4758.webp b/translated_images/pt-BR/playground-choice.1d23ba7d407f4758.webp
similarity index 100%
rename from translated_images/br/playground-choice.1d23ba7d407f4758.webp
rename to translated_images/pt-BR/playground-choice.1d23ba7d407f4758.webp
diff --git a/translated_images/br/playground.d2b927122224ff8f.webp b/translated_images/pt-BR/playground.d2b927122224ff8f.webp
similarity index 100%
rename from translated_images/br/playground.d2b927122224ff8f.webp
rename to translated_images/pt-BR/playground.d2b927122224ff8f.webp
diff --git a/translated_images/br/preview.9215f0a010074476.webp b/translated_images/pt-BR/preview.9215f0a010074476.webp
similarity index 100%
rename from translated_images/br/preview.9215f0a010074476.webp
rename to translated_images/pt-BR/preview.9215f0a010074476.webp
diff --git a/translated_images/br/profiler.5a4a62479c5df01c.webp b/translated_images/pt-BR/profiler.5a4a62479c5df01c.webp
similarity index 100%
rename from translated_images/br/profiler.5a4a62479c5df01c.webp
rename to translated_images/pt-BR/profiler.5a4a62479c5df01c.webp
diff --git a/translated_images/br/project-on-vscode.dev.e79815a9a95ee7fe.webp b/translated_images/pt-BR/project-on-vscode.dev.e79815a9a95ee7fe.webp
similarity index 100%
rename from translated_images/br/project-on-vscode.dev.e79815a9a95ee7fe.webp
rename to translated_images/pt-BR/project-on-vscode.dev.e79815a9a95ee7fe.webp
diff --git a/translated_images/br/result.96ef01f607bf856a.webp b/translated_images/pt-BR/result.96ef01f607bf856a.webp
similarity index 100%
rename from translated_images/br/result.96ef01f607bf856a.webp
rename to translated_images/pt-BR/result.96ef01f607bf856a.webp
diff --git a/translated_images/br/screen1.baccbba0f1f93364.webp b/translated_images/pt-BR/screen1.baccbba0f1f93364.webp
similarity index 100%
rename from translated_images/br/screen1.baccbba0f1f93364.webp
rename to translated_images/pt-BR/screen1.baccbba0f1f93364.webp
diff --git a/translated_images/br/screen2.123c82a831a1d14a.webp b/translated_images/pt-BR/screen2.123c82a831a1d14a.webp
similarity index 100%
rename from translated_images/br/screen2.123c82a831a1d14a.webp
rename to translated_images/pt-BR/screen2.123c82a831a1d14a.webp
diff --git a/translated_images/br/screenshot.0a1ee0d123df681b.webp b/translated_images/pt-BR/screenshot.0a1ee0d123df681b.webp
similarity index 100%
rename from translated_images/br/screenshot.0a1ee0d123df681b.webp
rename to translated_images/pt-BR/screenshot.0a1ee0d123df681b.webp
diff --git a/translated_images/br/screenshot.e7a5ad659e364568.webp b/translated_images/pt-BR/screenshot.e7a5ad659e364568.webp
similarity index 100%
rename from translated_images/br/screenshot.e7a5ad659e364568.webp
rename to translated_images/pt-BR/screenshot.e7a5ad659e364568.webp
diff --git a/translated_images/br/screenshot_gray.0c796099a1f9f25e.webp b/translated_images/pt-BR/screenshot_gray.0c796099a1f9f25e.webp
similarity index 100%
rename from translated_images/br/screenshot_gray.0c796099a1f9f25e.webp
rename to translated_images/pt-BR/screenshot_gray.0c796099a1f9f25e.webp
diff --git a/translated_images/br/shield.1b9412b7ca6610ab.webp b/translated_images/pt-BR/shield.1b9412b7ca6610ab.webp
similarity index 100%
rename from translated_images/br/shield.1b9412b7ca6610ab.webp
rename to translated_images/pt-BR/shield.1b9412b7ca6610ab.webp
diff --git a/translated_images/br/snapshot.97750180ebcad737.webp b/translated_images/pt-BR/snapshot.97750180ebcad737.webp
similarity index 100%
rename from translated_images/br/snapshot.97750180ebcad737.webp
rename to translated_images/pt-BR/snapshot.97750180ebcad737.webp
diff --git a/translated_images/br/spa.268ec73b41f992c2.webp b/translated_images/pt-BR/spa.268ec73b41f992c2.webp
similarity index 100%
rename from translated_images/br/spa.268ec73b41f992c2.webp
rename to translated_images/pt-BR/spa.268ec73b41f992c2.webp
diff --git a/translated_images/br/speedLine.5bcabb93f48b5ae1.webp b/translated_images/pt-BR/speedLine.5bcabb93f48b5ae1.webp
similarity index 100%
rename from translated_images/br/speedLine.5bcabb93f48b5ae1.webp
rename to translated_images/pt-BR/speedLine.5bcabb93f48b5ae1.webp
diff --git a/translated_images/br/spritesheet.bec82852290b14ee.webp b/translated_images/pt-BR/spritesheet.bec82852290b14ee.webp
similarity index 100%
rename from translated_images/br/spritesheet.bec82852290b14ee.webp
rename to translated_images/pt-BR/spritesheet.bec82852290b14ee.webp
diff --git a/translated_images/br/starBackground.a897b8acb1b0587d.webp b/translated_images/pt-BR/starBackground.a897b8acb1b0587d.webp
similarity index 100%
rename from translated_images/br/starBackground.a897b8acb1b0587d.webp
rename to translated_images/pt-BR/starBackground.a897b8acb1b0587d.webp
diff --git a/translated_images/br/starBig.72e9c6d0d18f363d.webp b/translated_images/pt-BR/starBig.72e9c6d0d18f363d.webp
similarity index 100%
rename from translated_images/br/starBig.72e9c6d0d18f363d.webp
rename to translated_images/pt-BR/starBig.72e9c6d0d18f363d.webp
diff --git a/translated_images/br/starSmall.ed78b961dbcd0898.webp b/translated_images/pt-BR/starSmall.ed78b961dbcd0898.webp
similarity index 100%
rename from translated_images/br/starSmall.ed78b961dbcd0898.webp
rename to translated_images/pt-BR/starSmall.ed78b961dbcd0898.webp
diff --git a/translated_images/br/template.67ad477109d29a2b.webp b/translated_images/pt-BR/template.67ad477109d29a2b.webp
similarity index 100%
rename from translated_images/br/template.67ad477109d29a2b.webp
rename to translated_images/pt-BR/template.67ad477109d29a2b.webp
diff --git a/translated_images/br/terrarium-final.0920f16e87c13a84.webp b/translated_images/pt-BR/terrarium-final.0920f16e87c13a84.webp
similarity index 100%
rename from translated_images/br/terrarium-final.0920f16e87c13a84.webp
rename to translated_images/pt-BR/terrarium-final.0920f16e87c13a84.webp
diff --git a/translated_images/br/terrarium-final.2f07047ffc597d0a.webp b/translated_images/pt-BR/terrarium-final.2f07047ffc597d0a.webp
similarity index 100%
rename from translated_images/br/terrarium-final.2f07047ffc597d0a.webp
rename to translated_images/pt-BR/terrarium-final.2f07047ffc597d0a.webp
diff --git a/translated_images/br/validation-error.8bd23e98d416c22f.webp b/translated_images/pt-BR/validation-error.8bd23e98d416c22f.webp
similarity index 100%
rename from translated_images/br/validation-error.8bd23e98d416c22f.webp
rename to translated_images/pt-BR/validation-error.8bd23e98d416c22f.webp
diff --git a/translated_images/br/vs-code-index.e2986cf919471eb9.webp b/translated_images/pt-BR/vs-code-index.e2986cf919471eb9.webp
similarity index 100%
rename from translated_images/br/vs-code-index.e2986cf919471eb9.webp
rename to translated_images/pt-BR/vs-code-index.e2986cf919471eb9.webp
diff --git a/translated_images/br/webdev101-a11y.8ef3025c858d897a.webp b/translated_images/pt-BR/webdev101-a11y.8ef3025c858d897a.webp
similarity index 100%
rename from translated_images/br/webdev101-a11y.8ef3025c858d897a.webp
rename to translated_images/pt-BR/webdev101-a11y.8ef3025c858d897a.webp
diff --git a/translated_images/br/webdev101-css.3f7af5991bf53a20.webp b/translated_images/pt-BR/webdev101-css.3f7af5991bf53a20.webp
similarity index 100%
rename from translated_images/br/webdev101-css.3f7af5991bf53a20.webp
rename to translated_images/pt-BR/webdev101-css.3f7af5991bf53a20.webp
diff --git a/translated_images/br/webdev101-github.8846d7971abef6f9.webp b/translated_images/pt-BR/webdev101-github.8846d7971abef6f9.webp
similarity index 100%
rename from translated_images/br/webdev101-github.8846d7971abef6f9.webp
rename to translated_images/pt-BR/webdev101-github.8846d7971abef6f9.webp
diff --git a/translated_images/br/webdev101-html.4389c2067af68e98.webp b/translated_images/pt-BR/webdev101-html.4389c2067af68e98.webp
similarity index 100%
rename from translated_images/br/webdev101-html.4389c2067af68e98.webp
rename to translated_images/pt-BR/webdev101-html.4389c2067af68e98.webp
diff --git a/translated_images/br/webdev101-js-arrays.439d7528b8a29455.webp b/translated_images/pt-BR/webdev101-js-arrays.439d7528b8a29455.webp
similarity index 100%
rename from translated_images/br/webdev101-js-arrays.439d7528b8a29455.webp
rename to translated_images/pt-BR/webdev101-js-arrays.439d7528b8a29455.webp
diff --git a/translated_images/br/webdev101-js-datatypes.4cc470179730702c.webp b/translated_images/pt-BR/webdev101-js-datatypes.4cc470179730702c.webp
similarity index 100%
rename from translated_images/br/webdev101-js-datatypes.4cc470179730702c.webp
rename to translated_images/pt-BR/webdev101-js-datatypes.4cc470179730702c.webp
diff --git a/translated_images/br/webdev101-js-decisions.69e1b20f272dd1f0.webp b/translated_images/pt-BR/webdev101-js-decisions.69e1b20f272dd1f0.webp
similarity index 100%
rename from translated_images/br/webdev101-js-decisions.69e1b20f272dd1f0.webp
rename to translated_images/pt-BR/webdev101-js-decisions.69e1b20f272dd1f0.webp
diff --git a/translated_images/br/webdev101-js-functions.be049c4726e94f8b.webp b/translated_images/pt-BR/webdev101-js-functions.be049c4726e94f8b.webp
similarity index 100%
rename from translated_images/br/webdev101-js-functions.be049c4726e94f8b.webp
rename to translated_images/pt-BR/webdev101-js-functions.be049c4726e94f8b.webp
diff --git a/translated_images/br/webdev101-js.10280393044d7eaa.webp b/translated_images/pt-BR/webdev101-js.10280393044d7eaa.webp
similarity index 100%
rename from translated_images/br/webdev101-js.10280393044d7eaa.webp
rename to translated_images/pt-BR/webdev101-js.10280393044d7eaa.webp
diff --git a/translated_images/br/webdev101-programming.d6e3f98e61ac4bff.webp b/translated_images/pt-BR/webdev101-programming.d6e3f98e61ac4bff.webp
similarity index 100%
rename from translated_images/br/webdev101-programming.d6e3f98e61ac4bff.webp
rename to translated_images/pt-BR/webdev101-programming.d6e3f98e61ac4bff.webp
diff --git a/translated_images/br/working-tree-pb.6cd43e5076f23ba3.webp b/translated_images/pt-BR/working-tree-pb.6cd43e5076f23ba3.webp
similarity index 100%
rename from translated_images/br/working-tree-pb.6cd43e5076f23ba3.webp
rename to translated_images/pt-BR/working-tree-pb.6cd43e5076f23ba3.webp
diff --git a/translated_images/br/working-tree.c58eec08e6335c79.webp b/translated_images/pt-BR/working-tree.c58eec08e6335c79.webp
similarity index 100%
rename from translated_images/br/working-tree.c58eec08e6335c79.webp
rename to translated_images/pt-BR/working-tree.c58eec08e6335c79.webp
diff --git a/translated_images/pt/.co-op-translator.json b/translated_images/pt-PT/.co-op-translator.json
similarity index 88%
rename from translated_images/pt/.co-op-translator.json
rename to translated_images/pt-PT/.co-op-translator.json
index 4135dd312..cad030438 100644
--- a/translated_images/pt/.co-op-translator.json
+++ b/translated_images/pt-PT/.co-op-translator.json
@@ -3,858 +3,858 @@
"original_hash": "6b12479c2e6a54160867fa8945c04082",
"translation_date": "2026-01-15T17:41:56+00:00",
"source_file": "5-browser-extension/1-about-browsers/images/1.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"1.cc07a5cbe114ad1d.webp": {
"original_hash": "fc436b6749801dd90d0558ae92d56b60",
"translation_date": "2026-01-15T17:46:07+00:00",
"source_file": "3-terrarium/2-intro-to-css/images/1.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"2.1dae52ff08042246.webp": {
"original_hash": "3995628a6a986308859d0cb6eed8d787",
"translation_date": "2026-01-15T17:41:31+00:00",
"source_file": "5-browser-extension/1-about-browsers/images/2.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"after-codeswing-extension-pb.0ebddddcf73b5509.webp": {
"original_hash": "861d59ec65a7334c5f3a4c02dfe22ceb",
"translation_date": "2026-01-15T17:37:13+00:00",
"source_file": "8-code-editor/images/after-codeswing-extension-pb.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"background.148a8d43afde5730.webp": {
"original_hash": "5a50f015fb466782c69063ffebb256de",
"translation_date": "2026-01-15T17:31:17+00:00",
"source_file": "images/background.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"backgroundColor.e19c3c60768150c8.webp": {
"original_hash": "b3e10fe033f615ec9d3580cce61eae09",
"translation_date": "2026-01-15T17:40:21+00:00",
"source_file": "6-space-game/solution/spaceArt/png/Background/backgroundColor.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"browser-console.efaf0b51aaaf6778.webp": {
"original_hash": "8d6c5077d1f133d27c65c0014ef503a9",
"translation_date": "2026-01-15T17:42:42+00:00",
"source_file": "7-bank-project/2-forms/images/browser-console.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"browser.60317c9be8b7f84a.webp": {
"original_hash": "aa4461fec006d86899864d991b50cc74",
"translation_date": "2026-01-15T17:31:47+00:00",
"source_file": "sketchnotes/browser.jpg",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"canvas.fbd605ff8e5b8aff.webp": {
"original_hash": "29556305738d345dd023554d788d5477",
"translation_date": "2026-01-15T17:28:58+00:00",
"source_file": "teaching-files/canvas.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"canvas_grid.5f209da785ded492.webp": {
"original_hash": "8da354720ffbfd778571aa17402de890",
"translation_date": "2026-01-15T17:39:52+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/canvas_grid.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"character.5c0dd8e067ffd693.webp": {
"original_hash": "076bbb4d25a17982c81973b8dba9d4fa",
"translation_date": "2026-01-15T17:31:03+00:00",
"source_file": "images/character.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"click-register.e89a30bf0d4bc9ca.webp": {
"original_hash": "ef9688313524664fad6ab9b0e080c758",
"translation_date": "2026-01-15T17:42:27+00:00",
"source_file": "7-bank-project/2-forms/images/click-register.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"clone_repo.5085c48d666ead57.webp": {
"original_hash": "28c00f3d5861ab95d188b4f6a2d337df",
"translation_date": "2026-01-15T17:46:11+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/images/clone_repo.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"clone_repo.6a202fb230ab6bdd.webp": {
"original_hash": "9261d014674312eece91deae958538cf",
"translation_date": "2026-01-15T17:31:11+00:00",
"source_file": "images/clone_repo.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"codespace.bcecbdf5d2747d3d.webp": {
"original_hash": "ff86a65511122ddb448e092969566b0a",
"translation_date": "2026-01-15T17:46:16+00:00",
"source_file": "9-chat-project/assets/codespace.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"create-a-fork.297ab42b4bd0af99.webp": {
"original_hash": "10712b80e3dcfa7c44fb8820a6ff3ad3",
"translation_date": "2026-01-15T17:37:58+00:00",
"source_file": "8-code-editor/images/create-a-fork.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"create-new-file-pb.0797800d977ec3eb.webp": {
"original_hash": "c149c42e04132f2409651425d6924ffa",
"translation_date": "2026-01-15T17:36:28+00:00",
"source_file": "8-code-editor/images/create-new-file-pb.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"create-new-file.2814e609c2af9aeb.webp": {
"original_hash": "cf6df76faeac2d92904e5d877b7bdf69",
"translation_date": "2026-01-15T17:36:21+00:00",
"source_file": "8-code-editor/images/create-new-file.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"createcodespace.0238bbf4d7a8d955.webp": {
"original_hash": "4f504323085308f4a0e7b5bfb37e16d7",
"translation_date": "2026-01-15T17:29:57+00:00",
"source_file": "images/createcodespace.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"data-flow.fa2354e0908fecc8.webp": {
"original_hash": "c9b82b42fa1973b3b7bfad9c7128c24c",
"translation_date": "2026-01-15T17:43:03+00:00",
"source_file": "7-bank-project/4-state-management/images/data-flow.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"default-vscode-dev.5d06881d65c1b323.webp": {
"original_hash": "146fecc3a9da37cb1d5c9d628cd94996",
"translation_date": "2026-01-15T17:38:55+00:00",
"source_file": "8-code-editor/images/default-vscode-dev.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"dialog.93bba104afeb79f1.webp": {
"original_hash": "c56b5ad7eb8c4df4b3ed8a99bf67e6e2",
"translation_date": "2026-01-15T17:42:58+00:00",
"source_file": "7-bank-project/4-state-management/images/dialog.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"dom-tree.7daf0e763cbbba92.webp": {
"original_hash": "579f4ae298ff15a357def7f442671847",
"translation_date": "2026-01-15T17:43:16+00:00",
"source_file": "3-terrarium/3-intro-to-DOM-and-closures/images/dom-tree.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"earlybrowsers.d984b711cdf3a42d.webp": {
"original_hash": "810a4d2348668e25289029c5cfcb67bd",
"translation_date": "2026-01-15T17:41:20+00:00",
"source_file": "5-browser-extension/1-about-browsers/images/earlybrowsers.jpg",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"edit-a-file-pb.263555922c14fc52.webp": {
"original_hash": "5c52723d35259eadd110d0c720a87b04",
"translation_date": "2026-01-15T17:38:21+00:00",
"source_file": "8-code-editor/images/edit-a-file-pb.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"edit-a-file.52c0ee665ef19f08.webp": {
"original_hash": "c28903236d60be6bba3f3848ea368c63",
"translation_date": "2026-01-15T17:39:48+00:00",
"source_file": "8-code-editor/images/edit-a-file.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"enemyShip.035a46787bff658c.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:09+00:00",
"source_file": "6-space-game/5-keeping-score/solution/assets/enemyShip.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"enemyShip.1a1354d7988de290.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:05+00:00",
"source_file": "6-space-game/6-end-condition/solution/assets/enemyShip.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"enemyShip.22cbee6ea27a5809.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:00+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/your-work/assets/enemyShip.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"enemyShip.321ecb1b4eb21f2c.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:07+00:00",
"source_file": "6-space-game/5-keeping-score/your-work/assets/enemyShip.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"enemyShip.4fbf2889e6129db4.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:03+00:00",
"source_file": "6-space-game/6-end-condition/your-work/assets/enemyShip.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"enemyShip.5df2a822c16650c2.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:02+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/solution/assets/enemyShip.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"enemyShip.62983ed4bfb2220f.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:29+00:00",
"source_file": "6-space-game/3-moving-elements-around/solution/assets/enemyShip.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"enemyShip.add7036e1c3c3014.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:39:59+00:00",
"source_file": "6-space-game/4-collision-detection/solution/assets/enemyShip.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"enemyShip.b39a140287683bf7.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:27+00:00",
"source_file": "6-space-game/3-moving-elements-around/your-work/assets/enemyShip.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"enemyShip.b9626ed228a17a32.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:39:57+00:00",
"source_file": "6-space-game/4-collision-detection/your-work/assets/enemyShip.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"enemyShip.deb0477a7312f54d.webp": {
"original_hash": "2a41854e0eaa974e8619298f3b333e11",
"translation_date": "2026-01-15T17:40:15+00:00",
"source_file": "6-space-game/solution/spaceArt/png/enemyShip.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"enemyUFO.bf8585e4e8dcdb68.webp": {
"original_hash": "18198bef76e4882928e4092344d0fb98",
"translation_date": "2026-01-15T17:40:18+00:00",
"source_file": "6-space-game/solution/spaceArt/png/enemyUFO.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"extension-details.9f8f1fd4e9eb2de5.webp": {
"original_hash": "f57d2e246e6ba8a58463d7573640d714",
"translation_date": "2026-01-15T17:39:37+00:00",
"source_file": "8-code-editor/images/extension-details.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"extension-screenshot.0e7f5bfa110e92e3.webp": {
"original_hash": "4fdd1d3fdbc9ac2c2932f83847a5e4b8",
"translation_date": "2026-01-15T17:29:41+00:00",
"source_file": "5-browser-extension/extension-screenshot.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"extension-settings.21c752ae4f4cdb78.webp": {
"original_hash": "fd7ebcb5d84c78047026ab3337908306",
"translation_date": "2026-01-15T17:36:41+00:00",
"source_file": "8-code-editor/images/extension-settings.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"extensions.eca0e0c7f59a10b5.webp": {
"original_hash": "a6c9c8f51d3edd917262e53664f08441",
"translation_date": "2026-01-15T17:38:07+00:00",
"source_file": "8-code-editor/images/extensions.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"favicon.37b561214b36d454.webp": {
"original_hash": "228faa6584f8ba1f7e9a75e3200112e9",
"translation_date": "2026-01-15T17:30:59+00:00",
"source_file": "images/favicon.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"form-post.61de4ca1b964d91a.webp": {
"original_hash": "7e95c76a8ea2e82bceea70aae89f2360",
"translation_date": "2026-01-15T17:42:29+00:00",
"source_file": "7-bank-project/2-forms/images/form-post.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"history.7fdabbafa521e064.webp": {
"original_hash": "445d71bea6a747dfe547df7eea846439",
"translation_date": "2026-01-15T17:42:04+00:00",
"source_file": "7-bank-project/1-template-route/history.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"install-on-edge.78634f02842c4828.webp": {
"original_hash": "6224aad8f1cd252da83c2808ff5c7a4e",
"translation_date": "2026-01-15T17:29:22+00:00",
"source_file": "5-browser-extension/install-on-edge.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"install-on-edge.d68781acaf0b3d3d.webp": {
"original_hash": "6224aad8f1cd252da83c2808ff5c7a4e",
"translation_date": "2026-01-15T17:41:42+00:00",
"source_file": "5-browser-extension/1-about-browsers/images/install-on-edge.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"laserGreen.89904f0f49945560.webp": {
"original_hash": "ddf7102c86fc3ec46037714c60091851",
"translation_date": "2026-01-15T17:40:17+00:00",
"source_file": "6-space-game/solution/spaceArt/png/laserGreen.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"laserGreenShot.e4fbfc4714c08a5b.webp": {
"original_hash": "cb6ed500c16736a41998e4cd0c467df7",
"translation_date": "2026-01-15T17:40:16+00:00",
"source_file": "6-space-game/solution/spaceArt/png/laserGreenShot.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"laserRed.2040e11f55c0a40a.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:05+00:00",
"source_file": "6-space-game/6-end-condition/solution/assets/laserRed.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"laserRed.381bc5555491ce67.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:27+00:00",
"source_file": "6-space-game/3-moving-elements-around/your-work/assets/laserRed.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"laserRed.69730edd76f0b3bd.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:03+00:00",
"source_file": "6-space-game/6-end-condition/your-work/assets/laserRed.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"laserRed.b583dc1728eb8581.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:09+00:00",
"source_file": "6-space-game/5-keeping-score/solution/assets/laserRed.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"laserRed.cae9ab24ea9b18fd.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:39:59+00:00",
"source_file": "6-space-game/4-collision-detection/solution/assets/laserRed.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"laserRed.d81ce4986f87c251.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:15+00:00",
"source_file": "6-space-game/solution/spaceArt/png/laserRed.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"laserRed.e58ef8db2585dfbe.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:07+00:00",
"source_file": "6-space-game/5-keeping-score/your-work/assets/laserRed.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"laserRed.e66e29ace6666064.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:40:28+00:00",
"source_file": "6-space-game/3-moving-elements-around/solution/assets/laserRed.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"laserRed.e86e8fb629c6026e.webp": {
"original_hash": "6f0626e9839beb9d9a82ff40699aabfd",
"translation_date": "2026-01-15T17:39:57+00:00",
"source_file": "6-space-game/4-collision-detection/your-work/assets/laserRed.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"laserRedShot.c39d066745996a71.webp": {
"original_hash": "1f1048184aab9d405e9f7d067a57af01",
"translation_date": "2026-01-15T17:40:17+00:00",
"source_file": "6-space-game/solution/spaceArt/png/laserRedShot.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"life.27144b6d4bfdea76.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:40:17+00:00",
"source_file": "6-space-game/solution/spaceArt/png/life.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"life.2a159298dd98f4ef.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:40:08+00:00",
"source_file": "6-space-game/5-keeping-score/your-work/assets/life.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"life.466df3b1692a244a.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:39:58+00:00",
"source_file": "6-space-game/4-collision-detection/your-work/assets/life.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"life.65a2aaceca875284.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:40:00+00:00",
"source_file": "6-space-game/4-collision-detection/solution/assets/life.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"life.6fb9f50d53ee0413.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:40:10+00:00",
"source_file": "6-space-game/5-keeping-score/solution/assets/life.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"life.78b6e96a3003767e.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:40:04+00:00",
"source_file": "6-space-game/6-end-condition/your-work/assets/life.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"life.86d843ce9c23289c.webp": {
"original_hash": "9a5d93e699071693b15b7b157f760a90",
"translation_date": "2026-01-15T17:40:07+00:00",
"source_file": "6-space-game/6-end-condition/solution/assets/life.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"localstorage.472f8147b6a3f8d1.webp": {
"original_hash": "7706ccb87a13a08250f315f03140bc61",
"translation_date": "2026-01-15T17:40:34+00:00",
"source_file": "5-browser-extension/2-forms-browsers-local-storage/images/localstorage.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"log.804026979f3707e0.webp": {
"original_hash": "4c5e39f339781db01641b77b6b2d6026",
"translation_date": "2026-01-15T17:41:12+00:00",
"source_file": "5-browser-extension/3-background-tasks-and-performance/images/log.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"login-error.416fe019b36a6327.webp": {
"original_hash": "ea96ed372d7a4c37ee2df3f0352f79d1",
"translation_date": "2026-01-15T17:42:47+00:00",
"source_file": "7-bank-project/3-data/images/login-error.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"meteorBig.1e452b3ad7af50ad.webp": {
"original_hash": "07f37816512f563dd68780fdee2e30a6",
"translation_date": "2026-01-15T17:40:14+00:00",
"source_file": "6-space-game/solution/spaceArt/png/meteorBig.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"meteorSmall.0d729bc71c12d41f.webp": {
"original_hash": "ebabf6690cc614f9e33f019c356166fa",
"translation_date": "2026-01-15T17:40:15+00:00",
"source_file": "6-space-game/solution/spaceArt/png/meteorSmall.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"moodle.94eb93d714a50cb2.webp": {
"original_hash": "0d04a6ef1ac524b452d5a0aae3f45bee",
"translation_date": "2026-01-15T17:28:40+00:00",
"source_file": "teaching-files/moodle.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"mpa.7f7375a1a2d4aa77.webp": {
"original_hash": "021255b74f0b79b0c286c163c210ef3d",
"translation_date": "2026-01-15T17:42:50+00:00",
"source_file": "7-bank-project/3-data/images/mpa.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"nebula.55c2933d36d035d3.webp": {
"original_hash": "e0fa4f86653c6fe97bc77271c46241c2",
"translation_date": "2026-01-15T17:40:26+00:00",
"source_file": "6-space-game/solution/spaceArt/png/Background/nebula.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"new-file-github.com.c886796d800e8056.webp": {
"original_hash": "2e0ddd0dad4734e3968b70907df9c052",
"translation_date": "2026-01-15T17:39:06+00:00",
"source_file": "8-code-editor/images/new-file-github.com.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"open-palette-menu.46dda01084738da8.webp": {
"original_hash": "1860e80bf0534b9d54ef0fcb7e1a9f9e",
"translation_date": "2026-01-15T17:38:51+00:00",
"source_file": "8-code-editor/images/open-palette-menu.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"open-remote-repository.bd9c2598b8949e7f.webp": {
"original_hash": "777c01a9242da7d5d0e1b037df9c86f9",
"translation_date": "2026-01-15T17:38:03+00:00",
"source_file": "8-code-editor/images/open-remote-repository.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"palette-menu.4946174e07f42622.webp": {
"original_hash": "7387b91076790084ec8828866e88c6ce",
"translation_date": "2026-01-15T17:38:47+00:00",
"source_file": "8-code-editor/images/palette-menu.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"partI-solution.36c53b48c9ffae2a.webp": {
"original_hash": "fbbd263368f61f8ed3a86c4571e6810b",
"translation_date": "2026-01-15T17:39:55+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/partI-solution.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant1.a876180d8659acb9.webp": {
"original_hash": "e08f9b0f46f6d9d7c9949d4c3e590694",
"translation_date": "2026-01-15T17:44:22+00:00",
"source_file": "3-terrarium/solution/images/plant1.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant10.2f2c47804ae52dd3.webp": {
"original_hash": "dba97454882c2796c52a33c403db61f7",
"translation_date": "2026-01-15T17:45:03+00:00",
"source_file": "3-terrarium/solution/images/plant10.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant11.0ce0081b0ef17aa1.webp": {
"original_hash": "68346dbd1ae03331b0a87025c3e8e9e2",
"translation_date": "2026-01-15T17:44:51+00:00",
"source_file": "3-terrarium/solution/images/plant11.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant12.6b934c4312a00228.webp": {
"original_hash": "dafacde8e7a0b56c4baaabe88b4f90e2",
"translation_date": "2026-01-15T17:45:58+00:00",
"source_file": "3-terrarium/solution/images/plant12.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant13.37d6ab2e2481421f.webp": {
"original_hash": "5cac561d7596ee631c4d02436d8f6998",
"translation_date": "2026-01-15T17:45:15+00:00",
"source_file": "3-terrarium/solution/images/plant13.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant14.908791477a46eb7f.webp": {
"original_hash": "349b8e5a33d1221bef4a4ac3bb439bb9",
"translation_date": "2026-01-15T17:44:30+00:00",
"source_file": "3-terrarium/solution/images/plant14.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant2.9e45efea224115b0.webp": {
"original_hash": "24beefd3dcca66085b44d3ae5d9758e1",
"translation_date": "2026-01-15T17:45:50+00:00",
"source_file": "3-terrarium/solution/images/plant2.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant3.06efdd0fa0c4b115.webp": {
"original_hash": "7e40e6f14cf52f7d75ed42320817b044",
"translation_date": "2026-01-15T17:45:34+00:00",
"source_file": "3-terrarium/solution/images/plant3.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant4.3b78072b427727c6.webp": {
"original_hash": "c523205855d0691a9a0161c6abca983c",
"translation_date": "2026-01-15T17:45:26+00:00",
"source_file": "3-terrarium/solution/images/plant4.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant5.8ec58b18ac336fa8.webp": {
"original_hash": "bcf5f2eacd7da3fe6b07c857d7f5a2ce",
"translation_date": "2026-01-15T17:45:41+00:00",
"source_file": "3-terrarium/solution/images/plant5.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant6.ca4ff8372e6676b1.webp": {
"original_hash": "6932fdb455fcae5b324b129367d2f56a",
"translation_date": "2026-01-15T17:44:41+00:00",
"source_file": "3-terrarium/solution/images/plant6.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant7.194d5a42fcf5a88c.webp": {
"original_hash": "b7a1e35f9946cb04440ce620c34f201d",
"translation_date": "2026-01-15T17:43:38+00:00",
"source_file": "3-terrarium/solution/images/plant7.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant8.7b247809ab0eb492.webp": {
"original_hash": "3eb38c747aaf33ce7aa70b58a31b62a8",
"translation_date": "2026-01-15T17:44:05+00:00",
"source_file": "3-terrarium/solution/images/plant8.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"plant9.8fe614c01ded1b1e.webp": {
"original_hash": "a9655c162938a27c63d48ac675061e2b",
"translation_date": "2026-01-15T17:43:50+00:00",
"source_file": "3-terrarium/solution/images/plant9.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"player.137ee0e47f895ffc.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:06+00:00",
"source_file": "6-space-game/6-end-condition/solution/assets/player.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"player.2887422f6982c3cd.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:08+00:00",
"source_file": "6-space-game/5-keeping-score/your-work/assets/player.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"player.391fed427ede24f5.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:10+00:00",
"source_file": "6-space-game/5-keeping-score/solution/assets/player.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"player.3c4f50182552a73a.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:28+00:00",
"source_file": "6-space-game/3-moving-elements-around/your-work/assets/player.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"player.47bc9de0714c723d.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:01+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/your-work/assets/player.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"player.57b3107c03012695.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:16+00:00",
"source_file": "6-space-game/solution/spaceArt/png/player.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"player.606f85953e5e564e.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:04+00:00",
"source_file": "6-space-game/6-end-condition/your-work/assets/player.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"player.680ea4c619b54fe1.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:39:58+00:00",
"source_file": "6-space-game/4-collision-detection/your-work/assets/player.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"player.bfe14f110bddf56d.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:29+00:00",
"source_file": "6-space-game/3-moving-elements-around/solution/assets/player.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"player.c99c25d54a615ca0.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:00+00:00",
"source_file": "6-space-game/4-collision-detection/solution/assets/player.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"player.dd24c1afa8c71e9b.webp": {
"original_hash": "952e66c2dd458cfd6e82052f7123a97b",
"translation_date": "2026-01-15T17:40:02+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/solution/assets/player.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"playerDamaged.181703f652fd5176.webp": {
"original_hash": "9d71aebe7303edd536064fb0f5e2ae82",
"translation_date": "2026-01-15T17:40:20+00:00",
"source_file": "6-space-game/solution/spaceArt/png/playerDamaged.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"playerLeft.0f928412e66ba5d9.webp": {
"original_hash": "40a42047b8ee49c6dd87c981e98d4d2e",
"translation_date": "2026-01-15T17:40:21+00:00",
"source_file": "6-space-game/solution/spaceArt/png/playerLeft.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"playerRight.e4825f489e29f737.webp": {
"original_hash": "1c7b03f73e1d6ed74955357680cb05cb",
"translation_date": "2026-01-15T17:40:20+00:00",
"source_file": "6-space-game/solution/spaceArt/png/playerRight.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"playground-choice.1d23ba7d407f4758.webp": {
"original_hash": "1c2e88cad7aad10922b4de1e87f1a47f",
"translation_date": "2026-01-15T17:46:45+00:00",
"source_file": "9-chat-project/assets/playground-choice.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"playground.d2b927122224ff8f.webp": {
"original_hash": "4152bb8cd5f23e73d58b3beb52919477",
"translation_date": "2026-01-15T17:46:27+00:00",
"source_file": "9-chat-project/assets/playground.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"preview.9215f0a010074476.webp": {
"original_hash": "6eaab6a69de1fa433e822578652c7287",
"translation_date": "2026-01-15T17:40:12+00:00",
"source_file": "6-space-game/solution/spaceArt/preview.jpg",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"profiler.5a4a62479c5df01c.webp": {
"original_hash": "40b8a4d9f47e2f3e18aa2e814a15356c",
"translation_date": "2026-01-15T17:40:52+00:00",
"source_file": "5-browser-extension/3-background-tasks-and-performance/images/profiler.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"project-on-vscode.dev.e79815a9a95ee7fe.webp": {
"original_hash": "35de4bc32ea66a11f919671558e07d52",
"translation_date": "2026-01-15T17:39:00+00:00",
"source_file": "8-code-editor/images/project-on-vscode.dev.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"result.96ef01f607bf856a.webp": {
"original_hash": "e83c44a0fcaa7720ce32eb71d53d5250",
"translation_date": "2026-01-15T17:42:37+00:00",
"source_file": "7-bank-project/2-forms/images/result.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"screen1.baccbba0f1f93364.webp": {
"original_hash": "92c8fa2dbe566c4e19c98a9e7de6faa6",
"translation_date": "2026-01-15T17:42:09+00:00",
"source_file": "7-bank-project/images/screen1.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"screen2.123c82a831a1d14a.webp": {
"original_hash": "43b7f2857d5f758394e443df8fbc31cf",
"translation_date": "2026-01-15T17:42:14+00:00",
"source_file": "7-bank-project/images/screen2.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"screenshot.0a1ee0d123df681b.webp": {
"original_hash": "f909b463a14ff6542a816470f68bfac3",
"translation_date": "2026-01-15T17:46:56+00:00",
"source_file": "9-chat-project/assets/screenshot.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"screenshot.e7a5ad659e364568.webp": {
"original_hash": "c562c1fdc9d73658456e02b873e4dff9",
"translation_date": "2026-01-15T17:31:32+00:00",
"source_file": "images/screenshot.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"screenshot_gray.0c796099a1f9f25e.webp": {
"original_hash": "324b7bff7867c38e100d0acad18ed53d",
"translation_date": "2026-01-15T17:43:06+00:00",
"source_file": "3-terrarium/images/screenshot_gray.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"shield.1b9412b7ca6610ab.webp": {
"original_hash": "a672dc1a5f905918272bb58f1e236340",
"translation_date": "2026-01-15T17:40:19+00:00",
"source_file": "6-space-game/solution/spaceArt/png/shield.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"snapshot.97750180ebcad737.webp": {
"original_hash": "9db2fa7afcc1d258ec1a130cef145f94",
"translation_date": "2026-01-15T17:40:41+00:00",
"source_file": "5-browser-extension/3-background-tasks-and-performance/images/snapshot.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"spa.268ec73b41f992c2.webp": {
"original_hash": "3d3d7273070c2ddab04458fbb084ad4a",
"translation_date": "2026-01-15T17:42:53+00:00",
"source_file": "7-bank-project/3-data/images/spa.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"speedLine.5bcabb93f48b5ae1.webp": {
"original_hash": "ef791dbe8ea2e21cf697831e203803d5",
"translation_date": "2026-01-15T17:40:26+00:00",
"source_file": "6-space-game/solution/spaceArt/png/Background/speedLine.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"spritesheet.bec82852290b14ee.webp": {
"original_hash": "d593b0f366e9efd2f2b3ef18e7eb2d0c",
"translation_date": "2026-01-15T17:39:56+00:00",
"source_file": "6-space-game/solution/spritesheet.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"starBackground.a897b8acb1b0587d.webp": {
"original_hash": "cca00ba0b9e73859ab5bb928d5ca2fa2",
"translation_date": "2026-01-15T17:40:23+00:00",
"source_file": "6-space-game/solution/spaceArt/png/Background/starBackground.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"starBig.72e9c6d0d18f363d.webp": {
"original_hash": "4e8f1abc8b48d75990117ea8b6207842",
"translation_date": "2026-01-15T17:40:22+00:00",
"source_file": "6-space-game/solution/spaceArt/png/Background/starBig.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"starSmall.ed78b961dbcd0898.webp": {
"original_hash": "609bf88a971475818f95816b8cf71508",
"translation_date": "2026-01-15T17:40:25+00:00",
"source_file": "6-space-game/solution/spaceArt/png/Background/starSmall.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"template.67ad477109d29a2b.webp": {
"original_hash": "a184e4c012fd4fca9ab3c552df87bd0c",
"translation_date": "2026-01-15T17:46:49+00:00",
"source_file": "9-chat-project/assets/template.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"terrarium-final.0920f16e87c13a84.webp": {
"original_hash": "324b7bff7867c38e100d0acad18ed53d",
"translation_date": "2026-01-15T17:43:30+00:00",
"source_file": "3-terrarium/3-intro-to-DOM-and-closures/images/terrarium-final.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"terrarium-final.2f07047ffc597d0a.webp": {
"original_hash": "c669f9222e16690bb2015ce86bb4739c",
"translation_date": "2026-01-15T17:46:03+00:00",
"source_file": "3-terrarium/2-intro-to-css/images/terrarium-final.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"validation-error.8bd23e98d416c22f.webp": {
"original_hash": "d614ce6b24e2583901da9038297fe327",
"translation_date": "2026-01-15T17:42:34+00:00",
"source_file": "7-bank-project/2-forms/images/validation-error.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"vs-code-index.e2986cf919471eb9.webp": {
"original_hash": "ed8437cb2629b95551fff5e5d72ef4f5",
"translation_date": "2026-01-15T17:43:10+00:00",
"source_file": "3-terrarium/1-intro-to-html/images/vs-code-index.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"webdev101-a11y.8ef3025c858d897a.webp": {
"original_hash": "3f5220c5d502a906028b8a85245cc6da",
"translation_date": "2026-01-15T17:34:53+00:00",
"source_file": "sketchnotes/webdev101-a11y.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"webdev101-css.3f7af5991bf53a20.webp": {
"original_hash": "9de1dc14864697c82395b02f31a72aec",
"translation_date": "2026-01-15T17:33:37+00:00",
"source_file": "sketchnotes/webdev101-css.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"webdev101-github.8846d7971abef6f9.webp": {
"original_hash": "412ec8fc404fead25f314e2fdb564548",
"translation_date": "2026-01-15T17:33:12+00:00",
"source_file": "sketchnotes/webdev101-github.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"webdev101-html.4389c2067af68e98.webp": {
"original_hash": "23bf24ecb0e72f0c6c835824dec5ee54",
"translation_date": "2026-01-15T17:32:15+00:00",
"source_file": "sketchnotes/webdev101-html.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"webdev101-js-arrays.439d7528b8a29455.webp": {
"original_hash": "564c9e2d7f8e5a3b7e23570df300c732",
"translation_date": "2026-01-15T17:36:07+00:00",
"source_file": "sketchnotes/webdev101-js-arrays.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"webdev101-js-datatypes.4cc470179730702c.webp": {
"original_hash": "20fda1612cc0e8d20e6be01ffc28e5f7",
"translation_date": "2026-01-15T17:35:16+00:00",
"source_file": "sketchnotes/webdev101-js-datatypes.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"webdev101-js-decisions.69e1b20f272dd1f0.webp": {
"original_hash": "5e49a0b9b4149f782a4378354ba7fd56",
"translation_date": "2026-01-15T17:34:29+00:00",
"source_file": "sketchnotes/webdev101-js-decisions.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"webdev101-js-functions.be049c4726e94f8b.webp": {
"original_hash": "ec4279b1b2191fa07a83e78a97e81f29",
"translation_date": "2026-01-15T17:34:06+00:00",
"source_file": "sketchnotes/webdev101-js-functions.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"webdev101-js.10280393044d7eaa.webp": {
"original_hash": "fe1f154de74b31fdeb9a6df40e7ad5e1",
"translation_date": "2026-01-15T17:35:42+00:00",
"source_file": "sketchnotes/webdev101-js.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"webdev101-programming.d6e3f98e61ac4bff.webp": {
"original_hash": "adf4dac4d350592773dbdba8ebaaa262",
"translation_date": "2026-01-15T17:32:45+00:00",
"source_file": "sketchnotes/webdev101-programming.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"working-tree-pb.6cd43e5076f23ba3.webp": {
"original_hash": "f6b14887694745dd143a09bd60b74185",
"translation_date": "2026-01-15T17:39:26+00:00",
"source_file": "8-code-editor/images/working-tree-pb.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
},
"working-tree.c58eec08e6335c79.webp": {
"original_hash": "bf2608b4302123a00a8e7b1b6a430b4a",
"translation_date": "2026-01-15T17:39:17+00:00",
"source_file": "8-code-editor/images/working-tree.png",
- "language_code": "pt"
+ "language_code": "pt-PT"
}
}
\ No newline at end of file
diff --git a/translated_images/pt/1.b6da8c1394b07491.webp b/translated_images/pt-PT/1.b6da8c1394b07491.webp
similarity index 100%
rename from translated_images/pt/1.b6da8c1394b07491.webp
rename to translated_images/pt-PT/1.b6da8c1394b07491.webp
diff --git a/translated_images/pt/1.cc07a5cbe114ad1d.webp b/translated_images/pt-PT/1.cc07a5cbe114ad1d.webp
similarity index 100%
rename from translated_images/pt/1.cc07a5cbe114ad1d.webp
rename to translated_images/pt-PT/1.cc07a5cbe114ad1d.webp
diff --git a/translated_images/pt/2.1dae52ff08042246.webp b/translated_images/pt-PT/2.1dae52ff08042246.webp
similarity index 100%
rename from translated_images/pt/2.1dae52ff08042246.webp
rename to translated_images/pt-PT/2.1dae52ff08042246.webp
diff --git a/translated_images/pt/after-codeswing-extension-pb.0ebddddcf73b5509.webp b/translated_images/pt-PT/after-codeswing-extension-pb.0ebddddcf73b5509.webp
similarity index 100%
rename from translated_images/pt/after-codeswing-extension-pb.0ebddddcf73b5509.webp
rename to translated_images/pt-PT/after-codeswing-extension-pb.0ebddddcf73b5509.webp
diff --git a/translated_images/pt/background.148a8d43afde5730.webp b/translated_images/pt-PT/background.148a8d43afde5730.webp
similarity index 100%
rename from translated_images/pt/background.148a8d43afde5730.webp
rename to translated_images/pt-PT/background.148a8d43afde5730.webp
diff --git a/translated_images/pt/backgroundColor.e19c3c60768150c8.webp b/translated_images/pt-PT/backgroundColor.e19c3c60768150c8.webp
similarity index 100%
rename from translated_images/pt/backgroundColor.e19c3c60768150c8.webp
rename to translated_images/pt-PT/backgroundColor.e19c3c60768150c8.webp
diff --git a/translated_images/pt/browser-console.efaf0b51aaaf6778.webp b/translated_images/pt-PT/browser-console.efaf0b51aaaf6778.webp
similarity index 100%
rename from translated_images/pt/browser-console.efaf0b51aaaf6778.webp
rename to translated_images/pt-PT/browser-console.efaf0b51aaaf6778.webp
diff --git a/translated_images/pt/browser.60317c9be8b7f84a.webp b/translated_images/pt-PT/browser.60317c9be8b7f84a.webp
similarity index 100%
rename from translated_images/pt/browser.60317c9be8b7f84a.webp
rename to translated_images/pt-PT/browser.60317c9be8b7f84a.webp
diff --git a/translated_images/pt/canvas.fbd605ff8e5b8aff.webp b/translated_images/pt-PT/canvas.fbd605ff8e5b8aff.webp
similarity index 100%
rename from translated_images/pt/canvas.fbd605ff8e5b8aff.webp
rename to translated_images/pt-PT/canvas.fbd605ff8e5b8aff.webp
diff --git a/translated_images/pt/canvas_grid.5f209da785ded492.webp b/translated_images/pt-PT/canvas_grid.5f209da785ded492.webp
similarity index 100%
rename from translated_images/pt/canvas_grid.5f209da785ded492.webp
rename to translated_images/pt-PT/canvas_grid.5f209da785ded492.webp
diff --git a/translated_images/pt/character.5c0dd8e067ffd693.webp b/translated_images/pt-PT/character.5c0dd8e067ffd693.webp
similarity index 100%
rename from translated_images/pt/character.5c0dd8e067ffd693.webp
rename to translated_images/pt-PT/character.5c0dd8e067ffd693.webp
diff --git a/translated_images/pt/click-register.e89a30bf0d4bc9ca.webp b/translated_images/pt-PT/click-register.e89a30bf0d4bc9ca.webp
similarity index 100%
rename from translated_images/pt/click-register.e89a30bf0d4bc9ca.webp
rename to translated_images/pt-PT/click-register.e89a30bf0d4bc9ca.webp
diff --git a/translated_images/pt/clone_repo.5085c48d666ead57.webp b/translated_images/pt-PT/clone_repo.5085c48d666ead57.webp
similarity index 100%
rename from translated_images/pt/clone_repo.5085c48d666ead57.webp
rename to translated_images/pt-PT/clone_repo.5085c48d666ead57.webp
diff --git a/translated_images/pt/clone_repo.6a202fb230ab6bdd.webp b/translated_images/pt-PT/clone_repo.6a202fb230ab6bdd.webp
similarity index 100%
rename from translated_images/pt/clone_repo.6a202fb230ab6bdd.webp
rename to translated_images/pt-PT/clone_repo.6a202fb230ab6bdd.webp
diff --git a/translated_images/pt/codespace.bcecbdf5d2747d3d.webp b/translated_images/pt-PT/codespace.bcecbdf5d2747d3d.webp
similarity index 100%
rename from translated_images/pt/codespace.bcecbdf5d2747d3d.webp
rename to translated_images/pt-PT/codespace.bcecbdf5d2747d3d.webp
diff --git a/translated_images/pt/create-a-fork.297ab42b4bd0af99.webp b/translated_images/pt-PT/create-a-fork.297ab42b4bd0af99.webp
similarity index 100%
rename from translated_images/pt/create-a-fork.297ab42b4bd0af99.webp
rename to translated_images/pt-PT/create-a-fork.297ab42b4bd0af99.webp
diff --git a/translated_images/pt/create-new-file-pb.0797800d977ec3eb.webp b/translated_images/pt-PT/create-new-file-pb.0797800d977ec3eb.webp
similarity index 100%
rename from translated_images/pt/create-new-file-pb.0797800d977ec3eb.webp
rename to translated_images/pt-PT/create-new-file-pb.0797800d977ec3eb.webp
diff --git a/translated_images/pt/create-new-file.2814e609c2af9aeb.webp b/translated_images/pt-PT/create-new-file.2814e609c2af9aeb.webp
similarity index 100%
rename from translated_images/pt/create-new-file.2814e609c2af9aeb.webp
rename to translated_images/pt-PT/create-new-file.2814e609c2af9aeb.webp
diff --git a/translated_images/pt/createcodespace.0238bbf4d7a8d955.webp b/translated_images/pt-PT/createcodespace.0238bbf4d7a8d955.webp
similarity index 100%
rename from translated_images/pt/createcodespace.0238bbf4d7a8d955.webp
rename to translated_images/pt-PT/createcodespace.0238bbf4d7a8d955.webp
diff --git a/translated_images/pt/data-flow.fa2354e0908fecc8.webp b/translated_images/pt-PT/data-flow.fa2354e0908fecc8.webp
similarity index 100%
rename from translated_images/pt/data-flow.fa2354e0908fecc8.webp
rename to translated_images/pt-PT/data-flow.fa2354e0908fecc8.webp
diff --git a/translated_images/pt/default-vscode-dev.5d06881d65c1b323.webp b/translated_images/pt-PT/default-vscode-dev.5d06881d65c1b323.webp
similarity index 100%
rename from translated_images/pt/default-vscode-dev.5d06881d65c1b323.webp
rename to translated_images/pt-PT/default-vscode-dev.5d06881d65c1b323.webp
diff --git a/translated_images/pt/dialog.93bba104afeb79f1.webp b/translated_images/pt-PT/dialog.93bba104afeb79f1.webp
similarity index 100%
rename from translated_images/pt/dialog.93bba104afeb79f1.webp
rename to translated_images/pt-PT/dialog.93bba104afeb79f1.webp
diff --git a/translated_images/pt/dom-tree.7daf0e763cbbba92.webp b/translated_images/pt-PT/dom-tree.7daf0e763cbbba92.webp
similarity index 100%
rename from translated_images/pt/dom-tree.7daf0e763cbbba92.webp
rename to translated_images/pt-PT/dom-tree.7daf0e763cbbba92.webp
diff --git a/translated_images/pt/earlybrowsers.d984b711cdf3a42d.webp b/translated_images/pt-PT/earlybrowsers.d984b711cdf3a42d.webp
similarity index 100%
rename from translated_images/pt/earlybrowsers.d984b711cdf3a42d.webp
rename to translated_images/pt-PT/earlybrowsers.d984b711cdf3a42d.webp
diff --git a/translated_images/pt/edit-a-file-pb.263555922c14fc52.webp b/translated_images/pt-PT/edit-a-file-pb.263555922c14fc52.webp
similarity index 100%
rename from translated_images/pt/edit-a-file-pb.263555922c14fc52.webp
rename to translated_images/pt-PT/edit-a-file-pb.263555922c14fc52.webp
diff --git a/translated_images/pt/edit-a-file.52c0ee665ef19f08.webp b/translated_images/pt-PT/edit-a-file.52c0ee665ef19f08.webp
similarity index 100%
rename from translated_images/pt/edit-a-file.52c0ee665ef19f08.webp
rename to translated_images/pt-PT/edit-a-file.52c0ee665ef19f08.webp
diff --git a/translated_images/pt/enemyShip.035a46787bff658c.webp b/translated_images/pt-PT/enemyShip.035a46787bff658c.webp
similarity index 100%
rename from translated_images/pt/enemyShip.035a46787bff658c.webp
rename to translated_images/pt-PT/enemyShip.035a46787bff658c.webp
diff --git a/translated_images/pt/enemyShip.1a1354d7988de290.webp b/translated_images/pt-PT/enemyShip.1a1354d7988de290.webp
similarity index 100%
rename from translated_images/pt/enemyShip.1a1354d7988de290.webp
rename to translated_images/pt-PT/enemyShip.1a1354d7988de290.webp
diff --git a/translated_images/pt/enemyShip.22cbee6ea27a5809.webp b/translated_images/pt-PT/enemyShip.22cbee6ea27a5809.webp
similarity index 100%
rename from translated_images/pt/enemyShip.22cbee6ea27a5809.webp
rename to translated_images/pt-PT/enemyShip.22cbee6ea27a5809.webp
diff --git a/translated_images/pt/enemyShip.321ecb1b4eb21f2c.webp b/translated_images/pt-PT/enemyShip.321ecb1b4eb21f2c.webp
similarity index 100%
rename from translated_images/pt/enemyShip.321ecb1b4eb21f2c.webp
rename to translated_images/pt-PT/enemyShip.321ecb1b4eb21f2c.webp
diff --git a/translated_images/pt/enemyShip.4fbf2889e6129db4.webp b/translated_images/pt-PT/enemyShip.4fbf2889e6129db4.webp
similarity index 100%
rename from translated_images/pt/enemyShip.4fbf2889e6129db4.webp
rename to translated_images/pt-PT/enemyShip.4fbf2889e6129db4.webp
diff --git a/translated_images/pt/enemyShip.5df2a822c16650c2.webp b/translated_images/pt-PT/enemyShip.5df2a822c16650c2.webp
similarity index 100%
rename from translated_images/pt/enemyShip.5df2a822c16650c2.webp
rename to translated_images/pt-PT/enemyShip.5df2a822c16650c2.webp
diff --git a/translated_images/pt/enemyShip.62983ed4bfb2220f.webp b/translated_images/pt-PT/enemyShip.62983ed4bfb2220f.webp
similarity index 100%
rename from translated_images/pt/enemyShip.62983ed4bfb2220f.webp
rename to translated_images/pt-PT/enemyShip.62983ed4bfb2220f.webp
diff --git a/translated_images/pt/enemyShip.add7036e1c3c3014.webp b/translated_images/pt-PT/enemyShip.add7036e1c3c3014.webp
similarity index 100%
rename from translated_images/pt/enemyShip.add7036e1c3c3014.webp
rename to translated_images/pt-PT/enemyShip.add7036e1c3c3014.webp
diff --git a/translated_images/pt/enemyShip.b39a140287683bf7.webp b/translated_images/pt-PT/enemyShip.b39a140287683bf7.webp
similarity index 100%
rename from translated_images/pt/enemyShip.b39a140287683bf7.webp
rename to translated_images/pt-PT/enemyShip.b39a140287683bf7.webp
diff --git a/translated_images/pt/enemyShip.b9626ed228a17a32.webp b/translated_images/pt-PT/enemyShip.b9626ed228a17a32.webp
similarity index 100%
rename from translated_images/pt/enemyShip.b9626ed228a17a32.webp
rename to translated_images/pt-PT/enemyShip.b9626ed228a17a32.webp
diff --git a/translated_images/pt/enemyShip.deb0477a7312f54d.webp b/translated_images/pt-PT/enemyShip.deb0477a7312f54d.webp
similarity index 100%
rename from translated_images/pt/enemyShip.deb0477a7312f54d.webp
rename to translated_images/pt-PT/enemyShip.deb0477a7312f54d.webp
diff --git a/translated_images/pt/enemyUFO.bf8585e4e8dcdb68.webp b/translated_images/pt-PT/enemyUFO.bf8585e4e8dcdb68.webp
similarity index 100%
rename from translated_images/pt/enemyUFO.bf8585e4e8dcdb68.webp
rename to translated_images/pt-PT/enemyUFO.bf8585e4e8dcdb68.webp
diff --git a/translated_images/pt/extension-details.9f8f1fd4e9eb2de5.webp b/translated_images/pt/extension-details.9f8f1fd4e9eb2de5.webp
deleted file mode 100644
index aa42da047..000000000
Binary files a/translated_images/pt/extension-details.9f8f1fd4e9eb2de5.webp and /dev/null differ
diff --git a/translated_images/pt/extension-screenshot.0e7f5bfa110e92e3.webp b/translated_images/pt/extension-screenshot.0e7f5bfa110e92e3.webp
deleted file mode 100644
index 29dafa387..000000000
Binary files a/translated_images/pt/extension-screenshot.0e7f5bfa110e92e3.webp and /dev/null differ
diff --git a/translated_images/pt/extension-settings.21c752ae4f4cdb78.webp b/translated_images/pt/extension-settings.21c752ae4f4cdb78.webp
deleted file mode 100644
index fb39d3eb6..000000000
Binary files a/translated_images/pt/extension-settings.21c752ae4f4cdb78.webp and /dev/null differ
diff --git a/translated_images/pt/extensions.eca0e0c7f59a10b5.webp b/translated_images/pt/extensions.eca0e0c7f59a10b5.webp
deleted file mode 100644
index fac8b3872..000000000
Binary files a/translated_images/pt/extensions.eca0e0c7f59a10b5.webp and /dev/null differ
diff --git a/translated_images/pt/favicon.37b561214b36d454.webp b/translated_images/pt/favicon.37b561214b36d454.webp
deleted file mode 100644
index 48a53960d..000000000
Binary files a/translated_images/pt/favicon.37b561214b36d454.webp and /dev/null differ
diff --git a/translated_images/pt/form-post.61de4ca1b964d91a.webp b/translated_images/pt/form-post.61de4ca1b964d91a.webp
deleted file mode 100644
index 765e139f3..000000000
Binary files a/translated_images/pt/form-post.61de4ca1b964d91a.webp and /dev/null differ
diff --git a/translated_images/pt/history.7fdabbafa521e064.webp b/translated_images/pt/history.7fdabbafa521e064.webp
deleted file mode 100644
index c63037a3b..000000000
Binary files a/translated_images/pt/history.7fdabbafa521e064.webp and /dev/null differ
diff --git a/translated_images/pt/install-on-edge.78634f02842c4828.webp b/translated_images/pt/install-on-edge.78634f02842c4828.webp
deleted file mode 100644
index 3fa3354e7..000000000
Binary files a/translated_images/pt/install-on-edge.78634f02842c4828.webp and /dev/null differ
diff --git a/translated_images/pt/install-on-edge.d68781acaf0b3d3d.webp b/translated_images/pt/install-on-edge.d68781acaf0b3d3d.webp
deleted file mode 100644
index 3b74e1bba..000000000
Binary files a/translated_images/pt/install-on-edge.d68781acaf0b3d3d.webp and /dev/null differ
diff --git a/translated_images/pt/laserGreen.89904f0f49945560.webp b/translated_images/pt/laserGreen.89904f0f49945560.webp
deleted file mode 100644
index bfe37aafc..000000000
Binary files a/translated_images/pt/laserGreen.89904f0f49945560.webp and /dev/null differ
diff --git a/translated_images/pt/laserGreenShot.e4fbfc4714c08a5b.webp b/translated_images/pt/laserGreenShot.e4fbfc4714c08a5b.webp
deleted file mode 100644
index dd3e87139..000000000
Binary files a/translated_images/pt/laserGreenShot.e4fbfc4714c08a5b.webp and /dev/null differ
diff --git a/translated_images/pt/laserRed.2040e11f55c0a40a.webp b/translated_images/pt/laserRed.2040e11f55c0a40a.webp
deleted file mode 100644
index 27c042acb..000000000
Binary files a/translated_images/pt/laserRed.2040e11f55c0a40a.webp and /dev/null differ
diff --git a/translated_images/pt/laserRed.381bc5555491ce67.webp b/translated_images/pt/laserRed.381bc5555491ce67.webp
deleted file mode 100644
index 27c042acb..000000000
Binary files a/translated_images/pt/laserRed.381bc5555491ce67.webp and /dev/null differ
diff --git a/translated_images/pt/laserRed.69730edd76f0b3bd.webp b/translated_images/pt/laserRed.69730edd76f0b3bd.webp
deleted file mode 100644
index 27c042acb..000000000
Binary files a/translated_images/pt/laserRed.69730edd76f0b3bd.webp and /dev/null differ
diff --git a/translated_images/pt/laserRed.b583dc1728eb8581.webp b/translated_images/pt/laserRed.b583dc1728eb8581.webp
deleted file mode 100644
index 27c042acb..000000000
Binary files a/translated_images/pt/laserRed.b583dc1728eb8581.webp and /dev/null differ
diff --git a/translated_images/pt/laserRed.cae9ab24ea9b18fd.webp b/translated_images/pt/laserRed.cae9ab24ea9b18fd.webp
deleted file mode 100644
index 27c042acb..000000000
Binary files a/translated_images/pt/laserRed.cae9ab24ea9b18fd.webp and /dev/null differ
diff --git a/translated_images/pt/laserRed.d81ce4986f87c251.webp b/translated_images/pt/laserRed.d81ce4986f87c251.webp
deleted file mode 100644
index 27c042acb..000000000
Binary files a/translated_images/pt/laserRed.d81ce4986f87c251.webp and /dev/null differ
diff --git a/translated_images/pt/laserRed.e58ef8db2585dfbe.webp b/translated_images/pt/laserRed.e58ef8db2585dfbe.webp
deleted file mode 100644
index 27c042acb..000000000
Binary files a/translated_images/pt/laserRed.e58ef8db2585dfbe.webp and /dev/null differ
diff --git a/translated_images/pt/laserRed.e66e29ace6666064.webp b/translated_images/pt/laserRed.e66e29ace6666064.webp
deleted file mode 100644
index 27c042acb..000000000
Binary files a/translated_images/pt/laserRed.e66e29ace6666064.webp and /dev/null differ
diff --git a/translated_images/pt/laserRed.e86e8fb629c6026e.webp b/translated_images/pt/laserRed.e86e8fb629c6026e.webp
deleted file mode 100644
index 27c042acb..000000000
Binary files a/translated_images/pt/laserRed.e86e8fb629c6026e.webp and /dev/null differ
diff --git a/translated_images/pt/laserRedShot.c39d066745996a71.webp b/translated_images/pt/laserRedShot.c39d066745996a71.webp
deleted file mode 100644
index 99fcece7a..000000000
Binary files a/translated_images/pt/laserRedShot.c39d066745996a71.webp and /dev/null differ
diff --git a/translated_images/pt/life.27144b6d4bfdea76.webp b/translated_images/pt/life.27144b6d4bfdea76.webp
deleted file mode 100644
index 442ec0a5b..000000000
Binary files a/translated_images/pt/life.27144b6d4bfdea76.webp and /dev/null differ
diff --git a/translated_images/pt/life.2a159298dd98f4ef.webp b/translated_images/pt/life.2a159298dd98f4ef.webp
deleted file mode 100644
index 442ec0a5b..000000000
Binary files a/translated_images/pt/life.2a159298dd98f4ef.webp and /dev/null differ
diff --git a/translated_images/pt/life.466df3b1692a244a.webp b/translated_images/pt/life.466df3b1692a244a.webp
deleted file mode 100644
index 442ec0a5b..000000000
Binary files a/translated_images/pt/life.466df3b1692a244a.webp and /dev/null differ
diff --git a/translated_images/pt/life.65a2aaceca875284.webp b/translated_images/pt/life.65a2aaceca875284.webp
deleted file mode 100644
index 442ec0a5b..000000000
Binary files a/translated_images/pt/life.65a2aaceca875284.webp and /dev/null differ
diff --git a/translated_images/pt/life.6fb9f50d53ee0413.webp b/translated_images/pt/life.6fb9f50d53ee0413.webp
deleted file mode 100644
index 442ec0a5b..000000000
Binary files a/translated_images/pt/life.6fb9f50d53ee0413.webp and /dev/null differ
diff --git a/translated_images/pt/life.78b6e96a3003767e.webp b/translated_images/pt/life.78b6e96a3003767e.webp
deleted file mode 100644
index 442ec0a5b..000000000
Binary files a/translated_images/pt/life.78b6e96a3003767e.webp and /dev/null differ
diff --git a/translated_images/pt/life.86d843ce9c23289c.webp b/translated_images/pt/life.86d843ce9c23289c.webp
deleted file mode 100644
index 442ec0a5b..000000000
Binary files a/translated_images/pt/life.86d843ce9c23289c.webp and /dev/null differ
diff --git a/translated_images/pt/localstorage.472f8147b6a3f8d1.webp b/translated_images/pt/localstorage.472f8147b6a3f8d1.webp
deleted file mode 100644
index e5c71a510..000000000
Binary files a/translated_images/pt/localstorage.472f8147b6a3f8d1.webp and /dev/null differ
diff --git a/translated_images/pt/log.804026979f3707e0.webp b/translated_images/pt/log.804026979f3707e0.webp
deleted file mode 100644
index 6d3cf862b..000000000
Binary files a/translated_images/pt/log.804026979f3707e0.webp and /dev/null differ
diff --git a/translated_images/pt/login-error.416fe019b36a6327.webp b/translated_images/pt/login-error.416fe019b36a6327.webp
deleted file mode 100644
index dc7797848..000000000
Binary files a/translated_images/pt/login-error.416fe019b36a6327.webp and /dev/null differ
diff --git a/translated_images/pt/meteorBig.1e452b3ad7af50ad.webp b/translated_images/pt/meteorBig.1e452b3ad7af50ad.webp
deleted file mode 100644
index 39fba1031..000000000
Binary files a/translated_images/pt/meteorBig.1e452b3ad7af50ad.webp and /dev/null differ
diff --git a/translated_images/pt/meteorSmall.0d729bc71c12d41f.webp b/translated_images/pt/meteorSmall.0d729bc71c12d41f.webp
deleted file mode 100644
index 631797205..000000000
Binary files a/translated_images/pt/meteorSmall.0d729bc71c12d41f.webp and /dev/null differ
diff --git a/translated_images/pt/moodle.94eb93d714a50cb2.webp b/translated_images/pt/moodle.94eb93d714a50cb2.webp
deleted file mode 100644
index 1779be696..000000000
Binary files a/translated_images/pt/moodle.94eb93d714a50cb2.webp and /dev/null differ
diff --git a/translated_images/pt/mpa.7f7375a1a2d4aa77.webp b/translated_images/pt/mpa.7f7375a1a2d4aa77.webp
deleted file mode 100644
index f55509e82..000000000
Binary files a/translated_images/pt/mpa.7f7375a1a2d4aa77.webp and /dev/null differ
diff --git a/translated_images/pt/nebula.55c2933d36d035d3.webp b/translated_images/pt/nebula.55c2933d36d035d3.webp
deleted file mode 100644
index a294cbf33..000000000
Binary files a/translated_images/pt/nebula.55c2933d36d035d3.webp and /dev/null differ
diff --git a/translated_images/pt/new-file-github.com.c886796d800e8056.webp b/translated_images/pt/new-file-github.com.c886796d800e8056.webp
deleted file mode 100644
index 59cc905e9..000000000
Binary files a/translated_images/pt/new-file-github.com.c886796d800e8056.webp and /dev/null differ
diff --git a/translated_images/pt/open-palette-menu.46dda01084738da8.webp b/translated_images/pt/open-palette-menu.46dda01084738da8.webp
deleted file mode 100644
index 2ddfbe44c..000000000
Binary files a/translated_images/pt/open-palette-menu.46dda01084738da8.webp and /dev/null differ
diff --git a/translated_images/pt/open-remote-repository.bd9c2598b8949e7f.webp b/translated_images/pt/open-remote-repository.bd9c2598b8949e7f.webp
deleted file mode 100644
index 975c1b859..000000000
Binary files a/translated_images/pt/open-remote-repository.bd9c2598b8949e7f.webp and /dev/null differ
diff --git a/translated_images/pt/palette-menu.4946174e07f42622.webp b/translated_images/pt/palette-menu.4946174e07f42622.webp
deleted file mode 100644
index bde89b19a..000000000
Binary files a/translated_images/pt/palette-menu.4946174e07f42622.webp and /dev/null differ
diff --git a/translated_images/pt/partI-solution.36c53b48c9ffae2a.webp b/translated_images/pt/partI-solution.36c53b48c9ffae2a.webp
deleted file mode 100644
index e7df45a1e..000000000
Binary files a/translated_images/pt/partI-solution.36c53b48c9ffae2a.webp and /dev/null differ
diff --git a/translated_images/pt/plant1.a876180d8659acb9.webp b/translated_images/pt/plant1.a876180d8659acb9.webp
deleted file mode 100644
index 0afdb8492..000000000
Binary files a/translated_images/pt/plant1.a876180d8659acb9.webp and /dev/null differ
diff --git a/translated_images/pt/plant10.2f2c47804ae52dd3.webp b/translated_images/pt/plant10.2f2c47804ae52dd3.webp
deleted file mode 100644
index a972d3197..000000000
Binary files a/translated_images/pt/plant10.2f2c47804ae52dd3.webp and /dev/null differ
diff --git a/translated_images/pt/plant11.0ce0081b0ef17aa1.webp b/translated_images/pt/plant11.0ce0081b0ef17aa1.webp
deleted file mode 100644
index 83718f403..000000000
Binary files a/translated_images/pt/plant11.0ce0081b0ef17aa1.webp and /dev/null differ
diff --git a/translated_images/pt/plant12.6b934c4312a00228.webp b/translated_images/pt/plant12.6b934c4312a00228.webp
deleted file mode 100644
index abfcadc6c..000000000
Binary files a/translated_images/pt/plant12.6b934c4312a00228.webp and /dev/null differ
diff --git a/translated_images/pt/plant13.37d6ab2e2481421f.webp b/translated_images/pt/plant13.37d6ab2e2481421f.webp
deleted file mode 100644
index 77816483d..000000000
Binary files a/translated_images/pt/plant13.37d6ab2e2481421f.webp and /dev/null differ
diff --git a/translated_images/pt/plant14.908791477a46eb7f.webp b/translated_images/pt/plant14.908791477a46eb7f.webp
deleted file mode 100644
index 9b2eea637..000000000
Binary files a/translated_images/pt/plant14.908791477a46eb7f.webp and /dev/null differ
diff --git a/translated_images/pt/plant2.9e45efea224115b0.webp b/translated_images/pt/plant2.9e45efea224115b0.webp
deleted file mode 100644
index e6b517d90..000000000
Binary files a/translated_images/pt/plant2.9e45efea224115b0.webp and /dev/null differ
diff --git a/translated_images/pt/plant3.06efdd0fa0c4b115.webp b/translated_images/pt/plant3.06efdd0fa0c4b115.webp
deleted file mode 100644
index fa73f15cf..000000000
Binary files a/translated_images/pt/plant3.06efdd0fa0c4b115.webp and /dev/null differ
diff --git a/translated_images/pt/plant4.3b78072b427727c6.webp b/translated_images/pt/plant4.3b78072b427727c6.webp
deleted file mode 100644
index be231012e..000000000
Binary files a/translated_images/pt/plant4.3b78072b427727c6.webp and /dev/null differ
diff --git a/translated_images/pt/plant5.8ec58b18ac336fa8.webp b/translated_images/pt/plant5.8ec58b18ac336fa8.webp
deleted file mode 100644
index 4e295e185..000000000
Binary files a/translated_images/pt/plant5.8ec58b18ac336fa8.webp and /dev/null differ
diff --git a/translated_images/pt/plant6.ca4ff8372e6676b1.webp b/translated_images/pt/plant6.ca4ff8372e6676b1.webp
deleted file mode 100644
index 46a89a545..000000000
Binary files a/translated_images/pt/plant6.ca4ff8372e6676b1.webp and /dev/null differ
diff --git a/translated_images/pt/plant7.194d5a42fcf5a88c.webp b/translated_images/pt/plant7.194d5a42fcf5a88c.webp
deleted file mode 100644
index 420dca0b9..000000000
Binary files a/translated_images/pt/plant7.194d5a42fcf5a88c.webp and /dev/null differ
diff --git a/translated_images/pt/plant8.7b247809ab0eb492.webp b/translated_images/pt/plant8.7b247809ab0eb492.webp
deleted file mode 100644
index 9b4c15c2f..000000000
Binary files a/translated_images/pt/plant8.7b247809ab0eb492.webp and /dev/null differ
diff --git a/translated_images/pt/plant9.8fe614c01ded1b1e.webp b/translated_images/pt/plant9.8fe614c01ded1b1e.webp
deleted file mode 100644
index 893f89540..000000000
Binary files a/translated_images/pt/plant9.8fe614c01ded1b1e.webp and /dev/null differ
diff --git a/translated_images/pt/player.137ee0e47f895ffc.webp b/translated_images/pt/player.137ee0e47f895ffc.webp
deleted file mode 100644
index 879c28a80..000000000
Binary files a/translated_images/pt/player.137ee0e47f895ffc.webp and /dev/null differ
diff --git a/translated_images/pt/player.2887422f6982c3cd.webp b/translated_images/pt/player.2887422f6982c3cd.webp
deleted file mode 100644
index 879c28a80..000000000
Binary files a/translated_images/pt/player.2887422f6982c3cd.webp and /dev/null differ
diff --git a/translated_images/pt/player.391fed427ede24f5.webp b/translated_images/pt/player.391fed427ede24f5.webp
deleted file mode 100644
index 879c28a80..000000000
Binary files a/translated_images/pt/player.391fed427ede24f5.webp and /dev/null differ
diff --git a/translated_images/pt/player.3c4f50182552a73a.webp b/translated_images/pt/player.3c4f50182552a73a.webp
deleted file mode 100644
index 879c28a80..000000000
Binary files a/translated_images/pt/player.3c4f50182552a73a.webp and /dev/null differ
diff --git a/translated_images/pt/player.47bc9de0714c723d.webp b/translated_images/pt/player.47bc9de0714c723d.webp
deleted file mode 100644
index 879c28a80..000000000
Binary files a/translated_images/pt/player.47bc9de0714c723d.webp and /dev/null differ
diff --git a/translated_images/pt/player.57b3107c03012695.webp b/translated_images/pt/player.57b3107c03012695.webp
deleted file mode 100644
index 879c28a80..000000000
Binary files a/translated_images/pt/player.57b3107c03012695.webp and /dev/null differ
diff --git a/translated_images/pt/player.606f85953e5e564e.webp b/translated_images/pt/player.606f85953e5e564e.webp
deleted file mode 100644
index 879c28a80..000000000
Binary files a/translated_images/pt/player.606f85953e5e564e.webp and /dev/null differ
diff --git a/translated_images/pt/player.680ea4c619b54fe1.webp b/translated_images/pt/player.680ea4c619b54fe1.webp
deleted file mode 100644
index 879c28a80..000000000
Binary files a/translated_images/pt/player.680ea4c619b54fe1.webp and /dev/null differ
diff --git a/translated_images/pt/player.bfe14f110bddf56d.webp b/translated_images/pt/player.bfe14f110bddf56d.webp
deleted file mode 100644
index 879c28a80..000000000
Binary files a/translated_images/pt/player.bfe14f110bddf56d.webp and /dev/null differ
diff --git a/translated_images/pt/player.c99c25d54a615ca0.webp b/translated_images/pt/player.c99c25d54a615ca0.webp
deleted file mode 100644
index 879c28a80..000000000
Binary files a/translated_images/pt/player.c99c25d54a615ca0.webp and /dev/null differ
diff --git a/translated_images/pt/player.dd24c1afa8c71e9b.webp b/translated_images/pt/player.dd24c1afa8c71e9b.webp
deleted file mode 100644
index 879c28a80..000000000
Binary files a/translated_images/pt/player.dd24c1afa8c71e9b.webp and /dev/null differ
diff --git a/translated_images/pt/playerDamaged.181703f652fd5176.webp b/translated_images/pt/playerDamaged.181703f652fd5176.webp
deleted file mode 100644
index 00d3377d9..000000000
Binary files a/translated_images/pt/playerDamaged.181703f652fd5176.webp and /dev/null differ
diff --git a/translated_images/pt/playerLeft.0f928412e66ba5d9.webp b/translated_images/pt/playerLeft.0f928412e66ba5d9.webp
deleted file mode 100644
index 0856babce..000000000
Binary files a/translated_images/pt/playerLeft.0f928412e66ba5d9.webp and /dev/null differ
diff --git a/translated_images/pt/playerRight.e4825f489e29f737.webp b/translated_images/pt/playerRight.e4825f489e29f737.webp
deleted file mode 100644
index 8d6696a22..000000000
Binary files a/translated_images/pt/playerRight.e4825f489e29f737.webp and /dev/null differ
diff --git a/translated_images/pt/playground-choice.1d23ba7d407f4758.webp b/translated_images/pt/playground-choice.1d23ba7d407f4758.webp
deleted file mode 100644
index 7858684ca..000000000
Binary files a/translated_images/pt/playground-choice.1d23ba7d407f4758.webp and /dev/null differ
diff --git a/translated_images/pt/playground.d2b927122224ff8f.webp b/translated_images/pt/playground.d2b927122224ff8f.webp
deleted file mode 100644
index a8ff94f75..000000000
Binary files a/translated_images/pt/playground.d2b927122224ff8f.webp and /dev/null differ
diff --git a/translated_images/pt/preview.9215f0a010074476.webp b/translated_images/pt/preview.9215f0a010074476.webp
deleted file mode 100644
index 67294572e..000000000
Binary files a/translated_images/pt/preview.9215f0a010074476.webp and /dev/null differ
diff --git a/translated_images/pt/profiler.5a4a62479c5df01c.webp b/translated_images/pt/profiler.5a4a62479c5df01c.webp
deleted file mode 100644
index 59f2f2ed7..000000000
Binary files a/translated_images/pt/profiler.5a4a62479c5df01c.webp and /dev/null differ
diff --git a/translated_images/pt/project-on-vscode.dev.e79815a9a95ee7fe.webp b/translated_images/pt/project-on-vscode.dev.e79815a9a95ee7fe.webp
deleted file mode 100644
index 21aacb021..000000000
Binary files a/translated_images/pt/project-on-vscode.dev.e79815a9a95ee7fe.webp and /dev/null differ
diff --git a/translated_images/pt/result.96ef01f607bf856a.webp b/translated_images/pt/result.96ef01f607bf856a.webp
deleted file mode 100644
index 2a7f633dd..000000000
Binary files a/translated_images/pt/result.96ef01f607bf856a.webp and /dev/null differ
diff --git a/translated_images/pt/screen1.baccbba0f1f93364.webp b/translated_images/pt/screen1.baccbba0f1f93364.webp
deleted file mode 100644
index 483e702b2..000000000
Binary files a/translated_images/pt/screen1.baccbba0f1f93364.webp and /dev/null differ
diff --git a/translated_images/pt/screen2.123c82a831a1d14a.webp b/translated_images/pt/screen2.123c82a831a1d14a.webp
deleted file mode 100644
index f5455f5ed..000000000
Binary files a/translated_images/pt/screen2.123c82a831a1d14a.webp and /dev/null differ
diff --git a/translated_images/pt/screenshot.0a1ee0d123df681b.webp b/translated_images/pt/screenshot.0a1ee0d123df681b.webp
deleted file mode 100644
index 7a880bb7c..000000000
Binary files a/translated_images/pt/screenshot.0a1ee0d123df681b.webp and /dev/null differ
diff --git a/translated_images/pt/screenshot.e7a5ad659e364568.webp b/translated_images/pt/screenshot.e7a5ad659e364568.webp
deleted file mode 100644
index 35e9755e8..000000000
Binary files a/translated_images/pt/screenshot.e7a5ad659e364568.webp and /dev/null differ
diff --git a/translated_images/pt/screenshot_gray.0c796099a1f9f25e.webp b/translated_images/pt/screenshot_gray.0c796099a1f9f25e.webp
deleted file mode 100644
index ca381eaa1..000000000
Binary files a/translated_images/pt/screenshot_gray.0c796099a1f9f25e.webp and /dev/null differ
diff --git a/translated_images/pt/shield.1b9412b7ca6610ab.webp b/translated_images/pt/shield.1b9412b7ca6610ab.webp
deleted file mode 100644
index a2e065ca1..000000000
Binary files a/translated_images/pt/shield.1b9412b7ca6610ab.webp and /dev/null differ
diff --git a/translated_images/pt/snapshot.97750180ebcad737.webp b/translated_images/pt/snapshot.97750180ebcad737.webp
deleted file mode 100644
index 5e0b96604..000000000
Binary files a/translated_images/pt/snapshot.97750180ebcad737.webp and /dev/null differ
diff --git a/translated_images/pt/spa.268ec73b41f992c2.webp b/translated_images/pt/spa.268ec73b41f992c2.webp
deleted file mode 100644
index 2b9366d78..000000000
Binary files a/translated_images/pt/spa.268ec73b41f992c2.webp and /dev/null differ
diff --git a/translated_images/pt/speedLine.5bcabb93f48b5ae1.webp b/translated_images/pt/speedLine.5bcabb93f48b5ae1.webp
deleted file mode 100644
index 57b77b342..000000000
Binary files a/translated_images/pt/speedLine.5bcabb93f48b5ae1.webp and /dev/null differ
diff --git a/translated_images/pt/spritesheet.bec82852290b14ee.webp b/translated_images/pt/spritesheet.bec82852290b14ee.webp
deleted file mode 100644
index 02853f8a0..000000000
Binary files a/translated_images/pt/spritesheet.bec82852290b14ee.webp and /dev/null differ
diff --git a/translated_images/pt/starBackground.a897b8acb1b0587d.webp b/translated_images/pt/starBackground.a897b8acb1b0587d.webp
deleted file mode 100644
index 66280c96a..000000000
Binary files a/translated_images/pt/starBackground.a897b8acb1b0587d.webp and /dev/null differ
diff --git a/translated_images/pt/starBig.72e9c6d0d18f363d.webp b/translated_images/pt/starBig.72e9c6d0d18f363d.webp
deleted file mode 100644
index 917791333..000000000
Binary files a/translated_images/pt/starBig.72e9c6d0d18f363d.webp and /dev/null differ
diff --git a/translated_images/pt/starSmall.ed78b961dbcd0898.webp b/translated_images/pt/starSmall.ed78b961dbcd0898.webp
deleted file mode 100644
index bf86a6e91..000000000
Binary files a/translated_images/pt/starSmall.ed78b961dbcd0898.webp and /dev/null differ
diff --git a/translated_images/pt/template.67ad477109d29a2b.webp b/translated_images/pt/template.67ad477109d29a2b.webp
deleted file mode 100644
index ee56c7c96..000000000
Binary files a/translated_images/pt/template.67ad477109d29a2b.webp and /dev/null differ
diff --git a/translated_images/pt/terrarium-final.0920f16e87c13a84.webp b/translated_images/pt/terrarium-final.0920f16e87c13a84.webp
deleted file mode 100644
index ca381eaa1..000000000
Binary files a/translated_images/pt/terrarium-final.0920f16e87c13a84.webp and /dev/null differ
diff --git a/translated_images/pt/terrarium-final.2f07047ffc597d0a.webp b/translated_images/pt/terrarium-final.2f07047ffc597d0a.webp
deleted file mode 100644
index f08479289..000000000
Binary files a/translated_images/pt/terrarium-final.2f07047ffc597d0a.webp and /dev/null differ
diff --git a/translated_images/pt/validation-error.8bd23e98d416c22f.webp b/translated_images/pt/validation-error.8bd23e98d416c22f.webp
deleted file mode 100644
index 057d8f54f..000000000
Binary files a/translated_images/pt/validation-error.8bd23e98d416c22f.webp and /dev/null differ
diff --git a/translated_images/pt/vs-code-index.e2986cf919471eb9.webp b/translated_images/pt/vs-code-index.e2986cf919471eb9.webp
deleted file mode 100644
index 93a36a6a6..000000000
Binary files a/translated_images/pt/vs-code-index.e2986cf919471eb9.webp and /dev/null differ
diff --git a/translated_images/pt/webdev101-a11y.8ef3025c858d897a.webp b/translated_images/pt/webdev101-a11y.8ef3025c858d897a.webp
deleted file mode 100644
index f012b3ca8..000000000
Binary files a/translated_images/pt/webdev101-a11y.8ef3025c858d897a.webp and /dev/null differ
diff --git a/translated_images/pt/webdev101-css.3f7af5991bf53a20.webp b/translated_images/pt/webdev101-css.3f7af5991bf53a20.webp
deleted file mode 100644
index 05fb28105..000000000
Binary files a/translated_images/pt/webdev101-css.3f7af5991bf53a20.webp and /dev/null differ
diff --git a/translated_images/pt/webdev101-github.8846d7971abef6f9.webp b/translated_images/pt/webdev101-github.8846d7971abef6f9.webp
deleted file mode 100644
index 76fb27b1a..000000000
Binary files a/translated_images/pt/webdev101-github.8846d7971abef6f9.webp and /dev/null differ
diff --git a/translated_images/pt/webdev101-html.4389c2067af68e98.webp b/translated_images/pt/webdev101-html.4389c2067af68e98.webp
deleted file mode 100644
index a8e9789e6..000000000
Binary files a/translated_images/pt/webdev101-html.4389c2067af68e98.webp and /dev/null differ
diff --git a/translated_images/pt/webdev101-js-arrays.439d7528b8a29455.webp b/translated_images/pt/webdev101-js-arrays.439d7528b8a29455.webp
deleted file mode 100644
index 6979c1434..000000000
Binary files a/translated_images/pt/webdev101-js-arrays.439d7528b8a29455.webp and /dev/null differ
diff --git a/translated_images/pt/webdev101-js-datatypes.4cc470179730702c.webp b/translated_images/pt/webdev101-js-datatypes.4cc470179730702c.webp
deleted file mode 100644
index 123a3799d..000000000
Binary files a/translated_images/pt/webdev101-js-datatypes.4cc470179730702c.webp and /dev/null differ
diff --git a/translated_images/pt/webdev101-js-decisions.69e1b20f272dd1f0.webp b/translated_images/pt/webdev101-js-decisions.69e1b20f272dd1f0.webp
deleted file mode 100644
index e97001905..000000000
Binary files a/translated_images/pt/webdev101-js-decisions.69e1b20f272dd1f0.webp and /dev/null differ
diff --git a/translated_images/pt/webdev101-js-functions.be049c4726e94f8b.webp b/translated_images/pt/webdev101-js-functions.be049c4726e94f8b.webp
deleted file mode 100644
index b7e754e15..000000000
Binary files a/translated_images/pt/webdev101-js-functions.be049c4726e94f8b.webp and /dev/null differ
diff --git a/translated_images/pt/webdev101-js.10280393044d7eaa.webp b/translated_images/pt/webdev101-js.10280393044d7eaa.webp
deleted file mode 100644
index cb59f4df8..000000000
Binary files a/translated_images/pt/webdev101-js.10280393044d7eaa.webp and /dev/null differ
diff --git a/translated_images/pt/webdev101-programming.d6e3f98e61ac4bff.webp b/translated_images/pt/webdev101-programming.d6e3f98e61ac4bff.webp
deleted file mode 100644
index 9df36912e..000000000
Binary files a/translated_images/pt/webdev101-programming.d6e3f98e61ac4bff.webp and /dev/null differ
diff --git a/translated_images/pt/working-tree-pb.6cd43e5076f23ba3.webp b/translated_images/pt/working-tree-pb.6cd43e5076f23ba3.webp
deleted file mode 100644
index 00df1e313..000000000
Binary files a/translated_images/pt/working-tree-pb.6cd43e5076f23ba3.webp and /dev/null differ
diff --git a/translated_images/pt/working-tree.c58eec08e6335c79.webp b/translated_images/pt/working-tree.c58eec08e6335c79.webp
deleted file mode 100644
index bd6b69b60..000000000
Binary files a/translated_images/pt/working-tree.c58eec08e6335c79.webp and /dev/null differ
diff --git a/translations/br/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/br/1-getting-started-lessons/1-intro-to-programming-languages/README.md
deleted file mode 100644
index 109a8ebf6..000000000
--- a/translations/br/1-getting-started-lessons/1-intro-to-programming-languages/README.md
+++ /dev/null
@@ -1,867 +0,0 @@
-
-# Introdução às Linguagens de Programação e Ferramentas Modernas para Desenvolvedores
-
-Olá, futuro desenvolvedor! 👋 Posso te contar algo que ainda me dá arrepios todos os dias? Você está prestes a descobrir que programar não é apenas sobre computadores – é sobre ter superpoderes reais para dar vida às suas ideias mais malucas!
-
-Sabe aquele momento em que você está usando seu aplicativo favorito e tudo simplesmente funciona perfeitamente? Quando você toca em um botão e algo absolutamente mágico acontece, fazendo você pensar "uau, como eles fizeram isso?" Bem, alguém como você – provavelmente sentado em sua cafeteria favorita às 2 da manhã com seu terceiro espresso – escreveu o código que criou essa mágica. E aqui está o que vai te surpreender: até o final desta lição, você não apenas entenderá como eles fizeram isso, mas estará ansioso para tentar você mesmo!
-
-Olha, eu entendo totalmente se programar parece intimidante agora. Quando comecei, honestamente pensei que você precisava ser algum tipo de gênio da matemática ou ter programado desde os cinco anos de idade. Mas aqui está o que mudou completamente minha perspectiva: programar é exatamente como aprender a conversar em um novo idioma. Você começa com "olá" e "obrigado", depois aprende a pedir um café, e antes que perceba, está tendo discussões filosóficas profundas! Exceto que, neste caso, você está conversando com computadores, e honestamente? Eles são os parceiros de conversa mais pacientes que você já teve – nunca julgam seus erros e estão sempre prontos para tentar de novo!
-
-Hoje, vamos explorar as ferramentas incríveis que tornam o desenvolvimento web moderno não apenas possível, mas seriamente viciante. Estou falando dos mesmos editores, navegadores e fluxos de trabalho que os desenvolvedores da Netflix, Spotify e do seu estúdio indie favorito usam todos os dias. E aqui está a parte que vai te fazer dançar de felicidade: a maioria dessas ferramentas profissionais e padrão da indústria são completamente gratuitas!
-
-
-> Sketchnote por [Tomomi Imura](https://twitter.com/girlie_mac)
-
-```mermaid
-journey
- title Your Programming Journey Today
- section Discover
- What is Programming: 5: You
- Programming Languages: 4: You
- Tools Overview: 5: You
- section Explore
- Code Editors: 4: You
- Browsers & DevTools: 5: You
- Command Line: 3: You
- section Practice
- Language Detective: 4: You
- Tool Exploration: 5: You
- Community Connection: 5: You
-```
-
-## Vamos ver o que você já sabe!
-
-Antes de mergulharmos na parte divertida, estou curioso – o que você já sabe sobre esse mundo da programação? E olha, se você está olhando para essas perguntas pensando "Eu literalmente não faço ideia de nada disso", isso não é apenas ok, é perfeito! Isso significa que você está exatamente no lugar certo. Pense neste quiz como um aquecimento antes de começar – estamos apenas preparando os músculos do cérebro!
-
-[Faça o quiz pré-aula](https://forms.office.com/r/dru4TE0U9n?origin=lprLink)
-
-## A aventura que vamos embarcar juntos
-
-Ok, estou genuinamente empolgado com o que vamos explorar hoje! Sério, eu gostaria de ver sua reação quando alguns desses conceitos fizerem sentido. Aqui está a jornada incrível que vamos fazer juntos:
-
-- **O que é programação (e por que é a coisa mais incrível de todas!)** – Vamos descobrir como o código é literalmente a mágica invisível que alimenta tudo ao seu redor, desde aquele alarme que de alguma forma sabe que é segunda-feira até o algoritmo que escolhe as recomendações perfeitas para você no Netflix.
-- **Linguagens de programação e suas personalidades incríveis** – Imagine entrar em uma festa onde cada pessoa tem superpoderes completamente diferentes e maneiras únicas de resolver problemas. É assim que o mundo das linguagens de programação é, e você vai adorar conhecê-las!
-- **Os blocos fundamentais que fazem a mágica digital acontecer** – Pense nisso como o conjunto definitivo de LEGO criativo. Quando você entender como essas peças se encaixam, perceberá que pode literalmente construir qualquer coisa que sua imaginação sonhar.
-- **Ferramentas profissionais que vão fazer você se sentir como se tivesse recebido uma varinha mágica** – Não estou sendo dramático aqui – essas ferramentas realmente vão fazer você se sentir como se tivesse superpoderes, e o melhor de tudo? São as mesmas que os profissionais usam!
-
-> 💡 **Aqui está o ponto**: Nem pense em tentar memorizar tudo hoje! Por enquanto, eu só quero que você sinta aquela faísca de empolgação sobre o que é possível. Os detalhes vão grudar naturalmente enquanto praticamos juntos – é assim que o aprendizado real acontece!
-
-> Você pode fazer esta lição no [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
-
-## Então, o que exatamente *é* programação?
-
-Certo, vamos abordar a pergunta de um milhão de dólares: o que é programação, afinal?
-
-Vou te contar uma história que mudou completamente minha forma de pensar sobre isso. Semana passada, eu estava tentando explicar para minha mãe como usar o controle remoto da nossa nova TV inteligente. Me peguei dizendo coisas como "Pressione o botão vermelho, mas não o botão vermelho grande, o botão vermelho pequeno à esquerda... não, sua outra esquerda... ok, agora segure por dois segundos, não um, não três..." Parece familiar? 😅
-
-Isso é programação! É a arte de dar instruções incrivelmente detalhadas e passo a passo para algo que é muito poderoso, mas precisa que tudo seja explicado perfeitamente. Exceto que, em vez de explicar para sua mãe (que pode perguntar "qual botão vermelho?!"), você está explicando para um computador (que faz exatamente o que você diz, mesmo que o que você disse não seja exatamente o que você quis dizer).
-
-Aqui está o que me surpreendeu quando aprendi isso: computadores são, na verdade, bem simples no fundo. Eles literalmente só entendem duas coisas – 1 e 0, que basicamente é "sim" e "não" ou "ligado" e "desligado". É isso! Mas aqui é onde fica mágico – não precisamos falar em 1s e 0s como se estivéssemos em Matrix. É aí que as **linguagens de programação** entram em cena. Elas são como ter o melhor tradutor do mundo que pega seus pensamentos perfeitamente normais de humano e os converte em linguagem de computador.
-
-E aqui está o que ainda me dá arrepios todas as manhãs quando acordo: literalmente *tudo* digital na sua vida começou com alguém como você, provavelmente sentado de pijama com uma xícara de café, digitando código no laptop. Aquele filtro do Instagram que te deixa impecável? Alguém codificou isso. A recomendação que te levou à sua nova música favorita? Um desenvolvedor criou esse algoritmo. O aplicativo que ajuda você a dividir a conta do jantar com os amigos? Sim, alguém pensou "isso é chato, aposto que consigo resolver" e então... resolveu!
-
-Quando você aprende a programar, não está apenas adquirindo uma nova habilidade – está se tornando parte dessa comunidade incrível de solucionadores de problemas que passam os dias pensando: "E se eu pudesse construir algo que tornasse o dia de alguém um pouco melhor?" Honestamente, existe algo mais legal do que isso?
-
-✅ **Caça ao Fato Divertido**: Aqui está algo super legal para pesquisar quando tiver um momento livre – quem você acha que foi o primeiro programador de computadores do mundo? Vou te dar uma dica: pode não ser quem você está esperando! A história por trás dessa pessoa é absolutamente fascinante e mostra que programar sempre foi sobre resolver problemas criativos e pensar fora da caixa.
-
-### 🧠 **Hora de Checar: Como Você Está Se Sentindo?**
-
-**Tire um momento para refletir:**
-- A ideia de "dar instruções para computadores" faz sentido para você agora?
-- Consegue pensar em uma tarefa diária que gostaria de automatizar com programação?
-- Quais perguntas estão surgindo na sua mente sobre esse mundo da programação?
-
-> **Lembre-se**: É totalmente normal se alguns conceitos ainda parecerem confusos agora. Aprender a programar é como aprender um novo idioma – leva tempo para o cérebro construir essas conexões neurais. Você está indo muito bem!
-
-## Linguagens de Programação São Como Diferentes Sabores de Magia
-
-Ok, isso vai soar estranho, mas fique comigo – linguagens de programação são muito parecidas com diferentes tipos de música. Pense nisso: você tem jazz, que é suave e improvisado, rock que é poderoso e direto, clássico que é elegante e estruturado, e hip-hop que é criativo e expressivo. Cada estilo tem sua própria vibe, sua própria comunidade de fãs apaixonados, e cada um é perfeito para diferentes momentos e ocasiões.
-
-As linguagens de programação funcionam exatamente da mesma forma! Você não usaria a mesma linguagem para criar um jogo divertido para celular que usaria para analisar grandes quantidades de dados climáticos, assim como você não tocaria death metal em uma aula de yoga (bem, na maioria das aulas de yoga! 😄).
-
-Mas aqui está o que absolutamente me surpreende toda vez que penso nisso: essas linguagens são como ter o intérprete mais paciente e brilhante do mundo sentado ao seu lado. Você pode expressar suas ideias de uma forma que parece natural para o seu cérebro humano, e elas lidam com todo o trabalho incrivelmente complexo de traduzir isso para os 1s e 0s que os computadores realmente entendem. É como ter um amigo que é perfeitamente fluente em "criatividade humana" e "lógica de computador" – e eles nunca se cansam, nunca precisam de pausas para café e nunca te julgam por fazer a mesma pergunta duas vezes!
-
-### Linguagens de Programação Populares e Seus Usos
-
-```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
-```
-
-| Linguagem | Melhor Para | Por Que É Popular |
-|-----------|-------------|-------------------|
-| **JavaScript** | Desenvolvimento web, interfaces de usuário | Roda em navegadores e alimenta sites interativos |
-| **Python** | Ciência de dados, automação, IA | Fácil de ler e aprender, bibliotecas poderosas |
-| **Java** | Aplicações empresariais, apps Android | Independente de plataforma, robusto para sistemas grandes |
-| **C#** | Aplicações Windows, desenvolvimento de jogos | Forte suporte ao ecossistema Microsoft |
-| **Go** | Serviços em nuvem, sistemas backend | Rápido, simples, projetado para computação moderna |
-
-### Linguagens de Alto Nível vs. Baixo Nível
-
-Ok, este foi honestamente o conceito que me deixou confuso quando comecei a aprender, então vou compartilhar a analogia que finalmente fez sentido para mim – e espero que ajude você também!
-
-Imagine que você está visitando um país onde não fala o idioma, e precisa desesperadamente encontrar o banheiro mais próximo (todos já passamos por isso, certo? 😅):
-
-- **Programação de baixo nível** é como aprender o dialeto local tão bem que você pode conversar com a avó vendendo frutas na esquina usando referências culturais, gírias locais e piadas internas que só alguém que cresceu lá entenderia. Super impressionante e incrivelmente eficiente... se você for fluente! Mas bastante esmagador quando você só está tentando encontrar um banheiro.
-
-- **Programação de alto nível** é como ter aquele amigo local incrível que simplesmente entende você. Você pode dizer "Eu realmente preciso encontrar um banheiro" em português, e eles lidam com toda a tradução cultural e te dão direções de uma forma que faz sentido para sua mente não nativa.
-
-Em termos de programação:
-- **Linguagens de baixo nível** (como Assembly ou C) permitem que você tenha conversas incrivelmente detalhadas com o hardware real do computador, mas você precisa pensar como uma máquina, o que é... bem, digamos que é uma mudança mental bem grande!
-- **Linguagens de alto nível** (como JavaScript, Python ou C#) permitem que você pense como um humano enquanto elas lidam com toda a linguagem da máquina nos bastidores. Além disso, elas têm comunidades incrivelmente acolhedoras cheias de pessoas que lembram como foi ser novo e realmente querem ajudar!
-
-Adivinha quais eu vou sugerir que você comece? 😉 Linguagens de alto nível são como ter rodinhas de treinamento que você nunca realmente quer tirar porque tornam toda a experiência muito mais agradável!
-
-```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
-```
-
-### Deixe-me Mostrar Por Que Linguagens de Alto Nível São Muito Mais Amigáveis
-
-Certo, estou prestes a mostrar algo que demonstra perfeitamente por que me apaixonei pelas linguagens de alto nível, mas primeiro – preciso que você me prometa uma coisa. Quando você vir o primeiro exemplo de código, não entre em pânico! É para parecer intimidante. Esse é exatamente o ponto que estou fazendo!
-
-Vamos olhar para a mesma tarefa escrita em dois estilos completamente diferentes. Ambos criam o que é chamado de sequência de Fibonacci – é esse padrão matemático lindo onde cada número é a soma dos dois anteriores: 0, 1, 1, 2, 3, 5, 8, 13... (Curiosidade: você encontrará esse padrão literalmente em toda parte na natureza – espirais de sementes de girassol, padrões de pinhas, até na forma como as galáxias se formam!)
-
-Pronto para ver a diferença? Vamos lá!
-
-**Linguagem de alto nível (JavaScript) – Amigável para humanos:**
-
-```javascript
-// Step 1: Basic Fibonacci setup
-const fibonacciCount = 10;
-let current = 0;
-let next = 1;
-
-console.log('Fibonacci sequence:');
-```
-
-**O que este código faz:**
-- **Declara** uma constante para especificar quantos números de Fibonacci queremos gerar
-- **Inicializa** duas variáveis para acompanhar os números atuais e próximos na sequência
-- **Define** os valores iniciais (0 e 1) que definem o padrão Fibonacci
-- **Exibe** uma mensagem de cabeçalho para identificar nossa saída
-
-```javascript
-// Step 2: Generate the sequence with a loop
-for (let i = 0; i < fibonacciCount; i++) {
- console.log(`Position ${i + 1}: ${current}`);
-
- // Calculate next number in sequence
- const sum = current + next;
- current = next;
- next = sum;
-}
-```
-
-**Desmembrando o que acontece aqui:**
-- **Percorre** cada posição na sequência usando um `for` loop
-- **Exibe** cada número com sua posição usando formatação de template literal
-- **Calcula** o próximo número de Fibonacci somando os valores atuais e próximos
-- **Atualiza** nossas variáveis de acompanhamento para passar para a próxima iteração
-
-```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);
-```
-
-**No código acima, nós:**
-- **Criamos** uma função reutilizável usando sintaxe moderna de função de seta
-- **Construímos** um array para armazenar a sequência completa em vez de exibir um por um
-- **Usamos** indexação de array para calcular cada novo número a partir dos valores anteriores
-- **Retornamos** a sequência completa para uso flexível em outras partes do programa
-
-**Linguagem de baixo nível (ARM Assembly) – Amigável para computadores:**
-
-```assembly
- area ascen,code,readonly
- entry
- code32
- adr r0,thumb+1
- bx r0
- code16
-thumb
- mov r0,#00
- sub r0,r0,#01
- mov r1,#01
- mov r4,#10
- ldr r2,=0x40000000
-back add r0,r1
- str r0,[r2]
- add r2,#04
- mov r3,r0
- mov r0,r1
- mov r1,r3
- sub r4,#01
- cmp r4,#00
- bne back
- end
-```
-
-Perceba como a versão em JavaScript se lê quase como instruções em inglês, enquanto a versão em Assembly usa comandos criptográficos que controlam diretamente o processador do computador. Ambos realizam exatamente a mesma tarefa, mas a linguagem de alto nível é muito mais fácil para humanos entenderem, escreverem e manterem.
-
-**Diferenças principais que você notará:**
-- **Legibilidade**: JavaScript usa nomes descritivos como `fibonacciCount`, enquanto Assembly usa rótulos criptográficos como `r0`, `r1`
-- **Comentários**: Linguagens de alto nível incentivam comentários explicativos que tornam o código autoexplicativo.
-- **Estrutura**: O fluxo lógico do JavaScript combina com a forma como os humanos pensam sobre problemas passo a passo.
-- **Manutenção**: Atualizar a versão do JavaScript para diferentes requisitos é simples e direto.
-
-✅ **Sobre a sequência de Fibonacci**: Esse padrão numérico absolutamente incrível (onde cada número é a soma dos dois anteriores: 0, 1, 1, 2, 3, 5, 8...) aparece literalmente *em todos os lugares* na natureza! Você o encontra nas espirais dos girassóis, nos padrões das pinhas, na curvatura das conchas de náutilo e até na forma como os galhos das árvores crescem. É impressionante como a matemática e o código podem nos ajudar a entender e recriar os padrões que a natureza usa para criar beleza!
-
-
-## Os Blocos de Construção Que Fazem a Mágica Acontecer
-
-Certo, agora que você viu como as linguagens de programação funcionam na prática, vamos analisar as peças fundamentais que compõem literalmente todos os programas já escritos. Pense nisso como os ingredientes essenciais da sua receita favorita – uma vez que você entender o que cada um faz, será capaz de ler e escrever código em praticamente qualquer linguagem!
-
-Isso é como aprender a gramática da programação. Lembra quando você aprendeu na escola sobre substantivos, verbos e como formar frases? A programação tem sua própria versão de gramática e, honestamente, é muito mais lógica e indulgente do que a gramática do português! 😄
-
-### Declarações: As Instruções Passo a Passo
-
-Vamos começar com **declarações** – elas são como frases individuais em uma conversa com o seu computador. Cada declaração diz ao computador para fazer uma coisa específica, como dar instruções: "Vire à esquerda aqui", "Pare no semáforo vermelho", "Estacione naquele lugar."
-
-O que eu adoro nas declarações é como elas geralmente são fáceis de ler. Veja só:
-
-```javascript
-// Basic statements that perform single actions
-const userName = "Alex";
-console.log("Hello, world!");
-const sum = 5 + 3;
-```
-
-**O que este código faz:**
-- **Declara** uma variável constante para armazenar o nome de um usuário
-- **Exibe** uma mensagem de saudação no console
-- **Calcula** e armazena o resultado de uma operação matemática
-
-```javascript
-// Statements that interact with web pages
-document.title = "My Awesome Website";
-document.body.style.backgroundColor = "lightblue";
-```
-
-**Passo a passo, o que está acontecendo:**
-- **Modifica** o título da página que aparece na aba do navegador
-- **Altera** a cor de fundo de todo o corpo da página
-
-### Variáveis: O Sistema de Memória do Seu Programa
-
-Ok, **variáveis** são, honestamente, um dos meus conceitos favoritos para ensinar porque elas são muito parecidas com coisas que você já usa todos os dias!
-
-Pense na lista de contatos do seu celular por um momento. Você não memoriza o número de todo mundo – em vez disso, salva "Mãe", "Melhor Amigo" ou "Pizzaria Que Entrega Até 2h" e deixa o celular lembrar os números reais. Variáveis funcionam exatamente da mesma forma! Elas são como recipientes rotulados onde seu programa pode armazenar informações e recuperá-las mais tarde usando um nome que realmente faz sentido.
-
-Aqui está o que é realmente legal: variáveis podem mudar enquanto seu programa está sendo executado (daí o nome "variável" – entendeu?). Assim como você pode atualizar o contato da pizzaria quando descobre um lugar ainda melhor, as variáveis podem ser atualizadas conforme seu programa aprende novas informações ou conforme as situações mudam!
-
-Deixe-me mostrar como isso pode ser incrivelmente simples:
-
-```javascript
-// Step 1: Creating basic variables
-const siteName = "Weather Dashboard";
-let currentWeather = "sunny";
-let temperature = 75;
-let isRaining = false;
-```
-
-**Entendendo esses conceitos:**
-- **Armazene** valores imutáveis em variáveis `const` (como o nome do site)
-- **Use** `let` para valores que podem mudar ao longo do programa
-- **Atribua** diferentes tipos de dados: strings (texto), números e booleanos (verdadeiro/falso)
-- **Escolha** nomes descritivos que expliquem o que cada variável contém
-
-```javascript
-// Step 2: Working with objects to group related data
-const weatherData = {
- location: "San Francisco",
- humidity: 65,
- windSpeed: 12
-};
-```
-
-**No exemplo acima, nós:**
-- **Criamos** um objeto para agrupar informações relacionadas ao clima
-- **Organizamos** vários dados sob um único nome de variável
-- **Usamos** pares chave-valor para rotular claramente cada informação
-
-```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;
-```
-
-**Vamos entender cada parte:**
-- **Exibe** informações usando literais de template com a sintaxe `${}`
-- **Acessa** propriedades de objetos usando notação de ponto (`weatherData.windSpeed`)
-- **Atualiza** variáveis declaradas com `let` para refletir condições em mudança
-- **Combina** várias variáveis para criar mensagens significativas
-
-```javascript
-// Step 4: Modern destructuring for cleaner code
-const { location, humidity } = weatherData;
-console.log(`${location} humidity: ${humidity}%`);
-```
-
-**O que você precisa saber:**
-- **Extrai** propriedades específicas de objetos usando atribuição por desestruturação
-- **Cria** novas variáveis automaticamente com os mesmos nomes das chaves do objeto
-- **Simplifica** o código evitando notação de ponto repetitiva
-
-### Fluxo de Controle: Ensinando Seu Programa a Pensar
-
-Ok, aqui é onde a programação fica absolutamente fascinante! **Fluxo de controle** é basicamente ensinar seu programa a tomar decisões inteligentes, exatamente como você faz todos os dias sem nem pensar nisso.
-
-Imagine isso: hoje de manhã você provavelmente passou por algo como "Se estiver chovendo, vou pegar um guarda-chuva. Se estiver frio, vou vestir um casaco. Se eu estiver atrasado, vou pular o café da manhã e pegar um café no caminho." Seu cérebro naturalmente segue essa lógica de "se-então" dezenas de vezes por dia!
-
-Isso é o que faz os programas parecerem inteligentes e vivos, em vez de apenas seguir um roteiro chato e previsível. Eles podem realmente olhar para uma situação, avaliar o que está acontecendo e responder de forma apropriada. É como dar ao seu programa um cérebro que pode se adaptar e fazer escolhas!
-
-Quer ver como isso funciona lindamente? Deixe-me mostrar:
-
-```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).`);
-}
-```
-
-**O que este código faz:**
-- **Verifica** se a idade do usuário atende ao requisito para votar
-- **Executa** diferentes blocos de código com base no resultado da condição
-- **Calcula** e exibe quanto tempo falta para a elegibilidade de voto, se menor de 18 anos
-- **Fornece** feedback específico e útil para cada cenário
-
-```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.");
-}
-```
-
-**Desmembrando o que acontece aqui:**
-- **Combina** várias condições usando o operador `&&` (e)
-- **Cria** uma hierarquia de condições usando `else if` para múltiplos cenários
-- **Lida** com todos os casos possíveis com uma declaração final `else`
-- **Fornece** feedback claro e acionável para cada situação diferente
-
-```javascript
-// Step 3: Concise conditional with ternary operator
-const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
-console.log(`Status: ${votingStatus}`);
-```
-
-**O que você precisa lembrar:**
-- **Use** o operador ternário (`? :`) para condições simples de duas opções
-- **Escreva** a condição primeiro, seguida por `?`, depois o resultado verdadeiro, depois `:`, e então o resultado falso
-- **Aplique** esse padrão quando precisar atribuir valores com base em condições
-
-```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");
-}
-```
-
-**Este código realiza o seguinte:**
-- **Compara** o valor da variável com vários casos específicos
-- **Agrupa** casos semelhantes (dias úteis vs. finais de semana)
-- **Executa** o bloco de código apropriado quando um caso é encontrado
-- **Inclui** um caso `default` para lidar com valores inesperados
-- **Usa** declarações `break` para evitar que o código continue para o próximo caso
-
-> 💡 **Analogia do mundo real**: Pense no fluxo de controle como ter o GPS mais paciente do mundo te dando direções. Ele pode dizer "Se houver trânsito na Rua Principal, pegue a rodovia. Se houver obras na rodovia, tente a rota panorâmica." Os programas usam exatamente o mesmo tipo de lógica condicional para responder inteligentemente a diferentes situações e sempre oferecer aos usuários a melhor experiência possível.
-
-### 🎯 **Verificação de Conceitos: Domínio dos Blocos de Construção**
-
-**Vamos ver como você está indo com os fundamentos:**
-- Você consegue explicar a diferença entre uma variável e uma declaração com suas próprias palavras?
-- Pense em um cenário do mundo real onde você usaria uma decisão "se-então" (como o exemplo de votação).
-- Qual é uma coisa sobre lógica de programação que te surpreendeu?
-
-**Rápido incentivo de confiança:**
-```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
-```
-
-✅ **O que vem a seguir**: Vamos nos divertir muito mergulhando mais fundo nesses conceitos enquanto continuamos essa jornada incrível juntos! Por enquanto, concentre-se em sentir a empolgação sobre todas as possibilidades incríveis que estão à sua frente. As habilidades e técnicas específicas vão se fixar naturalmente enquanto praticamos juntos – prometo que isso vai ser muito mais divertido do que você imagina!
-
-## Ferramentas do Ofício
-
-Certo, aqui é onde eu fico tão empolgado que mal consigo me conter! 🚀 Vamos falar sobre as ferramentas incríveis que vão fazer você se sentir como se tivesse acabado de receber as chaves de uma nave espacial digital.
-
-Sabe como um chef tem aquelas facas perfeitamente equilibradas que parecem extensões de suas mãos? Ou como um músico tem aquele violão que parece cantar no momento em que o toca? Bem, os desenvolvedores têm nossa própria versão dessas ferramentas mágicas, e aqui está o que vai te deixar de queixo caído – a maioria delas é completamente gratuita!
-
-Estou praticamente pulando na cadeira pensando em compartilhar isso com você porque elas revolucionaram completamente a forma como construímos software. Estamos falando de assistentes de codificação com inteligência artificial que podem ajudar a escrever seu código (não estou brincando!), ambientes na nuvem onde você pode construir aplicativos inteiros de literalmente qualquer lugar com Wi-Fi, e ferramentas de depuração tão sofisticadas que são como ter visão de raio-X para seus programas.
-
-E aqui está a parte que ainda me dá arrepios: essas não são "ferramentas para iniciantes" que você vai superar. Estas são exatamente as mesmas ferramentas de nível profissional que desenvolvedores do Google, Netflix e daquele estúdio indie de aplicativos que você adora estão usando neste exato momento. Você vai se sentir como um verdadeiro profissional usando elas!
-
-```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
-```
-
-### Editores de Código e IDEs: Seus Novos Melhores Amigos Digitais
-
-Vamos falar sobre editores de código – eles estão prestes a se tornar seus novos lugares favoritos para passar o tempo! Pense neles como seu santuário pessoal de codificação, onde você passará a maior parte do tempo criando e aperfeiçoando suas criações digitais.
-
-Mas aqui está o que é absolutamente mágico sobre os editores modernos: eles não são apenas editores de texto sofisticados. Eles são como ter o mentor de codificação mais brilhante e solidário sentado ao seu lado 24 horas por dia, 7 dias por semana. Eles corrigem seus erros de digitação antes mesmo de você perceber, sugerem melhorias que fazem você parecer um gênio, ajudam você a entender o que cada pedaço de código faz, e alguns deles podem até prever o que você está prestes a digitar e oferecer para terminar seus pensamentos!
-
-Eu me lembro quando descobri o auto-completar pela primeira vez – literalmente me senti vivendo no futuro. Você começa a digitar algo, e seu editor diz: "Ei, você estava pensando nesta função que faz exatamente o que você precisa?" É como ter um leitor de mentes como seu parceiro de codificação!
-
-**O que torna esses editores tão incríveis?**
-
-Os editores de código modernos oferecem uma impressionante variedade de recursos projetados para aumentar sua produtividade:
-
-| Recurso | O que Faz | Por que Ajuda |
-|---------|-----------|--------------|
-| **Realce de Sintaxe** | Colore diferentes partes do código | Facilita a leitura e a identificação de erros |
-| **Auto-completar** | Sugere código enquanto você digita | Acelera a codificação e reduz erros de digitação |
-| **Ferramentas de Depuração** | Ajuda a encontrar e corrigir erros | Economiza horas de solução de problemas |
-| **Extensões** | Adiciona recursos especializados | Personaliza o editor para qualquer tecnologia |
-| **Assistentes de IA** | Sugere código e explicações | Acelera o aprendizado e a produtividade |
-
-> 🎥 **Recurso em Vídeo**: Quer ver essas ferramentas em ação? Confira este [vídeo sobre Ferramentas do Ofício](https://youtube.com/watch?v=69WJeXGBdxg) para uma visão geral completa.
-
-#### Editores Recomendados para Desenvolvimento Web
-
-**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (Gratuito)
-- O mais popular entre os desenvolvedores web
-- Excelente ecossistema de extensões
-- Terminal integrado e integração com Git
-- **Extensões indispensáveis**:
- - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - Sugestões de código com IA
- - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - Colaboração em tempo real
- - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - Formatação automática de código
- - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - Detecta erros de digitação no código
-
-**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (Pago, gratuito para estudantes)
-- Ferramentas avançadas de depuração e teste
-- Auto-completar inteligente
-- Controle de versão integrado
-
-**IDEs Baseados na Nuvem** (Preços variados)
-- [GitHub Codespaces](https://github.com/features/codespaces) - VS Code completo no navegador
-- [Replit](https://replit.com/) - Ótimo para aprender e compartilhar código
-- [StackBlitz](https://stackblitz.com/) - Desenvolvimento web full-stack instantâneo
-
-> 💡 **Dica para Começar**: Comece com o Visual Studio Code – é gratuito, amplamente utilizado na indústria e tem uma enorme comunidade criando tutoriais e extensões úteis.
-
-
-### Navegadores Web: Seu Laboratório Secreto de Desenvolvimento
-
-Ok, prepare-se para ter sua mente completamente explodida! Sabe como você tem usado navegadores para rolar pelas redes sociais e assistir vídeos? Bem, acontece que eles têm escondido este incrível laboratório secreto de desenvolvimento o tempo todo, apenas esperando que você o descubra!
-
-Toda vez que você clica com o botão direito em uma página da web e seleciona "Inspecionar Elemento", está abrindo um mundo oculto de ferramentas de desenvolvedor que são honestamente mais poderosas do que alguns softwares caros que eu costumava pagar centenas de reais. É como descobrir que sua cozinha comum estava escondendo um laboratório de chef profissional atrás de um painel secreto!
-A primeira vez que alguém me mostrou as DevTools do navegador, eu passei umas três horas clicando em tudo e pensando "ESPERA, ELE FAZ ISSO TAMBÉM?!" Você literalmente pode editar qualquer site em tempo real, ver exatamente a velocidade de carregamento de tudo, testar como seu site fica em diferentes dispositivos e até depurar JavaScript como um verdadeiro profissional. É absolutamente incrível!
-
-**Por que os navegadores são sua arma secreta:**
-
-Quando você cria um site ou aplicativo web, precisa ver como ele se parece e se comporta no mundo real. Os navegadores não apenas exibem seu trabalho, mas também fornecem feedback detalhado sobre desempenho, acessibilidade e possíveis problemas.
-
-#### Ferramentas de Desenvolvimento do Navegador (DevTools)
-
-Os navegadores modernos incluem suítes de desenvolvimento completas:
-
-| Categoria de Ferramenta | O que Faz | Exemplo de Uso |
-|--------------------------|-----------|----------------|
-| **Inspector de Elementos** | Visualizar e editar HTML/CSS em tempo real | Ajustar estilos e ver resultados imediatos |
-| **Console** | Ver mensagens de erro e testar JavaScript | Depurar problemas e experimentar código |
-| **Monitor de Rede** | Acompanhar o carregamento de recursos | Otimizar desempenho e tempos de carregamento |
-| **Verificador de Acessibilidade** | Testar design inclusivo | Garantir que seu site funcione para todos os usuários |
-| **Simulador de Dispositivos** | Visualizar em diferentes tamanhos de tela | Testar design responsivo sem vários dispositivos |
-
-#### Navegadores Recomendados para Desenvolvimento
-
-- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** - DevTools padrão da indústria com documentação extensa
-- **[Firefox](https://developer.mozilla.org/docs/Tools)** - Excelentes ferramentas para CSS Grid e acessibilidade
-- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** - Baseado no Chromium com recursos de desenvolvimento da Microsoft
-
-> ⚠️ **Dica Importante de Teste**: Sempre teste seus sites em vários navegadores! O que funciona perfeitamente no Chrome pode parecer diferente no Safari ou Firefox. Desenvolvedores profissionais testam em todos os navegadores principais para garantir experiências consistentes para os usuários.
-
-### Ferramentas de Linha de Comando: Seu Portal para Superpoderes de Desenvolvedor
-
-Ok, vamos ter um momento completamente honesto sobre a linha de comando, porque quero que você ouça isso de alguém que realmente entende. Quando eu vi pela primeira vez – aquela tela preta assustadora com texto piscando – eu literalmente pensei: "Não, de jeito nenhum! Isso parece algo de um filme de hacker dos anos 80, e eu definitivamente não sou inteligente o suficiente para isso!" 😅
-
-Mas aqui está o que eu gostaria que alguém tivesse me dito naquela época, e o que estou te dizendo agora: a linha de comando não é assustadora – na verdade, é como ter uma conversa direta com seu computador. Pense nisso como a diferença entre pedir comida por um aplicativo sofisticado com fotos e menus (que é legal e fácil) versus entrar no seu restaurante local favorito onde o chef sabe exatamente o que você gosta e pode preparar algo perfeito só com você dizendo "me surpreenda com algo incrível."
-
-A linha de comando é onde os desenvolvedores vão para se sentir como verdadeiros magos. Você digita algumas palavras aparentemente mágicas (ok, são apenas comandos, mas parecem mágicos!), aperta enter, e BOOM – você criou estruturas inteiras de projetos, instalou ferramentas poderosas de todo o mundo ou implantou seu aplicativo na internet para milhões de pessoas verem. Depois que você experimenta esse poder pela primeira vez, é realmente viciante!
-
-**Por que a linha de comando vai se tornar sua ferramenta favorita:**
-
-Embora as interfaces gráficas sejam ótimas para muitas tarefas, a linha de comando se destaca em automação, precisão e velocidade. Muitas ferramentas de desenvolvimento funcionam principalmente por meio de interfaces de linha de comando, e aprender a usá-las de forma eficiente pode melhorar drasticamente sua produtividade.
-
-```bash
-# Step 1: Create and navigate to project directory
-mkdir my-awesome-website
-cd my-awesome-website
-```
-
-**O que este código faz:**
-- **Cria** um novo diretório chamado "my-awesome-website" para seu projeto
-- **Navega** para o diretório recém-criado para começar a trabalhar
-
-```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
-```
-
-**Passo a passo, aqui está o que está acontecendo:**
-- **Inicializa** um novo projeto Node.js com configurações padrão usando `npm init -y`
-- **Instala** o Vite como uma ferramenta moderna de build para desenvolvimento rápido e builds de produção
-- **Adiciona** o Prettier para formatação automática de código e o ESLint para verificação de qualidade de código
-- **Usa** a flag `--save-dev` para marcar essas dependências como exclusivas de desenvolvimento
-
-```bash
-# Step 3: Create project structure and files
-mkdir src assets
-echo '
My Site
Hello World
' > index.html
-
-# Start development server
-npx vite
-```
-
-**No exemplo acima, nós:**
-- **Organizamos** nosso projeto criando pastas separadas para código-fonte e recursos
-- **Geramos** um arquivo HTML básico com estrutura de documento adequada
-- **Iniciamos** o servidor de desenvolvimento do Vite para recarregamento ao vivo e substituição de módulos em tempo real
-
-#### Ferramentas Essenciais de Linha de Comando para Desenvolvimento Web
-
-| Ferramenta | Propósito | Por que Você Precisa |
-|------------|-----------|----------------------|
-| **[Git](https://git-scm.com/)** | Controle de versão | Acompanhar mudanças, colaborar com outros, fazer backup do seu trabalho |
-| **[Node.js & npm](https://nodejs.org/)** | Runtime de JavaScript & gerenciamento de pacotes | Executar JavaScript fora dos navegadores, instalar ferramentas modernas de desenvolvimento |
-| **[Vite](https://vitejs.dev/)** | Ferramenta de build & servidor de desenvolvimento | Desenvolvimento super rápido com substituição de módulos em tempo real |
-| **[ESLint](https://eslint.org/)** | Qualidade de código | Encontrar e corrigir problemas automaticamente no seu JavaScript |
-| **[Prettier](https://prettier.io/)** | Formatação de código | Manter seu código consistentemente formatado e legível |
-
-#### Opções Específicas para Cada Plataforma
-
-**Windows:**
-- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** - Terminal moderno e rico em recursos
-- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 - Ambiente de script poderoso
-- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 - Linha de comando tradicional do Windows
-
-**macOS:**
-- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 - Aplicativo de terminal embutido
-- **[iTerm2](https://iterm2.com/)** - Terminal aprimorado com recursos avançados
-
-**Linux:**
-- **[Bash](https://www.gnu.org/software/bash/)** 💻 - Shell padrão do Linux
-- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** - Emulador de terminal avançado
-
-> 💻 = Pré-instalado no sistema operacional
-
-> 🎯 **Caminho de Aprendizado**: Comece com comandos básicos como `cd` (mudar diretório), `ls` ou `dir` (listar arquivos) e `mkdir` (criar pasta). Pratique com comandos de fluxo de trabalho modernos como `npm install`, `git status` e `code .` (abre o diretório atual no VS Code). Conforme você se sentir mais confortável, naturalmente aprenderá comandos mais avançados e técnicas de automação.
-
-### Documentação: Seu Mentor de Aprendizado Sempre Disponível
-
-Ok, vou compartilhar um pequeno segredo que vai te fazer sentir muito melhor sobre ser iniciante: até os desenvolvedores mais experientes passam uma grande parte do tempo lendo documentação. E isso não é porque eles não sabem o que estão fazendo – na verdade, é um sinal de sabedoria!
-
-Pense na documentação como ter acesso aos professores mais pacientes e experientes do mundo, disponíveis 24 horas por dia, 7 dias por semana. Está com um problema às 2 da manhã? A documentação está lá com um abraço virtual caloroso e exatamente a resposta que você precisa. Quer aprender sobre algum recurso novo e legal que todo mundo está comentando? A documentação está lá com exemplos passo a passo. Tentando entender por que algo funciona do jeito que funciona? Isso mesmo – a documentação está pronta para explicar de uma forma que finalmente faz sentido!
-
-Aqui está algo que mudou completamente minha perspectiva: o mundo do desenvolvimento web avança incrivelmente rápido, e ninguém (eu quero dizer absolutamente ninguém!) mantém tudo memorizado. Já vi desenvolvedores seniores com mais de 15 anos de experiência pesquisarem sintaxes básicas, e sabe de uma coisa? Isso não é vergonhoso – é inteligente! Não se trata de ter uma memória perfeita; trata-se de saber onde encontrar respostas confiáveis rapidamente e entender como aplicá-las.
-
-**Aqui está onde a verdadeira mágica acontece:**
-
-Desenvolvedores profissionais passam uma parte significativa do tempo lendo documentação – não porque não sabem o que estão fazendo, mas porque o cenário do desenvolvimento web evolui tão rapidamente que se manter atualizado exige aprendizado contínuo. Uma boa documentação ajuda você a entender não apenas *como* usar algo, mas *por que* e *quando* usá-lo.
-
-#### Recursos Essenciais de Documentação
-
-**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)**
-- O padrão ouro para documentação de tecnologias web
-- Guias abrangentes para HTML, CSS e JavaScript
-- Inclui informações de compatibilidade entre navegadores
-- Apresenta exemplos práticos e demos interativas
-
-**[Web.dev](https://web.dev)** (por Google)
-- Melhores práticas modernas de desenvolvimento web
-- Guias de otimização de desempenho
-- Princípios de acessibilidade e design inclusivo
-- Estudos de caso de projetos reais
-
-**[Documentação da Microsoft](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)**
-- Recursos de desenvolvimento para o navegador Edge
-- Guias de Progressive Web Apps
-- Insights sobre desenvolvimento multiplataforma
-
-**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)**
-- Currículos de aprendizado estruturados
-- Cursos em vídeo com especialistas da indústria
-- Exercícios práticos de codificação
-
-> 📚 **Estratégia de Estudo**: Não tente memorizar a documentação – em vez disso, aprenda a navegar por ela de forma eficiente. Salve nos favoritos as referências mais usadas e pratique usar as funções de busca para encontrar informações específicas rapidamente.
-
-### 🔧 **Verificação de Domínio de Ferramentas: O que te interessa?**
-
-**Tire um momento para refletir:**
-- Qual ferramenta você está mais animado para experimentar primeiro? (Não há resposta errada!)
-- A linha de comando ainda parece intimidante ou você está curioso sobre ela?
-- Você consegue imaginar usar as DevTools do navegador para explorar os bastidores dos seus sites favoritos?
-
-```mermaid
-pie title "Developer Time Spent With Tools"
- "Code Editor" : 40
- "Browser Testing" : 25
- "Command Line" : 15
- "Reading Docs" : 15
- "Debugging" : 5
-```
-
-> **Insight divertido**: A maioria dos desenvolvedores passa cerca de 40% do tempo no editor de código, mas perceba quanto tempo é dedicado a testes, aprendizado e resolução de problemas. Programar não é apenas escrever código – é criar experiências!
-
-✅ **Para pensar**: Aqui está algo interessante para refletir – como você acha que as ferramentas para construir sites (desenvolvimento) podem ser diferentes das ferramentas para projetar como eles se parecem (design)? É como a diferença entre ser um arquiteto que projeta uma casa bonita e o construtor que realmente a constrói. Ambos são cruciais, mas precisam de caixas de ferramentas diferentes! Esse tipo de pensamento realmente ajuda a ver o panorama geral de como os sites ganham vida.
-
-## Desafio do Agente GitHub Copilot 🚀
-
-Use o modo Agent para completar o seguinte desafio:
-
-**Descrição:** Explore os recursos de um editor de código moderno ou IDE e demonstre como ele pode melhorar seu fluxo de trabalho como desenvolvedor web.
-
-**Prompt:** Escolha um editor de código ou IDE (como Visual Studio Code, WebStorm ou um IDE baseado em nuvem). Liste três recursos ou extensões que ajudam você a escrever, depurar ou manter o código de forma mais eficiente. Para cada um, forneça uma breve explicação de como ele beneficia seu fluxo de trabalho.
-
----
-
-## 🚀 Desafio
-
-**Pronto para o seu primeiro caso, detetive?**
-
-Agora que você tem essa base incrível, tenho uma aventura que vai te ajudar a ver como o mundo da programação é incrivelmente diverso e fascinante. E ouça – isso não é sobre escrever código ainda, então sem pressão! Pense em si mesmo como um detetive de linguagens de programação em seu primeiro caso emocionante!
-
-**Sua missão, caso decida aceitá-la:**
-1. **Torne-se um explorador de linguagens**: Escolha três linguagens de programação de universos completamente diferentes – talvez uma que construa sites, outra que crie aplicativos móveis e outra que analise dados para cientistas. Encontre exemplos da mesma tarefa simples escrita em cada linguagem. Prometo que você vai ficar absolutamente impressionado com o quão diferentes elas podem parecer enquanto fazem exatamente a mesma coisa!
-
-2. **Descubra suas histórias de origem**: O que torna cada linguagem especial? Aqui está um fato interessante – cada linguagem de programação foi criada porque alguém pensou: "Sabe de uma coisa? Deve haver uma maneira melhor de resolver este problema específico." Você consegue descobrir quais eram esses problemas? Algumas dessas histórias são genuinamente fascinantes!
-
-3. **Conheça as comunidades**: Veja como cada comunidade de linguagem é acolhedora e apaixonada. Algumas têm milhões de desenvolvedores compartilhando conhecimento e ajudando uns aos outros, outras são menores, mas incrivelmente unidas e solidárias. Você vai adorar ver as diferentes personalidades dessas comunidades!
-
-4. **Siga sua intuição**: Qual linguagem parece mais acessível para você agora? Não se preocupe em fazer a escolha "perfeita" – apenas ouça seus instintos! Não há resposta errada aqui, e você sempre pode explorar outras mais tarde.
-
-**Trabalho de detetive bônus**: Veja se consegue descobrir quais grandes sites ou aplicativos são construídos com cada linguagem. Garanto que você ficará surpreso ao saber o que alimenta o Instagram, Netflix ou aquele jogo móvel que você não consegue parar de jogar!
-
-> 💡 **Lembre-se**: Você não está tentando se tornar um especialista em nenhuma dessas linguagens hoje. Você está apenas conhecendo o bairro antes de decidir onde quer se estabelecer. Vá com calma, divirta-se e deixe sua curiosidade te guiar!
-
-## Vamos Celebrar o que Você Descobriu!
-
-Uau, você absorveu tanta informação incrível hoje! Estou genuinamente animado para ver o quanto dessa jornada incrível ficou com você. E lembre-se – isso não é um teste onde você precisa acertar tudo. É mais como uma celebração de todas as coisas legais que você aprendeu sobre esse mundo fascinante no qual está prestes a mergulhar!
-
-[Faça o quiz pós-aula](https://ff-quizzes.netlify.app/web/)
-## Revisão e Autoestudo
-
-**Tire um tempo para explorar e se divertir com isso!**
-
-Você cobriu muita coisa hoje, e isso é algo para se orgulhar! Agora vem a parte divertida – explorar os tópicos que despertaram sua curiosidade. Lembre-se, isso não é tarefa de casa – é uma aventura!
-
-**Aprofunde-se no que te empolga:**
-
-**Coloque a mão na massa com linguagens de programação:**
-- Visite os sites oficiais de 2-3 linguagens que chamaram sua atenção. Cada uma tem sua própria personalidade e história!
-- Experimente alguns playgrounds de código online como [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/) ou [Replit](https://replit.com/). Não tenha medo de experimentar – você não vai quebrar nada!
-- Leia sobre como sua linguagem favorita surgiu. Sério, algumas dessas histórias de origem são fascinantes e vão te ajudar a entender por que as linguagens funcionam do jeito que funcionam.
-
-**Fique confortável com suas novas ferramentas:**
-- Baixe o Visual Studio Code, se ainda não fez isso – é gratuito e você vai adorar!
-- Passe alguns minutos navegando no marketplace de Extensões. É como uma loja de aplicativos para seu editor de código!
-- Abra as Ferramentas de Desenvolvedor do seu navegador e clique por aí. Não se preocupe em entender tudo – apenas familiarize-se com o que está lá.
-
-**Participe da comunidade:**
-- Siga algumas comunidades de desenvolvedores no [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/) ou [GitHub](https://github.com/). A comunidade de programação é incrivelmente acolhedora para iniciantes!
-- Assista a alguns vídeos de programação para iniciantes no YouTube. Há muitos criadores incríveis que se lembram de como é estar começando.
-- Considere participar de encontros locais ou comunidades online. Acredite, desenvolvedores adoram ajudar iniciantes!
-
-> 🎯 **Ouça, aqui está o que eu quero que você lembre**: Não se espera que você se torne um mestre em programação da noite para o dia! Agora, você está apenas conhecendo este mundo incrível do qual está prestes a fazer parte. Vá com calma, aproveite a jornada e lembre-se – todo desenvolvedor que você admira já esteve exatamente onde você está agora, sentindo-se empolgado e talvez um pouco sobrecarregado. Isso é totalmente normal e significa que você está no caminho certo!
-
-
-
-## Tarefa
-
-[Reading the Docs](assignment.md)
-
-> 💡 **Um pequeno empurrão para sua tarefa**: Eu adoraria ver você explorar algumas ferramentas que ainda não abordamos! Pule os editores, navegadores e ferramentas de linha de comando que já discutimos – existe todo um universo incrível de ferramentas de desenvolvimento esperando para ser descoberto. Procure por aquelas que são ativamente mantidas e têm comunidades vibrantes e úteis (essas tendem a ter os melhores tutoriais e as pessoas mais solidárias quando você inevitavelmente ficar preso e precisar de uma mão amiga).
-
----
-
-## 🚀 Sua Linha do Tempo na Jornada de Programação
-
-### ⚡ **O que você pode fazer nos próximos 5 minutos**
-- [ ] Adicione aos favoritos os sites de 2-3 linguagens de programação que chamaram sua atenção
-- [ ] Baixe o Visual Studio Code, se ainda não fez isso
-- [ ] Abra as DevTools do seu navegador (F12) e clique por aí em qualquer site
-- [ ] Participe de uma comunidade de programação (Dev.to, Reddit r/webdev ou Stack Overflow)
-
-### ⏰ **O que você pode realizar nesta hora**
-- [ ] Complete o quiz pós-aula e reflita sobre suas respostas
-- [ ] Configure o VS Code com a extensão GitHub Copilot
-- [ ] Experimente um exemplo de "Hello World" em 2 linguagens de programação diferentes online
-- [ ] Assista a um vídeo "Um dia na vida de um desenvolvedor" no YouTube
-- [ ] Comece sua investigação sobre linguagens de programação (do desafio)
-
-### 📅 **Sua aventura de uma semana**
-- [ ] Complete a tarefa e explore 3 novas ferramentas de desenvolvimento
-- [ ] Siga 5 desenvolvedores ou contas de programação nas redes sociais
-- [ ] Experimente criar algo pequeno no CodePen ou Replit (mesmo que seja só "Olá, [Seu Nome]!")
-- [ ] Leia um post de blog de um desenvolvedor sobre a jornada dele na programação
-- [ ] Participe de um encontro virtual ou assista a uma palestra sobre programação
-- [ ] Comece a aprender a linguagem escolhida com tutoriais online
-
-### 🗓️ **Sua transformação de um mês**
-- [ ] Construa seu primeiro projeto pequeno (mesmo uma página simples conta!)
-- [ ] Contribua para um projeto de código aberto (comece com correções de documentação)
-- [ ] Mentore alguém que está começando sua jornada de programação
-- [ ] Crie seu site de portfólio de desenvolvedor
-- [ ] Conecte-se com comunidades locais de desenvolvedores ou grupos de estudo
-- [ ] Comece a planejar seu próximo marco de aprendizado
-
-### 🎯 **Reflexão Final**
-
-**Antes de seguir em frente, tire um momento para celebrar:**
-- Qual foi uma coisa sobre programação que te empolgou hoje?
-- Qual ferramenta ou conceito você quer explorar primeiro?
-- Como você se sente ao começar essa jornada de programação?
-- Qual pergunta você gostaria de fazer a um desenvolvedor agora?
-
-```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
-```
-
-> 🌟 **Lembre-se**: Todo especialista já foi um iniciante. Todo desenvolvedor sênior já se sentiu exatamente como você agora – empolgado, talvez um pouco sobrecarregado, e definitivamente curioso sobre o que é possível. Você está em ótima companhia, e essa jornada vai ser incrível. Bem-vindo ao maravilhoso mundo da programação! 🎉
-
----
-
-**Aviso Legal**:
-Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.
\ No newline at end of file
diff --git a/translations/br/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md b/translations/br/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md
deleted file mode 100644
index 95c5b59a9..000000000
--- a/translations/br/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md
+++ /dev/null
@@ -1,76 +0,0 @@
-
-# Tarefa: Explorando Ferramentas Modernas de Desenvolvimento Web
-
-## Instruções
-
-O ecossistema de desenvolvimento web inclui centenas de ferramentas especializadas que ajudam os desenvolvedores a criar, testar e manter aplicações de forma eficiente. Sua tarefa é pesquisar e entender ferramentas que complementam as abordadas nesta aula.
-
-**Sua Missão:** Escolha **três ferramentas** que **não foram abordadas nesta aula** (evite escolher editores de código, navegadores ou ferramentas de linha de comando já listadas). Foque em ferramentas que resolvam problemas específicos nos fluxos de trabalho modernos de desenvolvimento web.
-
-**Para cada ferramenta, forneça:**
-
-1. **Nome e categoria da ferramenta** (ex.: "Figma - Ferramenta de Design" ou "Jest - Framework de Testes")
-2. **Propósito e benefícios** - Explique em 2-3 frases por que um desenvolvedor web usaria essa ferramenta e quais problemas ela resolve
-3. **Link para a documentação oficial** - Forneça um link para a documentação oficial ou site da ferramenta (não apenas sites de tutoriais)
-4. **Contexto no mundo real** - Mencione uma forma de como essa ferramenta se encaixa em um fluxo de trabalho profissional
-
-## Categorias de Ferramentas Sugeridas
-
-Considere explorar ferramentas dessas categorias:
-
-| Categoria | Exemplos | O que fazem |
-|-----------|----------|-------------|
-| **Ferramentas de Build** | Vite, Webpack, Parcel, esbuild | Empacotam e otimizam o código para produção com servidores de desenvolvimento rápidos |
-| **Frameworks de Teste** | Vitest, Jest, Cypress, Playwright | Garantem que o código funcione corretamente e detectam bugs antes da implantação |
-| **Ferramentas de Design** | Figma, Adobe XD, Penpot | Criam mockups, protótipos e sistemas de design colaborativos |
-| **Plataformas de Deploy** | Netlify, Vercel, Cloudflare Pages | Hospedam e distribuem sites com CI/CD automático |
-| **Controle de Versão** | GitHub, GitLab, Bitbucket | Gerenciam alterações de código, colaboração e fluxos de trabalho de projetos |
-| **Frameworks de CSS** | Tailwind CSS, Bootstrap, Bulma | Aceleram o estilo com bibliotecas de componentes pré-construídos |
-| **Gerenciadores de Pacotes** | npm, pnpm, Yarn | Instalam e gerenciam bibliotecas de código e dependências |
-| **Ferramentas de Acessibilidade** | axe-core, Lighthouse, Pa11y | Testam design inclusivo e conformidade com WCAG |
-| **Desenvolvimento de APIs** | Postman, Insomnia, Thunder Client | Testam e documentam APIs durante o desenvolvimento |
-
-## Requisitos de Formatação
-
-**Para cada ferramenta:**
-```
-### [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]
-```
-
-## Diretrizes de Qualidade
-
-- **Escolha ferramentas atuais**: Selecione ferramentas que sejam ativamente mantidas e amplamente utilizadas em 2025
-- **Foco no valor**: Explique os benefícios específicos, não apenas o que a ferramenta faz
-- **Contexto profissional**: Considere ferramentas usadas por equipes de desenvolvimento, não apenas por entusiastas individuais
-- **Seleção diversificada**: Escolha ferramentas de diferentes categorias para mostrar a amplitude do ecossistema
-- **Relevância moderna**: Priorize ferramentas que estejam alinhadas com as tendências e melhores práticas atuais de desenvolvimento web
-
-## Rubrica
-
-| Excelente | Bom | Precisa Melhorar |
-|-----------|-----|------------------|
-| **Explicou claramente por que os desenvolvedores usam cada ferramenta e quais problemas ela resolve** | **Explicou o que a ferramenta faz, mas perdeu parte do contexto sobre seu valor** | **Listou ferramentas, mas não explicou seu propósito ou benefícios** |
-| **Forneceu links para a documentação oficial de todas as ferramentas** | **Forneceu principalmente links oficiais com 1-2 sites de tutoriais** | **Baseou-se principalmente em sites de tutoriais em vez de documentação oficial** |
-| **Selecionou ferramentas atuais e usadas profissionalmente de categorias diversas** | **Selecionou boas ferramentas, mas com variedade limitada de categorias** | **Selecionou ferramentas desatualizadas ou apenas de uma categoria** |
-| **Demonstrou compreensão de como as ferramentas se encaixam nos fluxos de trabalho de desenvolvimento** | **Mostrou alguma compreensão do contexto profissional** | **Focou apenas nos recursos da ferramenta sem contexto de fluxo de trabalho** |
-
-> 💡 **Dica de Pesquisa**: Procure ferramentas mencionadas em vagas de emprego para desenvolvedores web, verifique pesquisas populares de desenvolvedores ou explore as dependências usadas por projetos de código aberto bem-sucedidos no GitHub!
-
----
-
-**Aviso Legal**:
-Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional feita por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução.
\ No newline at end of file
diff --git a/translations/br/1-getting-started-lessons/2-github-basics/README.md b/translations/br/1-getting-started-lessons/2-github-basics/README.md
deleted file mode 100644
index 4afccae07..000000000
--- a/translations/br/1-getting-started-lessons/2-github-basics/README.md
+++ /dev/null
@@ -1,775 +0,0 @@
-
-# Introdução ao GitHub
-
-Olá, futuro desenvolvedor! 👋 Pronto para se juntar a milhões de programadores ao redor do mundo? Estou genuinamente animado para apresentar o GitHub a você – pense nele como uma rede social para programadores, mas em vez de compartilhar fotos do seu almoço, compartilhamos código e construímos coisas incríveis juntos!
-
-Aqui está algo que me deixa impressionado: todos os aplicativos no seu celular, todos os sites que você visita e a maioria das ferramentas que você aprenderá a usar foram criados por equipes de desenvolvedores colaborando em plataformas como o GitHub. Aquele aplicativo de música que você adora? Alguém como você contribuiu para ele. Aquele jogo que você não consegue parar de jogar? Sim, provavelmente foi construído com colaboração no GitHub. E agora VOCÊ vai aprender como fazer parte dessa comunidade incrível!
-
-Eu sei que isso pode parecer muito no começo – eu mesmo lembro de olhar para minha primeira página no GitHub e pensar "O que tudo isso significa?". Mas aqui está o segredo: todo desenvolvedor começou exatamente onde você está agora. Até o final desta lição, você terá seu próprio repositório no GitHub (pense nele como sua vitrine pessoal de projetos na nuvem) e saberá como salvar seu trabalho, compartilhá-lo com outros e até contribuir para projetos que milhões de pessoas usam.
-
-Vamos embarcar nessa jornada juntos, passo a passo. Sem pressa, sem pressão – apenas você, eu e algumas ferramentas muito legais que estão prestes a se tornar suas melhores amigas!
-
-
-> Sketchnote por [Tomomi Imura](https://twitter.com/girlie_mac)
-
-```mermaid
-journey
- title Sua Aventura no GitHub Hoje
- section Configuração
- Instalar Git: 4: Você
- Criar Conta: 5: Você
- Primeiro Repositório: 5: Você
- section Dominar o Git
- Alterações Locais: 4: Você
- Commits & Pushes: 5: Você
- Ramificação: 4: Você
- section Colaborar
- Fazer Fork de Projetos: 4: Você
- Pull Requests: 5: Você
- Código Aberto: 5: Você
-```
-## Quiz Pré-Aula
-[Quiz pré-aula](https://ff-quizzes.netlify.app)
-
-## Introdução
-
-Antes de mergulharmos nas partes realmente empolgantes, vamos preparar seu computador para um pouco de mágica do GitHub! Pense nisso como organizar seus materiais de arte antes de criar uma obra-prima – ter as ferramentas certas prontas torna tudo muito mais fácil e divertido.
-
-Vou te guiar por cada etapa de configuração pessoalmente, e prometo que não é tão intimidador quanto parece à primeira vista. Se algo não fizer sentido de imediato, isso é completamente normal! Eu lembro de configurar meu primeiro ambiente de desenvolvimento e sentir como se estivesse tentando decifrar hieróglifos antigos. Todo desenvolvedor já esteve exatamente onde você está agora, se perguntando se está fazendo certo. Spoiler: se você está aqui aprendendo, já está fazendo certo! 🌟
-
-Nesta lição, vamos abordar:
-
-- como rastrear o trabalho que você faz no seu computador
-- como trabalhar em projetos com outras pessoas
-- como contribuir para software de código aberto
-
-### Pré-requisitos
-
-Vamos preparar seu computador para um pouco de mágica do GitHub! Não se preocupe – essa configuração é algo que você só precisa fazer uma vez, e depois estará pronto para toda a sua jornada de programação.
-
-Certo, vamos começar com a base! Primeiro, precisamos verificar se o Git já está instalado no seu computador. O Git é basicamente como ter um assistente superinteligente que lembra de cada mudança que você faz no seu código – muito melhor do que apertar Ctrl+S freneticamente a cada dois segundos (todos já passamos por isso!).
-
-Vamos ver se o Git já está instalado digitando este comando mágico no terminal:
-`git --version`
-
-Se o Git ainda não estiver lá, sem problemas! Basta acessar [download Git](https://git-scm.com/downloads) e baixá-lo. Depois de instalá-lo, precisamos apresentar o Git a você adequadamente:
-
-> 💡 **Configuração Inicial**: Esses comandos dizem ao Git quem você é. Essas informações serão anexadas a cada commit que você fizer, então escolha um nome e e-mail com os quais você se sinta confortável em compartilhar publicamente.
-
-```bash
-git config --global user.name "your-name"
-git config --global user.email "your-email"
-```
-
-Para verificar se o Git já está configurado, você pode digitar:
-```bash
-git config --list
-```
-
-Você também precisará de uma conta no GitHub, um editor de código (como o Visual Studio Code) e abrir seu terminal (ou prompt de comando).
-
-Acesse [github.com](https://github.com/) e crie uma conta, se ainda não tiver uma, ou faça login e preencha seu perfil.
-
-💡 **Dica moderna**: Considere configurar [chaves SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) ou usar [GitHub CLI](https://cli.github.com/) para facilitar a autenticação sem senhas.
-
-✅ O GitHub não é o único repositório de código no mundo; existem outros, mas o GitHub é o mais conhecido.
-
-### Preparação
-
-Você precisará de uma pasta com um projeto de código no seu computador (laptop ou PC) e de um repositório público no GitHub, que servirá como exemplo de como contribuir para os projetos de outras pessoas.
-
-### Mantendo Seu Código Seguro
-
-Vamos falar sobre segurança por um momento – mas não se preocupe, não vamos te sobrecarregar com coisas assustadoras! Pense nessas práticas de segurança como trancar seu carro ou sua casa. São hábitos simples que se tornam naturais e mantêm seu trabalho protegido.
-
-Vamos mostrar as maneiras modernas e seguras de trabalhar com o GitHub desde o início. Assim, você desenvolverá bons hábitos que serão úteis ao longo de sua carreira de programação.
-
-Ao trabalhar com o GitHub, é importante seguir as melhores práticas de segurança:
-
-| Área de Segurança | Melhor Prática | Por Que É Importante |
-|-------------------|----------------|-----------------------|
-| **Autenticação** | Use chaves SSH ou Tokens de Acesso Pessoal | Senhas são menos seguras e estão sendo substituídas |
-| **Autenticação em Dois Fatores** | Ative 2FA na sua conta do GitHub | Adiciona uma camada extra de proteção à conta |
-| **Segurança do Repositório** | Nunca faça commit de informações sensíveis | Chaves de API e senhas nunca devem estar em repositórios públicos |
-| **Gerenciamento de Dependências** | Ative o Dependabot para atualizações | Mantém suas dependências seguras e atualizadas |
-
-> ⚠️ **Lembrete Crítico de Segurança**: Nunca faça commit de chaves de API, senhas ou outras informações sensíveis em qualquer repositório. Use variáveis de ambiente e arquivos `.gitignore` para proteger dados sensíveis.
-
-**Configuração Moderna de Autenticação:**
-
-```bash
-# Gerar chave SSH (algoritmo moderno ed25519)
-ssh-keygen -t ed25519 -C "your_email@example.com"
-
-# Configurar o Git para usar SSH
-git remote set-url origin git@github.com:username/repository.git
-```
-
-> 💡 **Dica Pro**: Chaves SSH eliminam a necessidade de digitar senhas repetidamente e são mais seguras do que métodos tradicionais de autenticação.
-
----
-
-## Gerenciando Seu Código Como um Profissional
-
-Agora, é aqui que as coisas ficam realmente emocionantes! 🎉 Vamos aprender como rastrear e gerenciar seu código como os profissionais fazem, e honestamente, essa é uma das minhas coisas favoritas de ensinar porque é uma mudança de jogo.
-
-Imagine isso: você está escrevendo uma história incrível e quer acompanhar cada rascunho, cada edição brilhante e cada momento de "espera, isso é genial!" ao longo do caminho. É exatamente isso que o Git faz pelo seu código! É como ter o caderno mais incrível que viaja no tempo e lembra de TUDO – cada tecla pressionada, cada mudança, cada momento de "ops, isso quebrou tudo" que você pode desfazer instantaneamente.
-
-Vou ser honesto – isso pode parecer esmagador no começo. Quando comecei, pensei "Por que não posso simplesmente salvar meus arquivos como de costume?". Mas confie em mim: uma vez que o Git fizer sentido para você (e vai!), você terá um daqueles momentos de lâmpada acesa em que pensa "Como eu CONSEGUIA programar sem isso?". É como descobrir que você pode voar quando estava andando por aí a vida toda!
-
-Digamos que você tenha uma pasta local com algum projeto de código e queira começar a rastrear seu progresso usando o git - o sistema de controle de versão. Algumas pessoas comparam usar git a escrever uma carta de amor para seu futuro eu. Ao ler suas mensagens de commit dias, semanas ou meses depois, você será capaz de lembrar por que tomou uma decisão ou "reverter" uma mudança – isso é, quando você escreve boas "mensagens de commit".
-
-```mermaid
-flowchart TD
- A[📁 Seus Arquivos do Projeto] --> B{É um Repositório Git?}
- B -->|Não| C[git init]
- B -->|Sim| D[Fazer Alterações]
- C --> D
- D --> E[git add .]
- E --> F["git commit -m 'mensagem'"]
- F --> G[git push]
- G --> H[🌟 Código no GitHub!]
-
- H --> I{Quer colaborar?}
- I -->|Sim| J[Fork & Clone]
- I -->|Não| D
- J --> K[Criar Branch]
- K --> L[Fazer Alterações]
- L --> M[Pull Request]
- M --> N[🎉 Contribuindo!]
-
- style A fill:#fff59d
- style H fill:#c8e6c9
- style N fill:#ff4081,color:#fff
-```
-### Tarefa: Crie Seu Primeiro Repositório!
-
-> 🎯 **Sua Missão (e estou tão animado por você!)**: Vamos criar seu primeiro repositório no GitHub juntos! Quando terminarmos aqui, você terá seu próprio cantinho na internet onde seu código vive, e terá feito seu primeiro "commit" (isso é como os desenvolvedores chamam salvar seu trabalho de uma maneira muito inteligente).
->
-> Este é um momento realmente especial – você está prestes a se juntar oficialmente à comunidade global de desenvolvedores! Eu ainda lembro da emoção de criar meu primeiro repositório e pensar "Uau, eu realmente estou fazendo isso!"
-
-Vamos percorrer essa aventura juntos, passo a passo. Leve seu tempo em cada parte – não há prêmio por apressar, e prometo que cada etapa fará sentido. Lembre-se, todo superastro da programação que você admira já esteve exatamente onde você está, prestes a criar seu primeiro repositório. Que incrível, né?
-
-> Confira o vídeo
->
-> [](https://www.youtube.com/watch?v=9R31OUPpxU4)
-
-**Vamos Fazer Isso Juntos:**
-
-1. **Crie seu repositório no GitHub**. Acesse GitHub.com e procure aquele botão verde brilhante **New** (ou o sinal **+** no canto superior direito). Clique nele e selecione **New repository**.
-
- Aqui está o que fazer:
- 1. Dê um nome ao seu repositório – escolha algo significativo para você!
- 1. Adicione uma descrição, se quiser (isso ajuda os outros a entenderem sobre o que é seu projeto)
- 1. Decida se quer que ele seja público (todos podem ver) ou privado (apenas para você)
- 1. Recomendo marcar a caixa para adicionar um arquivo README – é como a página inicial do seu projeto
- 1. Clique em **Create repository** e comemore – você acabou de criar seu primeiro repositório! 🎉
-
-2. **Navegue até sua pasta de projeto**. Agora vamos abrir seu terminal (não se preocupe, não é tão assustador quanto parece!). Precisamos dizer ao seu computador onde estão os arquivos do seu projeto. Digite este comando:
-
- ```bash
- cd [name of your folder]
- ```
-
- **O que estamos fazendo aqui:**
- - Basicamente estamos dizendo "Ei, computador, me leve até minha pasta de projeto"
- - Isso é como abrir uma pasta específica na sua área de trabalho, mas estamos fazendo isso com comandos de texto
- - Substitua `[nome da sua pasta]` pelo nome real da sua pasta de projeto
-
-3. **Transforme sua pasta em um repositório Git**. Aqui é onde a mágica acontece! Digite:
-
- ```bash
- git init
- ```
-
- **Aqui está o que acabou de acontecer (coisas bem legais!):**
- - O Git acabou de criar uma pasta oculta `.git` no seu projeto – você não verá, mas ela está lá!
- - Sua pasta regular agora é um "repositório" que pode rastrear cada mudança que você fizer
- - Pense nisso como dar superpoderes à sua pasta para lembrar de tudo
-
-4. **Verifique o que está acontecendo**. Vamos ver o que o Git pensa sobre seu projeto agora:
-
- ```bash
- git status
- ```
-
- **Entendendo o que o Git está te dizendo:**
-
- Você pode ver algo que se parece com isso:
-
- ```output
- Changes not staged for commit:
- (use "git add ..." to update what will be committed)
- (use "git restore ..." to discard changes in working directory)
-
- modified: file.txt
- modified: file2.txt
- ```
-
- **Não entre em pânico! Aqui está o que isso significa:**
- - Arquivos em **vermelho** são arquivos que têm mudanças, mas ainda não estão prontos para serem salvos
- - Arquivos em **verde** (quando você os vir) estão prontos para serem salvos
- - O Git está sendo útil ao te dizer exatamente o que você pode fazer a seguir
-
- > 💡 **Dica Pro**: O comando `git status` é seu melhor amigo! Use-o sempre que estiver confuso sobre o que está acontecendo. É como perguntar ao Git "Ei, qual é a situação agora?"
-
-5. **Prepare seus arquivos para salvar** (isso é chamado de "staging"):
-
- ```bash
- git add .
- ```
-
- **O que acabamos de fazer:**
- - Dissemos ao Git "Ei, quero incluir TODOS os meus arquivos no próximo salvamento"
- - O `.` é como dizer "tudo nesta pasta"
- - Agora seus arquivos estão "preparados" e prontos para o próximo passo
-
- **Quer ser mais seletivo?** Você pode adicionar apenas arquivos específicos:
-
- ```bash
- git add [file or folder name]
- ```
-
- **Por que você pode querer fazer isso?**
- - Às vezes você quer salvar mudanças relacionadas juntas
- - Isso ajuda a organizar seu trabalho em partes lógicas
- - Facilita entender o que mudou e quando
-
- **Mudou de ideia?** Sem problemas! Você pode remover arquivos da preparação assim:
-
- ```bash
- # Desfazer a preparação de tudo
- git reset
-
- # Desfazer a preparação de apenas um arquivo
- git reset [file name]
- ```
-
- Não se preocupe – isso não apaga seu trabalho, apenas tira os arquivos da "pilha pronta para salvar".
-
-6. **Salve seu trabalho permanentemente** (fazendo seu primeiro commit!):
-
- ```bash
- git commit -m "first commit"
- ```
-
- **🎉 Parabéns! Você acabou de fazer seu primeiro commit!**
-
- **Aqui está o que acabou de acontecer:**
- - O Git tirou um "instantâneo" de todos os arquivos preparados neste exato momento
- - Sua mensagem de commit "first commit" explica sobre o que é este ponto de salvamento
- - O Git deu a este instantâneo um ID único para que você sempre possa encontrá-lo depois
- - Você oficialmente começou a rastrear o histórico do seu projeto!
-
- > 💡 **Mensagens de commit futuras**: Para seus próximos commits, seja mais descritivo! Em vez de "atualizei coisas", tente "Adicionei formulário de contato à página inicial" ou "Corrigi bug no menu de navegação". Seu futuro eu vai te agradecer!
-
-7. **Conecte seu projeto local ao GitHub**. Agora, seu projeto existe apenas no seu computador. Vamos conectá-lo ao seu repositório no GitHub para que você possa compartilhá-lo com o mundo!
-
- Primeiro, vá até a página do seu repositório no GitHub e copie a URL. Depois volte aqui e digite:
-
- ```bash
- git remote add origin https://github.com/username/repository_name.git
- ```
-
- (Substitua essa URL pela URL real do seu repositório!)
-
- **O que acabamos de fazer:**
- - Criamos uma conexão entre o seu projeto local e o seu repositório no GitHub
- - "Origin" é apenas um apelido para o seu repositório no GitHub – é como adicionar um contato no seu telefone
- - Agora o seu Git local sabe para onde enviar seu código quando você estiver pronto para compartilhá-lo
-
- 💡 **Forma mais fácil**: Se você tiver o GitHub CLI instalado, pode fazer isso com um único comando:
- ```bash
- gh repo create my-repo --public --push --source=.
- ```
-
-8. **Envie seu código para o GitHub** (o grande momento!):
-
- ```bash
- git push -u origin main
- ```
-
- **🚀 É isso! Você está enviando seu código para o GitHub!**
-
- **O que está acontecendo:**
- - Seus commits estão viajando do seu computador para o GitHub
- - A flag `-u` configura uma conexão permanente para que futuros envios sejam mais fáceis
- - "main" é o nome do seu branch principal (como a pasta principal)
- - Depois disso, você pode simplesmente digitar `git push` para futuros uploads!
-
- 💡 **Nota rápida**: Se o seu branch tiver outro nome (como "master"), use esse nome. Você pode verificar com `git branch --show-current`.
-
-9. **Seu novo ritmo diário de codificação** (é aqui que fica viciante!):
-
- A partir de agora, sempre que você fizer alterações no seu projeto, você seguirá esta dança simples de três passos:
-
- ```bash
- git add .
- git commit -m "describe what you changed"
- git push
- ```
-
- **Isso se torna o coração da sua codificação:**
- - Faça alterações incríveis no seu código ✨
- - Prepare-as com `git add` ("Ei Git, preste atenção nessas mudanças!")
- - Salve-as com `git commit` e uma mensagem descritiva (o você do futuro vai te agradecer!)
- - Compartilhe com o mundo usando `git push` 🚀
- - Repita – sério, isso se torna tão natural quanto respirar!
-
- Eu amo esse fluxo de trabalho porque é como ter vários pontos de salvamento em um videogame. Fez uma mudança que você adorou? Faça um commit! Quer tentar algo arriscado? Sem problemas – você sempre pode voltar ao último commit se algo der errado!
-
- > 💡 **Dica**: Você também pode adotar um arquivo `.gitignore` para evitar que arquivos que você não quer rastrear apareçam no GitHub – como aquele arquivo de anotações que você guarda na mesma pasta, mas que não tem lugar em um repositório público. Você pode encontrar modelos de arquivos `.gitignore` em [.gitignore templates](https://github.com/github/gitignore) ou criar um usando [gitignore.io](https://www.toptal.com/developers/gitignore).
-
-### 🧠 **Primeiro Check-in no Repositório: Como Foi?**
-
-**Tire um momento para celebrar e refletir:**
-- Como foi ver seu código aparecer no GitHub pela primeira vez?
-- Qual etapa foi a mais confusa e qual foi surpreendentemente fácil?
-- Você consegue explicar a diferença entre `git add`, `git commit` e `git push` com suas próprias palavras?
-
-```mermaid
-stateDiagram-v2
- [*] --> LocalFiles: Criar projeto
- LocalFiles --> Staged: git add .
- Staged --> Committed: git commit
- Committed --> GitHub: git push
- GitHub --> [*]: Sucesso! 🎉
-
- note right of Staged
- Arquivos prontos para salvar
- end note
-
- note right of Committed
- Snapshot criado
- end note
-```
-> **Lembre-se**: Mesmo desenvolvedores experientes às vezes esquecem os comandos exatos. Tornar esse fluxo de trabalho algo automático leva prática – você está indo muito bem!
-
-#### Fluxos de trabalho modernos com Git
-
-Considere adotar estas práticas modernas:
-
-- **Commits Convencionais**: Use um formato padronizado para mensagens de commit como `feat:`, `fix:`, `docs:`, etc. Saiba mais em [conventionalcommits.org](https://www.conventionalcommits.org/)
-- **Commits atômicos**: Faça com que cada commit represente uma única mudança lógica
-- **Commits frequentes**: Faça commits frequentemente com mensagens descritivas em vez de grandes commits esporádicos
-
-#### Mensagens de commit
-
-Uma ótima linha de assunto para um commit no Git completa a seguinte frase:
-Se aplicado, este commit irá
-
-Para o assunto, use o imperativo no presente: "alterar" e não "alterado" nem "altera".
-Assim como no assunto, no corpo (opcional) também use o imperativo no presente. O corpo deve incluir a motivação para a mudança e contrastar isso com o comportamento anterior. Você está explicando o `porquê`, não o `como`.
-
-✅ Tire alguns minutos para explorar o GitHub. Você consegue encontrar uma mensagem de commit realmente boa? E uma bem minimalista? Que informações você acha mais importantes e úteis de serem transmitidas em uma mensagem de commit?
-
-## Trabalhando com Outros (A Parte Divertida!)
-
-Segure o chapéu porque AQUI é onde o GitHub se torna absolutamente mágico! 🪄 Você já dominou a gestão do seu próprio código, mas agora vamos mergulhar na minha parte favorita – colaborar com pessoas incríveis de todo o mundo.
-
-Imagine isso: você acorda amanhã e descobre que alguém em Tóquio melhorou seu código enquanto você dormia. Depois, alguém em Berlim corrige um bug que você estava tentando resolver. À tarde, um desenvolvedor em São Paulo adiciona um recurso que você nem tinha pensado. Isso não é ficção científica – é só mais uma terça-feira no universo do GitHub!
-
-O que me deixa realmente empolgado é que as habilidades de colaboração que você está prestes a aprender? São os MESMOS fluxos de trabalho que equipes no Google, Microsoft e suas startups favoritas usam todos os dias. Você não está apenas aprendendo uma ferramenta legal – você está aprendendo a linguagem secreta que faz o mundo inteiro do software funcionar junto.
-
-Sério, uma vez que você experimenta a emoção de ter alguém aceitando seu primeiro pull request, você entende por que os desenvolvedores são tão apaixonados por código aberto. É como fazer parte do maior e mais criativo projeto em equipe do mundo!
-
-> Assista ao vídeo
->
-> [](https://www.youtube.com/watch?v=bFCM-PC3cu8)
-
-O principal motivo para colocar coisas no GitHub era possibilitar a colaboração com outros desenvolvedores.
-
-```mermaid
-flowchart LR
- A[🔍 Encontrar Projeto] --> B[🍴 Fazer Fork do Repositório]
- B --> C[📥 Clonar para Local]
- C --> D[🌿 Criar Ramificação]
- D --> E[✏️ Fazer Alterações]
- E --> F[💾 Commitar Alterações]
- F --> G[📤 Enviar Ramificação]
- G --> H[🔄 Criar Pull Request]
- H --> I{Revisão do Mantenedor}
- I -->|✅ Aprovado| J[🎉 Fazer Merge!]
- I -->|❓ Alterações Solicitadas| K[📝 Fazer Atualizações]
- K --> F
- J --> L[🧹 Limpar Ramificações]
-
- style A fill:#e3f2fd
- style J fill:#e8f5e8
- style L fill:#fff3e0
-```
-No seu repositório, navegue até `Insights > Community` para ver como seu projeto se compara aos padrões recomendados da comunidade.
-
-Quer fazer seu repositório parecer profissional e acolhedor? Vá até o seu repositório e clique em `Insights > Community`. Esse recurso incrível mostra como seu projeto se compara ao que a comunidade do GitHub considera "boas práticas de repositório".
-
-> 🎯 **Fazendo Seu Projeto Brilhar**: Um repositório bem organizado com boa documentação é como ter uma vitrine limpa e acolhedora. Ele mostra que você se importa com seu trabalho e faz com que outros queiram contribuir!
-
-**O que torna um repositório incrível:**
-
-| O que Adicionar | Por que é Importante | O que Faz por Você |
-|------------------|----------------------|--------------------|
-| **Descrição** | A primeira impressão conta! | As pessoas sabem instantaneamente o que seu projeto faz |
-| **README** | A página inicial do seu projeto | Como um guia amigável para novos visitantes |
-| **Diretrizes de Contribuição** | Mostra que você aceita ajuda | As pessoas sabem exatamente como podem ajudar você |
-| **Código de Conduta** | Cria um espaço amigável | Todos se sentem bem-vindos para participar |
-| **Licença** | Clareza legal | Outros sabem como podem usar seu código |
-| **Política de Segurança** | Mostra que você é responsável | Demonstra práticas profissionais |
-
-> 💡 **Dica Pro**: O GitHub fornece modelos para todos esses arquivos. Ao criar um novo repositório, marque as caixas para gerar esses arquivos automaticamente.
-
-**Recursos Modernos do GitHub para Explorar:**
-
-🤖 **Automação & CI/CD:**
-- **GitHub Actions** para testes e implantações automatizadas
-- **Dependabot** para atualizações automáticas de dependências
-
-💬 **Comunidade & Gerenciamento de Projetos:**
-- **GitHub Discussions** para conversas comunitárias além de issues
-- **GitHub Projects** para gerenciamento de projetos no estilo kanban
-- **Regras de proteção de branch** para garantir padrões de qualidade de código
-
-Todos esses recursos ajudarão na integração de novos membros da equipe. E essas são geralmente as coisas que novos contribuidores olham antes mesmo de olhar para o seu código, para descobrir se o seu projeto é o lugar certo para eles investirem seu tempo.
-
-✅ Arquivos README, embora levem tempo para serem preparados, são frequentemente negligenciados por mantenedores ocupados. Você consegue encontrar um exemplo de um particularmente descritivo? Nota: existem algumas [ferramentas para ajudar a criar bons READMEs](https://www.makeareadme.com/) que você pode querer experimentar.
-
-### Tarefa: Mesclar algum código
-
-Documentos de contribuição ajudam as pessoas a contribuir com o projeto. Eles explicam quais tipos de contribuições você está procurando e como o processo funciona. Os contribuidores precisarão passar por uma série de etapas para poder contribuir com seu repositório no GitHub:
-
-1. **Fazer um fork do seu repositório**. Você provavelmente vai querer que as pessoas _façam um fork_ do seu projeto. Fazer um fork significa criar uma réplica do seu repositório no perfil do GitHub delas.
-1. **Clonar**. A partir daí, elas irão clonar o projeto para a máquina local.
-1. **Criar um branch**. Você vai querer pedir que elas criem um _branch_ para o trabalho delas.
-1. **Focar a mudança em uma área**. Peça aos contribuidores que concentrem suas contribuições em uma coisa de cada vez – assim, as chances de você _mesclar_ o trabalho deles são maiores. Imagine que eles escrevam uma correção de bug, adicionem um novo recurso e atualizem vários testes – e se você quiser, ou puder, implementar apenas 2 de 3, ou 1 de 3 mudanças?
-
-✅ Imagine uma situação onde branches são particularmente críticos para escrever e entregar um bom código. Quais casos de uso você consegue pensar?
-
-> Nota, seja a mudança que você quer ver no mundo, e crie branches para o seu próprio trabalho também. Quaisquer commits que você fizer serão feitos no branch em que você está atualmente "checado". Use `git status` para ver em qual branch você está.
-
-Vamos passar por um fluxo de trabalho de contribuidor. Suponha que o contribuidor já tenha _feito um fork_ e _clonado_ o repositório, então ele tem um repositório Git pronto para ser trabalhado, na máquina local:
-
-1. **Criar um branch**. Use o comando `git branch` para criar um branch que conterá as mudanças que ele pretende contribuir:
-
- ```bash
- git branch [branch-name]
- ```
-
- > 💡 **Abordagem Moderna**: Você também pode criar e alternar para o novo branch em um único comando:
- ```bash
- git switch -c [branch-name]
- ```
-
-1. **Alternar para o branch de trabalho**. Altere para o branch especificado e atualize o diretório de trabalho com `git switch`:
-
- ```bash
- git switch [branch-name]
- ```
-
- > 💡 **Nota Moderna**: `git switch` é a substituição moderna para `git checkout` ao mudar de branch. É mais claro e seguro para iniciantes.
-
-1. **Fazer o trabalho**. Neste ponto, você quer adicionar suas mudanças. Não se esqueça de informar ao Git com os seguintes comandos:
-
- ```bash
- git add .
- git commit -m "my changes"
- ```
-
- > ⚠️ **Qualidade da Mensagem de Commit**: Certifique-se de dar um bom nome ao seu commit, tanto para você quanto para o mantenedor do repositório que você está ajudando. Seja específico sobre o que você mudou!
-
-1. **Combinar seu trabalho com o branch `main`**. Em algum momento, você termina o trabalho e quer combinar seu trabalho com o do branch `main`. O branch `main` pode ter mudado nesse meio tempo, então certifique-se de atualizá-lo para a versão mais recente com os seguintes comandos:
-
- ```bash
- git switch main
- git pull
- ```
-
- Neste ponto, você quer garantir que quaisquer _conflitos_, situações onde o Git não consegue facilmente _combinar_ as mudanças, ocorram no seu branch de trabalho. Portanto, execute os seguintes comandos:
-
- ```bash
- git switch [branch_name]
- git merge main
- ```
-
- O comando `git merge main` trará todas as mudanças do `main` para o seu branch. Com sorte, você pode simplesmente continuar. Se não, o VS Code mostrará onde o Git está _confuso_ e você apenas altera os arquivos afetados para dizer qual conteúdo é o mais preciso.
-
- 💡 **Alternativa moderna**: Considere usar `git rebase` para um histórico mais limpo:
- ```bash
- git rebase main
- ```
- Isso reproduz seus commits no topo do branch `main` mais recente, criando um histórico linear.
-
-1. **Envie seu trabalho para o GitHub**. Enviar seu trabalho para o GitHub significa duas coisas. Fazer o push do seu branch para o seu repositório e depois abrir um PR, Pull Request.
-
- ```bash
- git push --set-upstream origin [branch-name]
- ```
-
- O comando acima cria o branch no seu repositório forkado.
-
-### 🤝 **Teste de Habilidades de Colaboração: Pronto para Trabalhar com Outros?**
-
-**Vamos ver como você está se sentindo sobre colaboração:**
-- A ideia de fork e pull requests faz sentido para você agora?
-- Qual é uma coisa sobre trabalhar com branches que você quer praticar mais?
-- Quão confortável você se sente em contribuir para o projeto de outra pessoa?
-
-```mermaid
-mindmap
- root((Colaboração com Git))
- Branching
- Ramificações de funcionalidades
- Ramificações de correção de bugs
- Trabalho experimental
- Pull Requests
- Revisão de código
- Discussão
- Testes
- Melhores Práticas
- Mensagens de commit claras
- Mudanças pequenas e focadas
- Boa documentação
-```
-> **Impulsionador de confiança**: Todo desenvolvedor que você admira já ficou nervoso com seu primeiro pull request. A comunidade do GitHub é incrivelmente acolhedora para iniciantes!
-
-1. **Abra um PR**. Em seguida, você quer abrir um PR. Você faz isso navegando até o repositório forkado no GitHub. Você verá uma indicação no GitHub perguntando se deseja criar um novo PR, clique nisso e você será levado a uma interface onde pode alterar o título da mensagem de commit, dar uma descrição mais adequada. Agora o mantenedor do repositório que você forkou verá este PR e _dedos cruzados_ ele apreciará e _mesclará_ seu PR. Agora você é um contribuidor, yay :)
-
- 💡 **Dica Moderna**: Você também pode criar PRs usando o GitHub CLI:
- ```bash
- gh pr create --title "Your PR title" --body "Description of changes"
- ```
-
- 🔧 **Melhores práticas para PRs**:
- - Vincule a issues relacionadas usando palavras-chave como "Fixes #123"
- - Adicione capturas de tela para mudanças na interface
- - Solicite revisores específicos
- - Use PRs de rascunho para trabalhos em andamento
- - Certifique-se de que todos os testes de CI passem antes de solicitar revisão
-1. **Limpeza**. É considerado uma boa prática _limpar_ após você ter mesclado com sucesso um PR. Você deve limpar tanto sua branch local quanto a branch que você enviou para o GitHub. Primeiro, vamos deletá-la localmente com o seguinte comando:
-
- ```bash
- git branch -d [branch-name]
- ```
-
- Certifique-se de ir à página do GitHub para o repositório bifurcado e remover a branch remota que você acabou de enviar.
-
-`Pull request` parece um termo estranho porque, na verdade, você quer enviar suas alterações para o projeto. Mas o mantenedor (dono do projeto) ou a equipe principal precisa considerar suas alterações antes de mesclá-las com a branch "main" do projeto, então você está realmente solicitando uma decisão de mudança de um mantenedor.
-
-Um pull request é o lugar para comparar e discutir as diferenças introduzidas em uma branch com revisões, comentários, testes integrados e mais. Um bom pull request segue aproximadamente as mesmas regras de uma mensagem de commit. Você pode adicionar uma referência a um problema no rastreador de problemas, quando seu trabalho, por exemplo, resolve um problema. Isso é feito usando um `#` seguido pelo número do problema. Por exemplo, `#97`.
-
-🤞Dedos cruzados para que todos os testes passem e o(s) dono(s) do projeto mesclem suas alterações no projeto🤞
-
-Atualize sua branch local atual com todos os novos commits da branch remota correspondente no GitHub:
-
-`git pull`
-
-## Contribuindo para Open Source (Sua Chance de Fazer a Diferença!)
-
-Está pronto para algo que vai absolutamente explodir sua mente? 🤯 Vamos falar sobre contribuir para projetos de código aberto – e estou arrepiado só de pensar em compartilhar isso com você!
-
-Essa é sua chance de fazer parte de algo verdadeiramente extraordinário. Imagine melhorar as ferramentas que milhões de desenvolvedores usam todos os dias ou corrigir um bug em um aplicativo que seus amigos adoram. Isso não é apenas um sonho – é exatamente o que a contribuição para código aberto significa!
-
-Aqui está o que me dá arrepios toda vez que penso nisso: cada ferramenta que você tem aprendido – seu editor de código, os frameworks que exploraremos, até mesmo o navegador que você está usando – começou com alguém exatamente como você fazendo sua primeira contribuição. Aquele desenvolvedor brilhante que criou sua extensão favorita do VS Code? Ele também foi um iniciante clicando em "create pull request" com as mãos trêmulas, assim como você está prestes a fazer.
-
-E aqui está a parte mais bonita: a comunidade de código aberto é como o maior abraço coletivo da internet. A maioria dos projetos procura ativamente por novos colaboradores e tem problemas marcados como "good first issue" especificamente para pessoas como você! Os mantenedores genuinamente ficam animados quando veem novos colaboradores porque se lembram de seus próprios primeiros passos.
-
-```mermaid
-flowchart TD
- A[🔍 Explorar GitHub] --> B[🏷️ Encontrar "boa primeira issue"]
- B --> C[📖 Ler Diretrizes de Contribuição]
- C --> D[🍴 Fazer Fork do Repositório]
- D --> E[💻 Configurar Ambiente Local]
- E --> F[🌿 Criar Branch de Funcionalidade]
- F --> G[✨ Fazer Sua Contribuição]
- G --> H[🧪 Testar Suas Alterações]
- H --> I[📝 Escrever Commit Claro]
- I --> J[📤 Fazer Push & Criar PR]
- J --> K[💬 Interagir com Feedback]
- K --> L[🎉 Mergeado! Você é um Contribuidor!]
- L --> M[🌟 Encontrar Próxima Issue]
-
- style A fill:#e1f5fe
- style L fill:#c8e6c9
- style M fill:#fff59d
-```
-Você não está apenas aprendendo a programar aqui – está se preparando para se juntar a uma família global de criadores que acordam todos os dias pensando "Como podemos tornar o mundo digital um pouco melhor?" Bem-vindo ao clube! 🌟
-
-Primeiro, vamos encontrar um repositório (ou **repo**) no GitHub que seja do seu interesse e ao qual você gostaria de contribuir com uma alteração. Você vai querer copiar seu conteúdo para sua máquina.
-
-✅ Uma boa maneira de encontrar repositórios 'amigáveis para iniciantes' é [buscar pela tag 'good-first-issue'](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/).
-
-
-
-Existem várias maneiras de copiar código. Uma delas é "clonar" o conteúdo do repositório, usando HTTPS, SSH ou o GitHub CLI (Interface de Linha de Comando).
-
-Abra seu terminal e clone o repositório assim:
-```bash
-# Usando HTTPS
-git clone https://github.com/ProjectURL
-
-# Usando SSH (requer configuração de chave SSH)
-git clone git@github.com:username/repository.git
-
-# Usando GitHub CLI
-gh repo clone username/repository
-```
-
-Para trabalhar no projeto, mude para a pasta correta:
-`cd ProjectURL`
-
-Você também pode abrir o projeto inteiro usando:
-- **[GitHub Codespaces](https://github.com/features/codespaces)** - Ambiente de desenvolvimento na nuvem do GitHub com VS Code no navegador
-- **[GitHub Desktop](https://desktop.github.com/)** - Um aplicativo GUI para operações Git
-- **[GitHub.dev](https://github.dev)** - Pressione a tecla `.` em qualquer repositório do GitHub para abrir o VS Code no navegador
-- **VS Code** com a extensão GitHub Pull Requests
-
-Por fim, você pode baixar o código em uma pasta compactada.
-
-### Algumas coisas interessantes sobre o GitHub
-
-Você pode dar estrela, assistir e/ou "forkar" qualquer repositório público no GitHub. Você pode encontrar seus repositórios estrelados no menu suspenso no canto superior direito. É como adicionar aos favoritos, mas para código.
-
-Os projetos têm um rastreador de problemas, geralmente no GitHub na aba "Issues", a menos que indicado de outra forma, onde as pessoas discutem problemas relacionados ao projeto. E a aba Pull Requests é onde as pessoas discutem e revisam alterações que estão em andamento.
-
-Os projetos também podem ter discussões em fóruns, listas de e-mails ou canais de chat como Slack, Discord ou IRC.
-
-🔧 **Recursos modernos do GitHub**:
-- **GitHub Discussions** - Fórum integrado para conversas da comunidade
-- **GitHub Sponsors** - Apoie financeiramente os mantenedores
-- **Aba de segurança** - Relatórios de vulnerabilidade e avisos de segurança
-- **Aba de ações** - Veja fluxos de trabalho automatizados e pipelines CI/CD
-- **Aba de insights** - Análises sobre colaboradores, commits e saúde do projeto
-- **Aba de projetos** - Ferramentas de gerenciamento de projetos integradas do GitHub
-
-✅ Dê uma olhada no seu novo repositório do GitHub e experimente algumas coisas, como editar configurações, adicionar informações ao seu repositório, criar um projeto (como um quadro Kanban) e configurar GitHub Actions para automação. Há muito o que explorar!
-
----
-
-## 🚀 Desafio
-
-Certo, é hora de colocar seus novos superpoderes do GitHub à prova! 🚀 Aqui está um desafio que vai fazer tudo se encaixar de forma super satisfatória:
-
-Chame um amigo (ou aquele membro da família que sempre pergunta o que você está fazendo com "essas coisas de computador") e embarque juntos em uma aventura de codificação colaborativa! É aqui que a mágica acontece – crie um projeto, deixe eles forcarem, criem algumas branches e mesclem alterações como os profissionais que vocês estão se tornando.
-
-Não vou mentir – vocês provavelmente vão rir em algum momento (especialmente quando ambos tentarem alterar a mesma linha), talvez coçar a cabeça em confusão, mas definitivamente terão aqueles momentos incríveis de "aha!" que fazem todo o aprendizado valer a pena. Além disso, há algo especial em compartilhar aquela primeira mesclagem bem-sucedida com outra pessoa – é como uma pequena celebração de quão longe vocês chegaram!
-
-Ainda não tem um parceiro de codificação? Sem problemas! A comunidade do GitHub está cheia de pessoas incrivelmente acolhedoras que se lembram de como era ser novo. Procure repositórios com etiquetas "good first issue" – eles estão basicamente dizendo "Ei iniciantes, venham aprender conosco!" Que incrível, né?
-
-## Quiz Pós-Aula
-[Quiz pós-aula](https://ff-quizzes.netlify.app/web/en/)
-
-## Revisão & Continue Aprendendo
-
-Ufa! 🎉 Olha só você – acabou de dominar os fundamentos do GitHub como um verdadeiro campeão! Se sua cabeça está um pouco cheia agora, isso é completamente normal e, honestamente, um bom sinal. Você acabou de aprender ferramentas que levaram semanas para eu me sentir confortável quando comecei.
-
-Git e GitHub são incrivelmente poderosos (tipo, muito poderosos), e todo desenvolvedor que conheço – incluindo aqueles que parecem magos agora – teve que praticar e tropeçar um pouco antes de tudo fazer sentido. O fato de você ter concluído esta lição significa que já está no caminho para dominar algumas das ferramentas mais importantes no kit de ferramentas de um desenvolvedor.
-
-Aqui estão alguns recursos absolutamente fantásticos para ajudá-lo a praticar e se tornar ainda mais incrível:
-
-- [Guia de contribuição para software de código aberto](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) – Seu roteiro para fazer a diferença
-- [Cheatsheet de Git](https://training.github.com/downloads/github-git-cheat-sheet/) – Tenha isso à mão para referência rápida!
-
-E lembre-se: prática leva ao progresso, não à perfeição! Quanto mais você usar Git e GitHub, mais natural isso se tornará. O GitHub criou alguns cursos interativos incríveis que permitem que você pratique em um ambiente seguro:
-
-- [Introdução ao GitHub](https://github.com/skills/introduction-to-github)
-- [Comunicando-se usando Markdown](https://github.com/skills/communicate-using-markdown)
-- [GitHub Pages](https://github.com/skills/github-pages)
-- [Gerenciando conflitos de mesclagem](https://github.com/skills/resolve-merge-conflicts)
-
-**Sentindo-se aventureiro? Confira essas ferramentas modernas:**
-- [Documentação do GitHub CLI](https://cli.github.com/manual/) – Para quando você quiser se sentir como um mago da linha de comando
-- [Documentação do GitHub Codespaces](https://docs.github.com/en/codespaces) – Codifique na nuvem!
-- [Documentação do GitHub Actions](https://docs.github.com/en/actions) – Automatize tudo
-- [Melhores práticas de Git](https://www.atlassian.com/git/tutorials/comparing-workflows) – Eleve seu jogo de fluxo de trabalho
-
-## Desafio do Agente GitHub Copilot 🚀
-
-Use o modo Agente para completar o seguinte desafio:
-
-**Descrição:** Crie um projeto colaborativo de desenvolvimento web que demonstre o fluxo de trabalho completo do GitHub que você aprendeu nesta lição. Este desafio ajudará você a praticar criação de repositórios, recursos de colaboração e fluxos de trabalho modernos do Git em um cenário real.
-
-**Prompt:** Crie um novo repositório público no GitHub para um projeto simples de "Recursos de Desenvolvimento Web". O repositório deve incluir um arquivo README.md bem estruturado listando ferramentas e recursos úteis de desenvolvimento web, organizados por categorias (HTML, CSS, JavaScript, etc.). Configure o repositório com padrões adequados da comunidade, incluindo uma licença, diretrizes de contribuição e um código de conduta. Crie pelo menos duas branches de recursos: uma para adicionar recursos de CSS e outra para recursos de JavaScript. Faça commits em cada branch com mensagens de commit descritivas, depois crie pull requests para mesclar as alterações de volta para a main. Ative recursos do GitHub como Issues, Discussions e configure um fluxo de trabalho básico do GitHub Actions para verificações automatizadas.
-
-## Tarefa
-
-Sua missão, caso decida aceitá-la: Complete o curso [Introdução ao GitHub](https://github.com/skills/introduction-to-github) no GitHub Skills. Este curso interativo permitirá que você pratique tudo o que aprendeu em um ambiente seguro e guiado. Além disso, você ganhará um badge legal ao terminar! 🏅
-
-**Sentindo-se pronto para mais desafios?**
-- Configure autenticação SSH para sua conta do GitHub (nada de senhas!)
-- Experimente usar o GitHub CLI para suas operações diárias com Git
-- Crie um repositório com um fluxo de trabalho do GitHub Actions
-- Explore o GitHub Codespaces abrindo este mesmo repositório em um editor baseado na nuvem
-
----
-
-## 🚀 Sua Linha do Tempo de Domínio do GitHub
-
-### ⚡ **O Que Você Pode Fazer nos Próximos 5 Minutos**
-- [ ] Dê estrela neste repositório e em outros 3 projetos que te interessam
-- [ ] Configure autenticação de dois fatores na sua conta do GitHub
-- [ ] Crie um README simples para seu primeiro repositório
-- [ ] Siga 5 desenvolvedores cujo trabalho te inspira
-
-### 🎯 **O Que Você Pode Realizar Nesta Hora**
-- [ ] Complete o quiz pós-aula e reflita sobre sua jornada no GitHub
-- [ ] Configure chaves SSH para autenticação sem senha no GitHub
-- [ ] Faça seu primeiro commit significativo com uma ótima mensagem de commit
-- [ ] Explore a aba "Explore" do GitHub para descobrir projetos em alta
-- [ ] Pratique forkar um repositório e fazer uma pequena alteração
-
-### 📅 **Sua Aventura de Uma Semana no GitHub**
-- [ ] Complete os cursos do GitHub Skills (Introdução ao GitHub, Markdown)
-- [ ] Faça seu primeiro pull request para um projeto de código aberto
-- [ ] Configure um site GitHub Pages para mostrar seu trabalho
-- [ ] Participe de Discussões no GitHub sobre projetos que te interessam
-- [ ] Crie um repositório com padrões adequados da comunidade (README, Licença, etc.)
-- [ ] Experimente o GitHub Codespaces para desenvolvimento baseado na nuvem
-
-### 🌟 **Sua Transformação de Um Mês**
-- [ ] Contribua para 3 projetos diferentes de código aberto
-- [ ] Mentore alguém novo no GitHub (retribua!)
-- [ ] Configure fluxos de trabalho automatizados com GitHub Actions
-- [ ] Construa um portfólio mostrando suas contribuições no GitHub
-- [ ] Participe do Hacktoberfest ou eventos comunitários similares
-- [ ] Torne-se mantenedor de seu próprio projeto para o qual outros contribuam
-
-### 🎓 **Check-in Final de Domínio do GitHub**
-
-**Celebre o quão longe você chegou:**
-- Qual é sua coisa favorita sobre usar o GitHub?
-- Qual recurso de colaboração te deixa mais animado?
-- Quão confiante você se sente em contribuir para código aberto agora?
-- Qual é o primeiro projeto para o qual você quer contribuir?
-
-```mermaid
-journey
- title Sua Jornada de Confiança no GitHub
- section Hoje
- Nervoso: 3: Você
- Curioso: 4: Você
- Animado: 5: Você
- section Esta Semana
- Praticando: 4: Você
- Contribuindo: 5: Você
- Conectando: 5: Você
- section Próximo Mês
- Colaborando: 5: Você
- Liderando: 5: Você
- Inspirando Outros: 5: Você
-```
-> 🌍 **Bem-vindo à comunidade global de desenvolvedores!** Agora você tem as ferramentas para colaborar com milhões de desenvolvedores ao redor do mundo. Sua primeira contribuição pode parecer pequena, mas lembre-se - todo grande projeto de código aberto começou com alguém fazendo seu primeiro commit. A questão não é se você fará um impacto, mas qual projeto incrível se beneficiará da sua perspectiva única primeiro! 🚀
-
-Lembre-se: todo especialista já foi iniciante. Você consegue! 💪
-
----
-
-
-**Aviso Legal**:
-Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte oficial. Para informações críticas, recomenda-se a tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.
-
\ No newline at end of file
diff --git a/translations/br/1-getting-started-lessons/3-accessibility/README.md b/translations/br/1-getting-started-lessons/3-accessibility/README.md
deleted file mode 100644
index d2ef5eed8..000000000
--- a/translations/br/1-getting-started-lessons/3-accessibility/README.md
+++ /dev/null
@@ -1,1512 +0,0 @@
-
-# Criando Páginas Web Acessíveis
-
-
-> Sketchnote por [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
-```
-
-## Quiz Pré-Aula
-[Quiz pré-aula](https://ff-quizzes.netlify.app/web/)
-
-> O poder da Web está em sua universalidade. O acesso por todos, independentemente de deficiência, é um aspecto essencial.
->
-> \- Sir Timothy Berners-Lee, Diretor do W3C e inventor da World Wide Web
-
-Aqui está algo que pode te surpreender: quando você cria sites acessíveis, não está apenas ajudando pessoas com deficiências—na verdade, está tornando a web melhor para todos!
-
-Já reparou nas rampas nas esquinas das ruas? Elas foram originalmente projetadas para cadeiras de rodas, mas agora ajudam pessoas com carrinhos de bebê, entregadores com carrinhos, viajantes com malas de rodinhas e ciclistas também. É exatamente assim que o design acessível na web funciona—soluções que ajudam um grupo frequentemente acabam beneficiando todos. Bem legal, né?
-
-Nesta lição, vamos explorar como criar sites que realmente funcionem para todos, não importa como naveguem na web. Você descobrirá técnicas práticas que já estão incorporadas nos padrões da web, terá a oportunidade de testar ferramentas e verá como a acessibilidade torna seus sites mais utilizáveis para todos os usuários.
-
-Ao final desta lição, você terá confiança para fazer da acessibilidade uma parte natural do seu fluxo de trabalho de desenvolvimento. Pronto para explorar como escolhas de design cuidadosas podem abrir a web para bilhões de usuários? Vamos começar!
-
-```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
-```
-
-> Você pode acessar esta lição no [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/accessibility/?WT.mc_id=academic-77807-sagibbon)!
-
-## Entendendo Tecnologias Assistivas
-
-Antes de começarmos a codificar, vamos dedicar um momento para entender como pessoas com diferentes habilidades realmente experimentam a web. Isso não é apenas teoria—compreender esses padrões de navegação no mundo real fará de você um desenvolvedor muito melhor!
-
-As tecnologias assistivas são ferramentas incríveis que ajudam pessoas com deficiências a interagir com sites de maneiras que podem te surpreender. Quando você entende como essas tecnologias funcionam, criar experiências acessíveis na web se torna muito mais intuitivo. É como aprender a ver seu código pelos olhos de outra pessoa.
-
-### Leitores de tela
-
-[Leitores de tela](https://en.wikipedia.org/wiki/Screen_reader) são tecnologias bastante sofisticadas que convertem texto digital em saída de voz ou braille. Embora sejam usados principalmente por pessoas com deficiência visual, também são muito úteis para usuários com dificuldades de aprendizagem, como dislexia.
-
-Eu gosto de pensar em um leitor de tela como um narrador inteligente lendo um livro para você. Ele lê o conteúdo em voz alta em uma ordem lógica, anuncia elementos interativos como "botão" ou "link" e fornece atalhos de teclado para navegar pela página. Mas aqui está o ponto—os leitores de tela só funcionam bem se construirmos sites com estrutura adequada e conteúdo significativo. É aí que você entra como desenvolvedor!
-
-**Leitores de tela populares em diferentes plataformas:**
-- **Windows**: [NVDA](https://www.nvaccess.org/about-nvda/) (gratuito e mais 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) (embutido)
-- **macOS/iOS**: [VoiceOver](https://support.apple.com/guide/voiceover/welcome/10) (embutido e muito capaz)
-- **Android**: [TalkBack](https://support.google.com/accessibility/android/answer/6283677) (embutido)
-- **Linux**: [Orca](https://wiki.gnome.org/Projects/Orca) (gratuito e de código aberto)
-
-**Como os leitores de tela navegam pelo conteúdo da web:**
-
-Os leitores de tela oferecem vários métodos de navegação que tornam a navegação eficiente para usuários experientes:
-- **Leitura sequencial**: Lê o conteúdo de cima para baixo, como seguir um livro
-- **Navegação por marcos**: Pula entre seções da página (cabeçalho, navegação, principal, rodapé)
-- **Navegação por cabeçalhos**: Pula entre cabeçalhos para entender a estrutura da página
-- **Listas de links**: Gera uma lista de todos os links para acesso rápido
-- **Controles de formulário**: Navega diretamente entre campos de entrada e botões
-
-> 💡 **Algo que me surpreendeu**: 68% dos usuários de leitores de tela navegam principalmente por cabeçalhos ([Pesquisa WebAIM](https://webaim.org/projects/screenreadersurvey9/#finding)). Isso significa que a estrutura dos seus cabeçalhos é como um mapa para os usuários—quando você acerta, está literalmente ajudando as pessoas a encontrar o caminho pelo seu conteúdo mais rapidamente!
-
-### Construindo seu fluxo de trabalho de testes
-
-Aqui está uma boa notícia—testar acessibilidade de forma eficaz não precisa ser complicado! Você vai querer combinar ferramentas automatizadas (ótimas para identificar problemas óbvios) com alguns testes práticos. Aqui está uma abordagem sistemática que, na minha experiência, detecta a maioria dos problemas sem consumir o dia inteiro:
-
-**Fluxo de trabalho essencial para testes manuais:**
-
-```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
-```
-
-**Lista de verificação passo a passo para testes:**
-1. **Navegação por teclado**: Use apenas Tab, Shift+Tab, Enter, Espaço e teclas de seta
-2. **Teste com leitor de tela**: Ative NVDA, VoiceOver ou Narrator e navegue com os olhos fechados
-3. **Teste de zoom**: Teste em níveis de zoom de 200% e 400%
-4. **Verificação de contraste de cores**: Verifique todo o texto e componentes da interface
-5. **Teste de indicador de foco**: Certifique-se de que todos os elementos interativos tenham estados de foco visíveis
-
-✅ **Comece com o Lighthouse**: Abra as DevTools do seu navegador, execute uma auditoria de acessibilidade do Lighthouse e use os resultados para orientar as áreas de foco dos testes manuais.
-
-### Ferramentas de zoom e ampliação
-
-Sabe quando você dá um zoom no celular porque o texto está muito pequeno ou força a vista na tela do laptop em plena luz do dia? Muitos usuários dependem de ferramentas de ampliação para tornar o conteúdo legível todos os dias. Isso inclui pessoas com baixa visão, idosos e qualquer pessoa que já tentou ler um site ao ar livre.
-
-As tecnologias modernas de zoom evoluíram além de apenas aumentar as coisas. Entender como essas ferramentas funcionam ajudará você a criar designs responsivos que permanecem funcionais e atraentes em qualquer nível de ampliação.
-
-**Capacidades modernas de zoom em navegadores:**
-- **Zoom da página**: Escala todo o conteúdo proporcionalmente (texto, imagens, layout) - este é o método preferido
-- **Zoom apenas no texto**: Aumenta o tamanho da fonte enquanto mantém o layout original
-- **Pinch-to-zoom**: Suporte a gestos móveis para ampliação temporária
-- **Suporte do navegador**: Todos os navegadores modernos suportam zoom de até 500% sem quebrar a funcionalidade
-
-**Software especializado de ampliação:**
-- **Windows**: [Magnifier](https://support.microsoft.com/windows/use-magnifier-to-make-things-on-the-screen-easier-to-see-414948ba-8b1c-d3bd-8615-0e5e32204198) (embutido), [ZoomText](https://www.freedomscientific.com/training/zoomtext/getting-started/)
-- **macOS/iOS**: [Zoom](https://www.apple.com/accessibility/mac/vision/) (embutido com recursos avançados)
-
-> ⚠️ **Consideração de Design**: O WCAG exige que o conteúdo permaneça funcional quando ampliado em até 200%. Nesse nível, o deslocamento horizontal deve ser mínimo e todos os elementos interativos devem permanecer acessíveis.
-
-✅ **Teste seu design responsivo**: Amplie seu navegador para 200% e 400%. Seu layout se adapta de forma elegante? Você ainda consegue acessar toda a funcionalidade sem rolar excessivamente?
-
-## Ferramentas Modernas de Teste de Acessibilidade
-
-Agora que você entende como as pessoas navegam na web com tecnologias assistivas, vamos explorar as ferramentas que ajudam você a construir e testar sites acessíveis.
-
-Pense assim: ferramentas automatizadas são ótimas para identificar problemas óbvios (como falta de texto alternativo), enquanto os testes práticos ajudam a garantir que seu site seja agradável de usar no mundo real. Juntas, elas te dão confiança de que seus sites funcionam para todos.
-
-### Teste de contraste de cores
-
-Aqui está uma boa notícia: contraste de cores é um dos problemas de acessibilidade mais comuns, mas também um dos mais fáceis de corrigir. Um bom contraste beneficia todos—desde usuários com deficiências visuais até pessoas tentando ler seus celulares na praia.
-
-**Requisitos de contraste do WCAG:**
-
-| Tipo de Texto | WCAG AA (Mínimo) | WCAG AAA (Aprimorado) |
-|---------------|------------------|-----------------------|
-| **Texto normal** (menos de 18pt) | Razão de contraste 4.5:1 | Razão de contraste 7:1 |
-| **Texto grande** (18pt+ ou 14pt+ em negrito) | Razão de contraste 3:1 | Razão de contraste 4.5:1 |
-| **Componentes da interface** (botões, bordas de formulário) | Razão de contraste 3:1 | Razão de contraste 3:1 |
-
-**Ferramentas essenciais de teste:**
-- [Colour Contrast Analyser](https://www.tpgi.com/color-contrast-checker/) - Aplicativo de desktop com seletor de cores
-- [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/) - Baseado na web com feedback instantâneo
-- [Stark](https://www.getstark.co/) - Plugin para ferramentas de design como Figma, Sketch, Adobe XD
-- [Accessible Colors](https://accessible-colors.com/) - Encontre paletas de cores acessíveis
-
-✅ **Crie melhores paletas de cores**: Comece com as cores da sua marca e use verificadores de contraste para criar variações acessíveis. Documente essas variações como os tokens de cores acessíveis do seu sistema de design.
-
-### Auditoria abrangente de acessibilidade
-
-O teste de acessibilidade mais eficaz combina várias abordagens. Nenhuma ferramenta única detecta tudo, então construir uma rotina de testes com métodos variados garante uma cobertura completa.
-
-**Testes baseados em navegador (embutidos nas DevTools):**
-- **Chrome/Edge**: Auditoria de acessibilidade do Lighthouse + painel de acessibilidade
-- **Firefox**: Inspetor de acessibilidade com visualização detalhada em árvore
-- **Safari**: Aba de auditoria no Web Inspector com simulação do VoiceOver
-
-**Extensões profissionais de teste:**
-- [axe DevTools](https://www.deque.com/axe/devtools/) - Teste automatizado padrão da indústria
-- [WAVE](https://wave.webaim.org/extension/) - Feedback visual com destaque de erros
-- [Accessibility Insights](https://accessibilityinsights.io/) - Suite de testes abrangente da Microsoft
-
-**Integração com linha de comando e CI/CD:**
-- [axe-core](https://github.com/dequelabs/axe-core) - Biblioteca JavaScript para testes automatizados
-- [Pa11y](https://pa11y.org/) - Ferramenta de teste de acessibilidade na linha de comando
-- [Lighthouse CI](https://github.com/GoogleChrome/lighthouse-ci) - Pontuação automatizada de acessibilidade
-
-> 🎯 **Meta de Teste**: Mire em uma pontuação de acessibilidade do Lighthouse de 95+ como base. Lembre-se, ferramentas automatizadas detectam apenas cerca de 30-40% dos problemas de acessibilidade—testes manuais ainda são essenciais!
-
-### 🧠 **Verificação de Habilidades de Teste: Pronto para Encontrar Problemas?**
-
-**Vamos ver como você está se sentindo sobre testes de acessibilidade:**
-- Qual método de teste parece mais acessível para você agora?
-- Você consegue imaginar usar navegação apenas por teclado por um dia inteiro?
-- Qual é uma barreira de acessibilidade que você já experimentou online?
-
-```mermaid
-pie title "Accessibility Issues Caught by Different Methods"
- "Automated Tools" : 35
- "Manual Testing" : 40
- "User Feedback" : 25
-```
-
-> **Impulso de confiança**: Testadores profissionais de acessibilidade usam exatamente essa combinação de métodos. Você está aprendendo práticas padrão da indústria!
-
-## Construindo Acessibilidade Desde o Início
-
-A chave para o sucesso em acessibilidade é incorporá-la desde o início. Eu sei que é tentador pensar "vou adicionar acessibilidade depois", mas isso é como tentar adicionar uma rampa a uma casa depois que ela já foi construída. É possível? Sim. Fácil? Nem tanto.
-
-Pense na acessibilidade como planejar uma casa—é muito mais fácil incluir acessibilidade para cadeiras de rodas nos planos arquitetônicos iniciais do que adaptar tudo depois.
-
-### Os princípios POUR: Sua base para acessibilidade
-
-As Diretrizes de Acessibilidade de Conteúdo da Web (WCAG) são baseadas em quatro princípios fundamentais que formam o acrônimo POUR. Não se preocupe—esses não são conceitos acadêmicos complicados! Eles são, na verdade, diretrizes práticas para criar conteúdo que funcione para todos.
-
-Depois que você entende o POUR, tomar decisões de acessibilidade se torna muito mais intuitivo. É como ter uma lista mental que orienta suas escolhas de design. Vamos detalhar:
-
-```mermaid
-flowchart LR
- A[🔍 PERCEIVABLE Can users sense it?] --> B[🎮 OPERABLE Can users use it?]
- B --> C[📖 UNDERSTANDABLE Can users get it?]
- C --> D[💪 ROBUST Does it work everywhere?]
-
- A1[Alt text Captions Contrast] --> A
- B1[Keyboard access No seizures Time limits] --> B
- C1[Clear language Predictable Error help] --> C
- D1[Valid code Compatible Future-proof] --> D
-
- style A fill:#e1f5fe
- style B fill:#e8f5e8
- style C fill:#fff3e0
- style D fill:#f3e5f5
-```
-
-**🔍 Perceptível**: A informação deve ser apresentada de forma que os usuários possam percebê-la com seus sentidos disponíveis
-
-- Forneça alternativas em texto para conteúdo não textual (imagens, vídeos, áudio)
-- Garanta contraste de cores suficiente para todo o texto e componentes da interface
-- Ofereça legendas e transcrições para conteúdo multimídia
-- Projete conteúdo que permaneça funcional quando redimensionado em até 200%
-- Use múltiplas características sensoriais (não apenas cor) para transmitir informações
-
-**🎮 Operável**: Todos os componentes da interface devem ser operáveis pelos métodos de entrada disponíveis
-
-- Torne toda a funcionalidade acessível via navegação por teclado
-- Dê aos usuários tempo suficiente para ler e interagir com o conteúdo
-- Evite conteúdo que cause convulsões ou distúrbios vestibulares
-- Ajude os usuários a navegar eficientemente com estrutura clara e marcos
-- Certifique-se de que os elementos interativos tenham tamanhos adequados (mínimo de 44px)
-
-**📖 Compreensível**: A informação e a operação da interface devem ser claras e compreensíveis
-
-- Use linguagem clara e simples apropriada para seu público
-- Garanta que o conteúdo apareça e opere de forma previsível e consistente
-- Forneça instruções claras e mensagens de erro para entrada do usuário
-- Ajude os usuários a entender e corrigir erros em formulários
-- Organize o conteúdo com ordem lógica de leitura e hierarquia de informações
-
-**💪 Robusto**: O conteúdo deve funcionar de forma confiável em diferentes tecnologias e dispositivos assistivos
-
-- **Use HTML válido e semântico como base**
-- **Garanta compatibilidade com tecnologias assistivas atuais e futuras**
-- **Siga padrões da web e melhores práticas de marcação**
-- **Teste em diferentes navegadores, dispositivos e ferramentas assistivas**
-- **Estruture o conteúdo para que ele funcione bem mesmo quando recursos avançados não forem suportados**
-
-### 🎯 **Verificação dos Princípios POUR: Fixando o Conceito**
-
-**Reflexão rápida sobre os fundamentos:**
-- Consegue pensar em uma funcionalidade de site que falha em cada princípio POUR?
-- Qual princípio parece mais natural para você como desenvolvedor?
-- Como esses princípios podem melhorar o design para todos, não apenas para usuários com deficiência?
-
-```mermaid
-quadrantChart
- title POUR Principles Impact Matrix
- x-axis Low Effort --> High Effort
- y-axis Low Impact --> High Impact
- quadrant-1 Quick Wins
- quadrant-2 Major Projects
- quadrant-3 Consider Later
- quadrant-4 Strategic Focus
-
- Alt Text: [0.2, 0.9]
- Color Contrast: [0.3, 0.8]
- Semantic HTML: [0.4, 0.9]
- Keyboard Nav: [0.6, 0.8]
- ARIA Complex: [0.8, 0.7]
- Screen Reader Testing: [0.7, 0.6]
-```
-
-> **Lembre-se**: Comece com melhorias de alto impacto e baixo esforço. HTML semântico e texto alternativo oferecem o maior ganho em acessibilidade com o menor esforço!
-
-## Criando Design Visual Acessível
-
-Um bom design visual e acessibilidade andam de mãos dadas. Quando você projeta com acessibilidade em mente, muitas vezes descobre que essas restrições levam a soluções mais limpas e elegantes que beneficiam todos os usuários.
-
-Vamos explorar como criar designs visualmente atraentes que funcionem para todos, independentemente de suas habilidades visuais ou das condições em que estão visualizando seu conteúdo.
-
-### Estratégias de acessibilidade visual e de cores
-
-A cor é poderosa para comunicação, mas nunca deve ser a única forma de transmitir informações importantes. Projetar além da cor cria experiências mais robustas e inclusivas que funcionam em mais situações.
-
-**Projete para diferenças na visão de cores:**
-
-Aproximadamente 8% dos homens e 0,5% das mulheres têm algum tipo de diferença na visão de cores (frequentemente chamada de "daltonismo"). Os tipos mais comuns são:
-- **Deuteranopia**: Dificuldade em distinguir vermelho e verde
-- **Protanopia**: Vermelho parece mais escuro
-- **Tritanopia**: Dificuldade com azul e amarelo (raro)
-
-**Estratégias inclusivas de cores:**
-
-```css
-/* ❌ Bad: Using only color to indicate status */
-.error { color: red; }
-.success { color: green; }
-
-/* ✅ Good: Color plus icons and context */
-.error {
- color: #d32f2f;
- border-left: 4px solid #d32f2f;
-}
-.error::before {
- content: "⚠️";
- margin-right: 8px;
-}
-
-.success {
- color: #2e7d32;
- border-left: 4px solid #2e7d32;
-}
-.success::before {
- content: "✅";
- margin-right: 8px;
-}
-```
-
-**Além dos requisitos básicos de contraste:**
-- Teste suas escolhas de cores com simuladores de daltonismo
-- Use padrões, texturas ou formas junto com codificação por cores
-- Certifique-se de que os estados interativos sejam distinguíveis sem cor
-- Considere como seu design aparece no modo de alto contraste
-
-✅ **Teste a acessibilidade das suas cores**: Use ferramentas como [Coblis](https://www.color-blindness.com/coblis-color-blindness-simulator/) para ver como seu site aparece para usuários com diferentes tipos de visão de cores.
-
-### Indicadores de foco e design de interação
-
-Os indicadores de foco são o equivalente digital de um cursor—eles mostram aos usuários de teclado onde estão na página. Indicadores de foco bem projetados melhoram a experiência para todos, tornando as interações claras e previsíveis.
-
-**Melhores práticas modernas para indicadores de foco:**
-
-```css
-/* Enhanced focus styles that work across browsers */
-button:focus-visible {
- outline: 2px solid #0066cc;
- outline-offset: 2px;
- box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.25);
-}
-
-/* Remove focus outline for mouse users, preserve for keyboard users */
-button:focus:not(:focus-visible) {
- outline: none;
-}
-
-/* Focus-within for complex components */
-.card:focus-within {
- box-shadow: 0 0 0 3px rgba(74, 144, 164, 0.5);
- border-color: #4A90A4;
-}
-
-/* Ensure focus indicators meet contrast requirements */
-.custom-focus:focus-visible {
- outline: 3px solid #ffffff;
- outline-offset: 2px;
- box-shadow: 0 0 0 6px #000000;
-}
-```
-
-**Requisitos para indicadores de foco:**
-- **Visibilidade**: Deve ter pelo menos uma proporção de contraste de 3:1 com os elementos ao redor
-- **Largura**: Espessura mínima de 2px ao redor de todo o elemento
-- **Persistência**: Deve permanecer visível até que o foco se mova para outro lugar
-- **Distinção**: Deve ser visualmente diferente de outros estados da interface
-
-> 💡 **Dica de Design**: Ótimos indicadores de foco frequentemente usam uma combinação de contorno, sombra e mudanças de cor para garantir visibilidade em diferentes fundos e contextos.
-
-✅ **Audite os indicadores de foco**: Navegue pelo seu site usando a tecla Tab e observe quais elementos têm indicadores de foco claros. Algum deles é difícil de ver ou está ausente?
-
-### HTML semântico: A base da acessibilidade
-
-HTML semântico é como dar às tecnologias assistivas um sistema de GPS para o seu site. Quando você usa os elementos HTML certos para o propósito pretendido, está basicamente fornecendo leitores de tela, teclados e outras ferramentas com um mapa detalhado para ajudar os usuários a navegar de forma eficaz.
-
-Aqui está uma analogia que realmente fez sentido para mim: HTML semântico é a diferença entre uma biblioteca bem organizada com categorias claras e sinais úteis versus um depósito onde os livros estão espalhados aleatoriamente. Ambos os lugares têm os mesmos livros, mas em qual você preferiria tentar encontrar algo? Exatamente!
-
-```mermaid
-flowchart TD
- A[🏠 HTML Document] --> B[📰 header]
- A --> C[🧭 nav]
- A --> D[📄 main]
- A --> E[📋 footer]
-
- B --> B1[h1: Site Name Logo & branding]
- C --> C1[ul: Navigation Primary links]
- D --> D1[article: Content section: Subsections]
- D --> D2[aside: Sidebar Related content]
- E --> E1[nav: Footer links Copyright info]
-
- D1 --> D1a[h1: Page title h2: Major sections h3: Subsections]
-
- style A fill:#e3f2fd
- style B fill:#e8f5e8
- style C fill:#fff3e0
- style D fill:#f3e5f5
- style E fill:#e0f2f1
-```
-
-**Blocos de construção de uma estrutura de página acessível:**
-
-```html
-
-
-
Your Site Name
-
-
-
-
-
-
-
Article Title
-
Published on
-
-
-
-
First Section
-
Content that relates to this section...
-
-
-
-
Second Section
-
More related content...
-
-
-
-
-
-
-
-```
-
-**Por que HTML semântico transforma a acessibilidade:**
-
-| Elemento Semântico | Propósito | Benefício para Leitores de Tela |
-|--------------------|-----------|---------------------------------|
-| `` | Cabeçalho da página ou seção | "Marco de banner" - navegação rápida para o topo |
-| `