diff --git a/i18n/es/application.po b/i18n/es/application.po
index c485ae48..b71c851c 100644
--- a/i18n/es/application.po
+++ b/i18n/es/application.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-10-06 08:14+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
+"PO-Revision-Date: 2023-12-09 20:17+0100\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
 "Language: es\n"
@@ -549,89 +549,131 @@ msgstr "Reiniciar progreso"
 msgid "Confirm Resetting Progress"
 msgstr "Confirmar reiniciar el progreso"
 
-#: ui/screens/end_screen/EndScreen.tscn:229
-#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
-msgid "Congratulations!"
-msgstr "Felicitaciones!"
+#: ui/screens/end_screen/EndScreen.tscn:300
+#: ui/screens/end_screen/EndScreen.tscn:313
+msgid "YOU MADE IT!"
+msgstr "¡LO LOGRASTE!"
 
-#: ui/screens/end_screen/EndScreen.tscn:236
+#: ui/screens/end_screen/EndScreen.tscn:343
 msgid ""
-"You completed Learn GDScript From Zero. You now have the basics you need to "
-"dive into game creation with the Godot game engine.\n"
-"\n"
-"If you're looking for a free series to keep learning the basics with us, you "
-"can move on to [url=https://www.gdquest.com/tutorial/godot/learning-paths/"
-"getting-started-in-2021/]Getting Started with Godot[/url]."
+"Not only did you learn the foundations of coding, you’re a big step closer "
+"to making your own games."
 msgstr ""
-"Ha completado Learn GDScript From Zero. Ahora tienes los conceptos básicos "
-"que necesitas para sumergirte en la creación de juegos con el motor de "
-"juegos Godot.\n"
-"\n"
-"Si estás buscando una serie gratuita para seguir aprendiendo los conceptos "
-"básicos con nosotros, puede pasar a [url=https://www.gdquest.com/tutorial/"
-"godot/learning-paths/getting-started-in-2021 /]Empezando con Godot[/url] "
-"(curso en inglés)."
+"No sólo has aprendido los fundamentos de la programación, sino que estás un "
+"paso más cerca de crear tus propios juegos."
+
+#: ui/screens/end_screen/EndScreen.tscn:363
+msgid "Don't stop here..."
+msgstr "No te pares aquí..."
+
+#: ui/screens/end_screen/EndScreen.tscn:373
+msgid "The fun stuff starts now!"
+msgstr "¡Lo divertido empieza ahora!"
 
-#: ui/screens/end_screen/EndScreen.tscn:249
-msgid "Or level up faster by taking this shortcut"
-msgstr "O aprende más rápido con este atajo"
+#: ui/screens/end_screen/EndScreen.tscn:388
+msgid "There are 2 pathways learners traditionally take from here:"
+msgstr "A partir de aquí, los alumnos tradicionalmente siguen dos caminos:"
 
-#: ui/screens/end_screen/EndScreen.tscn:256
+#: ui/screens/end_screen/EndScreen.tscn:402
+msgid "Following video tutorials"
+msgstr "Seguir tutoriales en vídeo"
+
+#: ui/screens/end_screen/EndScreen.tscn:417
 msgid ""
-"There are loads of free game creation tutorials, but they don't form a clear "
-"path.\n"
-"\n"
-"Worse, most of them are like step-by-step recipes. But as you learned, you "
-"can't become a developer by just following recipes.\n"
-"\n"
-"Every project has unique challenges and requires [i]creative problem "
-"solving[/i]. You need to [i]think like a programmer[/i].\n"
-"\n"
-"Learning that on your own can take years."
+"They’re a great way to pick up specific game mechanics but they’re not as "
+"effective when you’re trying to learn new skills from the ground up."
 msgstr ""
-"Hay muchos tutoriales de creación de juegos gratuitos, pero no forman un "
-"camino completo.\n"
-"\n"
-"Peor aún, la mayoría de ellos son como recetas paso a paso. Pero como "
-"aprendiste, no puedes convertirte en desarrollador simplemente siguiendo "
-"recetas.\n"
-"\n"
-"Cada proyecto tiene desafíos únicos y requiere [i]resolución creativa de "
-"problemas[/i]. Necesitas [i]pensar como un programador[/i].\n"
-"\n"
-"Aprender eso por su cuenta puede llevar años."
+"Son una buena forma de aprender mecánicas de juego específicas, pero no son "
+"tan eficaces cuando tratas de aprender nuevas habilidades desde cero."
 
-#: ui/screens/end_screen/EndScreen.tscn:277
-msgid "Learn to Code From Zero, with Godot"
-msgstr "Learn to Code From Zero, with Godot (curso en inglés)"
+#: ui/screens/end_screen/EndScreen.tscn:449
+msgid "• There’s no clear learning path."
+msgstr "• No hay una ruta de aprendizaje clara."
+
+#: ui/screens/end_screen/EndScreen.tscn:464
+msgid "• Retention and skill acquisition is slow and limited."
+msgstr ""
+"• La retención y la adquisición de competencias son lentas y limitadas."
 
-#: ui/screens/end_screen/EndScreen.tscn:284
+#: ui/screens/end_screen/EndScreen.tscn:480
 msgid ""
-"This app is the free part of our in-depth course, [url=https://gdquest."
-"mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
-"From Zero, with Godot[/b][/url].\n"
-"\n"
-"The course picks up right where this app ends to take you to the point where "
-"you can make [i]your[/i] game.\n"
-"\n"
-"It's the only course that'll truly teach you [i]how to become a game "
-"developer[/i] with Godot."
+"We make our fair share of [b][color=#ebc3ff][url=https://www.youtube.com/"
+"@Gdquest/videos]free tutorials[/url][/color][/b]. They will come in very "
+"handy once you start making games on your own. But to get started, we really "
+"recommend you learn how to think like a game developer using [b]"
+"[color=#ebc3ff][url=https://school.gdquest.com/godot-4-early-access]courses[/"
+"url][/color][/b]."
+msgstr ""
+"Hacemos muchos [b][color=#ebc3ff][url=https://www.youtube.com/@Gdquest/"
+"videos]tutoriales gratuitos[/url][/color][/b]. Te serán muy útiles cuando "
+"empieces a crear juegos solo. Pero para empezar, te recomendamos que "
+"aprendas a pensar como un desarrollador de juegos mediante [b][color=#ebc3ff]"
+"[url=https://school.gdquest.com/godot-4-early-access]cursos[/url][/color][/"
+"b]."
+
+#: ui/screens/end_screen/EndScreen.tscn:495
+msgid "Learning with courses"
+msgstr "Aprender con cursos"
+
+#: ui/screens/end_screen/EndScreen.tscn:511
+msgid ""
+"Note that most available courses online are actually premium series of video "
+"tutorials. The problem of retaining information and acquiring real skills "
+"unfortunately still applies to them."
 msgstr ""
-"Esta aplicación es la parte gratuita de nuestro curso detallado, "
-"[url=https://gdquest.mavenseed.com/courses/learn-to-code-from-zero-with-"
-"godot][b]Learn to Code From Zero, with Godot[/b][/url].\n"
+"Tenga en cuenta que la mayoría de los cursos disponibles en línea son en "
+"realidad series premium de tutoriales en vídeo. Lamentablemente, el problema "
+"de la retención de información y la adquisición de habilidades reales sigue "
+"siendo válido para ellos."
+
+#: ui/screens/end_screen/EndScreen.tscn:527
+msgid ""
+"At GDQuest, we’re educators at heart. We believe in applied study and we "
+"believe it doesn’t have to be boring. When teaching is done correctly, most "
+"people highly enjoy the sensation of leveling up!\n"
 "\n"
-"El curso comienza justo donde termina esta aplicación para llevarte al punto "
-"en el que puedes hacer [i]tu[/i] juego.\n"
+"That’s the reason we made this app. It is in fact part of our beginner "
+"course [b][color=#ebc3ff][url=https://school.gdquest.com/products/"
+"bundle_learn_gamedev_godot_4]Learn Gamedev From Zero with Godot[/url][/color]"
+"[/b]."
+msgstr ""
+"En GDQuest somos educadores de corazón. Creemos en el estudio aplicado y "
+"creemos que no tiene por qué ser aburrido. Cuando la enseñanza se hace "
+"correctamente, ¡la mayoría de la gente disfruta enormemente de la sensación "
+"de subir de nivel!\n"
 "\n"
-"Es el único curso que realmente te enseñará [i]cómo convertirte en un "
-"desarrollador de juegos[/i] con Godot."
+"Por eso hemos creado esta aplicación. De hecho, forma parte de nuestro curso "
+"para principiantes [b][color=#ebc3ff][url=https://school.gdquest.com/"
+"products/bundle_learn_gamedev_godot_4]Learn Gamedev From Zero with Godot[/"
+"color][/b]."
 
-#: ui/screens/end_screen/EndScreen.tscn:308
-#: ui/screens/lesson/UIContentBlock.gd:70
-#: ui/screens/lesson/UIContentBlock.gd:134
-msgid "Learn More"
-msgstr "Aprende más"
+#: ui/screens/end_screen/EndScreen.tscn:565
+msgid "LEARN GAMEDEV WITH GODOT"
+msgstr "APRENDA GAMEDEV CON GODOT"
+
+#: ui/screens/end_screen/EndScreen.tscn:710
+msgid "Now available"
+msgstr "Ya disponible"
+
+#: ui/screens/end_screen/EndScreen.tscn:720
+msgid "for preorders"
+msgstr "para pedidos anticipados"
+
+#: ui/screens/end_screen/EndScreen.tscn:737
+msgid "Godot 4 courses!!"
+msgstr "¡Cursos de Godot 4!"
+
+#: ui/screens/end_screen/EndScreen.tscn:783
+msgid "Teaching gamedev in the classroom?"
+msgstr "¿Enseñas videojuegos en clase?"
+
+#: ui/screens/end_screen/EndScreen.tscn:796
+msgid "Get in touch"
+msgstr "Ponte en contacto"
+
+#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
+msgid "Congratulations!"
+msgstr "Felicitaciones!"
 
 #: ui/screens/end_screen/SponsorlessEndScreen.tscn:203
 msgid ""
@@ -670,6 +712,10 @@ msgstr ""
 "traducciones aquí: [url=\"https://github.com/GDQuest/learn-gdscript\"]Learn "
 "GDScript From Zero (repositorio Github, en inglés)[/url]."
 
+#: ui/screens/end_screen/thumbnails/CourseThumbnail.tscn:42
+msgid "Early Access release: 2024/01/30"
+msgstr "Versión beta temprana"
+
 #: ui/screens/lesson/UIBaseQuiz.tscn:56
 msgid "[b]Question[/b]"
 msgstr "[b]Pregunta[/b]"
@@ -694,6 +740,11 @@ msgstr "¡Estás en lo cierto!"
 msgid "Answers here"
 msgstr "Respuestas aquí"
 
+#: ui/screens/lesson/UIContentBlock.gd:70
+#: ui/screens/lesson/UIContentBlock.gd:134
+msgid "Learn More"
+msgstr "Aprende más"
+
 #: ui/screens/lesson/UIContentBlock.tscn:47
 msgid "Placeholder heading"
 msgstr "Título de relleno"
@@ -768,22 +819,90 @@ msgid "CONTINUE"
 msgstr "CONTINUAR"
 
 #: ui/screens/welcome_screen/WelcomeScreen.gd:44
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:627
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:625
 msgid "START"
 msgstr "COMENZAR"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:645
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:643
 msgid "SELECT LESSON"
 msgstr "SELECCIONAR LECCIÓN"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:659
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:657
 msgid "OPTIONS"
 msgstr "OPCIONES"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:693
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:691
 msgid "QUIT"
 msgstr "CERRAR"
 
+#~ msgid ""
+#~ "You completed Learn GDScript From Zero. You now have the basics you need "
+#~ "to dive into game creation with the Godot game engine.\n"
+#~ "\n"
+#~ "If you're looking for a free series to keep learning the basics with us, "
+#~ "you can move on to [url=https://www.gdquest.com/tutorial/godot/learning-"
+#~ "paths/getting-started-in-2021/]Getting Started with Godot[/url]."
+#~ msgstr ""
+#~ "Ha completado Learn GDScript From Zero. Ahora tienes los conceptos "
+#~ "básicos que necesitas para sumergirte en la creación de juegos con el "
+#~ "motor de juegos Godot.\n"
+#~ "\n"
+#~ "Si estás buscando una serie gratuita para seguir aprendiendo los "
+#~ "conceptos básicos con nosotros, puede pasar a [url=https://www.gdquest."
+#~ "com/tutorial/godot/learning-paths/getting-started-in-2021 /]Empezando con "
+#~ "Godot[/url] (curso en inglés)."
+
+#~ msgid "Or level up faster by taking this shortcut"
+#~ msgstr "O aprende más rápido con este atajo"
+
+#~ msgid ""
+#~ "There are loads of free game creation tutorials, but they don't form a "
+#~ "clear path.\n"
+#~ "\n"
+#~ "Worse, most of them are like step-by-step recipes. But as you learned, "
+#~ "you can't become a developer by just following recipes.\n"
+#~ "\n"
+#~ "Every project has unique challenges and requires [i]creative problem "
+#~ "solving[/i]. You need to [i]think like a programmer[/i].\n"
+#~ "\n"
+#~ "Learning that on your own can take years."
+#~ msgstr ""
+#~ "Hay muchos tutoriales de creación de juegos gratuitos, pero no forman un "
+#~ "camino completo.\n"
+#~ "\n"
+#~ "Peor aún, la mayoría de ellos son como recetas paso a paso. Pero como "
+#~ "aprendiste, no puedes convertirte en desarrollador simplemente siguiendo "
+#~ "recetas.\n"
+#~ "\n"
+#~ "Cada proyecto tiene desafíos únicos y requiere [i]resolución creativa de "
+#~ "problemas[/i]. Necesitas [i]pensar como un programador[/i].\n"
+#~ "\n"
+#~ "Aprender eso por su cuenta puede llevar años."
+
+#~ msgid "Learn to Code From Zero, with Godot"
+#~ msgstr "Learn to Code From Zero, with Godot (curso en inglés)"
+
+#~ msgid ""
+#~ "This app is the free part of our in-depth course, [url=https://gdquest."
+#~ "mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
+#~ "From Zero, with Godot[/b][/url].\n"
+#~ "\n"
+#~ "The course picks up right where this app ends to take you to the point "
+#~ "where you can make [i]your[/i] game.\n"
+#~ "\n"
+#~ "It's the only course that'll truly teach you [i]how to become a game "
+#~ "developer[/i] with Godot."
+#~ msgstr ""
+#~ "Esta aplicación es la parte gratuita de nuestro curso detallado, "
+#~ "[url=https://gdquest.mavenseed.com/courses/learn-to-code-from-zero-with-"
+#~ "godot][b]Learn to Code From Zero, with Godot[/b][/url].\n"
+#~ "\n"
+#~ "El curso comienza justo donde termina esta aplicación para llevarte al "
+#~ "punto en el que puedes hacer [i]tu[/i] juego.\n"
+#~ "\n"
+#~ "Es el único curso que realmente te enseñará [i]cómo convertirte en un "
+#~ "desarrollador de juegos[/i] con Godot."
+
 #~ msgid "Connected to the server."
 #~ msgstr "Conectado al servidor."
 
@@ -942,9 +1061,6 @@ msgstr "CERRAR"
 #~ "\n"
 #~ "Para empezar, haz clic en el botón [i]Iniciar curso[/i] de la derecha."
 
-#~ msgid "Early beta release"
-#~ msgstr "Versión beta temprana"
-
 #~ msgid ""
 #~ "The app is in [b]beta[/b].\n"
 #~ "\n"
diff --git a/i18n/es/classref_database.po b/i18n/es/classref_database.po
index 30aac88e..80af8412 100644
--- a/i18n/es/classref_database.po
+++ b/i18n/es/classref_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2022-03-20 10:00+0100\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
diff --git a/i18n/es/error_database.po b/i18n/es/error_database.po
index 07198411..97658bd3 100644
--- a/i18n/es/error_database.po
+++ b/i18n/es/error_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-09-12 19:49+0000\n"
 "Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
 "Language-Team: Spanish <https://hosted.weblate.org/projects/learn-gdscript-"
diff --git a/i18n/es/glossary_database.po b/i18n/es/glossary_database.po
index b61aca7e..fefdf357 100644
--- a/i18n/es/glossary_database.po
+++ b/i18n/es/glossary_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2022-06-12 11:11+0200\n"
 "Last-Translator: \n"
 "Language-Team: \n"
diff --git a/i18n/es/lesson-11-time-delta.po b/i18n/es/lesson-11-time-delta.po
index 1775d12f..e4903192 100644
--- a/i18n/es/lesson-11-time-delta.po
+++ b/i18n/es/lesson-11-time-delta.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-10-06 08:01+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
+"PO-Revision-Date: 2023-12-09 20:09+0100\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
 "Language: es\n"
@@ -144,9 +144,6 @@ msgid ""
 "Delta represents a time difference. It's the time passed since the previous "
 "frame, in seconds.\n"
 "\n"
-"The [code]delta[/code] parameter tells us how long it took for Godot to "
-"complete the [b]previous frame[/b].\n"
-"\n"
 "We can use it to ensure that the changes between frames don't make the "
 "game's behavior unreliable.\n"
 "\n"
@@ -168,9 +165,6 @@ msgstr ""
 "La palabra \"delta\" representa una diferencia de tiempo. Es el tiempo "
 "transcurrido desde el fotograma anterior, en segundos.\n"
 "\n"
-"El parámetro [code]delta[/code] nos dice cuánto tiempo le tomó a Godot "
-"completar el [b]fotograma anterior[/b].\n"
-"\n"
 "Podemos utilizarlo para asegurarnos de que las variaciones entre fotogramas "
 "no hacen que la simulación del juego sea poco fiable.\n"
 "\n"
@@ -181,11 +175,11 @@ msgstr ""
 "del ordenador. Delta ayuda a que la experiencia de juego sea uniforme para "
 "todos."
 
-#: course/lesson-11-time-delta/lesson.tres:115
+#: course/lesson-11-time-delta/lesson.tres:113
 msgid "What do we know about delta?"
 msgstr "¿Qué sabemos sobre delta?"
 
-#: course/lesson-11-time-delta/lesson.tres:118
+#: course/lesson-11-time-delta/lesson.tres:116
 msgid ""
 "[code]delta[/code] is the time it took Godot to complete the previous frame "
 "in seconds.\n"
@@ -202,26 +196,26 @@ msgstr ""
 "Varía en cada fotograma porque Godot necesita procesar más o menos cada "
 "fotograma."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's a value in seconds."
 msgstr "Es un valor en segundos."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It varies each frame."
 msgstr "Varía en cada fotograma."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's the time it took Godot to complete the previous frame."
 msgstr "Es el tiempo que le toma a Godot completar el fotograma anterior."
 
-#: course/lesson-11-time-delta/lesson.tres:131
+#: course/lesson-11-time-delta/lesson.tres:129
 msgid "Multiplying by delta"
 msgstr "Multiplicar por delta"
 
-#: course/lesson-11-time-delta/lesson.tres:133
+#: course/lesson-11-time-delta/lesson.tres:131
 msgid ""
 "The [code]delta[/code] you get in [code]_process()[/code] is a time "
 "difference in seconds. It will generally be a tiny decimal number.\n"
@@ -236,7 +230,7 @@ msgstr ""
 "Para aplicar [code]delta[/code], tienes que [i]multiplicar[/i] tus valores "
 "de velocidad por él."
 
-#: course/lesson-11-time-delta/lesson.tres:155
+#: course/lesson-11-time-delta/lesson.tres:153
 msgid ""
 "When multiplying by [code]delta[/code], you make motion [i]time-dependent[/"
 "i] rather than [i]frame-dependent[/i].\n"
@@ -248,11 +242,11 @@ msgstr ""
 "\n"
 "Eso es esencial para que tu juego sea consistente y justo."
 
-#: course/lesson-11-time-delta/lesson.tres:165
+#: course/lesson-11-time-delta/lesson.tres:163
 msgid "Why do we use the number 3.0 in this example?"
 msgstr "¿Por qué utilizamos el número 3.0 en este ejemplo?"
 
-#: course/lesson-11-time-delta/lesson.tres:167
+#: course/lesson-11-time-delta/lesson.tres:165
 msgid ""
 "At the top of the lesson, we made the robot rotate a fixed amount every "
 "frame: [code]0.05[/code] radians.\n"
@@ -300,11 +294,11 @@ msgstr ""
 "a medida que trates con la velocidad, la aceleración y el movimiento en tus "
 "proyectos de juego."
 
-#: course/lesson-11-time-delta/lesson.tres:187
+#: course/lesson-11-time-delta/lesson.tres:185
 msgid "Why the time between frames matters"
 msgstr "Por qué es importante el tiempo entre fotogramas"
 
-#: course/lesson-11-time-delta/lesson.tres:189
+#: course/lesson-11-time-delta/lesson.tres:187
 msgid ""
 "The time it takes to display a new frame varies.\n"
 "\n"
@@ -336,7 +330,7 @@ msgstr ""
 "\n"
 "¡El robot de abajo se moverá [i]de forma diferente para todos[/i]!"
 
-#: course/lesson-11-time-delta/lesson.tres:217
+#: course/lesson-11-time-delta/lesson.tres:215
 msgid ""
 "Multiplying time-sensitive values by [code]delta[/code] makes them [b]time-"
 "dependent[/b] rather than [b]frame-dependent[/b].\n"
@@ -357,15 +351,15 @@ msgstr ""
 "computadora a otra y durante el juego. Por eso, el movimiento será diferente "
 "para cada jugador, haciendo que el juego sea inconsistente y desordenado."
 
-#: course/lesson-11-time-delta/lesson.tres:229
+#: course/lesson-11-time-delta/lesson.tres:227
 msgid "What does this mean?"
 msgstr "¿Qué significa esto?"
 
-#: course/lesson-11-time-delta/lesson.tres:230
+#: course/lesson-11-time-delta/lesson.tres:228
 msgid "[code]rotation_speed * delta[/code]"
 msgstr "[code]rotation_speed * delta[/code]"
 
-#: course/lesson-11-time-delta/lesson.tres:232
+#: course/lesson-11-time-delta/lesson.tres:230
 msgid ""
 "The [code]*[/code] symbol means we're multiplying [code]rotation_speed[/"
 "code] by [code]delta[/code] time."
@@ -373,34 +367,34 @@ msgstr ""
 "El símbolo [code]*[/code] significa que estamos multiplicando "
 "[code]rotation_speed[/code] por el tiempo [code]delta[/code]."
 
-#: course/lesson-11-time-delta/lesson.tres:233
-#: course/lesson-11-time-delta/lesson.tres:234
+#: course/lesson-11-time-delta/lesson.tres:231
+#: course/lesson-11-time-delta/lesson.tres:232
 msgid "We're multiplying rotation_speed by delta."
 msgstr "Que multiplicamos la rotation_speed por delta."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're dividing delta by rotation_speed."
 msgstr "Que dividimos delta por la rotation_speed."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're adding rotation_speed to delta."
 msgstr "Que le sumamos la rotation_speed a delta."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're subtracting delta from rotation_speed."
 msgstr "Que le restamos delta a la rotation_speed."
 
-#: course/lesson-11-time-delta/lesson.tres:243
+#: course/lesson-11-time-delta/lesson.tres:241
 msgid "In the next practice, we'll use delta to make rotating time-dependent."
 msgstr ""
 "En la siguiente práctica, usaremos el delta para hacer que la rotación "
 "dependa del tiempo."
 
-#: course/lesson-11-time-delta/lesson.tres:251
+#: course/lesson-11-time-delta/lesson.tres:249
 msgid "Rotating Using Delta"
 msgstr "Girar usando delta"
 
-#: course/lesson-11-time-delta/lesson.tres:252
+#: course/lesson-11-time-delta/lesson.tres:250
 msgid ""
 "At the moment, the rotation of the robot is frame-dependent.\n"
 "\n"
@@ -415,11 +409,11 @@ msgstr ""
 "\n"
 "El robot debe girar [code]2[/code] radianes por segundo."
 
-#: course/lesson-11-time-delta/lesson.tres:271
+#: course/lesson-11-time-delta/lesson.tres:269
 msgid "Moving in a Circle Using Delta"
 msgstr "Moverse en un círculo usando delta"
 
-#: course/lesson-11-time-delta/lesson.tres:272
+#: course/lesson-11-time-delta/lesson.tres:270
 msgid ""
 "In this practice, make the robot move in a smooth circle using delta.\n"
 "\n"
@@ -441,6 +435,6 @@ msgstr ""
 "funciones. Si define variables adicionales, no podremos verificar su "
 "práctica."
 
-#: course/lesson-11-time-delta/lesson.tres:290
+#: course/lesson-11-time-delta/lesson.tres:288
 msgid "Time Delta"
 msgstr "Delta de tiempo"
diff --git a/i18n/es/lesson-15-modulo.po b/i18n/es/lesson-15-modulo.po
deleted file mode 100644
index d29435e0..00000000
--- a/i18n/es/lesson-15-modulo.po
+++ /dev/null
@@ -1,350 +0,0 @@
-# Translations template for Learn GDScript From Zero.
-# Copyright (C) 2022 GDQuest
-# This file is distributed under the same license as the Learn GDScript From
-# Zero project.
-# Automatically generated, 2022.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Learn GDScript From Zero\n"
-"Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2022-04-19 17:06+0200\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"Language: es\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"Generated-By: Babel 2.9.0\n"
-"X-Generator: Poedit 3.0.1\n"
-
-#: course/lesson-15-modulo/lesson.tres:14
-msgid ""
-"The modulo operation ([code]%[/code]) calculates the remainder of a whole "
-"number division.\n"
-"\n"
-"For example, the modulo of [code]5[/code] by [code]3[/code] ([code]5 % 3[/"
-"code]) is [code]2[/code].\n"
-"\n"
-"We typically use this operation to tell if a number is odd or even or to "
-"produce a random number within a particular range (like a dice roll).\n"
-"\n"
-"Play around with the modulo widget on the right to see how modulo works "
-"visually."
-msgstr ""
-"La operación módulo ([code]%[/code]) calcula el resto (también llamado "
-"\"residuo\") de una división de números enteros.\n"
-"\n"
-"Por ejemplo, el módulo de [code]5[/code] entre [code]3[/code] ([code]5 % 3[/"
-"code]) es [code]2[/code].\n"
-"\n"
-"Por lo general, usamos esta operación para saber si un número es par o impar "
-"o para producir un número aleatorio dentro de un rango determinado (como un "
-"lanzamiento de dados).\n"
-"\n"
-"Juega con el widget de módulo de la derecha para ver cómo funciona "
-"visualmente el módulo."
-
-#: course/lesson-15-modulo/lesson.tres:28
-msgid "What's the result of this modulo operation?"
-msgstr "¿Cuál es el resultado de esta operación módulo?"
-
-#: course/lesson-15-modulo/lesson.tres:29
-msgid "[code]11 % 4[/code]"
-msgstr "[code]11 % 4[/code]"
-
-#: course/lesson-15-modulo/lesson.tres:31
-msgid ""
-"[code]11[/code] divided by [code]4[/code] is [code]2[/code], and the "
-"[b]remainder[/b] of the division is [code]3[/code].\n"
-"\n"
-"So [code]11 % 4[/code] is [code]3[/code]."
-msgstr ""
-"[code]11[/code] dividido entre [code]4[/code] es [code]2[/code], y el "
-"[b]resto[/b] de la división es [code]3[/code].\n"
-"\n"
-"Así que [code]11 % 4[/code] es [code]3[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:34
-#: course/lesson-15-modulo/lesson.tres:35
-msgid "3"
-msgstr "3"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "2"
-msgstr "2"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "7"
-msgstr "7"
-
-#: course/lesson-15-modulo/lesson.tres:44
-msgid ""
-"The modulo operation only works on [b]whole numbers[/b]; Not decimal "
-"numbers.\n"
-"\n"
-"Also, just like in regular divisions, the divisor can't be zero.\n"
-"\n"
-"All three examples below will cause an error in your code."
-msgstr ""
-"La operación módulo sólo funciona con [b]números enteros[/b]; no con números "
-"decimales.\n"
-"\n"
-"Además, al igual que en las divisiones normales, el divisor no puede ser "
-"cero.\n"
-"\n"
-"Los tres ejemplos a continuación provocarían un error en tu código."
-
-#: course/lesson-15-modulo/lesson.tres:66
-msgid "Three ways we use the modulo operation"
-msgstr "Tres formas en que usamos la operación módulo"
-
-#: course/lesson-15-modulo/lesson.tres:68
-msgid ""
-"The modulo operation has important uses in programming, like making a number "
-"cycle.\n"
-"\n"
-"Take a traffic light, for example."
-msgstr ""
-"La operación módulo tiene usos importantes en programación, como hacer un "
-"ciclo de números.\n"
-"\n"
-"Tomemos un semáforo como ejemplo."
-
-#: course/lesson-15-modulo/lesson.tres:90
-msgid ""
-"We use the number [code]light_index[/code] to represent the traffic light's "
-"current state.\n"
-"\n"
-"The lights always cycle in the same way: first, we have the red light, then "
-"the yellow, then the green.\n"
-"\n"
-"To represent that cycle, you can periodically add one to the number and use "
-"the modulo operator to wrap back to [code]0[/code].\n"
-"\n"
-"Instead, you could use a condition; In this case, we use the modulo as a "
-"shortcut."
-msgstr ""
-"Utilizamos el número [code]light_index[/code] para representar el estado "
-"actual del semáforo.\n"
-"\n"
-"Las luces siempre tienen el mismo ciclo: primero tenemos la luz roja, luego "
-"la amarilla y después la verde.\n"
-"\n"
-"Para representar ese ciclo, puedes añadirle periódicamente uno al número y "
-"utilizar el operador módulo para volver a [code]0[/code].\n"
-"\n"
-"En su lugar, podrías usar una condición; en este caso, utilizamos el módulo "
-"como atajo."
-
-#: course/lesson-15-modulo/lesson.tres:114
-msgid "Why do we start from zero?"
-msgstr ""
-
-#: course/lesson-15-modulo/lesson.tres:116
-msgid ""
-"In computer code, we very often count from [code]0[/code].\n"
-"\n"
-"Every number translates to a precise combination of bits in the machine, "
-"starting from [code]0[/code].\n"
-"\n"
-"We don't want to waste any number, and as the first number the computer "
-"knows about is [code]0[/code], we start counting from [code]0[/code]."
-msgstr ""
-"En el código informático, muy a menudo contamos a partir del [code]0[/"
-"code].\n"
-"\n"
-"Cada número se traduce en una combinación precisa de bits en la máquina, "
-"comenzando desde el [code]0[/code].\n"
-"\n"
-"No queremos desperdiciar ningún número, y como el primer número que conoce "
-"la computadora es el [code]0[/code], empezamos a contar a partir del "
-"[code]0[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:128
-msgid "Using modulo to find even and odd numbers"
-msgstr "Utilizar el módulo para encontrar números pares e impares"
-
-#: course/lesson-15-modulo/lesson.tres:130
-msgid ""
-"We can also use a modulo to check if a number is even or odd. If we divide a "
-"number by [code]2[/code] and there's no remainder, then the number is "
-"[b]even[/b]."
-msgstr ""
-"También podemos utilizar un módulo para comprobar si un número es par o "
-"impar. Si dividimos un número por [code]2[/code] y no queda ningún resto, "
-"entonces el número es [b]par[/b]."
-
-#: course/lesson-15-modulo/lesson.tres:150
-msgid ""
-"Notice how the modulo can be larger than the number it affects. For example, "
-"[code]1 % 2[/code] gives you [code]1[/code]. That's because [code]1[/code] "
-"divided by [code]2[/code] equals [code]0[/code], and the remainder is "
-"[code]1[/code].\n"
-"\n"
-"Like with divisions, the only case you can't use modulo is with a divisor of "
-"[code]0[/code]."
-msgstr ""
-"Observa que el módulo puede ser mayor que el número al que afecta. Por "
-"ejemplo, [code]1 % 2[/code] te da [code]1[/code]. Eso es porque [code]1[/"
-"code] dividido entre [code]2[/code] es igual a [code]0[/code], y el resto es "
-"[code]1[/code].\n"
-"\n"
-"Al igual que con las divisiones, el único caso en el que no puedes utilizar "
-"el módulo es con un divisor de [code]0[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:170
-msgid "Calculating a random number within a range"
-msgstr "Calcular un número aleatorio dentro de un rango"
-
-#: course/lesson-15-modulo/lesson.tres:172
-msgid ""
-"We can use the modulo to simulate dice rolls. To do so, we generate a large "
-"random number and use the modulo operator to limit the number's range.\n"
-"\n"
-"To generate a random whole number, you can call the [code]randi()[/code] "
-"function. The name stands for random integer.\n"
-"\n"
-"The number the function generates can be huge: roughly up to 2 billion on an "
-"Android device and around 10^18 on a 64-bit computer.\n"
-"\n"
-"You can use the modulo operation to limit the random number's range."
-msgstr ""
-"Podemos utilizar el módulo para simular tiradas de dados. Para ello, "
-"generamos un número aleatorio grande y utilizamos el operador módulo para "
-"limitar el rango del número.\n"
-"\n"
-"Para generar un número entero aleatorio, puedes llamar a la función "
-"[code]randi()[/code]. El nombre significa número entero aleatorio.\n"
-"\n"
-"El número que genera la función puede ser enorme: aproximadamente hasta "
-"2.000 millones en un dispositivo Android y alrededor de 10^18 en un "
-"ordenador de 64 bits.\n"
-"\n"
-"Puede utilizar la operación módulo para limitar el rango del número "
-"aleatorio."
-
-#: course/lesson-15-modulo/lesson.tres:198
-msgid ""
-"The result is also random because we use the modulo operation on a random "
-"number.\n"
-"\n"
-"In the following practices, you'll use a modulo to advance traffic lights, "
-"add maximum health to the robot on every odd level, and learn how to code "
-"dice rolls."
-msgstr ""
-"El resultado también es aleatorio porque utilizamos la operación módulo "
-"sobre un número aleatorio.\n"
-"\n"
-"En las siguientes prácticas, utilizarás un módulo para cambiar las luces de "
-"los semáforos, añadirle salud máxima al robot en cada nivel impar y aprender "
-"cómo codificar un lanzamiento de dados."
-
-#: course/lesson-15-modulo/lesson.tres:208
-msgid "Advancing Traffic Lights"
-msgstr "Cambiar las luces de los semáforos"
-
-#: course/lesson-15-modulo/lesson.tres:209
-msgid ""
-"Add to the [code]advance_traffic_light()[/code] function so the "
-"[code]light_index[/code] variable increments by one, then wraps back to "
-"[code]0[/code] if it gets too high.\n"
-"\n"
-"Use the modulo operator [code]%[/code] to make sure the value of "
-"[code]light_index[/code] wraps back to [code]0[/code].\n"
-"\n"
-"The value of [code]light_index[/code] should only ever be [code]0[/code], "
-"[code]1[/code], or [code]2[/code]."
-msgstr ""
-"Añade código a la función [code]advance_traffic_light()[/code] para que la "
-"variable [code]light_index[/code] aumente en uno, y luego vuelva a [code]0[/"
-"code] si sube demasiado.\n"
-"\n"
-"Utiliza el operador módulo [code]%[/code] para asegurarte de que el valor de "
-"[code]light_index[/code] vuelva a [code]0[/code].\n"
-"\n"
-"El valor de [code]light_index[/code] sólo debe ser [code]0[/code], [code]1[/"
-"code] o [code]2[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:223
-msgid ""
-"Learn how to use modulo to wrap a number back to zero using traffic lights."
-msgstr ""
-"Aprende a utilizar el módulo para hacer que un número vuelva a cero usando "
-"semáforos."
-
-#: course/lesson-15-modulo/lesson.tres:228
-msgid "Rolling Dice"
-msgstr "Lanzamiento de dados"
-
-#: course/lesson-15-modulo/lesson.tres:229
-msgid ""
-"Our dice rolling function doesn't work! Right now, it always gives the "
-"result of how many sides the dice has: 20.\n"
-"\n"
-"Use [code]randi()[/code] to generate a random number and the modulo "
-"operation [code]%[/code]. \n"
-"\n"
-"Using the [code]return[/code] keyword inside the function, return a random "
-"number between [code]1[/code] and [code]sides[/code]."
-msgstr ""
-"¡Nuestra función de lanzamiento de dados no funciona! En este momento, "
-"siempre da el resultado de cuántos lados tiene el dado: 20.\n"
-"\n"
-"Utiliza [code]randi()[/code] para generar un número aleatorio y la operación "
-"módulo [code]%[/code].\n"
-"\n"
-"Utilizando la palabra clave [code]return[/code] dentro de la función, "
-"devuelve un número aleatorio entre [code]1[/code] y [code]sides[/code] (el "
-"número de lados)."
-
-#: course/lesson-15-modulo/lesson.tres:243
-msgid ""
-"Whether in a board game or video game, getting a random number is always "
-"useful. Here, we create a function that simulates a dice roll."
-msgstr ""
-"Tanto en un juego de mesa como en un videojuego, obtener un número aleatorio "
-"siempre es útil. Aquí, creamos una función que simula un lanzamiento de "
-"dados."
-
-#: course/lesson-15-modulo/lesson.tres:248
-msgid "Bonus Health Every Other Level"
-msgstr "Bonificación de salud cada dos niveles"
-
-#: course/lesson-15-modulo/lesson.tres:249
-msgid ""
-"Change the [code]level_up()[/code] function so it does the following:\n"
-"\n"
-"1) Increment [code]level[/code] by [code]1[/code]\n"
-"2) Increase [code]max_health[/code] by [code]5[/code]\n"
-"3) If [code]level[/code] is [b]even[/b], increase [code]max_health[/code] by "
-"an additional [code]5[/code]\n"
-"\n"
-"The robot starts with [code]100[/code] maximum health. It will gain three "
-"levels when you run the code. At level 4, the robot should have [code]125[/"
-"code] maximum health."
-msgstr ""
-"Cambia la función [code]level_up()[/code] para que haga lo siguiente:\n"
-"\n"
-"1) Aumente el [code]level[/code] en [code]1[/code]\n"
-"2) Aumente la [code]max_health[/code] en [code]5[/code]\n"
-"3) Si el [code]level[/code] es [b]par[/b], aumente la [code]max_health[/"
-"code] en [code]5[/code] adicionales\n"
-"\n"
-"El robot comienza con [code]100[/code] de salud máxima. Ganará tres niveles "
-"cuando ejecutes el código. En el nivel 4, el robot debería tener [code]125[/"
-"code] de salud máxima."
-
-#: course/lesson-15-modulo/lesson.tres:265
-msgid ""
-"There are other ways to increase maximum health. You could use a modulo to "
-"give a bonus every even level. Learn how here!"
-msgstr ""
-"Hay otras formas de aumentar la salud máxima. Puedes utilizar un módulo para "
-"dar una bonificación cada nivel par. ¡Aprende cómo hacerlo aquí!"
-
-#: course/lesson-15-modulo/lesson.tres:269
-msgid "Modulo"
-msgstr "Módulo"
diff --git a/i18n/es/lesson-7-member-variables.po b/i18n/es/lesson-7-member-variables.po
index 4f709981..2dc22ae5 100644
--- a/i18n/es/lesson-7-member-variables.po
+++ b/i18n/es/lesson-7-member-variables.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-05-16 13:50+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
+"PO-Revision-Date: 2023-12-09 20:10+0100\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
 "Language: es\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "Generated-By: Babel 2.9.0\n"
-"X-Generator: Poedit 3.1.1\n"
+"X-Generator: Poedit 3.3.1\n"
 
 #: course/lesson-7-member-variables/lesson.tres:14
 msgid ""
@@ -224,8 +224,8 @@ msgstr "En los juegos, el eje Y es positivo hacia abajo"
 #: course/lesson-7-member-variables/lesson.tres:172
 msgid ""
 "Note that in games, assuming your character's position starts at (0, 0), the "
-"code above moves the entity [code]180[/code] pixels to the right and "
-"[code]120[/code] pixels down.\n"
+"code above moves the entity [code]200[/code] pixels to the right and "
+"[code]250[/code] pixels down.\n"
 "\n"
 "In math, the y-axis is generally positive going up by convention.\n"
 "\n"
diff --git a/i18n/fr/application.po b/i18n/fr/application.po
index ee935343..962bed45 100644
--- a/i18n/fr/application.po
+++ b/i18n/fr/application.po
@@ -8,17 +8,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-06-08 15:10+0000\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
+"PO-Revision-Date: 2023-10-06 10:09+0000\n"
 "Last-Translator: EGuillemot <Elouen.Guillemot@gmail.com>\n"
 "Language-Team: French <https://hosted.weblate.org/projects/learn-gdscript-"
-"from-zero/application/fr/>\n"
+"from-zero/user-interface/fr/>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
+"X-Generator: Weblate 5.1-dev\n"
 "Generated-By: Babel 2.9.0\n"
 
 #: resources/QuizInputField.gd:17
@@ -190,7 +190,7 @@ msgstr ""
 
 #: ui/components/OutputConsoleErrorMessage.tscn:101
 msgid "Explain"
-msgstr "Explication"
+msgstr "Expliquer"
 
 #: ui/components/Revealer.tscn:74
 msgid "Expand"
@@ -552,88 +552,107 @@ msgstr "Réinitialiser la progression"
 msgid "Confirm Resetting Progress"
 msgstr "Confirmer la réinitialisation de la progression"
 
-#: ui/screens/end_screen/EndScreen.tscn:229
-#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
-msgid "Congratulations!"
-msgstr "Félicitations !"
+#: ui/screens/end_screen/EndScreen.tscn:300
+#: ui/screens/end_screen/EndScreen.tscn:313
+msgid "YOU MADE IT!"
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:236
+#: ui/screens/end_screen/EndScreen.tscn:343
 msgid ""
-"You completed Learn GDScript From Zero. You now have the basics you need to "
-"dive into game creation with the Godot game engine.\n"
-"\n"
-"If you're looking for a free series to keep learning the basics with us, you "
-"can move on to [url=https://www.gdquest.com/tutorial/godot/learning-paths/"
-"getting-started-in-2021/]Getting Started with Godot[/url]."
+"Not only did you learn the foundations of coding, you’re a big step closer "
+"to making your own games."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:363
+msgid "Don't stop here..."
 msgstr ""
-"Vous avez terminé Learn GDScript From Zero. Vous avez maintenant les bases "
-"nécessaires pour vous plonger dans la création de jeux avec le moteur de jeu "
-"Godot.\n"
-"\n"
-"Si vous cherchez une série gratuite pour continuer à apprendre les bases "
-"avec nous, vous pouvez passer à [url=https://www.gdquest.com/tutorial/godot/"
-"learning-paths/getting-started-in-2021/]Getting Started with Godot[/url]."
 
-#: ui/screens/end_screen/EndScreen.tscn:249
-msgid "Or level up faster by taking this shortcut"
-msgstr "Ou montez de niveau plus rapidement en prenant ce raccourci"
+#: ui/screens/end_screen/EndScreen.tscn:373
+msgid "The fun stuff starts now!"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:388
+msgid "There are 2 pathways learners traditionally take from here:"
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:256
+#: ui/screens/end_screen/EndScreen.tscn:402
+msgid "Following video tutorials"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:417
 msgid ""
-"There are loads of free game creation tutorials, but they don't form a clear "
-"path.\n"
-"\n"
-"Worse, most of them are like step-by-step recipes. But as you learned, you "
-"can't become a developer by just following recipes.\n"
-"\n"
-"Every project has unique challenges and requires [i]creative problem "
-"solving[/i]. You need to [i]think like a programmer[/i].\n"
-"\n"
-"Learning that on your own can take years."
+"They’re a great way to pick up specific game mechanics but they’re not as "
+"effective when you’re trying to learn new skills from the ground up."
 msgstr ""
-"Il existe de nombreux tutoriels gratuits sur la création de jeux, mais ils "
-"ne constituent pas un chemin clair.\n"
-"\n"
-"Pire encore, la plupart d'entre eux ressemblent à des recettes étape par "
-"étape. Or, comme vous l'avez appris, il ne suffit pas de suivre des recettes "
-"pour devenir développeur.\n"
-"\n"
-"Chaque projet présente des défis uniques et nécessite [i]une résolution "
-"créative des problèmes[/i]. Vous devez [i]penser comme un programmeur[/i].\n"
-"\n"
-"Apprendre cela tout seul peut prendre des années."
 
-#: ui/screens/end_screen/EndScreen.tscn:277
-msgid "Learn to Code From Zero, with Godot"
-msgstr "Apprendre à coder à partir de zéro, avec Godot"
+#: ui/screens/end_screen/EndScreen.tscn:449
+msgid "• There’s no clear learning path."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:464
+msgid "• Retention and skill acquisition is slow and limited."
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:284
+#: ui/screens/end_screen/EndScreen.tscn:480
 msgid ""
-"This app is the free part of our in-depth course, [url=https://gdquest."
-"mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
-"From Zero, with Godot[/b][/url].\n"
-"\n"
-"The course picks up right where this app ends to take you to the point where "
-"you can make [i]your[/i] game.\n"
-"\n"
-"It's the only course that'll truly teach you [i]how to become a game "
-"developer[/i] with Godot."
+"We make our fair share of [b][color=#ebc3ff][url=https://www.youtube.com/"
+"@Gdquest/videos]free tutorials[/url][/color][/b]. They will come in very "
+"handy once you start making games on your own. But to get started, we really "
+"recommend you learn how to think like a game developer using [b]"
+"[color=#ebc3ff][url=https://school.gdquest.com/godot-4-early-access]courses[/"
+"url][/color][/b]."
 msgstr ""
-"Cette application est la partie gratuite de notre cours approfondi, "
-"[url=https://gdquest.mavenseed.com/courses/learn-to-code-from-zero-with-"
-"godot][b]Learn to Code From Zero, with Godot[/b][/url].\n"
-"\n"
-"Le cours reprend là où cette application se termine pour vous amener au "
-"point où vous pouvez faire de [i]votre[/i] jeu.\n"
-"\n"
-"C'est le seul cours qui vous apprendra vraiment [i]comment devenir un "
-"développeur de jeux[/i] avec Godot."
 
-#: ui/screens/end_screen/EndScreen.tscn:308
-#: ui/screens/lesson/UIContentBlock.gd:70
-#: ui/screens/lesson/UIContentBlock.gd:134
-msgid "Learn More"
-msgstr "En savoir plus"
+#: ui/screens/end_screen/EndScreen.tscn:495
+msgid "Learning with courses"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:511
+msgid ""
+"Note that most available courses online are actually premium series of video "
+"tutorials. The problem of retaining information and acquiring real skills "
+"unfortunately still applies to them."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:527
+msgid ""
+"At GDQuest, we’re educators at heart. We believe in applied study and we "
+"believe it doesn’t have to be boring. When teaching is done correctly, most "
+"people highly enjoy the sensation of leveling up!\n"
+"\n"
+"That’s the reason we made this app. It is in fact part of our beginner "
+"course [b][color=#ebc3ff][url=https://school.gdquest.com/products/"
+"bundle_learn_gamedev_godot_4]Learn Gamedev From Zero with Godot[/url][/color]"
+"[/b]."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:565
+msgid "LEARN GAMEDEV WITH GODOT"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:710
+msgid "Now available"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:720
+msgid "for preorders"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:737
+msgid "Godot 4 courses!!"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:783
+msgid "Teaching gamedev in the classroom?"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:796
+msgid "Get in touch"
+msgstr ""
+
+#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
+msgid "Congratulations!"
+msgstr "Félicitations !"
 
 #: ui/screens/end_screen/SponsorlessEndScreen.tscn:203
 msgid ""
@@ -659,8 +678,8 @@ msgstr "Il s'agit d'un projet Open-Source !"
 msgid ""
 "Like Godot, this app and course is free and open-source. \n"
 "\n"
-"You can find the app's source code and contribute translations here: [url="
-"\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero "
+"You can find the app's source code and contribute translations here: "
+"[url=\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero "
 "(Github repository)[/url]."
 msgstr ""
 "Comme Godot, cette application et ce cours sont gratuits et open-source. \n"
@@ -669,6 +688,10 @@ msgstr ""
 "traductions ici : [url=\"https://github.com/GDQuest/learn-gdscript\"]Learn "
 "GDScript From Zero (Github repository)[/url]."
 
+#: ui/screens/end_screen/thumbnails/CourseThumbnail.tscn:42
+msgid "Early Access release: 2024/01/30"
+msgstr ""
+
 #: ui/screens/lesson/UIBaseQuiz.tscn:56
 msgid "[b]Question[/b]"
 msgstr "[b]Question[/b]"
@@ -693,6 +716,11 @@ msgstr "C'est juste !"
 msgid "Answers here"
 msgstr "Répondez ici"
 
+#: ui/screens/lesson/UIContentBlock.gd:70
+#: ui/screens/lesson/UIContentBlock.gd:134
+msgid "Learn More"
+msgstr "En savoir plus"
+
 #: ui/screens/lesson/UIContentBlock.tscn:47
 msgid "Placeholder heading"
 msgstr "Titre temporaire"
@@ -766,22 +794,91 @@ msgid "CONTINUE"
 msgstr "CONTINUER"
 
 #: ui/screens/welcome_screen/WelcomeScreen.gd:44
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:627
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:625
 msgid "START"
 msgstr "COMMENCER"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:645
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:643
 msgid "SELECT LESSON"
 msgstr "SÉLECTIONNER LA LEÇON"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:659
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:657
 msgid "OPTIONS"
 msgstr "OPTIONS"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:693
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:691
 msgid "QUIT"
 msgstr "QUITTER"
 
+#~ msgid ""
+#~ "You completed Learn GDScript From Zero. You now have the basics you need "
+#~ "to dive into game creation with the Godot game engine.\n"
+#~ "\n"
+#~ "If you're looking for a free series to keep learning the basics with us, "
+#~ "you can move on to [url=https://www.gdquest.com/tutorial/godot/learning-"
+#~ "paths/getting-started-in-2021/]Getting Started with Godot[/url]."
+#~ msgstr ""
+#~ "Vous avez terminé Learn GDScript From Zero. Vous avez maintenant les "
+#~ "bases nécessaires pour vous plonger dans la création de jeux avec le "
+#~ "moteur de jeu Godot.\n"
+#~ "\n"
+#~ "Si vous cherchez une série gratuite pour continuer à apprendre les bases "
+#~ "avec nous, vous pouvez passer à [url=https://www.gdquest.com/tutorial/"
+#~ "godot/learning-paths/getting-started-in-2021/]Getting Started with Godot[/"
+#~ "url]."
+
+#~ msgid "Or level up faster by taking this shortcut"
+#~ msgstr "Ou montez de niveau plus rapidement en prenant ce raccourci"
+
+#~ msgid ""
+#~ "There are loads of free game creation tutorials, but they don't form a "
+#~ "clear path.\n"
+#~ "\n"
+#~ "Worse, most of them are like step-by-step recipes. But as you learned, "
+#~ "you can't become a developer by just following recipes.\n"
+#~ "\n"
+#~ "Every project has unique challenges and requires [i]creative problem "
+#~ "solving[/i]. You need to [i]think like a programmer[/i].\n"
+#~ "\n"
+#~ "Learning that on your own can take years."
+#~ msgstr ""
+#~ "Il existe de nombreux tutoriels gratuits sur la création de jeux, mais "
+#~ "ils ne constituent pas un chemin clair.\n"
+#~ "\n"
+#~ "Pire encore, la plupart d'entre eux ressemblent à des recettes étape par "
+#~ "étape. Or, comme vous l'avez appris, il ne suffit pas de suivre des "
+#~ "recettes pour devenir développeur.\n"
+#~ "\n"
+#~ "Chaque projet présente des défis uniques et nécessite [i]une résolution "
+#~ "créative des problèmes[/i]. Vous devez [i]penser comme un programmeur[/"
+#~ "i].\n"
+#~ "\n"
+#~ "Apprendre cela tout seul peut prendre des années."
+
+#~ msgid "Learn to Code From Zero, with Godot"
+#~ msgstr "Apprendre à coder à partir de zéro, avec Godot"
+
+#~ msgid ""
+#~ "This app is the free part of our in-depth course, [url=https://gdquest."
+#~ "mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
+#~ "From Zero, with Godot[/b][/url].\n"
+#~ "\n"
+#~ "The course picks up right where this app ends to take you to the point "
+#~ "where you can make [i]your[/i] game.\n"
+#~ "\n"
+#~ "It's the only course that'll truly teach you [i]how to become a game "
+#~ "developer[/i] with Godot."
+#~ msgstr ""
+#~ "Cette application est la partie gratuite de notre cours approfondi, "
+#~ "[url=https://gdquest.mavenseed.com/courses/learn-to-code-from-zero-with-"
+#~ "godot][b]Learn to Code From Zero, with Godot[/b][/url].\n"
+#~ "\n"
+#~ "Le cours reprend là où cette application se termine pour vous amener au "
+#~ "point où vous pouvez faire de [i]votre[/i] jeu.\n"
+#~ "\n"
+#~ "C'est le seul cours qui vous apprendra vraiment [i]comment devenir un "
+#~ "développeur de jeux[/i] avec Godot."
+
 #~ msgid "Connected to the server."
 #~ msgstr "Connecté au serveur."
 
diff --git a/i18n/fr/classref_database.po b/i18n/fr/classref_database.po
index fd723615..4d2e8200 100644
--- a/i18n/fr/classref_database.po
+++ b/i18n/fr/classref_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-06-07 21:52+0000\n"
 "Last-Translator: EGuillemot <Elouen.Guillemot@gmail.com>\n"
 "Language-Team: French <https://hosted.weblate.org/projects/learn-gdscript-"
diff --git a/i18n/fr/error_database.po b/i18n/fr/error_database.po
index 57965b75..3e7300d8 100644
--- a/i18n/fr/error_database.po
+++ b/i18n/fr/error_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-06-07 21:52+0000\n"
 "Last-Translator: EGuillemot <Elouen.Guillemot@gmail.com>\n"
 "Language-Team: French <https://hosted.weblate.org/projects/learn-gdscript-"
diff --git a/i18n/fr/glossary_database.po b/i18n/fr/glossary_database.po
index 2974f3c1..2374e8cf 100644
--- a/i18n/fr/glossary_database.po
+++ b/i18n/fr/glossary_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-06-07 21:52+0000\n"
 "Last-Translator: EGuillemot <Elouen.Guillemot@gmail.com>\n"
 "Language-Team: French <https://hosted.weblate.org/projects/learn-gdscript-"
diff --git a/i18n/fr/lesson-1-what-code-is-like.po b/i18n/fr/lesson-1-what-code-is-like.po
index 1f8ecc07..6e13edc0 100644
--- a/i18n/fr/lesson-1-what-code-is-like.po
+++ b/i18n/fr/lesson-1-what-code-is-like.po
@@ -9,16 +9,16 @@ msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
 "POT-Creation-Date: 2023-10-06 07:34+0200\n"
-"PO-Revision-Date: 2023-10-06 07:39+0200\n"
+"PO-Revision-Date: 2023-12-05 15:37+0000\n"
 "Last-Translator: EGuillemot <Elouen.Guillemot@gmail.com>\n"
-"Language-Team: French <https://hosted.weblate.org/projects/learn-gdscript-"
-"from-zero/lesson-1-what-code-is-like/fr/>\n"
+"Language-Team: French <https://hosted.weblate.org/projects/"
+"learn-gdscript-from-zero/lesson-1-what-code-is-like/fr/>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Poedit 3.3.1\n"
+"X-Generator: Weblate 5.3-dev\n"
 "Generated-By: Babel 2.9.1\n"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:14
@@ -396,7 +396,7 @@ msgstr ""
 
 #: course/lesson-1-what-code-is-like/lesson.tres:312
 msgid "Is this for Godot 4?"
-msgstr ""
+msgstr "Est-ce fait pour Godot 4 ?"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:314
 msgid ""
@@ -404,6 +404,9 @@ msgid ""
 "While we initially designed this series for Godot 3, the foundations of "
 "GDScript are still the same in Godot 4."
 msgstr ""
+"Ce que vous apprendrez dans ce cours gratuit est entièrement compatible avec "
+"Godot 4. Bien que nous ayons initialement conçu cette série pour Godot 3, "
+"les fondements de GDScript restent les mêmes pour Godot 4."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:322
 msgid "Programming is a skill"
diff --git a/i18n/fr/lesson-11-time-delta.po b/i18n/fr/lesson-11-time-delta.po
index d24ee93e..6f2c38b6 100644
--- a/i18n/fr/lesson-11-time-delta.po
+++ b/i18n/fr/lesson-11-time-delta.po
@@ -8,17 +8,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-06-07 21:52+0000\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
+"PO-Revision-Date: 2023-12-09 20:09+0100\n"
 "Last-Translator: EGuillemot <Elouen.Guillemot@gmail.com>\n"
-"Language-Team: French <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-11-time-delta/fr/>\n"
+"Language-Team: French <https://hosted.weblate.org/projects/learn-gdscript-"
+"from-zero/lesson-11-time-delta/fr/>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
+"X-Generator: Poedit 3.3.1\n"
 "Generated-By: Babel 2.9.1\n"
 
 #: course/lesson-11-time-delta/lesson.tres:14
@@ -147,9 +147,6 @@ msgid ""
 "Delta represents a time difference. It's the time passed since the previous "
 "frame, in seconds.\n"
 "\n"
-"The [code]delta[/code] parameter tells us how long it took for Godot to "
-"complete the [b]previous frame[/b].\n"
-"\n"
 "We can use it to ensure that the changes between frames don't make the "
 "game's behavior unreliable.\n"
 "\n"
@@ -172,9 +169,6 @@ msgstr ""
 "Le mot « delta » représente une différence de temps. C'est le temps écoulé "
 "depuis l'image précédente, en secondes.\n"
 "\n"
-"Le paramètre [code]delta[/code] nous indique le temps qu'il a fallu à Godot "
-"pour terminer [b]l'image précédente[/b].\n"
-"\n"
 "Nous pouvons l'utiliser pour nous assurer que les variations entre les "
 "images ne rendent pas le comportement du jeu peu fiable.\n"
 "\n"
@@ -185,11 +179,11 @@ msgstr ""
 "de l'ordinateur. Le delta permet de rendre l'expérience de jeu cohérente "
 "pour tout le monde."
 
-#: course/lesson-11-time-delta/lesson.tres:115
+#: course/lesson-11-time-delta/lesson.tres:113
 msgid "What do we know about delta?"
 msgstr "Que savons-nous de delta ?"
 
-#: course/lesson-11-time-delta/lesson.tres:118
+#: course/lesson-11-time-delta/lesson.tres:116
 msgid ""
 "[code]delta[/code] is the time it took Godot to complete the previous frame "
 "in seconds.\n"
@@ -206,26 +200,26 @@ msgstr ""
 "Il varie à chaque image car Godot a besoin de traiter plus ou moins chaque "
 "image."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's a value in seconds."
 msgstr "C'est une valeur en secondes."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It varies each frame."
 msgstr "Il varie à chaque image."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's the time it took Godot to complete the previous frame."
 msgstr "C'est le temps qu'il a fallu à Godot pour terminer l'image précédente."
 
-#: course/lesson-11-time-delta/lesson.tres:131
+#: course/lesson-11-time-delta/lesson.tres:129
 msgid "Multiplying by delta"
 msgstr "Multiplication par delta"
 
-#: course/lesson-11-time-delta/lesson.tres:133
+#: course/lesson-11-time-delta/lesson.tres:131
 msgid ""
 "The [code]delta[/code] you get in [code]_process()[/code] is a time "
 "difference in seconds. It will generally be a tiny decimal number.\n"
@@ -240,7 +234,7 @@ msgstr ""
 "Pour appliquer le [code]delta[/code], vous devez [i]multiplier[/i] vos "
 "valeurs de vitesse par celui-ci."
 
-#: course/lesson-11-time-delta/lesson.tres:155
+#: course/lesson-11-time-delta/lesson.tres:153
 msgid ""
 "When multiplying by [code]delta[/code], you make motion [i]time-dependent[/"
 "i] rather than [i]frame-dependent[/i].\n"
@@ -252,11 +246,11 @@ msgstr ""
 "\n"
 "C'est essentiel pour rendre votre jeu cohérent et équitable."
 
-#: course/lesson-11-time-delta/lesson.tres:165
+#: course/lesson-11-time-delta/lesson.tres:163
 msgid "Why do we use the number 3.0 in this example?"
 msgstr "Pourquoi utilisons-nous le nombre 3.0 dans cet exemple ?"
 
-#: course/lesson-11-time-delta/lesson.tres:167
+#: course/lesson-11-time-delta/lesson.tres:165
 msgid ""
 "At the top of the lesson, we made the robot rotate a fixed amount every "
 "frame: [code]0.05[/code] radians.\n"
@@ -306,11 +300,11 @@ msgstr ""
 "par comprendre lorsque vous implémenterez la vitesse, l'accélération et le "
 "mouvement dans vos projets de jeu."
 
-#: course/lesson-11-time-delta/lesson.tres:187
+#: course/lesson-11-time-delta/lesson.tres:185
 msgid "Why the time between frames matters"
 msgstr "Pourquoi le temps entre les images est important"
 
-#: course/lesson-11-time-delta/lesson.tres:189
+#: course/lesson-11-time-delta/lesson.tres:187
 msgid ""
 "The time it takes to display a new frame varies.\n"
 "\n"
@@ -343,7 +337,7 @@ msgstr ""
 "Le robot du bas se déplacera [i]différemment pour tout le monde[/i] !"
 
 # frame times
-#: course/lesson-11-time-delta/lesson.tres:217
+#: course/lesson-11-time-delta/lesson.tres:215
 msgid ""
 "Multiplying time-sensitive values by [code]delta[/code] makes them [b]time-"
 "dependent[/b] rather than [b]frame-dependent[/b].\n"
@@ -363,15 +357,15 @@ msgstr ""
 "et pendant le jeu. Pour cette raison, le mouvement sera différent pour "
 "chaque joueur, ce qui rende le jeu incohérent et désordonné."
 
-#: course/lesson-11-time-delta/lesson.tres:229
+#: course/lesson-11-time-delta/lesson.tres:227
 msgid "What does this mean?"
 msgstr "Qu’est-ce que cela signifie ?"
 
-#: course/lesson-11-time-delta/lesson.tres:230
+#: course/lesson-11-time-delta/lesson.tres:228
 msgid "[code]rotation_speed * delta[/code]"
 msgstr "[code]rotation_speed * delta[/code]"
 
-#: course/lesson-11-time-delta/lesson.tres:232
+#: course/lesson-11-time-delta/lesson.tres:230
 msgid ""
 "The [code]*[/code] symbol means we're multiplying [code]rotation_speed[/"
 "code] by [code]delta[/code] time."
@@ -379,34 +373,34 @@ msgstr ""
 "Le symbole [code]*[/code] signifie que nous multiplions "
 "[code]rotation_speed[/code] par le temps [code]delta[/code]."
 
-#: course/lesson-11-time-delta/lesson.tres:233
-#: course/lesson-11-time-delta/lesson.tres:234
+#: course/lesson-11-time-delta/lesson.tres:231
+#: course/lesson-11-time-delta/lesson.tres:232
 msgid "We're multiplying rotation_speed by delta."
 msgstr "Que nous multiplions rotation_speed par delta."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're dividing delta by rotation_speed."
 msgstr "Que nous divisons delta par rotation_speed."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're adding rotation_speed to delta."
 msgstr "Que nous ajoutons rotation_speed à delta."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're subtracting delta from rotation_speed."
 msgstr "Que nous soustrayons delta de rotation_speed."
 
-#: course/lesson-11-time-delta/lesson.tres:243
+#: course/lesson-11-time-delta/lesson.tres:241
 msgid "In the next practice, we'll use delta to make rotating time-dependent."
 msgstr ""
 "Dans la pratique suivante, nous utiliserons delta pour rendre la rotation "
 "dépendante du temps."
 
-#: course/lesson-11-time-delta/lesson.tres:251
+#: course/lesson-11-time-delta/lesson.tres:249
 msgid "Rotating Using Delta"
 msgstr "Rotation à l'aide de delta"
 
-#: course/lesson-11-time-delta/lesson.tres:252
+#: course/lesson-11-time-delta/lesson.tres:250
 msgid ""
 "At the moment, the rotation of the robot is frame-dependent.\n"
 "\n"
@@ -421,11 +415,11 @@ msgstr ""
 "\n"
 "Le robot doit tourner de [code]2[/code] radians par seconde."
 
-#: course/lesson-11-time-delta/lesson.tres:271
+#: course/lesson-11-time-delta/lesson.tres:269
 msgid "Moving in a Circle Using Delta"
 msgstr "Se déplacer en cercle en utilisant delta"
 
-#: course/lesson-11-time-delta/lesson.tres:272
+#: course/lesson-11-time-delta/lesson.tres:270
 msgid ""
 "In this practice, make the robot move in a smooth circle using delta.\n"
 "\n"
@@ -447,6 +441,6 @@ msgstr ""
 "appelez les fonctions. Si vous définissez des variables supplémentaires, "
 "nous ne pourrons pas vérifier votre pratique."
 
-#: course/lesson-11-time-delta/lesson.tres:290
+#: course/lesson-11-time-delta/lesson.tres:288
 msgid "Time Delta"
 msgstr "Delta de Temps"
diff --git a/i18n/fr/lesson-15-modulo.po b/i18n/fr/lesson-15-modulo.po
deleted file mode 100644
index 28aabc09..00000000
--- a/i18n/fr/lesson-15-modulo.po
+++ /dev/null
@@ -1,357 +0,0 @@
-# Translations template for Learn GDScript From Zero.
-# Copyright (C) 2022 GDQuest
-# This file is distributed under the same license as the Learn GDScript From
-# Zero project.
-# Automatically generated, 2022.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Learn GDScript From Zero\n"
-"Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-06-08 15:10+0000\n"
-"Last-Translator: EGuillemot <Elouen.Guillemot@gmail.com>\n"
-"Language-Team: French <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-15-modulo/fr/>\n"
-"Language: fr\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
-
-#: course/lesson-15-modulo/lesson.tres:14
-msgid ""
-"The modulo operation ([code]%[/code]) calculates the remainder of a whole "
-"number division.\n"
-"\n"
-"For example, the modulo of [code]5[/code] by [code]3[/code] ([code]5 % 3[/"
-"code]) is [code]2[/code].\n"
-"\n"
-"We typically use this operation to tell if a number is odd or even or to "
-"produce a random number within a particular range (like a dice roll).\n"
-"\n"
-"Play around with the modulo widget on the right to see how modulo works "
-"visually."
-msgstr ""
-"L'opération modulo ([code]%[/code]) calcule le reste d'une division d'un "
-"nombre entier.\n"
-"\n"
-"Par exemple, le modulo de [code]5[/code] par [code]3[/code] ([code]5 % 3[/"
-"code]) est [code]2[/code].\n"
-"\n"
-"Nous utilisons généralement cette opération pour savoir si un nombre est "
-"pair ou impair ou pour produire un nombre aléatoire dans une plage "
-"particulière (comme un lancer de dé).\n"
-"\n"
-"Jouez avec le widget de modulo sur la droite pour voir comment fonctionne le "
-"modulo à niveau visuel."
-
-#: course/lesson-15-modulo/lesson.tres:28
-msgid "What's the result of this modulo operation?"
-msgstr "Quel est le résultat de cette opération modulo ?"
-
-#: course/lesson-15-modulo/lesson.tres:29
-msgid "[code]11 % 4[/code]"
-msgstr "[code]11 % 4[/code]"
-
-#: course/lesson-15-modulo/lesson.tres:31
-msgid ""
-"[code]11[/code] divided by [code]4[/code] is [code]2[/code], and the "
-"[b]remainder[/b] of the division is [code]3[/code].\n"
-"\n"
-"So [code]11 % 4[/code] is [code]3[/code]."
-msgstr ""
-"[code]11[/code] divisé par [code]4[/code] est [code]2[/code], et le "
-"[b]reste[/b] de la division est [code]3[/code].\n"
-"\n"
-"Donc [code]11 % 4[/code] est [code]3[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:34
-#: course/lesson-15-modulo/lesson.tres:35
-msgid "3"
-msgstr "3"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "2"
-msgstr "2"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "7"
-msgstr "7"
-
-#  pas sur les nombres décimaux.#: course/lesson-15-modulo/lesson.tres:44
-#: course/lesson-15-modulo/lesson.tres:44
-msgid ""
-"The modulo operation only works on [b]whole numbers[/b]; Not decimal "
-"numbers.\n"
-"\n"
-"Also, just like in regular divisions, the divisor can't be zero.\n"
-"\n"
-"All three examples below will cause an error in your code."
-msgstr ""
-"L'opération modulo fonctionne seulement sur les [b]nombres entiers[/b] ; pas "
-"sur les nombres décimaux.\n"
-"\n"
-"De plus, tout comme dans les divisions ordinaires, le diviseur ne peut pas "
-"être zéro.\n"
-"\n"
-"Les trois exemples ci-dessous provoqueront une erreur dans votre code."
-
-#: course/lesson-15-modulo/lesson.tres:66
-msgid "Three ways we use the modulo operation"
-msgstr "Trois façons d'utiliser l'opération modulo"
-
-#: course/lesson-15-modulo/lesson.tres:68
-msgid ""
-"The modulo operation has important uses in programming, like making a number "
-"cycle.\n"
-"\n"
-"Take a traffic light, for example."
-msgstr ""
-"L'opération modulo a des utilisations importantes dans la programmation, "
-"comme pour faire un cycle de nombres.\n"
-"\n"
-"Prenez comme exemple un feu de signalisation."
-
-#: course/lesson-15-modulo/lesson.tres:90
-msgid ""
-"We use the number [code]light_index[/code] to represent the traffic light's "
-"current state.\n"
-"\n"
-"The lights always cycle in the same way: first, we have the red light, then "
-"the yellow, then the green.\n"
-"\n"
-"To represent that cycle, you can periodically add one to the number and use "
-"the modulo operator to wrap back to [code]0[/code].\n"
-"\n"
-"Instead, you could use a condition; In this case, we use the modulo as a "
-"shortcut."
-msgstr ""
-"Nous utilisons le nombre [code]light_index[/code] pour représenter l'état "
-"actuel du feu de signalisation.\n"
-"\n"
-"Les lumières s'allument toujours de la même manière : nous avons d'abord le "
-"feu rouge, puis le jaune, puis le vert.\n"
-"\n"
-"Pour représenter ce cycle, vous pouvez périodiquement ajouter un au nombre "
-"et utiliser l'opérateur modulo pour revenir à [code]0[/code].\n"
-"\n"
-"Au lieu de cela, vous pourriez utiliser une condition ; dans ce cas-ci, nous "
-"utilisons le modulo comme raccourci."
-
-#: course/lesson-15-modulo/lesson.tres:114
-msgid "Why do we start from zero?"
-msgstr "Pourquoi commençons-nous à zéro ?"
-
-#: course/lesson-15-modulo/lesson.tres:116
-msgid ""
-"In computer code, we very often count from [code]0[/code].\n"
-"\n"
-"Every number translates to a precise combination of bits in the machine, "
-"starting from [code]0[/code].\n"
-"\n"
-"We don't want to waste any number, and as the first number the computer "
-"knows about is [code]0[/code], we start counting from [code]0[/code]."
-msgstr ""
-"En code informatique, on compte très souvent à partir de [code]0[/code].\n"
-"\n"
-"Chaque nombre se traduit par une combinaison précise de bits dans la "
-"machine, partant de [code]0[/code].\n"
-"\n"
-"Nous ne voulons gaspiller aucun nombre, et comme le premier nombre connu par "
-"l'ordinateur est [code]0[/code], nous commençons à compter à partir de "
-"[code]0[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:128
-msgid "Using modulo to find even and odd numbers"
-msgstr "Utilisation du modulo pour trouver des nombres pairs et impairs"
-
-#: course/lesson-15-modulo/lesson.tres:130
-msgid ""
-"We can also use a modulo to check if a number is even or odd. If we divide a "
-"number by [code]2[/code] and there's no remainder, then the number is "
-"[b]even[/b]."
-msgstr ""
-"Nous pouvons également utiliser un modulo pour vérifier si un nombre est "
-"pair ou impair. Si nous divisons un nombre par [code]2[/code] et qu'il n'y a "
-"pas de reste, alors le nombre est [b]pair[/b]."
-
-#: course/lesson-15-modulo/lesson.tres:150
-msgid ""
-"Notice how the modulo can be larger than the number it affects. For example, "
-"[code]1 % 2[/code] gives you [code]1[/code]. That's because [code]1[/code] "
-"divided by [code]2[/code] equals [code]0[/code], and the remainder is "
-"[code]1[/code].\n"
-"\n"
-"Like with divisions, the only case you can't use modulo is with a divisor of "
-"[code]0[/code]."
-msgstr ""
-"Remarquez comment le modulo peut être supérieur au nombre qu'il affecte. Par "
-"exemple, [code]1 % 2[/code] donne [code]1[/code]. C'est parce que [code]1[/"
-"code] divisé par [code]2[/code] est égal à [code]0[/code], et le reste est "
-"[code]1[/code].\n"
-"\n"
-"Comme pour les divisions, le seul cas où vous ne pouvez pas utiliser le "
-"modulo est avec un diviseur de [code]0[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:170
-msgid "Calculating a random number within a range"
-msgstr "Calcul d'un nombre aléatoire dans une plage"
-
-#: course/lesson-15-modulo/lesson.tres:172
-msgid ""
-"We can use the modulo to simulate dice rolls. To do so, we generate a large "
-"random number and use the modulo operator to limit the number's range.\n"
-"\n"
-"To generate a random whole number, you can call the [code]randi()[/code] "
-"function. The name stands for random integer.\n"
-"\n"
-"The number the function generates can be huge: roughly up to 2 billion on an "
-"Android device and around 10^18 on a 64-bit computer.\n"
-"\n"
-"You can use the modulo operation to limit the random number's range."
-msgstr ""
-"Nous pouvons utiliser le modulo pour simuler des lancers de dés. Pour ce "
-"faire, nous générons un grand nombre aléatoire et utilisons l'opérateur "
-"modulo pour limiter la plage du nombre.\n"
-"\n"
-"Pour générer un nombre entier aléatoire, vous pouvez appeler la fonction "
-"[code]randi()[/code]. Ce nom vient de la abréviation du terme en anglais [i]"
-"random integer[/i] qui signifie « nombre entier aléatoire ».\n"
-"\n"
-"Le nombre que la fonction génère peut être énorme : en gros jusqu'à 2 "
-"milliards sur un appareil Android et environ 10^18 sur un ordinateur 64 bits."
-"\n"
-"\n"
-"Vous pouvez utiliser l'opération modulo pour limiter la plage du nombre "
-"aléatoire."
-
-# chaque niveau impair 
-#: course/lesson-15-modulo/lesson.tres:198
-msgid ""
-"The result is also random because we use the modulo operation on a random "
-"number.\n"
-"\n"
-"In the following practices, you'll use a modulo to advance traffic lights, "
-"add maximum health to the robot on every odd level, and learn how to code "
-"dice rolls."
-msgstr ""
-"Le résultat est également aléatoire car nous utilisons l'opération modulo "
-"sur un nombre aléatoire.\n"
-"\n"
-"Dans les exercices suivantes, vous utiliserez un modulo pour gérer des feux "
-"de signalisation, ajouter de la santé maximale au robot à chaque niveau "
-"impair et apprendre à coder des lancers de dés."
-
-#: course/lesson-15-modulo/lesson.tres:208
-msgid "Advancing Traffic Lights"
-msgstr "Gérer les feux de signalisation"
-
-# ne devrait jamais être que
-#: course/lesson-15-modulo/lesson.tres:209
-msgid ""
-"Add to the [code]advance_traffic_light()[/code] function so the "
-"[code]light_index[/code] variable increments by one, then wraps back to "
-"[code]0[/code] if it gets too high.\n"
-"\n"
-"Use the modulo operator [code]%[/code] to make sure the value of "
-"[code]light_index[/code] wraps back to [code]0[/code].\n"
-"\n"
-"The value of [code]light_index[/code] should only ever be [code]0[/code], "
-"[code]1[/code], or [code]2[/code]."
-msgstr ""
-"Ajoutez du code à la fonction [code]advance_traffic_light()[/code] pour que "
-"la variable [code]light_index[/code] s'incrémente de un, puis revienne à "
-"[code]0[/code] si elle monte trop.\n"
-"\n"
-"Utilisez l'opérateur modulo [code]%[/code] pour vous assurer que la valeur "
-"de [code]light_index[/code] revient à [code]0[/code].\n"
-"\n"
-"La valeur de [code]light_index[/code] ne peut être que [code]0[/code], "
-"[code]1[/code] ou [code]2[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:223
-msgid ""
-"Learn how to use modulo to wrap a number back to zero using traffic lights."
-msgstr ""
-"Apprenez à utiliser le modulo pour ramener un nombre à zéro à l'aide de feux "
-"de signalisation."
-
-#: course/lesson-15-modulo/lesson.tres:228
-msgid "Rolling Dice"
-msgstr "Lancer de dés"
-
-#: course/lesson-15-modulo/lesson.tres:229
-msgid ""
-"Our dice rolling function doesn't work! Right now, it always gives the "
-"result of how many sides the dice has: 20.\n"
-"\n"
-"Use [code]randi()[/code] to generate a random number and the modulo "
-"operation [code]%[/code]. \n"
-"\n"
-"Using the [code]return[/code] keyword inside the function, return a random "
-"number between [code]1[/code] and [code]sides[/code]."
-msgstr ""
-"Notre fonction de lancement de dés ne fonctionne pas ! En ce moment, elle "
-"donne toujours le résultat du nombre de faces du dé : 20.\n"
-"\n"
-"Utilisez [code]randi()[/code] pour générer un nombre aléatoire et "
-"l'opération modulo [code]%[/code].\n"
-"\n"
-"En utilisant le mot-clé [code]return[/code] dans la fonction, renvoyez un "
-"nombre aléatoire entre [code]1[/code] et [code]sides[/code] (le nombre de "
-"côtés)."
-
-#: course/lesson-15-modulo/lesson.tres:243
-msgid ""
-"Whether in a board game or video game, getting a random number is always "
-"useful. Here, we create a function that simulates a dice roll."
-msgstr ""
-"Que ce soit dans un jeu de société ou un jeu vidéo, obtenir un nombre "
-"aléatoire est toujours utile. Ici, nous créons une fonction qui simule un "
-"lancer de dés."
-
-#: course/lesson-15-modulo/lesson.tres:248
-msgid "Bonus Health Every Other Level"
-msgstr "Bonus de santé tous les deux niveaux"
-
-#: course/lesson-15-modulo/lesson.tres:249
-msgid ""
-"Change the [code]level_up()[/code] function so it does the following:\n"
-"\n"
-"1) Increment [code]level[/code] by [code]1[/code]\n"
-"2) Increase [code]max_health[/code] by [code]5[/code]\n"
-"3) If [code]level[/code] is [b]even[/b], increase [code]max_health[/code] by "
-"an additional [code]5[/code]\n"
-"\n"
-"The robot starts with [code]100[/code] maximum health. It will gain three "
-"levels when you run the code. At level 4, the robot should have [code]125[/"
-"code] maximum health."
-msgstr ""
-"Modifiez la fonction [code]level_up()[/code] afin qu'elle fasse ce qui "
-"suit :\n"
-"\n"
-"1) Incrémenter le [code]level[/code] de [code]1[/code]\n"
-"2) Augmenter la [code]max_health[/code] de [code]5[/code]\n"
-"3) Si le [code]level[/code] est [b]pair[/b], augmenter la [code]max_health[/"
-"code] de [code]5[/code] points supplémentaires\n"
-"\n"
-"Le robot commence avec [code]100[/code] de santé maximale. Il gagnera trois "
-"niveaux lorsque vous exécuterez le code. Au niveau 4, le robot devrait avoir "
-"[code]125[/code] de santé maximale."
-
-# à chaque niveau pair
-#: course/lesson-15-modulo/lesson.tres:265
-msgid ""
-"There are other ways to increase maximum health. You could use a modulo to "
-"give a bonus every even level. Learn how here!"
-msgstr ""
-"Il existe d'autres façons d'augmenter la santé maximale. Vous pourriez "
-"utiliser un modulo pour donner un bonus à chaque niveau pair. Apprenez "
-"comment le faire ici !"
-
-#: course/lesson-15-modulo/lesson.tres:269
-msgid "Modulo"
-msgstr "Modulo"
diff --git a/i18n/fr/lesson-3-standing-on-shoulders-of-giants.po b/i18n/fr/lesson-3-standing-on-shoulders-of-giants.po
index e5abcd5d..448fe454 100644
--- a/i18n/fr/lesson-3-standing-on-shoulders-of-giants.po
+++ b/i18n/fr/lesson-3-standing-on-shoulders-of-giants.po
@@ -9,16 +9,16 @@ msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
 "POT-Creation-Date: 2023-10-06 07:34+0200\n"
-"PO-Revision-Date: 2023-06-07 21:52+0000\n"
+"PO-Revision-Date: 2023-12-05 15:37+0000\n"
 "Last-Translator: EGuillemot <Elouen.Guillemot@gmail.com>\n"
-"Language-Team: French <https://hosted.weblate.org/projects/learn-gdscript-"
-"from-zero/lesson-3-standing-on-shoulders-of-giants/fr/>\n"
+"Language-Team: French <https://hosted.weblate.org/projects/"
+"learn-gdscript-from-zero/lesson-3-standing-on-shoulders-of-giants/fr/>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
+"X-Generator: Weblate 5.3-dev\n"
 "Generated-By: Babel 2.9.1\n"
 "X-Poedit-Bookmarks: -1,-1,-1,-1,4,-1,-1,-1,-1,-1\n"
 
@@ -336,7 +336,6 @@ msgstr ""
 
 #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:186
 #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:187
-#, fuzzy
 msgid "It calls the function named \"show\"."
 msgstr "Il appelle la fonction nommée « show »."
 
diff --git a/i18n/fr/lesson-4-drawing-a-rectangle.po b/i18n/fr/lesson-4-drawing-a-rectangle.po
index 5679597d..0718a7ec 100644
--- a/i18n/fr/lesson-4-drawing-a-rectangle.po
+++ b/i18n/fr/lesson-4-drawing-a-rectangle.po
@@ -9,16 +9,16 @@ msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
 "POT-Creation-Date: 2023-10-06 07:34+0200\n"
-"PO-Revision-Date: 2023-06-07 21:52+0000\n"
+"PO-Revision-Date: 2023-10-06 13:28+0000\n"
 "Last-Translator: EGuillemot <Elouen.Guillemot@gmail.com>\n"
-"Language-Team: French <https://hosted.weblate.org/projects/learn-gdscript-"
-"from-zero/lesson-4-drawing-a-rectangle/fr/>\n"
+"Language-Team: French <https://hosted.weblate.org/projects/"
+"learn-gdscript-from-zero/lesson-4-drawing-a-rectangle/fr/>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
+"X-Generator: Weblate 5.1-dev\n"
 "Generated-By: Babel 2.9.1\n"
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:14
@@ -94,7 +94,7 @@ msgstr ""
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:76
 msgid "Turning left and right"
-msgstr ""
+msgstr "Tourner à droite et à gauche"
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:78
 msgid ""
@@ -173,7 +173,7 @@ msgstr "30"
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:140
 msgid "The turtle uses code made specifically for this app!"
-msgstr ""
+msgstr "La tortue utilise du code fait spécifiquement pour cette app !"
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:142
 msgid ""
@@ -186,12 +186,22 @@ msgid ""
 "learned the foundations, you'll see they make it faster and easier to learn "
 "Godot functions."
 msgstr ""
+"La tortue est un petit outil d'apprentissage fait sur-mesure pour ce cours, "
+"basé sur une méthodologie éprouvée d'apprentissage du code. Elle est conçue "
+"pour vous apprendre à utiliser et créer des fonctions.\n"
+"\n"
+"Ne soyez donc pas surpris si écrire du code comme [code]turn_left()[/code] "
+"dans l'éditeur Godot ne fonctionne pas ! Et ne vous inquiétez pas, une fois "
+"que vous aurez appris les bases, vous verrez qu'elles rendent "
+"l'apprentissage des fonctions Godot plus rapide et plus facile."
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:154
 msgid ""
 "Let's move on to practice! You'll get to play with the turtle functions to "
 "draw shapes."
 msgstr ""
+"Passons à la pratique ! Vous allez pouvoir jouer avec les fonctions de la "
+"tortue pour dessiner des formes."
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:162
 msgid "Drawing a Corner"
diff --git a/i18n/fr/lesson-7-member-variables.po b/i18n/fr/lesson-7-member-variables.po
index 156a46eb..c078dcf2 100644
--- a/i18n/fr/lesson-7-member-variables.po
+++ b/i18n/fr/lesson-7-member-variables.po
@@ -8,17 +8,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-06-07 21:52+0000\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
+"PO-Revision-Date: 2023-12-09 20:10+0100\n"
 "Last-Translator: EGuillemot <Elouen.Guillemot@gmail.com>\n"
-"Language-Team: French <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-7-member-variables/fr/>\n"
+"Language-Team: French <https://hosted.weblate.org/projects/learn-gdscript-"
+"from-zero/lesson-7-member-variables/fr/>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
+"X-Generator: Poedit 3.3.1\n"
 "Generated-By: Babel 2.9.1\n"
 
 #: course/lesson-7-member-variables/lesson.tres:14
@@ -228,8 +228,8 @@ msgstr "Dans les jeux, l'axe Y est positif en descendant"
 #: course/lesson-7-member-variables/lesson.tres:172
 msgid ""
 "Note that in games, assuming your character's position starts at (0, 0), the "
-"code above moves the entity [code]180[/code] pixels to the right and "
-"[code]120[/code] pixels down.\n"
+"code above moves the entity [code]200[/code] pixels to the right and "
+"[code]250[/code] pixels down.\n"
 "\n"
 "In math, the y-axis is generally positive going up by convention.\n"
 "\n"
@@ -364,8 +364,8 @@ msgstr ""
 "\n"
 "Dans les prochaines leçons, vous créerez vos propres variables et "
 "effectuerez des opérations sur elles pour ajouter ou supprimer du "
-"[code]score[/code], de la [code]health[/code] (santé), ou ce que vous voulez."
-"\n"
+"[code]score[/code], de la [code]health[/code] (santé), ou ce que vous "
+"voulez.\n"
 "\n"
 "Pour l'instant, mettons en pratique nos connaissances sur l'accès aux "
 "variables."
diff --git a/i18n/it/application.po b/i18n/it/application.po
index 4b806301..823f40c2 100644
--- a/i18n/it/application.po
+++ b/i18n/it/application.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-05-17 09:52+0000\n"
 "Last-Translator: Riccardo Santangelo <s.burns@live.it>\n"
 "Language-Team: Italian <https://hosted.weblate.org/projects/learn-gdscript-"
@@ -544,86 +544,107 @@ msgstr "Azzera Progresso"
 msgid "Confirm Resetting Progress"
 msgstr "Conferma Azzeramento Progresso"
 
-#: ui/screens/end_screen/EndScreen.tscn:229
-#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
-msgid "Congratulations!"
-msgstr "Congratulazioni!"
+#: ui/screens/end_screen/EndScreen.tscn:300
+#: ui/screens/end_screen/EndScreen.tscn:313
+msgid "YOU MADE IT!"
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:236
+#: ui/screens/end_screen/EndScreen.tscn:343
 msgid ""
-"You completed Learn GDScript From Zero. You now have the basics you need to "
-"dive into game creation with the Godot game engine.\n"
-"\n"
-"If you're looking for a free series to keep learning the basics with us, you "
-"can move on to [url=https://www.gdquest.com/tutorial/godot/learning-paths/"
-"getting-started-in-2021/]Getting Started with Godot[/url]."
+"Not only did you learn the foundations of coding, you’re a big step closer "
+"to making your own games."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:363
+msgid "Don't stop here..."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:373
+msgid "The fun stuff starts now!"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:388
+msgid "There are 2 pathways learners traditionally take from here:"
 msgstr ""
-"Hai completato Learn GDScript From Zero. Ora possiedi le basi per immergerti "
-"nella creazione di giochi con il Godot game engine.\n"
-"\n"
-"Se stai cercando una serie gratuita per continuare ad imparare le basi con "
-"noi, puoi continuare su [url=https://www.gdquest.com/tutorial/godot/learning-"
-"paths/getting-started-in-2021/]Getting Started with Godot[/url]."
 
-#: ui/screens/end_screen/EndScreen.tscn:249
-msgid "Or level up faster by taking this shortcut"
-msgstr "O avanza più velocemente prendendo questa scorciatoia"
+#: ui/screens/end_screen/EndScreen.tscn:402
+msgid "Following video tutorials"
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:256
+#: ui/screens/end_screen/EndScreen.tscn:417
 msgid ""
-"There are loads of free game creation tutorials, but they don't form a clear "
-"path.\n"
-"\n"
-"Worse, most of them are like step-by-step recipes. But as you learned, you "
-"can't become a developer by just following recipes.\n"
-"\n"
-"Every project has unique challenges and requires [i]creative problem "
-"solving[/i]. You need to [i]think like a programmer[/i].\n"
-"\n"
-"Learning that on your own can take years."
+"They’re a great way to pick up specific game mechanics but they’re not as "
+"effective when you’re trying to learn new skills from the ground up."
 msgstr ""
-"Ci sono tantissimi tutorial gratuiti sulla creazione di videogiochi, ma non "
-"formano un percorso ben definito.\n"
-"\n"
-"Anzi peggio, la maggior parte sono come ricette passo-passo. Ma come sai, "
-"non puoi diventare uno sviluppatore soltanto seguendo ricette.\n"
-"\n"
-"Ogni progetto ha le sue sfide uniche che richiedono [i]soluzioni creative[/"
-"i]. Devi [i]pensare come un programmatore[/i].\n"
-"\n"
-"Sapendo che il tuo progetto può impiegare anni di sviluppo."
 
-#: ui/screens/end_screen/EndScreen.tscn:277
-msgid "Learn to Code From Zero, with Godot"
-msgstr "Impara a Programmare Da Zero, con Godot"
+#: ui/screens/end_screen/EndScreen.tscn:449
+msgid "• There’s no clear learning path."
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:284
+#: ui/screens/end_screen/EndScreen.tscn:464
+msgid "• Retention and skill acquisition is slow and limited."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:480
 msgid ""
-"This app is the free part of our in-depth course, [url=https://gdquest."
-"mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
-"From Zero, with Godot[/b][/url].\n"
-"\n"
-"The course picks up right where this app ends to take you to the point where "
-"you can make [i]your[/i] game.\n"
-"\n"
-"It's the only course that'll truly teach you [i]how to become a game "
-"developer[/i] with Godot."
+"We make our fair share of [b][color=#ebc3ff][url=https://www.youtube.com/"
+"@Gdquest/videos]free tutorials[/url][/color][/b]. They will come in very "
+"handy once you start making games on your own. But to get started, we really "
+"recommend you learn how to think like a game developer using [b]"
+"[color=#ebc3ff][url=https://school.gdquest.com/godot-4-early-access]courses[/"
+"url][/color][/b]."
 msgstr ""
-"Questa app è la parte gratuita del nostro corso avanzato, [url=https://"
-"gdquest.mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Impara a "
-"Programmare Da Zero, con Godot[/b][/url].\n"
-"\n"
-"Il corso continua da dove questa applicazione finisce per aiutarti a "
-"raggiungere le capacità per realizzare il [i]tuo[/i] gioco.\n"
-"\n"
-"Questo è l'unico corso che ti insegnerà veramente [i]come diventare uno "
-"sviluppatore di videogiochi[/i] con Godot."
 
-#: ui/screens/end_screen/EndScreen.tscn:308
-#: ui/screens/lesson/UIContentBlock.gd:70
-#: ui/screens/lesson/UIContentBlock.gd:134
-msgid "Learn More"
-msgstr "Impara Di Più"
+#: ui/screens/end_screen/EndScreen.tscn:495
+msgid "Learning with courses"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:511
+msgid ""
+"Note that most available courses online are actually premium series of video "
+"tutorials. The problem of retaining information and acquiring real skills "
+"unfortunately still applies to them."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:527
+msgid ""
+"At GDQuest, we’re educators at heart. We believe in applied study and we "
+"believe it doesn’t have to be boring. When teaching is done correctly, most "
+"people highly enjoy the sensation of leveling up!\n"
+"\n"
+"That’s the reason we made this app. It is in fact part of our beginner "
+"course [b][color=#ebc3ff][url=https://school.gdquest.com/products/"
+"bundle_learn_gamedev_godot_4]Learn Gamedev From Zero with Godot[/url][/color]"
+"[/b]."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:565
+msgid "LEARN GAMEDEV WITH GODOT"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:710
+msgid "Now available"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:720
+msgid "for preorders"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:737
+msgid "Godot 4 courses!!"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:783
+msgid "Teaching gamedev in the classroom?"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:796
+msgid "Get in touch"
+msgstr ""
+
+#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
+msgid "Congratulations!"
+msgstr "Congratulazioni!"
 
 #: ui/screens/end_screen/SponsorlessEndScreen.tscn:203
 msgid ""
@@ -649,8 +670,8 @@ msgstr "Questo è un progetto Open-Source!"
 msgid ""
 "Like Godot, this app and course is free and open-source. \n"
 "\n"
-"You can find the app's source code and contribute translations here: [url="
-"\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero "
+"You can find the app's source code and contribute translations here: "
+"[url=\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero "
 "(Github repository)[/url]."
 msgstr ""
 "Come Godot, anche questa applicazione e questo corso sono gratuiti e open-"
@@ -660,6 +681,10 @@ msgstr ""
 "traduzioni qui: [url=\"https://github.com/GDQuest/learn-gdscript\"]Imparare "
 "GDScript da zero (repository Github)[/url]."
 
+#: ui/screens/end_screen/thumbnails/CourseThumbnail.tscn:42
+msgid "Early Access release: 2024/01/30"
+msgstr ""
+
 #: ui/screens/lesson/UIBaseQuiz.tscn:56
 msgid "[b]Question[/b]"
 msgstr "[b]Domanda[/b]"
@@ -684,6 +709,11 @@ msgstr "Ben fatto!"
 msgid "Answers here"
 msgstr "Le risposte qui"
 
+#: ui/screens/lesson/UIContentBlock.gd:70
+#: ui/screens/lesson/UIContentBlock.gd:134
+msgid "Learn More"
+msgstr "Impara Di Più"
+
 #: ui/screens/lesson/UIContentBlock.tscn:47
 msgid "Placeholder heading"
 msgstr "Intestazione tappabuchi"
@@ -757,18 +787,83 @@ msgid "CONTINUE"
 msgstr "CONTINUA"
 
 #: ui/screens/welcome_screen/WelcomeScreen.gd:44
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:627
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:625
 msgid "START"
 msgstr "INZIA"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:645
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:643
 msgid "SELECT LESSON"
 msgstr "SELEZIONA LEZIONE"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:659
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:657
 msgid "OPTIONS"
 msgstr "OPZIONI"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:693
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:691
 msgid "QUIT"
 msgstr "ESCI"
+
+#~ msgid ""
+#~ "You completed Learn GDScript From Zero. You now have the basics you need "
+#~ "to dive into game creation with the Godot game engine.\n"
+#~ "\n"
+#~ "If you're looking for a free series to keep learning the basics with us, "
+#~ "you can move on to [url=https://www.gdquest.com/tutorial/godot/learning-"
+#~ "paths/getting-started-in-2021/]Getting Started with Godot[/url]."
+#~ msgstr ""
+#~ "Hai completato Learn GDScript From Zero. Ora possiedi le basi per "
+#~ "immergerti nella creazione di giochi con il Godot game engine.\n"
+#~ "\n"
+#~ "Se stai cercando una serie gratuita per continuare ad imparare le basi "
+#~ "con noi, puoi continuare su [url=https://www.gdquest.com/tutorial/godot/"
+#~ "learning-paths/getting-started-in-2021/]Getting Started with Godot[/url]."
+
+#~ msgid "Or level up faster by taking this shortcut"
+#~ msgstr "O avanza più velocemente prendendo questa scorciatoia"
+
+#~ msgid ""
+#~ "There are loads of free game creation tutorials, but they don't form a "
+#~ "clear path.\n"
+#~ "\n"
+#~ "Worse, most of them are like step-by-step recipes. But as you learned, "
+#~ "you can't become a developer by just following recipes.\n"
+#~ "\n"
+#~ "Every project has unique challenges and requires [i]creative problem "
+#~ "solving[/i]. You need to [i]think like a programmer[/i].\n"
+#~ "\n"
+#~ "Learning that on your own can take years."
+#~ msgstr ""
+#~ "Ci sono tantissimi tutorial gratuiti sulla creazione di videogiochi, ma "
+#~ "non formano un percorso ben definito.\n"
+#~ "\n"
+#~ "Anzi peggio, la maggior parte sono come ricette passo-passo. Ma come sai, "
+#~ "non puoi diventare uno sviluppatore soltanto seguendo ricette.\n"
+#~ "\n"
+#~ "Ogni progetto ha le sue sfide uniche che richiedono [i]soluzioni "
+#~ "creative[/i]. Devi [i]pensare come un programmatore[/i].\n"
+#~ "\n"
+#~ "Sapendo che il tuo progetto può impiegare anni di sviluppo."
+
+#~ msgid "Learn to Code From Zero, with Godot"
+#~ msgstr "Impara a Programmare Da Zero, con Godot"
+
+#~ msgid ""
+#~ "This app is the free part of our in-depth course, [url=https://gdquest."
+#~ "mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
+#~ "From Zero, with Godot[/b][/url].\n"
+#~ "\n"
+#~ "The course picks up right where this app ends to take you to the point "
+#~ "where you can make [i]your[/i] game.\n"
+#~ "\n"
+#~ "It's the only course that'll truly teach you [i]how to become a game "
+#~ "developer[/i] with Godot."
+#~ msgstr ""
+#~ "Questa app è la parte gratuita del nostro corso avanzato, [url=https://"
+#~ "gdquest.mavenseed.com/courses/learn-to-code-from-zero-with-godot]"
+#~ "[b]Impara a Programmare Da Zero, con Godot[/b][/url].\n"
+#~ "\n"
+#~ "Il corso continua da dove questa applicazione finisce per aiutarti a "
+#~ "raggiungere le capacità per realizzare il [i]tuo[/i] gioco.\n"
+#~ "\n"
+#~ "Questo è l'unico corso che ti insegnerà veramente [i]come diventare uno "
+#~ "sviluppatore di videogiochi[/i] con Godot."
diff --git a/i18n/it/classref_database.po b/i18n/it/classref_database.po
index a01a3cc9..0ac65950 100644
--- a/i18n/it/classref_database.po
+++ b/i18n/it/classref_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2022-06-20 15:19+0000\n"
 "Last-Translator: Fettenderi <mang.marco03@gmail.com>\n"
 "Language-Team: Italian <https://hosted.weblate.org/projects/learn-gdscript-"
diff --git a/i18n/it/error_database.po b/i18n/it/error_database.po
index ebaf3daa..f4e4e191 100644
--- a/i18n/it/error_database.po
+++ b/i18n/it/error_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-05-17 09:52+0000\n"
 "Last-Translator: Riccardo Santangelo <s.burns@live.it>\n"
 "Language-Team: Italian <https://hosted.weblate.org/projects/learn-gdscript-"
diff --git a/i18n/it/glossary_database.po b/i18n/it/glossary_database.po
index 0017e8a3..9ade6075 100644
--- a/i18n/it/glossary_database.po
+++ b/i18n/it/glossary_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-05-17 09:52+0000\n"
 "Last-Translator: Riccardo Santangelo <s.burns@live.it>\n"
 "Language-Team: Italian <https://hosted.weblate.org/projects/learn-gdscript-"
diff --git a/i18n/it/lesson-11-time-delta.po b/i18n/it/lesson-11-time-delta.po
index c280cfad..72ce1e9d 100644
--- a/i18n/it/lesson-11-time-delta.po
+++ b/i18n/it/lesson-11-time-delta.po
@@ -8,11 +8,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-05-17 10:51+0000\n"
 "Last-Translator: Riccardo Santangelo <s.burns@live.it>\n"
-"Language-Team: Italian <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-11-time-delta/it/>\n"
+"Language-Team: Italian <https://hosted.weblate.org/projects/learn-gdscript-"
+"from-zero/lesson-11-time-delta/it/>\n"
 "Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -134,6 +134,7 @@ msgid "Frames take varying amounts of time to calculate"
 msgstr "I frame impiegano quantità di tempo variabili per essere calcolati"
 
 #: course/lesson-11-time-delta/lesson.tres:93
+#, fuzzy
 msgid ""
 "Depending on the game, the computer, and what the game engine needs to "
 "calculate, frames take more or less time to display.\n"
@@ -146,9 +147,6 @@ msgid ""
 "Delta represents a time difference. It's the time passed since the previous "
 "frame, in seconds.\n"
 "\n"
-"The [code]delta[/code] parameter tells us how long it took for Godot to "
-"complete the [b]previous frame[/b].\n"
-"\n"
 "We can use it to ensure that the changes between frames don't make the "
 "game's behavior unreliable.\n"
 "\n"
@@ -183,11 +181,11 @@ msgstr ""
 "computer. Il delta contribuisce a rendere l'esperienza di gioco coerente per "
 "tutti."
 
-#: course/lesson-11-time-delta/lesson.tres:115
+#: course/lesson-11-time-delta/lesson.tres:113
 msgid "What do we know about delta?"
 msgstr "Cosa sappiamo riguardo a delta?"
 
-#: course/lesson-11-time-delta/lesson.tres:118
+#: course/lesson-11-time-delta/lesson.tres:116
 msgid ""
 "[code]delta[/code] is the time it took Godot to complete the previous frame "
 "in seconds.\n"
@@ -204,27 +202,27 @@ msgstr ""
 "Varia a ogni fotogramma perché Godot ha bisogno di elaborare più o meno "
 "fotogrammi."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's a value in seconds."
 msgstr "Viene espresso in secondi."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It varies each frame."
 msgstr "Varia ad ogni frame."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's the time it took Godot to complete the previous frame."
 msgstr ""
 "Rappresenta il tempo che Godot impiega a completare il frame precedente."
 
-#: course/lesson-11-time-delta/lesson.tres:131
+#: course/lesson-11-time-delta/lesson.tres:129
 msgid "Multiplying by delta"
 msgstr "Moltiplicando per delta"
 
-#: course/lesson-11-time-delta/lesson.tres:133
+#: course/lesson-11-time-delta/lesson.tres:131
 msgid ""
 "The [code]delta[/code] you get in [code]_process()[/code] is a time "
 "difference in seconds. It will generally be a tiny decimal number.\n"
@@ -239,7 +237,7 @@ msgstr ""
 "Per applicare il [code]delta[/code], devi [i]moltiplicarlo[/i] ai tuoi "
 "valori di velocità."
 
-#: course/lesson-11-time-delta/lesson.tres:155
+#: course/lesson-11-time-delta/lesson.tres:153
 msgid ""
 "When multiplying by [code]delta[/code], you make motion [i]time-dependent[/"
 "i] rather than [i]frame-dependent[/i].\n"
@@ -251,11 +249,11 @@ msgstr ""
 "\n"
 "Questo è essenziale per rendere il tuo gioco costante e onesto."
 
-#: course/lesson-11-time-delta/lesson.tres:165
+#: course/lesson-11-time-delta/lesson.tres:163
 msgid "Why do we use the number 3.0 in this example?"
 msgstr "Perché utilizziamo il numero 3.0 in questo esempio?"
 
-#: course/lesson-11-time-delta/lesson.tres:167
+#: course/lesson-11-time-delta/lesson.tres:165
 msgid ""
 "At the top of the lesson, we made the robot rotate a fixed amount every "
 "frame: [code]0.05[/code] radians.\n"
@@ -303,11 +301,11 @@ msgstr ""
 "l'abitudine lavorando con velocità, accelerazioni e moti nei tuoi progetti "
 "videoludici."
 
-#: course/lesson-11-time-delta/lesson.tres:187
+#: course/lesson-11-time-delta/lesson.tres:185
 msgid "Why the time between frames matters"
 msgstr "Perché il tempo tra i frame importa"
 
-#: course/lesson-11-time-delta/lesson.tres:189
+#: course/lesson-11-time-delta/lesson.tres:187
 msgid ""
 "The time it takes to display a new frame varies.\n"
 "\n"
@@ -339,7 +337,7 @@ msgstr ""
 "\n"
 "Il robot in basso si muoverà [i]diversamente per tutti[/i]!"
 
-#: course/lesson-11-time-delta/lesson.tres:217
+#: course/lesson-11-time-delta/lesson.tres:215
 msgid ""
 "Multiplying time-sensitive values by [code]delta[/code] makes them [b]time-"
 "dependent[/b] rather than [b]frame-dependent[/b].\n"
@@ -359,15 +357,15 @@ msgstr ""
 "computer e durante il gameplay. Per questo motivo, il movimento sarà "
 "differente per ogni giocatore, rendendo il gioco incoerente e caotico."
 
-#: course/lesson-11-time-delta/lesson.tres:229
+#: course/lesson-11-time-delta/lesson.tres:227
 msgid "What does this mean?"
 msgstr "Cosa significa questo?"
 
-#: course/lesson-11-time-delta/lesson.tres:230
+#: course/lesson-11-time-delta/lesson.tres:228
 msgid "[code]rotation_speed * delta[/code]"
 msgstr "[code]rotation_speed * delta[/code]"
 
-#: course/lesson-11-time-delta/lesson.tres:232
+#: course/lesson-11-time-delta/lesson.tres:230
 msgid ""
 "The [code]*[/code] symbol means we're multiplying [code]rotation_speed[/"
 "code] by [code]delta[/code] time."
@@ -375,34 +373,34 @@ msgstr ""
 "Il simbolo [code]*[/code] significa moltiplicare [code]rotation_speed[/code] "
 "per il tempo [code]delta[/code]."
 
-#: course/lesson-11-time-delta/lesson.tres:233
-#: course/lesson-11-time-delta/lesson.tres:234
+#: course/lesson-11-time-delta/lesson.tres:231
+#: course/lesson-11-time-delta/lesson.tres:232
 msgid "We're multiplying rotation_speed by delta."
 msgstr "Stiamo moltiplicando rotation_speed per delta."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're dividing delta by rotation_speed."
 msgstr "Stiamo dividendo il delta per rotation_speed."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're adding rotation_speed to delta."
 msgstr "Stiamo aggiungendo rotation_speed a delta."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're subtracting delta from rotation_speed."
 msgstr "Stiamo sottraendo delta da rotation_speed."
 
-#: course/lesson-11-time-delta/lesson.tres:243
+#: course/lesson-11-time-delta/lesson.tres:241
 msgid "In the next practice, we'll use delta to make rotating time-dependent."
 msgstr ""
 "Nella prossima pratica, useremo delta per rendere le rotazioni tempo-"
 "dipendenti."
 
-#: course/lesson-11-time-delta/lesson.tres:251
+#: course/lesson-11-time-delta/lesson.tres:249
 msgid "Rotating Using Delta"
 msgstr "Rotando Usando Il Delta"
 
-#: course/lesson-11-time-delta/lesson.tres:252
+#: course/lesson-11-time-delta/lesson.tres:250
 msgid ""
 "At the moment, the rotation of the robot is frame-dependent.\n"
 "\n"
@@ -417,11 +415,11 @@ msgstr ""
 "\n"
 "Il robot dovrebbe ruotare di [code]2[/code] radianti al secondo."
 
-#: course/lesson-11-time-delta/lesson.tres:271
+#: course/lesson-11-time-delta/lesson.tres:269
 msgid "Moving in a Circle Using Delta"
 msgstr "Muovendo in un Cerchio Usando Il Delta"
 
-#: course/lesson-11-time-delta/lesson.tres:272
+#: course/lesson-11-time-delta/lesson.tres:270
 msgid ""
 "In this practice, make the robot move in a smooth circle using delta.\n"
 "\n"
@@ -442,6 +440,6 @@ msgstr ""
 "[b]Nota:[/b] Scrivi i valori nelle parentesi quando chiami le funzioni. Se "
 "definisci variabili extra, non saremo in grado di validare la tua pratica."
 
-#: course/lesson-11-time-delta/lesson.tres:290
+#: course/lesson-11-time-delta/lesson.tres:288
 msgid "Time Delta"
 msgstr "Tempo Delta"
diff --git a/i18n/it/lesson-15-modulo.po b/i18n/it/lesson-15-modulo.po
deleted file mode 100644
index 8619d74e..00000000
--- a/i18n/it/lesson-15-modulo.po
+++ /dev/null
@@ -1,347 +0,0 @@
-# Translations template for Learn GDScript From Zero.
-# Copyright (C) 2022 GDQuest
-# This file is distributed under the same license as the Learn GDScript From
-# Zero project.
-# Automatically generated, 2022.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Learn GDScript From Zero\n"
-"Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-05-17 10:51+0000\n"
-"Last-Translator: Riccardo Santangelo <s.burns@live.it>\n"
-"Language-Team: Italian <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-15-modulo/it/>\n"
-"Language: it\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.18-dev\n"
-"Generated-By: Babel 2.9.1\n"
-
-#: course/lesson-15-modulo/lesson.tres:14
-msgid ""
-"The modulo operation ([code]%[/code]) calculates the remainder of a whole "
-"number division.\n"
-"\n"
-"For example, the modulo of [code]5[/code] by [code]3[/code] ([code]5 % 3[/"
-"code]) is [code]2[/code].\n"
-"\n"
-"We typically use this operation to tell if a number is odd or even or to "
-"produce a random number within a particular range (like a dice roll).\n"
-"\n"
-"Play around with the modulo widget on the right to see how modulo works "
-"visually."
-msgstr ""
-"L'operatore modulo ([code]%[/code]) calcola il resto di una divisione tra "
-"numeri interi.\n"
-"\n"
-"Per esempio, il modulo tra [code]5[/code] e [code]3[/code] ([code]5 % 3[/"
-"code]) è [code]2[/code].\n"
-"\n"
-"Tipicamente usiamo questa operazione per capire se un numero è pari o "
-"dispari o per produrre un numero casuale all'interno di un particolare "
-"intervallo (come una tirata di dato).\n"
-"\n"
-"Sperimenta un po' con l'oggetto modulo sulla destra per vedere come il "
-"modulo funzioni visivamente."
-
-#: course/lesson-15-modulo/lesson.tres:28
-msgid "What's the result of this modulo operation?"
-msgstr "Qual è il risultato di quest'operazione di modulo?"
-
-#: course/lesson-15-modulo/lesson.tres:29
-msgid "[code]11 % 4[/code]"
-msgstr "[code]11 % 4[/code]"
-
-#: course/lesson-15-modulo/lesson.tres:31
-msgid ""
-"[code]11[/code] divided by [code]4[/code] is [code]2[/code], and the "
-"[b]remainder[/b] of the division is [code]3[/code].\n"
-"\n"
-"So [code]11 % 4[/code] is [code]3[/code]."
-msgstr ""
-"[code]11[/code] diviso per [code]4[/code] è [code]2[/code] e il [b]resto[/b] "
-"della divisione è [code]3[/code].\n"
-"\n"
-"Quindi [code]11 % 4[/code] è [code]3[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:34
-#: course/lesson-15-modulo/lesson.tres:35
-msgid "3"
-msgstr "3"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "2"
-msgstr "2"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "7"
-msgstr "7"
-
-#: course/lesson-15-modulo/lesson.tres:44
-msgid ""
-"The modulo operation only works on [b]whole numbers[/b]; Not decimal "
-"numbers.\n"
-"\n"
-"Also, just like in regular divisions, the divisor can't be zero.\n"
-"\n"
-"All three examples below will cause an error in your code."
-msgstr ""
-"L'operazione modulo funziona solo su [b]numeri interi[/b]; Non numeri "
-"decimali.\n"
-"\n"
-"Inoltre, così come per le divisioni normali, il divisore non può essere "
-"zero.\n"
-"\n"
-"Tutti e tre gli esempi qui sotto causano un errore nel tuo codice."
-
-#: course/lesson-15-modulo/lesson.tres:66
-msgid "Three ways we use the modulo operation"
-msgstr "Tre modi in cui utilizziamo l'operazione modulo"
-
-#: course/lesson-15-modulo/lesson.tres:68
-msgid ""
-"The modulo operation has important uses in programming, like making a number "
-"cycle.\n"
-"\n"
-"Take a traffic light, for example."
-msgstr ""
-"L'operazione modulo ha degli utilizzi importanti in programmazione, come far "
-"ciclare un numero.\n"
-"\n"
-"Per esempio, prendi un semaforo."
-
-#: course/lesson-15-modulo/lesson.tres:90
-msgid ""
-"We use the number [code]light_index[/code] to represent the traffic light's "
-"current state.\n"
-"\n"
-"The lights always cycle in the same way: first, we have the red light, then "
-"the yellow, then the green.\n"
-"\n"
-"To represent that cycle, you can periodically add one to the number and use "
-"the modulo operator to wrap back to [code]0[/code].\n"
-"\n"
-"Instead, you could use a condition; In this case, we use the modulo as a "
-"shortcut."
-msgstr ""
-"Usiamo il numero [code]light_index[/code] per rappresentare lo stato "
-"corrente del semaforo.\n"
-"\n"
-"Le luci ciclano sempre nello stesso modo: prima, abbiamo la luce rossa, poi "
-"la giallo e infine la verde.\n"
-"\n"
-"Per rappresentare questo ciclo, puoi incrementare periodicamente di uno il "
-"numero e usare l'operatore modulo per ritornare a [code]0[/code].\n"
-"\n"
-"Piuttosto, potresti usare una condizione; In questo caso, possiamo usare il "
-"modulo come scorciatoia."
-
-#: course/lesson-15-modulo/lesson.tres:114
-msgid "Why do we start from zero?"
-msgstr "Perché partiamo da zero?"
-
-#: course/lesson-15-modulo/lesson.tres:116
-msgid ""
-"In computer code, we very often count from [code]0[/code].\n"
-"\n"
-"Every number translates to a precise combination of bits in the machine, "
-"starting from [code]0[/code].\n"
-"\n"
-"We don't want to waste any number, and as the first number the computer "
-"knows about is [code]0[/code], we start counting from [code]0[/code]."
-msgstr ""
-"In programmazione, spesso contiamo da [code]0[/code].\n"
-"\n"
-"Ogni numero si traduce in una precisa combinazione di bit, che iniziano da "
-"[code]0[/code].\n"
-"\n"
-"Non vogliamo sprecare nessun numero e il primo numero che il computer "
-"conosce è [code]0[/code], quindi iniziamo a contare da [code]0[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:128
-msgid "Using modulo to find even and odd numbers"
-msgstr "Usando il modulo per capire se un numero è pari o dispari"
-
-#: course/lesson-15-modulo/lesson.tres:130
-msgid ""
-"We can also use a modulo to check if a number is even or odd. If we divide a "
-"number by [code]2[/code] and there's no remainder, then the number is "
-"[b]even[/b]."
-msgstr ""
-"Possiamo pure usare il modulo per controllare se un numero è pari o dispari. "
-"Se dividiamo un numero per [code]2[/code] e non c'è alcun resto, allora il "
-"numero è [b]pari[/b]."
-
-#: course/lesson-15-modulo/lesson.tres:150
-msgid ""
-"Notice how the modulo can be larger than the number it affects. For example, "
-"[code]1 % 2[/code] gives you [code]1[/code]. That's because [code]1[/code] "
-"divided by [code]2[/code] equals [code]0[/code], and the remainder is "
-"[code]1[/code].\n"
-"\n"
-"Like with divisions, the only case you can't use modulo is with a divisor of "
-"[code]0[/code]."
-msgstr ""
-"Nota bene che il modulo può essere più grande del numero di partenza. Per "
-"esempio, [code]1 % 2[/code] dà come risultato [code]1[/code]. Questo è "
-"perchè [code]1[/code] diviso [code]2[/code] è uguale a [code]0[/code] e il "
-"resto è [code]1[/code].\n"
-"\n"
-"Come per le divisioni, l'unico caso in cui non puoi usare il modulo è con un "
-"divisore di [code]0[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:170
-msgid "Calculating a random number within a range"
-msgstr "Calcolando un numero naturale all'interno di un intervallo"
-
-#: course/lesson-15-modulo/lesson.tres:172
-msgid ""
-"We can use the modulo to simulate dice rolls. To do so, we generate a large "
-"random number and use the modulo operator to limit the number's range.\n"
-"\n"
-"To generate a random whole number, you can call the [code]randi()[/code] "
-"function. The name stands for random integer.\n"
-"\n"
-"The number the function generates can be huge: roughly up to 2 billion on an "
-"Android device and around 10^18 on a 64-bit computer.\n"
-"\n"
-"You can use the modulo operation to limit the random number's range."
-msgstr ""
-"Possiamo usare il modulo per simulare delle tirate di dado. Per fare questo, "
-"generiamo un grande numero casuale e usiamo l'operatore modulo per limitare "
-"l'intervallo di numeri.\n"
-"\n"
-"Per generare un numero intero casuale puoi chiamare la funzione [code]randi()"
-"[/code]. Il nome sta per random integer.\n"
-"\n"
-"Il numero che la funzione genera può essere enorme: fino a 2 miliardi su un "
-"dispositivo Android e circa 10^18 su un computer a 64-bit.\n"
-"\n"
-"Puoi usare l'operatore modulo per limitare l'intervallo di numeri."
-
-#: course/lesson-15-modulo/lesson.tres:198
-msgid ""
-"The result is also random because we use the modulo operation on a random "
-"number.\n"
-"\n"
-"In the following practices, you'll use a modulo to advance traffic lights, "
-"add maximum health to the robot on every odd level, and learn how to code "
-"dice rolls."
-msgstr ""
-"Il risultato è comunque casuale perché usiamo l'operazione modulo su un "
-"numero casuale.\n"
-"\n"
-"Nelle seguenti pratiche, userai un modulo per avanzare le luci di semafori, "
-"aggiungerai vita massima ad un robot ad ogni livello dispari e imparerai "
-"come simulare la tirata di dadi."
-
-#: course/lesson-15-modulo/lesson.tres:208
-msgid "Advancing Traffic Lights"
-msgstr "Avanzando Luci Di Semafori"
-
-#: course/lesson-15-modulo/lesson.tres:209
-msgid ""
-"Add to the [code]advance_traffic_light()[/code] function so the "
-"[code]light_index[/code] variable increments by one, then wraps back to "
-"[code]0[/code] if it gets too high.\n"
-"\n"
-"Use the modulo operator [code]%[/code] to make sure the value of "
-"[code]light_index[/code] wraps back to [code]0[/code].\n"
-"\n"
-"The value of [code]light_index[/code] should only ever be [code]0[/code], "
-"[code]1[/code], or [code]2[/code]."
-msgstr ""
-"Aggiungi alla funzione [code]advance_traffic_light()[/code] cosicché la "
-"variabile [code]light_index[/code] si incrementi di uno e poi ritorni a "
-"[code]0[/code] se diventa troppo grande.\n"
-"\n"
-"Usa l'operatore modulo [code]%[/code] per assicurarti che il valore del "
-"[code]light_index[/code] ritorni a [code]0[/code].\n"
-"\n"
-"Il valore di [code]light_index[/code] dovrebbe essere solamente [code]0[/"
-"code]. [code]1[/code] o [code]2[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:223
-msgid ""
-"Learn how to use modulo to wrap a number back to zero using traffic lights."
-msgstr ""
-"Impara ad utilizzare il modulo per far tornare a zero un numero usando dei "
-"semafori."
-
-#: course/lesson-15-modulo/lesson.tres:228
-msgid "Rolling Dice"
-msgstr "Tirando Dei Dadi"
-
-#: course/lesson-15-modulo/lesson.tres:229
-msgid ""
-"Our dice rolling function doesn't work! Right now, it always gives the "
-"result of how many sides the dice has: 20.\n"
-"\n"
-"Use [code]randi()[/code] to generate a random number and the modulo "
-"operation [code]%[/code]. \n"
-"\n"
-"Using the [code]return[/code] keyword inside the function, return a random "
-"number between [code]1[/code] and [code]sides[/code]."
-msgstr ""
-"La nostra funzione che tira dadi non funziona! Adesso, dà come risultato "
-"solo quanti lati ha il dato: 20.\n"
-"\n"
-"Usa [code]randi()[/code] per generare un numero casuale e l'operazione "
-"modulo [code]%[/code]. \n"
-"\n"
-"Usando la parola chiave [code]return[/code] all'interno della funzione, "
-"ritorna un numero casuale tra [code]1[/code] e [code]sides[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:243
-msgid ""
-"Whether in a board game or video game, getting a random number is always "
-"useful. Here, we create a function that simulates a dice roll."
-msgstr ""
-"Che sia un gioco da tavolo o un videogioco, ottenere un numero casuale è "
-"sempre utile. Eccoti, abbiamo creato una funzione che simula la tirata di un "
-"dado."
-
-#: course/lesson-15-modulo/lesson.tres:248
-msgid "Bonus Health Every Other Level"
-msgstr "Vita Bonus Ogni Altro Livello"
-
-#: course/lesson-15-modulo/lesson.tres:249
-msgid ""
-"Change the [code]level_up()[/code] function so it does the following:\n"
-"\n"
-"1) Increment [code]level[/code] by [code]1[/code]\n"
-"2) Increase [code]max_health[/code] by [code]5[/code]\n"
-"3) If [code]level[/code] is [b]even[/b], increase [code]max_health[/code] by "
-"an additional [code]5[/code]\n"
-"\n"
-"The robot starts with [code]100[/code] maximum health. It will gain three "
-"levels when you run the code. At level 4, the robot should have [code]125[/"
-"code] maximum health."
-msgstr ""
-"Cambia la funzione [code]level_up()[/code] cosicché faccia le seguenti "
-"cose:\n"
-"\n"
-"1) Incrementare il [code]livello[/code] di [code]1[/code]\n"
-"2) Incrementare la [code]max_health[/code] di [code]5[/code]\n"
-"3) Se il [code]level[/code] è [b]pari[/b], incrementa la [code]max_health[/"
-"code] di altri [code]5[/code]\n"
-"\n"
-"Il robot inizia con [code]100[/code] di vita massima. Guadagnerà tre leveli "
-"quando eseguirai il codice. Al livello 4, il robot dovrebbe avere [code]125[/"
-"code] di vita massima."
-
-#: course/lesson-15-modulo/lesson.tres:265
-msgid ""
-"There are other ways to increase maximum health. You could use a modulo to "
-"give a bonus every even level. Learn how here!"
-msgstr ""
-"Ci sono altri modi per aumentare la vita massima. Dovresti usare un modulo "
-"per dare un bonus per ogni livello pari. Impara come qui!"
-
-#: course/lesson-15-modulo/lesson.tres:269
-msgid "Modulo"
-msgstr "Modulo"
diff --git a/i18n/it/lesson-7-member-variables.po b/i18n/it/lesson-7-member-variables.po
index 119e1ca3..936d0dd6 100644
--- a/i18n/it/lesson-7-member-variables.po
+++ b/i18n/it/lesson-7-member-variables.po
@@ -8,11 +8,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-05-17 10:51+0000\n"
 "Last-Translator: Riccardo Santangelo <s.burns@live.it>\n"
-"Language-Team: Italian <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-7-member-variables/it/>\n"
+"Language-Team: Italian <https://hosted.weblate.org/projects/learn-gdscript-"
+"from-zero/lesson-7-member-variables/it/>\n"
 "Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -178,8 +178,8 @@ msgid ""
 "The code below places the entity at [code]200[/code] pixels on the x-axis "
 "and [code]250[/code] pixels on the y-axis."
 msgstr ""
-"Nei videogiochi, si vedono molte variabili membro che hanno dei sottovalori."
-"\n"
+"Nei videogiochi, si vedono molte variabili membro che hanno dei "
+"sottovalori.\n"
 "\n"
 "Ad esempio, la [code]position[/code] di cui abbiamo parlato ha due "
 "coordinate: [code]x[/code] e [code]y[/code].\n"
@@ -221,10 +221,11 @@ msgid "In games, the Y-axis is positive going down"
 msgstr "Nei giochi, l'asse y è positiva andando verso il basso"
 
 #: course/lesson-7-member-variables/lesson.tres:172
+#, fuzzy
 msgid ""
 "Note that in games, assuming your character's position starts at (0, 0), the "
-"code above moves the entity [code]180[/code] pixels to the right and "
-"[code]120[/code] pixels down.\n"
+"code above moves the entity [code]200[/code] pixels to the right and "
+"[code]250[/code] pixels down.\n"
 "\n"
 "In math, the y-axis is generally positive going up by convention.\n"
 "\n"
diff --git a/i18n/pt_BR/application.po b/i18n/pt_BR/application.po
index b33e2210..f76459b7 100644
--- a/i18n/pt_BR/application.po
+++ b/i18n/pt_BR/application.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-06-28 10:51+0000\n"
 "Last-Translator: Deolindo <deolindojvn@gmail.com>\n"
 "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
@@ -544,87 +544,107 @@ msgstr "Redefinir Progresso"
 msgid "Confirm Resetting Progress"
 msgstr "Confirme a Redefinição do Progresso"
 
-#: ui/screens/end_screen/EndScreen.tscn:229
-#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
-msgid "Congratulations!"
-msgstr "Parabéns!"
+#: ui/screens/end_screen/EndScreen.tscn:300
+#: ui/screens/end_screen/EndScreen.tscn:313
+msgid "YOU MADE IT!"
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:236
+#: ui/screens/end_screen/EndScreen.tscn:343
 msgid ""
-"You completed Learn GDScript From Zero. You now have the basics you need to "
-"dive into game creation with the Godot game engine.\n"
-"\n"
-"If you're looking for a free series to keep learning the basics with us, you "
-"can move on to [url=https://www.gdquest.com/tutorial/godot/learning-paths/"
-"getting-started-in-2021/]Getting Started with Godot[/url]."
+"Not only did you learn the foundations of coding, you’re a big step closer "
+"to making your own games."
 msgstr ""
-"Você completou Aprenda GDScript Do Zero. Agora você sabe o básico que "
-"precisa para mergulhar na criação de jogos com a game engine Godot.\n"
-"\n"
-"Se estiver procurante uma série gratuita para continuar aprendendo o básico "
-"conosco, você pode ir até [url=https://www.gdquest.com/tutorial/godot/"
-"learning-paths/getting-started-in-2021/]Iniciando com Godot[/url]."
 
-#: ui/screens/end_screen/EndScreen.tscn:249
-msgid "Or level up faster by taking this shortcut"
-msgstr "Ou suba de nível mais rápido tomando esse atalho"
+#: ui/screens/end_screen/EndScreen.tscn:363
+msgid "Don't stop here..."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:373
+msgid "The fun stuff starts now!"
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:256
+#: ui/screens/end_screen/EndScreen.tscn:388
+msgid "There are 2 pathways learners traditionally take from here:"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:402
+msgid "Following video tutorials"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:417
 msgid ""
-"There are loads of free game creation tutorials, but they don't form a clear "
-"path.\n"
-"\n"
-"Worse, most of them are like step-by-step recipes. But as you learned, you "
-"can't become a developer by just following recipes.\n"
-"\n"
-"Every project has unique challenges and requires [i]creative problem "
-"solving[/i]. You need to [i]think like a programmer[/i].\n"
-"\n"
-"Learning that on your own can take years."
+"They’re a great way to pick up specific game mechanics but they’re not as "
+"effective when you’re trying to learn new skills from the ground up."
 msgstr ""
-"Existem muitos tutoriais gratuitos de criação de jogos, mas eles não formam "
-"um caminho claro.\n"
-"\n"
-"Ou pior, a maioria deles são como receitas de passo a passo. Mas como você "
-"aprendeu, você não pode se tornar um desenvolvedor apenas seguindo "
-"receitas.\n"
-"\n"
-"Cada projeto tem desafios únicos e requer [i]resolução criativa de "
-"problemas[/i]. Você precisa [i]pensar como um programador[/i].\n"
-"\n"
-"Aprender isso sozinho pode levar anos."
 
-#: ui/screens/end_screen/EndScreen.tscn:277
-msgid "Learn to Code From Zero, with Godot"
-msgstr "Aprenda A Programar Do Zero, com Godot"
+#: ui/screens/end_screen/EndScreen.tscn:449
+msgid "• There’s no clear learning path."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:464
+msgid "• Retention and skill acquisition is slow and limited."
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:284
+#: ui/screens/end_screen/EndScreen.tscn:480
 msgid ""
-"This app is the free part of our in-depth course, [url=https://gdquest."
-"mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
-"From Zero, with Godot[/b][/url].\n"
-"\n"
-"The course picks up right where this app ends to take you to the point where "
-"you can make [i]your[/i] game.\n"
-"\n"
-"It's the only course that'll truly teach you [i]how to become a game "
-"developer[/i] with Godot."
+"We make our fair share of [b][color=#ebc3ff][url=https://www.youtube.com/"
+"@Gdquest/videos]free tutorials[/url][/color][/b]. They will come in very "
+"handy once you start making games on your own. But to get started, we really "
+"recommend you learn how to think like a game developer using [b]"
+"[color=#ebc3ff][url=https://school.gdquest.com/godot-4-early-access]courses[/"
+"url][/color][/b]."
 msgstr ""
-"Este aplicativo é a parte gratuita do nosso curso aprofundado, [url=https://"
-"gdquest.mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Aprenda "
-"A Programar Do Zero , com Godot[/b][/url].\n"
-"\n"
-"O curso começa exatamente onde este aplicativo termina para levá-lo ao ponto "
-"onde você possa fazer [i]seu[/i] jogo.\n"
+
+#: ui/screens/end_screen/EndScreen.tscn:495
+msgid "Learning with courses"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:511
+msgid ""
+"Note that most available courses online are actually premium series of video "
+"tutorials. The problem of retaining information and acquiring real skills "
+"unfortunately still applies to them."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:527
+msgid ""
+"At GDQuest, we’re educators at heart. We believe in applied study and we "
+"believe it doesn’t have to be boring. When teaching is done correctly, most "
+"people highly enjoy the sensation of leveling up!\n"
 "\n"
-"É o único curso que realmente vai te ensinar [i]como se tornar um "
-"desenvolvedor de jogos[/i] com Godot."
+"That’s the reason we made this app. It is in fact part of our beginner "
+"course [b][color=#ebc3ff][url=https://school.gdquest.com/products/"
+"bundle_learn_gamedev_godot_4]Learn Gamedev From Zero with Godot[/url][/color]"
+"[/b]."
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:308
-#: ui/screens/lesson/UIContentBlock.gd:70
-#: ui/screens/lesson/UIContentBlock.gd:134
-msgid "Learn More"
-msgstr "Aprenda Mais"
+#: ui/screens/end_screen/EndScreen.tscn:565
+msgid "LEARN GAMEDEV WITH GODOT"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:710
+msgid "Now available"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:720
+msgid "for preorders"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:737
+msgid "Godot 4 courses!!"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:783
+msgid "Teaching gamedev in the classroom?"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:796
+msgid "Get in touch"
+msgstr ""
+
+#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
+msgid "Congratulations!"
+msgstr "Parabéns!"
 
 #: ui/screens/end_screen/SponsorlessEndScreen.tscn:203
 msgid ""
@@ -650,16 +670,21 @@ msgstr "Esse é um projeto de código aberto!"
 msgid ""
 "Like Godot, this app and course is free and open-source. \n"
 "\n"
-"You can find the app's source code and contribute translations here: [url="
-"\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero "
+"You can find the app's source code and contribute translations here: "
+"[url=\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero "
 "(Github repository)[/url]."
 msgstr ""
 "Assim como Godot, esse aplicativo e curso é gratuito e de código aberto.\n"
 "\n"
-"Você pode encontrar o código fonte e contribuir com traduções aqui: [url="
-"\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero "
+"Você pode encontrar o código fonte e contribuir com traduções aqui: "
+"[url=\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero "
 "(Github repository)[/url]."
 
+#: ui/screens/end_screen/thumbnails/CourseThumbnail.tscn:42
+#, fuzzy
+msgid "Early Access release: 2024/01/30"
+msgstr "Versão beta inicial"
+
 #: ui/screens/lesson/UIBaseQuiz.tscn:56
 msgid "[b]Question[/b]"
 msgstr "[b]Perguntas[/b]"
@@ -684,6 +709,11 @@ msgstr "Você está correto!"
 msgid "Answers here"
 msgstr "Respostas vão aqui"
 
+#: ui/screens/lesson/UIContentBlock.gd:70
+#: ui/screens/lesson/UIContentBlock.gd:134
+msgid "Learn More"
+msgstr "Aprenda Mais"
+
 #: ui/screens/lesson/UIContentBlock.tscn:47
 msgid "Placeholder heading"
 msgstr "Título das dicas de texto"
@@ -757,22 +787,88 @@ msgid "CONTINUE"
 msgstr "CONTINUAR"
 
 #: ui/screens/welcome_screen/WelcomeScreen.gd:44
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:627
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:625
 msgid "START"
 msgstr "INICIAR"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:645
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:643
 msgid "SELECT LESSON"
 msgstr "SELECIONE A LIÇÃO"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:659
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:657
 msgid "OPTIONS"
 msgstr "OPÇÕES"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:693
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:691
 msgid "QUIT"
 msgstr "SAIR"
 
+#~ msgid ""
+#~ "You completed Learn GDScript From Zero. You now have the basics you need "
+#~ "to dive into game creation with the Godot game engine.\n"
+#~ "\n"
+#~ "If you're looking for a free series to keep learning the basics with us, "
+#~ "you can move on to [url=https://www.gdquest.com/tutorial/godot/learning-"
+#~ "paths/getting-started-in-2021/]Getting Started with Godot[/url]."
+#~ msgstr ""
+#~ "Você completou Aprenda GDScript Do Zero. Agora você sabe o básico que "
+#~ "precisa para mergulhar na criação de jogos com a game engine Godot.\n"
+#~ "\n"
+#~ "Se estiver procurante uma série gratuita para continuar aprendendo o "
+#~ "básico conosco, você pode ir até [url=https://www.gdquest.com/tutorial/"
+#~ "godot/learning-paths/getting-started-in-2021/]Iniciando com Godot[/url]."
+
+#~ msgid "Or level up faster by taking this shortcut"
+#~ msgstr "Ou suba de nível mais rápido tomando esse atalho"
+
+#~ msgid ""
+#~ "There are loads of free game creation tutorials, but they don't form a "
+#~ "clear path.\n"
+#~ "\n"
+#~ "Worse, most of them are like step-by-step recipes. But as you learned, "
+#~ "you can't become a developer by just following recipes.\n"
+#~ "\n"
+#~ "Every project has unique challenges and requires [i]creative problem "
+#~ "solving[/i]. You need to [i]think like a programmer[/i].\n"
+#~ "\n"
+#~ "Learning that on your own can take years."
+#~ msgstr ""
+#~ "Existem muitos tutoriais gratuitos de criação de jogos, mas eles não "
+#~ "formam um caminho claro.\n"
+#~ "\n"
+#~ "Ou pior, a maioria deles são como receitas de passo a passo. Mas como "
+#~ "você aprendeu, você não pode se tornar um desenvolvedor apenas seguindo "
+#~ "receitas.\n"
+#~ "\n"
+#~ "Cada projeto tem desafios únicos e requer [i]resolução criativa de "
+#~ "problemas[/i]. Você precisa [i]pensar como um programador[/i].\n"
+#~ "\n"
+#~ "Aprender isso sozinho pode levar anos."
+
+#~ msgid "Learn to Code From Zero, with Godot"
+#~ msgstr "Aprenda A Programar Do Zero, com Godot"
+
+#~ msgid ""
+#~ "This app is the free part of our in-depth course, [url=https://gdquest."
+#~ "mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
+#~ "From Zero, with Godot[/b][/url].\n"
+#~ "\n"
+#~ "The course picks up right where this app ends to take you to the point "
+#~ "where you can make [i]your[/i] game.\n"
+#~ "\n"
+#~ "It's the only course that'll truly teach you [i]how to become a game "
+#~ "developer[/i] with Godot."
+#~ msgstr ""
+#~ "Este aplicativo é a parte gratuita do nosso curso aprofundado, "
+#~ "[url=https://gdquest.mavenseed.com/courses/learn-to-code-from-zero-with-"
+#~ "godot][b]Aprenda A Programar Do Zero , com Godot[/b][/url].\n"
+#~ "\n"
+#~ "O curso começa exatamente onde este aplicativo termina para levá-lo ao "
+#~ "ponto onde você possa fazer [i]seu[/i] jogo.\n"
+#~ "\n"
+#~ "É o único curso que realmente vai te ensinar [i]como se tornar um "
+#~ "desenvolvedor de jogos[/i] com Godot."
+
 #~ msgid "Connected to the server."
 #~ msgstr "Conectado ao servidor."
 
@@ -930,9 +1026,6 @@ msgstr "SAIR"
 #~ "\n"
 #~ "Para começar, clique no botão [i]Iniciar Curso[/i] à direita."
 
-#~ msgid "Early beta release"
-#~ msgstr "Versão beta inicial"
-
 #~ msgid ""
 #~ "The app is in [b]beta[/b].\n"
 #~ "\n"
diff --git a/i18n/pt_BR/error_database.po b/i18n/pt_BR/error_database.po
index 30162473..23cbfec7 100644
--- a/i18n/pt_BR/error_database.po
+++ b/i18n/pt_BR/error_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-06-27 07:50+0000\n"
 "Last-Translator: Deolindo <deolindojvn@gmail.com>\n"
 "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
diff --git a/i18n/pt_BR/glossary_database.po b/i18n/pt_BR/glossary_database.po
index 42290511..ad4784ef 100644
--- a/i18n/pt_BR/glossary_database.po
+++ b/i18n/pt_BR/glossary_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-06-27 07:50+0000\n"
 "Last-Translator: Deolindo <deolindojvn@gmail.com>\n"
 "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
diff --git a/i18n/pt_BR/lesson-11-time-delta.po b/i18n/pt_BR/lesson-11-time-delta.po
index 4dd86933..17e39eca 100644
--- a/i18n/pt_BR/lesson-11-time-delta.po
+++ b/i18n/pt_BR/lesson-11-time-delta.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-06-28 10:51+0000\n"
 "Last-Translator: Deolindo <deolindojvn@gmail.com>\n"
 "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
@@ -133,6 +133,7 @@ msgstr ""
 "Os frames levam uma quantidades variadas de tempo para serem calculados"
 
 #: course/lesson-11-time-delta/lesson.tres:93
+#, fuzzy
 msgid ""
 "Depending on the game, the computer, and what the game engine needs to "
 "calculate, frames take more or less time to display.\n"
@@ -145,9 +146,6 @@ msgid ""
 "Delta represents a time difference. It's the time passed since the previous "
 "frame, in seconds.\n"
 "\n"
-"The [code]delta[/code] parameter tells us how long it took for Godot to "
-"complete the [b]previous frame[/b].\n"
-"\n"
 "We can use it to ensure that the changes between frames don't make the "
 "game's behavior unreliable.\n"
 "\n"
@@ -183,11 +181,11 @@ msgstr ""
 "de computador pra computador. Delta ajuda que a experiência seja consistente "
 "para todos."
 
-#: course/lesson-11-time-delta/lesson.tres:115
+#: course/lesson-11-time-delta/lesson.tres:113
 msgid "What do we know about delta?"
 msgstr "O que sabemos sobre o delta?"
 
-#: course/lesson-11-time-delta/lesson.tres:118
+#: course/lesson-11-time-delta/lesson.tres:116
 msgid ""
 "[code]delta[/code] is the time it took Godot to complete the previous frame "
 "in seconds.\n"
@@ -204,26 +202,26 @@ msgstr ""
 "Varia a cada frame porque a Godot precisa processar mais ou processar menos "
 "cada frame."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's a value in seconds."
 msgstr "É um valor em segundos."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It varies each frame."
 msgstr "Varia a cada frame."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's the time it took Godot to complete the previous frame."
 msgstr "É o tempo que a Godot levou para completar o frame anterior."
 
-#: course/lesson-11-time-delta/lesson.tres:131
+#: course/lesson-11-time-delta/lesson.tres:129
 msgid "Multiplying by delta"
 msgstr "Multiplicando por delta"
 
-#: course/lesson-11-time-delta/lesson.tres:133
+#: course/lesson-11-time-delta/lesson.tres:131
 msgid ""
 "The [code]delta[/code] you get in [code]_process()[/code] is a time "
 "difference in seconds. It will generally be a tiny decimal number.\n"
@@ -238,7 +236,7 @@ msgstr ""
 "Para aplicar o [code]delta[/code], você precisa [i]multiplicar[/i] seus "
 "valores de velocidade por ele."
 
-#: course/lesson-11-time-delta/lesson.tres:155
+#: course/lesson-11-time-delta/lesson.tres:153
 msgid ""
 "When multiplying by [code]delta[/code], you make motion [i]time-dependent[/"
 "i] rather than [i]frame-dependent[/i].\n"
@@ -250,11 +248,11 @@ msgstr ""
 "\n"
 "Isso é essencial para tornar seu jogo consistente e justo."
 
-#: course/lesson-11-time-delta/lesson.tres:165
+#: course/lesson-11-time-delta/lesson.tres:163
 msgid "Why do we use the number 3.0 in this example?"
 msgstr "Por que usamos o número 3.0 nesse exemplo?"
 
-#: course/lesson-11-time-delta/lesson.tres:167
+#: course/lesson-11-time-delta/lesson.tres:165
 msgid ""
 "At the top of the lesson, we made the robot rotate a fixed amount every "
 "frame: [code]0.05[/code] radians.\n"
@@ -303,11 +301,11 @@ msgstr ""
 "você vai pegar o jeito de tanto que você vai lidar com velocidade, "
 "aceleração e movimento em seus projetos de jogos."
 
-#: course/lesson-11-time-delta/lesson.tres:187
+#: course/lesson-11-time-delta/lesson.tres:185
 msgid "Why the time between frames matters"
 msgstr "Por quê o tempo entre os frames é importante"
 
-#: course/lesson-11-time-delta/lesson.tres:189
+#: course/lesson-11-time-delta/lesson.tres:187
 msgid ""
 "The time it takes to display a new frame varies.\n"
 "\n"
@@ -340,7 +338,7 @@ msgstr ""
 "\n"
 "O robô da parte inferior se vai mover [i]diferente para todo mundo[/i]!"
 
-#: course/lesson-11-time-delta/lesson.tres:217
+#: course/lesson-11-time-delta/lesson.tres:215
 msgid ""
 "Multiplying time-sensitive values by [code]delta[/code] makes them [b]time-"
 "dependent[/b] rather than [b]frame-dependent[/b].\n"
@@ -360,15 +358,15 @@ msgstr ""
 "computador e durante o jogo. Por causa disso, o movimento vai ser diferente "
 "para cada jogador, tornando o jogo inconsistente e confuso."
 
-#: course/lesson-11-time-delta/lesson.tres:229
+#: course/lesson-11-time-delta/lesson.tres:227
 msgid "What does this mean?"
 msgstr "O que isso significa?"
 
-#: course/lesson-11-time-delta/lesson.tres:230
+#: course/lesson-11-time-delta/lesson.tres:228
 msgid "[code]rotation_speed * delta[/code]"
 msgstr "[code]rotation_speed * delta[/code]"
 
-#: course/lesson-11-time-delta/lesson.tres:232
+#: course/lesson-11-time-delta/lesson.tres:230
 msgid ""
 "The [code]*[/code] symbol means we're multiplying [code]rotation_speed[/"
 "code] by [code]delta[/code] time."
@@ -376,34 +374,34 @@ msgstr ""
 "O símbolo [code]*[/code] significa que estamos multiplicando "
 "[code]rotation_speed[/code] por [code]delta[/code]."
 
-#: course/lesson-11-time-delta/lesson.tres:233
-#: course/lesson-11-time-delta/lesson.tres:234
+#: course/lesson-11-time-delta/lesson.tres:231
+#: course/lesson-11-time-delta/lesson.tres:232
 msgid "We're multiplying rotation_speed by delta."
 msgstr "Estamos multiplicando a variável rotation_speed por delta."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're dividing delta by rotation_speed."
 msgstr "Estamos dividindo delta pela variável rotation_speed."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're adding rotation_speed to delta."
 msgstr "Estamos somando a variável rotation_speed e delta."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're subtracting delta from rotation_speed."
 msgstr "Estamos subtraindo delta da variável rotation_speed."
 
-#: course/lesson-11-time-delta/lesson.tres:243
+#: course/lesson-11-time-delta/lesson.tres:241
 msgid "In the next practice, we'll use delta to make rotating time-dependent."
 msgstr ""
 "Na próxima prática, vamos usar delta para tornar a rotação dependente do "
 "tempo."
 
-#: course/lesson-11-time-delta/lesson.tres:251
+#: course/lesson-11-time-delta/lesson.tres:249
 msgid "Rotating Using Delta"
 msgstr "Rotacionando Usando Delta"
 
-#: course/lesson-11-time-delta/lesson.tres:252
+#: course/lesson-11-time-delta/lesson.tres:250
 msgid ""
 "At the moment, the rotation of the robot is frame-dependent.\n"
 "\n"
@@ -418,11 +416,11 @@ msgstr ""
 "\n"
 "O robô deve rotacionar [code]2[/code] radianos por segundo."
 
-#: course/lesson-11-time-delta/lesson.tres:271
+#: course/lesson-11-time-delta/lesson.tres:269
 msgid "Moving in a Circle Using Delta"
 msgstr "Movendo em um Círculo Usando Delta"
 
-#: course/lesson-11-time-delta/lesson.tres:272
+#: course/lesson-11-time-delta/lesson.tres:270
 msgid ""
 "In this practice, make the robot move in a smooth circle using delta.\n"
 "\n"
@@ -442,6 +440,6 @@ msgstr ""
 "funções. Se você definir variáveis extras, não poderemos corrigir seu "
 "exercício."
 
-#: course/lesson-11-time-delta/lesson.tres:290
+#: course/lesson-11-time-delta/lesson.tres:288
 msgid "Time Delta"
 msgstr "Delta de Tempo"
diff --git a/i18n/pt_BR/lesson-15-modulo.po b/i18n/pt_BR/lesson-15-modulo.po
deleted file mode 100644
index e04f401a..00000000
--- a/i18n/pt_BR/lesson-15-modulo.po
+++ /dev/null
@@ -1,348 +0,0 @@
-# Translations template for Learn GDScript From Zero.
-# Copyright (C) 2022 GDQuest
-# This file is distributed under the same license as the Learn GDScript From
-# Zero project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Learn GDScript From Zero\n"
-"Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-06-28 10:51+0000\n"
-"Last-Translator: Deolindo <deolindojvn@gmail.com>\n"
-"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-15-modulo/pt_BR/>\n"
-"Language: pt_BR\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.18.1\n"
-"Generated-By: Babel 2.9.1\n"
-
-#: course/lesson-15-modulo/lesson.tres:14
-msgid ""
-"The modulo operation ([code]%[/code]) calculates the remainder of a whole "
-"number division.\n"
-"\n"
-"For example, the modulo of [code]5[/code] by [code]3[/code] ([code]5 % 3[/"
-"code]) is [code]2[/code].\n"
-"\n"
-"We typically use this operation to tell if a number is odd or even or to "
-"produce a random number within a particular range (like a dice roll).\n"
-"\n"
-"Play around with the modulo widget on the right to see how modulo works "
-"visually."
-msgstr ""
-"A operação de módulo ([code]%[/code]) calcula o restante de uma divisão de "
-"número inteiro.\n"
-"\n"
-"Por exemplo, o módulo de [code]5[/code] por [code]3[/code] ([code]5 % 3[/"
-"code]) é [code]2[/code].\n"
-"\n"
-"Normalmente usamos essa operação para saber se um número é par ou ímpar ou "
-"para produzir um número aleatório dentro de um determinado intervalo (como "
-"um lançamento de dados).\n"
-"\n"
-"Brinque um pouco com o widget do módulo à direita para ver como o ele "
-"funciona de uma forma mais visual."
-
-#: course/lesson-15-modulo/lesson.tres:28
-msgid "What's the result of this modulo operation?"
-msgstr "Qual é o resultado dessa operação de módulo?"
-
-#: course/lesson-15-modulo/lesson.tres:29
-msgid "[code]11 % 4[/code]"
-msgstr "[code]11 % 4[/code]"
-
-#: course/lesson-15-modulo/lesson.tres:31
-msgid ""
-"[code]11[/code] divided by [code]4[/code] is [code]2[/code], and the "
-"[b]remainder[/b] of the division is [code]3[/code].\n"
-"\n"
-"So [code]11 % 4[/code] is [code]3[/code]."
-msgstr ""
-"[code]11[/code] dividido por [code]4[/code] é [code]2[/code], e o [b]resto[/"
-"b] da divisão é [code]3[/code] .\n"
-"\n"
-"Então [code]11% 4[/code] é [code]3[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:34
-#: course/lesson-15-modulo/lesson.tres:35
-msgid "3"
-msgstr "3"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "2"
-msgstr "2"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "7"
-msgstr "7"
-
-#: course/lesson-15-modulo/lesson.tres:44
-msgid ""
-"The modulo operation only works on [b]whole numbers[/b]; Not decimal "
-"numbers.\n"
-"\n"
-"Also, just like in regular divisions, the divisor can't be zero.\n"
-"\n"
-"All three examples below will cause an error in your code."
-msgstr ""
-"A operação de módulo só funciona em [b]números inteiros[/b]; Não funciona "
-"com números decimais.\n"
-"\n"
-"Além disso, assim como nas contas de divisão, o divisor não pode ser zero.\n"
-"\n"
-"Todos os três exemplos abaixo causarão um erro no seu código."
-
-#: course/lesson-15-modulo/lesson.tres:66
-msgid "Three ways we use the modulo operation"
-msgstr "Nós usamos a operação de módulo em três ocasiões"
-
-#: course/lesson-15-modulo/lesson.tres:68
-msgid ""
-"The modulo operation has important uses in programming, like making a number "
-"cycle.\n"
-"\n"
-"Take a traffic light, for example."
-msgstr ""
-"A operação de módulo tem usos importantes na programação, como para fazer um "
-"ciclo numérico.\n"
-"\n"
-"Podemos pegar como exemplo um semáforo."
-
-#: course/lesson-15-modulo/lesson.tres:90
-msgid ""
-"We use the number [code]light_index[/code] to represent the traffic light's "
-"current state.\n"
-"\n"
-"The lights always cycle in the same way: first, we have the red light, then "
-"the yellow, then the green.\n"
-"\n"
-"To represent that cycle, you can periodically add one to the number and use "
-"the modulo operator to wrap back to [code]0[/code].\n"
-"\n"
-"Instead, you could use a condition; In this case, we use the modulo as a "
-"shortcut."
-msgstr ""
-"Usamos o número [code]light_index[/code] para representar o estado atual do "
-"semáforo.\n"
-"\n"
-"As luzes sempre circulam da mesma maneira: primeiro, temos a luz vermelha, "
-"depois a amarela, depois a verde.\n"
-"\n"
-"Para representar esse ciclo, você pode adicionar periodicamente um ao número "
-"e usar o operador de módulo para voltar para [code]0[/code].\n"
-"\n"
-"Você também pode usar uma condição; Nesse caso, usamos o módulo como atalho."
-
-#: course/lesson-15-modulo/lesson.tres:114
-msgid "Why do we start from zero?"
-msgstr "Por que começamos com zero?"
-
-#: course/lesson-15-modulo/lesson.tres:116
-msgid ""
-"In computer code, we very often count from [code]0[/code].\n"
-"\n"
-"Every number translates to a precise combination of bits in the machine, "
-"starting from [code]0[/code].\n"
-"\n"
-"We don't want to waste any number, and as the first number the computer "
-"knows about is [code]0[/code], we start counting from [code]0[/code]."
-msgstr ""
-"Em programação, muitas vezes iniciamos a contagem dos números a partir do "
-"número [code]0[/code] e não do número 1.\n"
-"\n"
-"Cada número se traduz em uma combinação precisa de bits dentro da máquina, "
-"começando do [code]0[/code].\n"
-"\n"
-"Não queremos desperdiçar nenhum número, e como o primeiro número que o "
-"computador conhece é o [code]0[/code], então começamos a contar a partir de "
-"[code]0[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:128
-msgid "Using modulo to find even and odd numbers"
-msgstr "Usando o módulo para encontrar números pares e ímpares"
-
-#: course/lesson-15-modulo/lesson.tres:130
-msgid ""
-"We can also use a modulo to check if a number is even or odd. If we divide a "
-"number by [code]2[/code] and there's no remainder, then the number is "
-"[b]even[/b]."
-msgstr ""
-"Também podemos usar a operação de módulo para verificar se um número é par "
-"ou ímpar. Se dividirmos um número por [code]2[/code] e não houver resto da "
-"divisão, ou seja, se o resto da divisão for zero, o número será [b]par[/b]."
-
-#: course/lesson-15-modulo/lesson.tres:150
-msgid ""
-"Notice how the modulo can be larger than the number it affects. For example, "
-"[code]1 % 2[/code] gives you [code]1[/code]. That's because [code]1[/code] "
-"divided by [code]2[/code] equals [code]0[/code], and the remainder is "
-"[code]1[/code].\n"
-"\n"
-"Like with divisions, the only case you can't use modulo is with a divisor of "
-"[code]0[/code]."
-msgstr ""
-"Observe como o módulo pode ser maior do que o número que ele afeta. Por "
-"exemplo, [code]1 % 2[/code] te dá [code]1[/code]. Isso porque [code]1[/code] "
-"dividido por [code]2[/code] é igual a [code]0[/code], e o resto da divisão é "
-"[code]1[/code].\n"
-"\n"
-"Assim como nas operações de divisão, o único caso em que você não pode usar "
-"o módulo é com um divisor de [code]0[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:170
-msgid "Calculating a random number within a range"
-msgstr "Calculando um número aleatório dentro de um intervalo"
-
-#: course/lesson-15-modulo/lesson.tres:172
-msgid ""
-"We can use the modulo to simulate dice rolls. To do so, we generate a large "
-"random number and use the modulo operator to limit the number's range.\n"
-"\n"
-"To generate a random whole number, you can call the [code]randi()[/code] "
-"function. The name stands for random integer.\n"
-"\n"
-"The number the function generates can be huge: roughly up to 2 billion on an "
-"Android device and around 10^18 on a 64-bit computer.\n"
-"\n"
-"You can use the modulo operation to limit the random number's range."
-msgstr ""
-"Podemos usar o módulo para simular jogadas de dados. Para fazer isso, "
-"geramos um grande número aleatório e usamos o operador módulo para limitar o "
-"intervalo do número.\n"
-"\n"
-"Para gerar um número inteiro aleatório, você pode chamar a função "
-"[code]randi()[/code]. O nome significa random integer (número inteiro "
-"aleatório).\n"
-"\n"
-"O número que a função gera pode ser enorme: aproximadamente até 2 bilhões em "
-"um dispositivo Android por exemplo e cerca de 10^18 em um computador de 64 "
-"bits.\n"
-"\n"
-"Você pode usar a operação de módulo para limitar o intervalo do número "
-"aleatório."
-
-#: course/lesson-15-modulo/lesson.tres:198
-msgid ""
-"The result is also random because we use the modulo operation on a random "
-"number.\n"
-"\n"
-"In the following practices, you'll use a modulo to advance traffic lights, "
-"add maximum health to the robot on every odd level, and learn how to code "
-"dice rolls."
-msgstr ""
-"O resultado também é aleatório porque usamos a operação módulo em um número "
-"aleatório.\n"
-"\n"
-"Nas próximas práticas, você vai usar uma operação de módulo para avançar "
-"semáforos, adicionar uma vida máxima ao robô em cada nível ímpar e aprender "
-"a programar jogadas de dados."
-
-#: course/lesson-15-modulo/lesson.tres:208
-msgid "Advancing Traffic Lights"
-msgstr "Avançando Luzes de Semáforos"
-
-#: course/lesson-15-modulo/lesson.tres:209
-msgid ""
-"Add to the [code]advance_traffic_light()[/code] function so the "
-"[code]light_index[/code] variable increments by one, then wraps back to "
-"[code]0[/code] if it gets too high.\n"
-"\n"
-"Use the modulo operator [code]%[/code] to make sure the value of "
-"[code]light_index[/code] wraps back to [code]0[/code].\n"
-"\n"
-"The value of [code]light_index[/code] should only ever be [code]0[/code], "
-"[code]1[/code], or [code]2[/code]."
-msgstr ""
-"Adicione algo na função [code]advance_traffic_light()[/code] para que a "
-"variável [code]light_index[/code] seja incrementada em um e, em seguida, "
-"volte para [code]0[/code] se o valor ficar muito alto.\n"
-"\n"
-"Use o operador de módulo [code]%[/code] para garantir que o valor de "
-"[code]light_index[/code] volte para [code]0[/code].\n"
-"\n"
-"O valor de [code]light_index[/code] só deve ser [code]0[/code], [code]1[/"
-"code] ou [code]2[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:223
-msgid ""
-"Learn how to use modulo to wrap a number back to zero using traffic lights."
-msgstr ""
-"Aprenda a usar a operação de módulo para fazer um número voltar pra zero "
-"usando luzes de semáforos."
-
-#: course/lesson-15-modulo/lesson.tres:228
-msgid "Rolling Dice"
-msgstr "Lançando dados"
-
-#: course/lesson-15-modulo/lesson.tres:229
-msgid ""
-"Our dice rolling function doesn't work! Right now, it always gives the "
-"result of how many sides the dice has: 20.\n"
-"\n"
-"Use [code]randi()[/code] to generate a random number and the modulo "
-"operation [code]%[/code]. \n"
-"\n"
-"Using the [code]return[/code] keyword inside the function, return a random "
-"number between [code]1[/code] and [code]sides[/code]."
-msgstr ""
-"Nossa função de lançar dados não funciona! Neste momento, ela sempre dá o "
-"resultado de quantos lados o dado tem: 20.\n"
-"\n"
-"Use a função [code]randi()[/code] para gerar um número aleatório e use "
-"também a operação de módulo [code]%[/code].\n"
-"\n"
-"Usando a palavra-chave [code]return[/code] dentro da função, retorne um "
-"número aleatório entre [code]1[/code] e [code]sides[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:243
-msgid ""
-"Whether in a board game or video game, getting a random number is always "
-"useful. Here, we create a function that simulates a dice roll."
-msgstr ""
-"Seja em um jogo de tabuleiro ou videogame, obter um número aleatório é "
-"sempre útil. Aqui, nós criamos uma função que simula um lançamento de dados."
-
-#: course/lesson-15-modulo/lesson.tres:248
-msgid "Bonus Health Every Other Level"
-msgstr "Bônus de Vida em Todos os Outros Níveis"
-
-#: course/lesson-15-modulo/lesson.tres:249
-msgid ""
-"Change the [code]level_up()[/code] function so it does the following:\n"
-"\n"
-"1) Increment [code]level[/code] by [code]1[/code]\n"
-"2) Increase [code]max_health[/code] by [code]5[/code]\n"
-"3) If [code]level[/code] is [b]even[/b], increase [code]max_health[/code] by "
-"an additional [code]5[/code]\n"
-"\n"
-"The robot starts with [code]100[/code] maximum health. It will gain three "
-"levels when you run the code. At level 4, the robot should have [code]125[/"
-"code] maximum health."
-msgstr ""
-"Altere a função [code]level_up()[/code] para que faça o seguinte:\n"
-"\n"
-"1) Incrementar o [code]level[/code] em [code]1[/code]\n"
-"2) Aumentar o [code]max_health[/code] em [code]5[/code]\n"
-"3) Se [code]level[/code] for [b]par[/b], aumente [code]max_health[/code] por "
-"um adicional de [code]5[/code] \n"
-"\n"
-"O robô começa com [code]100[/code] de vida máxima. Ele ganhará três níveis "
-"quando você executar o código. No nível 4, o robô deve ter [code]125[/code] "
-"de vida máxima."
-
-#: course/lesson-15-modulo/lesson.tres:265
-msgid ""
-"There are other ways to increase maximum health. You could use a modulo to "
-"give a bonus every even level. Learn how here!"
-msgstr ""
-"Existem outras maneiras de aumentar a vida máxima. Você pode usar a operação "
-"de módulo para dar um bônus a cada nível par. Aprenda como fazer isso aqui!"
-
-#: course/lesson-15-modulo/lesson.tres:269
-msgid "Modulo"
-msgstr "Operação de Módulo"
diff --git a/i18n/pt_BR/lesson-7-member-variables.po b/i18n/pt_BR/lesson-7-member-variables.po
index 5cca9005..a3137387 100644
--- a/i18n/pt_BR/lesson-7-member-variables.po
+++ b/i18n/pt_BR/lesson-7-member-variables.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-07-01 12:52+0000\n"
 "Last-Translator: Deolindo <deolindojvn@gmail.com>\n"
 "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
@@ -219,10 +219,11 @@ msgid "In games, the Y-axis is positive going down"
 msgstr "Nos jogos, o eixo Y é positivo quando ele vai para baixo"
 
 #: course/lesson-7-member-variables/lesson.tres:172
+#, fuzzy
 msgid ""
 "Note that in games, assuming your character's position starts at (0, 0), the "
-"code above moves the entity [code]180[/code] pixels to the right and "
-"[code]120[/code] pixels down.\n"
+"code above moves the entity [code]200[/code] pixels to the right and "
+"[code]250[/code] pixels down.\n"
 "\n"
 "In math, the y-axis is generally positive going up by convention.\n"
 "\n"
diff --git a/i18n/ru/application.po b/i18n/ru/application.po
index 81b29c0c..5622d135 100644
--- a/i18n/ru/application.po
+++ b/i18n/ru/application.po
@@ -8,11 +8,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-09-01 23:07+0000\n"
 "Last-Translator: gsomgsom <zhelneen@yandex.ru>\n"
-"Language-Team: Russian <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/application/ru/>\n"
+"Language-Team: Russian <https://hosted.weblate.org/projects/learn-gdscript-"
+"from-zero/application/ru/>\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -295,14 +295,14 @@ msgid ""
 "individual error that you face. Quick, click the [b]Explain[/b] button next "
 "to the error message!"
 msgstr ""
-"Уроки этого курса построены так, что вам потребуется редактировать только [b]"
-"важные фрагменты кода[/b]. Но кроме того кода, который вы видите, существует "
-"ещё очень много кода заставляющего этот проект работать.\n"
+"Уроки этого курса построены так, что вам потребуется редактировать только "
+"[b]важные фрагменты кода[/b]. Но кроме того кода, который вы видите, "
+"существует ещё очень много кода заставляющего этот проект работать.\n"
 "\n"
 "Это означает, что иногда вносимые вами изменения могут повлиять на код, "
 "который вам недоступен. Но не волнуйтесь, вы всё ещё можете решить все "
-"возникающие проблемы самостоятельно, с помощью кода, который вы [b]можете[/b]"
-" редактировать!\n"
+"возникающие проблемы самостоятельно, с помощью кода, который вы [b]можете[/"
+"b] редактировать!\n"
 "\n"
 "[i]Это похоже на то, как работают игровые движки.[/i] Существует много "
 "скрытого кода, который они выполняют, чтобы обеспечить бесперебойную работу "
@@ -547,88 +547,107 @@ msgstr "Сбросить прогресс"
 msgid "Confirm Resetting Progress"
 msgstr "Подтвердите сброс прогресса"
 
-#: ui/screens/end_screen/EndScreen.tscn:229
-#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
-msgid "Congratulations!"
-msgstr "Поздравляем!"
+#: ui/screens/end_screen/EndScreen.tscn:300
+#: ui/screens/end_screen/EndScreen.tscn:313
+msgid "YOU MADE IT!"
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:236
+#: ui/screens/end_screen/EndScreen.tscn:343
 msgid ""
-"You completed Learn GDScript From Zero. You now have the basics you need to "
-"dive into game creation with the Godot game engine.\n"
-"\n"
-"If you're looking for a free series to keep learning the basics with us, you "
-"can move on to [url=https://www.gdquest.com/tutorial/godot/learning-paths/"
-"getting-started-in-2021/]Getting Started with Godot[/url]."
+"Not only did you learn the foundations of coding, you’re a big step closer "
+"to making your own games."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:363
+msgid "Don't stop here..."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:373
+msgid "The fun stuff starts now!"
 msgstr ""
-"Вы завершили курс Learn GDScript From Zero. Теперь у вас есть необходимые "
-"базовые знания, чтобы с головой погрузиться в разработку игр с помощью "
-"игрового движка Godot.\n"
-"\n"
-"Если вы ищите бесплатные уроки чтобы продолжить получать знания с нами, вы "
-"можете перейти на [url=https://www.gdquest.com/tutorial/godot/learning-paths/"
-"getting-started-in-2021/]Введение в Godot[/url]."
 
-#: ui/screens/end_screen/EndScreen.tscn:249
-msgid "Or level up faster by taking this shortcut"
-msgstr "Или повышайте уровень быстрее, используя короткий путь"
+#: ui/screens/end_screen/EndScreen.tscn:388
+msgid "There are 2 pathways learners traditionally take from here:"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:402
+msgid "Following video tutorials"
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:256
+#: ui/screens/end_screen/EndScreen.tscn:417
 msgid ""
-"There are loads of free game creation tutorials, but they don't form a clear "
-"path.\n"
-"\n"
-"Worse, most of them are like step-by-step recipes. But as you learned, you "
-"can't become a developer by just following recipes.\n"
-"\n"
-"Every project has unique challenges and requires [i]creative problem "
-"solving[/i]. You need to [i]think like a programmer[/i].\n"
-"\n"
-"Learning that on your own can take years."
+"They’re a great way to pick up specific game mechanics but they’re not as "
+"effective when you’re trying to learn new skills from the ground up."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:449
+msgid "• There’s no clear learning path."
 msgstr ""
-"Есть много бесплатных уроков по созданию игр, но у них нет определенного "
-"пути изучения.\n"
-"\n"
-"Еще хуже, большинство их них представляют из себя пошаговые рецепты. Как вы "
-"уже узнали — невозможно стать разработчиком просто следуя рецептам.\n"
-"\n"
-"В каждом нашем проекте есть уникальные испытания которые требуют "
-"[i]креативного решения проблем[/i]. Вам нужно [i]думать как программист[/"
-"i].\n"
-"\n"
-"На самостоятельное изучение этого могут уйти годы."
 
-#: ui/screens/end_screen/EndScreen.tscn:277
-msgid "Learn to Code From Zero, with Godot"
-msgstr "Научитесь программировать с нуля в Godot"
+#: ui/screens/end_screen/EndScreen.tscn:464
+msgid "• Retention and skill acquisition is slow and limited."
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:284
+#: ui/screens/end_screen/EndScreen.tscn:480
 msgid ""
-"This app is the free part of our in-depth course, [url=https://gdquest."
-"mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
-"From Zero, with Godot[/b][/url].\n"
-"\n"
-"The course picks up right where this app ends to take you to the point where "
-"you can make [i]your[/i] game.\n"
-"\n"
-"It's the only course that'll truly teach you [i]how to become a game "
-"developer[/i] with Godot."
+"We make our fair share of [b][color=#ebc3ff][url=https://www.youtube.com/"
+"@Gdquest/videos]free tutorials[/url][/color][/b]. They will come in very "
+"handy once you start making games on your own. But to get started, we really "
+"recommend you learn how to think like a game developer using [b]"
+"[color=#ebc3ff][url=https://school.gdquest.com/godot-4-early-access]courses[/"
+"url][/color][/b]."
 msgstr ""
-"Это приложение — бесплатная часть нашего углубленного курса, [url=https://"
-"gdquest.mavenseed.com/courses/learn-to-code-from-zero-with-godot]"
-"[b]Научитесь программировать с нуля в Godot[/b][/url].\n"
-"\n"
-"Этот курс начинается ровно там, где заканчивается этот, чтобы привести вас к "
-"моменту, когда вы можете создать [i]свою[/i] игру.\n"
+
+#: ui/screens/end_screen/EndScreen.tscn:495
+msgid "Learning with courses"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:511
+msgid ""
+"Note that most available courses online are actually premium series of video "
+"tutorials. The problem of retaining information and acquiring real skills "
+"unfortunately still applies to them."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:527
+msgid ""
+"At GDQuest, we’re educators at heart. We believe in applied study and we "
+"believe it doesn’t have to be boring. When teaching is done correctly, most "
+"people highly enjoy the sensation of leveling up!\n"
 "\n"
-"Это единственный курс который действительно научит вас [i]как стать "
-"разработчиком игр[/i] в Godot."
+"That’s the reason we made this app. It is in fact part of our beginner "
+"course [b][color=#ebc3ff][url=https://school.gdquest.com/products/"
+"bundle_learn_gamedev_godot_4]Learn Gamedev From Zero with Godot[/url][/color]"
+"[/b]."
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:308
-#: ui/screens/lesson/UIContentBlock.gd:70
-#: ui/screens/lesson/UIContentBlock.gd:134
-msgid "Learn More"
-msgstr "Узнать больше"
+#: ui/screens/end_screen/EndScreen.tscn:565
+msgid "LEARN GAMEDEV WITH GODOT"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:710
+msgid "Now available"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:720
+msgid "for preorders"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:737
+msgid "Godot 4 courses!!"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:783
+msgid "Teaching gamedev in the classroom?"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:796
+msgid "Get in touch"
+msgstr ""
+
+#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
+msgid "Congratulations!"
+msgstr "Поздравляем!"
 
 #: ui/screens/end_screen/SponsorlessEndScreen.tscn:203
 msgid ""
@@ -661,9 +680,14 @@ msgid ""
 msgstr ""
 "Как и Godot, это приложение и курс бесплатны и имеют открытый исходный код.\n"
 "\n"
-"Вы можете найти исходный код приложения и улучшить перевод здесь: [url="
-"\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero ("
-"репозиторий Github)[/url]."
+"Вы можете найти исходный код приложения и улучшить перевод здесь: "
+"[url=\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero "
+"(репозиторий Github)[/url]."
+
+#: ui/screens/end_screen/thumbnails/CourseThumbnail.tscn:42
+#, fuzzy
+msgid "Early Access release: 2024/01/30"
+msgstr "Ранний бета-релиз"
 
 #: ui/screens/lesson/UIBaseQuiz.tscn:56
 msgid "[b]Question[/b]"
@@ -689,6 +713,11 @@ msgstr "Все верно!"
 msgid "Answers here"
 msgstr "Ответы здесь"
 
+#: ui/screens/lesson/UIContentBlock.gd:70
+#: ui/screens/lesson/UIContentBlock.gd:134
+msgid "Learn More"
+msgstr "Узнать больше"
+
 #: ui/screens/lesson/UIContentBlock.tscn:47
 msgid "Placeholder heading"
 msgstr "Заполнитель заголовка"
@@ -762,22 +791,89 @@ msgid "CONTINUE"
 msgstr "ПРОДОЛЖИТЬ"
 
 #: ui/screens/welcome_screen/WelcomeScreen.gd:44
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:627
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:625
 msgid "START"
 msgstr "НАЧАТЬ"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:645
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:643
 msgid "SELECT LESSON"
 msgstr "ВЫБРАТЬ УРОК"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:659
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:657
 msgid "OPTIONS"
 msgstr "ОПЦИИ"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:693
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:691
 msgid "QUIT"
 msgstr "ВЫХОД"
 
+#~ msgid ""
+#~ "You completed Learn GDScript From Zero. You now have the basics you need "
+#~ "to dive into game creation with the Godot game engine.\n"
+#~ "\n"
+#~ "If you're looking for a free series to keep learning the basics with us, "
+#~ "you can move on to [url=https://www.gdquest.com/tutorial/godot/learning-"
+#~ "paths/getting-started-in-2021/]Getting Started with Godot[/url]."
+#~ msgstr ""
+#~ "Вы завершили курс Learn GDScript From Zero. Теперь у вас есть необходимые "
+#~ "базовые знания, чтобы с головой погрузиться в разработку игр с помощью "
+#~ "игрового движка Godot.\n"
+#~ "\n"
+#~ "Если вы ищите бесплатные уроки чтобы продолжить получать знания с нами, "
+#~ "вы можете перейти на [url=https://www.gdquest.com/tutorial/godot/learning-"
+#~ "paths/getting-started-in-2021/]Введение в Godot[/url]."
+
+#~ msgid "Or level up faster by taking this shortcut"
+#~ msgstr "Или повышайте уровень быстрее, используя короткий путь"
+
+#~ msgid ""
+#~ "There are loads of free game creation tutorials, but they don't form a "
+#~ "clear path.\n"
+#~ "\n"
+#~ "Worse, most of them are like step-by-step recipes. But as you learned, "
+#~ "you can't become a developer by just following recipes.\n"
+#~ "\n"
+#~ "Every project has unique challenges and requires [i]creative problem "
+#~ "solving[/i]. You need to [i]think like a programmer[/i].\n"
+#~ "\n"
+#~ "Learning that on your own can take years."
+#~ msgstr ""
+#~ "Есть много бесплатных уроков по созданию игр, но у них нет определенного "
+#~ "пути изучения.\n"
+#~ "\n"
+#~ "Еще хуже, большинство их них представляют из себя пошаговые рецепты. Как "
+#~ "вы уже узнали — невозможно стать разработчиком просто следуя рецептам.\n"
+#~ "\n"
+#~ "В каждом нашем проекте есть уникальные испытания которые требуют "
+#~ "[i]креативного решения проблем[/i]. Вам нужно [i]думать как программист[/"
+#~ "i].\n"
+#~ "\n"
+#~ "На самостоятельное изучение этого могут уйти годы."
+
+#~ msgid "Learn to Code From Zero, with Godot"
+#~ msgstr "Научитесь программировать с нуля в Godot"
+
+#~ msgid ""
+#~ "This app is the free part of our in-depth course, [url=https://gdquest."
+#~ "mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
+#~ "From Zero, with Godot[/b][/url].\n"
+#~ "\n"
+#~ "The course picks up right where this app ends to take you to the point "
+#~ "where you can make [i]your[/i] game.\n"
+#~ "\n"
+#~ "It's the only course that'll truly teach you [i]how to become a game "
+#~ "developer[/i] with Godot."
+#~ msgstr ""
+#~ "Это приложение — бесплатная часть нашего углубленного курса, [url=https://"
+#~ "gdquest.mavenseed.com/courses/learn-to-code-from-zero-with-godot]"
+#~ "[b]Научитесь программировать с нуля в Godot[/b][/url].\n"
+#~ "\n"
+#~ "Этот курс начинается ровно там, где заканчивается этот, чтобы привести "
+#~ "вас к моменту, когда вы можете создать [i]свою[/i] игру.\n"
+#~ "\n"
+#~ "Это единственный курс который действительно научит вас [i]как стать "
+#~ "разработчиком игр[/i] в Godot."
+
 #~ msgid "Connected to the server."
 #~ msgstr "Подключен к серверу."
 
@@ -936,9 +1032,6 @@ msgstr "ВЫХОД"
 #~ "\n"
 #~ "Чтобы начать, нажмите кнопку [i]Начать курс[/i] справа."
 
-#~ msgid "Early beta release"
-#~ msgstr "Ранний бета-релиз"
-
 #~ msgid ""
 #~ "The app is in [b]beta[/b].\n"
 #~ "\n"
diff --git a/i18n/ru/classref_database.po b/i18n/ru/classref_database.po
index c10b7cac..0f3b7cd4 100644
--- a/i18n/ru/classref_database.po
+++ b/i18n/ru/classref_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-09-01 23:07+0000\n"
 "Last-Translator: gsomgsom <zhelneen@yandex.ru>\n"
 "Language-Team: Russian <https://hosted.weblate.org/projects/learn-gdscript-"
diff --git a/i18n/ru/error_database.po b/i18n/ru/error_database.po
index ce7755ac..cd1f3f58 100644
--- a/i18n/ru/error_database.po
+++ b/i18n/ru/error_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-09-01 23:07+0000\n"
 "Last-Translator: gsomgsom <zhelneen@yandex.ru>\n"
 "Language-Team: Russian <https://hosted.weblate.org/projects/learn-gdscript-"
diff --git a/i18n/ru/glossary_database.po b/i18n/ru/glossary_database.po
index 71b03310..b1ec91ec 100644
--- a/i18n/ru/glossary_database.po
+++ b/i18n/ru/glossary_database.po
@@ -8,9 +8,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
-"PO-Revision-Date: 2022-10-20 21:32+0700\n"
-"Last-Translator: degradka <degradka@gmail.com>\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
+"PO-Revision-Date: 2023-11-12 10:05+0000\n"
+"Last-Translator: Kirill <esuba@mail.ru>\n"
 "Language-Team: Russian <https://hosted.weblate.org/projects/learn-gdscript-"
 "from-zero/glossary_database/ru/>\n"
 "Language: ru\n"
@@ -19,7 +19,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Poedit 3.1.1\n"
+"X-Generator: Weblate 5.2-dev\n"
 "Generated-By: Babel 2.9.1\n"
 
 #. Reference: member function
diff --git a/i18n/ru/lesson-11-time-delta.po b/i18n/ru/lesson-11-time-delta.po
index 931a5f29..3b1abf43 100644
--- a/i18n/ru/lesson-11-time-delta.po
+++ b/i18n/ru/lesson-11-time-delta.po
@@ -8,11 +8,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-09-01 23:07+0000\n"
 "Last-Translator: gsomgsom <zhelneen@yandex.ru>\n"
-"Language-Team: Russian <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-11-time-delta/ru/>\n"
+"Language-Team: Russian <https://hosted.weblate.org/projects/learn-gdscript-"
+"from-zero/lesson-11-time-delta/ru/>\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -134,6 +134,7 @@ msgid "Frames take varying amounts of time to calculate"
 msgstr "Кадры требуют различного количества времени на вычисление"
 
 #: course/lesson-11-time-delta/lesson.tres:93
+#, fuzzy
 msgid ""
 "Depending on the game, the computer, and what the game engine needs to "
 "calculate, frames take more or less time to display.\n"
@@ -146,9 +147,6 @@ msgid ""
 "Delta represents a time difference. It's the time passed since the previous "
 "frame, in seconds.\n"
 "\n"
-"The [code]delta[/code] parameter tells us how long it took for Godot to "
-"complete the [b]previous frame[/b].\n"
-"\n"
 "We can use it to ensure that the changes between frames don't make the "
 "game's behavior unreliable.\n"
 "\n"
@@ -186,11 +184,11 @@ msgstr ""
 "различаться в зависимости от компьютера. Delta помогает сделать игровой "
 "процесс одинаковым для всех."
 
-#: course/lesson-11-time-delta/lesson.tres:115
+#: course/lesson-11-time-delta/lesson.tres:113
 msgid "What do we know about delta?"
 msgstr "Что мы знаем о параметре delta?"
 
-#: course/lesson-11-time-delta/lesson.tres:118
+#: course/lesson-11-time-delta/lesson.tres:116
 msgid ""
 "[code]delta[/code] is the time it took Godot to complete the previous frame "
 "in seconds.\n"
@@ -208,26 +206,26 @@ msgstr ""
 "Значение delta отличается от кадра к кадру, так как обработку каждого из них "
 "Godot выполняет за различное количество времени."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's a value in seconds."
 msgstr "Это значение в секундах."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It varies each frame."
 msgstr "Он имеет различное значение каждый кадр."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's the time it took Godot to complete the previous frame."
 msgstr "Это время, которое затрачивает Godot для завершения предыдущего кадра."
 
-#: course/lesson-11-time-delta/lesson.tres:131
+#: course/lesson-11-time-delta/lesson.tres:129
 msgid "Multiplying by delta"
 msgstr "Умножение на дельту"
 
-#: course/lesson-11-time-delta/lesson.tres:133
+#: course/lesson-11-time-delta/lesson.tres:131
 msgid ""
 "The [code]delta[/code] you get in [code]_process()[/code] is a time "
 "difference in seconds. It will generally be a tiny decimal number.\n"
@@ -242,7 +240,7 @@ msgstr ""
 "Чтобы применить параметр [code]delta[/code], вам нужно [i]умножить[/i] все "
 "значения скорости на него."
 
-#: course/lesson-11-time-delta/lesson.tres:155
+#: course/lesson-11-time-delta/lesson.tres:153
 msgid ""
 "When multiplying by [code]delta[/code], you make motion [i]time-dependent[/"
 "i] rather than [i]frame-dependent[/i].\n"
@@ -255,11 +253,11 @@ msgstr ""
 "\n"
 "Это важно для того, чтобы ваша игра была последовательной и справедливой."
 
-#: course/lesson-11-time-delta/lesson.tres:165
+#: course/lesson-11-time-delta/lesson.tres:163
 msgid "Why do we use the number 3.0 in this example?"
 msgstr "Почему мы используем число 3.0 в этом примере?"
 
-#: course/lesson-11-time-delta/lesson.tres:167
+#: course/lesson-11-time-delta/lesson.tres:165
 msgid ""
 "At the top of the lesson, we made the robot rotate a fixed amount every "
 "frame: [code]0.05[/code] radians.\n"
@@ -288,11 +286,11 @@ msgstr ""
 "\n"
 "В примере выше мы [i]умножили[/i] аргумент на очень маленькое значение "
 "[code]delta[/code], значение, существенно меньшее чем [code]1.0[/code]. "
-"Благодаря этому робот поворачивается со скоростью, фиксированной во времени."
-"\n"
+"Благодаря этому робот поворачивается со скоростью, фиксированной во "
+"времени.\n"
 "\n"
-"Однако умножение на число ниже [code]1.0[/code], такое как [code]delta[/code]"
-", делает результат меньше.\n"
+"Однако умножение на число ниже [code]1.0[/code], такое как [code]delta[/"
+"code], делает результат меньше.\n"
 "\n"
 "Чтобы компенсировать это и сделать вращение робота достаточно быстрым, мы "
 "должны использовать числа, которые больше тех, что мы использовали раньше, "
@@ -309,11 +307,11 @@ msgstr ""
 "понимание к вам придёт после того, как вы разберётесь со скоростью, "
 "ускорением и движением в ваших игровых проектах."
 
-#: course/lesson-11-time-delta/lesson.tres:187
+#: course/lesson-11-time-delta/lesson.tres:185
 msgid "Why the time between frames matters"
 msgstr "Почему разница во времени между кадрами важна"
 
-#: course/lesson-11-time-delta/lesson.tres:189
+#: course/lesson-11-time-delta/lesson.tres:187
 msgid ""
 "The time it takes to display a new frame varies.\n"
 "\n"
@@ -346,7 +344,7 @@ msgstr ""
 "\n"
 "Нижний робот будет двигаться [i]у всех по-разному[/i]!"
 
-#: course/lesson-11-time-delta/lesson.tres:217
+#: course/lesson-11-time-delta/lesson.tres:215
 msgid ""
 "Multiplying time-sensitive values by [code]delta[/code] makes them [b]time-"
 "dependent[/b] rather than [b]frame-dependent[/b].\n"
@@ -368,15 +366,15 @@ msgstr ""
 "передвижения была бы разной для каждого из игроков, что сделало бы игру "
 "непредсказуемой и беспорядочной."
 
-#: course/lesson-11-time-delta/lesson.tres:229
+#: course/lesson-11-time-delta/lesson.tres:227
 msgid "What does this mean?"
 msgstr "Что это значит?"
 
-#: course/lesson-11-time-delta/lesson.tres:230
+#: course/lesson-11-time-delta/lesson.tres:228
 msgid "[code]rotation_speed * delta[/code]"
 msgstr "[code]rotation_speed * delta[/code]"
 
-#: course/lesson-11-time-delta/lesson.tres:232
+#: course/lesson-11-time-delta/lesson.tres:230
 msgid ""
 "The [code]*[/code] symbol means we're multiplying [code]rotation_speed[/"
 "code] by [code]delta[/code] time."
@@ -384,34 +382,34 @@ msgstr ""
 "Символ [code]*[/code] обозначает умножение [code]rotation_speed[/code] на "
 "[code]delta[/code] времени."
 
-#: course/lesson-11-time-delta/lesson.tres:233
-#: course/lesson-11-time-delta/lesson.tres:234
+#: course/lesson-11-time-delta/lesson.tres:231
+#: course/lesson-11-time-delta/lesson.tres:232
 msgid "We're multiplying rotation_speed by delta."
 msgstr "Мы умножаем rotation_speed на delta."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're dividing delta by rotation_speed."
 msgstr "Мы делим delta на rotation_speed."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're adding rotation_speed to delta."
 msgstr "Мы прибавляем rotation_speed к delta."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're subtracting delta from rotation_speed."
 msgstr "Мы вычитаем delta из rotation_speed."
 
-#: course/lesson-11-time-delta/lesson.tres:243
+#: course/lesson-11-time-delta/lesson.tres:241
 msgid "In the next practice, we'll use delta to make rotating time-dependent."
 msgstr ""
 "В следующем упражнении мы будем использовать delta чтобы сделать вращение "
 "зависимым от времени."
 
-#: course/lesson-11-time-delta/lesson.tres:251
+#: course/lesson-11-time-delta/lesson.tres:249
 msgid "Rotating Using Delta"
 msgstr "Вращение с использованием дельты"
 
-#: course/lesson-11-time-delta/lesson.tres:252
+#: course/lesson-11-time-delta/lesson.tres:250
 msgid ""
 "At the moment, the rotation of the robot is frame-dependent.\n"
 "\n"
@@ -427,11 +425,11 @@ msgstr ""
 "\n"
 "Робот должен вращаться на [code]2[/code] радиана в секунду."
 
-#: course/lesson-11-time-delta/lesson.tres:271
+#: course/lesson-11-time-delta/lesson.tres:269
 msgid "Moving in a Circle Using Delta"
 msgstr "Перемещение по кругу с использованием дельты"
 
-#: course/lesson-11-time-delta/lesson.tres:272
+#: course/lesson-11-time-delta/lesson.tres:270
 msgid ""
 "In this practice, make the robot move in a smooth circle using delta.\n"
 "\n"
@@ -452,6 +450,6 @@ msgstr ""
 "скобках. Если вы определите дополнительные переменные, мы не сможем "
 "проверить правильность вашего решения."
 
-#: course/lesson-11-time-delta/lesson.tres:290
+#: course/lesson-11-time-delta/lesson.tres:288
 msgid "Time Delta"
 msgstr "Дельта времени"
diff --git a/i18n/ru/lesson-15-modulo.po b/i18n/ru/lesson-15-modulo.po
deleted file mode 100644
index e05c4831..00000000
--- a/i18n/ru/lesson-15-modulo.po
+++ /dev/null
@@ -1,352 +0,0 @@
-# Translations template for Learn GDScript From Zero.
-# Copyright (C) 2022 GDQuest
-# This file is distributed under the same license as the Learn GDScript From
-# Zero project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Learn GDScript From Zero\n"
-"Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-09-01 23:07+0000\n"
-"Last-Translator: gsomgsom <zhelneen@yandex.ru>\n"
-"Language-Team: Russian <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-15-modulo/ru/>\n"
-"Language: ru\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 5.0.1-dev\n"
-"Generated-By: Babel 2.9.1\n"
-
-#: course/lesson-15-modulo/lesson.tres:14
-msgid ""
-"The modulo operation ([code]%[/code]) calculates the remainder of a whole "
-"number division.\n"
-"\n"
-"For example, the modulo of [code]5[/code] by [code]3[/code] ([code]5 % 3[/"
-"code]) is [code]2[/code].\n"
-"\n"
-"We typically use this operation to tell if a number is odd or even or to "
-"produce a random number within a particular range (like a dice roll).\n"
-"\n"
-"Play around with the modulo widget on the right to see how modulo works "
-"visually."
-msgstr ""
-"Оператор [code]%[/code] рассчитывает остаток от деления целых чисел.\n"
-"\n"
-"Например, остаток от деления [code]5[/code] на [code]3[/code] ([code]5 % 3[/"
-"code]) — это [code]2[/code].\n"
-"\n"
-"Обычно мы используем этот оператор, чтобы проверить чётность числа, либо "
-"сгенерировать случайное число в конкретном диапазоне (как при бросании "
-"игральной кости).\n"
-"\n"
-"Поэкспериментируйте с виджетом, приложенным справа, чтобы наглядно увидеть, "
-"как работает операция получения остатка от деления."
-
-#: course/lesson-15-modulo/lesson.tres:28
-msgid "What's the result of this modulo operation?"
-msgstr "Какой результат выполнения у этой операции?"
-
-#: course/lesson-15-modulo/lesson.tres:29
-msgid "[code]11 % 4[/code]"
-msgstr "[code]11 % 4[/code]"
-
-#: course/lesson-15-modulo/lesson.tres:31
-msgid ""
-"[code]11[/code] divided by [code]4[/code] is [code]2[/code], and the "
-"[b]remainder[/b] of the division is [code]3[/code].\n"
-"\n"
-"So [code]11 % 4[/code] is [code]3[/code]."
-msgstr ""
-"Деление [code]11[/code] на [code]4[/code] даёт результат [code]2[/code], и "
-"[code]3[/code] в [b]остатке[/b].\n"
-"\n"
-"Соответственно, [code]11 % 4[/code] равно [code]3[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:34
-#: course/lesson-15-modulo/lesson.tres:35
-msgid "3"
-msgstr "3"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "2"
-msgstr "2"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "7"
-msgstr "7"
-
-#: course/lesson-15-modulo/lesson.tres:44
-msgid ""
-"The modulo operation only works on [b]whole numbers[/b]; Not decimal "
-"numbers.\n"
-"\n"
-"Also, just like in regular divisions, the divisor can't be zero.\n"
-"\n"
-"All three examples below will cause an error in your code."
-msgstr ""
-"Операция получения остатка от деления работает только с [b]целыми числами[/"
-"b]; Не с десятичными дробями.\n"
-"\n"
-"Также как и при обычном делении, в качестве делителя нельзя использовать "
-"ноль.\n"
-"\n"
-"Все три примера, показанные ниже, вызовут ошибку в вашем коде."
-
-#: course/lesson-15-modulo/lesson.tres:66
-msgid "Three ways we use the modulo operation"
-msgstr "Три способа использовать остаток от деления"
-
-#: course/lesson-15-modulo/lesson.tres:68
-msgid ""
-"The modulo operation has important uses in programming, like making a number "
-"cycle.\n"
-"\n"
-"Take a traffic light, for example."
-msgstr ""
-"Есть несколько важных способов применения этой операции в программировании, "
-"например, создание числового цикла.\n"
-"\n"
-"Для примера возьмём светофор."
-
-#: course/lesson-15-modulo/lesson.tres:90
-msgid ""
-"We use the number [code]light_index[/code] to represent the traffic light's "
-"current state.\n"
-"\n"
-"The lights always cycle in the same way: first, we have the red light, then "
-"the yellow, then the green.\n"
-"\n"
-"To represent that cycle, you can periodically add one to the number and use "
-"the modulo operator to wrap back to [code]0[/code].\n"
-"\n"
-"Instead, you could use a condition; In this case, we use the modulo as a "
-"shortcut."
-msgstr ""
-"Мы используем число [code]light_index[/code] для представления текущего "
-"состояния светофора.\n"
-"\n"
-"Цвета всегда сменяют друг-друга в одном порядке: красный, жёлтый, зелёный.\n"
-"\n"
-"Для представления этого цикла вы можете периодически добавлять единицу к "
-"числу и использовать оператор получения остатка от деления, чтобы вернуться "
-"к [code]0[/code].\n"
-"\n"
-"Вместо этого вы можете использовать условие; В этом случае остаток от "
-"деления можно использовать для сокращения."
-
-#: course/lesson-15-modulo/lesson.tres:114
-msgid "Why do we start from zero?"
-msgstr "Почему мы начинаем с нуля?"
-
-#: course/lesson-15-modulo/lesson.tres:116
-msgid ""
-"In computer code, we very often count from [code]0[/code].\n"
-"\n"
-"Every number translates to a precise combination of bits in the machine, "
-"starting from [code]0[/code].\n"
-"\n"
-"We don't want to waste any number, and as the first number the computer "
-"knows about is [code]0[/code], we start counting from [code]0[/code]."
-msgstr ""
-"В компьютерном коде мы очень часто начинаем отсчёт с [code]0[/code].\n"
-"\n"
-"Каждое число, начиная с [code]0[/code], преобразуется в точную комбинацию "
-"бит в машине.\n"
-"\n"
-"Мы не хотим тратить числа зря, поэтому мы начинаем считать с [code]0[/code], "
-"поскольку [code]0[/code] — это первое число, известное компьютеру."
-
-#: course/lesson-15-modulo/lesson.tres:128
-msgid "Using modulo to find even and odd numbers"
-msgstr "Использование остатка от деления для поиска чётных и нечётных чисел"
-
-#: course/lesson-15-modulo/lesson.tres:130
-msgid ""
-"We can also use a modulo to check if a number is even or odd. If we divide a "
-"number by [code]2[/code] and there's no remainder, then the number is "
-"[b]even[/b]."
-msgstr ""
-"Также мы можем использовать остаток от деления для проверки чётности чисел. "
-"Если при делении числа на [code]2[/code] остатка нет — то число [b]чётное[/"
-"b]."
-
-#: course/lesson-15-modulo/lesson.tres:150
-msgid ""
-"Notice how the modulo can be larger than the number it affects. For example, "
-"[code]1 % 2[/code] gives you [code]1[/code]. That's because [code]1[/code] "
-"divided by [code]2[/code] equals [code]0[/code], and the remainder is "
-"[code]1[/code].\n"
-"\n"
-"Like with divisions, the only case you can't use modulo is with a divisor of "
-"[code]0[/code]."
-msgstr ""
-"Обратите внимание, что делитель при определении остатка от деления может "
-"быть больше, чем делимое. Например, [code]1 % 2[/code] даёт вам [code]1[/"
-"code]. Всё потому что деление [code]1[/code] на [code]2[/code] даёт нам "
-"[code]0[/code] в результате и [code]1[/code] в остатке.\n"
-"\n"
-"Как и при обычном делении, единственное число, которое вы не можете "
-"использовать в качестве делителя — это [code]0[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:170
-msgid "Calculating a random number within a range"
-msgstr "Получение случайного числа в конкретном диапазоне"
-
-#: course/lesson-15-modulo/lesson.tres:172
-msgid ""
-"We can use the modulo to simulate dice rolls. To do so, we generate a large "
-"random number and use the modulo operator to limit the number's range.\n"
-"\n"
-"To generate a random whole number, you can call the [code]randi()[/code] "
-"function. The name stands for random integer.\n"
-"\n"
-"The number the function generates can be huge: roughly up to 2 billion on an "
-"Android device and around 10^18 on a 64-bit computer.\n"
-"\n"
-"You can use the modulo operation to limit the random number's range."
-msgstr ""
-"Мы можем использовать остаток от деления для симуляции бросков игральной "
-"кости. Для этого мы генерируем большое случайное число и применяем к нему "
-"оператор %, чтобы ограничить диапазон чисел.\n"
-"\n"
-"Для генерации случайного целого числа вы можете использовать функцию "
-"[code]randi()[/code]. Имя образовано от «random integer» (случайное целое "
-"число).\n"
-"\n"
-"Число, которое генерирует эта функция, очень велико: максимальное его "
-"значение может быть равно приблизительно 2-м миллиардам на устройствах "
-"Android и около 10^18 на 64-битных компьютерах.\n"
-"\n"
-"Вы можете использовать операцию получения остатка от деления, чтобы "
-"ограничить диапазон этого случайного числа."
-
-#: course/lesson-15-modulo/lesson.tres:198
-msgid ""
-"The result is also random because we use the modulo operation on a random "
-"number.\n"
-"\n"
-"In the following practices, you'll use a modulo to advance traffic lights, "
-"add maximum health to the robot on every odd level, and learn how to code "
-"dice rolls."
-msgstr ""
-"Результат также будет случайным, ведь мы применяем операцию получения "
-"остатка от деления к случайному числу.\n"
-"\n"
-"В последующих упражнениях вы будете использовать остаток от деления для "
-"переключения цветов светофора, добавления бонуса к максимуму здоровья "
-"робота, при каждом получении им чётного уровня прокачки, и научитесь "
-"программировать броски игральной кости."
-
-#: course/lesson-15-modulo/lesson.tres:208
-msgid "Advancing Traffic Lights"
-msgstr "Переключение цветов светофора"
-
-#: course/lesson-15-modulo/lesson.tres:209
-msgid ""
-"Add to the [code]advance_traffic_light()[/code] function so the "
-"[code]light_index[/code] variable increments by one, then wraps back to "
-"[code]0[/code] if it gets too high.\n"
-"\n"
-"Use the modulo operator [code]%[/code] to make sure the value of "
-"[code]light_index[/code] wraps back to [code]0[/code].\n"
-"\n"
-"The value of [code]light_index[/code] should only ever be [code]0[/code], "
-"[code]1[/code], or [code]2[/code]."
-msgstr ""
-"Доработайте функцию [code]advance_traffic_light()[/code], чтобы при её "
-"выполнении переменная [code]light_index[/code] увеличивалась на единицу, а "
-"затем возвращалась назад к [code]0[/code], если увеличилась слишком сильно.\n"
-"\n"
-"Используйте оператор [code]%[/code], чтобы убедиться, что значение "
-"[code]light_index[/code] возвращается обратно к [code]0[/code].\n"
-"\n"
-"Значение [code]light_index[/code] всегда должно быть равно [code]0[/code], "
-"[code]1[/code], или [code]2[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:223
-msgid ""
-"Learn how to use modulo to wrap a number back to zero using traffic lights."
-msgstr ""
-"Научитесь использовать остаток от деления для возвращения числа к нулю при "
-"помощи светофора."
-
-#: course/lesson-15-modulo/lesson.tres:228
-msgid "Rolling Dice"
-msgstr "Бросание игральной кости"
-
-#: course/lesson-15-modulo/lesson.tres:229
-msgid ""
-"Our dice rolling function doesn't work! Right now, it always gives the "
-"result of how many sides the dice has: 20.\n"
-"\n"
-"Use [code]randi()[/code] to generate a random number and the modulo "
-"operation [code]%[/code]. \n"
-"\n"
-"Using the [code]return[/code] keyword inside the function, return a random "
-"number between [code]1[/code] and [code]sides[/code]."
-msgstr ""
-"Наша функция бросания кости не работает! Сейчас она всегда возвращает "
-"количество граней кости: 20.\n"
-"\n"
-"Используйте функцию [code]randi()[/code] для генерации случайного числа и "
-"оператор получения остатка от деления — [code]%[/code].\n"
-"\n"
-"При помощи ключевого слова [code]return[/code] внутри функции, верните "
-"случайное число, находящееся в диапазоне между [code]1[/code] и [code]sides[/"
-"code]."
-
-#: course/lesson-15-modulo/lesson.tres:243
-msgid ""
-"Whether in a board game or video game, getting a random number is always "
-"useful. Here, we create a function that simulates a dice roll."
-msgstr ""
-"Вне зависимости от того, настольная игра или компьютерная, получать "
-"случайные числа в ней может быть очень полезно. Здесь мы создадим функцию, "
-"симулирующую бросок игральной кости."
-
-#: course/lesson-15-modulo/lesson.tres:248
-msgid "Bonus Health Every Other Level"
-msgstr "Бонусное здоровье каждый чётный уровень"
-
-#: course/lesson-15-modulo/lesson.tres:249
-msgid ""
-"Change the [code]level_up()[/code] function so it does the following:\n"
-"\n"
-"1) Increment [code]level[/code] by [code]1[/code]\n"
-"2) Increase [code]max_health[/code] by [code]5[/code]\n"
-"3) If [code]level[/code] is [b]even[/b], increase [code]max_health[/code] by "
-"an additional [code]5[/code]\n"
-"\n"
-"The robot starts with [code]100[/code] maximum health. It will gain three "
-"levels when you run the code. At level 4, the robot should have [code]125[/"
-"code] maximum health."
-msgstr ""
-"Измените функцию [code]level_up()[/code], чтобы она:\n"
-"\n"
-"1) Увеличивала [code]level[/code] на [code]1[/code]\n"
-"2) Увеличивала [code]max_health[/code] на [code]5[/code]\n"
-"3) Увеличивала [code]max_health[/code] ещё на [code]5[/code], если "
-"[code]level[/code] [b]чётный[/b]\n"
-"\n"
-"Робот начинает с максимальным здоровьем [code]100[/code]. Он получит три "
-"уровня когда вы запустите код. На уровне 4 максимальное здоровье робота "
-"должно быть равно [code]125[/code]."
-
-#: course/lesson-15-modulo/lesson.tres:265
-msgid ""
-"There are other ways to increase maximum health. You could use a modulo to "
-"give a bonus every even level. Learn how here!"
-msgstr ""
-"Есть и другие способы увеличить максимум здоровья. Вы можете использовать "
-"остаток от деления для добавления бонуса к максимуму здоровья каждый чётный "
-"уровень. Научитесь этому здесь!"
-
-#: course/lesson-15-modulo/lesson.tres:269
-msgid "Modulo"
-msgstr "Остаток от деления"
diff --git a/i18n/ru/lesson-7-member-variables.po b/i18n/ru/lesson-7-member-variables.po
index 556f165c..0c5499fc 100644
--- a/i18n/ru/lesson-7-member-variables.po
+++ b/i18n/ru/lesson-7-member-variables.po
@@ -8,11 +8,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-09-01 23:07+0000\n"
 "Last-Translator: gsomgsom <zhelneen@yandex.ru>\n"
-"Language-Team: Russian <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-7-member-variables/ru/>\n"
+"Language-Team: Russian <https://hosted.weblate.org/projects/learn-gdscript-"
+"from-zero/lesson-7-member-variables/ru/>\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -177,11 +177,11 @@ msgid ""
 "The code below places the entity at [code]200[/code] pixels on the x-axis "
 "and [code]250[/code] pixels on the y-axis."
 msgstr ""
-"В видеоиграх вы увидите множество свойств, которые имеют вложенные значения."
+"В видеоиграх вы увидите множество свойств, которые имеют вложенные "
+"значения.\n"
 "\n"
-"\n"
-"Например, упомянутая нами позиция [code]position[/code] имеет две координаты:"
-" [code]x[/code] и [code]y[/code].\n"
+"Например, упомянутая нами позиция [code]position[/code] имеет две "
+"координаты: [code]x[/code] и [code]y[/code].\n"
 "\n"
 "То же самое касается масштаба [code]scale[/code]: у него есть вложенные "
 "переменные [code]x[/code] и [code]y[/code]. Они управляют горизонтальным и "
@@ -220,10 +220,11 @@ msgid "In games, the Y-axis is positive going down"
 msgstr "В играх ось Y направлена вниз"
 
 #: course/lesson-7-member-variables/lesson.tres:172
+#, fuzzy
 msgid ""
 "Note that in games, assuming your character's position starts at (0, 0), the "
-"code above moves the entity [code]180[/code] pixels to the right and "
-"[code]120[/code] pixels down.\n"
+"code above moves the entity [code]200[/code] pixels to the right and "
+"[code]250[/code] pixels down.\n"
 "\n"
 "In math, the y-axis is generally positive going up by convention.\n"
 "\n"
diff --git a/i18n/tr/application.po b/i18n/tr/application.po
index 1e920f33..d79d2980 100644
--- a/i18n/tr/application.po
+++ b/i18n/tr/application.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
-"PO-Revision-Date: 2023-10-01 16:59+0000\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
+"PO-Revision-Date: 2023-10-08 04:14+0000\n"
 "Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n"
 "Language-Team: Turkish <https://hosted.weblate.org/projects/learn-gdscript-"
 "from-zero/application/tr/>\n"
@@ -23,15 +23,15 @@ msgstr ""
 
 #: resources/QuizInputField.gd:17
 msgid "You need to type a whole number for this answer. Example: 42"
-msgstr "Bu cevap için tam sayı yazman gerekiyor. Örnek: 42"
+msgstr "Bu cevap için bir tam sayı yazmanız gerekiyor. Örnek: 42"
 
 #: resources/QuizInputField.gd:22
 msgid ""
 "You need to type a decimal for this answer. Use a \".\" to separate the "
 "decimal part. Example: 3.14"
 msgstr ""
-"Bu cevap için bir ondalık sayı yazman gerekiyor. Ondalık kısmı ayırmak için "
-"nokta, \".\", kullan. Örnek: 3.14"
+"Bu cevap için bir ondalık sayı yazmanız gerekiyor. Ondalık kısmı ayırmak "
+"için nokta, \".\", kullanmalısınız. Örnek: 3.14"
 
 #: ui/UILesson.tscn:90
 msgid "Title"
@@ -43,7 +43,7 @@ msgstr "Alıştırmalar"
 
 #: ui/UINavigator.gd:365
 msgid "Go back in your navigation history"
-msgstr "Gezinme geçmişinde geri git"
+msgstr "Gezinme geçmişinizde geri gidin"
 
 #: ui/UINavigator.gd:368
 msgid "(no previous history)"
@@ -64,29 +64,31 @@ msgstr "İpucu %s"
 
 #: ui/UIPractice.gd:248
 msgid "Validating Your Code..."
-msgstr "Kodun Doğrulanıyor..."
+msgstr "Kodunuz Doğrulanıyor..."
 
 #: ui/UIPractice.gd:268
 #, python-format
 msgid "The function `%s` calls itself, this creates an infinite loop"
-msgstr "`%s` fonksiyonu kendini çağırıyor, bu da sonsuz döngü oluşturuyor"
+msgstr "`%s` fonksiyonu kendisini çağırıyor, bu da sonsuz döngü oluşturuyor"
 
 #: ui/UIPractice.gd:301
 msgid "Running Your Code..."
-msgstr "Kodun Çalıştırılıyor..."
+msgstr "Kodunuz Çalıştırılıyor..."
 
 #: ui/UIPractice.gd:328
 msgid ""
 "There is a division by zero in your code. You cannot divide by zero in code. "
 "Please ensure you have no \"/ 0\" or \"% 0\" in your code."
 msgstr ""
-"Kodunda bir sıfıra bölme durumu var. Kodunda sıfıra bölme yapamazsınız. "
-"Lütfen, kodun içinde \"/ 0\" ya da \"% 0\" olmadığından emin ol."
+"Kodunuzda bir yerde sıfıra bölme durumu var. Kodunuzda sıfıra bölme "
+"yapamazsınız. Lütfen, kodunuzun içinde \"/ 0\" ya da \"% 0\" ifadelerinin "
+"veya değeri sıfır olan bölen bir değişkenin olmadığından emin olun."
 
 #: ui/UIPractice.gd:343
 msgid ""
 "Oh no! The script has an error, but the Script Verifier did not catch it"
-msgstr "Hadi be! Betikte bir hata var, ama Betik Doğrulayıcı bunu yakalayamadı"
+msgstr ""
+"Hadi be! Betikte bir hata var, ama Betik Doğrulayıcı'mız bunu yakalayamadı"
 
 #: ui/UIPractice.gd:369
 msgid "Running Tests..."
@@ -102,7 +104,7 @@ msgstr "Çözümü Kullan"
 
 #: ui/UIPractice.tscn:207
 msgid "Leave unfinished practice?"
-msgstr "Bitmemiş alıştırma kapatılsın mı?"
+msgstr "Tamamlanmamış alıştırma kapatılsın mı?"
 
 #: ui/components/BigGreenButton.tscn:24
 msgid "Button"
@@ -164,7 +166,7 @@ msgstr "Yer tutucu metin"
 
 #: ui/components/OutputConsoleErrorMessage.tscn:62
 msgid "in"
-msgstr "içinde"
+msgstr "şunun içinde"
 
 #: ui/components/OutputConsoleErrorMessage.tscn:68
 msgid "FileName"
@@ -172,7 +174,7 @@ msgstr "DosyaAdı"
 
 #: ui/components/OutputConsoleErrorMessage.tscn:75
 msgid "at"
-msgstr "de"
+msgstr "şurada"
 
 #: ui/components/OutputConsoleErrorMessage.tscn:82
 msgid "0:0"
@@ -181,7 +183,7 @@ msgstr "0:0"
 #: ui/components/OutputConsoleErrorMessage.tscn:92
 msgid ""
 "Sometimes errors are reported outside of your code. Why does that happen?"
-msgstr "Bazen hatalar kodunun dışında rapor edilir. Bu neden oluyor olabilir?"
+msgstr "Bazen hatalar kodunuzun dışında olarak rapor edilir. Bu neden oluyor?"
 
 #: ui/components/OutputConsoleErrorMessage.tscn:101
 msgid "Explain"
@@ -209,7 +211,7 @@ msgid ""
 "[center]Get [b]50% off[/b] on all our Godot courses with the \n"
 "coupon code [b]DISCOUNT50[/b][/center]"
 msgstr ""
-"[center] Tüm Godot kurslarımızda, [b]DISCOUNT50[/b] kupon kodunu \n"
+"[center] Tüm Godot kurslarımızda, [b]DISCOUNT50[/b] kupon kodunu\n"
 "kullanarak [b]%50 indirim[/b] alın[/center]"
 
 #: ui/components/SalePopup.tscn:132
@@ -236,7 +238,7 @@ msgstr "İptal"
 
 #: ui/components/popups/ErrorOverlayPopup.tscn:46
 msgid "Original error message"
-msgstr "Orjinal hata mesajı"
+msgstr "Orijinal hata mesajı"
 
 #: ui/components/popups/ErrorOverlayPopup.tscn:65
 msgid "Why this happens"
@@ -248,7 +250,7 @@ msgstr "Bu nasıl düzeltilir"
 
 #: ui/components/popups/ErrorOverlayPopup.tscn:91
 msgid "Our suggestion on how to fix it."
-msgstr "Nasıl düzeltileceğine dair bizim önerimiz."
+msgstr "Nasıl düzeltileceğinize dair bizim önerimiz."
 
 #: ui/components/popups/ErrorOverlayPopup.tscn:102
 msgid ""
@@ -262,9 +264,9 @@ msgid ""
 msgstr ""
 "Üzgünüz, henüz bu özel hata mesajını ele almadık!\n"
 "\n"
-"Lütfen sağ üst köşedeki [b]Bildir[/b] düğmesini kullanarak bize hataya nasıl "
-"ulaştığın hakkında daha fazla bilgi ver; uygulamanın bir sonraki sürümü için "
-"bilgi tabanımızı geliştirmeye çalışacağız.\n"
+"Lütfen sağ üst köşedeki [b]Bildir[/b] düğmesini kullanarak bize bu hataya "
+"nasıl ulaştığınız hakkında daha fazla bilgi veriz; uygulamanın bir sonraki "
+"sürümü için bilgi tabanımızı geliştirmeye çalışacağız.\n"
 "\n"
 "[center]Teşekkürler![/center]"
 
@@ -292,19 +294,21 @@ msgid ""
 "individual error that you face. Quick, click the [b]Explain[/b] button next "
 "to the error message!"
 msgstr ""
-"Bu kurstaki dersler, yalnızca [b]önemli kısımları[/b] düzenlemen gerekecek "
-"şekilde oluşturulmuştur. Ancak gördüğünün dışında projenin çalışmasını "
+"Bu kurstaki dersler, yalnızca [b]önemli kısımları[/b] düzenlemeniz gerekecek "
+"şekilde oluşturulmuştur. Ancak gördüğünüzün dışında projenin çalışmasını "
 "sağlayan çok daha fazla kod var.\n"
 "\n"
-"Bunun anlamı, yaptığınız değişikliklerin, ara sıra, üzerinde kontrolün "
-"olmayan kodları etkileyebileceğidir. Ama hemen endişe etme, düzenlemeye açık "
-"kod ile tüm sorunları kendi başına [b]düzeltebilirsin[/b]!\n"
+"Bunun anlamı, yaptığınız değişikliklerin, ara sıra, üzerinde kontrolünüzün "
+"olmadığı kodları etkileyebileceğidir. Ama hemen endişe etmeyin; düzenlemeye "
+"açık olan kodlar ile tüm bu sorunları kendi başınıza [b]düzeltebilirsiniz[/"
+"b]!\n"
 "\n"
-"[i]Bu, oyun motorlarının da çalışması gibidir.[/i] Projelerinin sorunsuz "
-"çalıştığından emin olmak için yürüttükleri çok sayıda gizli kod vardır. Yine "
-"de, betik dosyalarındaki bir hata onları bozabilir. Karşılaştığın her bir "
-"hatayı nasıl ele alacağınızı açıklamaya çalışacağız. Hadi durma, hata "
-"mesajının yanındaki [b]Açıkla[/b] düğmesine tıkla!"
+"[i]Bu, oyun motorlarının da çalışması gibidir.[/i] Projelerinizin sorunsuz "
+"çalıştığından emin olmak için motorların yürüttükleri çok sayıda gizli "
+"kodlar vardır. Yine de betik dosyalarında yapılacak bir hata onları "
+"bozabilir. Karşılaştığınız her bir hatayı nasıl ele alacağınızı açıklamaya "
+"çalışacağız. Hadi durmayın, hata mesajının yanındaki [b]Açıkla[/b] düğmesine "
+"tıklayın!"
 
 #: ui/components/popups/ExternalErrorPopup.tscn:119
 msgid "Got it!"
@@ -319,16 +323,16 @@ msgid ""
 "But there are still some practices\n"
 "that you've skipped."
 msgstr ""
-"Ancak arada atladığın\n"
-"alıştırmalar var."
+"Ancak hala arada atladığınız alıştırmalar var.\n"
+"."
 
 #: ui/components/popups/LessonDonePopup.tscn:155
 msgid ""
 "[center][b]Stay[/b] and revisit the study material,\n"
 "or [b]continue[/b] the course.[/center]"
 msgstr ""
-"[center]Burada [b]kal[/b] ve çalışma notlarını tekrar gözden geçir,\n"
-"ya da kursa [b]devam[/b] et.[/center]"
+"[center]Burada [b]kalın[/b] ve çalışma notlarınızı tekrar gözden geçirin,\n"
+"ya da kursa [b]devam[/b] edin.[/center]"
 
 #: ui/components/popups/LessonDonePopup.tscn:183
 #: ui/components/popups/PracticeDonePopup.tscn:144
@@ -341,15 +345,15 @@ msgstr "Bu iyiydi!"
 
 #: ui/components/popups/PracticeDonePopup.tscn:98
 msgid "You completed the practice."
-msgstr "Alıştırmayı tamamladın."
+msgstr "Alıştırmayı tamamladınız."
 
 #: ui/components/popups/PracticeDonePopup.tscn:110
 msgid ""
 "[center][b]Stay[/b] and play around,\n"
 "or [b]continue[/b] the course.[/center]"
 msgstr ""
-"[center]Burada [b]kal[/b] ve etrafta vakit geçir,\n"
-"ya da kursa [b]devam[/b] et.[/center]"
+"[center]Burada [b]kalın[/b] ve etrafta vakit geçirin,\n"
+"ya da kursa [b]devam[/b] edin.[/center]"
 
 #: ui/components/popups/PracticeListPopup.tscn:67
 msgid "Practice List"
@@ -362,7 +366,7 @@ msgstr "Kapat"
 
 #: ui/components/popups/ReportFormPopup.tscn:66
 msgid "Report an issue"
-msgstr "Bir sorun bildir"
+msgstr "Bir sorun bildirin"
 
 #: ui/components/popups/ReportFormPopup.tscn:83
 msgid ""
@@ -404,47 +408,48 @@ msgid ""
 "\n"
 "[center]Thank you for contributing to open source![/center]"
 msgstr ""
-"Uygulamada bir sorunla karşılaşırsan, lütfen GitHub üzerinden bildirmek için "
-"aşağıdaki bağlantıya tıkla:\n"
+"Uygulamada bir sorunla karşılaşırsanız, lütfen GitHub üzerinden bildirmek "
+"için aşağıdaki bağlantıya tıklayın:\n"
 "\n"
 "[center][b][url=https://github.com/GDQuest/learn-gdscript/issues]GitHub.com "
 "> GDQuest > learn-gdscript > Issues[/url][/b][/center]\n"
 "\n"
-"Bu sayfada, bir şeyin çalışmaması veya bir derste hata olması gibi her türlü "
-"sorunu bildirebilirsin.\n"
+"Bu sayfada, bir şeyin çalışmaması veya bir derste hatalar olması gibi her "
+"türlü sorunu bildirebilirsiniz.\n"
 "\n"
-"Sorunu tanımlamamıza yardımcı olmak için bir günlük kaydı oluşturabilirsin. "
-"Bunu yapmak için buraya tıkla: [b][url=download]hata günlüğü oluştur[/url][/"
-"b].\n"
+"Sorunu tanımlamamıza yardımcı olmak için burada bir günlük kaydı "
+"oluşturabilirsiniz. Bunu yapmak için buraya tıklayın: [b][url=download]hata "
+"günlüğü oluştur[/url][/b].\n"
 "\n"
-"Oluşturulan dosyayı eklemek için lütfen GitHub'daki sorun gönderisine "
-"sürükleyip bırak.\n"
+"Oluşturulan dosyayı eklemek için lütfen GitHub'taki sorun gönderisine "
+"sürükleyip bırakın.\n"
 "\n"
-"[font=res://ui/theme/fonts/font_title.tres]GitHub nedir[/font]\n"
+"[font=res://ui/theme/fonts/font_title.tres]GitHub nedir?[/font]\n"
 "\n"
 "GitHub, GDScript Learn uygulaması gibi açık kaynaklı projeleri barındırmak "
 "ve yönetmek için kullanılan çevrimiçi bir platformdur. Geliştiricilerin "
-"çalışmalarını düzenlemelerine ve çevrimiçi işbirliği yapmalarına yardımcı "
+"çalışmalarını düzenlemelerine ve çevrimiçi iş birliği yapmalarına yardımcı "
 "olur.\n"
 "\n"
-"GitHub'ı birçok açık projenin kaynak kodunu incelemek, sorunları bildirmek "
-"ve hatta koda kendin katkıda bulunmak için kullanabilirsin.\n"
+"GitHub'ı birçok açık kaynaklı projenin kaynak kodlarını incelemek, sorunları "
+"bildirmek ve hatta koda kendiniz katkıda bulunmak için kullanabilirsiniz.\n"
 "\n"
-"[font=res://ui/theme/fonts/font_title.tres]Bir sorun nasıl bildirilir[/"
+"[font=res://ui/theme/fonts/font_title.tres]Bir sorun nasıl bildirilir?[/"
 "font]\n"
 "\n"
-"1. [i]GitHub Sorunları[/i] sayfasına gitmek için yukarıdaki bağlantıya "
-"tıkla.\n"
-"2. [i]Yeni Sorun[/i] düğmesine tıkla.\n"
-"3. Bize sorununuz hakkında daha fazla bilgi vermek için formu doldur.\n"
+"1. [i]GitHub Sorunları (issues)[/i] sayfasına gitmek için yukarıdaki "
+"bağlantıya tıklayın.\n"
+"2. [i]Yeni Sorun (new issue)[/i] düğmesine tıklayın.\n"
+"3. Bize sorununuz hakkında daha fazla bilgi vermek için formu doldurun.\n"
 "\n"
-"Bunu yapmak için bir GitHub hesabına ihtiyacın olacak.\n"
+"Bunu yapmak için bir GitHub hesabına ihtiyacınız olacak. Eğer yoksa, "
+"ücretsiz bir GitHub hesabı oluşturabilirsiniz.\n"
 "\n"
-"Lütfen uygulamaya erişmek için kullandığın cihaz türü gibi mümkün olduğunca "
-"çok ilgili bilgi ekle ve mümkünse sorunu gösteren bir ekran görüntüsü veya "
-"video klip ekle.\n"
+"Lütfen uygulamaya erişmek için kullandığınız cihazın türü gibi mümkün "
+"olduğunca çok ilgili bilgiyi ekleyin ve mümkünse sorunu gösteren bir ekran "
+"görüntüsü veya video klip ekleyin.\n"
 "\n"
-"[center]Açık kaynağa katkıda bulunduğun için teşekkür ederiz![/center]"
+"[center]Açık kaynağa katkıda bulunduğunuz için teşekkür ederiz![/center]"
 
 #: ui/components/popups/ReportFormPopup.tscn:158
 msgid "OK"
@@ -500,7 +505,7 @@ msgstr "Ders Başlığı Buraya Gelecek"
 
 #: ui/screens/course_outliner/CourseLessonDetails.tscn:48
 msgid "Lesson read"
-msgstr "Ders metni okundu"
+msgstr "Okunan Ders Metni"
 
 #: ui/screens/course_outliner/CourseLessonDetails.tscn:56
 msgid "0%"
@@ -508,7 +513,7 @@ msgstr "%0"
 
 #: ui/screens/course_outliner/CourseLessonDetails.tscn:79
 msgid "Quizzes completed"
-msgstr "Sınavlar tamamlandı"
+msgstr "Tamamlanan Kısa Sınavlar"
 
 #: ui/screens/course_outliner/CourseLessonDetails.tscn:87
 #: ui/screens/course_outliner/CourseLessonDetails.tscn:108
@@ -517,7 +522,7 @@ msgstr "0 / 0"
 
 #: ui/screens/course_outliner/CourseLessonDetails.tscn:100
 msgid "Practices completed"
-msgstr "Alıştırmalar tamamlandı"
+msgstr "Tamamlanan Alıştırmalar"
 
 #: ui/screens/course_outliner/CourseLessonItem.tscn:36
 msgid "Lesson 0"
@@ -529,7 +534,7 @@ msgstr "Ders Başlığı"
 
 #: ui/screens/course_outliner/CourseOutliner.tscn:44
 msgid "Course Index - "
-msgstr "Ders Dizini - "
+msgstr "Ders Listesi - "
 
 #: ui/screens/course_outliner/CourseOutliner.tscn:51
 msgid "Course Title Goes Here"
@@ -543,89 +548,107 @@ msgstr "İlerlemeyi Sıfırla"
 msgid "Confirm Resetting Progress"
 msgstr "Sıfırlama İşlemini Onayla"
 
-#: ui/screens/end_screen/EndScreen.tscn:229
-#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
-msgid "Congratulations!"
-msgstr "Tebrikler!"
+#: ui/screens/end_screen/EndScreen.tscn:300
+#: ui/screens/end_screen/EndScreen.tscn:313
+msgid "YOU MADE IT!"
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:236
+#: ui/screens/end_screen/EndScreen.tscn:343
 msgid ""
-"You completed Learn GDScript From Zero. You now have the basics you need to "
-"dive into game creation with the Godot game engine.\n"
-"\n"
-"If you're looking for a free series to keep learning the basics with us, you "
-"can move on to [url=https://www.gdquest.com/tutorial/godot/learning-paths/"
-"getting-started-in-2021/]Getting Started with Godot[/url]."
+"Not only did you learn the foundations of coding, you’re a big step closer "
+"to making your own games."
 msgstr ""
-"\"Learn GDScript From Zero\"yu tamamladın. Godot oyun motoru ile oyun "
-"yaratıcılığına dalmak için gereken temel bilgilere artık sahipsin.\n"
-"\n"
-"Eğer temelleri bizimle öğrenmeye devam etmek için ücretsiz kurslar ararsan, "
-"bu adrese devam edebilirsin [url=https://www.gdquest.com/tutorial/godot/"
-"learning-paths/getting-started-in-2021/]Getting Started with Godot[/url] (bu "
-"sayfaların çevirisi bulunmayabilir)."
 
-#: ui/screens/end_screen/EndScreen.tscn:249
-msgid "Or level up faster by taking this shortcut"
-msgstr "Ya da bu kısayolu kullanarak hızlı seviye atla"
+#: ui/screens/end_screen/EndScreen.tscn:363
+msgid "Don't stop here..."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:373
+msgid "The fun stuff starts now!"
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:256
+#: ui/screens/end_screen/EndScreen.tscn:388
+msgid "There are 2 pathways learners traditionally take from here:"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:402
+msgid "Following video tutorials"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:417
 msgid ""
-"There are loads of free game creation tutorials, but they don't form a clear "
-"path.\n"
-"\n"
-"Worse, most of them are like step-by-step recipes. But as you learned, you "
-"can't become a developer by just following recipes.\n"
-"\n"
-"Every project has unique challenges and requires [i]creative problem "
-"solving[/i]. You need to [i]think like a programmer[/i].\n"
-"\n"
-"Learning that on your own can take years."
+"They’re a great way to pick up specific game mechanics but they’re not as "
+"effective when you’re trying to learn new skills from the ground up."
 msgstr ""
-"Ücretsiz oyun yaratıcılığı derslerinden sürüyle bulabilirsin, ama bunlar "
-"genelde temiz hedeflere sahip değildir.\n"
-"\n"
-"Daha kötüsü, bunların pek çoğu adım-adım tarifleridir. Ama artık "
-"farketmişsindir, sadece tarifleri takip ederek geliştirici olamazsın.\n"
-"\n"
-"Her projenin, [i]yaratıcı sorun çözme[/i] becerileri isteyen kendine has "
-"zorlukları var. Sana gereken [i]bir programcı gibi düşünmek[/i].\n"
-"\n"
-"Bunu kendi başına öğrenmek ise yıllar alabilir."
 
-#: ui/screens/end_screen/EndScreen.tscn:277
-msgid "Learn to Code From Zero, with Godot"
+#: ui/screens/end_screen/EndScreen.tscn:449
+msgid "• There’s no clear learning path."
 msgstr ""
-"Learn to Code From Zero, with Godot (Sıfırdan Kodlama Öğrenin, Godot ile)"
 
-#: ui/screens/end_screen/EndScreen.tscn:284
+#: ui/screens/end_screen/EndScreen.tscn:464
+msgid "• Retention and skill acquisition is slow and limited."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:480
 msgid ""
-"This app is the free part of our in-depth course, [url=https://gdquest."
-"mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
-"From Zero, with Godot[/b][/url].\n"
-"\n"
-"The course picks up right where this app ends to take you to the point where "
-"you can make [i]your[/i] game.\n"
-"\n"
-"It's the only course that'll truly teach you [i]how to become a game "
-"developer[/i] with Godot."
+"We make our fair share of [b][color=#ebc3ff][url=https://www.youtube.com/"
+"@Gdquest/videos]free tutorials[/url][/color][/b]. They will come in very "
+"handy once you start making games on your own. But to get started, we really "
+"recommend you learn how to think like a game developer using [b]"
+"[color=#ebc3ff][url=https://school.gdquest.com/godot-4-early-access]courses[/"
+"url][/color][/b]."
 msgstr ""
-"Bu uygulama, çok daha derinlemesine öğrenme içeren [url=https://gdquest."
-"mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
-"From Zero, with Godot[/b][/url] (Sıfırdan Kodlama Öğrenin, Godot ile) "
-"kursunun ücretsiz bir parçasıdır. (çevirisi olmayabilir)\n"
-"\n"
-"İlgili kurs seni, bu uygulamanın bittiği yerden alıp, [i]kendi[/i] oyununu "
-"yapabileceğin bir noktaya götürüyor.\n"
-"\n"
-"Sana gerçek anlamda Godot ile [i]nasıl oyun geliştiricisi olunur[/i]u "
-"öğretecek tek kurstur."
 
-#: ui/screens/end_screen/EndScreen.tscn:308
-#: ui/screens/lesson/UIContentBlock.gd:70
-#: ui/screens/lesson/UIContentBlock.gd:134
-msgid "Learn More"
-msgstr "Daha Fazlasını Öğren"
+#: ui/screens/end_screen/EndScreen.tscn:495
+msgid "Learning with courses"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:511
+msgid ""
+"Note that most available courses online are actually premium series of video "
+"tutorials. The problem of retaining information and acquiring real skills "
+"unfortunately still applies to them."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:527
+msgid ""
+"At GDQuest, we’re educators at heart. We believe in applied study and we "
+"believe it doesn’t have to be boring. When teaching is done correctly, most "
+"people highly enjoy the sensation of leveling up!\n"
+"\n"
+"That’s the reason we made this app. It is in fact part of our beginner "
+"course [b][color=#ebc3ff][url=https://school.gdquest.com/products/"
+"bundle_learn_gamedev_godot_4]Learn Gamedev From Zero with Godot[/url][/color]"
+"[/b]."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:565
+msgid "LEARN GAMEDEV WITH GODOT"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:710
+msgid "Now available"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:720
+msgid "for preorders"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:737
+msgid "Godot 4 courses!!"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:783
+msgid "Teaching gamedev in the classroom?"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:796
+msgid "Get in touch"
+msgstr ""
+
+#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
+msgid "Congratulations!"
+msgstr "Tebrikler!"
 
 #: ui/screens/end_screen/SponsorlessEndScreen.tscn:203
 msgid ""
@@ -636,13 +659,16 @@ msgid ""
 "en/stable/getting_started/step_by_step/index.html]Getting Started with "
 "Godot[/url]."
 msgstr ""
-"Learn GDScript From Zero (Sıfırdan GDScript Öğrenin) kursunu tamamladın. "
+"Learn GDScript From Zero (Sıfırdan GDScript Öğrenin) kursunu tamamladınız. "
 "Godot oyun motoru ile oyunlar yapmak için gereken temel bilgilere artık "
-"sahipsin.\n"
+"sahipsiniz.\n"
 "\n"
 "Ücretsiz [url=https://docs.godotengine.org/en/stable/getting_started/"
 "step_by_step/index.html]Getting Started with Godot[/url] (Godot ile "
-"Başlangıç) serileri ile öğrenmeye devam edebilirsin (çevirisi olmayabilir)."
+"Başlangıç) serileri ile öğrenmeye devam edebilirsiniz (Bu sayfanın "
+"çevirileri devam ediyor. Sayfanın sol altında dil değiştirme düğmesinden "
+"\"tr\" kodunu görürseniz, en azından temel başlangıç bölümleri bitmiş "
+"demektir)."
 
 #: ui/screens/end_screen/SponsorlessEndScreen.tscn:216
 msgid "This is an Open-Source project!"
@@ -660,7 +686,11 @@ msgstr ""
 "\n"
 "Uygulamanın kaynak koduna erişmek ve çevirilere katkıda bulunmak için: "
 "[url=\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero "
-"(Github repository)[/url]."
+"(Github deposu)[/url]."
+
+#: ui/screens/end_screen/thumbnails/CourseThumbnail.tscn:42
+msgid "Early Access release: 2024/01/30"
+msgstr ""
 
 #: ui/screens/lesson/UIBaseQuiz.tscn:56
 msgid "[b]Question[/b]"
@@ -680,11 +710,16 @@ msgstr "Gönder"
 
 #: ui/screens/lesson/UIBaseQuiz.tscn:150
 msgid "You're right!"
-msgstr "Doğru bildin!"
+msgstr "Doğru bildiniz!"
 
 #: ui/screens/lesson/UIBaseQuiz.tscn:160
 msgid "Answers here"
-msgstr "Cevabını buraya yaz"
+msgstr "Cevabınızı buraya yazın"
+
+#: ui/screens/lesson/UIContentBlock.gd:70
+#: ui/screens/lesson/UIContentBlock.gd:134
+msgid "Learn More"
+msgstr "Daha Fazlasını Öğrenin"
 
 #: ui/screens/lesson/UIContentBlock.tscn:47
 msgid "Placeholder heading"
@@ -704,7 +739,7 @@ msgstr "Alıştırma"
 
 #: ui/screens/lesson/UIPracticeButton.tscn:110
 msgid "You are here"
-msgstr "Buradasın"
+msgstr "Buradasınız"
 
 #: ui/screens/lesson/quizzes/QuizAnswerButton.tscn:40
 msgid "Answer label"
@@ -744,7 +779,7 @@ msgstr "Kontroller"
 
 #: ui/screens/practice/PracticeInfoPanel.tscn:134
 msgid "Documentation"
-msgstr "Dökümantasyon"
+msgstr "Belgeler"
 
 #: ui/screens/practice/PracticeInfoPanel.tscn:175
 msgid "Open Practice List"
@@ -752,29 +787,99 @@ msgstr "Alıştırma Listesini Aç"
 
 #: ui/screens/practice/PracticeTestDisplay.tscn:40
 msgid "Test text"
-msgstr "Test metni"
+msgstr "Test yazısı"
 
 #: ui/screens/welcome_screen/WelcomeScreen.gd:42
 msgid "CONTINUE"
 msgstr "DEVAM ET"
 
 #: ui/screens/welcome_screen/WelcomeScreen.gd:44
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:627
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:625
 msgid "START"
 msgstr "BAŞLA"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:645
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:643
 msgid "SELECT LESSON"
 msgstr "DERS SEÇ"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:659
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:657
 msgid "OPTIONS"
 msgstr "SEÇENEKLER"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:693
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:691
 msgid "QUIT"
 msgstr "ÇIKIŞ"
 
+#~ msgid ""
+#~ "You completed Learn GDScript From Zero. You now have the basics you need "
+#~ "to dive into game creation with the Godot game engine.\n"
+#~ "\n"
+#~ "If you're looking for a free series to keep learning the basics with us, "
+#~ "you can move on to [url=https://www.gdquest.com/tutorial/godot/learning-"
+#~ "paths/getting-started-in-2021/]Getting Started with Godot[/url]."
+#~ msgstr ""
+#~ "\"Learn GDScript From Zero\"yu tamamladınız. Godot oyun motorunu "
+#~ "kullanarak oyun yaratıcılığına dalmak için gereken temel bilgilere artık "
+#~ "sahipsiniz.\n"
+#~ "\n"
+#~ "Eğer temelleri bizimle öğrenmeye devam etmek için ücretsiz kurslar "
+#~ "ararsanız, bu adrese devam edebilirsiniz [url=https://www.gdquest.com/"
+#~ "tutorial/godot/learning-paths/getting-started-in-2021/]Getting Started "
+#~ "with Godot[/url] (bu sayfaların çevirisi bulunmayabilir)."
+
+#~ msgid "Or level up faster by taking this shortcut"
+#~ msgstr "Ya da bu kısayolu kullanarak hızla seviye atlayın"
+
+#~ msgid ""
+#~ "There are loads of free game creation tutorials, but they don't form a "
+#~ "clear path.\n"
+#~ "\n"
+#~ "Worse, most of them are like step-by-step recipes. But as you learned, "
+#~ "you can't become a developer by just following recipes.\n"
+#~ "\n"
+#~ "Every project has unique challenges and requires [i]creative problem "
+#~ "solving[/i]. You need to [i]think like a programmer[/i].\n"
+#~ "\n"
+#~ "Learning that on your own can take years."
+#~ msgstr ""
+#~ "Ücretsiz oyun yaratıcılığı derslerinden sürüyle bulabilirsiniz, ama "
+#~ "bunlar genelde temiz hedeflere sahip değillerdir.\n"
+#~ "\n"
+#~ "Daha kötüsü, bunların pek çoğu adım-adım tarifleridir. Ama artık fark "
+#~ "etmişsinizdir, sadece tarifleri takip ederek geliştirici olamazsınız.\n"
+#~ "\n"
+#~ "Her projenin, [i]yaratıcı sorun çözebilme[/i] becerileri isteyen kendine "
+#~ "has zorlukları vardır. Burada size gereken [i]bir programcı gibi "
+#~ "düşünmek[/i].\n"
+#~ "\n"
+#~ "Bunu kendi başınıza öğrenmek ise yıllarınızı alabilir."
+
+#~ msgid "Learn to Code From Zero, with Godot"
+#~ msgstr ""
+#~ "Learn to Code From Zero, with Godot (Sıfırdan Kodlama Öğrenin, Godot ile)"
+
+#~ msgid ""
+#~ "This app is the free part of our in-depth course, [url=https://gdquest."
+#~ "mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
+#~ "From Zero, with Godot[/b][/url].\n"
+#~ "\n"
+#~ "The course picks up right where this app ends to take you to the point "
+#~ "where you can make [i]your[/i] game.\n"
+#~ "\n"
+#~ "It's the only course that'll truly teach you [i]how to become a game "
+#~ "developer[/i] with Godot."
+#~ msgstr ""
+#~ "Bu uygulama, çok daha derinlemesine öğrenme içeren [url=https://gdquest."
+#~ "mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
+#~ "From Zero, with Godot[/b][/url] (Sıfırdan Kodlama Öğrenin, Godot ile) "
+#~ "kursunun ücretsiz bir parçasıdır. (çevirisi olmayabilir)\n"
+#~ "\n"
+#~ "İlgili kurs sizi, bu uygulamanın bittiği yerden alıp, [i]kendi[/i] "
+#~ "oyununuzu yapabileceğiniz bir noktaya götürüyor.\n"
+#~ "\n"
+#~ "Size gerçek anlamda Godot ile [i]nasıl oyun geliştiricisi olunur[/i]u "
+#~ "öğretecek tek kurstur."
+
 #~ msgid ""
 #~ "Lessons in this course are constructed in such a way that you only need "
 #~ "to edit the [b]important bits[/b]. But there is much more code outside of "
diff --git a/i18n/tr/error_database.po b/i18n/tr/error_database.po
index c6a6070d..bc8e223a 100644
--- a/i18n/tr/error_database.po
+++ b/i18n/tr/error_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-10-05 11:11+0000\n"
 "Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n"
 "Language-Team: Turkish <https://hosted.weblate.org/projects/learn-gdscript-"
diff --git a/i18n/tr/glossary_database.po b/i18n/tr/glossary_database.po
index bb44b1bf..aa9aee3d 100644
--- a/i18n/tr/glossary_database.po
+++ b/i18n/tr/glossary_database.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
-"PO-Revision-Date: 2023-10-05 11:11+0000\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
+"PO-Revision-Date: 2023-10-08 04:14+0000\n"
 "Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n"
 "Language-Team: Turkish <https://hosted.weblate.org/projects/learn-gdscript-"
 "from-zero/glossary_database/tr/>\n"
@@ -161,7 +161,7 @@ msgstr ""
 "code], [code]11[/code], ve [code]255462[/code] gibi tam sayıların hepsi "
 "[code]int[/code] (integer'ın kısaltması) tipindedir.\n"
 "\n"
-"Bilgisayarlar, iki değer arasında hangi işlemlerin geçerli olduğun ve "
+"Bilgisayarlar, iki değer arasında hangi işlemlerin geçerli olduğunu ve "
 "bunların ne zaman tanımsız olduğunu belirlerken tipleri kullanır."
 
 #. Reference: iteration
@@ -257,11 +257,11 @@ msgid ""
 "[code]y[/code] are [i]parameters[/i]."
 msgstr ""
 "Bir girilen değişken (argüman), bir fonksiyonu çağırırken, fonksiyona "
-"girdiğin değerlerdir. Örneğin, [code]rotate(0.5)[/code] çağırmasında, "
+"girdiğiniz değerlerdir. Örneğin, [code]rotate(0.5)[/code] çağırmasında, "
 "parantez içindeki [code]0.5[/code] değeri bir girilen değişkendir.\n"
 "\n"
-"Bir fonksiyon hiç bir değer almayabileceği gibi, tek bir değer yada çoklu "
-"değerler de alabilir. Girilen değişkenler zorunlu yada isteğe bağlı "
+"Bir fonksiyon hiçbir değer almayabileceği gibi, tek bir değer ya da çoklu "
+"değerler de alabilir. Girilen değişkenler zorunlu ya da isteğe bağlı "
 "olabilirler.\n"
 "\n"
 "Bir fonksiyon çoklu değerler bekliyorsa, değerleri virgül ile ayırmalısınız; "
@@ -270,7 +270,7 @@ msgstr ""
 "Bir fonksiyonu [i]çağırırken[/i], parantez içine girdiğimiz değerlere "
 "[i]girilen değişken (argüman)[/i] ismini veriyoruz.\n"
 "\n"
-"Buna karşılık, bir fonksiyon tanımı yazarken, fonksiyonun [i]alınan "
+"Buna karşılık, bir fonksiyon tanımını yazarken, fonksiyonun [i]alınan "
 "değişkenleri (parameterler)[/i]'nden bahsederiz. Sıradaki örnekte, [code]x[/"
 "code] ve [code]y[/code] [i]alınan değişken (parametre)[/i]'lerdir."
 
@@ -300,19 +300,19 @@ msgid ""
 "Arrays are a fundamental value type in computer programming. You'll find "
 "arrays in pretty much any programming language."
 msgstr ""
-"Bir dizi, bir değerler listesidir. GDScript'te, [i]herhangi[/i] bir değer "
-"tipini taşıyabilir.\n"
+"Bir dizi, bir değerler listesidir. GDScript'te, diziler [i]herhangi[/i] bir "
+"değer tipini taşıyabilirler.\n"
 "\n"
 "Bir dizi oluşturmak için, köşeli parantez içinde virgülle-ayrılmış değerler "
-"yazarsın: [code]var three_numbers = [1, 2, 3][/code]\n"
+"yazarsınız: [code]var three_numbers = [1, 2, 3][/code]\n"
 "\n"
 "Oyunlarda, dizileri sürekli kullanırız; bir takımdaki karakterleri "
-"listelemek, envanterdeki öğeleri nlistelesini tutmak, oyuncunun kilidini "
-"açtığı büyülerin listesini saklamak, ve liste uzar gider. Bunlar her "
+"listelemek, envanterdeki öğelerin listesini tutmak, oyuncunun kilidini "
+"açtığı büyülerin listesini saklamak ve örnekler uzar gider. Bunlar her "
 "yerdeler.\n"
 "\n"
 "Diziler, bilgisayar programcılığının en temel değer tiplerinden biridir. "
-"Dizileri, belkide her tür programlama dilinde bulabilirsin."
+"Dizileri, belki de her tür programlama dilinde bulabilirsiniz."
 
 #. Reference: assign
 #: course/glossary.csv:45
@@ -326,7 +326,7 @@ msgid ""
 "variable. You do this with the equal sign ([code]=[/code])."
 msgstr ""
 "Bir değeri bir değişkene atamak demek, bu değeri değişkenin içinde tutmak "
-"demektir. Bunun için eşitlik işareti ([code]=[/code]) kullanırsın."
+"demektir. Bunun için eşitlik işareti ([code]=[/code]) kullanırsınız."
 
 #. Reference: dictionary
 #: course/glossary.csv:52
@@ -357,21 +357,21 @@ msgid ""
 "Like arrays, they are a fundamental data type that you will see in many "
 "programming languages and use a lot."
 msgstr ""
-"Bir sözlük, değerleri, anahtar-değer çifti şeklinde haritalayan veri "
-"yapılarıdır. Bir sözlüğe bir anahtar verdiğinde, karşılık olarak sana, "
+"Bir sözlük, verilen değerleri, anahtar-değer çifti şeklinde haritalayan veri "
+"yapılarıdır. Bir sözlüğe bir anahtar verdiğinizde, karşılık olarak size, "
 "eşleşen değeri bulup geri döndürür.\n"
 "\n"
-"GDScript'te, anahtarlar bir çok şey olabilir. Genellikle yazı dizeleri yada "
-"numaralar kullanırız, ama bununla sınırlı değilsin. Bir [code]Vector2[/code] "
-"de geçerli anahtar olabilir; ızgara-temelli bir oyunda, bir ızgara hücresini "
-"bir birime yada bir öğeye haritalamak oldukça kullanışlı olur.\n"
+"GDScript'te, anahtarlar birçok şey olabilir. Genellikle yazı dizeleri ya da "
+"numaralar kullanırız, ama bununla sınırlı değilsiniz. Bir [code]Vector2[/"
+"code] de geçerli anahtar olabilir; ızgara-temelli bir oyunda, bir ızgara "
+"hücresini bir birime ya da bir öğeye haritalamak oldukça kullanışlı olur.\n"
 "\n"
-"Oyunlarınızdaki veri parçalarını ilişkilendirmek için sözlükleri sıklıkla "
-"kullanacaksın. Örneğin, bir ekipmanın adını, onun veri tabanındaki silah "
+"Oyunlarınızda veri parçalarını ilişkilendirmek için sözlükleri sıklıkla "
+"kullanacaksınız. Örneğin, bir ekipmanın adını, onun veri tabanındaki silah "
 "bilgileri ile ilişkilendirmek için kullanabiliriz.\n"
 "\n"
-"Sözlükler, diziler gibi, bir çok programlama dilinde görebileceğin ve "
-"sıklıkla kullanacağın en temel veri tiplerinden biridir."
+"Sözlükler, diziler gibi, birçok programlama dilinde görebileceğiniz ve "
+"sıklıkla kullanacağınız en temel veri tiplerinden biridir."
 
 #. Reference: for loop
 #: course/glossary.csv:59
@@ -399,18 +399,18 @@ msgid ""
 "We recommend favoring for loops when you can. They're safer and easier to "
 "use than while loops."
 msgstr ""
-"Bir for döngüsü, bilgisayara, bir dizinin içindeki her bir değer için bir "
-"kere olmak üzere, bir talimat setini yinelemesini emreder.\n"
+"Bir \"for\" döngüsü, bilgisayara, bir dizinin içindeki her bir değer için "
+"bir kere olmak üzere, bir talimat setini yinelemesini emreder.\n"
 "\n"
 "Her bir döngü yinelemesinde, derleyici, diziden bir değer çeker ve döngü "
 "içerisinde buna erişmeyi sağlar.\n"
 "\n"
-"for döngüleri, kodu belli bir sayıda çalıştırır; dizideki her bir değer için "
-"bir kere. Bu döngü tipi, belli bir şart sağlanana kadar tekrar eden while "
-"döngüsünden farklıdır.\n"
+"\"for\" döngüleri, kodu belli bir sayıda çalıştırır; dizideki her bir değer "
+"için bir kere. Bu döngü tipi, belli bir şart sağlanana kadar tekrar eden "
+"\"while\" döngüsünden farklıdır.\n"
 "\n"
-"Mümkün oldukça for döngülerini tercih etmeni öneririz. Hem daha güvenli hem "
-"de kullanımı while döngülerinden kolaydır."
+"Mümkün oldukça \"for\" döngülerini tercih etmenizi öneririz. Hem daha "
+"güvenli hem de kullanımı \"while\" döngülerinden kolaydır."
 
 #. Reference: function
 #: course/glossary.csv:64
@@ -435,16 +435,16 @@ msgid ""
 "\n"
 "Also, functions can optionally return a value to the code calling it."
 msgstr ""
-"Bir fonksiyon, bir isim altında topladığın bir grup kod talimatlarıdır. Bir "
-"fonksiyon tanımladığında, içindeki tüm talimatları çalıştırmak için ne zaman "
-"istersen çağırabilirsin.\n"
+"Bir fonksiyon, bir isim altında topladığınız gruplanmış kod talimatlarıdır. "
+"Bir fonksiyon bir kez tanımladığınızda, içindeki tüm talimatları çalıştırmak "
+"için ne zaman isterseniz çağırabilirsiniz.\n"
 "\n"
 "Bir fonksiyonun davranışını, alınan değişkenler (parametreler) ile "
-"değiştirebilirsin. Bunlar fonksiyon tanımında yazdığın değişken isimleridir. "
-"Bunları fonksiyon içinde, kodunuzu farklı durumlara uyarlamak için "
-"kullanabilirsin.\n"
+"değiştirebilirsiniz. Bunlar fonksiyon tanımında yazdığınız değişken "
+"isimleridir. Bunları fonksiyon içerisinde, kodunuzu farklı durumlara "
+"uyarlamak için kullanabilirsiniz.\n"
 "\n"
-"Ayrıca fonksiyonlar, isteğe bağlı olarak, geriye değer döndürebilirler."
+"Ayrıca fonksiyonlar, isteğe bağlı olarak, geriye değer de döndürebilirler."
 
 #. Reference: increment
 #: course/glossary.csv:65
@@ -459,7 +459,7 @@ msgstr "artışlar"
 #. Reference: increment
 #: course/glossary.csv:65
 msgid "An increment is the amount by which a value changes in your code."
-msgstr "Bir artış, kodundaki bir değerin değişme miktarıdır."
+msgstr "Bir artış, kodunuzdaki bir değerin değişme miktarıdır."
 
 #. Reference: instruction
 #: course/glossary.csv:68
@@ -515,22 +515,22 @@ msgid ""
 "that you attach to some value. Any time, you can take the label and stick it "
 "onto a new product or, in that case, a new value."
 msgstr ""
-"Değişkenler, kodunun içinde saklamak istediğin ve zamanla değişen değerlere "
-"isim vermeye yarayan araçlardır.\n"
+"Değişkenler, kodunuzun içinde saklamak istediğiniz ve zamanla değişebilen "
+"değerlere isim vermeye yarayan araçlardır.\n"
 "\n"
-"Örneğin, bir karakterin sağlığı: karakter hasar aldığında, sağlığın "
-"azalmasını istersin. İyileşme durumunda, sağlığın tekrar artmasını "
-"istersin.\n"
+"Örneğin, bir karakterin sağlığı gibi: karakter hasar aldığı zaman, "
+"sağlığının azalmasını istersiniz. İyileşmesi durumunda, sağlığının tekrar "
+"artmasını istersiniz.\n"
 "\n"
 "Sağlığı temsil etmesi için [code]health[/code](sağlık) isminde bir değişken "
-"oluşturabilirsin.\n"
+"oluşturabilirsiniz.\n"
 "\n"
-"Bundan sonra kodunuzda, ne zaman klavyeden [code]health[/code] yazarsan, "
-"bilgisayar hafızasında karşılık gelen değeri senin için bulup getirecektir.\n"
+"Bundan sonra kodunuzda, ne zaman klavyeden [code]health[/code] yazarsanız, "
+"bilgisayar hafızasında karşılık gelen değeri sizin için bulup getirecektir.\n"
 "\n"
 "Değişkenler, süper marketlerdeki ürün etiketlerine biraz benzer. Bir değere "
 "iliştirdiğimiz isimlerdir. Herhangi bir zamanda, etiketi çıkartıp başka bir "
-"ürüne, yada bu durumda yeni bir değere, yapıştırabilirsin."
+"ürüne, ya da bu durumda yeni bir değere, yapıştırabilirsiniz."
 
 #. Reference: while loop
 #: course/glossary.csv:84
@@ -556,17 +556,18 @@ msgid ""
 "However, there are still essential cases in which we use while loops, like "
 "processing files, processing computer code, or for powerful algorithms."
 msgstr ""
-"Bir while döngüsü bilgisayara, bir şarta bağlı olarak kodu sürekli "
+"Bir \"while\" döngüsü bilgisayara, bir şarta bağlı olarak kodu sürekli "
 "çalıştırmasını emreder. Eğer şart geçerli ise, döngü sonsuza kadar çalışır.\n"
 "\n"
-"while döngüllerini kodlarken dikkatli olman gerekir: eğer şartı yanlış "
-"seçersen, döngü sonsuza kadar çalışır ve bilgisayarın donar.\n"
+"\"while\" döngülerini kodlarken dikkatli olmanız gerekir: eğer şartı yanlış "
+"seçerseniz, döngü sonsuza kadar çalışır ve bilgisayarınız donar.\n"
 "\n"
-"Münkün olduğunca daha güvenli olan for döngüsünü kullanmanı önerme sebebimiz "
-"bu yüzdendir.\n"
+"Mümkün olduğunca daha güvenli olan \"for\" döngüsünü kullanmanızı önerme "
+"sebebimiz bu yüzdendir.\n"
 "\n"
-"Yine de, while döngülerini kullanmanın çok gerekli olduğu durumlar da var; "
-"dosyaları işlemek, bilgisayar kodu işletmek, ya da güçlü algoritmalar yazmak."
+"Yine de \"while\" döngülerini kullanmanın çok gerekli olduğu durumlar da "
+"vardır; dosyaları işlemek, bilgisayar kodu işletmek, ya da güçlü "
+"algoritmalar yazmak."
 
 #. Reference: body
 #: course/glossary.csv:85
@@ -579,8 +580,8 @@ msgid ""
 "We talk about a loop or a function's body to refer to the lines of code that "
 "are part of the loop or function."
 msgstr ""
-"Bir döngüden yada bir fonksiyon'un içinden (gövdesinden) bahsederken, bir "
-"döngünün yada fonksiyonun parçası olan kod satırlarını kastediyoruz."
+"Bir döngüden ya da bir fonksiyon'un içinden (gövdesinden) bahsederken, bir "
+"döngünün ya da fonksiyonun parçası olan kod satırlarını kastediyoruz."
 
 #. Reference: return
 #: course/glossary.csv:88
@@ -596,11 +597,11 @@ msgid ""
 "It happens when a function uses the [code]return[/code] keyword followed by "
 "a value, for example: [code]return -1[/code]."
 msgstr ""
-"Bir değeri geri döndürmek, bir fonksiyonu çağırdığın noktaya bir değer "
+"Bir değeri geri döndürmek, bir fonksiyonu çağırdığınız noktaya bir değer "
 "döndürme işlemidir.\n"
 "\n"
-"Bunun için bir fonksiyon [code]return[/code] kelimesinden sonra bir değer "
-"kullanır; örneğin [code]return -1[/code] gibi."
+"Bunun için bir fonksiyon [code]return[/code] kelimesinden hemen sonra bir "
+"değer kullanır; örneğin [code]return -1[/code] gibi."
 
 #. Reference: library
 #: course/glossary.csv:89
@@ -618,7 +619,7 @@ msgid ""
 "A collection of valuable and reusable code bundled together by other "
 "programmers to save you time. All programmers use code libraries."
 msgstr ""
-"Diğer programcılar tarafında, bize zaman kazandırmak için bir araya "
+"Diğer programcılar tarafından, bize zaman kazandırmak için bir araya "
 "toplanmış, değerli ve tekrar kullanılabilir kod yığınlarıdır. Tüm "
 "programcılar kod kütüphaneleri kullanırlar."
 
diff --git a/i18n/tr/lesson-1-what-code-is-like.po b/i18n/tr/lesson-1-what-code-is-like.po
index a27da3e8..a422a661 100644
--- a/i18n/tr/lesson-1-what-code-is-like.po
+++ b/i18n/tr/lesson-1-what-code-is-like.po
@@ -9,16 +9,16 @@ msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
 "POT-Creation-Date: 2023-10-06 07:34+0200\n"
-"PO-Revision-Date: 2023-07-10 17:52+0000\n"
+"PO-Revision-Date: 2023-11-18 05:01+0000\n"
 "Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n"
-"Language-Team: Turkish <https://hosted.weblate.org/projects/learn-gdscript-"
-"from-zero/lesson-1-what-code-is-like/tr/>\n"
+"Language-Team: Turkish <https://hosted.weblate.org/projects/"
+"learn-gdscript-from-zero/lesson-1-what-code-is-like/tr/>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.0-dev\n"
+"X-Generator: Weblate 5.2\n"
 "Generated-By: Babel 2.9.1\n"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:14
@@ -30,8 +30,8 @@ msgid ""
 msgstr ""
 "Programlama öğrenmek göz korkutucu olabilir.\n"
 "\n"
-"Ancak video oyunları yapmak istiyorsun, bu nedenle [b]programlama öğrenmek "
-"kaçınılmaz[/b]. [i]Her[/i] video oyunu bir bilgisayar programıdır."
+"Ancak video oyunları yapmak istiyorsunuz, bu nedenle [b]programlama "
+"öğrenmeniz kaçınılmaz[/b]. [i]Her[/i] video oyunu bir bilgisayar programıdır."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:24
 msgid "Telling the computer what to do"
@@ -46,18 +46,18 @@ msgid ""
 "bar, or playing a sound."
 msgstr ""
 "Programlama, bilgisayara bir görevi nasıl gerçekleştireceğini söyleyen titiz "
-"yönergeler yazma sürecidir.\n"
+"ve kesin talimatlar yazma sürecidir.\n"
 "\n"
-"Örneğin, bir oyunun yönergeleri şunlar olabilir: bir karakteri hareket "
-"ettirmek, bir hayat çubuğu çizmek, veya bir ses çalmak."
+"Örneğin, bir oyunun talimatları şunlar olabilir: bir karakteri hareket "
+"ettirmek, bir can çubuğu çizmek ya da bir ses çalmak."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:38
 msgid ""
 "To do any of that, you need to learn a [b]programming language[/b]: a "
 "specialized language to tell the computer what to do."
 msgstr ""
-"Bunların herhangi birini yapmak için bir [b]programlama dili[/b] -"
-"bilgisayara ne yapacağını söylemek için özel bir dil- öğrenmen gerekir."
+"Bunların herhangi birini yapmak için, bilgisayara ne yapacağını söylemeye "
+"yarayan özel bir dil, yani bir [b]programlama dili[/b] öğrenmeniz gerekir."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:58
 msgid ""
@@ -70,16 +70,16 @@ msgid ""
 "Which circle? Where? Which color should it be? How big should it be?"
 msgstr ""
 "Programlama dilleri, İngilizce veya Türkçe gibi doğal dillerden farklıdır. "
-"Bilgisayar düşünmez. Bizden farklı olarak, ona söylediğiniz şeyleri "
+"Bilgisayar düşünmez. Bizlerden farklı olarak, ona söylediğiniz şeyleri "
 "[i]yorumlayamaz[/i].\n"
 "\n"
-"Ona, \"bir daire çiz\" gibi belirsiz bir şey söylemezsin.\n"
+"Ona, \"bir daire çiz\" gibi belirsiz bir şey söylemezsiniz.\n"
 "\n"
-"Hangi daire? Nerede/Nereye? Hangi rente olmalı? Ne kadar büyük olmalı?"
+"Hangi daire? Nerede/Nereye? Hangi renkte olmalı? Ne kadar büyük olmalı?"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:70
 msgid "The computer needs exact instructions"
-msgstr "Bilgisayar, kesin yönergelere ihtiyaç duyar"
+msgstr "Bilgisayar, kesin talimatlara ihtiyaç duyar"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:72
 msgid ""
@@ -91,11 +91,11 @@ msgid ""
 "[i]Click the button to run the code example and see the result.[/i]"
 msgstr ""
 "İçi dolu bir daire çizmek için, bilgisayarın kesin koordinatları, yarıçapı, "
-"kalınlığı ve istediğin rengi bilmesi gerekir.\n"
+"kalınlığı ve istediğiniz rengi bilmesi gerekir.\n"
 "\n"
 "Bunu yapacak kod şuna [i]benzeyebilir[/i].\n"
 "\n"
-"[i]Kod örneğini çalıştırmak ve sonucu görmek için düğmeye tıkla. "
+"[i]Kod örneğini çalıştırmak ve sonucu görmek için düğmeye tıklayın. "
 "(draw_circle)[/i]"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:96
@@ -112,21 +112,21 @@ msgid ""
 "[b]When you program, you're the one in charge, and you're free to do "
 "[i]anything[/i] you want.[/b]"
 msgstr ""
-"İlerleyen derslerde bu kodun nasıl çalıştığını öğreneceksin.\n"
+"İlerleyen derslerde, bu kodun nasıl çalıştığını öğreneceksiniz.\n"
 "\n"
-"Şimdilik, sana bilgisayar kodunun neye benzediğine dair bir fikir vermek "
+"Şimdilik size, bilgisayar kodunun neye benzediğine dair bir fikir vermek "
 "istiyoruz. Bu örnekte, her şey önemlidir: her parantez, büyük harf, nokta ve "
 "virgül.\n"
 "\n"
-"Bilgisayar her zaman [b]tam olarak[/b] ona yapmasını söylediğin şeyi yapar. "
-"Ne eksik ne fazla. Her yönergeyi [i]körü körüne[/i] takip eder.\n"
+"Bilgisayar her zaman [b]tam olarak[/b] ona yapmasını söylediğiniz şeyi "
+"yapar. Ne eksik ne fazla. Her talimatı [i]körü körüne[/i] takip eder.\n"
 "\n"
-"[b]Programla yaparken, tüm yetki sendedir, ve istediğin [i]herhangi bir "
-"şeyi[/i] yapmakta özgürsündür.[/b]"
+"[b]Programla yaparken, tüm yetki sizdedir ve istediğiniz [i]herhangi bir "
+"şeyi[/i] yapmakta özgürsünüz. [/b]"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:110
 msgid "How do you give instructions to a computer?"
-msgstr "Bir bilgisayara, nasıl yönerge verirsin?"
+msgstr "Bir bilgisayara, talimatları nasıl verirsiniz?"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:113
 msgid ""
@@ -136,12 +136,12 @@ msgid ""
 msgstr ""
 "Bilgisayarlar, İngilizce ve Türkçe gibi doğal dilleri anlamazlar. Herhangi "
 "bir şey yapmalarını sağlamak için, bir programlama dili kullanarak, onlara "
-"anlayacakları kesin yönergeler vermen gerekir."
+"anlayacakları kesin talimatlar vermeniz gerekir."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:114
 #: course/lesson-1-what-code-is-like/lesson.tres:115
 msgid "Using a programming language and precise instructions"
-msgstr "Bir programlama dili ve kesin yönergeler kullanarak"
+msgstr "Bir programlama dili ve kesin talimatlar kullanarak"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:114
 msgid "Using prose in plain English"
@@ -149,7 +149,7 @@ msgstr "Sade İngilizce (ve belki Türkçe) ile düz yazı kullanarak"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:122
 msgid "You'll learn to code with GDScript"
-msgstr "GDScript ile kodlamayı öğreneceksin"
+msgstr "GDScript ile kodlamayı öğreneceksiniz"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:124
 #, fuzzy
@@ -183,9 +183,9 @@ msgid ""
 "it's specialized. Unlike some other languages, it doesn't have an "
 "[i]overwhelming[/i] amount of features for you to learn."
 msgstr ""
-"GDScript, özelleşmiş olduğundan, programlamaya başlamak için harika bir "
-"dildir. Bazı diğer dillerden farklı olarak, [i]bunaltıcı derecede[/i] çok "
-"öğrenilecek özelliğe sahip değildir."
+"GDScript, programlamaya başlamak için harika bir dildir, çünkü alanında "
+"özelleşmiştir. Bazı diğer dillerden farklı olarak, [i]bunaltıcı derecede[/i] "
+"çok miktarda öğrenilecek özelliğe sahip değildir."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:158
 msgid "Most programming languages are similar"
@@ -204,32 +204,32 @@ msgid ""
 "\n"
 "Try to spot the similarities and differences."
 msgstr ""
-"Tıkılı kalmaktan korkma. İlk programlama dilinde öğrendiğin kavramlar tüm "
-"diğerleri için de geçerli olacaktır.\n"
+"Bir dile takılıp kalmaktan korkmayın. İlk programlama diliniz ile "
+"öğreneceğiniz kavramlar, tüm diğerleri için de geçerli olacaktır.\n"
 "\n"
-"Çoğu diller, diğerleriyle olan farklılıklarından çok daha fazla "
-"benzerliklere sahiptir. Birini öğrendikten sonra, sonrakinde üretken olmak "
-"çok daha az zaman alır.\n"
+"Çoğu diller, diğerleriyle olan farklılıklarına karşın, çok daha fazla "
+"benzerliklere sahiptir. Birini öğrendikten sonra, bir sonrakinde üretken "
+"olmak çok daha az zaman alır.\n"
 "\n"
-"İşte aynı kodun üç dilde birer örneği: GDScript, JavaScript ve Python.\n"
+"İşte size aynı kodun üç dilde birer örneği: GDScript, JavaScript ve Python.\n"
 "\n"
-"Aralarındaki benzerlikleri ve farklılıkları yakalamayı dene."
+"Aralarındaki benzerlikleri ve farklılıkları yakalamayı deneyin."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:186
 msgid "It doesn't look [i]that[/i] different, does it?"
-msgstr "[i]O kadar da[/i] farklı görünmüyor, değil mi?"
+msgstr "[i]O kadar[/i] da farklı görünmüyorlar, değil mi?"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:194
 msgid "Are programming languages all completely different?"
-msgstr "Programlama dillerinin tümü tamamen farklı mıdırlar?"
+msgstr "Programlama dillerinin hepsi tamamen farklı mıdırlar?"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:195
 msgid ""
 "If you learn one language and then want to learn another, will you have to "
 "start from scratch?"
 msgstr ""
-"Bir dili öğrenirsen ve ardından bir başkasını öğrenmek istersen, sıfırdan mı "
-"başlaman gerekir?"
+"Eğer bir dili öğrenirseniz ve ardından bir başkasını öğrenmek isterseniz, "
+"sıfırdan mı başlamanız gerekir?"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:197
 msgid ""
@@ -243,14 +243,15 @@ msgid ""
 "However, languages like GDScript, Python, JavaScript, C++, C#, and many "
 "others build upon a similar programming philosophy."
 msgstr ""
-"Çoğu programlama dili, nasıl programlanacağına dair aynı fikirler üzerine "
-"inşa edilmişlerdir. Sonuç olarak, büyük miktarda birbirlerine benzerler.\n"
+"Çoğu programlama dili, nasıl programlama yapılacağına dair aynı fikirler "
+"üzerine inşa edilmişlerdir. Bunun sonucu olarak, büyük miktarda birbirlerine "
+"benzerler.\n"
 "\n"
-"Yine de bu, tüm dillerin aynı olduğu anlamına gelmez. Bazıları gerçekten "
-"eşsiz bir sözdizimi sunar ve GDScript'e kıyasla bütünüyle farklı bir düşünce "
+"Ancak bu, tüm dillerin aynı olduğu anlamına gelmez. Bazıları gerçekten eşsiz "
+"bir söz dizimi sunar ve GDScript'e kıyasla bütünüyle farklı bir düşünce "
 "şekli gerektirir.\n"
 "\n"
-"Yine de; GDScript, Python, JavaScript, C++, C# gibi diller ve birçok diğeri "
+"Yine de, GDScript, Python, JavaScript, C++, C# gibi diller ve birçok diğeri "
 "benzer bir programlama felsefesini temel alırlar."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:202
@@ -271,8 +272,8 @@ msgid ""
 "If you want to learn to make games or code but don't know where to start, "
 "this course should be perfect."
 msgstr ""
-"Eğer oyun yapmayı veya kodlamayı öğrenmek istiyor, ama nereden başlayacağını "
-"bilmiyorsan, bu kurs bunun için mükemmel diyebiliriz."
+"Eğer oyun yapmayı veya kodlamayı öğrenmek istiyor, ama nereden "
+"başlayacağınızı bilmiyorsanız, bu kurs başlamak için mükemmel diyebiliriz."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:232
 msgid ""
@@ -285,14 +286,15 @@ msgid ""
 "Please be patient. It will take time before you can make your first complete "
 "game alone."
 msgstr ""
-"Onu [i]sıfırdan başlayanlar[/i] için tasarladık, ancak hâlihazırda başka bir "
-"dil biliyorsan Godot'a başlamak için eğlenceli bir yol olabilir.\n"
+"Bu kursu [i]sıfırdan başlayanlar[/i] için tasarladık, ancak hâlihazırda "
+"başka bir dil biliyorsanız da Godot'a başlamak için eğlenceli bir yol "
+"olabilir.\n"
 "\n"
-"Godot ile oyunlar ve uygulamalar yapmaya başlamak için ihtiyaç duyacağın "
-"kodlama temellerini sağlayacağız.\n"
+"Burada, Godot ile oyunlar ve uygulamalar yapmaya başlamak için ihtiyaç "
+"duyacağınız kodlama temellerini sağlayacağız.\n"
 "\n"
-"Ama lütfen sabırlı ol. Tek başını ilk bütün oyununu yapabilmen zaman "
-"alacaktır."
+"Ama lütfen sabırlı ol. Tek başınıza ilk oyununuzu yapıp tamamlayabilmeniz "
+"zaman alacaktır."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:244
 msgid "Learning to make games takes practice"
@@ -312,29 +314,30 @@ msgid ""
 "Enjoy the process and celebrate every little success. You will never stop "
 "learning as a game developer."
 msgstr ""
-"Oyun yapmak her zamankinden daha erişilebilir, ama yine de çokça emek ve "
-"alıştırma gerektirir.\n"
+"Oyunlar yapmak eskiye göre her zamankinden daha erişilebilir durumda, ama "
+"yine de çokça çalışma ve alıştırma gerektirir.\n"
 "\n"
-"Herhangi tek bir kurs veya kitabın sizi bir profesyonele dönüştürmesini "
-"bekleme. [b]Programlama, alıştırma yoluyla öğrenilen bir şeydir.[/b]\n"
+"Herhangi bir kurs veya kitabın tek başına sizi bir profesyonele "
+"dönüştürmesini beklemeyin. [b]Programlama, alıştırma yapılarak öğrenilen bir "
+"şeydir.[/b]\n"
 "\n"
-"Eğer bir şeyi hemen anlamazsan, canınızı çok sıkma! Öğrenmeye devam et ve "
-"daha sonra dönüp tekrar bak.\n"
+"Eğer bir şeyi hemen anlamazsanız, canınızı çok sıkmayın! Öğrenmeye devam "
+"edin ve daha sonra dönüp tekrar bakın.\n"
 "\n"
-"Sürecin keyfini çıkar ve her küçük başarıyı kutla. Bir oyun geliştiricisi "
-"olarak, öğrenimin hiç bitmeyecek."
+"Sürecin keyfini çıkarın ve her küçük başarıyı kutlayın. Bir oyun "
+"geliştiricisi olarak, bir şeyler öğrenmeniz hiç bitmeyecek."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:260
 msgid "What and how you'll learn"
-msgstr "Neyi ve nasıl öğreneceksin"
+msgstr "Neyi ve nasıl öğreneceksiniz"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:262
 msgid ""
 "In this free course, you will learn the foundations you need to start coding "
 "things like these:"
 msgstr ""
-"Bu ücretiz kursta, kodlamaya başlamak için gereken, aşağıdakiler gibi "
-"temelleri öğreneceksin:"
+"Bu ücretiz kursta, kodlamaya başlamanız için gereken, aşağıdakiler gibi "
+"temelleri öğreneceksiniz:"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:292
 msgid ""
@@ -358,27 +361,27 @@ msgid ""
 "If at any time you're left with burning questions, you're more than welcome "
 "to join [url=https://discord.gg/87NNb3Z]our Discord community[/url]."
 msgstr ""
-"Süreç boyunca sana şunları öğreteceğiz:\n"
+"Kurs boyunca, size şunları öğreteceğiz:\n"
 "\n"
-"- Bir geliştirici olarak ihtiyacın olan düşünme şeklinin bir kısmı. Birçok "
-"programlama kursu bu temel kısmı es geçiyor.\n"
+"- Bir geliştirici olarak ihtiyacınız olan düşünme şeklinin bir kısmı. Birçok "
+"programlama kursu bu temel kısmı atlıyor.\n"
 "- GDScript kodunun nasıl yazıldığı.\n"
 "- Başlamak için en gerekli programlama temelleri.\n"
 "\n"
-"Kursta ilerledikçe, bir çok soruların olacak. Onları süreç boyunca elimizden "
-"geldiğince en iyi şekilde cevaplandıracağız.\n"
+"Kursta ilerledikçe, birçok sorularınız olacak. Onları, kurs boyunca "
+"elimizden geldiğince en iyi şekilde cevaplandıracağız.\n"
 "\n"
-"Ancak öğretilmesi gereken o kadar çok şey var ki bazı kestirmelere "
-"başvurmamız gerekiyor. Seni bilgilerle [i]bunaltmak[/i] istemiyoruz. Aynı "
+"Ancak öğretilmesi gereken o kadar çok şey var ki arada bazı kestirmelere "
+"başvurmamız gerekiyor. Sizi bilgilerle [i]bunaltmak[/i] istemiyoruz. Aynı "
 "zamanda, beyinlerimizin bir şeyleri ezberleme hızına da saygı duymak "
 "istiyoruz.\n"
 "\n"
-"Kursu, kısa derslere ve alıştırmalara böldük. Her bir kısma çok fazla şey "
-"koysaydık, daha yavaş öğrenirdin.\n"
+"Kursu kısa derslere ve alıştırmalara böldük. Her bir kısma çok fazla şey "
+"koysaydık, daha yavaş öğrenirdiniz.\n"
 "\n"
-"Eğer herhangi bir noktada cevabını öğrenmek zorunda hissettiğin soruların "
-"olursa, [url=https://discord.gg/87NNb3Z]Discord topluluğumuza (İngilizce)[/"
-"url] katılabilirsin."
+"Eğer herhangi bir noktada cevabını öğrenmek zorunda hissettiğiniz "
+"sorularınız olursa, [url=https://discord.gg/87NNb3Z]Discord topluluğumuza "
+"(İngilizce)[/url] çekinmeden katılabilirsiniz."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:312
 msgid "Is this for Godot 4?"
@@ -407,20 +410,20 @@ msgid ""
 "To continue, click the [i]Practice[/i] button below. It will give you a "
 "short run through how practices work."
 msgstr ""
-"Programlama bir beceridir. Bu yüzden, onda iyi olmak için alıştırma "
-"yapmalısın. Bu uygulamayı bu nedenle inşa ettik.\n"
+"Programlama bir beceridir, bu yüzden, iyi olmak için alıştırma yapmalısın. "
+"Bu uygulamayı bu nedenle inşa ettik.\n"
 "\n"
-"Her dersi, öğrendiklerini kullanman için etkileşimli bir alıştırma takip "
-"eder.\n"
+"Her bir dersi, öğrendiklerinizi kullanmanız için etkileşimli bir alıştırma "
+"takip ediyor.\n"
 "\n"
-"Lafı açılmışken, alıştırma ekranına bakma vakti geldi!\n"
+"Lafı açılmışken, artık alıştırma ekranına bir göz atma vakti geldi!\n"
 "\n"
-"Devam etmek için, aşağıdaki [i]Alıştırma[/i] düğmesine tıkla. Sana, "
+"Devam etmek için, aşağıdaki [i]Alıştırma[/i] düğmesine tıklayın. Size, "
 "alıştırmaların nasıl işlediğine dair kısa bir özet sunacak."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:338
 msgid "Try Your First Code"
-msgstr "İlk Kodunu Dene"
+msgstr "İlk Kodunuzu Deneyin"
 
 #: course/lesson-1-what-code-is-like/lesson.tres:339
 msgid ""
@@ -429,15 +432,15 @@ msgid ""
 "\n"
 "To test the code, click the [i]Run[/i] button below the code editor."
 msgstr ""
-"Ssenin için bir kod örneği hazırladık. Bu alıştırma için, herhangi bir şeyi "
-"değiştirmen gerekmiyor.\n"
+"Sizin için bir kod örneği hazırladık. Bu alıştırma için, herhangi bir şeyi "
+"değiştirmeniz gerekmiyor.\n"
 "\n"
-"Kodu denemek için, kod düzenleyicisinin altındaki [i]Çalıştır[/i] düğmesine "
-"tıkla."
+"Kodu denemek için, kod düzenleyicinin altındaki [i]Çalıştır[/i] düğmesine "
+"tıklayın."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:351
 msgid "Run your first bit of code and see the result."
-msgstr "İlk kod parçanı çalıştır ve sonucu gör."
+msgstr "İlk kod parçanızı çalıştırın ve sonucu görün."
 
 #: course/lesson-1-what-code-is-like/lesson.tres:355
 msgid "What Code is Like"
diff --git a/i18n/tr/lesson-11-time-delta.po b/i18n/tr/lesson-11-time-delta.po
index 955fbd08..6a2de1f2 100644
--- a/i18n/tr/lesson-11-time-delta.po
+++ b/i18n/tr/lesson-11-time-delta.po
@@ -8,11 +8,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-07-14 21:12+0000\n"
 "Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n"
-"Language-Team: Turkish <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-11-time-delta/tr/>\n"
+"Language-Team: Turkish <https://hosted.weblate.org/projects/learn-gdscript-"
+"from-zero/lesson-11-time-delta/tr/>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -46,8 +46,8 @@ msgid ""
 "movement. This is similar to how traditional animation works."
 msgstr ""
 "Ancak [code]_process()[/code] fonksiyonuna sahip olan sadece bizim "
-"karakterimiz değil; oyundaki neredeyse her şeyin içinde bir "
-"[code]_process()[/code] fonksiyonu var!\n"
+"karakterimiz değil; oyundaki neredeyse her şeyin içinde bir [code]_process()"
+"[/code] fonksiyonu var!\n"
 "\n"
 "Godot, oyun dünyasını güncellemek için, oyundaki her [code]_process()[/code] "
 "fonksiyonunu saniyede defalarca kez çalıştırır.\n"
@@ -138,6 +138,7 @@ msgid "Frames take varying amounts of time to calculate"
 msgstr "Oyun karelerinin hesaplanması farklı süreler alır"
 
 #: course/lesson-11-time-delta/lesson.tres:93
+#, fuzzy
 msgid ""
 "Depending on the game, the computer, and what the game engine needs to "
 "calculate, frames take more or less time to display.\n"
@@ -150,9 +151,6 @@ msgid ""
 "Delta represents a time difference. It's the time passed since the previous "
 "frame, in seconds.\n"
 "\n"
-"The [code]delta[/code] parameter tells us how long it took for Godot to "
-"complete the [b]previous frame[/b].\n"
-"\n"
 "We can use it to ensure that the changes between frames don't make the "
 "game's behavior unreliable.\n"
 "\n"
@@ -168,8 +166,8 @@ msgstr ""
 "\n"
 "Kareden kareye, her zaman milisaniyelik farklılıklar olacaktır.\n"
 "\n"
-"Bu nedenle [code]_process()[/code] fonksiyonunun bir [code]delta[/code] ("
-"küçük değişim) alınan değişkeni vardır.\n"
+"Bu nedenle [code]_process()[/code] fonksiyonunun bir [code]delta[/code] "
+"(küçük değişim) alınan değişkeni vardır.\n"
 "\n"
 "Delta bir zaman farkını temsil eder. Önceki kareden bu yana, saniye "
 "cinsinden geçen süredir.\n"
@@ -188,11 +186,11 @@ msgstr ""
 "bağlı olarak değişecektir. Delta, oyun deneyimini herkes için tutarlı hale "
 "getirmeye yardımcı olur."
 
-#: course/lesson-11-time-delta/lesson.tres:115
+#: course/lesson-11-time-delta/lesson.tres:113
 msgid "What do we know about delta?"
 msgstr "Delta hakkında ne biliyoruz?"
 
-#: course/lesson-11-time-delta/lesson.tres:118
+#: course/lesson-11-time-delta/lesson.tres:116
 msgid ""
 "[code]delta[/code] is the time it took Godot to complete the previous frame "
 "in seconds.\n"
@@ -209,26 +207,26 @@ msgstr ""
 "Her karede değişir, çünkü Godot'un her karede, daha az ya da daha çok işlem "
 "yapması gerekir."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's a value in seconds."
 msgstr "Saniye cinsinden bir değerdir."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It varies each frame."
 msgstr "Her karede değişir."
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's the time it took Godot to complete the previous frame."
 msgstr "Godot'nun, bir önceki kareyi tamamlaması için geçen süredir."
 
-#: course/lesson-11-time-delta/lesson.tres:131
+#: course/lesson-11-time-delta/lesson.tres:129
 msgid "Multiplying by delta"
 msgstr "Delta ile çarpmak"
 
-#: course/lesson-11-time-delta/lesson.tres:133
+#: course/lesson-11-time-delta/lesson.tres:131
 msgid ""
 "The [code]delta[/code] you get in [code]_process()[/code] is a time "
 "difference in seconds. It will generally be a tiny decimal number.\n"
@@ -242,23 +240,23 @@ msgstr ""
 "[code]delta[/code]'yı uygulamak için, [i]hız değerleri[/i] ile çarpman "
 "gerekir."
 
-#: course/lesson-11-time-delta/lesson.tres:155
+#: course/lesson-11-time-delta/lesson.tres:153
 msgid ""
 "When multiplying by [code]delta[/code], you make motion [i]time-dependent[/"
 "i] rather than [i]frame-dependent[/i].\n"
 "\n"
 "That's essential to make your game consistent and fair."
 msgstr ""
-"[code]delta[/code] ile çarparken, hareketi, [i]oyun karesine[/i] değil [i]"
-"zamana bağlı[/i] yaparsın.\n"
+"[code]delta[/code] ile çarparken, hareketi, [i]oyun karesine[/i] değil "
+"[i]zamana bağlı[/i] yaparsın.\n"
 "\n"
 "Oyununu tutarlı ve adil kılmak için bu çok önemlidir."
 
-#: course/lesson-11-time-delta/lesson.tres:165
+#: course/lesson-11-time-delta/lesson.tres:163
 msgid "Why do we use the number 3.0 in this example?"
 msgstr "Bu örnekte, neden 3.0 sayısını kullanıyoruz?"
 
-#: course/lesson-11-time-delta/lesson.tres:167
+#: course/lesson-11-time-delta/lesson.tres:165
 msgid ""
 "At the top of the lesson, we made the robot rotate a fixed amount every "
 "frame: [code]0.05[/code] radians.\n"
@@ -287,15 +285,15 @@ msgstr ""
 "\n"
 "Yukarıdaki örnekte şimdi, girilen değişkeni, [code]1.0[/code] değerinin çok "
 "altında bir değer olan, çok küçük [code]delta[/code] değeriyle "
-"[i]çarpıyoruz[/i]. Bu, robotun zaman içinde sabit bir hızda dönmesini sağlar."
-"\n"
+"[i]çarpıyoruz[/i]. Bu, robotun zaman içinde sabit bir hızda dönmesini "
+"sağlar.\n"
 "\n"
 "Ancak, [code]delta[/code] gibi [code]1.0[/code]'in altındaki bir sayı ile "
 "çarpmak sonucu daha da küçültür.\n"
 "\n"
-"Bunu telafi etmek ve robotun yeterince hızlı dönmesini sağlamak için, [code]0"
-".05[/code] yerine [code]3.0[/code] gibi, öncekinden çok daha büyük bir sayı "
-"kullanıyoruz.\n"
+"Bunu telafi etmek ve robotun yeterince hızlı dönmesini sağlamak için, "
+"[code]0.05[/code] yerine [code]3.0[/code] gibi, öncekinden çok daha büyük "
+"bir sayı kullanıyoruz.\n"
 "\n"
 "Bu sayıların iki farklı [i]birimi[/i] vardır: [code]0.05[/code] radyan "
 "cinsinden bir [i]açı[/i] iken, [code]3.0[/code] ise saniyede radyan "
@@ -306,11 +304,11 @@ msgstr ""
 "Şimdilik biraz kafan karıştıysa, endişelenme. Oyun projelerinde hız, ivme ve "
 "hareketle uğraşırken, eninde sonunda her şey yerine oturacaktır."
 
-#: course/lesson-11-time-delta/lesson.tres:187
+#: course/lesson-11-time-delta/lesson.tres:185
 msgid "Why the time between frames matters"
 msgstr "Oyun kareleri arasındaki süre neden önemli"
 
-#: course/lesson-11-time-delta/lesson.tres:189
+#: course/lesson-11-time-delta/lesson.tres:187
 msgid ""
 "The time it takes to display a new frame varies.\n"
 "\n"
@@ -342,7 +340,7 @@ msgstr ""
 "\n"
 "Alttaki robot, [i]herkes için farklı[/i] hareket edecektir!"
 
-#: course/lesson-11-time-delta/lesson.tres:217
+#: course/lesson-11-time-delta/lesson.tres:215
 msgid ""
 "Multiplying time-sensitive values by [code]delta[/code] makes them [b]time-"
 "dependent[/b] rather than [b]frame-dependent[/b].\n"
@@ -362,15 +360,15 @@ msgstr ""
 "sırasında değişir. Bu olursa, hareket, her oyuncu için farklılık gösterecek, "
 "oyunu tutarsız ve can sıkıcı hale getirecektir."
 
-#: course/lesson-11-time-delta/lesson.tres:229
+#: course/lesson-11-time-delta/lesson.tres:227
 msgid "What does this mean?"
 msgstr "Bu ne anlama geliyor?"
 
-#: course/lesson-11-time-delta/lesson.tres:230
+#: course/lesson-11-time-delta/lesson.tres:228
 msgid "[code]rotation_speed * delta[/code]"
 msgstr "[code]rotation_speed * delta[/code] (dönme_hızı * delta)"
 
-#: course/lesson-11-time-delta/lesson.tres:232
+#: course/lesson-11-time-delta/lesson.tres:230
 msgid ""
 "The [code]*[/code] symbol means we're multiplying [code]rotation_speed[/"
 "code] by [code]delta[/code] time."
@@ -378,34 +376,34 @@ msgstr ""
 "[code]*[/code] sembolü, [code]rotation_speed[/code] (dönme hızı) ile "
 "[code]delta[/code] zamanını çarptığımız anlamına gelir."
 
-#: course/lesson-11-time-delta/lesson.tres:233
-#: course/lesson-11-time-delta/lesson.tres:234
+#: course/lesson-11-time-delta/lesson.tres:231
+#: course/lesson-11-time-delta/lesson.tres:232
 msgid "We're multiplying rotation_speed by delta."
 msgstr "rotation_speed (dönme hızı) ile deltayı çarpıyoruz."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're dividing delta by rotation_speed."
 msgstr "rotation_speed (dönme hızı) nı, deltaya bölüyoruz."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're adding rotation_speed to delta."
 msgstr "rotation_speed (dönme hızı) na delta'yı ekliyoruz."
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're subtracting delta from rotation_speed."
 msgstr "rotation_speed (dönme hızı)ndan delta'yı çıkartıyoruz."
 
-#: course/lesson-11-time-delta/lesson.tres:243
+#: course/lesson-11-time-delta/lesson.tres:241
 msgid "In the next practice, we'll use delta to make rotating time-dependent."
 msgstr ""
 "Sıradaki uygulamada, dönmeyi zamana bağlı hale getirmek için delta "
 "kullanacağız."
 
-#: course/lesson-11-time-delta/lesson.tres:251
+#: course/lesson-11-time-delta/lesson.tres:249
 msgid "Rotating Using Delta"
 msgstr "Delta Kullanarak Döndürmek"
 
-#: course/lesson-11-time-delta/lesson.tres:252
+#: course/lesson-11-time-delta/lesson.tres:250
 msgid ""
 "At the moment, the rotation of the robot is frame-dependent.\n"
 "\n"
@@ -419,11 +417,11 @@ msgstr ""
 "\n"
 "Robot saniyede [code]2[/code] radyan dönmelidir."
 
-#: course/lesson-11-time-delta/lesson.tres:271
+#: course/lesson-11-time-delta/lesson.tres:269
 msgid "Moving in a Circle Using Delta"
 msgstr "Delta Kullanarak, Daire Şeklinde Hareket Etmek"
 
-#: course/lesson-11-time-delta/lesson.tres:272
+#: course/lesson-11-time-delta/lesson.tres:270
 msgid ""
 "In this practice, make the robot move in a smooth circle using delta.\n"
 "\n"
@@ -443,6 +441,6 @@ msgstr ""
 "[b]Not:[/b] Lütfen, fonksiyonları çağırırken, değerleri parantez içine yaz. "
 "Eğer fazladan değişken tanımlarsan, uygulamanı kontrol edemeyiz."
 
-#: course/lesson-11-time-delta/lesson.tres:290
+#: course/lesson-11-time-delta/lesson.tres:288
 msgid "Time Delta"
 msgstr "Küçük Zaman Değişimi (Time Delta)"
diff --git a/i18n/tr/lesson-15-modulo.po b/i18n/tr/lesson-15-modulo.po
deleted file mode 100644
index 6d4cb681..00000000
--- a/i18n/tr/lesson-15-modulo.po
+++ /dev/null
@@ -1,349 +0,0 @@
-# Translations template for Learn GDScript From Zero.
-# Copyright (C) 2022 GDQuest
-# This file is distributed under the same license as the Learn GDScript From
-# Zero project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Learn GDScript From Zero\n"
-"Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-07-12 10:50+0000\n"
-"Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n"
-"Language-Team: Turkish <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-15-modulo/tr/>\n"
-"Language: tr\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.0-dev\n"
-"Generated-By: Babel 2.9.1\n"
-
-#: course/lesson-15-modulo/lesson.tres:14
-msgid ""
-"The modulo operation ([code]%[/code]) calculates the remainder of a whole "
-"number division.\n"
-"\n"
-"For example, the modulo of [code]5[/code] by [code]3[/code] ([code]5 % 3[/"
-"code]) is [code]2[/code].\n"
-"\n"
-"We typically use this operation to tell if a number is odd or even or to "
-"produce a random number within a particular range (like a dice roll).\n"
-"\n"
-"Play around with the modulo widget on the right to see how modulo works "
-"visually."
-msgstr ""
-"Mod alma işlemi ([code]%[/code] işaretiyle), bir tam sayıyla bölme yapınca, "
-"geriye kalanı hesaplar.\n"
-"\n"
-"Örneğin, [code]5[/code] 'in [code]3[/code] ile modu ([code]5 % 3[/code]) "
-"[code]2[/code] verir.\n"
-"\n"
-"Bu işlemi genellikle bir sayının tek mi çift mi olduğunu söylemek veya "
-"belirli bir aralıkta rastgele bir sayı üretmek için kullanırız (zar atmak "
-"gibi).\n"
-"\n"
-"Mod almanın görsel olarak nasıl çalıştığını görmek için sağdaki mod alma "
-"penceresi ile oynayın."
-
-#: course/lesson-15-modulo/lesson.tres:28
-msgid "What's the result of this modulo operation?"
-msgstr "Bu mod alma işleminin sonucu nedir?"
-
-#: course/lesson-15-modulo/lesson.tres:29
-msgid "[code]11 % 4[/code]"
-msgstr "[code]11 % 4[/code]"
-
-#: course/lesson-15-modulo/lesson.tres:31
-msgid ""
-"[code]11[/code] divided by [code]4[/code] is [code]2[/code], and the "
-"[b]remainder[/b] of the division is [code]3[/code].\n"
-"\n"
-"So [code]11 % 4[/code] is [code]3[/code]."
-msgstr ""
-"[code]11[/code] 'in içinde [code]4[/code], [code]2[/code] defa var ve "
-"bölümden [b]kalan[/b], [code]3[/code] olur.\n"
-"\n"
-"Yani [code]11 % 4[/code], [code] 3[/code]'tür."
-
-#: course/lesson-15-modulo/lesson.tres:34
-#: course/lesson-15-modulo/lesson.tres:35
-msgid "3"
-msgstr "3"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "2"
-msgstr "2"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "7"
-msgstr "7"
-
-#: course/lesson-15-modulo/lesson.tres:44
-msgid ""
-"The modulo operation only works on [b]whole numbers[/b]; Not decimal "
-"numbers.\n"
-"\n"
-"Also, just like in regular divisions, the divisor can't be zero.\n"
-"\n"
-"All three examples below will cause an error in your code."
-msgstr ""
-"Mod alma işlemi yalnızca [b]tam sayılar[/b] üzerinde çalışır; ondalık "
-"sayılar üzerinde çalışmaz.\n"
-"\n"
-"Ayrıca, tıpkı normal bölmelerde olduğu gibi, bölen sayı sıfır olamaz.\n"
-"\n"
-"Aşağıdaki üç örnek de kodunda bir hataya neden olacaktır."
-
-#: course/lesson-15-modulo/lesson.tres:66
-msgid "Three ways we use the modulo operation"
-msgstr "Mod alma işlemini kullandığımız üç yer"
-
-#: course/lesson-15-modulo/lesson.tres:68
-msgid ""
-"The modulo operation has important uses in programming, like making a number "
-"cycle.\n"
-"\n"
-"Take a traffic light, for example."
-msgstr ""
-"Mod alma işleminin programlamada, sayı döngüsü oluşturmak gibi, önemli "
-"kullanımları vardır.\n"
-"\n"
-"Örneğin, bir trafik ışığını ele alalım."
-
-#: course/lesson-15-modulo/lesson.tres:90
-msgid ""
-"We use the number [code]light_index[/code] to represent the traffic light's "
-"current state.\n"
-"\n"
-"The lights always cycle in the same way: first, we have the red light, then "
-"the yellow, then the green.\n"
-"\n"
-"To represent that cycle, you can periodically add one to the number and use "
-"the modulo operator to wrap back to [code]0[/code].\n"
-"\n"
-"Instead, you could use a condition; In this case, we use the modulo as a "
-"shortcut."
-msgstr ""
-"Trafik ışığının mevcut durumunu temsil etmek için [code]light_index[/code] "
-"(ışık_dizini) sayısını kullanırız.\n"
-"\n"
-"Işıklar hep aynı şekilde yanar: önce kırmızı yanar, sonra sarı, ve sonra "
-"yeşil.\n"
-"\n"
-"Bu döngüyü temsil etmesi için, düzenli olarak sayıya bir ekleyebilir, ve mod "
-"alma işlemini kullanarak tekrar [code]0[/code]yapabilirsin.\n"
-"\n"
-"Bunun yerine, bir koşulda kullanabilirdin; Bu durumda, mod almayı bir "
-"kısayol olarak kullanırız."
-
-#: course/lesson-15-modulo/lesson.tres:114
-msgid "Why do we start from zero?"
-msgstr "Neden sıfır ile başlıyoruz?"
-
-#: course/lesson-15-modulo/lesson.tres:116
-msgid ""
-"In computer code, we very often count from [code]0[/code].\n"
-"\n"
-"Every number translates to a precise combination of bits in the machine, "
-"starting from [code]0[/code].\n"
-"\n"
-"We don't want to waste any number, and as the first number the computer "
-"knows about is [code]0[/code], we start counting from [code]0[/code]."
-msgstr ""
-"Bilgisayar kodunda, sayı saymaya genellikle [code]0[/code]'dan başlarız.\n"
-"\n"
-"Başta [code]0[/code] olmak üzere her sayı, makine içindeki bitlerin (0 ve 1 "
-"sinyalleri) çok belirli bir birleşimine karşılık gelir.\n"
-"\n"
-"Hiçbir sayıyı boşa harcamak istemiyoruz, ve bilgisayarın bildiği ilk sayı "
-"[code]0[/code] olduğu için saymaya [code]0[/code]'dan başlıyoruz."
-
-#: course/lesson-15-modulo/lesson.tres:128
-msgid "Using modulo to find even and odd numbers"
-msgstr "Çift ve tek sayıları bulmak için mod almayı kullanmak"
-
-#: course/lesson-15-modulo/lesson.tres:130
-msgid ""
-"We can also use a modulo to check if a number is even or odd. If we divide a "
-"number by [code]2[/code] and there's no remainder, then the number is "
-"[b]even[/b]."
-msgstr ""
-"Mod alma işlemini, bir sayının çift ya da tek olduğunu kontrol etmek için de "
-"kullanabiliriz. Bir sayıyı [code]2[/code] ile bölersek ve kalan olmazsa ("
-"sıfır kalısa), sayı [b]çift[/b] olur."
-
-#: course/lesson-15-modulo/lesson.tres:150
-msgid ""
-"Notice how the modulo can be larger than the number it affects. For example, "
-"[code]1 % 2[/code] gives you [code]1[/code]. That's because [code]1[/code] "
-"divided by [code]2[/code] equals [code]0[/code], and the remainder is "
-"[code]1[/code].\n"
-"\n"
-"Like with divisions, the only case you can't use modulo is with a divisor of "
-"[code]0[/code]."
-msgstr ""
-"Mod alma sayısının, uygulandığı sayıdan daha büyük olabileceğine dikkat et. "
-"Örneğin, [code]1 % 2[/code] işlemi sana [code]1[/code] verir. Bunun nedeni "
-"[code]1[/code]'in içinde [code]2[/code] yoktur, yani bölüm [code]0[/code] ve "
-"kalan [code]1[/code] olur.\n"
-"\n"
-"Bölme işlemlerinde olduğu gibi, mod almayı kullanamayacağın tek durum, "
-"[code]0[/code] ile bölmedir."
-
-#: course/lesson-15-modulo/lesson.tres:170
-msgid "Calculating a random number within a range"
-msgstr "Bir sayı aralığında rastgele bir sayı hesaplamak"
-
-#: course/lesson-15-modulo/lesson.tres:172
-msgid ""
-"We can use the modulo to simulate dice rolls. To do so, we generate a large "
-"random number and use the modulo operator to limit the number's range.\n"
-"\n"
-"To generate a random whole number, you can call the [code]randi()[/code] "
-"function. The name stands for random integer.\n"
-"\n"
-"The number the function generates can be huge: roughly up to 2 billion on an "
-"Android device and around 10^18 on a 64-bit computer.\n"
-"\n"
-"You can use the modulo operation to limit the random number's range."
-msgstr ""
-"Zar atma benzeşimi (simülasyon) yapmak için mod almayı kullanabiliriz. Bunu "
-"yapmak için, çok büyük bir rastgele sayı üretiyoruz ve sayının alacağı "
-"değerleri sınırlamak için mod alma işlemini kullanıyoruz.\n"
-"\n"
-"Rastgele bir tam sayı oluşturmak için [code]randi()[/code] fonksiyonunu "
-"çağırabilirsin. İsim rasgele tamsayı (random integer) anlamına gelir.\n"
-"\n"
-"Fonksiyonun ürettiği sayı aşırı büyük olabilir: bir Android cihazda kabaca 2 "
-"milyara kadar ve 64-bit bilgisayarda yaklaşık 10^18 (1'den sonra 18 tane 0 "
-"var demek).\n"
-"\n"
-"Rasgele sayının alacağı değer aralığını sınırlamak için mod alma işlemini "
-"kullanabilirsin."
-
-#: course/lesson-15-modulo/lesson.tres:198
-msgid ""
-"The result is also random because we use the modulo operation on a random "
-"number.\n"
-"\n"
-"In the following practices, you'll use a modulo to advance traffic lights, "
-"add maximum health to the robot on every odd level, and learn how to code "
-"dice rolls."
-msgstr ""
-"Sonuç değeri rastgele bir sayı olur, çünkü mod alma işlemini rastgele bir "
-"sayı üzerinde kullanırız.\n"
-"\n"
-"Sıradaki uygulamalarda, trafik ışıklarını değiştirmek, her tek sayılı "
-"seviyede robotun en yüksek sağlığına ekleme yapmak, ve zar atmayı nasıl "
-"kodlayacağını öğrenmek için bir mod almayı kullanacaksın."
-
-#: course/lesson-15-modulo/lesson.tres:208
-msgid "Advancing Traffic Lights"
-msgstr "Trafik Işıklarını Değiştirmek"
-
-#: course/lesson-15-modulo/lesson.tres:209
-msgid ""
-"Add to the [code]advance_traffic_light()[/code] function so the "
-"[code]light_index[/code] variable increments by one, then wraps back to "
-"[code]0[/code] if it gets too high.\n"
-"\n"
-"Use the modulo operator [code]%[/code] to make sure the value of "
-"[code]light_index[/code] wraps back to [code]0[/code].\n"
-"\n"
-"The value of [code]light_index[/code] should only ever be [code]0[/code], "
-"[code]1[/code], or [code]2[/code]."
-msgstr ""
-"[code]advance_traffic_light()[/code] (değiştir_trafik_ışığı) fonksiyonuna "
-"ekleme yap; böylece [code]light_index[/code] (ışık_dizini) değişkeni hep bir "
-"artsın, ama çok artarsa geri [code]0[/code] değerini alsın.\n"
-"\n"
-"[code]light_index[/code] değerinin [code]0[/code] değerine geri sardığından "
-"emin olmak için mod alma işleci olan [code]%[/code] kullan.\n"
-"\n"
-"[code]light_index[/code] değeri yalnızca [code]0[/code], [code]1[/code] veya "
-"[code]2[/code] olmalıdır."
-
-#: course/lesson-15-modulo/lesson.tres:223
-msgid ""
-"Learn how to use modulo to wrap a number back to zero using traffic lights."
-msgstr ""
-"Trafik ışıklarını kullanarak bir sayıyı sıfıra geri sarmak için mod almayı "
-"nasıl kullanacağını öğren."
-
-#: course/lesson-15-modulo/lesson.tres:228
-msgid "Rolling Dice"
-msgstr "Zar Atmak"
-
-#: course/lesson-15-modulo/lesson.tres:229
-msgid ""
-"Our dice rolling function doesn't work! Right now, it always gives the "
-"result of how many sides the dice has: 20.\n"
-"\n"
-"Use [code]randi()[/code] to generate a random number and the modulo "
-"operation [code]%[/code]. \n"
-"\n"
-"Using the [code]return[/code] keyword inside the function, return a random "
-"number between [code]1[/code] and [code]sides[/code]."
-msgstr ""
-"Zar atma fonksiyonumuz çalışmıyor! Şu anda, zarın kaç tarafı (sides) varsa o "
-"sayıyı döndürüyor: 20 (normal zar değil).\n"
-"\n"
-"Rastgele bir sayı üretmek için [code]randi()[/code] ve mod alma işlemi, "
-"[code]%[/code], kullan. (unutma, mod alma işleminin sonucu, 0'dan başlar, "
-"mod sayısından 1 eksiğe kadar gider).\n"
-"\n"
-"Fonksiyonun içindeki [code]return[/code] anahtar kelimesini kullanarak, "
-"[code]1[/code] ve [code]sides[/code] arasında rastgele bir sayı döndür."
-
-#: course/lesson-15-modulo/lesson.tres:243
-msgid ""
-"Whether in a board game or video game, getting a random number is always "
-"useful. Here, we create a function that simulates a dice roll."
-msgstr ""
-"İster masa oyunu olsun, ister video oyunu olsun, rastgele bir sayı elde "
-"etmek her zaman yararlıdır. Burada, zar atma benzeşimi yapan bir fonksiyon "
-"oluşturuyoruz."
-
-#: course/lesson-15-modulo/lesson.tres:248
-msgid "Bonus Health Every Other Level"
-msgstr "Her Seviye Atlamada İlave Sağlık"
-
-#: course/lesson-15-modulo/lesson.tres:249
-msgid ""
-"Change the [code]level_up()[/code] function so it does the following:\n"
-"\n"
-"1) Increment [code]level[/code] by [code]1[/code]\n"
-"2) Increase [code]max_health[/code] by [code]5[/code]\n"
-"3) If [code]level[/code] is [b]even[/b], increase [code]max_health[/code] by "
-"an additional [code]5[/code]\n"
-"\n"
-"The robot starts with [code]100[/code] maximum health. It will gain three "
-"levels when you run the code. At level 4, the robot should have [code]125[/"
-"code] maximum health."
-msgstr ""
-"[code]level_up()[/code] (seviye_atla) fonksiyonunu, aşağıdakileri yapacak "
-"şekilde değiştir:\n"
-"\n"
-"1) seviyeyi, [code]level[/code], [code]1[/code] artır\n"
-"2) en yüksek sağlık değerini, [code]max_health[/code], [code]5[/code] artır\n"
-"3) Eğer [code]level[/code] bir [b]çift sayı[/b] ise, [code]max_health[/code] "
-"değerini fazladan [code]5[/code] daha arttır.\n"
-"\n"
-"Robot, seviyesi 1 ve en yüksek sağlık değeri [code]100[/code] ile başlar. "
-"Kodu çalıştırdığınızda üç seviye kazanacaktır. Seviye 4'te robot "
-"[code]125[/code] maksimum sağlığa sahip olmalıdır."
-
-#: course/lesson-15-modulo/lesson.tres:265
-msgid ""
-"There are other ways to increase maximum health. You could use a modulo to "
-"give a bonus every even level. Learn how here!"
-msgstr ""
-"En yüksek sağlığı artırmanın başka yolları da vardır. Her çift seviyede bir "
-"ek artış için bir mod alma kullanabilirsin. Nasıl olduğunu buradan öğren!"
-
-#: course/lesson-15-modulo/lesson.tres:269
-msgid "Modulo"
-msgstr "Mod alma"
diff --git a/i18n/tr/lesson-2-your-first-error.po b/i18n/tr/lesson-2-your-first-error.po
index 48e253ac..ffaa57de 100644
--- a/i18n/tr/lesson-2-your-first-error.po
+++ b/i18n/tr/lesson-2-your-first-error.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
 "POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-07-10 17:52+0000\n"
+"PO-Revision-Date: 2023-11-18 05:01+0000\n"
 "Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n"
 "Language-Team: Turkish <https://hosted.weblate.org/projects/"
 "learn-gdscript-from-zero/lesson-2-your-first-error/tr/>\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.0-dev\n"
+"X-Generator: Weblate 5.2\n"
 "Generated-By: Babel 2.9.1\n"
 
 #: course/lesson-2-your-first-error/lesson.tres:14
@@ -34,29 +34,29 @@ msgid ""
 "something, it's not the case: [b]errors help you write correct programs[/b] "
 "because they show you what is wrong in your programs."
 msgstr ""
-"Program yazarken, hatalar ile karşılaşman kaçınılm. Hem de sürüyle.\n"
+"Program yazarken, hatalar ile karşılaşmanız kaçınılmaz. Hem de sürüyle.\n"
 "\n"
-"Ama merak etme! Bilgisayarla çalışırken, [b]hatalar iyi şeylerdir[/b].\n"
+"Ama merak etmeyin! Bilgisayarla çalışırken, [b]hatalar iyi şeylerdir[/b].\n"
 "\n"
-"Hatalar alacaksın, ve [i]bunda sorun yok[/i]: her programcının başına gelir. "
-"Özellikle profesyonel olanların.\n"
+"Hatalarla karşılaşacaksınız ve [i]bunda sorun yok[/i]: her programcının "
+"başına gelir. Özellikle profesyonel olanların.\n"
 "\n"
-"Okulda, hata yapmanın kötü bir şey olduğunu öğrenmiş olabilirsin. Bir şeylet "
-"kodlarken, durum böyle değildir: [i]hatalar sana, daha doğru programlar "
-"yazmakta yardımcı olur[/i] çünkü sana, programında neyin yanlış olduğunu "
-"gösterirler."
+"Okulda, hata yapmanın kötü bir şey olduğunu öğrenmiş olabilirsiniz. Bir "
+"şeyler kodlarken, durum böyle değildir: [i]hatalar size daha doğru "
+"programlar yazmakta yardımcı olur[/i] çünkü size programınızda neyin yanlış "
+"olduğunu gösterirler."
 
 #: course/lesson-2-your-first-error/lesson.tres:30
 msgid ""
 "A code error looks like this. It's a message that tells you some bit of your "
 "code doesn't work."
 msgstr ""
-"Bir kod hatası şöyle görünür. Sana, kodunuzun bir parçasının çalışmadığını "
-"söyleyen bir bildirim."
+"Bir kod hatası şöyle görünür. Size, kodunuzun bir parçasının çalışmadığını "
+"söyleyen bir bildirim (açıklaması da aşağıda)."
 
 #: course/lesson-2-your-first-error/lesson.tres:48
 msgid "Making errors friendlier"
-msgstr "Hataları, dost canlısı yapmak"
+msgstr "Hataları, daha dost canlısı yapmak"
 
 #: course/lesson-2-your-first-error/lesson.tres:50
 msgid ""
@@ -69,13 +69,14 @@ msgid ""
 "you some tips on how to fix it."
 msgstr ""
 "Hata bildirimleri biraz şifreli gibi görünebilir. Bunun sebebi, programcılar "
-"tarafından, yine eğitimli programcılar için tasarlanmış olmaları.\n"
+"tarafından ve yine eğitimli programcılar için tasarlanmış olmaları.\n"
 "\n"
-"Bu uygulamaya, başlamana yardımcı olması için bir hata tercümanı ekledik.\n"
+"Bu uygulama içerisinde, başlamanıza yardımcı olması için bir hata tercümanı "
+"ekledik.\n"
 "\n"
-"Sana, hatanın neden oluştuğunu ve hata mesajının ne anlama geldiğini "
-"gösterecek. Bunun yanında, onu nasıl düzelteceğin hakkında bazı ipuçları da "
-"verecek."
+"Bu size, hatanın neden oluştuğunu ve hata mesajının ne anlama geldiğini "
+"gösterecek. Bunun yanında, onu nasıl düzelteceğiniz hakkında bazı ipuçları "
+"da verecek."
 
 #: course/lesson-2-your-first-error/lesson.tres:74
 msgid ""
@@ -91,18 +92,18 @@ msgid ""
 "what is causing the errors, with the help of error messages, is key to "
 "fixing them."
 msgstr ""
-"Hata bildirimleri, senden önce gelen meslektaş programcılar tarafından "
-"bilerek böyle tasarlandı. Senin başınıza gelebilecek belirli sorunları "
-"önceden tahmin ettiler ve sana bunları düzelme konusunda yardım etmek "
+"Hata bildirimleri, sizden önce gelen meslektaş programcılar tarafından "
+"bilerek böyle tasarlandı. Sizin başınıza gelebilecek belirli sorunları "
+"önceden tahmin ettiler ve size bunları düzeltme konusunda yardım etmek "
 "istediler.\n"
 "\n"
-"Hataları, başarısızlık olarak düşünmemeye çalış. Bunlar, geçmişten fırlayıp "
-"sana yardım etmeye gelmiş rehberler gibidir. Daha önemlisi, hatalar "
-"bilgisayarını bozmazlar. En azından GDScript yapmaz, çünkü oldukça güvenli "
-"bir dildir.\n"
+"Hataları, birer başarısızlık olarak düşünmemeye çalışın. Bunlar, geçmişten "
+"fırlayıp size yardım etmeye gelmiş rehberler gibidir. Daha önemlisi, hatalar "
+"bilgisayarınızı bozmazlar. En azından GDScript bunu yapmaz, çünkü oldukça "
+"güvenli bir dildir.\n"
 "\n"
-"Eninde sonunda, programındaki tüm hataları düzeltmek isteyeceksin. Hata "
-"bildirimlerinin yardımıyla, hataların sebebini anlamak, onları düzeltmenin "
+"Eninde sonunda, programınızdaki tüm hataları düzeltmek isteyeceksiniz. Hata "
+"bildirimlerinin yardımıyla hataların sebebini anlamak, onları düzeltmenin "
 "anahtarıdır."
 
 #: course/lesson-2-your-first-error/lesson.tres:86
@@ -117,11 +118,11 @@ msgid ""
 "experience, you'll learn to make your code work more reliably thanks to "
 "error messages."
 msgstr ""
-"Evet, hata bildirimleri sana yardım etmek için buradalar.\n"
+"Evet, hata bildirimleri size yardım etmek için buradalar.\n"
 "\n"
-"Onlara dikkatini ver, ve okuyup anlamak için elinden gelenin en iyisini yap. "
-"Deneyim kazandıkça, hata mesajlarının yardımıyla, kodunun güvenilir ve "
-"hatasız şekilde çalışmasını sağlamayı öğreneceksin."
+"Onlara dikkatinizi verin ve okuyup anlamak için elinizden gelenin en iyisini "
+"yapın. Deneyim kazandıkça, hata mesajlarının yardımıyla kodunuzun güvenilir "
+"ve hatasız şekilde çalışmasını sağlamayı öğreneceksiniz."
 
 #: course/lesson-2-your-first-error/lesson.tres:92
 msgid "They're bad: error messages are always bad."
@@ -138,11 +139,11 @@ msgid ""
 "button below to face your first real error."
 msgstr ""
 "Tamam, hadi bir hatayı iş başında izleyelim. Bir kez daha, aşağıdaki "
-"[i]Alıştırma[/i] düğmesine bas ve ilk gerçek hatan ile yüzleş."
+"[i]Alıştırma[/i] düğmesine basın ve ilk gerçek hatanız ile yüzleşin."
 
 #: course/lesson-2-your-first-error/lesson.tres:110
 msgid "Fix Your First Error"
-msgstr "İlk Hatanı Düzelt"
+msgstr "İlk Hatanızı Düzeltin"
 
 #: course/lesson-2-your-first-error/lesson.tres:111
 msgid ""
@@ -160,28 +161,28 @@ msgid ""
 "Be careful not to remove the spacing before [code]return[/code]! Otherwise, "
 "that'll cause another error. You may try that too, if you feel like it."
 msgstr ""
-"Bu kod yanlış ve çalıştırmayı denersen bir hataya sebep olacak.\n"
+"Bu kod yanlış ve çalıştırmayı denerseniz bir hataya sebep olacak.\n"
 "\n"
-"Bu kod içerisinde, [code]this_code_is_wrong[/code] (anlamı \"bu kod hatalı\")"
-" isimli boş bir fonksiyonu tanımlıyor.\n"
+"Bu kod, içerisinde [code]this_code_is_wrong[/code] isimli boş bir fonksiyonu "
+"tanımlıyor (anlamı \"bu kod hatalı\").\n"
 "\n"
 "Çalışması için, fonksiyonun [code]return[/code] kelimesini kullanması "
 "gerekiyor. Ama bu kelime, şu an için bir yorumun içinde ve bilgisayar bunu "
 "görmezden geliyor. (yorum satırı)\n"
 "\n"
-"Kodu, şu an ki bozuk haliyle denemek için [i]Çalıştır[/i] düğmesine bas.\n"
+"Kodu, şu an ki bozuk haliyle denemek için [i]Çalıştır[/i] düğmesine basın.\n"
 "\n"
-"Sonra, kodu geçerli yapmak için yorum işaretini (#) sil.\n"
+"Sonra, kodu geçerli hale getirmek için yorum işaretini (#) silin.\n"
 "\n"
-"[code]return[/code] kelimesinden önceki boşlukları silmemeye dikkat et! Aksi "
-"halde başka bir hataya sebep olursun. İstersen bunu da deneyebilirsiniz. (bu "
-"dil satır başı boşluklarına duyarlı). Kodu ilk haline getirmek için \"Sıfırla"
-"\" tuşunu kullan."
+"[code]return[/code] kelimesinden önceki boşlukları silmemeye dikkat edin! "
+"Aksi halde başka bir hataya sebep olursunuz. İsterseniz bunu da "
+"deneyebilirsiniz (bu dil satır başı boşluklarına duyarlıdır). Kodu ilk "
+"haline getirmek için \"Sıfırla\" tuşunu kullanın."
 
 #: course/lesson-2-your-first-error/lesson.tres:131
 msgid "There's an error in this code. We need you to fix it!"
-msgstr "Bu kodun içinde bir hata var. Bunu düzeltmeni istiyoruz!"
+msgstr "Bu kodun içinde bir hata var. Bunu düzeltmenizi istiyoruz!"
 
 #: course/lesson-2-your-first-error/lesson.tres:135
 msgid "Your First Error"
-msgstr "İlk Hatan"
+msgstr "İlk Hatanız"
diff --git a/i18n/tr/lesson-26-looping-over-dictionaries.po b/i18n/tr/lesson-26-looping-over-dictionaries.po
index 59fce4b2..9006e5b4 100644
--- a/i18n/tr/lesson-26-looping-over-dictionaries.po
+++ b/i18n/tr/lesson-26-looping-over-dictionaries.po
@@ -9,16 +9,16 @@ msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
 "POT-Creation-Date: 2023-10-06 07:34+0200\n"
-"PO-Revision-Date: 2023-07-14 21:12+0000\n"
+"PO-Revision-Date: 2023-10-06 13:28+0000\n"
 "Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n"
-"Language-Team: Turkish <https://hosted.weblate.org/projects/learn-gdscript-"
-"from-zero/lesson-26-looping-over-dictionaries/tr/>\n"
+"Language-Team: Turkish <https://hosted.weblate.org/projects/"
+"learn-gdscript-from-zero/lesson-26-looping-over-dictionaries/tr/>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.0-dev\n"
+"X-Generator: Weblate 5.1-dev\n"
 "Generated-By: Babel 2.9.1\n"
 
 #: course/lesson-26-looping-over-dictionaries/lesson.tres:13
@@ -58,7 +58,6 @@ msgstr ""
 "(anahtarlar) üye fonksiyonunu çağırabilirsin."
 
 #: course/lesson-26-looping-over-dictionaries/lesson.tres:49
-#, fuzzy
 msgid ""
 "But it's something we do so much that you don't need to call the function.\n"
 "\n"
diff --git a/i18n/tr/lesson-3-standing-on-shoulders-of-giants.po b/i18n/tr/lesson-3-standing-on-shoulders-of-giants.po
index f569bcfb..6de5a2f1 100644
--- a/i18n/tr/lesson-3-standing-on-shoulders-of-giants.po
+++ b/i18n/tr/lesson-3-standing-on-shoulders-of-giants.po
@@ -9,16 +9,16 @@ msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
 "POT-Creation-Date: 2023-10-06 07:34+0200\n"
-"PO-Revision-Date: 2023-07-10 21:52+0000\n"
+"PO-Revision-Date: 2023-10-25 19:00+0000\n"
 "Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n"
-"Language-Team: Turkish <https://hosted.weblate.org/projects/learn-gdscript-"
-"from-zero/lesson-3-standing-on-shoulders-of-giants/tr/>\n"
+"Language-Team: Turkish <https://hosted.weblate.org/projects/"
+"learn-gdscript-from-zero/lesson-3-standing-on-shoulders-of-giants/tr/>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.0-dev\n"
+"X-Generator: Weblate 5.1.1\n"
 "Generated-By: Babel 2.9.1\n"
 
 #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:14
@@ -328,14 +328,13 @@ msgstr ""
 
 #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:186
 #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:187
-#, fuzzy
 msgid "It calls the function named \"show\"."
-msgstr "\"show\" isimli fonksiyonu çağırır"
+msgstr "\"show\" isimli fonksiyonu çağırır."
 
 #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:186
 #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:187
 msgid "It makes the entity (like a game character or a sprite) visible."
-msgstr "Bir varlığı (oyun karakteri yada grafik öğe) görünür yapar."
+msgstr "Bir varlığı (oyun karakteri veya grafik öğe) görünür yapar."
 
 #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:196
 msgid ""
diff --git a/i18n/tr/lesson-4-drawing-a-rectangle.po b/i18n/tr/lesson-4-drawing-a-rectangle.po
index b792e160..dfeb8b36 100644
--- a/i18n/tr/lesson-4-drawing-a-rectangle.po
+++ b/i18n/tr/lesson-4-drawing-a-rectangle.po
@@ -9,16 +9,16 @@ msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
 "POT-Creation-Date: 2023-10-06 07:34+0200\n"
-"PO-Revision-Date: 2023-07-10 21:52+0000\n"
+"PO-Revision-Date: 2023-10-06 13:28+0000\n"
 "Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n"
-"Language-Team: Turkish <https://hosted.weblate.org/projects/learn-gdscript-"
-"from-zero/lesson-4-drawing-a-rectangle/tr/>\n"
+"Language-Team: Turkish <https://hosted.weblate.org/projects/"
+"learn-gdscript-from-zero/lesson-4-drawing-a-rectangle/tr/>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.0-dev\n"
+"X-Generator: Weblate 5.1-dev\n"
 "Generated-By: Babel 2.9.1\n"
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:14
@@ -94,7 +94,7 @@ msgstr ""
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:76
 msgid "Turning left and right"
-msgstr ""
+msgstr "Sola ve sağa dönme"
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:78
 msgid ""
@@ -173,7 +173,7 @@ msgstr "30"
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:140
 msgid "The turtle uses code made specifically for this app!"
-msgstr ""
+msgstr "Kaplumbağa, özellikle bu uygulama için yapılmış kodu kullanıyor!"
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:142
 msgid ""
@@ -186,12 +186,23 @@ msgid ""
 "learned the foundations, you'll see they make it faster and easier to learn "
 "Godot functions."
 msgstr ""
+"Kaplumbağa, kanıtlanmış bir kod öğrenme metodolojisine dayanan, bu kurs için "
+"özel olarak hazırlanmış küçük bir öğrenme aracıdır. Size fonksiyonları nasıl "
+"kullanacağınızı ve oluşturacağınızı öğretmek için tasarlanmıştır.\n"
+"\n"
+"Bu yüzden, yazacağınız [code]turn_left()[/code] gibi bir kodların Godot "
+"editörünün içinde çalışmadığını gördüğünüzde lütfen şaşırmayın! "
+"Endişelenmeyin, temelleri bir kere öğrendikten sonra, bunların Godot'un "
+"kendi fonksiyonlarını öğrenmeyi daha hızlı ve kolay hale getirdiklerini "
+"göreceksiniz."
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:154
 msgid ""
 "Let's move on to practice! You'll get to play with the turtle functions to "
 "draw shapes."
 msgstr ""
+"Hadi şimdi uygulamaya geçelim! Şekiller çizmek için kaplumbağa fonksiyonları "
+"ile oynayacaksınız."
 
 #: course/lesson-4-drawing-a-rectangle/lesson.tres:162
 msgid "Drawing a Corner"
diff --git a/i18n/tr/lesson-7-member-variables.po b/i18n/tr/lesson-7-member-variables.po
index f5adc731..f822782c 100644
--- a/i18n/tr/lesson-7-member-variables.po
+++ b/i18n/tr/lesson-7-member-variables.po
@@ -8,11 +8,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-07-11 00:13+0000\n"
 "Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n"
-"Language-Team: Turkish <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-7-member-variables/tr/>\n"
+"Language-Team: Turkish <https://hosted.weblate.org/projects/learn-gdscript-"
+"from-zero/lesson-7-member-variables/tr/>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -136,8 +136,8 @@ msgid ""
 "You can also use them to put a name on a value you want to reuse throughout "
 "your code. It makes your code easier to read and to change."
 msgstr ""
-"Değişkenler, zamanla değişen değerlere erişmek için kullandığın etiketlerdir."
-"\n"
+"Değişkenler, zamanla değişen değerlere erişmek için kullandığın "
+"etiketlerdir.\n"
 "\n"
 "Ayrıca, kodun her yerinde kullanmak istediğin bir değere isim vermek içinde "
 "kullanabilirsin. Bu şekilde kodunu, daha okunabilir ve değiştirmesi kolay "
@@ -179,15 +179,15 @@ msgid ""
 msgstr ""
 "Video oyunlarında, alt değerlere sahip birçok üye değişken göreceksin.\n"
 "\n"
-"Örneğin, bahsettiğimiz konumun, [code]position[/code], iki koordinatı vardır:"
-" [code]x[/code] ve [code]y[/code].\n"
+"Örneğin, bahsettiğimiz konumun, [code]position[/code], iki koordinatı "
+"vardır: [code]x[/code] ve [code]y[/code].\n"
 "\n"
 "Aynı şey ölçek, [code]scale[/code], için de geçerlidir: [code]x[/code] ve "
 "[code]y[/code] alt değişkenlerine sahiptir. Bunlar sırasıyla oyun varlığının "
 "yatay ve dikey boyutunu kontrol eder.\n"
 "\n"
-"Bu X ve Y alt bileşenlerine erişmek için, değişken adından sonra bir nokta ("
-"\".\") eklersin.\n"
+"Bu X ve Y alt bileşenlerine erişmek için, değişken adından sonra bir nokta "
+"(\".\") eklersin.\n"
 "\n"
 "Aşağıdaki kod, varlığı, x ekseninde [code]200[/code] ve y ekseninde "
 "[code]250[/code] piksel uzaklığa yerleştirir."
@@ -204,11 +204,11 @@ msgid ""
 "variable on the left\". We assign values so often in code that we prefer to "
 "reserve the equal sign for that."
 msgstr ""
-"Sağdaki sayıları soldaki alt değişkenlere atamak için eşittir işaretini (\"="
-"\") nasıl kullandığımıza dikkat et.\n"
+"Sağdaki sayıları soldaki alt değişkenlere atamak için eşittir işaretini "
+"(\"=\") nasıl kullandığımıza dikkat et.\n"
 "\n"
-"Matematikten farklı olarak, bilgisayar programcılığında, eşittir işareti (\"="
-"\") \"eşittir\" anlamına gelmez.\n"
+"Matematikten farklı olarak, bilgisayar programcılığında, eşittir işareti "
+"(\"=\") \"eşittir\" anlamına gelmez.\n"
 "\n"
 "Bunun yerine, \"sağdaki ifadenin sonucunu soldaki değişkene ata\" anlamına "
 "gelir. Kodlarken o kadar sık değer ataması yaparız ki, eşittir işaretini "
@@ -219,10 +219,11 @@ msgid "In games, the Y-axis is positive going down"
 msgstr "Oyunlarda, Y-ekseni aşağıya doğru pozitiftir"
 
 #: course/lesson-7-member-variables/lesson.tres:172
+#, fuzzy
 msgid ""
 "Note that in games, assuming your character's position starts at (0, 0), the "
-"code above moves the entity [code]180[/code] pixels to the right and "
-"[code]120[/code] pixels down.\n"
+"code above moves the entity [code]200[/code] pixels to the right and "
+"[code]250[/code] pixels down.\n"
 "\n"
 "In math, the y-axis is generally positive going up by convention.\n"
 "\n"
@@ -230,8 +231,8 @@ msgid ""
 "applications: the y-axis is positive going down."
 msgstr ""
 "Dikkat edersen oyunlarda, karakterinin (0, 0) konumuda başladığını "
-"varsayarsak, yukarıdaki kod onu [code]180[/code] piksel sağa ve "
-"[code]120[/code] piksel aşağı taşyor.\n"
+"varsayarsak, yukarıdaki kod onu [code]180[/code] piksel sağa ve [code]120[/"
+"code] piksel aşağı taşyor.\n"
 "\n"
 "Matematikte, genelde, y-ekseni yukarı doğru pozitif artacak şekildedir.\n"
 "\n"
@@ -289,8 +290,8 @@ msgid ""
 "[code]x[/code], for example?"
 msgstr ""
 "Değişkenler genellikle alt-değerleri tutarlar, örneğin konumun, "
-"[code]position[/code], iki alt-değişkeni vardır: [code]x[/code] ve "
-"[code]y[/code]. Mesela, [code]x[/code] değişkenine nasıl erişirdin?"
+"[code]position[/code], iki alt-değişkeni vardır: [code]x[/code] ve [code]y[/"
+"code]. Mesela, [code]x[/code] değişkenine nasıl erişirdin?"
 
 #: course/lesson-7-member-variables/lesson.tres:231
 msgid ""
@@ -399,8 +400,8 @@ msgid ""
 "Use the provided [code]draw_rectangle()[/code] function to draw each square."
 msgstr ""
 "Yatay eksende (X ekseni) 100 piksel aralıkla, 100'e 100 boyutunda üç kare "
-"çiz. Başka bir deyişle, iki kare arasında 100 piksellik bir boşluk olmalıdır."
-"\n"
+"çiz. Başka bir deyişle, iki kare arasında 100 piksellik bir boşluk "
+"olmalıdır.\n"
 "\n"
 "Kareleri, (100, 100) konumundan (position) başlayarak çizmelisin. Bunun "
 "anlamı, ilk kareyi, X ekseninde 100 ve Y ekseninde 100 konumuna koymalısın.\n"
diff --git a/i18n/tr/lesson-9-adding-and-subtracting.po b/i18n/tr/lesson-9-adding-and-subtracting.po
index 2c0c452d..4946cdf5 100644
--- a/i18n/tr/lesson-9-adding-and-subtracting.po
+++ b/i18n/tr/lesson-9-adding-and-subtracting.po
@@ -9,20 +9,19 @@ msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
 "POT-Creation-Date: 2023-10-06 07:34+0200\n"
-"PO-Revision-Date: 2023-07-11 00:13+0000\n"
+"PO-Revision-Date: 2023-10-25 19:00+0000\n"
 "Last-Translator: Yılmaz Durmaz <yilmaz_durmaz@hotmail.com>\n"
-"Language-Team: Turkish <https://hosted.weblate.org/projects/learn-gdscript-"
-"from-zero/lesson-9-adding-and-subtracting/tr/>\n"
+"Language-Team: Turkish <https://hosted.weblate.org/projects/"
+"learn-gdscript-from-zero/lesson-9-adding-and-subtracting/tr/>\n"
 "Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 5.0-dev\n"
+"X-Generator: Weblate 5.1.1\n"
 "Generated-By: Babel 2.9.1\n"
 
 #: course/lesson-9-adding-and-subtracting/lesson.tres:14
-#, fuzzy
 msgid ""
 "Our character in our game will have health by defining the [code]health[/"
 "code] variable. The higher the character's health, the further away the "
@@ -38,19 +37,18 @@ msgid ""
 "We can create a function to represent damage in these cases."
 msgstr ""
 "Oyunumuzdaki karakterimiz, [code]health[/code] (sağlık) değişkenini "
-"tanımladığında artık bir sağlığa sahip olacaktır. Karakterin canı ne kadar "
-"yüksek olursa, oyuncunun oyunu kaybetmesi de o kadar uzak olur.\n"
+"tanımladığınızda artık bir sağlığa sahip olacaktır. Karakterin canı ne kadar "
+"yüksek olursa, oyuncunun oyunu kaybetmesi de o kadar zor olur.\n"
 "\n"
 "Değişen sağlık, oyuna gerilim katar, özellikle de oyuncu düşük sağlıkla "
 "savaşıyorsa! Sağlık, oyuncuların dikkatle yönetmesi gereken bir kaynaktır.\n"
 "\n"
-"Bir düşman saldırırsa, veya bir çukura düşerse, karakterin sağlığı "
-"azalabilir.\n"
+"Bir düşman saldırırsa veya bir çukura düşerse, karakterin sağlığı azalabilir."
+"\n"
 "\n"
 "Bu durumlar için hasarı temsil edecek bir fonksiyon oluşturabiliriz."
 
 #: course/lesson-9-adding-and-subtracting/lesson.tres:40
-#, fuzzy
 msgid ""
 "We pass the amount of damage the robot should take as a parameter.\n"
 "\n"
@@ -85,9 +83,9 @@ msgstr ""
 "[code]health -= amount[/code]\n"
 "[code]health = health - amount[/code]\n"
 "\n"
-"Dikkat edersen, robotun sağlığının [code]0[/code]'dan aşağıya düşebileceğini "
-"görebilirsin. Bunu, [i]koşullar[/i] kullanarak nasıl yöneteceğimizi ileriki "
-"bir derste göreceğiz."
+"Dikkat ederseniz, robotun sağlığının [code]0[/code]'dan aşağıya "
+"düşebileceğini görebilirsiniz. Bunu, [i]koşullar[/i] kullanarak nasıl "
+"yöneteceğimizi ileriki bir derste göreceğiz."
 
 #: course/lesson-9-adding-and-subtracting/lesson.tres:61
 msgid ""
diff --git a/i18n/zh_Hans/application.po b/i18n/zh_Hans/application.po
index 7bd36240..6d1e9329 100644
--- a/i18n/zh_Hans/application.po
+++ b/i18n/zh_Hans/application.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-09-14 03:34+0000\n"
 "Last-Translator: KeJun <kejun1997@gmail.com>\n"
 "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
@@ -77,8 +77,9 @@ msgstr "正在运行你的代码..."
 msgid ""
 "There is a division by zero in your code. You cannot divide by zero in code. "
 "Please ensure you have no \"/ 0\" or \"% 0\" in your code."
-msgstr "你的代码中存在除以0的情况。你不能在代码中除以0。请确保你的代码中没有“/ 0”或“"
-"% 0”。"
+msgstr ""
+"你的代码中存在除以0的情况。你不能在代码中除以0。请确保你的代码中没有“/ "
+"0”或“% 0”。"
 
 #: ui/UIPractice.gd:343
 msgid ""
@@ -526,83 +527,107 @@ msgstr "重置进度"
 msgid "Confirm Resetting Progress"
 msgstr "确认重置进度"
 
-#: ui/screens/end_screen/EndScreen.tscn:229
-#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
-msgid "Congratulations!"
-msgstr "恭喜!"
+#: ui/screens/end_screen/EndScreen.tscn:300
+#: ui/screens/end_screen/EndScreen.tscn:313
+msgid "YOU MADE IT!"
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:236
+#: ui/screens/end_screen/EndScreen.tscn:343
 msgid ""
-"You completed Learn GDScript From Zero. You now have the basics you need to "
-"dive into game creation with the Godot game engine.\n"
-"\n"
-"If you're looking for a free series to keep learning the basics with us, you "
-"can move on to [url=https://www.gdquest.com/tutorial/godot/learning-paths/"
-"getting-started-in-2021/]Getting Started with Godot[/url]."
+"Not only did you learn the foundations of coding, you’re a big step closer "
+"to making your own games."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:363
+msgid "Don't stop here..."
 msgstr ""
-"你已经完成了从零开始学 GDScript。你现在已经学习到了使用Godot游戏引擎钻研制作"
-"游戏的基础。\n"
-"\n"
-"如果你正在寻找和我们一起免费学习基础的系列,你可以访问 [url=https://www."
-"gdquest.com/tutorial/godot/learning-paths/getting-started-in-2021/]Getting "
-"Started with Godot[/url]。"
 
-#: ui/screens/end_screen/EndScreen.tscn:249
-msgid "Or level up faster by taking this shortcut"
-msgstr "或者点击这一快捷方式来快速提高"
+#: ui/screens/end_screen/EndScreen.tscn:373
+msgid "The fun stuff starts now!"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:388
+msgid "There are 2 pathways learners traditionally take from here:"
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:256
+#: ui/screens/end_screen/EndScreen.tscn:402
+msgid "Following video tutorials"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:417
 msgid ""
-"There are loads of free game creation tutorials, but they don't form a clear "
-"path.\n"
-"\n"
-"Worse, most of them are like step-by-step recipes. But as you learned, you "
-"can't become a developer by just following recipes.\n"
-"\n"
-"Every project has unique challenges and requires [i]creative problem "
-"solving[/i]. You need to [i]think like a programmer[/i].\n"
-"\n"
-"Learning that on your own can take years."
+"They’re a great way to pick up specific game mechanics but they’re not as "
+"effective when you’re trying to learn new skills from the ground up."
 msgstr ""
-"现在有很多免费游戏制作教程,但他们并没有一个清晰的学习路径。\n"
-"\n"
-"更糟的是,他们中的大多数只是手把手的流程。但在你学习之后,你是不能通过固定流"
-"程来变成一个开发者的。\n"
-"\n"
-"每个项目都有独特的挑战和需要[i]创造式的问题解决方式[/i]。你需要[i]像一个程序"
-"员一样思考[/i]。\n"
-"\n"
-"自学这一方式需要好几年。"
 
-#: ui/screens/end_screen/EndScreen.tscn:277
-msgid "Learn to Code From Zero, with Godot"
-msgstr "和Godot一起从零开始学代码"
+#: ui/screens/end_screen/EndScreen.tscn:449
+msgid "• There’s no clear learning path."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:464
+msgid "• Retention and skill acquisition is slow and limited."
+msgstr ""
 
-#: ui/screens/end_screen/EndScreen.tscn:284
+#: ui/screens/end_screen/EndScreen.tscn:480
 msgid ""
-"This app is the free part of our in-depth course, [url=https://gdquest."
-"mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
-"From Zero, with Godot[/b][/url].\n"
-"\n"
-"The course picks up right where this app ends to take you to the point where "
-"you can make [i]your[/i] game.\n"
-"\n"
-"It's the only course that'll truly teach you [i]how to become a game "
-"developer[/i] with Godot."
+"We make our fair share of [b][color=#ebc3ff][url=https://www.youtube.com/"
+"@Gdquest/videos]free tutorials[/url][/color][/b]. They will come in very "
+"handy once you start making games on your own. But to get started, we really "
+"recommend you learn how to think like a game developer using [b]"
+"[color=#ebc3ff][url=https://school.gdquest.com/godot-4-early-access]courses[/"
+"url][/color][/b]."
 msgstr ""
-"这一应用是我们详细课程 [url=https://gdquest.mavenseed.com/courses/learn-to-"
-"code-from-zero-with-godot][b]Learn to Code From Zero, with Godot[/b][/url] 的"
-"免费部分。\n"
-"\n"
-"该课程可以衔接这一应用的结束来教你如何制作[i]你的[/i]游戏。\n"
-"\n"
-"这是唯一真正教你[i]如何成为游戏开发者[/i]的Godot课程。"
 
-#: ui/screens/end_screen/EndScreen.tscn:308
-#: ui/screens/lesson/UIContentBlock.gd:70
-#: ui/screens/lesson/UIContentBlock.gd:134
-msgid "Learn More"
-msgstr "了解更多"
+#: ui/screens/end_screen/EndScreen.tscn:495
+msgid "Learning with courses"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:511
+msgid ""
+"Note that most available courses online are actually premium series of video "
+"tutorials. The problem of retaining information and acquiring real skills "
+"unfortunately still applies to them."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:527
+msgid ""
+"At GDQuest, we’re educators at heart. We believe in applied study and we "
+"believe it doesn’t have to be boring. When teaching is done correctly, most "
+"people highly enjoy the sensation of leveling up!\n"
+"\n"
+"That’s the reason we made this app. It is in fact part of our beginner "
+"course [b][color=#ebc3ff][url=https://school.gdquest.com/products/"
+"bundle_learn_gamedev_godot_4]Learn Gamedev From Zero with Godot[/url][/color]"
+"[/b]."
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:565
+msgid "LEARN GAMEDEV WITH GODOT"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:710
+msgid "Now available"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:720
+msgid "for preorders"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:737
+msgid "Godot 4 courses!!"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:783
+msgid "Teaching gamedev in the classroom?"
+msgstr ""
+
+#: ui/screens/end_screen/EndScreen.tscn:796
+msgid "Get in touch"
+msgstr ""
+
+#: ui/screens/end_screen/SponsorlessEndScreen.tscn:196
+msgid "Congratulations!"
+msgstr "恭喜!"
 
 #: ui/screens/end_screen/SponsorlessEndScreen.tscn:203
 msgid ""
@@ -613,8 +638,8 @@ msgid ""
 "en/stable/getting_started/step_by_step/index.html]Getting Started with "
 "Godot[/url]."
 msgstr ""
-"你已经完成了从零开始学 "
-"GDScript。你现在已经学习到了使用Godot游戏引擎钻研制作游戏的基础。\n"
+"你已经完成了从零开始学 GDScript。你现在已经学习到了使用Godot游戏引擎钻研制作"
+"游戏的基础。\n"
 "\n"
 "如果你正在寻找和我们一起免费学习基础的系列,你可以访问 [url=https://www."
 "gdquest.com/tutorial/godot/learning-paths/getting-started-in-2021/]Getting "
@@ -637,6 +662,10 @@ msgstr ""
 "你可以在这里找到本应用的源代码并提供翻译: [url=\"https://github.com/GDQuest/"
 "learn-gdscript\"]Learn GDScript From Zero (Github repository)[/url]."
 
+#: ui/screens/end_screen/thumbnails/CourseThumbnail.tscn:42
+msgid "Early Access release: 2024/01/30"
+msgstr ""
+
 #: ui/screens/lesson/UIBaseQuiz.tscn:56
 msgid "[b]Question[/b]"
 msgstr "[b]问题[/b]"
@@ -661,6 +690,11 @@ msgstr "答对了!"
 msgid "Answers here"
 msgstr "请在此处作答"
 
+#: ui/screens/lesson/UIContentBlock.gd:70
+#: ui/screens/lesson/UIContentBlock.gd:134
+msgid "Learn More"
+msgstr "了解更多"
+
 #: ui/screens/lesson/UIContentBlock.tscn:47
 msgid "Placeholder heading"
 msgstr "占位标题"
@@ -734,22 +768,84 @@ msgid "CONTINUE"
 msgstr "继续"
 
 #: ui/screens/welcome_screen/WelcomeScreen.gd:44
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:627
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:625
 msgid "START"
 msgstr "开始"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:645
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:643
 msgid "SELECT LESSON"
 msgstr "选择课程"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:659
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:657
 msgid "OPTIONS"
 msgstr "选项"
 
-#: ui/screens/welcome_screen/WelcomeScreen.tscn:693
+#: ui/screens/welcome_screen/WelcomeScreen.tscn:691
 msgid "QUIT"
 msgstr "退出"
 
+#~ msgid ""
+#~ "You completed Learn GDScript From Zero. You now have the basics you need "
+#~ "to dive into game creation with the Godot game engine.\n"
+#~ "\n"
+#~ "If you're looking for a free series to keep learning the basics with us, "
+#~ "you can move on to [url=https://www.gdquest.com/tutorial/godot/learning-"
+#~ "paths/getting-started-in-2021/]Getting Started with Godot[/url]."
+#~ msgstr ""
+#~ "你已经完成了从零开始学 GDScript。你现在已经学习到了使用Godot游戏引擎钻研制"
+#~ "作游戏的基础。\n"
+#~ "\n"
+#~ "如果你正在寻找和我们一起免费学习基础的系列,你可以访问 [url=https://www."
+#~ "gdquest.com/tutorial/godot/learning-paths/getting-started-"
+#~ "in-2021/]Getting Started with Godot[/url]。"
+
+#~ msgid "Or level up faster by taking this shortcut"
+#~ msgstr "或者点击这一快捷方式来快速提高"
+
+#~ msgid ""
+#~ "There are loads of free game creation tutorials, but they don't form a "
+#~ "clear path.\n"
+#~ "\n"
+#~ "Worse, most of them are like step-by-step recipes. But as you learned, "
+#~ "you can't become a developer by just following recipes.\n"
+#~ "\n"
+#~ "Every project has unique challenges and requires [i]creative problem "
+#~ "solving[/i]. You need to [i]think like a programmer[/i].\n"
+#~ "\n"
+#~ "Learning that on your own can take years."
+#~ msgstr ""
+#~ "现在有很多免费游戏制作教程,但他们并没有一个清晰的学习路径。\n"
+#~ "\n"
+#~ "更糟的是,他们中的大多数只是手把手的流程。但在你学习之后,你是不能通过固定"
+#~ "流程来变成一个开发者的。\n"
+#~ "\n"
+#~ "每个项目都有独特的挑战和需要[i]创造式的问题解决方式[/i]。你需要[i]像一个程"
+#~ "序员一样思考[/i]。\n"
+#~ "\n"
+#~ "自学这一方式需要好几年。"
+
+#~ msgid "Learn to Code From Zero, with Godot"
+#~ msgstr "和Godot一起从零开始学代码"
+
+#~ msgid ""
+#~ "This app is the free part of our in-depth course, [url=https://gdquest."
+#~ "mavenseed.com/courses/learn-to-code-from-zero-with-godot][b]Learn to Code "
+#~ "From Zero, with Godot[/b][/url].\n"
+#~ "\n"
+#~ "The course picks up right where this app ends to take you to the point "
+#~ "where you can make [i]your[/i] game.\n"
+#~ "\n"
+#~ "It's the only course that'll truly teach you [i]how to become a game "
+#~ "developer[/i] with Godot."
+#~ msgstr ""
+#~ "这一应用是我们详细课程 [url=https://gdquest.mavenseed.com/courses/learn-"
+#~ "to-code-from-zero-with-godot][b]Learn to Code From Zero, with Godot[/b][/"
+#~ "url] 的免费部分。\n"
+#~ "\n"
+#~ "该课程可以衔接这一应用的结束来教你如何制作[i]你的[/i]游戏。\n"
+#~ "\n"
+#~ "这是唯一真正教你[i]如何成为游戏开发者[/i]的Godot课程。"
+
 #~ msgid "Connected to the server."
 #~ msgstr "已连接至服务器。"
 
diff --git a/i18n/zh_Hans/error_database.po b/i18n/zh_Hans/error_database.po
index 30887d23..6bab5b2d 100644
--- a/i18n/zh_Hans/error_database.po
+++ b/i18n/zh_Hans/error_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-09-14 03:34+0000\n"
 "Last-Translator: KeJun <kejun1997@gmail.com>\n"
 "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
diff --git a/i18n/zh_Hans/glossary_database.po b/i18n/zh_Hans/glossary_database.po
index 1847643d..4713ef2d 100644
--- a/i18n/zh_Hans/glossary_database.po
+++ b/i18n/zh_Hans/glossary_database.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-10-06 07:34+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2022-06-12 09:33+0000\n"
 "Last-Translator: Haoyu Qiu <timothyqiu32@gmail.com>\n"
 "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
diff --git a/i18n/zh_Hans/lesson-11-time-delta.po b/i18n/zh_Hans/lesson-11-time-delta.po
index 0eed6304..432b9b5c 100644
--- a/i18n/zh_Hans/lesson-11-time-delta.po
+++ b/i18n/zh_Hans/lesson-11-time-delta.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-09-14 03:34+0000\n"
 "Last-Translator: KeJun <kejun1997@gmail.com>\n"
 "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
@@ -139,9 +139,6 @@ msgid ""
 "Delta represents a time difference. It's the time passed since the previous "
 "frame, in seconds.\n"
 "\n"
-"The [code]delta[/code] parameter tells us how long it took for Godot to "
-"complete the [b]previous frame[/b].\n"
-"\n"
 "We can use it to ensure that the changes between frames don't make the "
 "game's behavior unreliable.\n"
 "\n"
@@ -164,11 +161,11 @@ msgstr ""
 "\n"
 "我们可以使用它来确保帧之间的变化不会使游戏的模拟不可靠。"
 
-#: course/lesson-11-time-delta/lesson.tres:115
+#: course/lesson-11-time-delta/lesson.tres:113
 msgid "What do we know about delta?"
 msgstr "我们对delta了解多少?"
 
-#: course/lesson-11-time-delta/lesson.tres:118
+#: course/lesson-11-time-delta/lesson.tres:116
 #, fuzzy
 msgid ""
 "[code]delta[/code] is the time it took Godot to complete the previous frame "
@@ -184,27 +181,27 @@ msgstr ""
 "\n"
 "它改变每一帧,因为 Godot 需要或多或少地处理每一帧。"
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It's a value in seconds."
 msgstr "这是一个以秒为单位的值。"
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 msgid "It varies each frame."
 msgstr "它每帧都不同。"
 
-#: course/lesson-11-time-delta/lesson.tres:123
-#: course/lesson-11-time-delta/lesson.tres:124
+#: course/lesson-11-time-delta/lesson.tres:121
+#: course/lesson-11-time-delta/lesson.tres:122
 #, fuzzy
 msgid "It's the time it took Godot to complete the previous frame."
 msgstr "这是 Godot 完成前一帧所需的时间。"
 
-#: course/lesson-11-time-delta/lesson.tres:131
+#: course/lesson-11-time-delta/lesson.tres:129
 msgid "Multiplying by delta"
 msgstr "乘以 delta"
 
-#: course/lesson-11-time-delta/lesson.tres:133
+#: course/lesson-11-time-delta/lesson.tres:131
 msgid ""
 "The [code]delta[/code] you get in [code]_process()[/code] is a time "
 "difference in seconds. It will generally be a tiny decimal number.\n"
@@ -217,7 +214,7 @@ msgstr ""
 "\n"
 "要应用 [code]delta[/code],您需要 [i]乘以[/i] 你的速度值乘以它。"
 
-#: course/lesson-11-time-delta/lesson.tres:155
+#: course/lesson-11-time-delta/lesson.tres:153
 msgid ""
 "When multiplying by [code]delta[/code], you make motion [i]time-dependent[/"
 "i] rather than [i]frame-dependent[/i].\n"
@@ -229,11 +226,11 @@ msgstr ""
 "\n"
 "这对于使您的游戏保持一致和公平至关重要。"
 
-#: course/lesson-11-time-delta/lesson.tres:165
+#: course/lesson-11-time-delta/lesson.tres:163
 msgid "Why do we use the number 3.0 in this example?"
 msgstr "为什么我们在这个例子中使用数字 3.0?"
 
-#: course/lesson-11-time-delta/lesson.tres:167
+#: course/lesson-11-time-delta/lesson.tres:165
 msgid ""
 "At the top of the lesson, we made the robot rotate a fixed amount every "
 "frame: [code]0.05[/code] radians.\n"
@@ -276,11 +273,11 @@ msgstr ""
 "如果现在有点混乱,请不要担心。当您在游戏项目中处理速度、加速度和运动时,它最"
 "终会点击。"
 
-#: course/lesson-11-time-delta/lesson.tres:187
+#: course/lesson-11-time-delta/lesson.tres:185
 msgid "Why the time between frames matters"
 msgstr "为什么帧之间的时间很重要"
 
-#: course/lesson-11-time-delta/lesson.tres:189
+#: course/lesson-11-time-delta/lesson.tres:187
 msgid ""
 "The time it takes to display a new frame varies.\n"
 "\n"
@@ -310,7 +307,7 @@ msgstr ""
 "\n"
 "底部的机器人会为每个人[i]以不同的方式移动[/i]!"
 
-#: course/lesson-11-time-delta/lesson.tres:217
+#: course/lesson-11-time-delta/lesson.tres:215
 msgid ""
 "Multiplying time-sensitive values by [code]delta[/code] makes them [b]time-"
 "dependent[/b] rather than [b]frame-dependent[/b].\n"
@@ -329,15 +326,15 @@ msgstr ""
 "如果没有 [code]delta[/code],帧时间会因计算机和游戏过程而异。因此,每个玩家的"
 "动作都会有所不同,从而使游戏变得不一致和混乱。"
 
-#: course/lesson-11-time-delta/lesson.tres:229
+#: course/lesson-11-time-delta/lesson.tres:227
 msgid "What does this mean?"
 msgstr "这是什么意思?"
 
-#: course/lesson-11-time-delta/lesson.tres:230
+#: course/lesson-11-time-delta/lesson.tres:228
 msgid "[code]rotation_speed * delta[/code]"
 msgstr "[code]rotation_speed * delta[/code]"
 
-#: course/lesson-11-time-delta/lesson.tres:232
+#: course/lesson-11-time-delta/lesson.tres:230
 msgid ""
 "The [code]*[/code] symbol means we're multiplying [code]rotation_speed[/"
 "code] by [code]delta[/code] time."
@@ -345,32 +342,32 @@ msgstr ""
 "[code]*[/code] 符号表示我们将 [code]rotation_speed[/code] 乘以 [code]delta[/"
 "code] 时间。"
 
-#: course/lesson-11-time-delta/lesson.tres:233
-#: course/lesson-11-time-delta/lesson.tres:234
+#: course/lesson-11-time-delta/lesson.tres:231
+#: course/lesson-11-time-delta/lesson.tres:232
 msgid "We're multiplying rotation_speed by delta."
 msgstr "我们将rotation_speed 乘以delta。"
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're dividing delta by rotation_speed."
 msgstr "我们将delta除以rotation_speed。"
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're adding rotation_speed to delta."
 msgstr "我们将rotation_speed 添加到delta。"
 
-#: course/lesson-11-time-delta/lesson.tres:233
+#: course/lesson-11-time-delta/lesson.tres:231
 msgid "We're subtracting delta from rotation_speed."
 msgstr "我们从rotation_speed 中减去delta。"
 
-#: course/lesson-11-time-delta/lesson.tres:243
+#: course/lesson-11-time-delta/lesson.tres:241
 msgid "In the next practice, we'll use delta to make rotating time-dependent."
 msgstr "在接下来的练习中,我们将使用 delta 来使旋转与时间相关。"
 
-#: course/lesson-11-time-delta/lesson.tres:251
+#: course/lesson-11-time-delta/lesson.tres:249
 msgid "Rotating Using Delta"
 msgstr "使用 Delta 旋转"
 
-#: course/lesson-11-time-delta/lesson.tres:252
+#: course/lesson-11-time-delta/lesson.tres:250
 msgid ""
 "At the moment, the rotation of the robot is frame-dependent.\n"
 "\n"
@@ -384,11 +381,11 @@ msgstr ""
 "\n"
 "机器人应该每秒旋转 [code]2[/code] 弧度。"
 
-#: course/lesson-11-time-delta/lesson.tres:271
+#: course/lesson-11-time-delta/lesson.tres:269
 msgid "Moving in a Circle Using Delta"
 msgstr "使用 Delta 绕圈移动"
 
-#: course/lesson-11-time-delta/lesson.tres:272
+#: course/lesson-11-time-delta/lesson.tres:270
 msgid ""
 "In this practice, make the robot move in a smooth circle using delta.\n"
 "\n"
@@ -407,6 +404,6 @@ msgstr ""
 "[b]请注意:[/b]在调用函数时请将值写在小括号内。如果你定义了额外的变量,我们将"
 "无法检查你的练习。"
 
-#: course/lesson-11-time-delta/lesson.tres:290
+#: course/lesson-11-time-delta/lesson.tres:288
 msgid "Time Delta"
 msgstr "时间增量"
diff --git a/i18n/zh_Hans/lesson-15-modulo.po b/i18n/zh_Hans/lesson-15-modulo.po
deleted file mode 100644
index 04832d82..00000000
--- a/i18n/zh_Hans/lesson-15-modulo.po
+++ /dev/null
@@ -1,321 +0,0 @@
-# Translations template for Learn GDScript From Zero.
-# Copyright (C) 2022 GDQuest
-# This file is distributed under the same license as the Learn GDScript From
-# Zero project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Learn GDScript From Zero\n"
-"Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
-"PO-Revision-Date: 2023-09-14 03:34+0000\n"
-"Last-Translator: KeJun <kejun1997@gmail.com>\n"
-"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
-"learn-gdscript-from-zero/lesson-15-modulo/zh_Hans/>\n"
-"Language: zh_Hans\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 5.0.1-dev\n"
-"Generated-By: Babel 2.9.1\n"
-
-#: course/lesson-15-modulo/lesson.tres:14
-msgid ""
-"The modulo operation ([code]%[/code]) calculates the remainder of a whole "
-"number division.\n"
-"\n"
-"For example, the modulo of [code]5[/code] by [code]3[/code] ([code]5 % 3[/"
-"code]) is [code]2[/code].\n"
-"\n"
-"We typically use this operation to tell if a number is odd or even or to "
-"produce a random number within a particular range (like a dice roll).\n"
-"\n"
-"Play around with the modulo widget on the right to see how modulo works "
-"visually."
-msgstr ""
-"模运算 ([code]%[/code]) 计算整数除法的余数。\n"
-"\n"
-"例如,[code]5[/code] 与 [code]3[/code] ([code]5 % 3[/code]) 的模是 [code]2[/"
-"code]。\n"
-"\n"
-"我们通常使用这个操作来判断一个数字是奇数还是偶数,或者产生一个特定范围内的随"
-"机数(如掷骰子)。\n"
-"\n"
-"玩弄右边的模小部件,看看模是如何在视觉上工作的。"
-
-#: course/lesson-15-modulo/lesson.tres:28
-msgid "What's the result of this modulo operation?"
-msgstr "这个模运算的结果是什么?"
-
-#: course/lesson-15-modulo/lesson.tres:29
-msgid "[code]11 % 4[/code]"
-msgstr "[code]11 % 4[/code]"
-
-#: course/lesson-15-modulo/lesson.tres:31
-msgid ""
-"[code]11[/code] divided by [code]4[/code] is [code]2[/code], and the "
-"[b]remainder[/b] of the division is [code]3[/code].\n"
-"\n"
-"So [code]11 % 4[/code] is [code]3[/code]."
-msgstr ""
-"[code]11[/code]除以[code]4[/code]为[code]2[/code],除法的[b]余数[/b]为"
-"[code]3[/code] .\n"
-"\n"
-"所以 [code]11 % 4[/code] 是 [code]3[/code]。"
-
-#: course/lesson-15-modulo/lesson.tres:34
-#: course/lesson-15-modulo/lesson.tres:35
-msgid "3"
-msgstr "3"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "2"
-msgstr "2"
-
-#: course/lesson-15-modulo/lesson.tres:34
-msgid "7"
-msgstr "7"
-
-#: course/lesson-15-modulo/lesson.tres:44
-msgid ""
-"The modulo operation only works on [b]whole numbers[/b]; Not decimal "
-"numbers.\n"
-"\n"
-"Also, just like in regular divisions, the divisor can't be zero.\n"
-"\n"
-"All three examples below will cause an error in your code."
-msgstr ""
-"模运算仅适用于[b]整数[/b];不是十进制数。\n"
-"\n"
-"此外,就像在常规除法中一样,除数不能为零。\n"
-"\n"
-"以下所有三个示例都将导致您的代码出错。"
-
-#: course/lesson-15-modulo/lesson.tres:66
-msgid "Three ways we use the modulo operation"
-msgstr "我们使用模运算的三种方式"
-
-#: course/lesson-15-modulo/lesson.tres:68
-msgid ""
-"The modulo operation has important uses in programming, like making a number "
-"cycle.\n"
-"\n"
-"Take a traffic light, for example."
-msgstr ""
-"模运算在编程中具有重要用途,例如制作数字循环。\n"
-"\n"
-"以交通灯为例。"
-
-#: course/lesson-15-modulo/lesson.tres:90
-msgid ""
-"We use the number [code]light_index[/code] to represent the traffic light's "
-"current state.\n"
-"\n"
-"The lights always cycle in the same way: first, we have the red light, then "
-"the yellow, then the green.\n"
-"\n"
-"To represent that cycle, you can periodically add one to the number and use "
-"the modulo operator to wrap back to [code]0[/code].\n"
-"\n"
-"Instead, you could use a condition; In this case, we use the modulo as a "
-"shortcut."
-msgstr ""
-"我们使用数字 [code]light_index[/code] 来表示红绿灯的当前状态。\n"
-"\n"
-"灯总是以相同的方式循环:首先,我们有红灯,然后是黄色,然后是绿色。\n"
-"\n"
-"为了表示该循环,您可以定期将数字加一并使用模运算符返回到 [code]0[/code]。\n"
-"\n"
-"相反,您可以使用条件;在这种情况下,我们使用模数作为捷径。"
-
-#: course/lesson-15-modulo/lesson.tres:114
-msgid "Why do we start from zero?"
-msgstr "为什么要从零开始?"
-
-#: course/lesson-15-modulo/lesson.tres:116
-msgid ""
-"In computer code, we very often count from [code]0[/code].\n"
-"\n"
-"Every number translates to a precise combination of bits in the machine, "
-"starting from [code]0[/code].\n"
-"\n"
-"We don't want to waste any number, and as the first number the computer "
-"knows about is [code]0[/code], we start counting from [code]0[/code]."
-msgstr ""
-"在计算机代码中,我们经常从 [code]0[/code] 开始计数。\n"
-"\n"
-"每个数字都转换为机器中位的精确组合,从 [code]0[/code] 开始。\n"
-"\n"
-"我们不想浪费任何数字,因为计算机知道的第一个数字是 [code]0[/code],我们从 "
-"[code]0[/code] 开始计数。"
-
-#: course/lesson-15-modulo/lesson.tres:128
-msgid "Using modulo to find even and odd numbers"
-msgstr "使用模查找偶数和奇数"
-
-#: course/lesson-15-modulo/lesson.tres:130
-msgid ""
-"We can also use a modulo to check if a number is even or odd. If we divide a "
-"number by [code]2[/code] and there's no remainder, then the number is "
-"[b]even[/b]."
-msgstr ""
-"我们还可以使用模来检查数字是偶数还是奇数。如果我们将一个数除以 [code]2[/"
-"code] 并且没有余数,则该数是 [b]偶数[/b]。"
-
-#: course/lesson-15-modulo/lesson.tres:150
-msgid ""
-"Notice how the modulo can be larger than the number it affects. For example, "
-"[code]1 % 2[/code] gives you [code]1[/code]. That's because [code]1[/code] "
-"divided by [code]2[/code] equals [code]0[/code], and the remainder is "
-"[code]1[/code].\n"
-"\n"
-"Like with divisions, the only case you can't use modulo is with a divisor of "
-"[code]0[/code]."
-msgstr ""
-"注意模数如何大于它影响的数字。例如,[code]1 % 2[/code] 为您提供 [code]1[/"
-"code]。这是因为 [code]1[/code] 除以 [code]2[/code] 等于 [code]0[/code],余数"
-"为 [code]1[/code]。\n"
-"\n"
-"与除法一样,唯一不能使用模数的情况是除数为 [code]0[/code]。"
-
-#: course/lesson-15-modulo/lesson.tres:170
-msgid "Calculating a random number within a range"
-msgstr "计算范围内的随机数"
-
-#: course/lesson-15-modulo/lesson.tres:172
-msgid ""
-"We can use the modulo to simulate dice rolls. To do so, we generate a large "
-"random number and use the modulo operator to limit the number's range.\n"
-"\n"
-"To generate a random whole number, you can call the [code]randi()[/code] "
-"function. The name stands for random integer.\n"
-"\n"
-"The number the function generates can be huge: roughly up to 2 billion on an "
-"Android device and around 10^18 on a 64-bit computer.\n"
-"\n"
-"You can use the modulo operation to limit the random number's range."
-msgstr ""
-"我们可以使用模来模拟掷骰子。为此,我们生成一个大随机数并使用模运算符来限制数"
-"字的范围。\n"
-"\n"
-"要生成随机整数,可以调用 [code]randi()[/code] 函数。该名称代表随机整数。\n"
-"\n"
-"该函数生成的数字可能很大:在 Android 设备上大约高达 20 亿,在 64 位计算机上大"
-"约为 10^18。\n"
-"\n"
-"您可以使用模运算来限制随机数的范围。"
-
-#: course/lesson-15-modulo/lesson.tres:198
-msgid ""
-"The result is also random because we use the modulo operation on a random "
-"number.\n"
-"\n"
-"In the following practices, you'll use a modulo to advance traffic lights, "
-"add maximum health to the robot on every odd level, and learn how to code "
-"dice rolls."
-msgstr ""
-"结果也是随机的,因为我们对随机数使用模运算。\n"
-"\n"
-"在以下练习中,您将使用模数来推进红绿灯,在每个奇数级别为机器人添加最大生命"
-"值,并学习如何编写掷骰子代码。"
-
-#: course/lesson-15-modulo/lesson.tres:208
-msgid "Advancing Traffic Lights"
-msgstr "推进交通灯"
-
-#: course/lesson-15-modulo/lesson.tres:209
-msgid ""
-"Add to the [code]advance_traffic_light()[/code] function so the "
-"[code]light_index[/code] variable increments by one, then wraps back to "
-"[code]0[/code] if it gets too high.\n"
-"\n"
-"Use the modulo operator [code]%[/code] to make sure the value of "
-"[code]light_index[/code] wraps back to [code]0[/code].\n"
-"\n"
-"The value of [code]light_index[/code] should only ever be [code]0[/code], "
-"[code]1[/code], or [code]2[/code]."
-msgstr ""
-"添加到 [code]advance_traffic_light()[/code] 函数,使 [code]light_index[/"
-"code] 变量递增 1,如果它变得太高,则返回到 [code]0[/code]。\n"
-"\n"
-"使用模运算符 [code]%[/code] 确保 [code]light_index[/code] 的值回绕到 "
-"[code]0[/code]。\n"
-"\n"
-"[code]light_index[/code] 的值只能是 [code]0[/code]、[code]1[/code] 或 "
-"[code]2[/code]。"
-
-#: course/lesson-15-modulo/lesson.tres:223
-msgid ""
-"Learn how to use modulo to wrap a number back to zero using traffic lights."
-msgstr "了解如何使用红绿灯使用模数将数字回零。"
-
-#: course/lesson-15-modulo/lesson.tres:228
-msgid "Rolling Dice"
-msgstr "掷骰子"
-
-#: course/lesson-15-modulo/lesson.tres:229
-msgid ""
-"Our dice rolling function doesn't work! Right now, it always gives the "
-"result of how many sides the dice has: 20.\n"
-"\n"
-"Use [code]randi()[/code] to generate a random number and the modulo "
-"operation [code]%[/code]. \n"
-"\n"
-"Using the [code]return[/code] keyword inside the function, return a random "
-"number between [code]1[/code] and [code]sides[/code]."
-msgstr ""
-"我们的掷骰子功能不起作用!现在,它总是给出骰子有多少面的结果:20。\n"
-"\n"
-"使用 [code]randi()[/code] 生成随机数和模运算 [code]%[/code]。\n"
-"\n"
-"使用函数内部的 [code]return[/code] 关键字,返回 [code]1[/code] 和 "
-"[code]sides[/code] 之间的随机数。"
-
-#: course/lesson-15-modulo/lesson.tres:243
-msgid ""
-"Whether in a board game or video game, getting a random number is always "
-"useful. Here, we create a function that simulates a dice roll."
-msgstr ""
-"无论是在棋盘游戏还是视频游戏中,获取随机数总是有用的。在这里,我们创建了一个"
-"模拟掷骰子的函数。"
-
-#: course/lesson-15-modulo/lesson.tres:248
-msgid "Bonus Health Every Other Level"
-msgstr "其他级别的额外生命值"
-
-#: course/lesson-15-modulo/lesson.tres:249
-msgid ""
-"Change the [code]level_up()[/code] function so it does the following:\n"
-"\n"
-"1) Increment [code]level[/code] by [code]1[/code]\n"
-"2) Increase [code]max_health[/code] by [code]5[/code]\n"
-"3) If [code]level[/code] is [b]even[/b], increase [code]max_health[/code] by "
-"an additional [code]5[/code]\n"
-"\n"
-"The robot starts with [code]100[/code] maximum health. It will gain three "
-"levels when you run the code. At level 4, the robot should have [code]125[/"
-"code] maximum health."
-msgstr ""
-"更改 [code]level_up()[/code] 函数,使其执行以下操作:\n"
-"\n"
-"1) 将 [code]level[/code] 增加 [code]1[/code]\n"
-"2) 将 [code]max_health[/code] 增加 [code]5[/code]\n"
-"3) 如果 [code]level[/code] 为 [b]偶数[/b],则将 [code]max_health[/code] 增加"
-"一个 [code]5[/code]\n"
-"\n"
-"机器人以 [code]100[/code] 最大生命值开始。运行代码时,它将获得三个级别。在第 "
-"4 级,机器人应该有 [code]125[/code] 的最大生命值。"
-
-#: course/lesson-15-modulo/lesson.tres:265
-msgid ""
-"There are other ways to increase maximum health. You could use a modulo to "
-"give a bonus every even level. Learn how here!"
-msgstr ""
-"还有其他方法可以增加最大血量。您可以使用模数为每个偶数等级提供奖金。在这里学"
-"习如何!"
-
-#: course/lesson-15-modulo/lesson.tres:269
-msgid "Modulo"
-msgstr "模数"
diff --git a/i18n/zh_Hans/lesson-7-member-variables.po b/i18n/zh_Hans/lesson-7-member-variables.po
index 50a68bfb..c8237bc8 100644
--- a/i18n/zh_Hans/lesson-7-member-variables.po
+++ b/i18n/zh_Hans/lesson-7-member-variables.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Learn GDScript From Zero\n"
 "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n"
-"POT-Creation-Date: 2023-05-16 09:25+0200\n"
+"POT-Creation-Date: 2023-12-09 20:05+0100\n"
 "PO-Revision-Date: 2023-09-14 03:34+0000\n"
 "Last-Translator: KeJun <kejun1997@gmail.com>\n"
 "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
@@ -200,10 +200,11 @@ msgid "In games, the Y-axis is positive going down"
 msgstr "在游戏中,Y 轴为正向下"
 
 #: course/lesson-7-member-variables/lesson.tres:172
+#, fuzzy
 msgid ""
 "Note that in games, assuming your character's position starts at (0, 0), the "
-"code above moves the entity [code]180[/code] pixels to the right and "
-"[code]120[/code] pixels down.\n"
+"code above moves the entity [code]200[/code] pixels to the right and "
+"[code]250[/code] pixels down.\n"
 "\n"
 "In math, the y-axis is generally positive going up by convention.\n"
 "\n"