diff --git a/autoload/TranslationManager.gd b/autoload/TranslationManager.gd index fdec6dab..f6a6ba52 100644 --- a/autoload/TranslationManager.gd +++ b/autoload/TranslationManager.gd @@ -10,6 +10,10 @@ const SUPPORTED_LOCALES := [ "en", "es", "it", + "fr", + "pt", + "pt_BR", + "tr", ] var current_language := DEFAULT_LOCALE setget set_language diff --git a/i18n/__pycache__/match_and_merge_po_translations.cpython-310.pyc b/i18n/__pycache__/match_and_merge_po_translations.cpython-310.pyc new file mode 100644 index 00000000..2ebfd476 Binary files /dev/null and b/i18n/__pycache__/match_and_merge_po_translations.cpython-310.pyc differ diff --git a/i18n/fr/application.po b/i18n/fr/application.po new file mode 100644 index 00000000..ee935343 --- /dev/null +++ b/i18n/fr/application.po @@ -0,0 +1,866 @@ +# 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 , 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 \n" +"Language-Team: French \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.0\n" + +#: resources/QuizInputField.gd:17 +msgid "You need to type a whole number for this answer. Example: 42" +msgstr "Vous devez saisir un nombre entier pour cette réponse. Exemple : 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 "" +"Vous devez saisir un nombre décimal pour cette réponse. Utilisez un « . » " +"pour délimiter la partie décimale. Exemple : 3.14" + +#: ui/UILesson.tscn:90 +msgid "Title" +msgstr "Titre" + +#: ui/UILesson.tscn:125 +msgid "Practices" +msgstr "Exercices pratiques" + +#: ui/UINavigator.gd:365 +msgid "Go back in your navigation history" +msgstr "Revenir en arrière dans votre historique de navigation" + +#: ui/UINavigator.gd:368 +msgid "(no previous history)" +msgstr "(aucun historique)" + +#: ui/UINavigator.tscn:103 +msgid "CHRISTMAS SALE - 50% OFF" +msgstr "SOLDES DE NOËL - 50% DE RÉDUCTION" + +#: ui/UINavigator.tscn:163 +msgid "CHRISTMAS SALE" +msgstr "SOLDES DE NOËL" + +#: ui/UIPractice.gd:154 ui/UIPractice.gd:220 +#, python-format +msgid "Hint %s" +msgstr "Indice %s" + +#: ui/UIPractice.gd:248 +msgid "Validating Your Code..." +msgstr "Validation de votre code…" + +#: ui/UIPractice.gd:268 +#, python-format +msgid "The function `%s` calls itself, this creates an infinite loop" +msgstr "La fonction `%s` s’appelle elle-même, cela crée une boucle infinie" + +#: ui/UIPractice.gd:301 +msgid "Running Your Code..." +msgstr "Exécution de votre code…" + +#: 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 "" +"Il y a une division par zéro dans votre code. Il n'est pas possible de " +"diviser par zéro dans un code. Assurez-vous qu'il n'y a pas de \"/ 0\" ou de " +"\"% 0\" dans votre code." + +#: ui/UIPractice.gd:343 +msgid "" +"Oh no! The script has an error, but the Script Verifier did not catch it" +msgstr "" +"Oh non ! Le script contient une erreur, mais le vérificateur de script ne " +"l’a pas détectée" + +#: ui/UIPractice.gd:369 +msgid "Running Tests..." +msgstr "Exécution des tests…" + +#: ui/UIPractice.tscn:138 +msgid "Suggested Solution" +msgstr "Solution suggérée" + +#: ui/UIPractice.tscn:189 +msgid "Use Solution" +msgstr "Utiliser la solution" + +#: ui/UIPractice.tscn:207 +msgid "Leave unfinished practice?" +msgstr "Quitter l'exercice pratique non terminé ?" + +#: ui/components/BigGreenButton.tscn:24 +msgid "Button" +msgstr "Bouton" + +#: ui/components/CodeEditor.tscn:144 +msgid "Run" +msgstr "Exécuter" + +#: ui/components/CodeEditor.tscn:158 +msgid "Pause" +msgstr "Mettre en pause" + +#: ui/components/CodeEditor.tscn:173 ui/components/RunnableCodeExample.tscn:87 +msgid "Reset" +msgstr "Réinitialiser" + +#: ui/components/CodeEditor.tscn:195 +msgid "Solution" +msgstr "Solution" + +#: ui/components/CodeEditor.tscn:209 ui/components/OutputConsole.tscn:43 +msgid "Output" +msgstr "Sortie" + +#: ui/components/CodeEditor.tscn:224 +#: ui/components/popups/LessonDonePopup.tscn:198 +#: ui/components/popups/PracticeDonePopup.tscn:165 +msgid "Continue" +msgstr "Continuer" + +#: ui/components/DebuggerConsoleMonitoredVariable.tscn:20 +#: ui/components/OutputConsolePrintMessage.tscn:23 +msgid "Value" +msgstr "Valeur" + +#: ui/components/GameView.tscn:72 +msgid "Paused" +msgstr "Mis en pause" + +#: ui/components/GlossaryPopup.tscn:37 +msgid "Term" +msgstr "Terme" + +#: ui/components/GlossaryPopup.tscn:53 +#: ui/components/popups/ErrorOverlayPopup.tscn:74 +msgid "Our error explanation." +msgstr "Notre explication de l'erreur." + +#: ui/components/OutputConsoleErrorMessage.tscn:39 +msgid "ERROR:" +msgstr "ERREUR :" + +#: ui/components/OutputConsoleErrorMessage.tscn:47 +#: ui/components/ScrollableTextBox.tscn:43 +#: ui/screens/lesson/UIContentBlock.tscn:68 +msgid "Placeholder text" +msgstr "Texte en placeholder" + +#: ui/components/OutputConsoleErrorMessage.tscn:62 +msgid "in" +msgstr "dans" + +#: ui/components/OutputConsoleErrorMessage.tscn:68 +msgid "FileName" +msgstr "Nom du fichier" + +#: ui/components/OutputConsoleErrorMessage.tscn:75 +msgid "at" +msgstr "à" + +#: ui/components/OutputConsoleErrorMessage.tscn:82 +msgid "0:0" +msgstr "0:0" + +#: ui/components/OutputConsoleErrorMessage.tscn:92 +msgid "" +"Sometimes errors are reported outside of your code. Why does that happen?" +msgstr "" +"Parfois, des erreurs sont signalées en dehors de votre code. Pourquoi cela " +"se produit ?" + +#: ui/components/OutputConsoleErrorMessage.tscn:101 +msgid "Explain" +msgstr "Explication" + +#: ui/components/Revealer.tscn:74 +msgid "Expand" +msgstr "Étendre" + +#: ui/components/RunnableCodeExample.tscn:105 +msgid "run()" +msgstr "run()" + +#: ui/components/RunnableCodeExample.tscn:123 +msgid "step" +msgstr "étape" + +#: ui/components/RunnableCodeExampleDebugger.tscn:44 +msgid "Debugger" +msgstr "Débogueur" + +#: ui/components/SalePopup.tscn:121 +#, python-format +msgid "" +"[center]Get [b]50% off[/b] on all our Godot courses with the \n" +"coupon code [b]DISCOUNT50[/b][/center]" +msgstr "" +"[center]Obtenez [b]50% off[/b] sur tous nos cours Godot avec le \n" +"code promo [b]DISCOUNT50[/b][/center]" + +#: ui/components/SalePopup.tscn:132 +msgid "Only until " +msgstr "Seulement jusqu’au " + +#: ui/components/SalePopup.tscn:155 +msgid "CHECK OUT OUR COURSES" +msgstr "CONSULTEZ NOS COURS" + +#: ui/components/SalePopup.tscn:180 +msgid "X" +msgstr "X" + +#: ui/components/popups/ConfirmPopup.tscn:115 +#: ui/components/popups/PracticeLeaveUnfinishedPopup.tscn:119 +msgid "Confirm" +msgstr "Confirmer" + +#: ui/components/popups/ConfirmPopup.tscn:127 +#: ui/components/popups/PracticeLeaveUnfinishedPopup.tscn:131 +msgid "Cancel" +msgstr "Annuler" + +#: ui/components/popups/ErrorOverlayPopup.tscn:46 +msgid "Original error message" +msgstr "Message d'erreur d'origine" + +#: ui/components/popups/ErrorOverlayPopup.tscn:65 +msgid "Why this happens" +msgstr "Pourquoi ceci se produit" + +#: ui/components/popups/ErrorOverlayPopup.tscn:82 +msgid "How to fix this" +msgstr "Comment corriger ceci" + +#: ui/components/popups/ErrorOverlayPopup.tscn:91 +msgid "Our suggestion on how to fix it." +msgstr "Notre suggestion sur la façon de la corriger." + +#: ui/components/popups/ErrorOverlayPopup.tscn:102 +msgid "" +"Sorry, we don't have this particular error message covered yet!\n" +"\n" +"Please, use the [b]Report[/b] button in the top-right corner to tell us more " +"about how you've got it, and we will try to improve our knowledge base for " +"the next version of the application.\n" +"\n" +"[center]Thank you![/center]" +msgstr "" +"Désolé, ce message d'erreur en particulier n'est pas encore couvert !\n" +"\n" +"Veuillez utiliser le bouton [b]Signaler[/b] dans le coin supérieur droit " +"pour nous en dire plus sur la façon dont vous l'avez obtenu, et nous " +"essaierons d'améliorer notre base de connaissances pour la prochaine version " +"de l'application.\n" +"\n" +"[center]Merci ![/center]" + +#: ui/components/popups/ErrorOverlayPopup.tscn:128 +msgid "Hide" +msgstr "Masquer" + +#: ui/components/popups/ExternalErrorPopup.tscn:66 +msgid "Where do external errors come from?" +msgstr "D'où viennent les erreurs externes ?" + +#: ui/components/popups/ExternalErrorPopup.tscn:83 +msgid "" +"Lessons in this course are designed so you only need to edit the " +"[b]important bits[/b]. But there is much more code outside of what you see " +"that makes the project run.\n" +"\n" +"This means that sometimes changes you make can affect code you have no " +"control over. But don't worry, you can still fix all the issues yourself " +"with the code you [b]can[/b] edit!\n" +"\n" +"[i]This is like how game engines work too.[/i] There is a lot of hidden code " +"that they execute to ensure your project runs smoothly. And yet, an error in " +"your scripts can break them. We'll try to explain how to address each " +"individual error that you face. Quick, click the [b]Explain[/b] button next " +"to the error message!" +msgstr "" +"Les leçons de ce cours sont conçues de manière à ce que vous n'ayez à " +"modifier que les [b]parties importantes[/b]. Mais il y a beaucoup plus de " +"code en dehors de ce que vous voyez qui fait fonctionner le projet.\n" +"\n" +"Ceci signifie que, parfois, les modifications que vous apportez peuvent " +"affecter le code sur lequel vous n'avez aucun contrôle. Mais ne vous " +"inquiétez pas, vous pouvez toujours résoudre tous les problèmes vous-même " +"avec le code que vous [b]pouvez[/b] modifier !\n" +"\n" +"[i]C'est un peu comme le fonctionnement des moteurs de jeu[/i] : il y a " +"beaucoup de code caché qu'ils exécutent pour s'assurer que vos projets " +"fonctionnent correctement. Et pourtant, une erreur dans vos scripts peut les " +"briser. Nous allons essayer d'expliquer comment traiter chaque erreur à " +"laquelle vous êtes confronté(e). Cliquez simplement sur le bouton " +"[b]Explication[/b] à côté du message d'erreur !" + +#: ui/components/popups/ExternalErrorPopup.tscn:119 +msgid "Got it!" +msgstr "J'ai compris !" + +#: ui/components/popups/LessonDonePopup.tscn:133 +msgid "Lesson complete!" +msgstr "Leçon terminée !" + +#: ui/components/popups/LessonDonePopup.tscn:142 +msgid "" +"But there are still some practices\n" +"that you've skipped." +msgstr "" +"Mais il y a encore des exercices pratiques\n" +"que vous n'avez pas effectués." + +#: 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][b]Rester[/b] et relire la leçon,\n" +"ou [b]continuer[/b] le cours.[/center]" + +#: ui/components/popups/LessonDonePopup.tscn:183 +#: ui/components/popups/PracticeDonePopup.tscn:144 +msgid "Stay" +msgstr "Rester" + +#: ui/components/popups/PracticeDonePopup.tscn:89 +msgid "Well done!" +msgstr "Bien joué !" + +#: ui/components/popups/PracticeDonePopup.tscn:98 +msgid "You completed the practice." +msgstr "Vous avez complété l'exercice pratique." + +#: ui/components/popups/PracticeDonePopup.tscn:110 +msgid "" +"[center][b]Stay[/b] and play around,\n" +"or [b]continue[/b] the course.[/center]" +msgstr "" +"[center][b]Rester[/b] et pratiquer,\n" +"ou [b]continuer[/b] le cours.[/center]" + +#: ui/components/popups/PracticeListPopup.tscn:67 +msgid "Practice List" +msgstr "Liste des exercices pratiques" + +#: ui/components/popups/PracticeListPopup.tscn:115 +#: ui/components/popups/SettingsPopup.tscn:244 +msgid "Close" +msgstr "Fermer" + +#: ui/components/popups/ReportFormPopup.tscn:66 +msgid "Report an issue" +msgstr "Signaler un problème" + +#: ui/components/popups/ReportFormPopup.tscn:83 +msgid "" +"If you face an issue in the app, please click the link below to report it on " +"GitHub:\n" +"\n" +"[center][b][url=https://github.com/GDQuest/learn-gdscript/issues]GitHub.com " +"> GDQuest > learn-gdscript > Issues[/url][/b][/center]\n" +"\n" +"On that page, you can report any issues, whether something's not working or " +"there's an error in a lesson.\n" +"\n" +"You can generate a log to help us identify the problem. To do so, click " +"here: [b][url=download]generate error log[/url][/b].\n" +"\n" +"Please drag and drop the generated file onto your issue on GitHub to attach " +"it.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]What's GitHub[/font]\n" +"\n" +"GitHub is an online platform to host and manage open-source projects like " +"the GDScript Learn app. It helps developers organize their work and " +"collaborate online.\n" +"\n" +"You can use GitHub to study the source code of many open projects, report " +"issues, or even contribute code yourself.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]How to report an issue[/font]\n" +"\n" +"1. Click the link above to get to the [i]GitHub Issues[/i] page.\n" +"2. Click on the [i]New Issue[/i] button.\n" +"3. Fill out the form to tell us more about your problem.\n" +"\n" +"You will need a GitHub account to do so.\n" +"\n" +"Please add as much relevant information as possible, such as the kind of " +"device you're using to access the app, and maybe attach a screenshot or " +"video clip showcasing the issue.\n" +"\n" +"[center]Thank you for contributing to open source![/center]" +msgstr "" +"Si vous rencontrez un problème dans l'application, veuillez cliquer sur le " +"lien ci-dessous pour le signaler sur GitHub :\n" +"\n" +"[center][b][url=https://github.com/GDQuest/learn-gdscript/issues]GitHub.com " +"> GDQuest > learn-gdscript > Issues[/url][/b][/center]\n" +"\n" +"Sur cette page, vous pouvez signaler tout problème, que ce soit un " +"dysfonctionnement ou une erreur dans une leçon.\n" +"\n" +"Vous pouvez générer un journal pour nous aider à identifier le problème. " +"Pour ce faire, cliquez ici : [b][url=download]générer un journal d'erreurs[/" +"url][/b].\n" +"\n" +"Veuillez glisser et déposer le fichier généré dans votre ticket sur GitHub " +"pour le joindre.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]Qu'est-ce que GitHub ?[/font]\n" +"\n" +"GitHub est une plateforme en ligne permettant d'héberger et de gérer des " +"projets à code ouvert comme l'application Apprendre GDScript. Elle aide les " +"développeurs à organiser leur travail et à collaborer en ligne.\n" +"\n" +"Vous pouvez utiliser GitHub pour consulter le code source de nombreux " +"projets open-source, signaler des problèmes ou même contribuer vous-même au " +"code.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]Comment signaler un problème ?[/" +"font]\n" +"\n" +"1. Cliquez sur le lien ci-dessus pour accéder à la page [i]GitHub Issues[/" +"i].\n" +"2. Cliquez sur le bouton [i]New Issue[/i].\n" +"3. Remplissez le formulaire pour nous en dire plus sur votre problème.\n" +"\n" +"Vous aurez besoin d'un compte GitHub.\n" +"\n" +"Veuillez ajouter autant d'informations pertinentes que possible, telles que " +"le type d'appareil que vous utilisez pour accéder à l'application, et si " +"possible joindre une capture d'écran ou un clip vidéo illustrant le " +"problème.\n" +"\n" +"[center]Merci de contribuer à l'open source ![/center]" + +#: ui/components/popups/ReportFormPopup.tscn:158 +msgid "OK" +msgstr "OK" + +#: ui/components/popups/SettingsPopup.tscn:76 +msgid "Configure the App" +msgstr "Configurer l'application" + +#: ui/components/popups/SettingsPopup.tscn:103 +msgid "Language" +msgstr "Langue" + +#: ui/components/popups/SettingsPopup.tscn:123 +msgid "Text Size" +msgstr "Taille du texte" + +#: ui/components/popups/SettingsPopup.tscn:151 +msgid "Sample text" +msgstr "Texte d'exemple" + +#: ui/components/popups/SettingsPopup.tscn:164 +msgid "Scroll sensitivity" +msgstr "Sensibilité du défilement" + +#: ui/components/popups/SettingsPopup.tscn:190 +msgid "Framerate cap" +msgstr "Limite d'images par seconde" + +#: ui/components/popups/SettingsPopup.tscn:212 +msgid "Lower contrast" +msgstr "Contraste plus faible" + +#: ui/components/popups/SettingsPopup.tscn:259 +msgid "Apply" +msgstr "Appliquer" + +#: ui/screens/course_outliner/CourseLessonDetails.gd:93 +msgid "Open Lesson" +msgstr "Ouvrir la leçon" + +#: ui/screens/course_outliner/CourseLessonDetails.gd:95 +msgid "Continue Lesson" +msgstr "Continuer la leçon" + +#: ui/screens/course_outliner/CourseLessonDetails.gd:97 +msgid "Start Lesson" +msgstr "Commencer la leçon" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:35 +msgid "Lesson Title Goes Here" +msgstr "Le titre de la leçon apparaît ici" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:48 +msgid "Lesson read" +msgstr "Leçon lue" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:56 +msgid "0%" +msgstr "0%" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:79 +msgid "Quizzes completed" +msgstr "Quiz complétés" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:87 +#: ui/screens/course_outliner/CourseLessonDetails.tscn:108 +msgid "0 / 0" +msgstr "0 / 0" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:100 +msgid "Practices completed" +msgstr "Exercices pratiques complétés" + +#: ui/screens/course_outliner/CourseLessonItem.tscn:36 +msgid "Lesson 0" +msgstr "Leçon 0" + +#: ui/screens/course_outliner/CourseLessonItem.tscn:44 +msgid "Lesson Title" +msgstr "Titre de la leçon" + +#: ui/screens/course_outliner/CourseOutliner.tscn:44 +msgid "Course Index - " +msgstr "Index du cours - " + +#: ui/screens/course_outliner/CourseOutliner.tscn:51 +msgid "Course Title Goes Here" +msgstr "Le titre du cours apparaît ici" + +#: ui/screens/course_outliner/CourseOutliner.tscn:83 +msgid "Reset Progress" +msgstr "Réinitialiser la progression" + +#: ui/screens/course_outliner/CourseOutliner.tscn:98 +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:236 +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]." + +#: 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:256 +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." + +#: 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:284 +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." + +#: 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/SponsorlessEndScreen.tscn:203 +msgid "" +"You completed Learn GDScript From Zero. You now have the basics you need to " +"make games with the Godot game engine.\n" +"\n" +"You can keep learning with the free series [url=https://docs.godotengine.org/" +"en/stable/getting_started/step_by_step/index.html]Getting Started with " +"Godot[/url]." +msgstr "" +"Vous avez terminé Learn GDScript From Zero. Vous avez maintenant les bases " +"nécessaires pour créer des jeux avec le moteur de jeu Godot.\n" +"\n" +"Vous pouvez continuer à apprendre avec la série gratuite [url=https://docs." +"godotengine.org/en/stable/getting_started/step_by_step/index.html]Getting " +"Started with Godot[/url]." + +#: ui/screens/end_screen/SponsorlessEndScreen.tscn:216 +msgid "This is an Open-Source project!" +msgstr "Il s'agit d'un projet Open-Source !" + +#: ui/screens/end_screen/SponsorlessEndScreen.tscn:223 +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 " +"(Github repository)[/url]." +msgstr "" +"Comme Godot, cette application et ce cours sont gratuits et open-source. \n" +"\n" +"Vous pouvez trouver le code source de l'application et contribuer aux " +"traductions ici : [url=\"https://github.com/GDQuest/learn-gdscript\"]Learn " +"GDScript From Zero (Github repository)[/url]." + +#: ui/screens/lesson/UIBaseQuiz.tscn:56 +msgid "[b]Question[/b]" +msgstr "[b]Question[/b]" + +#: ui/screens/lesson/UIBaseQuiz.tscn:80 ui/screens/lesson/UIBaseQuiz.tscn:169 +msgid "Explanation" +msgstr "Explication" + +#: ui/screens/lesson/UIBaseQuiz.tscn:107 +msgid "Skip" +msgstr "Passer" + +#: ui/screens/lesson/UIBaseQuiz.tscn:119 +msgid "Submit" +msgstr "Envoyer" + +#: ui/screens/lesson/UIBaseQuiz.tscn:150 +msgid "You're right!" +msgstr "C'est juste !" + +#: ui/screens/lesson/UIBaseQuiz.tscn:160 +msgid "Answers here" +msgstr "Répondez ici" + +#: ui/screens/lesson/UIContentBlock.tscn:47 +msgid "Placeholder heading" +msgstr "Titre temporaire" + +#: ui/screens/lesson/UIPracticeButton.tscn:52 +msgid "Practice title" +msgstr "Titre de l'exercice pratique" + +#: ui/screens/lesson/UIPracticeButton.tscn:77 +msgid "next" +msgstr "suivant" + +#: ui/screens/lesson/UIPracticeButton.tscn:100 +msgid "Practice" +msgstr "Exercice pratique" + +#: ui/screens/lesson/UIPracticeButton.tscn:110 +msgid "You are here" +msgstr "Vous êtes ici" + +#: ui/screens/lesson/quizzes/QuizAnswerButton.tscn:40 +msgid "Answer label" +msgstr "Étiquette de la réponse" + +#: ui/screens/lesson/quizzes/UIQuizChoice.gd:26 +msgid "(select all that apply)" +msgstr "(sélectionnez toutes les réponses qui s'appliquent)" + +#: ui/screens/practice/PracticeHint.tscn:8 +msgid "Show Hint" +msgstr "Afficher l'indice" + +#: ui/screens/practice/PracticeInfoPanel.gd:144 +msgid "Method descriptions" +msgstr "Descriptions des méthodes" + +#: ui/screens/practice/PracticeInfoPanel.gd:160 +msgid "Property descriptions" +msgstr "Descriptions des propriétés" + +#: ui/screens/practice/PracticeInfoPanel.tscn:63 +msgid "Summary - Lesson Name" +msgstr "Résumé - Nom de la leçon" + +#: ui/screens/practice/PracticeInfoPanel.tscn:106 +msgid "Goals" +msgstr "Objectifs" + +#: ui/screens/practice/PracticeInfoPanel.tscn:119 +msgid "Hints" +msgstr "Indices" + +#: ui/screens/practice/PracticeInfoPanel.tscn:126 +msgid "Checks" +msgstr "Vérifications" + +#: ui/screens/practice/PracticeInfoPanel.tscn:134 +msgid "Documentation" +msgstr "Documentation" + +#: ui/screens/practice/PracticeInfoPanel.tscn:175 +msgid "Open Practice List" +msgstr "Ouvrir la liste des exercices pratiques" + +#: ui/screens/practice/PracticeTestDisplay.tscn:40 +msgid "Test text" +msgstr "Texte du test" + +#: ui/screens/welcome_screen/WelcomeScreen.gd:42 +msgid "CONTINUE" +msgstr "CONTINUER" + +#: ui/screens/welcome_screen/WelcomeScreen.gd:44 +#: ui/screens/welcome_screen/WelcomeScreen.tscn:627 +msgid "START" +msgstr "COMMENCER" + +#: ui/screens/welcome_screen/WelcomeScreen.tscn:645 +msgid "SELECT LESSON" +msgstr "SÉLECTIONNER LA LEÇON" + +#: ui/screens/welcome_screen/WelcomeScreen.tscn:659 +msgid "OPTIONS" +msgstr "OPTIONS" + +#: ui/screens/welcome_screen/WelcomeScreen.tscn:693 +msgid "QUIT" +msgstr "QUITTER" + +#~ msgid "Connected to the server." +#~ msgstr "Connecté au serveur." + +#~ msgid "" +#~ "Can't reach the server. The server might be down, or your internet may be " +#~ "down." +#~ msgstr "" +#~ "Impossible de se connecter au serveur. Il se peut que le serveur soit en " +#~ "panne, ou que votre connexion Internet ne fonctionne pas." + +#~ msgid "Can't reach the server. The tests will be less precise." +#~ msgstr "" +#~ "Impossible de se connecter au serveur. Les tests seront moins précis." + +#~ msgid "That's it... for now!" +#~ msgstr "C'est tout… pour le moment !" + +#~ msgid "" +#~ "Thanks for participating in the beta test.\n" +#~ "\n" +#~ "We hope you enjoyed what's available so far.\n" +#~ "\n" +#~ "We wish we had a lot more to give you already, but creating this app took " +#~ "time. A [i]lot[/i] of time.\n" +#~ "\n" +#~ "The good news is: now we figured out many of the more challenging parts, " +#~ "moving forward, we can shift our focus onto new lessons and practices." +#~ msgstr "" +#~ "Merci d'avoir participé au test de la version bêta.\n" +#~ "\n" +#~ "Nous espérons que ce qui est déjà disponible vous a plu.\n" +#~ "\n" +#~ "Nous aimerions avoir beaucoup plus à vous proposer, mais la création de " +#~ "cette application a pris du temps. [i]Beaucoup[/i] de temps.\n" +#~ "\n" +#~ "La bonne nouvelle est que, maintenant que nous avons résolu la plupart " +#~ "des problèmes les plus difficiles, nous pouvons nous concentrer sur de " +#~ "nouvelles leçons et exercices pratiques." + +#~ msgid "" +#~ "[font=res://ui/theme/fonts/font_title.tres]What's coming next[/font]\n" +#~ "\n" +#~ "We have plans for many more lessons and improvements.\n" +#~ "\n" +#~ "You can find our plan for future releases on our [url=https://github.com/" +#~ "GDQuest/learn-gdscript#roadmap]roadmap[/url]." +#~ msgstr "" +#~ "[font=res://ui/theme/fonts/font_title.tres]Ce qui est à venir[/font]\n" +#~ "\n" +#~ "Nous avons des projets pour de nombreuses autres leçons et " +#~ "améliorations.\n" +#~ "\n" +#~ "Vous pouvez consulter notre plan pour les prochaines versions sur notre " +#~ "[url=https://github.com/GDQuest/learn-gdscript#roadmap]feuille de route[/" +#~ "url]." + +#~ msgid "" +#~ "The app is in [b]beta[/b].\n" +#~ "\n" +#~ "You may encounter bugs and typos. We have many improvements and lessons " +#~ "planned.\n" +#~ "\n" +#~ "If you face any problem, please use the button in the top-right to report " +#~ "it to us.\n" +#~ "\n" +#~ "[b]It is crucial[/b]: we'll use your reports and feedback to improve the " +#~ "app, both for you and everyone else." +#~ msgstr "" +#~ "L'application est en [b]bêta[/b].\n" +#~ "\n" +#~ "Vous pouvez rencontrer des bugs et des fautes de frappe. Nous avons prévu " +#~ "de nombreuses améliorations et nouvelles leçons.\n" +#~ "\n" +#~ "Si vous rencontrez un problème, veuillez utiliser le bouton en haut à " +#~ "droite pour nous le signaler.\n" +#~ "\n" +#~ "[b]C'est essentiel[/b] : nous utiliserons vos rapports et vos " +#~ "commentaires pour améliorer l'application, tant pour vous que pour les " +#~ "autres utilisateurs." + +#~ msgid "Learn GDScript From Zero" +#~ msgstr "Apprenez GDScript depuis zéro" diff --git a/i18n/fr/classref_database.po b/i18n/fr/classref_database.po new file mode 100644 index 00000000..3db8f71d --- /dev/null +++ b/i18n/fr/classref_database.po @@ -0,0 +1,189 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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" + +#. Reference: show +#: course/documentation.csv:2 +msgid "shows the current scene" +msgstr "montre la scène actuelle" + +#. Reference: hide +#: course/documentation.csv:3 +msgid "hides the current scene" +msgstr "cache la scène actuelle" + +#. Reference: rotate +#: course/documentation.csv:4 +msgid "" +"Applies a rotation to the node, in radians, starting from its current " +"rotation." +msgstr "" +"Applique une rotation au nœud, en radians, en partant de sa rotation " +"actuelle." + +#. Reference: move_forward +#: course/documentation.csv:5 +msgid "Moves the turtle in the direction it's facing by some pixels." +msgstr "" +"Déplace la tortue dans la direction à laquelle elle fait face de quelques " +"pixels." + +#. Reference: turn_right +#: course/documentation.csv:6 +msgid "Rotates the turtle to the right by some degrees." +msgstr "Fait pivoter la tortue vers la droite de quelques degrés." + +#. Reference: turn_left +#: course/documentation.csv:7 +msgid "Rotates the turtle to the left by some degrees." +msgstr "Fait pivoter la tortue vers la gauche de quelques degrés." + +#. Reference: jump +#: course/documentation.csv:8 +msgid "Offsets the turtle's position by the given x and y amounts of pixels." +msgstr "" +"Décale la position de la tortue par les quantités de pixels x et y données." + +#. Reference: draw_rectangle +#: course/documentation.csv:9 +msgid "Makes the turtle draw a rectangle starting at its current position." +msgstr "" +"Fait dessiner à la tortue un rectangle à partir de sa position actuelle." + +#. Reference: position.x +#: course/documentation.csv:10 +msgid "The position of the entity on the horizontal axis." +msgstr "La position de l'entité sur l'axe horizontal." + +#. Reference: position.y +#: course/documentation.csv:11 +msgid "The position of the entity on the vertical axis." +msgstr "La position de l'entité sur l'axe vertical." + +#. Reference: move_local_x +#: course/documentation.csv:12 +msgid "" +"Applies a local translation on the node's X axis based on the [code]Node." +"_process[/code]'s [code]delta[/code]. If [code]scaled[/code] is false, " +"normalizes the movement." +msgstr "" +"Applique une translation locale sur l'axe X du nœud en fonction du " +"[code]delta[/code] du [code]Node._process[/code]. Si [code]scaled[/code] est " +"faux, il normalise le mouvement." + +#. Reference: board_size +#: course/documentation.csv:13 +msgid "" +"Stores how many cells make up the width ([code]board_size.x[/code]) and " +"height ([code]board_size.y[/code]) of the board." +msgstr "" +"Enregistre le nombre de cellules composant la largeur ([code]board_size.x[/" +"code]) et la hauteur ([code]board_size.y[/code]) du tableau." + +#. Reference: cell +#: course/documentation.csv:14 +msgid "" +"The cell position of the robot on the board. [code]Vector2(0, 0)[/code] is " +"the square cell in the top left of the board." +msgstr "" +"La position de la cellule du robot sur le tableau. [code]Vector2(0, 0)[/" +"code] est la cellule carrée en haut à gauche du tableau." + +#. Reference: range +#: course/documentation.csv:15 +msgid "" +"Creates a list of numbers from [code]0[/code] to [code]length - 1[/code]." +msgstr "Crée une liste de nombres de [code]0[/code] à [code]length - 1[/code]." + +#. Reference: play_animation +#: course/documentation.csv:16 +msgid "Orders the robot to play an animation." +msgstr "Ordonne au robot de jouer une animation." + +#. Reference: select_units +#: course/documentation.csv:17 +msgid "" +"Selects units in the cell coordinates passed as the function's argument." +msgstr "" +"Sélectionne les unités dans les coordonnées de cellule passées en argument " +"de la fonction." + +#. Reference: robot.move_to +#: course/documentation.csv:18 +msgid "Queues a move animation towards the target cell." +msgstr "" +"Met en file d'attente une animation de déplacement vers la cellule cible." + +#. Reference: array.append +#: course/documentation.csv:19 +msgid "Adds the value passed as an argument at the back of the array." +msgstr "Ajoute la valeur passée en argument à la fin du tableau." + +#. Reference: array.pop_front +#: course/documentation.csv:20 +msgid "Removes the first value from the array and returns it." +msgstr "Retire la première valeur du tableau et la retourne." + +#. Reference: array.pop_back +#: course/documentation.csv:21 +msgid "Removes the last value from the array and returns it." +msgstr "Retire la dernière valeur du tableau et la retourne." + +#. Reference: str +#: course/documentation.csv:22 +msgid "" +"Returns the argument converted into a [code]String[/code]. Works with the " +"majority of value types." +msgstr "" +"Retourne l'argument converti en [code]String[/code]. Fonctionne avec la " +"majorité des types de valeurs." + +#. Reference: int +#: course/documentation.csv:23 +msgid "" +"Returns the argument converted into an [code]int[/code] (whole number) [i]if " +"possible[/i]. Supports converting decimal numbers, strings, and booleans. " +"Useful to convert player text input into numbers." +msgstr "" +"Retourne l'argument converti en [code]int[/code] (nombre entier) [i]si " +"possible[/i]. Prend en charge la conversion des nombres décimaux, des " +"chaînes de caractères et des booléens. Utile pour convertir la saisie de " +"texte du joueur en nombres." + +#. Reference: place_unit +#: course/documentation.csv:24 +msgid "" +"Creates a new unit matching the type parameter and places it at the desired " +"cell position on the game grid." +msgstr "" +"Crée une nouvelle unité correspondant au paramètre de type et la place à la " +"position de cellule souhaitée sur la grille de jeu." + +#. Reference: display_item +#: course/documentation.csv:25 +msgid "Creates a new item and displays it in the inventory." +msgstr "Crée un nouvel objet et l'affiche dans l'inventaire." + +#. Reference: add_item +#: course/documentation.csv:26 +msgid "Increases the item count by amount." +msgstr "Augmente le nombre d'objets par \"amount\"." diff --git a/i18n/fr/error_database.po b/i18n/fr/error_database.po new file mode 100644 index 00000000..be431014 --- /dev/null +++ b/i18n/fr/error_database.po @@ -0,0 +1,898 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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" + +#. Reference: IN_EXPECTED_AFTER_IDENTIFIER +#: script_checking/error_database.csv:40 +msgid "" +"You get this error when the name between the [code]for[/code] and [code]in[/" +"code] is not a valid variable name, or you are missing the [code]in[/code] " +"keyword.\n" +"\n" +"In a [code]for[/code] loop, the [code]in[/code] keyword only accepts a valid " +"temporary variable name to assign values in each loop iteration. The loop " +"creates a new variable with the desired name and assigns each element of the " +"array to it." +msgstr "" +"Vous obtenez cette erreur lorsque le nom entre [code]for[/code] et " +"[code]in[/code] n'est pas un nom de variable valide, ou qu'il manque le mot-" +"clé [code]in[/code].\n" +"\n" +"Dans une boucle [code]for[/code], le mot-clé [code]in[/code] n'accepte qu'un " +"nom de variable temporaire valide pour affecter des valeurs à chaque " +"itération de la boucle. La boucle crée une nouvelle variable avec le nom " +"souhaité et lui affecte chaque élément du tableau." + +#. Reference: IN_EXPECTED_AFTER_IDENTIFIER +#: script_checking/error_database.csv:40 +msgid "" +"To fix this error, you need to ensure that the name between the [code]for[/" +"code] and [code]in[/code] keywords is a valid variable name with no " +"punctuation or spaces.\n" +"\n" +"For example, this code is invalid: [code]for cell_position.x in " +"cell_positions_array:[/code] because [code]cell_position.x[/code] isn't a " +"valid variable name.\n" +"\n" +"To access the [code]x[/code] sub-component of the variable, you need to do " +"that inside of the loop's body:\n" +"\n" +"[code]for cell_position in cell_positions_array:\n" +" cell_position.x += 1.0[/code]" +msgstr "" +"Pour corriger cette erreur, vous devez vous assurer que le nom entre les " +"mots-clés [code]for[/code] et [code]in[/code] est un nom de variable valide " +"sans ponctuation ni espace.\n" +"\n" +"Par exemple, le code suivant n'est pas valide : [code]for cell_position.x in " +"cell_positions_array:[/code] car [code]cell_position.x[/code] n'est pas un " +"nom de variable valide.\n" +"\n" +"Pour accéder à la sous-composante [code]x[/code] de la variable, vous devez " +"le faire à l'intérieur du corps de la boucle :\n" +"\n" +"[code]for cell_position in cell_positions_array:\n" +" cell_position.x += 1.0[/code]" + +#. Reference: ASSIGNING_TO_EXPRESSION +#: script_checking/error_database.csv:47 +msgid "" +"If you get this error, you are most likely trying to assign a value to " +"something other than a variable, which is impossible. You can only assign " +"values to variables.\n" +"\n" +"Another possibility is that you want to check for equality in a condition " +"but wrote a single = instead of ==." +msgstr "" +"Si vous obtenez cette erreur, vous essayez probablement d'attribuer une " +"valeur à quelque chose d'autre qu'une variable, ce qui est impossible. Vous " +"ne pouvez assigner des valeurs qu'à des variables.\n" +"\n" +"Il est également possible que vous souhaitiez vérifier l'égalité dans une " +"condition, mais que vous ayez écrit un seul = au lieu de ==." + +#. Reference: ASSIGNING_TO_EXPRESSION +#: script_checking/error_database.csv:47 +msgid "" +"If you want to assign a value to a variable, double-check that what you have " +"on the left side of the = sign is a variable and not a function.\n" +"\n" +"You also need to ensure the syntax is correct. For example, there shouldn't " +"be parentheses on the left side of the equal sign.\n" +"\n" +"In the case of a condition, ensure that you are using two equal signs to " +"check for equality (==)." +msgstr "" +"Si vous souhaitez attribuer une valeur à une variable, vérifiez que ce que " +"vous avez à gauche du signe = est bien une variable et non une fonction.\n" +"\n" +"Vous devez également vous assurer que la syntaxe est correcte. Par exemple, " +"il ne doit pas y avoir de parenthèses à gauche du signe égal.\n" +"\n" +"Dans le cas d'une condition, assurez-vous que vous utilisez deux signes " +"égaux pour vérifier l'égalité (==)." + +#. Reference: CYCLIC_REFERENCE +#: script_checking/error_database.csv:57 +msgid "" +"A cyclic reference is when a class references itself, directly or " +"indirectly.\n" +"\n" +"It has two possible causes:\n" +"\n" +"1. You used the class name in the class itself.\n" +"2. Your code refers to another class that refers to this class, causing an " +"endless reference cycle.\n" +"\n" +"Either way, due to how GDScript works in Godot 3, unfortunately,you cannot " +"do this. Godot 4 should solve this problem, but you need to work around it " +"in the meantime." +msgstr "" +"Une référence cyclique, c'est lorsqu'une classe se référence elle-même, " +"directement ou indirectement.\n" +"\n" +"Elle a deux causes possibles :\n" +"\n" +"1. Vous avez utilisé le nom de la classe dans la classe elle-même.\n" +"2. Votre code fait référence à une autre classe qui fait référence à cette " +"classe, ce qui provoque un cycle de référence sans fin.\n" +"\n" +"Quoi qu'il en soit, en raison de la façon dont GDScript fonctionne dans " +"Godot 3, vous ne pouvez malheureusement pas faire cela. Godot 4 devrait " +"résoudre ce problème, mais vous devez le contourner en attendant." + +#. Reference: CYCLIC_REFERENCE +#: script_checking/error_database.csv:57 +msgid "" +"Erase the type hint in the error line, and the problem should disappear. \n" +"\n" +"At GDQuest, when we face this error, we remove the type hints on lines " +"causing cyclic references. It solves the problem in the vast majority of " +"cases." +msgstr "" +"Effacez la suggestion de type dans la ligne d'erreur et le problème devrait " +"disparaître.\n" +"\n" +"Dans GDQuest, lorsque nous sommes confrontés à cette erreur, nous supprimons " +"les suggestions de type sur les lignes provoquant des références cycliques. " +"Cela résout le problème dans la grande majorité des cas." + +#. Reference: INVALID_INDENTATION +#: script_checking/error_database.csv:64 +msgid "" +"The indentation of your code (the number of tab characters at the start of " +"the line) is incorrect.\n" +"\n" +"You are missing one or more tabs, or you inserted too many.\n" +"\n" +"The computer uses those leading tab characters on code lines to know which " +"lines of code are part of a code block, like a function." +msgstr "" +"L'indentation de votre code (le nombre de caractères de tabulation au début " +"de la ligne) est incorrecte.\n" +"\n" +"Il vous manque une ou plusieurs tabulations, ou vous en avez inséré trop.\n" +"\n" +"L'ordinateur utilise ces caractères de tabulation initiaux sur les lignes de " +"code pour savoir quelles lignes de code font partie d'un bloc de code, comme " +"une fonction." + +#. Reference: INVALID_INDENTATION +#: script_checking/error_database.csv:64 +msgid "" +"If the line of code with the error is right after a line ending with a " +"colon, like a function definition, you need one extra indent level compared " +"to the previous line.\n" +"\n" +"In other words, your line should have one more leading tab character than " +"the function definition." +msgstr "" +"Si la ligne de code avec l'erreur se trouve juste après une ligne se " +"terminant par deux points, comme une définition de fonction, vous avez " +"besoin d'un niveau d'indentation supplémentaire par rapport à la ligne " +"précédente.\n" +"\n" +"En d'autres termes, votre ligne doit avoir un caractère de tabulation de " +"plus que la définition de la fonction." + +# dont la syntaxe n'est pas valide +# qui n'est pas syntaxiquement valide, +#. Reference: UNEXPECTED_CHARACTER +#: script_checking/error_database.csv:73 +msgid "" +"You get this error when you wrote something that is syntactically invalid, " +"or you are missing something to complete this line or previous lines of " +"code.\n" +"\n" +"You need to be extremely precise when you write code for the computer. This " +"kind of error is easy to get as all it takes is one wrong character.\n" +"\n" +"Note that this error can appear [b]after[/b] the line causing it due to how " +"the computer reads and analyzes your code." +msgstr "" +"Vous obtenez cette erreur lorsque vous avez écrit quelque chose dont la " +"syntaxe n'est pas valide, ou qu'il vous manque quelque chose pour compléter " +"cette ligne ou les lignes de code précédentes.\n" +"\n" +"Vous devez être extrêmement précis lorsque vous écrivez du code pour " +"l'ordinateur. Ce type d'erreur est facile à obtenir car il suffit d'un seul " +"caractère erroné pour l'obtenir.\n" +"\n" +"Notez que cette erreur peut apparaître [b]après[/b] la ligne qui la provoque " +"en raison de la façon dont l'ordinateur lit et analyse votre code." + +#. Reference: UNEXPECTED_CHARACTER +#: script_checking/error_database.csv:73 +msgid "" +"The way to solve this kind of error is highly contextual. The error message " +"should tell you which character or element it's missing.\n" +"\n" +"If the error says \"expected,\" then you're likely missing something in one " +"of the [b]previous[/b] code lines. It could be a punctuation mark, a " +"parenthesis, or something else.\n" +"\n" +"If it says \"unterminated,\" you are missing some character at the end of an " +"expression, like a closing bracket. In this case, it most likely comes from " +"the line with the error." +msgstr "" +"La façon de résoudre ce type d'erreur est très contextuelle. Le message " +"d'erreur devrait vous indiquer quel caractère ou élément il manque.\n" +"\n" +"Si l'erreur dit « expected » (attendu), il vous manque probablement quelque " +"chose dans l'une des lignes de code [b]précédentes[/b]. Il peut s'agir d'un " +"signe de ponctuation, d'une parenthèse ou d'autre chose.\n" +"\n" +"S'il est écrit « unterminated » (non terminé), il vous manque un caractère à " +"la fin d'une expression, comme un crochet fermant. Dans ce cas, il est très " +"probable que cela vient de la ligne contenant l'erreur." + +#. Reference: UNEXPECTED_CHARACTER_IN_KEYWORD +#: script_checking/error_database.csv:76 +msgid "" +"This error tells you that you are missing a parenthesis (or sometimes a " +"comma or a path).\n" +"\n" +"Three keywords in GDScript work like function calls and require parentheses: " +"[code]yield()[/code], [code]preload()[/code], and [code]assert()[/code]." +msgstr "" +"Cette erreur vous indique qu'il vous manque une parenthèse (ou parfois une " +"virgule ou un chemin).\n" +"\n" +"Trois mots-clés dans GDScript fonctionnent comme des appels de fonction et " +"nécessitent des parenthèses : [code]yield()[/code], [code]preload()[/code], " +"et [code]assert()[/code]." + +#. Reference: UNEXPECTED_CHARACTER_IN_KEYWORD +#: script_checking/error_database.csv:76 +msgid "" +"To address the error, you want to add the missing opening parenthesis, the " +"closing parenthesis, or the comma." +msgstr "" +"Pour corriger l'erreur, vous devez ajouter la parenthèse ouvrante, la " +"parenthèse fermante ou la virgule qui manque." + +# indice d'exportation. +# suggestion d'exportation. +#. Reference: UNEXPECTED_CHARACTER_IN_EXPORT_HINT +#: script_checking/error_database.csv:77 +msgid "" +"This error tells you you are missing some parenthesis, a comma, or some " +"value in your export hint." +msgstr "" +"Cette erreur vous indique qu'il vous manque une parenthèse, une virgule ou " +"une valeur dans votre indice d'exportation." + +#. Reference: UNEXPECTED_CHARACTER_IN_EXPORT_HINT +#: script_checking/error_database.csv:77 +msgid "" +"You need to read the error message and add the missing character or value it " +"requests." +msgstr "" +"Vous devez lire le message d'erreur et ajouter le caractère manquant ou la " +"valeur demandée." + +#. Reference: MISPLACED_IDENTIFIER +#: script_checking/error_database.csv:86 +msgid "" +"This error happens in several cases:\n" +"\n" +"1. You wrote an identifier (variable or function name) in the wrong place.\n" +"2. You wrote a keyword like [code]var[/code], [code]func[/code], [code]for[/" +"code], or [code]signal[/code], and you did not follow it by a name.\n" +"3. You wrote a function definition but forgot the parentheses before the " +"colon." +msgstr "" +"Cette erreur se produit dans plusieurs cas :\n" +"\n" +"1. Vous avez écrit un identifiant (nom de variable ou de fonction) au " +"mauvais endroit.\n" +"2. Vous avez écrit un mot-clé comme [code]var[/code], [code]func[/code], " +"[code]for[/code], ou [code]signal[/code], et vous ne l'avez pas fait suivre " +"d'un nom.\n" +"3. Vous avez écrit une définition de fonction mais vous avez oublié les " +"parenthèses avant le deux-points." + +#. Reference: MISPLACED_IDENTIFIER +#: script_checking/error_database.csv:86 +msgid "" +"If the error tells you it expected something, you likely forgot to write a " +"name after a keyword like [code]var[/code], [code]func[/code], [code]for[/" +"code], or [code]signal[/code], making your code invalid. Or you forgot " +"parentheses in a function definition. You can address the error by adding " +"the missing name or parentheses.\n" +"\n" +"If the error says you have something unexpected, you are likely missing a " +"keyword like [code]var[/code], [code]func[/code], [code]for[/code], etc.\n" +"\n" +"Another possibility is that you need to write a colon at the end of a " +"function definition, [code]for[/code] loop, or a line starting with " +"[code]if[/code], [code]elif[/code], or [code]else[/code]." +msgstr "" +"Si l'erreur vous dit qu'elle attendait quelque chose, vous avez probablement " +"oublié d'écrire un nom après un mot clé comme [code]var[/code], [code]func[/" +"code], [code]for[/code] ou [code]signal[/code], ce qui rend votre code " +"invalide. Ou vous avez oublié les parenthèses dans une définition de " +"fonction. Vous pouvez corriger l'erreur en ajoutant le nom ou les " +"parenthèses manquants.\n" +"\n" +"Si l'erreur indique que vous avez quelque chose d'inattendu, il vous manque " +"probablement un mot-clé comme [code]var[/code], [code]func[/code], " +"[code]for[/code], etc.\n" +"\n" +"Une autre possibilité est que vous ayez besoin d'écrire deux points à la fin " +"d'une définition de fonction, d'une boucle [code]for[/code] ou d'une ligne " +"commençant par [code]if[/code], [code]elif[/code] ou [code]else[/code]." + +#. Reference: MISPLACED_TYPE_IDENTIFIER +#: script_checking/error_database.csv:91 +msgid "" +"This error tells you that you are missing a type somewhere. A type can be " +"[code]int[/code], [code]float[/code], [code]String[/code], [code]Array[/" +"code], [code]Vector2[/code], and many identifiers representing a data " +"structure.\n" +"\n" +"Most of the time, this error occurs when you wrote a colon after a variable " +"name but did not follow it with a type name.\n" +"\n" +"It also occurs when you write an arrow ([code]->[/code]) after the " +"parentheses of a function definition but do not follow it with a type name." +msgstr "" +"Cette erreur vous indique qu'il vous manque un type quelque part. Un type " +"peut être [code]int[/code], [code]float[/code], [code]String[/code], " +"[code]Array[/code], [code]Vector2[/code], et de nombreux identifiants " +"représentant une structure de données.\n" +"\n" +"La plupart du temps, cette erreur se produit lorsque vous avez écrit un deux-" +"points après un nom de variable mais que vous ne l'avez pas fait suivre d'un " +"nom de type.\n" +"\n" +"Elle se produit également lorsque vous écrivez une flèche ([code]->[/code]) " +"après les parenthèses d'une définition de fonction mais que vous ne la " +"faites pas suivre d'un nom de type." + +#. Reference: MISPLACED_TYPE_IDENTIFIER +#: script_checking/error_database.csv:91 +msgid "" +"To solve this, you need to write the name of the type after the colon, arrow " +"(in the case of function return types), inside parentheses (for export " +"types), or after the [code]as[/code] keyword." +msgstr "" +"Pour résoudre ce problème, vous devez écrire le nom du type après le deux " +"points ou la flèche (dans le cas des types de retour de fonction), à " +"l'intérieur des parenthèses (pour les types d'exportation), ou après le mot-" +"clé [code]as[/code]." + +#. Reference: NONEXISTENT_IDENTIFIER +#: script_checking/error_database.csv:100 +msgid "" +"The variable, function name, or class name you are trying to use does not " +"exist.\n" +"\n" +"You most often get this error when you make typos. Maybe you swapped two " +"letters, forgot a letter... sometimes, it's hard to spot.\n" +"\n" +"The other cause for this error is that you didn't define the variable, " +"function, or class you're trying to access." +msgstr "" +"La variable, le nom de fonction ou le nom de classe que vous essayez " +"d'utiliser n'existe pas.\n" +"\n" +"Vous obtenez le plus souvent cette erreur lorsque vous faites des fautes de " +"frappe. Vous avez peut-être interverti deux lettres, oublié une lettre... " +"parfois, c'est difficile à repérer.\n" +"\n" +"L'autre cause de cette erreur est que vous n'avez pas défini la variable, la " +"fonction ou la classe à laquelle vous essayez d'accéder." + +#. Reference: NONEXISTENT_IDENTIFIER +#: script_checking/error_database.csv:100 +msgid "" +"To solve this error, triple-check that there is no typo in the line.\n" +"\n" +"If you can, try to go to the variable or function definition, double-click " +"the name, copy it, and paste it where you see the error.\n" +"\n" +"If you don't see any typo, then you need to ensure that you defined the " +"variable, function, or class you are referring to." +msgstr "" +"Pour résoudre cette erreur, vérifiez trois fois qu'il n'y a pas de faute de " +"frappe dans la ligne.\n" +"\n" +"Si vous le pouvez, essayez d'aller à la définition de la variable ou de la " +"fonction, double-cliquez sur le nom, copiez-le et collez-le à l'endroit où " +"vous voyez l'erreur.\n" +"\n" +"Si vous ne voyez aucune faute de frappe, vous devez alors vous assurer que " +"vous avez défini la variable, la fonction ou la classe à laquelle vous " +"faites référence." + +#. Reference: MISPLACED_KEYWORD +#: script_checking/error_database.csv:105 +msgid "" +"You can only use keywords like [code]break[/code] or [code]continue[/code] " +"in a loop. Outside a loop, they are invalid.\n" +"\n" +"The [code]continue[/code] keyword means \"jump to the next iteration of the " +"loop.\" And the [code]break[/code] keyword means \"end the loop right now " +"and jump to the first line of code after the loop block." +msgstr "" +"Vous ne pouvez utiliser des mots-clés comme [code]break[/code] ou " +"[code]continue[/code] que dans une boucle. En dehors d'une boucle, ils sont " +"invalides.\n" +"\n" +"Le mot-clé [code]continue[/code] signifie « passer à l'itération suivante de " +"la boucle ». Et le mot-clé [code]break[/code] signifie « terminer la boucle " +"tout de suite et passer à la première ligne de code après le bloc de la " +"boucle »." + +#. Reference: MISPLACED_KEYWORD +#: script_checking/error_database.csv:105 +msgid "" +"If you wrote one of these keywords outside a loop, you need to remove it.\n" +"\n" +"If you are trying to use it inside a loop, your indentation is most likely " +"at fault. You may need to insert one or more leading tab characters to the " +"keyword." +msgstr "" +"Si vous avez écrit l'un de ces mots-clés en dehors d'une boucle, vous devez " +"le supprimer.\n" +"\n" +"Si vous essayez de l'utiliser à l'intérieur d'une boucle, votre indentation " +"est très probablement en cause. Il se peut que vous deviez insérer un ou " +"plusieurs caractères de tabulation initiaux au mot-clé." + +#. Reference: EXPECTED_CONSTANT_EXPRESSION +#: script_checking/error_database.csv:110 +msgid "" +"When the computer talks about a constant expression, it expects a fixed " +"value, a fixed calculation, or the name of an existing constant.\n" +"\n" +"In other words, it wants something that can never change. This is why the " +"computer will reject function calls and variables where it needs a constant " +"expression." +msgstr "" +"Lorsque l'ordinateur parle d'une expression constante, il attend une valeur " +"fixe, un calcul fixe ou le nom d'une constante existante.\n" +"\n" +"En d'autres termes, il veut quelque chose qui ne peut jamais changer. C'est " +"pourquoi l'ordinateur rejettera les appels de fonction et les variables " +"lorsqu'il a besoin d'une expression constante." + +#. Reference: EXPECTED_CONSTANT_EXPRESSION +#: script_checking/error_database.csv:110 +msgid "" +"You need to replace function calls or variables with a constant value like a " +"whole number, decimal number, string, vector, a predefined array, etc.\n" +"\n" +"You can also use arithmetic operators like multiplications (*), additions " +"(+), and so on." +msgstr "" +"Vous devez remplacer les appels de fonction ou les variables par une valeur " +"constante comme un nombre entier, un nombre décimal, une chaîne de " +"caractères, un vecteur, un tableau prédéfini, etc.\n" +"\n" +"Vous pouvez également utiliser des opérateurs arithmétiques tels que des " +"multiplications (*), des additions (+), etc." + +#. Reference: INVALID_CLASS_DECLARATION +#: script_checking/error_database.csv:115 +msgid "" +"When defining a new class, you need to follow a specific pattern. You must " +"write the name in plain text, starting with a letter.\n" +"\n" +"We typically write class names in PascalCase: with a capital letter at the " +"start of every word that composes the class name." +msgstr "" +"Lors de la définition d'une nouvelle classe, vous devez suivre un modèle " +"spécifique. Vous devez écrire le nom en texte brut, en commençant par une " +"lettre.\n" +"\n" +"Nous écrivons généralement les noms de classe en PascalCase : avec une " +"lettre majuscule au début de chaque mot qui compose le nom de la classe." + +#. Reference: INVALID_CLASS_DECLARATION +#: script_checking/error_database.csv:115 +msgid "" +"To fix this error, replace whatever you put after the 'extends' or " +"'class_name' keyword by a name without spaces and starting with a capital " +"letter.\n" +"\n" +"You can optionally use numbers in the name, but not in the first position." +msgstr "" +"Pour corriger cette erreur, remplacez ce que vous avez mis après le mot-clé " +"'extends' ou 'class_name' par un nom sans espace et commençant par une " +"majuscule.\n" +"\n" +"Vous pouvez éventuellement utiliser des chiffres dans le nom, mais pas en " +"première position." + +#. Reference: DUPLICATE_DECLARATION +#: script_checking/error_database.csv:120 +msgid "" +"You are trying to define a function or variable that already exists; You " +"can't do that.\n" +"\n" +"Perhaps the function or variable already exists in the current code file, " +"but it may also be in a parent class that this GDScript code extends." +msgstr "" +"Vous essayez de définir une fonction ou une variable qui existe déjà ; vous " +"ne pouvez pas faire cela.\n" +"\n" +"Peut-être que la fonction ou la variable existe déjà dans le fichier de code " +"actuel, mais elle pourrait aussi se trouver dans une classe parent que ce " +"code GDScript étend." + +#. Reference: DUPLICATE_DECLARATION +#: script_checking/error_database.csv:120 +msgid "" +"In the app, your code extends some built-in Godot code that's not visible to " +"you.\n" +"\n" +"When that happens, you need to either rename your function or variable to " +"one that will not collide with an existing one or remove this line of code." +msgstr "" +"Dans l'application, votre code étend du code de Godot intégré qui n'est pas " +"visible pour vous.\n" +"\n" +"Lorsque cela se produit, vous devez soit remplacer le nom de votre fonction " +"ou variable par un qui n'entrera pas en collision avec un nom existant, soit " +"supprimer cette ligne de code." + +#. Reference: DUPLICATE_SIGNAL_DECLARATION +#: script_checking/error_database.csv:125 +msgid "" +"You are trying to define a signal that already exists; You can't do that.\n" +"\n" +"Perhaps the signal already exists in the current code file, but it may also " +"be in a parent class that this GDScript code extends." +msgstr "" +"Vous essayez de définir un signal qui existe déjà ; vous ne pouvez pas faire " +"cela.\n" +"\n" +"Peut-être que le signal existe déjà dans le fichier de code actuel, mais il " +"pourrait aussi se trouver dans une classe parent que ce code GDScript étend." + +#. Reference: DUPLICATE_SIGNAL_DECLARATION +#: script_checking/error_database.csv:125 +msgid "" +"In the app, your code extends some built-in Godot code that's not visible to " +"you.\n" +"\n" +"When that happens, you need to either rename your signal to one that will " +"not collide with an existing one or remove this line of code." +msgstr "" +"Dans l'application, votre code étend du code de Godot intégré qui n'est pas " +"visible pour vous.\n" +"\n" +"Lorsque cela se produit, vous devez soit remplacer le nom de votre signal " +"par un qui n'entrera pas en collision avec un nom existant, soit supprimer " +"cette ligne de code." + +# classe parent. +#. Reference: SIGNATURE_MISMATCH +#: script_checking/error_database.csv:130 +msgid "" +"The function you're trying to define exists in a parent class, so your " +"definition overrides the parent class's function.\n" +"\n" +"When you override a parent class's function, the new function must match the " +"parent. The new function should have the same number and type of parameters " +"as the parent class.\n" +"\n" +"For example, if the parent has two arguments, you need your new function " +"also to have two arguments. If you use type hints in your function " +"definitions, the argument types must match the parent class." +msgstr "" +"La fonction que vous essayez de définir existe dans une classe parent, votre " +"définition annule donc la fonction de la classe parent.\n" +"\n" +"Lorsque vous annulez la fonction d'une classe parent, la nouvelle fonction " +"doit correspondre à celle du parent. La nouvelle fonction doit avoir le même " +"nombre et le même type de paramètres que la classe parent.\n" +"\n" +"Par exemple, si le parent a deux arguments, votre nouvelle fonction doit " +"aussi avoir deux arguments. Si vous utilisez des suggestions de type dans " +"vos définitions de fonction, les types d'arguments doivent correspondre à la " +"classe parent." + +#. Reference: SIGNATURE_MISMATCH +#: script_checking/error_database.csv:130 +msgid "" +"You need to check the parent class's function and its definition in the code " +"reference. Then, you need to edit your function definition to have the same " +"number and type of parameters as the parent class." +msgstr "" +"Vous devez vérifier la fonction de la classe parent et sa définition dans la " +"référence du code. Ensuite, vous devez modifier la définition de votre " +"fonction pour avoir le même nombre et le même type de paramètres que la " +"classe parent." + +#. Reference: INVALID_ARGUMENTS +#: script_checking/error_database.csv:131 +msgid "" +"This whole class of errors has to do with calling functions with either the " +"wrong number of arguments or the wrong kind of argument. You will need to " +"use the error message to see what is going wrong." +msgstr "" +"Toute cette classe d'erreurs est liée à l'appel de fonctions avec soit le " +"mauvais nombre d'arguments, soit le mauvais type d'argument. Vous devrez " +"utiliser le message d'erreur pour voir ce qui ne va pas." + +#. Reference: INVALID_ARGUMENTS +#: script_checking/error_database.csv:131 +msgid "" +"You need to either remove, add, or change the values you're trying to pass " +"to the function to solve this issue. To know exactly how many arguments you " +"need, you need to check the code reference. It will show you the function " +"definition and the mandatory arguments." +msgstr "" +"Pour résoudre ce problème, vous devez soit supprimer, ajouter ou modifier " +"les valeurs que vous essayez de passer à la fonction. Pour savoir exactement " +"combien d'arguments vous avez besoin, vous devez vérifier la référence du " +"code. Elle vous montrera la définition de la fonction et les arguments " +"obligatoires." + +# additionner directement un nombre entier à +#. Reference: TYPE_MISMATCH +#: script_checking/error_database.csv:142 +msgid "" +"All the values in your code have a specific type. That type can be a whole " +"number (int), a decimal number (float), text (String), and so on. There are " +"tons of possible types, and you can even define your own!\n" +"\n" +"When you make any operation, the computer compares the types you are using.\n" +"\n" +"Some types are compatible, and some are not. For example, you cannot " +"directly add a whole number to a text string. You first need to convert the " +"number into text.\n" +"\n" +"You'll need to read the error message to see what is not matching because " +"there are many possible cases." +msgstr "" +"Toutes les valeurs de votre code ont un type spécifique. Ce type peut être " +"un nombre entier (int), un nombre décimal (float), du texte (String), etc. " +"Il existe des tonnes de types possibles, et vous pouvez même définir les " +"vôtres !\n" +"\n" +"Lorsque vous effectuez une opération, l'ordinateur compare les types que " +"vous utilisez.\n" +"\n" +"Certains types sont compatibles, d'autres non. Par exemple, vous ne pouvez " +"pas additionner directement un nombre entier à une chaîne de texte. Vous " +"devez d'abord convertir le nombre en texte.\n" +"\n" +"Vous devrez lire le message d'erreur pour voir ce qui ne correspond pas car " +"il existe de nombreux cas possibles." + +#. Reference: TYPE_MISMATCH +#: script_checking/error_database.csv:142 +msgid "" +"If the error mentions the assigned value type not matching the variable, the " +"problem is on the right side of the equal sign (=).\n" +"\n" +"If the error talks about the return type not matching the function, then it " +"is the value after the return keyword that is problematic.\n" +"\n" +"If the computer talks about an invalid operand, then the issue is that the " +"operation does not exist for the type you're trying to use. For example, " +"while you can add two 2D vectors, you can't add a whole number or text to a " +"2D vector." +msgstr "" +"Si l'erreur mentionne que le type de valeur assignée ne correspond pas à la " +"variable, le problème se trouve à droite du signe égal (=).\n" +"\n" +"Si l'erreur mentionne que le type de retour ne correspond pas à la fonction, " +"c'est la valeur après le mot-clé « return » qui pose problème.\n" +"\n" +"Si l'ordinateur parle d'un opérande invalide, alors le problème est que " +"l'opération n'existe pas pour le type que vous essayez d'utiliser. Par " +"exemple, alors que vous pouvez additionner deux vecteurs 2D, vous ne pouvez " +"pas additionner un nombre entier ou du texte à un vecteur 2D." + +#. Reference: TYPE_CANNOT_BE_INFERRED +#: script_checking/error_database.csv:147 +msgid "" +"GDScript supports type inference. The computer will automatically recognize " +"the type of value you are working with. In some cases, though, it can't " +"figure it out.\n" +"\n" +"When that happens, you need to specify the type yourself or remove type " +"inference altogether for this variable." +msgstr "" +"GDScript admet l'inférence de type. L'ordinateur reconnaîtra automatiquement " +"le type de valeur avec lequel vous travaillez. Dans certains cas, cependant, " +"il se peut qu'il n'arrive pas à l'identifier.\n" +"\n" +"Dans ce cas, vous devez spécifier le type vous-même ou supprimer " +"complètement l'inférence de type pour cette variable." + +#. Reference: TYPE_CANNOT_BE_INFERRED +#: script_checking/error_database.csv:147 +msgid "" +"The simplest way to solve this error is to remove types for this variable or " +"this function's arguments. Otherwise, you can manually specify the value " +"type after the colon.\n" +"\n" +"We recommend specifying the type whenever possible to reap the typing " +"system's benefits." +msgstr "" +"La façon la plus simple de résoudre cette erreur est de supprimer les types " +"pour cette variable ou les arguments de cette fonction. Sinon, vous pouvez " +"spécifier manuellement le type de valeur après le deux-points.\n" +"\n" +"Nous vous recommandons de spécifier le type chaque fois que possible pour " +"profiter des avantages du système de typage." + +#. Reference: RETURN_VALUE_MISMATCH +#: script_checking/error_database.csv:153 +msgid "" +"There is an issue with the return value of your function. There are two main " +"cases here:\n" +"\n" +"1. Your function is a void function, thus it should not return a value. This " +"includes functions with the '-> void' syntax and class constructors " +"('_init()').\n" +"2. You specified a return type for your function, but you are not returning " +"a value in all possible branches (if, elif, and else blocks) or at the end." +msgstr "" +"Il y a un problème avec la valeur de retour de votre fonction. Il y a deux " +"cas principaux ici :\n" +"\n" +"1. Votre fonction est une fonction « void », elle ne doit donc pas renvoyer " +"de valeur. Cela inclut les fonctions avec la syntaxe '-> void' et les " +"constructeurs de classe ('_init()').\n" +"2. Vous avez spécifié un type de retour pour votre fonction, mais vous ne " +"retournez pas une valeur dans toutes les branches possibles (blocs if, elif " +"et else) ou à la fin." + +#. Reference: RETURN_VALUE_MISMATCH +#: script_checking/error_database.csv:153 +msgid "" +"When your function is 'void', you should never return a value. You can use " +"the 'return' keyword to end the function early, but you should never write " +"anything after that.\n" +"\n" +"When you use a return type, you must always return something at the end of " +"the function or in every branch (if, elif, and else block) of the function." +msgstr "" +"Lorsque votre fonction est 'void', vous ne devez jamais retourner une " +"valeur. Vous pouvez utiliser le mot-clé 'return' pour terminer la fonction " +"plus tôt, mais vous ne devez jamais écrire quoi que ce soit après.\n" +"\n" +"Lorsque vous utilisez un type de retour, vous devez toujours retourner " +"quelque chose à la fin de la fonction ou dans chaque branche (bloc if, elif " +"et else) de la fonction." + +#. Reference: INVALID_NO_CATCH +#: script_checking/error_database.csv:154 +msgid "" +"Godot was unable to load your script, yet the language checker found nothing " +"wrong." +msgstr "" +"Godot n'a pas pu charger votre script, pourtant le vérificateur de langage " +"n'a rien trouvé d'anormal." + +#. Reference: INVALID_NO_CATCH +#: script_checking/error_database.csv:154 +msgid "" +"Please click on the \"report\" button at the top and please let us know." +msgstr "" +"Veuillez cliquer sur le bouton « signaler » en haut et nous en informer." + +#. Reference: RECURSIVE_FUNCTION +#: script_checking/error_database.csv:155 +msgid "You called a function inside itself. This will loop forever." +msgstr "" +"Vous avez appelé une fonction à l'intérieur d'elle-même. Cela tournera en " +"boucle à l'infini." + +#. Reference: RECURSIVE_FUNCTION +#: script_checking/error_database.csv:155 +msgid "" +"There are valid reasons for using recursive functions, but none of them are " +"part of this course, so this cannot be a valid solution." +msgstr "" +"Il existe des raisons valables pour utiliser des fonctions récursives, mais " +"aucune d'entre elles ne fait partie de ce cours, donc cela ne peut pas être " +"une solution valable." + +#. Reference: UNEXPECTED_EOL +#: script_checking/error_database.csv:157 +msgid "" +"The computer reached the end of the line of code, but the line had a syntax " +"error.\n" +"The most common case is when you forget to close a string: you have opening " +"quotes, but you forget to add a matching closing quote." +msgstr "" +"L'ordinateur a atteint la fin de la ligne de code, mais celle-ci comportait " +"une erreur de syntaxe.\n" +"Le cas le plus courant est l'oubli de fermer une chaîne de caractères : vous " +"avez des guillemets ouvrants, mais vous oubliez d'ajouter un guillemet " +"fermant correspondant." + +#. Reference: UNEXPECTED_EOL +#: script_checking/error_database.csv:157 +msgid "" +"Double-check that you are not missing a quote character or that the quote " +"character you used to start the string is the same as the one you used to " +"close the string." +msgstr "" +"Vérifiez à nouveau qu'il ne vous manque pas de guillemet ou que le guillemet " +"que vous avez utilisé pour démarrer la chaîne est le même que celui que vous " +"avez utilisé pour fermer la chaîne." + +#. Reference: CANT_GET_INDEX +#: script_checking/error_database.csv:160 +msgid "The sub-variable you are trying to access does not exist." +msgstr "La sous-variable à laquelle vous essayez d'accéder n'existe pas." + +#. Reference: CANT_GET_INDEX +#: script_checking/error_database.csv:160 +msgid "" +"You probably have a typo in the name of the sub-variable that you are trying " +"to access.\n" +"\n" +"Ensure that you don't have a capital letter where you should have a " +"lowercase letter and vice versa." +msgstr "" +"Vous avez probablement une faute de frappe dans le nom de la sous-variable à " +"laquelle vous essayez d'accéder.\n" +"\n" +"Assurez-vous que vous n'avez pas de lettre majuscule là où vous devriez " +"avoir une lettre minuscule et vice versa." + +# module d'extension du navigateur +#, fuzzy +#~ msgid "" +#~ "The server or your computer may currently be disconnected. Also, an app " +#~ "or browser add-on may be blocking the connection. If you use an ad " +#~ "blocker or script blocker, please disable it for this website." +#~ msgstr "" +#~ "Le serveur ou votre ordinateur est peut-être actuellement déconnecté. De " +#~ "plus, il se peut qu'une application ou un module d'extension du " +#~ "navigateur bloque la connexion. Si vous utilisez un bloqueur de " +#~ "publicités ou un bloqueur de scripts, veuillez le désactiver pour ce site " +#~ "web." + +#~ msgid "" +#~ "Please make sure you're connected to the internet. If you use an ad " +#~ "blocker or script blocker, please ensure it is turned off on this page." +#~ msgstr "" +#~ "Veuillez vous assurer que vous êtes connecté(e) à Internet. Si vous " +#~ "utilisez un bloqueur de publicités ou un bloqueur de scripts, assurez-" +#~ "vous qu'il est désactivé sur cette page." + +# serveur du vérificateur du langage +#, fuzzy +#~ msgid "" +#~ "Either your connection is very slow, or the Language Verifier server is " +#~ "under load" +#~ msgstr "" +#~ "Soit votre connexion est très lente, soit le serveur Language Verifier " +#~ "est sous charge" + +#~ msgid "" +#~ "Please try again, and if it happens again, warn us with the \"report\" " +#~ "button at the top. Thank you!" +#~ msgstr "" +#~ "Veuillez réessayer, et si cela se reproduit, prévenez-nous avec le bouton " +#~ "« signaler » en haut. Merci !" diff --git a/i18n/fr/glossary_database.po b/i18n/fr/glossary_database.po new file mode 100644 index 00000000..4d54f4ef --- /dev/null +++ b/i18n/fr/glossary_database.po @@ -0,0 +1,656 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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" + +#. Reference: member function +#: course/glossary.csv:6 +msgid "member function" +msgstr "fonction membre" + +#. Reference: member function +#: course/glossary.csv:6 +msgid "member functions" +msgstr "fonctions membres" + +#. Reference: member function +#: course/glossary.csv:6 +msgid "" +"Member functions are functions attached to a specific value type, like " +"arrays, strings, or dictionaries. We also call them methods.\n" +"\n" +"For example, arrays have member functions like [code]array.append()[/code].\n" +"\n" +"You can only call the function on an array, using the access operator " +"([code].[/code]) to access it, as shown above." +msgstr "" +"Les fonctions membres sont des fonctions attachées à un type de valeur " +"spécifique, comme des tableaux, des chaînes de caractères ou des " +"dictionnaires. On les appelle aussi des méthodes.\n" +"\n" +"Par exemple, les tableaux (en anglais [i]array[/i]) ont des fonctions " +"membres comme [code]array.append()[/code].\n" +"\n" +"Vous ne pouvez appeler la fonction que sur un tableau, en utilisant " +"l'opérateur d'accès ([code].[/code]) pour y accéder, comme indiqué ci-dessus." + +#. Reference: member variable +#: course/glossary.csv:9 +msgid "member variable" +msgstr "variable membre" + +#. Reference: member variable +#: course/glossary.csv:9 +msgid "member variables" +msgstr "variables membres" + +#. Reference: member variable +#: course/glossary.csv:9 +msgid "" +"Member variables are variables attached to a specific value type, like a " +"vector's [code]x[/code] and [code]y[/code] sub-variables. We also call them " +"[i]properties[/i] or [i]fields[/i] of the vector.\n" +"\n" +"To access a member variable, you must first write the value's name followed " +"by the access operator ([code].[/code]). For example, [code]position.x[/" +"code]." +msgstr "" +"Les variables membres sont des variables attachées à un type de valeur " +"spécifique, comme les sous-variables [code]x[/code] et [code]y[/code] d'un " +"vecteur. On les appelle aussi [i]propriétés[/i] ou [i]champs[/i] du " +"vecteur.\n" +"\n" +"Pour accéder à une variable membre, vous devez d'abord écrire le nom de la " +"valeur suivi de l'opérateur d'accès ([code].[/code]). Par exemple, " +"[code]position.x[/code]." + +#. Reference: parameter +#: course/glossary.csv:12 +msgid "parameter" +msgstr "paramètre" + +#. Reference: parameter +#: course/glossary.csv:12 +msgid "parameters" +msgstr "paramètres" + +#. Reference: parameter +#: course/glossary.csv:12 +msgid "" +"A parameter is a variable you create as part of a function definition.\n" +"\n" +"It allows you to reuse the function more by having values that vary in the " +"function's body." +msgstr "" +"Un paramètre est une variable que vous créez dans le cadre de la définition " +"d'une fonction.\n" +"\n" +"Cela vous permet de réutiliser davantage la fonction en ayant des valeurs " +"qui varient dans le corps de la fonction." + +#. Reference: radian +#: course/glossary.csv:17 +msgid "radian" +msgstr "radian" + +#. Reference: radian +#: course/glossary.csv:17 +msgid "radians" +msgstr "radians" + +#. Reference: radian +#: course/glossary.csv:17 +msgid "" +"A radian is a unit of measurement of angles based on the circle's " +"circumference.\n" +"\n" +"We tend to use degrees more in our daily lives, but in computer programming, " +"and especially in games, radians are common.\n" +"\n" +"An angle of [code]2 * PI[/code] radians corresponds to 360 degrees. And an " +"angle of [code]PI[/code] radians corresponds to 180 degrees." +msgstr "" +"Un radian est une unité de mesure des angles basée sur la circonférence du " +"cercle.\n" +"\n" +"Nous avons tendance à utiliser davantage les degrés dans notre vie " +"quotidienne, mais en programmation informatique, et surtout dans les jeux, " +"les radians sont courants.\n" +"\n" +"Un angle de [code]2 * PI[/code] radians correspond à 360 degrés. Et un angle " +"de [code]PI[/code] radians correspond à 180 degrés." + +#. Reference: type +#: course/glossary.csv:20 +msgid "type" +msgstr "type" + +#. Reference: type +#: course/glossary.csv:20 +msgid "types" +msgstr "types" + +#. Reference: type +#: course/glossary.csv:20 +msgid "" +"In computer programming, a type is the class of a value. For example, whole " +"numbers like [code]3[/code], [code]11[/code], and [code]255462[/code] are " +"all of type [code]int[/code] (short for integer).\n" +"\n" +"The computer uses types to determine which operations are valid between two " +"values and when they're undefined." +msgstr "" +"En programmation informatique, un type est la classe d'une valeur. Par " +"exemple, des nombres entiers comme [code]3[/code], [code]11[/code] et " +"[code]255462[/code] sont tous de type [code]int[/code] (abréviation du mot " +"en anglais [i]integer[/i]), ce qui veut dire « entier ».\n" +"\n" +"L'ordinateur utilise les types pour déterminer quelles opérations sont " +"valides entre deux valeurs et quand elles sont indéfinies." + +#. Reference: iteration +#: course/glossary.csv:23 +msgid "iteration" +msgstr "itération" + +#. Reference: iteration +#: course/glossary.csv:23 +msgid "iterations" +msgstr "itérations" + +#. Reference: iteration +#: course/glossary.csv:23 +msgid "" +"In computer code, an iteration is one repetition of some process or code. We " +"typically use the term with loops, where one iteration is one run of the " +"loop's code.\n" +"\n" +"When talking of algorithms, an iteration can mean a full pass of the " +"algorithm on a data set." +msgstr "" +"Dans le code informatique, une itération est une répétition d'un processus " +"ou d'un code. Généralement, nous utilisons ce terme avec les boucles, où une " +"itération est une exécution du code de la boucle.\n" +"\n" +"Lorsqu'on parle d'algorithmes, une itération peut signifier un passage " +"complet de l'algorithme sur un ensemble de données." + +#. Reference: vector +#: course/glossary.csv:28 +msgid "vector" +msgstr "vecteur" + +#. Reference: vector +#: course/glossary.csv:28 +msgid "vectors" +msgstr "vecteurs" + +#. Reference: vector +#: course/glossary.csv:28 +msgid "" +"In math, a vector is a list of numbers. In games, we often use 2D and 3D " +"vectors: respectively, lists of two and three numbers.\n" +"\n" +"We use that to represent a direction and magnitude or intensity in space. " +"For example, you can use a vector to represent the direction and speed at " +"which a character or a vehicle moves.\n" +"\n" +"Vectors can seem daunting at first because they are pretty abstract, but as " +"you will see, they'll simplify code tremendously." +msgstr "" +"En mathématiques, un vecteur est une liste de nombres. Dans les jeux, nous " +"utilisons souvent des vecteurs 2D et 3D : respectivement, des listes de deux " +"et trois nombres.\n" +"\n" +"Nous les utilisons pour représenter une direction et une magnitude ou une " +"intensité dans l'espace. Par exemple, vous pouvez utiliser un vecteur pour " +"représenter la direction et la vitesse à laquelle un personnage ou un " +"véhicule se déplace.\n" +"\n" +"Les vecteurs peuvent sembler intimidants au début car ils sont assez " +"abstraits, mais comme vous le verrez, ils simplifieront énormément le code." + +#. Reference: argument +#: course/glossary.csv:37 +msgid "argument" +msgstr "argument" + +#. Reference: argument +#: course/glossary.csv:37 +msgid "arguments" +msgstr "arguments" + +#. Reference: argument +#: course/glossary.csv:37 +msgid "" +"An argument is a value that you pass to a function when calling the " +"function. For example, in the call [code]rotate(0.5)[/code], the value " +"[code]0.5[/code] in the parentheses is an argument.\n" +"\n" +"A function can receive no arguments, one argument, or multiple arguments. " +"Arguments can be mandatory or optional.\n" +"\n" +"When a function takes multiple arguments, you separate the values with " +"commas, like in this function call: [code]jump(50, 100)[/code]\n" +"\n" +"When [i]calling[/i] a function, we name the values passed in parentheses " +"[i]arguments[/i].\n" +"\n" +"When writing a function definition, however, we talk about function " +"[i]parameters[/i]. In the following example, the names [code]x[/code] and " +"[code]y[/code] are [i]parameters[/i]." +msgstr "" +"Un argument est une valeur que vous passez à une fonction lors de l'appel de " +"la fonction. Par exemple, dans l'appel de [code]rotate(0.5)[/code], la " +"valeur [code]0.5[/code] entre les parenthèses est un argument.\n" +"\n" +"Une fonction peut ne recevoir aucun argument, un argument ou plusieurs " +"arguments. Les arguments peuvent être obligatoires ou facultatifs.\n" +"\n" +"Lorsqu'une fonction reçoit plusieurs arguments, vous séparez les valeurs par " +"des virgules, comme dans cet appel de fonction : [code]jump(50, 100)[/code]\n" +"\n" +"Lors de [i]l'appel[/i] d'une fonction, on appelle les valeurs passées entre " +"parenthèses des [i]arguments[/i].\n" +"\n" +"Cependant, lors de l'écriture d'une définition de fonction, nous parlons des " +"[i]paramètres[/i] de la fonction. Dans l'exemple suivant, les noms " +"[code]x[/code] et [code]y[/code] sont des [i]paramètres[/i]." + +#. Reference: array +#: course/glossary.csv:44 +msgid "array" +msgstr "tableau" + +#. Reference: array +#: course/glossary.csv:44 +msgid "arrays" +msgstr "tableaux" + +#. Reference: array +#: course/glossary.csv:44 +msgid "" +"An array is a list of values. In GDScript, arrays can contain [i]any[/i] " +"types of value.\n" +"\n" +"To create an array, you write comma-separated values in square brackets: " +"[code]var three_numbers = [1, 2, 3][/code]\n" +"\n" +"In games, we use arrays all the time to store lists of characters in a " +"party, lists of items in inventory, lists of spells the player unlocked, and " +"so on. They're everywhere.\n" +"\n" +"Arrays are a fundamental value type in computer programming. You'll find " +"arrays in pretty much any programming language." +msgstr "" +"Un tableau (en anglais [i]array[/i]) est une liste de valeurs. Dans " +"GDScript, les tableaux peuvent contenir [i]n'importe quel[/i] type de " +"valeur.\n" +"\n" +"Pour créer un tableau, vous écrivez des valeurs séparées par des virgules " +"entre crochets : [code]var three_numbers = [1, 2, 3][/code]\n" +"\n" +"Dans les jeux, nous utilisons des tableaux tout le temps pour stocker des " +"listes de personnages dans un groupe, des listes d'objets dans l'inventaire, " +"des listes de sorts que le joueur a débloqués, etc. Ils sont partout.\n" +"\n" +"Les tableaux sont un type de valeur fondamental dans la programmation " +"informatique. Vous trouverez des tableaux dans presque tous les langages de " +"programmation." + +#. Reference: assign +#: course/glossary.csv:45 +msgid "assign" +msgstr "assigner" + +#. Reference: assign +#: course/glossary.csv:45 +msgid "" +"Assigning a value to a variable means that you store a value inside the " +"variable. You do this with the equal sign ([code]=[/code])." +msgstr "" +"Assigner une valeur à une variable signifie que vous stockez une valeur à " +"l'intérieur de la variable. Vous faites cela avec le signe égal ([code]=[/" +"code])." + +#. Reference: dictionary +#: course/glossary.csv:52 +msgid "dictionary" +msgstr "dictionnaire" + +#. Reference: dictionary +#: course/glossary.csv:52 +msgid "dictionaries" +msgstr "dictionnaires" + +#. Reference: dictionary +#: course/glossary.csv:52 +msgid "" +"A dictionary is a data structure that maps values with key-value pairs. When " +"you give the dictionary a key, it finds and gives you back the corresponding " +"value.\n" +"\n" +"In GDScript, keys can be many things. We often use text strings or numbers, " +"but you're not limited to that. A [code]Vector2[/code] can also be a valid " +"key, which is handy to map a grid cell to a unit or an item in a grid-based " +"game.\n" +"\n" +"You will often use dictionaries to associate bits of data in your games. For " +"example, we could use them to associate an equipment's name with its weapon " +"stats in a database.\n" +"\n" +"Like arrays, they are a fundamental data type that you will see in many " +"programming languages and use a lot." +msgstr "" +"Un dictionnaire est une structure de données qui met en correspondance, ou « " +"mappe », des valeurs avec des paires clé-valeur. Lorsque vous donnez une clé " +"au dictionnaire, il trouve et vous rend la valeur correspondante.\n" +"\n" +"Dans GDScript, les clés peuvent être plusieurs choses. Nous utilisons " +"souvent des chaînes de texte ou des nombres, mais vous n'es pas limité(e) à " +"cela. Un [code]Vector2[/code] peut aussi être une clé valide, ce qui est " +"pratique pour mapper une cellule de grille à une unité ou un élément dans un " +"jeu basé sur une grille.\n" +"\n" +"Vous utiliserez souvent des dictionnaires pour associer des données dans vos " +"jeux. Par exemple, nous pourrions les utiliser pour associer le nom d'un " +"équipement à ses statistiques dans une base de données.\n" +"\n" +"Comme les tableaux, ils sont un type de données fondamental que vous verrez " +"dans de nombreux langages de programmation et que vous utiliserez beaucoup." + +#. Reference: for loop +#: course/glossary.csv:59 +msgid "for loop" +msgstr "boucle for" + +#. Reference: for loop +#: course/glossary.csv:59 +msgid "for loops" +msgstr "boucles for" + +#. Reference: for loop +#: course/glossary.csv:59 +msgid "" +"A for loop instructs the computer to repeat a set of instructions once for " +"each value in an array.\n" +"\n" +"In each loop iteration, the compiler extracts one value from the array and " +"gives you access to it in the loop's body.\n" +"\n" +"For loops run code a limited amount of times: one per value in the array. It " +"is different from while loops that keep repeating code until a condition is " +"met.\n" +"\n" +"We recommend favoring for loops when you can. They're safer and easier to " +"use than while loops." +msgstr "" +"Une boucle for demande à l'ordinateur de répéter un ensemble d'instructions " +"une fois pour chaque valeur d'un tableau.\n" +"\n" +"À chaque itération de la boucle, le compilateur extrait une valeur du " +"tableau et vous y donne accès dans le corps de la boucle.\n" +"\n" +"Les boucles for exécutent le code un nombre limité de fois : une par valeur " +"du tableau. Elles sont différentes des boucles while qui continuent à " +"répéter le code jusqu'à ce qu'une condition soit remplie.\n" +"\n" +"Nous vous recommandons de privilégier les boucles for lorsque cela est " +"possible. Elles sont plus sûres et plus faciles à utiliser que les boucles " +"while." + +#. Reference: function +#: course/glossary.csv:64 +msgid "function" +msgstr "fonction" + +#. Reference: function +#: course/glossary.csv:64 +msgid "functions" +msgstr "fonctions" + +#. Reference: function +#: course/glossary.csv:64 +msgid "" +"A function is a group of code instructions you give a name. When you define " +"a function, you can call it any time to run all the instructions it " +"contains.\n" +"\n" +"You can modify a function's behavior with parameters. Parameters are " +"variable names that you write in the function definition. You can then use " +"them in the function's body to make your code adapt to different cases.\n" +"\n" +"Also, functions can optionally return a value to the code calling it." +msgstr "" +"Une fonction est un groupe d'instructions de code auquel vous donnez un nom. " +"Quand vous définissez une fonction, vous pouvez l'appeler à tout moment pour " +"exécuter toutes les instructions qu'elle contient.\n" +"\n" +"Vous pouvez modifier le comportement d'une fonction avec des paramètres. Les " +"paramètres sont des noms de variables que vous écrivez dans la définition de " +"la fonction. Vous pouvez ensuite les utiliser dans le corps de la fonction " +"pour adapter votre code à différents cas.\n" +"\n" +"De plus, les fonctions peuvent éventuellement retourner une valeur au code " +"qui l'appelle." + +#. Reference: increment +#: course/glossary.csv:65 +msgid "increment" +msgstr "incrément" + +#. Reference: increment +#: course/glossary.csv:65 +msgid "increments" +msgstr "incréments" + +#. Reference: increment +#: course/glossary.csv:65 +msgid "An increment is the amount by which a value changes in your code." +msgstr "" +"Un incrément est la quantité par laquelle une valeur change dans votre code." + +#. Reference: instruction +#: course/glossary.csv:68 +msgid "instruction" +msgstr "instruction" + +#. Reference: instruction +#: course/glossary.csv:68 +msgid "instructions" +msgstr "instructions" + +#. Reference: instruction +#: course/glossary.csv:68 +msgid "" +"In computer programming, instructions are a single operation the computer " +"recognizes and can execute.\n" +"\n" +"For example, a function call, an addition, or assigning a value to a " +"variable." +msgstr "" +"En programmation informatique, les instructions sont une opération unique " +"que l'ordinateur reconnaît et peut exécuter.\n" +"\n" +"Par exemple, un appel de fonction, une addition ou l'attribution d'une " +"valeur à une variable." + +#. Reference: variable +#: course/glossary.csv:77 +msgid "variable" +msgstr "variable" + +#. Reference: variable +#: course/glossary.csv:77 +msgid "variables" +msgstr "variables" + +#. Reference: variable +#: course/glossary.csv:77 +msgid "" +"Variables are a tool to give a name to values you want to store in your code " +"and change over time.\n" +"\n" +"For example, a character's health: when the character takes a hit, you want " +"it to go down. When healing, you want the health to go back up.\n" +"\n" +"You can create a variable named [code]health[/code] to represent the " +"health.\n" +"\n" +"Then, every time you write the keyword [code]health[/code] in your code, the " +"computer will fetch the corresponding value in its memory for you.\n" +"\n" +"Variables work a bit like product labels in a supermarket. They are names " +"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 "" +"Les variables sont un outil pour donner un nom aux valeurs que vous " +"souhaitez stocker dans votre code et changer au fil du temps.\n" +"\n" +"Par exemple, la santé d'un personnage : lorsque le personnage prend un coup, " +"vous voulez qu'elle diminue. Lorsque le personnage se soigne, vous voulez " +"que la santé remonte.\n" +"\n" +"Vous pouvez créer une variable nommée [code]health[/code] pour représenter " +"la santé.\n" +"\n" +"Ensuite, chaque fois que vous écrivez le mot-clé [code]health[/code] dans " +"votre code, l'ordinateur va chercher la valeur correspondante dans sa " +"mémoire pour vous.\n" +"\n" +"Les variables fonctionnent un peu comme les étiquettes des produits d'un " +"supermarché. Ce sont des noms que vous attachez à une certaine valeur. À " +"tout moment, vous pouvez prendre l'étiquette et la coller sur un nouveau " +"produit ou, dans ce cas, sur une nouvelle valeur." + +#. Reference: while loop +#: course/glossary.csv:84 +msgid "while loop" +msgstr "boucle while" + +#. Reference: while loop +#: course/glossary.csv:84 +msgid "while loops" +msgstr "boucles while" + +#. Reference: while loop +#: course/glossary.csv:84 +msgid "" +"A while loop instructs the computer to keep running code based on a " +"condition. While the condition is true, the loop keeps running.\n" +"\n" +"When coding while loops, you must be careful: they will keep running " +"infinitely and freeze your game if you get the condition wrong.\n" +"\n" +"That's why we recommend using the safer for loop whenever you can.\n" +"\n" +"However, there are still essential cases in which we use while loops, like " +"processing files, processing computer code, or for powerful algorithms." +msgstr "" +"Une boucle while demande à l'ordinateur de continuer à exécuter du code en " +"fonction d'une condition. Tant que la condition est vraie, la boucle " +"continue de s'exécuter.\n" +"\n" +"Lorsque vous codez des boucles while, vous devez faire attention : elles " +"continueront à s'exécuter à l'infini et gèleront votre jeu si vous vous " +"trompez de condition.\n" +"\n" +"C'est pourquoi nous vous recommandons d'utiliser la boucle for, qui est plus " +"sûre, chaque fois que vous le pouvez.\n" +"\n" +"Cependant, il existe encore des cas essentiels dans lesquels nous utilisons " +"des boucles while, comme le traitement des fichiers, le traitement du code " +"informatique ou pour les algorithmes puissants." + +#. Reference: body +#: course/glossary.csv:85 +msgid "body" +msgstr "corps" + +#. Reference: body +#: course/glossary.csv:85 +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 "" +"On parle du corps d'une boucle ou d'une fonction pour faire référence aux " +"lignes de code qui font partie de la boucle ou de la fonction." + +#. Reference: return +#: course/glossary.csv:88 +msgid "return" +msgstr "retour" + +#. Reference: return +#: course/glossary.csv:88 +msgid "" +"Returning a value is the process of sending a value to the place where you " +"call a function.\n" +"\n" +"It happens when a function uses the [code]return[/code] keyword followed by " +"a value, for example: [code]return -1[/code]." +msgstr "" +"Le retour (en anglais [i]return[/i]) d'une valeur est le processus qui " +"consiste à envoyer une valeur à l'endroit où vous appelez une fonction.\n" +"\n" +"Cela se produit lorsqu'une fonction utilise le mot-clé [code]return[/code] " +"suivi d'une valeur, par exemple : [code]return -1[/code]." + +#. Reference: library +#: course/glossary.csv:89 +msgid "library" +msgstr "bibliothèque" + +#. Reference: library +#: course/glossary.csv:89 +msgid "libraries" +msgstr "bibliothèques" + +#. Reference: library +#: course/glossary.csv:89 +msgid "" +"A collection of valuable and reusable code bundled together by other " +"programmers to save you time. All programmers use code libraries." +msgstr "" +"Une collection de code précieux et réutilisable regroupée par d'autres " +"programmeurs pour vous faire gagner du temps. Tous les programmeurs " +"utilisent des bibliothèques de code." + +#. Reference: sprite +#: course/glossary.csv:90 +msgid "sprite" +msgstr "sprite" + +#. Reference: sprite +#: course/glossary.csv:90 +msgid "sprites" +msgstr "sprites" + +#. Reference: sprite +#: course/glossary.csv:90 +msgid "" +"In computer graphics, a sprite is an image you display on the screen. We " +"generally use this word to talk about moving images, like a character, a " +"monster, or an item falling on the ground." +msgstr "" +"En infographie, un sprite est une image que vous affichez sur l'écran. On " +"utilise généralement ce mot pour parler d'images en mouvement, comme un " +"personnage, un monstre ou un objet qui tombe sur le sol." diff --git a/i18n/fr/lesson-1-what-code-is-like.po b/i18n/fr/lesson-1-what-code-is-like.po new file mode 100644 index 00000000..28e3027f --- /dev/null +++ b/i18n/fr/lesson-1-what-code-is-like.po @@ -0,0 +1,442 @@ +# 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 \n" +"Language-Team: French \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-1-what-code-is-like/lesson.tres:14 +msgid "" +"Learning to program can be daunting.\n" +"\n" +"Yet, you want to make video games, so [b]there is no way around learning to " +"program[/b]. [i]Every[/i] video game is a computer program." +msgstr "" +"Apprendre à programmer peut être décourageant.\n" +"\n" +"Cependant, vous voulez créer des jeux vidéo, et [b]il n'y a aucun moyen de " +"contourner l'apprentissage de la programmation[/b]. [i]Chaque[/i] jeu vidéo " +"est un programme informatique." + +#: course/lesson-1-what-code-is-like/lesson.tres:24 +msgid "Telling the computer what to do" +msgstr "Dire à l'ordinateur ce qu'il doit faire" + +# jouer un son. +#: course/lesson-1-what-code-is-like/lesson.tres:26 +msgid "" +"Programming is the process of writing precise instructions that tell a " +"computer how to perform a task.\n" +"\n" +"A game's instructions are, for example: moving a character, drawing a life " +"bar, or playing a sound." +msgstr "" +"La programmation consiste à écrire des instructions précises qui indiquent à " +"un ordinateur comment effectuer une tâche.\n" +"\n" +"Les instructions d'un jeu sont, par exemple : déplacer un personnage, " +"dessiner une barre de vie ou jouer un son." + +#: 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 "" +"Pour faire tout cela, vous devez apprendre un [b]langage de programmation[/" +"b] : un langage spécialisé pour dire à l'ordinateur ce qu'il doit faire." + +#: course/lesson-1-what-code-is-like/lesson.tres:58 +msgid "" +"Programming languages are different from natural ones like English or " +"Spanish. The computer does not think. Unlike us, it can't [i]interpret[/i] " +"what you tell it.\n" +"\n" +"You can't tell it something vague like \"draw a circle.\"\n" +"\n" +"Which circle? Where? Which color should it be? How big should it be?" +msgstr "" +"Les langages de programmation sont différents des langages naturels comme " +"l'anglais ou l'espagnol. L'ordinateur ne pense pas. Contrairement à nous, il " +"ne peut pas [i]interpréter[/i] ce que vous lui dites.\n" +"\n" +"Vous ne pouvez pas lui dire quelque chose de vague comme \"dessine un " +"cercle\".\n" +"\n" +"Quel cercle ? Où ? De quelle couleur devrait-il être ? Quelle devrait être " +"sa taille ?" + +#: course/lesson-1-what-code-is-like/lesson.tres:70 +msgid "The computer needs exact instructions" +msgstr "L'ordinateur a besoin d'instructions précises" + +#: course/lesson-1-what-code-is-like/lesson.tres:72 +msgid "" +"To draw a filled circle, the computer needs to know exact drawing " +"coordinates, the radius, the thickness, and color you want.\n" +"\n" +"The code to do so [i]may[/i] look like this.\n" +"\n" +"[i]Click the button to run the code example and see the result.[/i]" +msgstr "" +"Pour dessiner un cercle rempli, l'ordinateur doit connaître les coordonnées " +"exactes du dessin, le rayon, l'épaisseur et la couleur que vous souhaitez.\n" +"\n" +"Le code pour ce faire [i]peut[/i] ressembler à ceci.\n" +"\n" +"[i]Cliquez sur le bouton pour exécuter l'exemple de code et voir le résultat." +"[/i]" + +#: course/lesson-1-what-code-is-like/lesson.tres:96 +msgid "" +"In the following lessons, you'll learn how this code works.\n" +"\n" +"For now, we want to give you a sense of what computer code looks like. In " +"this example, everything matters: each parenthesis, capital letter, period, " +"and comma.\n" +"\n" +"The computer always does [b]exactly[/b] what you tell it to. No more, no " +"less. It [i]blindly[/i] follows every instruction.\n" +"\n" +"[b]When you program, you're the one in charge, and you're free to do " +"[i]anything[/i] you want.[/b]" +msgstr "" +"Dans les leçons suivantes, vous apprendrez comment ce code fonctionne.\n" +"\n" +"Pour l'instant, nous voulons vous donner une idée de ce à quoi ressemble le " +"code informatique. Dans cet exemple, tout compte : chaque parenthèse, chaque " +"majuscule, chaque point et chaque virgule.\n" +"\n" +"L'ordinateur fait toujours [b]exactement[/b] ce que vous lui dites de faire. " +"Pas plus, pas moins. Il suit [i]aveuglément[/i] chaque instruction.\n" +"\n" +"[b]Lorsque vous programmez, c'est vous qui décidez et vous êtes libre de " +"faire [i]tout[/i] ce que vous voulez.[/b]" + +#: course/lesson-1-what-code-is-like/lesson.tres:110 +msgid "How do you give instructions to a computer?" +msgstr "Comment donner des instructions à un ordinateur ?" + +#: course/lesson-1-what-code-is-like/lesson.tres:113 +msgid "" +"Computers don't understand natural languages like English. To make them do " +"anything, you need to give them precise instructions they understand, using " +"a programming language." +msgstr "" +"Les ordinateurs ne comprennent pas les langues naturelles comme l'anglais. " +"Pour leur faire faire quoi que ce soit, vous devez leur donner des " +"instructions précises qu'ils comprennent, en utilisant un langage de " +"programmation." + +#: 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 "En utilisant un langage de programmation et des instructions précises" + +#: course/lesson-1-what-code-is-like/lesson.tres:114 +msgid "Using prose in plain English" +msgstr "En utilisant la prose en français courant" + +#: course/lesson-1-what-code-is-like/lesson.tres:122 +msgid "You'll learn to code with GDScript" +msgstr "Vous apprendrez à coder avec GDScript" + +#: course/lesson-1-what-code-is-like/lesson.tres:124 +msgid "" +"In this course, you'll learn the GDScript programming language (the name " +"stands for \"Godot script\").\n" +"\n" +"This is a language by game developers for game developers. You can use it " +"within the Godot game engine to create games and applications.\n" +"\n" +"SEGA used the Godot engine to create the remake of Sonic Colors Ultimate. " +"Engineers at Tesla use it for their cars' dashboards." +msgstr "" +"Dans ce cours, vous apprendrez le langage de programmation GDScript (le nom " +"signifie « Godot script » ).\n" +"\n" +"Il s'agit d'un langage conçu par des développeurs de jeux pour des " +"développeurs de jeux. Vous pouvez l'utiliser dans le moteur de jeu Godot " +"pour créer des jeux et des applications.\n" +"\n" +"SEGA a utilisé le moteur Godot pour créer le remake de Sonic Colors " +"Ultimate. Les ingénieurs de Tesla l'utilisent pour les tableaux de bord de " +"leurs voitures." + +#: course/lesson-1-what-code-is-like/lesson.tres:148 +msgid "" +"GDScript is an excellent language to get started with programming because " +"it's specialized. Unlike some other languages, it doesn't have an " +"[i]overwhelming[/i] amount of features for you to learn." +msgstr "" +"GDScript est un excellent langage pour débuter en programmation car il est " +"spécialisé. Contrairement à d'autres langages, il n'a pas une quantité " +"[i]écrasante[/i] de fonctionnalités à apprendre." + +#: course/lesson-1-what-code-is-like/lesson.tres:156 +msgid "Most programming languages are similar" +msgstr "La plupart des langages de programmation sont similaires" + +# performant(e) +#: course/lesson-1-what-code-is-like/lesson.tres:158 +msgid "" +"Don't be afraid of being locked in. The concepts you learn in your first " +"programming language will apply to all the others.\n" +"\n" +"Most languages have more similarities than differences. Once you learn one, " +"it takes much less time to become productive with the next one.\n" +"\n" +"Here's an example of the same code in three languages: GDScript, JavaScript, " +"and Python.\n" +"\n" +"Try to spot the similarities and differences." +msgstr "" +"N'ayez pas peur d'être enfermé(e). Les concepts que vous apprenez dans votre " +"premier langage de programmation s'appliqueront à tous les autres.\n" +"\n" +"La plupart des langages ont plus de similitudes que de différences. Une fois " +"que vous en avez appris un, il faut beaucoup moins de temps pour devenir " +"performant(e) avec le suivant.\n" +"\n" +"Voici un exemple du même code dans trois langages : GDScript, JavaScript et " +"Python.\n" +"\n" +"Essayez de repérer les similitudes et les différences." + +#: course/lesson-1-what-code-is-like/lesson.tres:184 +msgid "It doesn't look [i]that[/i] different, does it?" +msgstr "Cela n'a pas l'air [i]si[/i] différent, n'est-ce pas ?" + +#: course/lesson-1-what-code-is-like/lesson.tres:192 +msgid "Are programming languages all completely different?" +msgstr "Les langages de programmation sont-ils tous complètement différents ?" + +#: course/lesson-1-what-code-is-like/lesson.tres:193 +msgid "" +"If you learn one language and then want to learn another, will you have to " +"start from scratch?" +msgstr "" +"Si vous apprenez une langage et que vous souhaitez ensuite en apprendre une " +"autre, devrez-vous recommencer à zéro ?" + +#: course/lesson-1-what-code-is-like/lesson.tres:195 +msgid "" +"Most programming languages build upon the same ideas of how to program. As a " +"result, they're mostly similar.\n" +"\n" +"It's not to say all languages are the same, though. Some offer a really " +"unique syntax and require a completely different mindset compared to " +"GDScript.\n" +"\n" +"However, languages like GDScript, Python, JavaScript, C++, C#, and many " +"others build upon a similar programming philosophy." +msgstr "" +"La plupart des langages de programmation reposent sur les mêmes idées sur la " +"façon de programmer. Par conséquent, ils sont pour la plupart similaires.\n" +"\n" +"Mais cela ne veut pas dire que tous les langages sont identiques. Certains " +"offrent une syntaxe vraiment unique et nécessitent une approche complètement " +"différente de GDScript.\n" +"\n" +"Cependant, des langages comme GDScript, Python, JavaScript, C++, C# et bien " +"d'autres reposent sur une philosophie de programmation similaire." + +#: course/lesson-1-what-code-is-like/lesson.tres:200 +#: course/lesson-1-what-code-is-like/lesson.tres:201 +msgid "No, they have many similarities" +msgstr "Non, ils ont de nombreuses similitudes" + +#: course/lesson-1-what-code-is-like/lesson.tres:200 +msgid "Yes, they are completely different" +msgstr "Oui, ils sont complètement différents" + +#: course/lesson-1-what-code-is-like/lesson.tres:208 +msgid "This is a course for beginners" +msgstr "C'est un cours pour les débutants" + +#: course/lesson-1-what-code-is-like/lesson.tres:210 +msgid "" +"If you want to learn to make games or code but don't know where to start, " +"this course should be perfect." +msgstr "" +"Si vous voulez apprendre à créer des jeux ou à coder mais que vous ne savez " +"pas par où commencer, ce cours est fait pour vous." + +#: course/lesson-1-what-code-is-like/lesson.tres:230 +msgid "" +"We designed it for [i]absolute beginners[/i], but if you already know " +"another language, it can be a fun way to get started with Godot.\n" +"\n" +"We will give you the coding foundations you need to start making games and " +"applications with Godot.\n" +"\n" +"Please be patient. It will take time before you can make your first complete " +"game alone." +msgstr "" +"Nous l'avons conçu pour les [i]débutant(e)s absolu(e)s[/i], mais si vous " +"connaissez déjà un autre langage, cela peut être une façon amusante de " +"commencer à utiliser Godot.\n" +"\n" +"Nous vous donnerons les bases de code dont vous avez besoin pour commencer à " +"créer des jeux et des applications avec Godot.\n" +"\n" +"Soyez patient(e). Il vous faudra du temps avant de pouvoir réaliser votre " +"premier jeu complet tout(e) seul(e)." + +#: course/lesson-1-what-code-is-like/lesson.tres:242 +msgid "Learning to make games takes practice" +msgstr "Apprendre à faire des jeux demande de la pratique" + +#: course/lesson-1-what-code-is-like/lesson.tres:244 +msgid "" +"Creating games is more accessible than ever, but it still takes a lot of " +"work and practice.\n" +"\n" +"Do not expect any single course or book to turn you into a professional. " +"[b]Programming is something you learn through practice.[/b]\n" +"\n" +"If something doesn't make immediate sense, don't stress it too much! Keep " +"learning and come back to it later.\n" +"\n" +"Enjoy the process and celebrate every little success. You will never stop " +"learning as a game developer." +msgstr "" +"Créer des jeux est plus accessible que jamais, mais cela demande toujours " +"beaucoup de travail et de pratique.\n" +"\n" +"Ne vous attendez pas à ce qu'un seul cours ou livre fasse de vous un " +"professionnel. [b]La programmation est quelque chose qui s'apprend par la " +"pratique.[/b]\n" +"\n" +"Si quelque chose n'a pas de sens immédiat, ne stressez pas trop ! Continuez " +"à apprendre et revenez-y plus tard.\n" +"\n" +"Amusez-vous et célébrez chaque petit succès. Vous n'arrêterez jamais " +"d'apprendre en tant que développeur ou développeuse de jeux." + +# Revisar a partir de aqui con Nathan +#: course/lesson-1-what-code-is-like/lesson.tres:258 +msgid "What and how you'll learn" +msgstr "Ce que vous apprendrez et comment" + +#: course/lesson-1-what-code-is-like/lesson.tres:260 +msgid "" +"In this free course, you will learn the foundations you need to start coding " +"things like these:" +msgstr "" +"Dans ce cours gratuit, vous apprendrez les bases dont vous avez besoin pour " +"commencer à coder des choses comme celles-ci :" + +# questions brûlantes +#: course/lesson-1-what-code-is-like/lesson.tres:290 +msgid "" +"Along the way, we'll teach you:\n" +"\n" +"- Some of the mindset you need as a developer. Too many programming courses " +"skip that essential part.\n" +"- How to write GDScript code.\n" +"- Essential programming foundations to get you started.\n" +"\n" +"As you go through the course, you will have many questions. We will answer " +"them the best we can as we go.\n" +"\n" +"But there is so much to cover that we have to take a few shortcuts. We don't " +"want to [i]overwhelm[/i] you with information. We also want to respect the " +"pace at which our brains memorize things.\n" +"\n" +"We broke down the course into short lessons and practices. If we put too " +"much into each part, you'd learn slower.\n" +"\n" +"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 "" +"En cours de route, nous vous apprendrons :\n" +"\n" +"- Des aspects importants de la mentalité dont vous avez besoin en tant que " +"développeur. Trop de cours de programmation sautent cette partie essentielle." +"\n" +"- Comment écrire du code GDScript.\n" +"- Les bases de programmation essentielles pour vous aider à démarrer.\n" +"\n" +"Lorsque vous suivrez le cours, vous aurez de nombreuses questions. Nous y " +"répondrons du mieux que nous pourrons au fur et à mesure.\n" +"\n" +"Mais il y a tellement de choses à couvrir que nous devons prendre quelques " +"raccourcis. Nous ne voulons pas vous [i]submerger[/i] d'informations. Nous " +"voulons aussi respecter le rythme auquel nos cerveaux mémorisent les choses." +"\n" +"\n" +"Nous avons divisé le cours en leçons et pratiques courtes. Si nous en " +"mettions trop dans chaque partie, vous apprendrez plus lentement.\n" +"\n" +"Si à un moment donné vous vous retrouvez avec des questions brûlantes, vous " +"êtes plus que bienvenu(e) pour rejoindre [url=https://discord.gg/87NNb3Z]" +"notre communauté Discord[/url]." + +#: course/lesson-1-what-code-is-like/lesson.tres:310 +msgid "Programming is a skill" +msgstr "La programmation est une compétence" + +#: course/lesson-1-what-code-is-like/lesson.tres:312 +msgid "" +"Programming is a skill, so to get good at it, you must practice. It is why " +"we built this app.\n" +"\n" +"Each lesson is followed by an interactive practice to use what you learned.\n" +"\n" +"Speaking of which, it's time to look at the practice screen!\n" +"\n" +"To continue, click the [i]Practice[/i] button below. It will give you a " +"short run through how practices work." +msgstr "" +"La programmation est une compétence, donc pour la maîtriser, vous devez vous " +"entraîner. C'est pourquoi nous avons créé cette application.\n" +"\n" +"Chaque leçon est suivie d'une pratique interactive pour utiliser ce que vous " +"avez appris.\n" +"\n" +"À propos de cela, il est temps de regarder l'écran des pratiques !\n" +"\n" +"Pour continuer, cliquez sur le bouton [i]Pratique[/i] ci-dessous. Il vous " +"donnera un bref aperçu du fonctionnement des pratiques." + +#: course/lesson-1-what-code-is-like/lesson.tres:326 +msgid "Try Your First Code" +msgstr "Essayez votre premier code" + +#: course/lesson-1-what-code-is-like/lesson.tres:327 +msgid "" +"We prepared a code sample for you. For this practice, you don't need to " +"change anything.\n" +"\n" +"To test the code, click the [i]Run[/i] button below the code editor." +msgstr "" +"Nous avons préparé un exemple de code pour vous. Pour cette pratique, vous " +"n'avez rien à changer.\n" +"\n" +"Pour tester le code, clique sur le bouton [i]Exécuter[/i] sous l'éditeur de " +"code." + +#: course/lesson-1-what-code-is-like/lesson.tres:339 +msgid "Run your first bit of code and see the result." +msgstr "Exécutez votre premier morceau de code et voyez le résultat." + +# Ce qu'est le code +#: course/lesson-1-what-code-is-like/lesson.tres:343 +msgid "What Code is Like" +msgstr "À quoi ressemble le code" diff --git a/i18n/fr/lesson-10-the-game-loop.po b/i18n/fr/lesson-10-the-game-loop.po new file mode 100644 index 00000000..19998e8f --- /dev/null +++ b/i18n/fr/lesson-10-the-game-loop.po @@ -0,0 +1,267 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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" + +# ajouter du code? +#: course/lesson-10-the-game-loop/lesson.tres:14 +msgid "" +"As we've seen, Godot has functions that do certain actions. For example, the " +"[code]show()[/code] and [code]hide()[/code] functions change the visibility " +"of things.\n" +"\n" +"We can also create our own functions to make custom effects like adding or " +"removing health to a character.\n" +"\n" +"Godot also has special functions we can customize or add to.\n" +"\n" +"Take the [code]_process()[/code] function." +msgstr "" +"Comme nous l'avons vu, Godot a des fonctions qui effectuent certaines " +"actions. Par exemple, les fonctions [code]show()[/code] et " +"[code]hide()[/code] changent la visibilité des choses.\n" +"\n" +"Nous pouvons également créer nos propres fonctions pour réaliser des effets " +"personnalisés, comme ajouter ou retirer de la santé à un personnage.\n" +"\n" +"Godot a également des fonctions spéciales que nous pouvons personnaliser ou " +"auxquelles nous pouvons ajouter du code.\n" +"\n" +"Par exemple, prenons la fonction [code]_process()[/code]." + +#: course/lesson-10-the-game-loop/lesson.tres:40 +msgid "" +"The [code]_process()[/code] function gets its name because it does " +"calculations or continuous actions.\n" +"\n" +"It's like a juice factory that [b]processes[/b] juice bottles: the bottles " +"are always moving along a conveyor belt, while different machines operate on " +"them." +msgstr "" +"La fonction [code]_process()[/code] doit son nom au fait qu'elle effectue " +"des calculs ou des actions continues.\n" +"\n" +"C'est comme une usine de jus de fruits qui traite ([b]« process »[/b] en " +"anglais) des bouteilles de jus : les bouteilles se déplacent toujours le " +"long d'un tapis roulant, tandis que différentes machines opèrent sur elles." + +#: course/lesson-10-the-game-loop/lesson.tres:52 +msgid "" +"It's similar in Godot, but this function can run [b]hundreds of times a " +"second[/b]." +msgstr "" +"C'est similaire dans Godot, mais cette fonction peut s'exécuter [b]des " +"centaines de fois par seconde[/b]." + +#: course/lesson-10-the-game-loop/lesson.tres:60 +msgid "How many parameters does this function take?" +msgstr "Combien de paramètres prend cette fonction ?" + +#: course/lesson-10-the-game-loop/lesson.tres:61 +msgid "" +"[code]\n" +"func _process(delta):\n" +"[/code]" +msgstr "" +"[code]\n" +"func _process(delta):\n" +"[/code]" + +#: course/lesson-10-the-game-loop/lesson.tres:65 +msgid "" +"The [code]_process()[/code] function takes one parameter: [code]delta[/" +"code].\n" +"\n" +"We'll look at what [code]delta[/code] is in the next lesson, as well as show " +"how to use it." +msgstr "" +"La fonction [code]_process()[/code] prend un paramètre : [code]delta[/" +"code].\n" +"\n" +"Nous verrons ce qu'est [code]delta[/code] dans la prochaine leçon et " +"montrerons comment l'utiliser." + +#: course/lesson-10-the-game-loop/lesson.tres:68 +#: course/lesson-10-the-game-loop/lesson.tres:69 +msgid "1" +msgstr "1" + +#: course/lesson-10-the-game-loop/lesson.tres:68 +msgid "2" +msgstr "2" + +#: course/lesson-10-the-game-loop/lesson.tres:78 +msgid "" +"The [code]_process()[/code] function won't do anything until we add " +"something to it.\n" +"\n" +"You might notice the underscore [code]_[/code] in front of the function " +"name. This is a convention programmers use to coordinate work, and it'll " +"only make sense once you have experience coding in Godot.\n" +"\n" +"For now, all you need to know is that if the function exists in your code, " +"and it is called precisely [code]_process[/code], then Godot will " +"automatically run it every [i]frame[/i].\n" +"\n" +"When Godot draws on the screen, we call that a frame." +msgstr "" +"La fonction [code]_process()[/code] ne fera rien tant que nous ne lui " +"ajouterons pas quelque chose.\n" +"\n" +"Vous remarquerez peut-être le tiret bas [code]_[/code] devant le nom de la " +"fonction. Il s'agit d'une convention que les programmeurs utilisent pour " +"coordonner leur travail et qui n'aura de sens qu'une fois que vous aurez " +"acquis de l'expérience en matière de codage dans Godot.\n" +"\n" +"Pour l'instant, tout ce que vous devez savoir, c'est que si la fonction " +"existe dans votre code, et qu'elle est appelée précisément " +"[code]_process[/code], alors Godot l'exécutera automatiquement à chaque " +"[i]frame[/i] (image).\n" +"\n" +"Lorsque Godot dessine sur l'écran, nous appelons cela une image." + +#: course/lesson-10-the-game-loop/lesson.tres:92 +msgid "Is this the same for other engines?" +msgstr "Est-ce la même chose pour les autres moteurs ?" + +#: course/lesson-10-the-game-loop/lesson.tres:94 +msgid "" +"Other game engines might use different names like [code]_update()[/code]." +msgstr "" +"D'autres moteurs de jeu peuvent utiliser des noms différents comme " +"[code]_update()[/code]." + +#: course/lesson-10-the-game-loop/lesson.tres:102 +msgid "Why is the _process() function useful?" +msgstr "Pourquoi la fonction _process() est-elle utile ?" + +#: course/lesson-10-the-game-loop/lesson.tres:104 +msgid "" +"It's perhaps better to see the [code]_process()[/code] function in action.\n" +"\n" +"Take the following example." +msgstr "" +"Il est peut-être préférable de voir la fonction [code]_process()[/code] en " +"action.\n" +"\n" +"Prenons l'exemple suivant." + +# processing +#: course/lesson-10-the-game-loop/lesson.tres:126 +msgid "" +"When you click the button [code]set_process(true)[/code], you activate " +"processing on the robot.\n" +"\n" +"From there, every frame, Godot runs the [code]_process()[/code] function.\n" +"\n" +"Since we wrote a [code]rotate()[/code] instruction, Godot is rotating the " +"character by [code]0.05[/code] radians [b]many[/b] times a second." +msgstr "" +"Lorsque vous cliquez sur le bouton [code]set_process(true)[/code], vous " +"activez le traitement sur le robot.\n" +"\n" +"À partir de là, à chaque image, Godot exécute la fonction " +"[code]_process()[/code].\n" +"\n" +"Comme nous avons écrit une instruction [code]rotate()[/code], Godot fait " +"tourner le personnage de [code]0.05[/code] radians [b]plusieurs[/b] fois par " +"seconde." + +#: course/lesson-10-the-game-loop/lesson.tres:138 +msgid "How often does the _process() function run?" +msgstr "À quelle fréquence la fonction _process() est-elle exécutée ?" + +#: course/lesson-10-the-game-loop/lesson.tres:141 +msgid "" +"The faster your computer, the more times [code]_process()[/code] will run.\n" +"\n" +"Godot will try and run [code]_process()[/code] as quickly as it can. This " +"makes sure any movement or animations look smooth and fluid." +msgstr "" +"Plus votre ordinateur est rapide, plus le nombre d'exécutions de " +"[code]_process()[/code] sera élevé.\n" +"\n" +"Godot essaiera d'exécuter [code]_process()[/code] aussi rapidement que " +"possible. Cela permet de s'assurer que les mouvements ou les animations " +"auront un aspect doux et fluide." + +#: course/lesson-10-the-game-loop/lesson.tres:144 +msgid "Once a second." +msgstr "Une fois par seconde." + +#: course/lesson-10-the-game-loop/lesson.tres:144 +#: course/lesson-10-the-game-loop/lesson.tres:145 +msgid "Multiple times a second." +msgstr "Plusieurs fois par seconde." + +#: course/lesson-10-the-game-loop/lesson.tres:154 +msgid "" +"In the practice, you'll learn how to use the process function to rotate and " +"move a character yourself." +msgstr "" +"Dans la pratique, vous apprendrez à utiliser la fonction [code]_process()[/" +"code] pour faire pivoter et déplacer un personnage." + +#: course/lesson-10-the-game-loop/lesson.tres:162 +msgid "Rotating a Character Continuously" +msgstr "Faire pivoter un personnage en continu" + +#: course/lesson-10-the-game-loop/lesson.tres:163 +msgid "" +"Make the robot rotate slowly by adding to the [code]_process()[/code] " +"function.\n" +"\n" +"A rotation speed of about [code]0.05[/code] each frame should do." +msgstr "" +"Faites tourner le robot lentement en ajoutant du code à la fonction " +"[code]_process()[/code].\n" +"\n" +"Une vitesse de rotation d'environ [code]0.05[/code] par image devrait " +"suffire." + +#: course/lesson-10-the-game-loop/lesson.tres:180 +msgid "Creating Circular Movement" +msgstr "Créer un mouvement circulaire" + +# Faites bouger le robot lentement dans un grand cercle en le faisant tourner et en le déplaçant simultanément le long de sa direction x. +#: course/lesson-10-the-game-loop/lesson.tres:181 +msgid "" +"Make the robot move in a large circle slowly by rotating it and " +"simultaneously moving it along its x direction.\n" +"\n" +"To do this, add the [code]rotate()[/code] and [code]move_local_x()[/code] " +"functions to [code]_process()[/code].\n" +"\n" +"Use a rotation speed of [code]0.05[/code] radians per frame, and move the " +"robot [code]5[/code] pixels per frame." +msgstr "" +"Faites en sorte que le robot se déplace lentement dans un grand cercle en le " +"faisant tourner et en le déplaçant simultanément dans sa direction x.\n" +"\n" +"Pour ce faire, ajoutez les fonctions [code]rotate()[/code] et " +"[code]move_local_x()[/code] à [code]_process()[/code].\n" +"\n" +"Utilisez une vitesse de rotation de [code]0.05[/code] radians par image et " +"déplacez le robot de [code]5[/code] pixels par image." + +#: course/lesson-10-the-game-loop/lesson.tres:199 +msgid "The Game Loop" +msgstr "La boucle du jeu" diff --git a/i18n/fr/lesson-11-time-delta.po b/i18n/fr/lesson-11-time-delta.po new file mode 100644 index 00000000..d24ee93e --- /dev/null +++ b/i18n/fr/lesson-11-time-delta.po @@ -0,0 +1,452 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-11-time-delta/lesson.tres:14 +msgid "" +"We've seen how we can use our character's [code]_process()[/code] function " +"to make it move continuously." +msgstr "" +"Nous avons vu comment nous pouvons utiliser la fonction [code]_process()[/" +"code] de notre personnage pour le faire bouger de façon continue." + +# Mais ce n'est pas seulement notre personnage qui a une fonction [code]_process()[/code] +#: course/lesson-11-time-delta/lesson.tres:34 +msgid "" +"But it's not just our character that has a [code]_process()[/code] function; " +"Almost everything in the game has a [code]_process()[/code] function!\n" +"\n" +"Dozens of times per second, Godot runs every [code]_process()[/code] " +"function in the game to update the game world.\n" +"\n" +"After that, it displays an image of the game world on the screen. We call " +"that image a [b]frame[/b].\n" +"\n" +"Godot then moves on to calculating the next frame.\n" +"\n" +"As this happens dozens of times per second, you get the illusion of " +"movement. This is similar to how traditional animation works." +msgstr "" +"Mais il n'y a pas que notre personnage qui a une fonction [code]_process()[/" +"code] ; presque tout dans le jeu a une fonction [code]_process()[/code] !\n" +"\n" +"Des dizaines de fois par seconde, Godot exécute chaque fonction " +"[code]_process()[/code] dans le jeu pour mettre à jour le monde du jeu.\n" +"\n" +"Ensuite, il affiche une image du monde du jeu à l'écran. Nous appelons cette " +"image un [b]« frame »[/b].\n" +"\n" +"Godot passe ensuite au calcul de l'image suivante.\n" +"\n" +"Comme cela se produit des dizaines de fois par seconde, on obtient " +"l'illusion du mouvement. Ceci est similaire au fonctionnement de l'animation " +"traditionnelle." + +#: course/lesson-11-time-delta/lesson.tres:50 +msgid "This sounds like Frames Per Second..." +msgstr "Ça ressemble à des images par seconde..." + +#: course/lesson-11-time-delta/lesson.tres:52 +msgid "" +"You may have heard of frames per second, or FPS for short. Games often run " +"at 60 frames per second. \n" +"\n" +"It means that everything in the game updates 60 times each second.\n" +"\n" +"The number varies while playing, depending on the game and the device it " +"runs on.\n" +"\n" +"On powerful computers, you may get frame rates in the hundreds or thousands " +"of frames per second." +msgstr "" +"Vous avez peut-être entendu parler d'images par seconde, ou IPS en abrégé. " +"Les jeux tournent souvent à 60 images par seconde.\n" +"\n" +"Cela signifie que tout dans le jeu est mis à jour 60 fois par seconde.\n" +"\n" +"Ce nombre varie pendant que l'on joue, en fonction du jeu et de l'appareil " +"sur lequel il s'exécute.\n" +"\n" +"Sur des ordinateurs puissants, on peut obtenir des fréquences d'images de " +"plusieurs centaines ou milliers d'images par seconde." + +#: course/lesson-11-time-delta/lesson.tres:68 +msgid "Let's look at the [code]_process()[/code] function in more detail." +msgstr "Regardons la fonction [code]_process()[/code] plus en détail." + +#: course/lesson-11-time-delta/lesson.tres:76 +msgid "What parameter does the _process() function take?" +msgstr "Quel paramètre la fonction _process() prend-elle ?" + +#: course/lesson-11-time-delta/lesson.tres:77 +msgid "" +"[code]\n" +"func _process(delta):\n" +"\trotate(0.05)\n" +"[/code]" +msgstr "" +"[code]\n" +"func _process(delta):\n" +"\trotate(0.05)\n" +"[/code]" + +#: course/lesson-11-time-delta/lesson.tres:82 +msgid "" +"The [code]_process()[/code] function has one parameter named [code]delta[/" +"code]." +msgstr "" +"La fonction [code]_process()[/code] a un paramètre nommé [code]delta[/code]." + +#: course/lesson-11-time-delta/lesson.tres:83 +msgid "rotate" +msgstr "rotate" + +#: course/lesson-11-time-delta/lesson.tres:83 +msgid "0.05" +msgstr "0.05" + +#: course/lesson-11-time-delta/lesson.tres:83 +#: course/lesson-11-time-delta/lesson.tres:84 +msgid "delta" +msgstr "delta" + +#: course/lesson-11-time-delta/lesson.tres:91 +msgid "Frames take varying amounts of time to calculate" +msgstr "" +"Les images prennent des quantités variables de temps pour être calculées" + +#: course/lesson-11-time-delta/lesson.tres:93 +msgid "" +"Depending on the game, the computer, and what the game engine needs to " +"calculate, frames take more or less time to display.\n" +"\n" +"There will always be milliseconds variations from frame to frame.\n" +"\n" +"That is why the [code]_process()[/code] function receives a [code]delta[/" +"code] parameter.\n" +"\n" +"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" +"This is because different computers run differently, so a fast computer will " +"have more frames per second than a slow computer.\n" +"\n" +"If we ignore [code]delta[/code], the game experience will vary, depending on " +"the computer. Delta helps to make the game experience consistent for " +"everyone." +msgstr "" +"Selon le jeu, l'ordinateur et ce que le moteur de jeu doit calculer, les " +"images prennent plus ou moins de temps à s'afficher.\n" +"\n" +"Il y aura toujours des variations de quelques millisecondes d'une image à " +"l'autre.\n" +"\n" +"C'est pourquoi la fonction [code]_process()[/code] reçoit un paramètre " +"[code]delta[/code].\n" +"\n" +"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" +"En effet, les ordinateurs fonctionnent différemment, de sorte qu'un " +"ordinateur rapide aura plus d'images par seconde qu'un ordinateur lent.\n" +"\n" +"Si nous ignorons [code]delta[/code], l'expérience de jeu variera en fonction " +"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 +msgid "What do we know about delta?" +msgstr "Que savons-nous de delta ?" + +#: course/lesson-11-time-delta/lesson.tres:118 +msgid "" +"[code]delta[/code] is the time it took Godot to complete the previous frame " +"in seconds.\n" +"\n" +"It's very small because frames happen many times a second.\n" +"\n" +"It varies each frame because Godot needs to process more or less each frame." +msgstr "" +"[code]delta[/code] est le temps qu'il faut à Godot pour terminer l'image " +"précédente en secondes.\n" +"\n" +"Il très petit car les images se produisent plusieurs fois par seconde.\n" +"\n" +"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 +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 +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 +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 +msgid "Multiplying by delta" +msgstr "Multiplication par delta" + +#: course/lesson-11-time-delta/lesson.tres:133 +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" +"\n" +"To apply [code]delta[/code], you need to [i]multiply[/i] your speed values " +"by it." +msgstr "" +"Le [code]delta[/code] que vous obtenez dans [code]_process()[/code] est une " +"différence de temps en secondes. Ce sera généralement un petit nombre " +"décimal.\n" +"\n" +"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 +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 "" +"En multipliant par [code]delta[/code], vous rendez le mouvement [i]dépendant " +"du temps[/i] plutôt que [i]dépendant de l'image[/i].\n" +"\n" +"C'est essentiel pour rendre votre jeu cohérent et équitable." + +#: course/lesson-11-time-delta/lesson.tres:165 +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 +msgid "" +"At the top of the lesson, we made the robot rotate a fixed amount every " +"frame: [code]0.05[/code] radians.\n" +"\n" +"In the example above, we now [i]multiply[/i] the argument by the very small " +"[code]delta[/code] value, a value way below [code]1.0[/code]. It makes the " +"robot turn at a constant speed over time.\n" +"\n" +"However, multiplying by a number below [code]1.0[/code] like [code]delta[/" +"code] makes the result smaller.\n" +"\n" +"To compensate for that and make the robot turn fast enough, we use a larger " +"number than before, [code]3.0[/code] instead of [code]0.05[/code].\n" +"\n" +"Those numbers have two different [i]units[/i]: [code]0.05[/code] is an " +"[i]angle[/i] in radians, while [code]3.0[/code] is an [i]angular speed[/i] " +"in radians per second.\n" +"\n" +"When you multiply a speed by a time delta, it gives you an angle.\n" +"\n" +"Don't worry if it's a little confusing for now. It'll eventually click as " +"you deal with speed, acceleration, and motion in your game projects." +msgstr "" +"Au début de la leçon, nous avons fait tourner le robot d'une quantité fixe à " +"chaque image : [code]0.05[/code] radians.\n" +"\n" +"Dans l'exemple ci-dessus, nous [i]multiplions[/i] maintenant l'argument par " +"la très petite valeur de [code]delta[/code], une valeur bien inférieure à " +"[code]1.0[/code]. Cela fait tourner le robot à une vitesse constante dans le " +"temps.\n" +"\n" +"Cependant, la multiplication par un nombre inférieur à [code]1.0[/code] " +"comme [code]delta[/code] rend le résultat plus petit.\n" +"\n" +"Pour compenser cela et faire en sorte que le robot tourne suffisamment vite, " +"nous utilisons un nombre plus grand qu'auparavant, [code]3.0[/code] au lieu " +"de [code]0.05[/code].\n" +"\n" +"Ces nombres ont deux [i]unités[/i] différentes : [code]0.05[/code] est un " +"[i]angle[/i] en radians, tandis que [code]3.0[/code] est une [i]vitesse " +"angulaire[/i] en radians par seconde.\n" +"\n" +"Lorsque vous multipliez une vitesse par un delta de temps, cela vous donne " +"un angle.\n" +"\n" +"Ne vous inquiétez pas si c'est un peu déroutant pour l'instant. Vous finirez " +"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 +msgid "Why the time between frames matters" +msgstr "Pourquoi le temps entre les images est important" + +#: course/lesson-11-time-delta/lesson.tres:189 +msgid "" +"The time it takes to display a new frame varies.\n" +"\n" +"If you don't take that time into account in your code, your game will have " +"gameplay issues and bugs. Godot provides that time to the [code]_process()[/" +"code] function through the [code]delta[/code] parameter.\n" +"\n" +"In the example below, the top robot moves using [code]delta[/code]. As a " +"result, it moves at a fixed speed.\n" +"\n" +"The bottom robot moves over a constant distance every frame, [i]without[/i] " +"taking [code]delta[/code] into account. It will move faster or slower than " +"the top robot on [i]your[/i] computer.\n" +"\n" +"The bottom robot will move [i]differently for everyone[/i]!" +msgstr "" +"Le temps qu'il faut pour afficher une nouvelle image varie.\n" +"\n" +"Si vous ne tenez pas compte de ce temps dans votre code, votre jeu aura des " +"problèmes de gameplay et des bugs. Godot fournit ce temps à la fonction " +"[code]_process()[/code] via le paramètre [code]delta[/code].\n" +"\n" +"Dans l'exemple ci-dessous, le robot du haut se déplace en utilisant " +"[code]delta[/code]. En conséquence, il se déplace à une vitesse fixe.\n" +"\n" +"Le robot du bas se déplace sur une distance constante à chaque image, " +"[i]sans[/i] prendre en compte [code]delta[/code]. Il se déplacera plus vite " +"ou plus lentement que le robot du haut sur [i]votre[/i] ordinateur.\n" +"\n" +"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 +msgid "" +"Multiplying time-sensitive values by [code]delta[/code] makes them [b]time-" +"dependent[/b] rather than [b]frame-dependent[/b].\n" +"\n" +"Thanks to that, we get reliable movement over time.\n" +"\n" +"Without [code]delta[/code], frame times vary from computer to computer and " +"during gameplay. Because of that, the movement will differ for every player, " +"making the game inconsistent and messy." +msgstr "" +"Multiplier les valeurs sensibles au temps par [code]delta[/code] les rend " +"[b]dépendantes du temps[/b] plutôt que [b]dépendantes de l'image[/b].\n" +"\n" +"Grâce à cela, nous obtenons un mouvement fiable dans le temps.\n" +"\n" +"Sans [code]delta[/code], les temps d'image varient d'un ordinateur à l'autre " +"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 +msgid "What does this mean?" +msgstr "Qu’est-ce que cela signifie ?" + +#: course/lesson-11-time-delta/lesson.tres:230 +msgid "[code]rotation_speed * delta[/code]" +msgstr "[code]rotation_speed * delta[/code]" + +#: course/lesson-11-time-delta/lesson.tres:232 +msgid "" +"The [code]*[/code] symbol means we're multiplying [code]rotation_speed[/" +"code] by [code]delta[/code] time." +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 +msgid "We're multiplying rotation_speed by delta." +msgstr "Que nous multiplions rotation_speed par delta." + +#: course/lesson-11-time-delta/lesson.tres:233 +msgid "We're dividing delta by rotation_speed." +msgstr "Que nous divisons delta par rotation_speed." + +#: course/lesson-11-time-delta/lesson.tres:233 +msgid "We're adding rotation_speed to delta." +msgstr "Que nous ajoutons rotation_speed à delta." + +#: course/lesson-11-time-delta/lesson.tres:233 +msgid "We're subtracting delta from rotation_speed." +msgstr "Que nous soustrayons delta de rotation_speed." + +#: course/lesson-11-time-delta/lesson.tres:243 +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 +msgid "Rotating Using Delta" +msgstr "Rotation à l'aide de delta" + +#: course/lesson-11-time-delta/lesson.tres:252 +msgid "" +"At the moment, the rotation of the robot is frame-dependent.\n" +"\n" +"Add [code]delta[/code] to make the rotational speed time-dependent.\n" +"\n" +"The robot should rotate [code]2[/code] radians per second." +msgstr "" +"Pour le moment, la rotation du robot est dépendante de l'image.\n" +"\n" +"Ajoutez [code]delta[/code] pour rendre la vitesse de rotation dépendante du " +"temps.\n" +"\n" +"Le robot doit tourner de [code]2[/code] radians par seconde." + +#: course/lesson-11-time-delta/lesson.tres:271 +msgid "Moving in a Circle Using Delta" +msgstr "Se déplacer en cercle en utilisant delta" + +#: course/lesson-11-time-delta/lesson.tres:272 +msgid "" +"In this practice, make the robot move in a smooth circle using delta.\n" +"\n" +"To get this movement, the robot should rotate [code]2[/code] radians per " +"second and move [code]100[/code] pixels per second towards clockwise.\n" +"\n" +"[b]Note:[/b] Please write the values in the parentheses when calling the " +"functions. If you define extra variables, we will not be able to check your " +"practice." +msgstr "" +"Dans cet exercice, faites bouger le robot en un cercle de manière douce en " +"utilisant delta.\n" +"\n" +"Pour obtenir ce mouvement, le robot doit tourner de [code]2[/code] radians " +"par seconde et se déplacer de [code]100[/code] pixels par seconde dans le " +"sens des aiguilles d'une montre.\n" +"\n" +"[b]Note :[/b] Veuillez écrire les valeurs entre parenthèses lorsque vous " +"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 +msgid "Time Delta" +msgstr "Delta de Temps" diff --git a/i18n/fr/lesson-12-using-variables.po b/i18n/fr/lesson-12-using-variables.po new file mode 100644 index 00000000..557b3711 --- /dev/null +++ b/i18n/fr/lesson-12-using-variables.po @@ -0,0 +1,307 @@ +# 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: 2022-03-07 21:03+0100\n" +"PO-Revision-Date: 2023-06-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-12-using-variables/lesson.tres:14 +msgid "" +"In this lesson, we'll make our code easier to follow and understand at a " +"glance.\n" +"\n" +"Take a look at this example." +msgstr "" +"Dans cette leçon, nous allons rendre notre code plus facile à suivre et à " +"comprendre.\n" +"\n" +"Jetez un œil à cet exemple." + +#: course/lesson-12-using-variables/lesson.tres:34 +msgid "In the above example, what does the number 4 mean?" +msgstr "Dans l'exemple ci-dessus, que signifie le chiffre 4 ?" + +#: course/lesson-12-using-variables/lesson.tres:37 +msgid "The code above rotates the character [code]4[/code] radians per second." +msgstr "" +"Le code ci-dessus fait tourner le personnage de [code]4[/code] radians par " +"seconde." + +#: course/lesson-12-using-variables/lesson.tres:38 +#: course/lesson-12-using-variables/lesson.tres:39 +msgid "It's how fast the character rotates." +msgstr "C'est la vitesse à laquelle le personnage tourne." + +#: course/lesson-12-using-variables/lesson.tres:38 +msgid "It's how far the character moves in pixels." +msgstr "C'est la distance à laquelle le personnage se déplace en pixels." + +#: course/lesson-12-using-variables/lesson.tres:38 +msgid "It's how long the rotation takes." +msgstr "C'est le temps que prend la rotation." + +#: course/lesson-12-using-variables/lesson.tres:48 +msgid "" +"We can guess what a number represents by looking at the function names, but " +"it's harder to recall what this number does by quickly looking at the code.\n" +"\n" +"We've seen how different functions have their own names. Using these names " +"communicates to developers what the functions do." +msgstr "" +"Nous pouvons deviner ce que représente un nombre en regardant les noms des " +"fonctions, mais il est plus difficile de se rappeler ce que fait ce nombre " +"en regardant rapidement le code.\n" +"\n" +"Nous avons vu comment les différentes fonctions ont leurs propres noms. " +"L'utilisation de ces noms permet de communiquer aux développeurs ce que font " +"les fonctions." + +# étiquette +#: course/lesson-12-using-variables/lesson.tres:70 +msgid "" +"As we learned in lesson 8, we can also assign labels to numbers to help us " +"remember what they do.\n" +"\n" +"We call these labels [i]variables[/i].\n" +"\n" +"[b]A variable is a label for a value we can save, change, and read later.[/" +"b]\n" +"\n" +"Let's recap how to define a variable." +msgstr "" +"Comme nous l'avons appris dans la leçon 8, nous pouvons également assigner " +"des étiquettes aux nombres pour nous aider à nous souvenir de ce qu'ils font." +"\n" +"\n" +"Nous appelons ces étiquettes [i]variables[/i].\n" +"\n" +"[b]Une variable est une étiquette pour une valeur que nous pouvons " +"enregistrer, modifier et lire plus tard.[/b]\n" +"\n" +"Récapitulons comment définir une variable." + +#: course/lesson-12-using-variables/lesson.tres:96 +msgid "" +"We improve the first example to make it clear what the number [code]4[/code] " +"does." +msgstr "" +"Nous améliorons le premier exemple pour clarifier ce que fait le nombre " +"[code]4[/code]." + +#: course/lesson-12-using-variables/lesson.tres:116 +msgid "" +"Labeling a value makes the code easier for us to read now [i]and[/i] in the " +"future." +msgstr "" +"Nommer une valeur rend le code plus facile à lire maintenant [i]et[/i] à " +"l'avenir." + +#: course/lesson-12-using-variables/lesson.tres:124 +msgid "In the above example, which line defines the angular speed variable?" +msgstr "" +"Dans l'exemple ci-dessus, quelle ligne définit la variable de vitesse " +"angulaire ?" + +#: course/lesson-12-using-variables/lesson.tres:127 +msgid "" +"We create the [code]angular_speed[/code] variable, then assign it the value " +"of [code]4[/code]." +msgstr "" +"Nous créons la variable [code]angular_speed[/code], puis nous lui attribuons " +"la valeur [code]4[/code]." + +#: course/lesson-12-using-variables/lesson.tres:128 +#: course/lesson-12-using-variables/lesson.tres:129 +msgid "var angular_speed = 4" +msgstr "var angular_speed = 4" + +#: course/lesson-12-using-variables/lesson.tres:128 +msgid "func _process(delta):" +msgstr "func _process(delta):" + +#: course/lesson-12-using-variables/lesson.tres:128 +msgid "rotate(angular_speed * delta)" +msgstr "rotate(angular_speed * delta)" + +#: course/lesson-12-using-variables/lesson.tres:138 +msgid "" +"If we define variables outside of functions, we can re-use them in different " +"functions.\n" +"\n" +"Because any function can use variables we define outside of them, we call " +"these variables [b]script-wide[/b].\n" +"\n" +"Here we use the [code]angular_speed[/code] script-wide variable in both the " +"[code]_process()[/code] function and the [code]set_angular_speed()[/code] " +"function." +msgstr "" +"Si nous définissons des variables en dehors des fonctions, nous pouvons les " +"réutiliser dans différentes fonctions.\n" +"\n" +"Comme toute fonction peut utiliser les variables que nous définissons en " +"dehors des fonctions, nous appelons ces variables [b]script-wide[/b] (c'est-" +"à-dire valables pour tout le script).\n" +"\n" +"Ici, nous utilisons la variable script-wide [code]angular_speed[/code] dans " +"la fonction [code]_process()[/code] et la fonction [code]set_angular_speed()" +"[/code]." + +#: course/lesson-12-using-variables/lesson.tres:162 +msgid "" +"We can also define variables inside of functions.\n" +"\n" +"We align the variable assignment by indenting to make it part of the " +"function body. Make sure to create the variable before using it!\n" +"\n" +"If we define a variable inside of a function, only that function can use it." +msgstr "" +"Nous pouvons également définir des variables à l'intérieur des fonctions.\n" +"\n" +"Nous alignons l'assignation de la variable en utilisant une indentation pour " +"qu'elle fasse partie du corps de la fonction. Assurez-vous de créer la " +"variable avant de l'utiliser !\n" +"\n" +"Si nous définissons une variable à l'intérieur d'une fonction, seule cette " +"fonction peut l'utiliser." + +#: course/lesson-12-using-variables/lesson.tres:186 +msgid "" +"The [code]angular_speed[/code] variable only exists inside [code]_process()[/" +"code], because we defined it there. The [code]set_angular_speed()[/code] " +"function can't use it.\n" +"\n" +"Trying to use it there will result in an error.\n" +"\n" +"Here's what this error might look like." +msgstr "" +"La variable [code]angular_speed[/code] n'existe que dans [code]_process()[/" +"code], car nous l'avons définie là. La fonction [code]set_angular_speed()[/" +"code] ne peut pas l'utiliser.\n" +"\n" +"Essayer de l'utiliser dans cette fonction entraînera une erreur.\n" +"\n" +"Voici à quoi cette erreur pourrait ressembler." + +#: course/lesson-12-using-variables/lesson.tres:208 +msgid "Where can we define variables?" +msgstr "Où pouvons-nous définir les variables ?" + +#: course/lesson-12-using-variables/lesson.tres:211 +msgid "" +"Functions can use any variables defined outside of functions. These " +"variables are [b]script-wide[/b].\n" +"\n" +"If we define a variable inside of a function, only that function can use it." +msgstr "" +"Les fonctions peuvent utiliser n'importe quelle variable définie en dehors " +"des fonctions. Ces variables sont [b]script-wide[/b].\n" +"\n" +"Si nous définissons une variable à l'intérieur d'une fonction, seule cette " +"fonction peut l'utiliser." + +#: course/lesson-12-using-variables/lesson.tres:214 +#: course/lesson-12-using-variables/lesson.tres:215 +msgid "Outside of functions." +msgstr "En dehors des fonctions." + +#: course/lesson-12-using-variables/lesson.tres:214 +#: course/lesson-12-using-variables/lesson.tres:215 +msgid "Inside of functions." +msgstr "A l'intérieur des fonctions." + +#: course/lesson-12-using-variables/lesson.tres:224 +msgid "" +"Variables are also great at grouping values that control how a character " +"behaves.\n" +"\n" +"Grouping them in this way allows us to easily change them." +msgstr "" +"Les variables sont également très utiles pour regrouper des valeurs qui " +"contrôlent le comportement d'un personnage.\n" +"\n" +"Les regrouper de cette manière nous permet de les changer facilement." + +#: course/lesson-12-using-variables/lesson.tres:246 +msgid "" +"In the following practices, we'll define variables and use them with some " +"familiar functions to make our code more readable." +msgstr "" +"Dans les exercices suivants, nous allons définir des variables et nous " +"allons les utiliser avec certaines fonctions que nous connaissons pour " +"rendre notre code plus lisible." + +#: course/lesson-12-using-variables/lesson.tres:254 +msgid "Clarifying Code Using Variables" +msgstr "Clarifier le code en utilisant des variables" + +# étiquette +#: course/lesson-12-using-variables/lesson.tres:255 +msgid "" +"Let's give the [code]4[/code] here a label so we know what it does.\n" +"\n" +"Create a variable called [code]angular_speed[/code] outside of the " +"[code]_process()[/code] function to make it script-wide. This allows us to " +"use it in other functions too.\n" +"\n" +"Then, replace the [code]4[/code] with [code]angular_speed[/code]." +msgstr "" +"Donnons une étiquette au [code]4[/code] ici afin que nous sachions ce qu'il " +"fait.\n" +"\n" +"Créez une variable appelée [code]angular_speed[/code] en dehors de la " +"fonction [code]_process()[/code] pour qu'elle s'applique à l'ensemble du " +"script. Cela nous permet de l'utiliser dans d'autres fonctions également.\n" +"\n" +"Ensuite, remplacez le [code]4[/code] par [code]angular_speed[/code]." + +#: course/lesson-12-using-variables/lesson.tres:269 +msgid "" +"Using variables to store number values makes code easier to read. Tidy up " +"this function by storing a value in a variable." +msgstr "" +"Utiliser des variables pour stocker des valeurs numériques rend le code plus " +"facile à lire. Mettez de l'ordre dans cette fonction en stockant une valeur " +"dans une variable." + +#: course/lesson-12-using-variables/lesson.tres:274 +msgid "Fixing an Out of Scope Error" +msgstr "Corriger une erreur \"Out of Scope\" (hors champ d'application)" + +#: course/lesson-12-using-variables/lesson.tres:275 +msgid "" +"There's something wrong with the code here. Can you see what it is?\n" +"\n" +"Run the code and read the error.\n" +"\n" +"Correct the code so it works as intended." +msgstr "" +"Il y a un problème avec le code ici. Pouvez-vous voir ce que c'est ?\n" +"\n" +"Exécutez le code et lisez l'erreur.\n" +"\n" +"Corrigez le code pour qu'il fonctionne comme prévu." + +#: course/lesson-12-using-variables/lesson.tres:293 +msgid "Uh oh! There's something wrong here. Can you fix it?" +msgstr "" +"Oh oh ! Il y a quelque chose qui ne va pas ici. Pouvez-vous le réparer ?" + +#: course/lesson-12-using-variables/lesson.tres:297 +msgid "Using Variables to Make Code Easier to Read" +msgstr "Utiliser des variables pour rendre le code plus facile à lire" diff --git a/i18n/fr/lesson-13-conditions.po b/i18n/fr/lesson-13-conditions.po new file mode 100644 index 00000000..a61b0220 --- /dev/null +++ b/i18n/fr/lesson-13-conditions.po @@ -0,0 +1,444 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-13-conditions/lesson.tres:14 +msgid "" +"In previous lessons, we decreased and increased a character's health, but " +"there was no limit to how much health they could have." +msgstr "" +"Dans les leçons précédentes, nous avons diminué et augmenté la santé d'un " +"personnage, mais il n'y avait pas de limite à la quantité de santé qu'il " +"pouvait avoir." + +#: course/lesson-13-conditions/lesson.tres:34 +msgid "" +"As a result, the player could increase their character's health " +"indefinitely, which we do not want." +msgstr "" +"En conséquence, le joueur pouvait augmenter indéfiniment la santé de son " +"personnage, ce que nous ne voulons pas." + +#: course/lesson-13-conditions/lesson.tres:52 +msgid "What happens to health when we damage our character?" +msgstr "Qu'arrive-t-il à la santé lorsque nous endommageons notre personnage ?" + +#: course/lesson-13-conditions/lesson.tres:53 +msgid "" +"Suppose our character has [code]100[/code] health.\n" +"\n" +"What would the value of health be if we called [code]take_damage(25)[/code] " +"[b]five times[/b]?" +msgstr "" +"Supposons que notre personnage ait [code]100[/code] de santé.\n" +"\n" +"Quelle serait la valeur de la santé si nous appelions [code]take_damage(25)[/" +"code] [b]cinq fois[/b] ?" + +#: course/lesson-13-conditions/lesson.tres:57 +msgid "" +"Calling [code]take_damage(25)[/code] five times would subtract a total of " +"[code]125[/code] from [code]100[/code].\n" +"\n" +"100\n" +"75\n" +"50\n" +"25\n" +"0\n" +"-25" +msgstr "" +"Appeler [code]take_damage(25)[/code] cinq fois soustrairait un total de " +"[code]125[/code] de [code]100[/code].\n" +"\n" +"100\n" +"75\n" +"50\n" +"25\n" +"0\n" +"-25" + +#: course/lesson-13-conditions/lesson.tres:65 +#: course/lesson-13-conditions/lesson.tres:66 +msgid "-25" +msgstr "-25" + +#: course/lesson-13-conditions/lesson.tres:65 +msgid "25" +msgstr "25" + +#: course/lesson-13-conditions/lesson.tres:65 +msgid "0" +msgstr "0" + +#: course/lesson-13-conditions/lesson.tres:75 +msgid "" +"We can use conditions to run actions [b]selectively[/b].\n" +"\n" +"Conditions make your code branch into two paths: if the condition is met, " +"the computer will run the corresponding instructions. Otherwise, those " +"instructions will not run at all." +msgstr "" +"Nous pouvons utiliser des conditions pour exécuter des actions " +"[b]sélectivement[/b].\n" +"\n" +"Les conditions font que votre code se divise en deux branches : si la " +"condition est remplie, l'ordinateur exécutera les instructions " +"correspondantes. Sinon, ces instructions ne seront pas exécutées du tout." + +#: course/lesson-13-conditions/lesson.tres:87 +msgid "" +"Video games and other computer programs are full of conditions. For example, " +"game input largely relies on conditions: [i]if[/i] the player presses the " +"button on a gamepad, the character jumps." +msgstr "" +"Les jeux vidéo et autres programmes informatiques sont pleins de conditions. " +"Par exemple, la saisie dans les jeux reposent en grande partie sur des " +"conditions : [i]si[/i] le joueur appuie sur le bouton d'une manette, le " +"personnage saute." + +#: course/lesson-13-conditions/lesson.tres:107 +msgid "" +"When the computer checks a condition, this is called [b]to evaluate[/b] a " +"condition. All conditions [b]evaluate[/b] to either [code]true[/code] or " +"[code]false[/code].\n" +"\n" +"Either the player is pressing the button, or not. Either the character is " +"touching an enemy, or not.\n" +"\n" +"In our case, [i]if[/i] the health goes over a maximum value, we want to " +"reset it to the maximum.\n" +"\n" +"To define a condition, we use the [code]if[/code] keyword. We write a line " +"starting with [code]if[/code], [ignore]type the condition to evaluate, and " +"end the line with a colon." +msgstr "" +"Lorsque l'ordinateur vérifie une condition, on appelle cela [b]évaluer[/b] " +"une condition. Toutes les conditions [b]évaluent[/b] à [code]true[/code] (« " +"vrai ») ou à [code]false[/code] (« faux »).\n" +"\n" +"Soit le joueur appuie sur le bouton, soit il ne le fait pas. Soit le " +"personnage touche un ennemi, soit il ne le fait pas\n" +"\n" +"Dans notre cas, [i]si[/i] la santé dépasse une valeur maximale, nous voulons " +"la réinitialiser à cette valeur maximale.\n" +"\n" +"Pour définir une condition, nous utilisons le mot-clé [code]if[/code] (« si »" +" en anglais). Nous écrivons une ligne commençant par [code]if[/code], nous " +"écrivons la condition à évaluer et nous terminons la ligne par deux-points." + +#: course/lesson-13-conditions/lesson.tres:133 +msgid "" +"Notice the [code]>[/code] comparison sign. We read this symbol as \"greater " +"than\".\n" +"\n" +"We've seen how function definitions use a colon at the end of the first line " +"and nest content inside.\n" +"\n" +"In GDScript, this syntax is a recurring pattern for all code blocks.\n" +"\n" +"The computer knows which instructions belong to the condition because they " +"are indented." +msgstr "" +"Remarquez le signe de comparaison [code]>[/code]. Nous lisons ce symbole " +"comme « supérieur à ».\n" +"\n" +"Nous avons vu comment les définitions de fonction utilisent deux-points à la " +"fin de la première ligne et imbriquent le contenu à l'intérieur.\n" +"\n" +"Dans GDScript, cette syntaxe est un modèle récurrent pour tous les blocs de " +"code.\n" +"\n" +"L'ordinateur sait quelles instructions appartiennent à la condition car " +"elles sont en retrait." + +#: course/lesson-13-conditions/lesson.tres:157 +msgid "Comparisons" +msgstr "Comparaisons" + +#: course/lesson-13-conditions/lesson.tres:159 +msgid "" +"In the above example, we used the [code]>[/code] syntax to mean \"greater " +"than\".\n" +"\n" +"We can compare numbers in other ways too.\n" +"\n" +"[code]>[/code] means \"greater than\"\n" +"[code]<[/code] means \"less than\"\n" +"[code]==[/code] means \"equal to\"\n" +"[code]!=[/code] means \"not equal to\"\n" +"\n" +"Here's how we might use these in [code]if[/code] statements.\n" +msgstr "" +"Dans l'exemple ci-dessus, nous avons utilisé la syntaxe [code]>[/code] pour " +"signifier « supérieur à ».\n" +"\n" +"Nous pouvons aussi comparer les chiffres d'autres manières.\n" +"\n" +"[code]>[/code] signifie « supérieur à »\n" +"[code]<[/code] signifie « inférieur à »\n" +"[code]==[/code] signifie « égal à »\n" +"[code]!=[/code] signifie « n'est pas égal à »\n" +"\n" +"Voici comment nous pourrions les utiliser dans les affirmations [code]if[/" +"code].\n" + +#: course/lesson-13-conditions/lesson.tres:187 +msgid "What does \"pass\" do in the code?" +msgstr "Que fait « pass » dans le code ?" + +#: course/lesson-13-conditions/lesson.tres:189 +msgid "" +"The [code]pass[/code] keyword prevents errors in our code when a line cannot " +"be empty.\n" +"\n" +"For example, we must have a line of code after a function definition or an " +"[code]if[/code] block. When you don't know what to write yet, you can use " +"the [code]pass[/code] keyword as a placeholder, and Godot won't give any " +"errors.\n" +"\n" +"In the previous example, if there was nothing below the [code]if[/code] " +"lines, Godot would give us an \"Expected an indented block after 'if' \" " +"error." +msgstr "" +"Le mot-clé [code]pass[/code] permet d'éviter les erreurs dans notre code " +"lorsqu'une ligne ne peut pas être vide.\n" +"\n" +"Par exemple, nous devons avoir une ligne de code après une définition de " +"fonction ou un bloc [code]if[/code]. Lorsque vous ne savez pas encore quoi " +"écrire, vous pouvez utiliser le mot-clé [code]pass[/code] comme placeholder " +"(« bouche-trou »), et Godot ne fera pas d'erreur.\n" +"\n" +"Dans l'exemple précédent, s'il n'y avait rien en dessous des lignes " +"[code]if[/code], Godot nous donnerait une erreur \"Expected an indented " +"block after 'if'\", à savoir « Un bloc en retrait après 'if' était attendu »." + +#: course/lesson-13-conditions/lesson.tres:201 +msgid "Which of these statements are true?" +msgstr "Lesquelles de ces affirmations sont vraies ?" + +#: course/lesson-13-conditions/lesson.tres:204 +msgid "" +"The comparison [code]3 > 1[/code] means \"three is greater than one\" which " +"is [b]true[/b].\n" +"The comparison [code]2 < 3[/code] means \"two is less than three\" which is " +"[b]true[/b].\n" +"The comparison [code]1 != 3[/code] means \"one is not equal to three\" which " +"is [b]true[/b].\n" +"\n" +"The comparison [code]2 == 1[/code] means \"two is equal to one\" which is " +"[b]false[/b].\n" +"The comparison [code]3 < 1[/code] means \"three is less than one\" which is " +"[b]false[/b]." +msgstr "" +"La comparaison [code]3 > 1[/code] signifie « trois est supérieur à un », ce " +"qui est [b]vrai[/b].\n" +"La comparaison [code]2 < 3[/code] signifie « deux est inférieur à trois », " +"ce qui est [b]vrai[/b].\n" +"La comparaison [code]1 != 3[/code] signifie « un n'est pas égal à trois », " +"ce qui est [b]vrai[/b].\n" +"\n" +"La comparaison [code]2 == 1[/code] signifie « deux est égal à un », ce qui " +"est [b]faux[/b].\n" +"La comparaison [code]3 < 1[/code] signifie « trois est inférieur à un », ce " +"qui est [b]faux[/b]." + +#: course/lesson-13-conditions/lesson.tres:210 +#: course/lesson-13-conditions/lesson.tres:211 +msgid "3 > 1" +msgstr "3 > 1" + +#: course/lesson-13-conditions/lesson.tres:210 +msgid "2 == 1" +msgstr "2 == 1" + +#: course/lesson-13-conditions/lesson.tres:210 +#: course/lesson-13-conditions/lesson.tres:211 +msgid "2 < 3" +msgstr "2 < 3" + +#: course/lesson-13-conditions/lesson.tres:210 +#: course/lesson-13-conditions/lesson.tres:211 +msgid "1 != 3" +msgstr "1 != 3" + +#: course/lesson-13-conditions/lesson.tres:210 +msgid "3 < 1" +msgstr "3 < 1" + +#: course/lesson-13-conditions/lesson.tres:218 +msgid "Or else..." +msgstr "Ou sinon..." + +#: course/lesson-13-conditions/lesson.tres:220 +msgid "" +"The [code]if[/code] keyword comes with a complementary [code]else[/code] " +"keyword.\n" +"\n" +"You can write an [code]else[/code] block after an [code]if[/code] block, " +"like so." +msgstr "" +"Le mot-clé [code]if[/code] est accompagné d'un mot-clé complémentaire : " +"[code]else[/code], ce qui signifie « si non » .\n" +"\n" +"Vous pouvez écrire un bloc [code]else[/code] après un bloc [code]if[/code], " +"comme ceci." + +#: course/lesson-13-conditions/lesson.tres:242 +msgid "" +"The [code]else[/code] block will run whenever the condition above it isn't " +"met." +msgstr "" +"Le bloc [code]else[/code] s'exécutera chaque fois que la condition qui le " +"précède n'est pas remplie." + +#: course/lesson-13-conditions/lesson.tres:252 +msgid "" +"In the following practices, we'll use conditions and improve the way our " +"character's health changes so it has limits." +msgstr "" +"Dans la pratique suivante, nous utiliserons des conditions et améliorerons " +"la façon dont la santé de notre personnage change pour qu'elle ait des " +"limites." + +#: course/lesson-13-conditions/lesson.tres:260 +msgid "Using Comparisons" +msgstr "Utiliser des comparaisons" + +#: course/lesson-13-conditions/lesson.tres:261 +msgid "" +"This series of [code]if[/code] statements is all wrong. Change the " +"comparisons so each comparison matches the instruction below it.\n" +"\n" +"Keep the values and statements as they are; only change the comparison " +"signs.\n" +"\n" +"As a reminder, the comparison signs are:\n" +"[code]\n" +"> greater than\n" +"< less than\n" +"== equal to\n" +"!= not equal to\n" +"[/code]\n" +"\n" +"The line [code]health < 5:[/code] means \"health is less than 5\".\n" +"\n" +"Because [code]health = 100[/code], this is false so [code]print(\"health is " +"greater than five.\")[/code] won't run." +msgstr "" +"Cette série d'affirmations [code]if[/code] est entièrement fausse. Changez " +"les comparaisons pour que chaque comparaison corresponde à l'instruction qui " +"la suit.\n" +"\n" +"Conservez les valeurs et les affirmations telles qu'elles sont ; changez " +"seulement les signes de comparaison.\n" +"\n" +"Pour rappel, les signes de comparaison sont :\n" +"[code]\n" +"> supérieur à\n" +"< inférieur à\n" +"== égal à\n" +"!= pas égal à\n" +"[code]\n" +"\n" +"La ligne [code]health < 5 :[/code] signifie « la santé est inférieure à 5 »." +"\n" +"\n" +"Comme [code]health = 100[/code], cette ligne est fausse et [code]print(" +"\"health is greater than five.\")[/code] ne s'exécutera pas." + +#: course/lesson-13-conditions/lesson.tres:297 +msgid "" +"Comparing values allows us to make decisions in code. But there's something " +"wrong with these statements.." +msgstr "" +"La comparaison des valeurs nous permet de prendre des décisions dans le " +"code. Mais il y a un problème avec ces affirmations..." + +#: course/lesson-13-conditions/lesson.tres:302 +msgid "Limiting Healing" +msgstr "Limiter la guérison" + +#: course/lesson-13-conditions/lesson.tres:303 +msgid "" +"We have a heal function that adds an amount to the character's health.\n" +"\n" +"Add to the function so the character's health is never greater than " +"[code]80[/code]." +msgstr "" +"Nous avons une fonction de guérison qui ajoute un montant à la santé du " +"personnage.\n" +"\n" +"Ajoutez du code à la fonction pour que la santé du personnage ne soit jamais " +"supérieure à [code]80[/code]." + +#: course/lesson-13-conditions/lesson.tres:315 +msgid "" +"As much as we might like, we don't want our robot to have too much health. " +"Limit how much healing the robot can take." +msgstr "" +"Autant que nous aimerions l'idée, nous ne voulons pas que notre robot ait " +"trop de santé. Limitez la quantité de soins que le robot peut prendre." + +#: course/lesson-13-conditions/lesson.tres:320 +msgid "Preventing Health from Going Below Zero" +msgstr "Empêcher la santé de passer en dessous de zéro" + +#: course/lesson-13-conditions/lesson.tres:321 +msgid "" +"When the robot takes damage, its health can be negative.\n" +"\n" +"We might want to display the health number on screen, like in Japanese " +"RPGs.\n" +"\n" +"We don't want negative numbers. We want to stop at zero instead.\n" +"\n" +"Calling the function should reduce [code]health[/code] by [code]amount[/" +"code].\n" +"\n" +"If [code]health[/code] goes below [code]0[/code], set it to [code]0[/code] " +"again." +msgstr "" +"Lorsque le robot subit des dégâts, sa santé peut être négative.\n" +"\n" +"Nous pourrions vouloir afficher le nombre de la quantité de santé à l'écran, " +"comme dans les RPG japonais.\n" +"\n" +"Nous ne voulons pas de nombres négatifs. Nous voulons plutôt nous arrêter à " +"zéro.\n" +"\n" +"L'appel de la fonction devrait réduire la [code]health[/code] de " +"[code]amount[/code].\n" +"\n" +"Si la [code]health[/code] descend en dessous de [code]0[/code], remettez-la " +"à [code]0[/code]." + +#: course/lesson-13-conditions/lesson.tres:339 +msgid "" +"Having a negative health value doesn't make a lot of sense. Make sure the " +"robot's health can't go below zero." +msgstr "" +"Avoir une valeur de santé négative n'a pas beaucoup de sens. Assurez-vous " +"que la santé du robot ne peut pas descendre en dessous de zéro." + +#: course/lesson-13-conditions/lesson.tres:343 +msgid "Conditions" +msgstr "Conditions" diff --git a/i18n/fr/lesson-14-multiplying.po b/i18n/fr/lesson-14-multiplying.po new file mode 100644 index 00000000..e37ac20b --- /dev/null +++ b/i18n/fr/lesson-14-multiplying.po @@ -0,0 +1,328 @@ +# 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 \n" +"Language-Team: French \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" + +# passe à un niveau supérieur. +#: course/lesson-14-multiplying/lesson.tres:14 +msgid "" +"Our robot's health is always between [code]0[/code] and [code]100[/code].\n" +"\n" +"But as our robot fights, we want to increase its strength and toughness.\n" +"\n" +"When a character levels up, it might deal more damage to enemies, gain new " +"abilities or, in our case, gain more health." +msgstr "" +"La santé de notre robot est toujours comprise entre [code]0[/code] et " +"[code]100[/code].\n" +"\n" +"Mais au fur et à mesure que notre robot se bat, nous voulons augmenter sa " +"force et sa résistance.\n" +"\n" +"Lorsqu'un personnage monte de niveau, il peut infliger plus de dégâts aux " +"ennemis, acquérir de nouvelles capacités ou, dans notre cas, gagner plus de " +"santé." + +#: course/lesson-14-multiplying/lesson.tres:28 +msgid "" +"We define a [code]level[/code] variable to keep track of the level of the " +"robot. It starts at level one.\n" +"\n" +"When the robot has defeated enough enemies, we call the [code]level_up()[/" +"code] function to increment the robot's level." +msgstr "" +"Nous définissons une variable appelée [code]level[/code] pour faire un suivi " +"du niveau du robot. Cela commence au niveau un.\n" +"\n" +"Lorsque le robot a vaincu suffisamment d'ennemis, nous appelons la fonction " +"[code]level_up()[/code] pour incrémenter le niveau du robot." + +#: course/lesson-14-multiplying/lesson.tres:50 +msgid "" +"As we briefly saw in the last lesson, our robot could have a range of " +"variables that could increase when it levels up." +msgstr "" +"Comme nous l'avons brièvement vu dans la dernière leçon, notre robot " +"pourrait avoir une gamme de variables qui pourraient augmenter lorsqu'il " +"monte de niveau." + +#: course/lesson-14-multiplying/lesson.tres:70 +msgid "" +"In this lesson, we'll just focus on increasing the robot's [code]max_health[/" +"code].\n" +"\n" +"The variable [code]max_health[/code] is the maximum amount the robot's " +"[code]health[/code] can be. We change our [code]heal()[/code] function to " +"use this variable." +msgstr "" +"Dans cette leçon, nous allons nous concentrer sur l'augmentation de la " +"[code]max_health[/code], ou santé maximale, du robot.\n" +"\n" +"La variable [code]max_health[/code] est le montant maximum que peut " +"atteindre la [code]health[/code] du robot. Nous modifions notre fonction " +"[code]heal()[/code] pour utiliser cette variable." + +#: course/lesson-14-multiplying/lesson.tres:92 +msgid "" +"We could add [code]5[/code] to the [code]max_health[/code] every time the " +"robot levels up." +msgstr "" +"Nous pourrions ajouter [code]5[/code] à la [code]max_health[/code] chaque " +"fois que le robot monte de niveau." + +#: course/lesson-14-multiplying/lesson.tres:112 +msgid "" +"This would increase [code]max_health[/code] the same amount every time.\n" +"\n" +"If we graphed [code]max_health[/code], it'd look something like this." +msgstr "" +"Cela augmenterait la [code]max_health[/code] du même montant à chaque fois.\n" +"\n" +"Si nous faisions un graphique de [code]max_health[/code], cela ressemblerait " +"à quelque chose comme ceci :" + +#: course/lesson-14-multiplying/lesson.tres:134 +msgid "" +"This growth is [b]linear[/b].\n" +"\n" +"In our case, we want a feeling of more and more power as the robot levels " +"up.\n" +"\n" +"We want a graph like this." +msgstr "" +"Cette croissance est [b]linéaire[/b].\n" +"\n" +"Dans notre cas, nous voulons une sensation de puissance de plus en plus " +"grande à mesure que le robot monte en niveau.\n" +"\n" +"Nous voulons un graphique comme celui-ci :" + +#: course/lesson-14-multiplying/lesson.tres:158 +msgid "" +"This growth is [b]exponential[/b].\n" +"\n" +"With each level, more [code]max_health[/code] is added than the previous " +"level up.\n" +"\n" +"To get the exponential growth, we multiply the [code]max_health[/code] by an " +"amount greater than [code]1[/code] each time the robot levels up.\n" +"\n" +"To multiply values together, we use [code]*[/code]." +msgstr "" +"Cette croissance est [b]exponentielle[/b].\n" +"\n" +"Avec chaque niveau, on ajoute plus de [code]max_health[/code] que pour la " +"montée du niveau précédente.\n" +"\n" +"Pour obtenir la croissance exponentielle, nous multiplions la " +"[code]max_health[/code] par une quantité supérieure à [code]1[/code] chaque " +"fois que le robot monte de niveau.\n" +"\n" +"Pour multiplier des valeurs ensemble, nous utilisons [code]*[/code]." + +#: course/lesson-14-multiplying/lesson.tres:172 +msgid "What is the value of damage?" +msgstr "Quelle est la valeur des dégâts ?" + +#: course/lesson-14-multiplying/lesson.tres:173 +msgid "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"[/code]" +msgstr "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"[/code]" + +#: course/lesson-14-multiplying/lesson.tres:181 +msgid "" +"We multiply [code]power[/code] by [code]level[/code] using [code]*[/code] to " +"get the result of [code]15[/code]." +msgstr "" +"Nous multiplions [code]power[/code] (ou la « puissance ») par [code]level[/" +"code] (le « niveau ») en utilisant [code]*[/code] pour obtenir le résultat " +"de [code]15[/code]." + +#: course/lesson-14-multiplying/lesson.tres:182 +#: course/lesson-14-multiplying/lesson.tres:183 +msgid "15" +msgstr "15" + +#: course/lesson-14-multiplying/lesson.tres:182 +msgid "9" +msgstr "9" + +#: course/lesson-14-multiplying/lesson.tres:182 +msgid "10" +msgstr "10" + +#: course/lesson-14-multiplying/lesson.tres:192 +msgid "" +"We can use [code]*=[/code] in the same way as [code]-=[/code] and [code]+=[/" +"code]." +msgstr "" +"Nous pouvons utiliser [code]*=[/code] de la même manière que [code]-=[/code] " +"et [code]+=[/code]." + +#: course/lesson-14-multiplying/lesson.tres:200 +msgid "What is the value of damage now?" +msgstr "Quelle est la valeur des dégâts maintenant ?" + +#: course/lesson-14-multiplying/lesson.tres:201 +msgid "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"\tdamage *= 2\n" +"[/code]" +msgstr "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"\tdamage *= 2\n" +"[/code]" + +#: course/lesson-14-multiplying/lesson.tres:210 +msgid "" +"The value of [code]damage[/code] starts as [code]15[/code].\n" +"\n" +"Then, [code]damage *= 2[/code] multiplies it by [code]2[/code] to get " +"[code]30[/code]." +msgstr "" +"La valeur de [code]damage[/code] commence par [code]15[/code].\n" +"\n" +"Ensuite, [code]damage *= 2[/code] multiplie cette valeur par [code]2[/code] " +"pour obtenir [code]30[/code]." + +#: course/lesson-14-multiplying/lesson.tres:213 +#: course/lesson-14-multiplying/lesson.tres:214 +msgid "30" +msgstr "30" + +#: course/lesson-14-multiplying/lesson.tres:213 +msgid "13" +msgstr "13" + +#: course/lesson-14-multiplying/lesson.tres:213 +msgid "25" +msgstr "25" + +#: course/lesson-14-multiplying/lesson.tres:223 +msgid "" +"Let's level up our robot and add exponential growth to [code]max_health[/" +"code]." +msgstr "" +"Faisons monter le niveau de notre robot et ajoutons une croissance " +"exponentielle à [code]max_health[/code]." + +#: course/lesson-14-multiplying/lesson.tres:243 +msgid "" +"In the practices, you'll increase the robot's [code]max_health[/code] and " +"add a special ability to our robot to make it extra tough at high levels." +msgstr "" +"Dans la pratique suivante, vous augmenterez la [code]max_health[/code] du " +"robot et ajouterez une capacité spéciale à notre robot pour le rendre encore " +"plus résistant à des niveaux élevés." + +#: course/lesson-14-multiplying/lesson.tres:251 +msgid "Increasing maximum health exponentially" +msgstr "Augmenter la santé maximale de façon exponentielle" + +# ce qui suit +#: course/lesson-14-multiplying/lesson.tres:252 +msgid "" +"Let's make the robot stronger when it levels up.\n" +"\n" +"Add to the [code]level_up()[/code] function so it does the following:\n" +"\n" +"- Increases [code]level[/code] by one.\n" +"- Increases [code]max_health[/code] by 10%." +msgstr "" +"Rendons le robot plus fort lorsqu'il monte de niveau.\n" +"\n" +"Ajoutez du code à la fonction [code]level_up()[/code] pour qu'elle fasse :\n" +"\n" +"- Augmenter le [code]level[/code] de un.\n" +"- Augmenter la [code]max_health[/code] de 10 %." + +#: course/lesson-14-multiplying/lesson.tres:270 +msgid "" +"We want our robot to increase in strength as it levels up. Let's increase " +"its health exponentially!" +msgstr "" +"Nous voulons que notre robot augmente sa force à mesure qu'il monte de " +"niveau. Augmentons sa santé de façon exponentielle !" + +#: course/lesson-14-multiplying/lesson.tres:275 +msgid "Reducing damage at higher levels" +msgstr "Réduire les dégâts à des niveaux plus élevés" + +#: course/lesson-14-multiplying/lesson.tres:276 +msgid "" +"When our robot's [code]level[/code] is [code]3[/code] or more, we want it to " +"take a lot less damage.\n" +"\n" +"Add to the [code]take_damage()[/code] function so the following happens:\n" +"\n" +"- [code]if[/code] the robot's [code]level[/code] is greater than [code]2[/" +"code], reduce the damage [code]amount[/code] by 50%\n" +"\n" +"The robot is level 3. An enemy is going to attack for 10 damage. This damage " +"should reduce to 5." +msgstr "" +"Lorsque le [code]level[/code] de notre robot est de [code]3[/code] ou plus, " +"nous voulons qu'il subisse beaucoup moins de dégâts.\n" +"\n" +"Ajoutez du code à la fonction [code]take_damage()[/code] pour ce qui suit se " +"produise :\n" +"\n" +"- Si ( « [code]if[/code] » dans le code) le [code]level[/code] du robot est " +"supérieur à [code]2[/code], réduisez l'[code]amount[/code] des dégâts de " +"50%\n" +"\n" +"Le robot est de niveau 3. Un ennemi va attaquer et infliger 10 points de " +"dégâts. Ces dégâts devraient être réduits à 5." + +#: course/lesson-14-multiplying/lesson.tres:299 +msgid "" +"At higher levels, we want our robot to be super tough and take even less " +"damage!" +msgstr "" +"À des niveaux plus élevés, nous voulons que notre robot soit super résistant " +"et qu'il subisse encore moins de dégâts !" + +#: course/lesson-14-multiplying/lesson.tres:303 +msgid "Multiplying" +msgstr "Multiplication" diff --git a/i18n/fr/lesson-15-modulo.po b/i18n/fr/lesson-15-modulo.po new file mode 100644 index 00000000..28aabc09 --- /dev/null +++ b/i18n/fr/lesson-15-modulo.po @@ -0,0 +1,357 @@ +# 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 \n" +"Language-Team: French \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-16-2d-vectors.po b/i18n/fr/lesson-16-2d-vectors.po new file mode 100644 index 00000000..439191a2 --- /dev/null +++ b/i18n/fr/lesson-16-2d-vectors.po @@ -0,0 +1,311 @@ +# 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 \n" +"Language-Team: French \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-16-2d-vectors/lesson.tres:14 +msgid "" +"Suppose we want to increase the size of the robot when it levels up.\n" +"\n" +"As you may recall, we do this by using the following code." +msgstr "" +"Supposons que nous voulions augmenter la taille du robot lorsqu'il monte de " +"niveau.\n" +"\n" +"Comme vous vous en souviendrez, nous le faisons en utilisant le code suivant." + +#: course/lesson-16-2d-vectors/lesson.tres:36 +msgid "" +"As we talked about in lesson 7, the [code]scale[/code] variable has two sub-" +"variables to it: [code]x[/code] and [code]y[/code].\n" +"\n" +"This is because [code]scale[/code] is a [code]Vector2[/code], which stands " +"for two-dimensional vector. A [code]Vector2[/code] represents 2D coordinates." +msgstr "" +"Comme nous en avons parlé dans la leçon 7, la variable [code]scale[/code] a " +"deux sous-variables : [code]x[/code] et [code]y[/code].\n" +"\n" +"Cela est dû au fait que [code]scale[/code] est un [code]Vector2[/code], ce " +"qui signifie « vecteur bidimensionnel ». Un [code]Vector2[/code] représente " +"des coordonnées 2D." + +#: course/lesson-16-2d-vectors/lesson.tres:46 +msgid "What are vectors?" +msgstr "Que sont les vecteurs ?" + +# named [code]Vector2[/code], +#: course/lesson-16-2d-vectors/lesson.tres:48 +msgid "" +"A vector, in physics, is a quantity with a magnitude and a direction. For " +"example, a force applied to some object, the velocity (speed and direction) " +"of a character, and so on.\n" +"\n" +"We often represent this quantity with an arrow.\n" +"\n" +"In Godot, 2D vectors are a common value type named [code]Vector2[/code],\n" +"\n" +"Unlike plain numbers, they store [i]two[/i] decimal numbers: one for the X " +"coordinate and one for the Y coordinate." +msgstr "" +"Un vecteur, en physique, est une quantité avec une magnitude et une " +"direction. Par exemple, une force appliquée à un objet, la vélocité (vitesse " +"et direction) d'un personnage, etc.\n" +"\n" +"On représente souvent cette quantité par une flèche.\n" +"\n" +"Dans Godot, les vecteurs 2D sont un type de valeur commun appelé " +"[code]Vector2[/code],\n" +"\n" +"Contrairement aux nombres simples, ils stockent [i]deux[/i] nombres " +"décimaux : un pour la coordonnée X et un pour la coordonnée Y." + +#: course/lesson-16-2d-vectors/lesson.tres:72 +msgid "" +"So far, you've come across two variables in the course which are vectors. " +"Which are they?" +msgstr "" +"Jusqu'à présent, vous avez rencontré deux variables dans le cours qui sont " +"des vecteurs. Lesquelles sont-elles ?" + +#: course/lesson-16-2d-vectors/lesson.tres:75 +msgid "" +"Both [code]scale[/code] and [code]position[/code] have [code]x[/code] and " +"[code]y[/code] sub-variables, so Godot uses a [code]Vector2[/code] to store " +"their values." +msgstr "" +"Les variables [code]scale[/code] et [code]position[/code] ont des sous-" +"variables [code]x[/code] et [code]y[/code], donc Godot utilise un " +"[code]Vector2[/code] pour stocker leurs valeurs." + +#: course/lesson-16-2d-vectors/lesson.tres:76 +#: course/lesson-16-2d-vectors/lesson.tres:77 +msgid "scale" +msgstr "[code]scale[/code] (échelle)" + +#: course/lesson-16-2d-vectors/lesson.tres:76 +#: course/lesson-16-2d-vectors/lesson.tres:77 +msgid "position" +msgstr "[code]position[/code]" + +#: course/lesson-16-2d-vectors/lesson.tres:76 +msgid "health" +msgstr "[code]health[/code] (santé)" + +# rapidité ? +#: course/lesson-16-2d-vectors/lesson.tres:76 +msgid "speed" +msgstr "[code]speed[/code] (vitesse)" + +#: course/lesson-16-2d-vectors/lesson.tres:84 +msgid "Vectors are great for games" +msgstr "Les vecteurs sont parfaits pour les jeux" + +# comme ça +#: course/lesson-16-2d-vectors/lesson.tres:86 +msgid "" +"Vectors are [i]essential[/i] in video games.\n" +"\n" +"They allow you to represent a character's movement speed and direction, " +"calculate the distance to a target, and more, with little code.\n" +"\n" +"Take this turtle AI below. You've probably seen games where enemies move " +"like this.\n" +"\n" +"This is done with just seven lines of pure vector calculation code.\n" +"\n" +"The code is a bit too difficult for now, so we'll spare you the details, but " +"this turtle gives you a glimpse of what 2D vectors can do for you and your " +"game projects." +msgstr "" +"Les vecteurs sont [i]essentiels[/i] dans les jeux vidéo.\n" +"\n" +"Ils vous permettent de représenter la vitesse et la direction du mouvement " +"d'un personnage, de calculer la distance par rapport à une cible, et bien " +"plus encore, avec peu de code.\n" +"\n" +"Prenez comme exemple l'IA de la tortue ci-dessous. Vous avez probablement " +"déjà vu des jeux où les ennemis se déplacent comme ça.\n" +"\n" +"Cela se fait avec seulement sept lignes de code de calcul vectoriel pur.\n" +"\n" +"Le code est peut-être un peu difficile pour l'instant, alors nous vous " +"épargnerons les détails, mais cette tortue vous donne un aperçu de ce que " +"les vecteurs 2D peuvent faire pour vous et vos projets de jeu." + +#: course/lesson-16-2d-vectors/lesson.tres:114 +msgid "" +"We scale the robot again, this time by adding to it directly using a " +"[code]Vector2[/code]. The following code has the same effect as the previous " +"example." +msgstr "" +"Nous modifions à nouveau l'échelle du robot, cette fois en lui ajoutant " +"directement les valeurs souhaitées à l'aide d'un [code]Vector2[/code]. Le " +"code suivant a le même effet que l'exemple précédent." + +#: course/lesson-16-2d-vectors/lesson.tres:134 +msgid "" +"Notice how we use parentheses and two arguments inside parentheses, just " +"like other function calls.\n" +"\n" +"We call this a [i]constructor function call[/i]. You can think of it as a " +"special kind of function that creates a particular type of value.\n" +"\n" +"The code [code]Vector2(0.2, 0.2)[/code] constructs a new [code]Vector2[/" +"code] value with its [code]x[/code] set to [code]0.2[/code] and its [code]y[/" +"code] set to [code]0.2[/code], respectively." +msgstr "" +"Remarquez comment nous utilisons des parenthèses et deux arguments à " +"l'intérieur des parenthèses, tout comme les autres appels de fonction.\n" +"\n" +"Nous appelons cela un [i]appel de fonction constructeur[/i]. Vous pouvez le " +"considérer comme un type spécial de fonction qui crée un type particulier de " +"valeur.\n" +"\n" +"Le code [code]Vector2(0.2, 0.2)[/code] construit une nouvelle valeur de " +"[code]Vector2[/code] avec son [code]x[/code] défini sur [code]0.2[/code] et " +"son [code]y[/code] défini sur [code]0.2[/code], respectivement." + +#: course/lesson-16-2d-vectors/lesson.tres:146 +msgid "Using vectors to change the position" +msgstr "Utiliser des vecteurs pour changer la position" + +#: course/lesson-16-2d-vectors/lesson.tres:148 +msgid "" +"We can add and subtract vectors to [code]position[/code] because it's a " +"vector. If we wanted to move our robot to a new relative position, we would " +"add a [code]Vector2[/code] to its [code]position[/code]." +msgstr "" +"Nous pouvons ajouter et soustraire des vecteurs à [code]position[/code] car " +"ceci est un vecteur. Si nous voulions déplacer notre robot vers une nouvelle " +"position relative, nous ajouterions un [code]Vector2[/code] à sa " +"[code]position[/code]." + +#: course/lesson-16-2d-vectors/lesson.tres:166 +msgid "How would you move the robot 50 pixels to the left?" +msgstr "Comment déplaceriez-vous le robot de 50 pixels vers la gauche ?" + +#: course/lesson-16-2d-vectors/lesson.tres:169 +msgid "" +"[code]position -= Vector2(50, 0)[/code] subtracts [code]50[/code] to the sub-" +"variable [code]x[/code], and [code]0[/code] to [code]y[/code].\n" +"\n" +"[code]position.x -= Vector2(50, 0)[/code] tries to subtract a 2D vector to " +"the sub-variable [code]x[/code], which is a decimal number. The value types " +"are incompatible. If you try to do this, you will get an error." +msgstr "" +"[code]position -= Vector2(50, 0)[/code] soustrait [code]50[/code] à la sous-" +"variable [code]x[/code], et [code]0[/code] à [code]y[/code].\n" +"\n" +"[code]position.x -= Vecteur(50, 0)[/code] essaie de soustraire un vecteur 2D " +"à la sous-variable [code]x[/code], qui est un nombre décimal. Les types de " +"valeurs sont incompatibles. Si vous essayez de le faire, vous obtiendrez une " +"erreur." + +#: course/lesson-16-2d-vectors/lesson.tres:172 +#: course/lesson-16-2d-vectors/lesson.tres:173 +msgid "position -= Vector2(50, 0)" +msgstr "position -= Vector2(50, 0)" + +#: course/lesson-16-2d-vectors/lesson.tres:172 +msgid "position.x -= Vector2(50, 0)" +msgstr "position.x -= Vector2(50, 0)" + +#: course/lesson-16-2d-vectors/lesson.tres:182 +msgid "" +"In the next few practices, you'll use vectors to change scale and position " +"values." +msgstr "" +"Dans les exercices suivants, vous utiliserez des vecteurs pour modifier les " +"valeurs d'échelle et de position." + +#: course/lesson-16-2d-vectors/lesson.tres:190 +msgid "Increasing scale using vectors" +msgstr "Augmenter l'échelle en utilisant des vecteurs" + +#: course/lesson-16-2d-vectors/lesson.tres:191 +msgid "" +"Add a line of code to the [code]level_up()[/code] function to increase the " +"[code]scale[/code] of the robot by [code]Vector2(0.2, 0.2)[/code] every time " +"it levels up." +msgstr "" +"Ajoutez une ligne de code à la fonction [code]level_up()[/code] pour " +"augmenter la [code]scale[/code] du robot de [code]Vector2(0.2, 0.2)[/code] à " +"chaque fois qu'il monte de niveau." + +# Rien ne peut mal tourner +# rien ne peut aller de travers +#: course/lesson-16-2d-vectors/lesson.tres:202 +msgid "" +"To visually show our robot has gained in strength, let's increase its size " +"every time it levels up. Nothing could go wrong!" +msgstr "" +"Pour montrer visuellement que notre robot a gagné en force, augmentons sa " +"taille à chaque fois qu'il monte de niveau. Rien ne peut mal se passer !" + +#: course/lesson-16-2d-vectors/lesson.tres:207 +msgid "Resetting size and position using vectors" +msgstr "Réinitialiser la taille et la position à l'aide de vecteurs" + +#: course/lesson-16-2d-vectors/lesson.tres:208 +msgid "" +"The robot's level has increased a lot, and so has its size!\n" +"\n" +"Let's fix this by resetting the robot's [code]scale[/code] and " +"[code]position[/code] values.\n" +"\n" +"Create a function named [code]reset_robot()[/code] that sets the " +"[code]scale[/code] and [code]position[/code] of the robot.\n" +"\n" +"The [code]x[/code] and [code]y[/code] sub-variables of the robot's " +"[code]scale[/code] need to be [code]1.0[/code].\n" +"\n" +"The robot's [code]position[/code] needs to be [code]Vector2(0, 0)[/code].\n" +"\n" +"As in the previous practice, make sure to use vectors when dealing with " +"scale and position." +msgstr "" +"Le niveau du robot a beaucoup augmenté, et sa taille aussi !\n" +"\n" +"Corrigeons cela en réinitialisant les valeurs [code]scale[/code] et " +"[code]position[/code] du robot.\n" +"\n" +"Créez une fonction appelée [code]reset_robot()[/code] qui définit les " +"valeurs [code]scale[/code] et [code]position[/code] du robot.\n" +"\n" +"Les sous-variables [code]x[/code] et [code]y[/code] de la [code]scale[/code] " +"du robot doivent être [code]1.0[/code].\n" +"\n" +"La [code]position[/code] du robot doit être [code]Vector2(0, 0)[/code].\n" +"\n" +"Comme dans l'exercice précédent, assurez-vous d'utiliser des vecteurs " +"lorsque vous travaillez avec l'échelle et la position." + +#: course/lesson-16-2d-vectors/lesson.tres:227 +msgid "" +"Perhaps increasing the scale every level was a bad idea! Let's restore the " +"robot to the correct size." +msgstr "" +"Augmenter l'échelle à chaque niveau était peut-être une mauvaise idée ! " +"Remettons le robot à la bonne taille." + +#: course/lesson-16-2d-vectors/lesson.tres:231 +msgid "2D Vectors" +msgstr "Vecteurs 2D" diff --git a/i18n/fr/lesson-17-while-loops.po b/i18n/fr/lesson-17-while-loops.po new file mode 100644 index 00000000..0edbfcd3 --- /dev/null +++ b/i18n/fr/lesson-17-while-loops.po @@ -0,0 +1,340 @@ +# 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 \n" +"Language-Team: French \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-17-while-loops/lesson.tres:14 +msgid "" +"You've seen that you can use functions to [i]reuse[/i] code. In this lesson, " +"you'll learn about [b]loops[/b]. Loops help you [i]repeat[/i] code.\n" +"\n" +"To illustrate how loops work, let's take a game board split into a grid.\n" +"\n" +"Our robot can move to neighboring cells by changing a [code]Vector2[/code] " +"variable named [code]cell[/code]. It represents the current cell the robot " +"is in.\n" +"\n" +"When we increase [code]cell.x[/code], the robot moves to the right.\n" +"\n" +"Note that we delay the robot's movement in the app to help you visualize how " +"it moves. The following code would normally move the robot instantly." +msgstr "" +"Vous avez vu que vous pouvez utiliser des fonctions pour [i]réutiliser[/i] " +"du code. Dans cette leçon, vous allez découvrir les [b]boucles[/b]. Les " +"boucles vous aident à [i]répéter[/i] le code.\n" +"\n" +"Pour illustrer le fonctionnement des boucles, prenons un plateau de jeu " +"divisé en une grille comme exemple.\n" +"\n" +"Notre robot peut se déplacer vers les cases voisines en modifiant une " +"variable [code]Vector2[/code] appelée [code]cell[/code]. Elle représente la " +"cellule dans laquelle se trouve le robot.\n" +"\n" +"Lorsque nous augmentons [code]cell.x[/code], le robot se déplace vers la " +"droite.\n" +"\n" +"Notez que nous retardons le mouvement du robot dans l'application pour vous " +"aider à visualiser comment il se déplace. Le code suivant devrait " +"normalement déplacer le robot instantanément." + +#: course/lesson-17-while-loops/lesson.tres:42 +msgid "We can move diagonally by adding a [code]Vector2[/code] directly." +msgstr "" +"Nous pouvons nous déplacer en diagonale en ajoutant un [code]Vector2[/code] " +"directement." + +#: course/lesson-17-while-loops/lesson.tres:62 +msgid "" +"The above code works for a pre-defined board with a size of [code]Vector2(3, " +"3)[/code], but the [code]move_to_end()[/code] function wouldn't work if the " +"size of the board was different. \n" +"\n" +"The robot would either stop before the end or go too far.\n" +"\n" +"To implement a general solution for all board sizes, we can repeat the " +"robot's movement until it gets to the end.\n" +"\n" +"For code that repeats, we can use [i]loops[/i]." +msgstr "" +"Le code ci-dessus fonctionne pour un plateau prédéfini avec une taille de " +"[code]Vector2(3, 3)[/code], mais la fonction [code]move_to_end()[/code] ne " +"fonctionnerait pas si la taille du plateau était différente\n" +"\n" +"Le robot s'arrêterait avant la fin ou irait trop loin.\n" +"\n" +"Pour mettre en place une solution générale pour toutes les tailles de " +"plateau, nous pouvons répéter le mouvement du robot jusqu'à ce qu'il arrive " +"à la fin.\n" +"\n" +"Pour le code qui se répète, nous pouvons utiliser des [i]boucles[/i]." + +#: course/lesson-17-while-loops/lesson.tres:76 +msgid "Using while loops to repeat code" +msgstr "Utiliser des boucles while pour répéter du code" + +#: course/lesson-17-while-loops/lesson.tres:78 +msgid "" +"You can use a [code]while[/code] loop to make the computer repeat a block of " +"code until you meet a specific condition or decide to break from the loop.\n" +"\n" +"Here's how we use a [code]while[/code] loop." +msgstr "" +"Vous pouvez utiliser une boucle [code]while[/code] pour que l'ordinateur " +"répète un bloc de code jusqu'à ce que vous remplissiez une condition " +"spécifique ou que vous décidiez de sortir de la boucle.\n" +"\n" +"Voici comment utiliser une boucle [code]while[/code]." + +#: course/lesson-17-while-loops/lesson.tres:100 +msgid "" +"We use the variable [code]number[/code] to keep track of how many loops the " +"[code]while[/code] loop completes.\n" +"\n" +"Each time we go through the [code]while[/code] loop, we add [code]1[/code] " +"to [code]number[/code].\n" +"\n" +"The [code]while[/code] loop keeps running for as long as the condition is " +"true. In this case, it keeps running while [code]number[/code] is less than " +"[code]4[/code].\n" +"\n" +"You can see that the following code is executed four times in the console." +msgstr "" +"Nous utilisons la variable [code]number[/code] pour garder une trace du " +"nombre de boucles que la boucle [code]while[/code] termine.\n" +"\n" +"Chaque fois que nous exécutons la boucle [code]while[/code], nous ajoutons " +"[code]1[/code] à [code]number[/code].\n" +"\n" +"La boucle [code]while[/code] continue de s'exécuter tant que la condition " +"est vraie. Dans ce cas, elle continue de fonctionner tant que [code]number[/" +"code] est inférieur à [code]4[/code].\n" +"\n" +"Vous pouvez voir que le code suivant est exécuté quatre fois dans la console." + +#: course/lesson-17-while-loops/lesson.tres:126 +msgid "" +"Let's apply this to our [code]move_to_end()[/code] function.\n" +"\n" +"This time, we compare the number of loops to the board's width. We go " +"through the loop until we reach the width of the board.\n" +"\n" +"Note that we move the robot until its position is one less than the board's " +"width because we are counting tiles from [code]0[/code].\n" +"\n" +"A board of [code]3[/code] by [code]3[/code] cells would have cell " +"coordinates going from [code]0[/code] to [code]2[/code] on both the X and Y " +"axes." +msgstr "" +"Appliquons cela à notre fonction [code]move_to_end()[/code].\n" +"\n" +"Cette fois, nous comparons le nombre de boucles à la largeur du plateau. " +"Nous exécutons la boucle jusqu'à atteindre la largeur du plateau.\n" +"\n" +"Notez que nous nous déplaçons d'une case de moins que la largeur du plateau " +"car nous comptons les cases à partir de [code]0[/code].\n" +"\n" +"Un plateau de [code]3[/code] cases par [code]3[/code] aurait des coordonnées " +"de case allant de [code]0[/code] à [code]2[/code] à la fois sur les axes X " +"et Y." + +#: course/lesson-17-while-loops/lesson.tres:160 +msgid "While loops can cause issues" +msgstr "Les boucles while peuvent causer des problèmes" + +# l'application se bloquera +# figer +# planter +#: course/lesson-17-while-loops/lesson.tres:162 +msgid "" +"If you're not careful, your [code]while[/code] loop can run infinitely. In " +"that case, the application will freeze.\n" +"\n" +"Take a look at this code example." +msgstr "" +"Si vous ne faites pas attention, votre boucle [code]while[/code] peut " +"s'exécuter à l'infini. Dans ce cas, l'application se bloquera.\n" +"\n" +"Jetez un oeil à cet exemple de code." + +#: course/lesson-17-while-loops/lesson.tres:182 +msgid "What would happen if the computer tried to run the code above?" +msgstr "" +"Que se passerait-il si l'ordinateur essayait d'exécuter le code ci-dessus ?" + +#: course/lesson-17-while-loops/lesson.tres:185 +msgid "" +"Because we don't increment [code]number[/code] within the [code]while[/code] " +"loop, it always stays at [code]0[/code].\n" +"\n" +"As a result, the number is always lower than [code]10[/code], so we never " +"break out of the loop.\n" +"\n" +"Since there's no way to exit the [code]while[/code] loop, the computer will " +"attempt to draw squares infinitely, which will freeze the program.\n" +"\n" +"When programs stop responding on your computer, it's often due to an " +"infinite loop!" +msgstr "" +"Comme nous n'incrémentons pas [code]nombre[/code] dans la boucle " +"[code]while[/code], il reste toujours à [code]0[/code].\n" +"\n" +"Par conséquent, le nombre est toujours inférieur à [code]10[/code], ce qui " +"fait que nous ne sortons jamais de la boucle.\n" +"\n" +"Comme il n'y a aucun moyen de sortir de la boucle [code]while[/code], " +"l'ordinateur tentera de dessiner des carrés à l'infini, ce qui bloquera le " +"programme.\n" +"\n" +"Lorsque les programmes ne répondent plus sur votre ordinateur, c'est souvent " +"dû à une boucle infinie !" + +#: course/lesson-17-while-loops/lesson.tres:192 +#: course/lesson-17-while-loops/lesson.tres:193 +msgid "It would draw squares infinitely until the program is terminated" +msgstr "" +"Il dessinerait des carrés à l'infini jusqu'à ce que le programme soit termine" + +#: course/lesson-17-while-loops/lesson.tres:192 +msgid "It would draw 10 squares" +msgstr "Il dessinerait 10 carrés" + +#: course/lesson-17-while-loops/lesson.tres:192 +msgid "It would draw 20 squares" +msgstr "Il dessinerait 20 carrés" + +#: course/lesson-17-while-loops/lesson.tres:200 +msgid "When to use while loops" +msgstr "Quand utiliser les boucles while" + +#: course/lesson-17-while-loops/lesson.tres:202 +msgid "" +"At first, you will not need [code]while[/code] loops often. Even the code we " +"show here has more efficient alternatives.\n" +"\n" +"Also, there's a safer kind of loop, [code]for[/code] loops, which we'll look " +"at in the next lesson.\n" +"\n" +"Yet, [code]while[/code] loops have important intermediate to advanced-level " +"uses, so you at least need to know they exist and how to use them.\n" +"\n" +"We use [code]while[/code] loops every time we need to loop an unknown number " +"of times.\n" +"\n" +"For example, games run in a loop that typically generates sixty images per " +"second until the user closes the game. This is possible thanks to " +"[code]while[/code] loops.\n" +"\n" +"There are other good uses for [code]while[/code] loops:\n" +"\n" +"- Reading and processing a file, like a text document, line by line.\n" +"- Processing a constant stream of data, like someone recording audio with a " +"microphone.\n" +"- Reading code and converting it into instructions the computer " +"understands.\n" +"- Various intermediate to advanced-level algorithms, like finding paths " +"around a map for AI." +msgstr "" +"Au début, vous n'aurez pas souvent besoin des boucles [code]while[/code]. " +"Même le code que nous montrons ici a des alternatives plus efficaces.\n" +"\n" +"Il existe également un type de boucle plus sûr, les boucles [code]for[/" +"code], que nous examinerons dans la prochaine leçon.\n" +"\n" +"Cependant, les boucles [code]while[/code] ont des utilisations importantes " +"de niveau intermédiaire à avancé, vous devez donc au moins savoir qu'elles " +"existent et comment les utiliser.\n" +"\n" +"Nous utilisons les boucles [code]while[/code] chaque fois que nous devons " +"boucler un nombre inconnu de fois.\n" +"\n" +"Par exemple, les jeux s'exécutent dans une boucle qui génère habituellement " +"soixante images par seconde jusqu'à ce que l'utilisateur ferme le jeu. Cela " +"est possible grâce aux boucles [code]while[/code].\n" +"\n" +"Il existe d'autres bonnes utilisations des boucles [code]while[/code] :\n" +"\n" +"- Lire et traiter un fichier, comme un document texte, ligne par ligne.\n" +"- Traiter un flux constant de données, comme quelqu'un qui enregistre de " +"l'audio avec un microphone.\n" +"- Lire du code et le convertir en instructions que l'ordinateur comprend.\n" +"- Divers algorithmes de niveau intermédiaire à avancé, comme la recherche " +"des chemins sur une carte pour l'IA." + +#: course/lesson-17-while-loops/lesson.tres:227 +msgid "" +"Let's practice some [code]while[/code] loops, as they're useful to know. " +"It's also an excellent opportunity to practice 2D vectors.\n" +"\n" +"Then, we'll move on to the safer [code]for[/code] loops in the following " +"lesson." +msgstr "" +"Faisons quelques exercices sur les boucles [code]while[/code], car il est " +"utile de les connaître. C'est aussi une excellente occasion de réviser les " +"vecteurs 2D.\n" +"\n" +"Ensuite, nous passerons aux boucles [code]for[/code], qui sont plus sûres " +"que les boucles while, dans la leçon suivante." + +#: course/lesson-17-while-loops/lesson.tres:237 +msgid "Moving to the end of a board" +msgstr "Déplacement à la fin d'un plateau" + +# pour n'importe quelle taille de carte. +#: course/lesson-17-while-loops/lesson.tres:238 +msgid "" +"Our robot has decided to stand at the top of the board.\n" +"\n" +"Complete the [code]move_to_bottom()[/code] function so the robot moves to " +"the bottom of the board.\n" +"\n" +"The board size is determined by the [code]Vector2[/code] [code]board_size[/" +"code].\n" +"\n" +"The robot's current cell is [code]Vector2(2, 0)[/code]. \n" +"\n" +"Make sure to use a [code]while[/code] loop so the function works for any " +"board size." +msgstr "" +"Notre robot a décidé de se tenir sur la partie supérieure du plateau.\n" +"\n" +"Complétez la fonction [code]move_to_bottom()[/code] pour que le robot se " +"déplace vers la partie inférieure du plateau.\n" +"\n" +"La taille du plateau est déterminée par le [code]board_size[/code] du " +"[code]Vector2[/code].\n" +"\n" +"La case actuelle du robot est [code]Vector2(2, 0)[/code]\n" +"\n" +"Assurez-vous d'utiliser une boucle [code]while[/code] pour que la fonction " +"fonctionne quelle que soit la taille de la carte." + +# du haut du plateau vers le bas. +#: course/lesson-17-while-loops/lesson.tres:256 +msgid "" +"Use a while loop to have our robot move from the top of the board to the " +"bottom." +msgstr "" +"Utilisez une boucle while pour que notre robot se déplace de la partie " +"supérieure du plateau vers l'inférieure." + +#: course/lesson-17-while-loops/lesson.tres:260 +msgid "Introduction to While Loops" +msgstr "Introduction aux boucles while" diff --git a/i18n/fr/lesson-18-for-loops.po b/i18n/fr/lesson-18-for-loops.po new file mode 100644 index 00000000..54255307 --- /dev/null +++ b/i18n/fr/lesson-18-for-loops.po @@ -0,0 +1,325 @@ +# 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 \n" +"Language-Team: French \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-18-for-loops/lesson.tres:14 +msgid "" +"In the last lesson, we looked at [code]while[/code] loops. We found they " +"were useful if we don't know how many times we should repeat code. \n" +"\n" +"However, they could result in infinite loops if we're not careful.\n" +"\n" +"The loop below never ends because we never increment [code]number[/code]." +msgstr "" +"Dans la dernière leçon, nous avons examiné les boucles [code]while[/code]. " +"Nous avons découvert qu'elles étaient utiles si nous ne savons pas combien " +"de fois nous devons répéter le code.\n" +"\n" +"Cependant, elles peuvent entraîner des boucles infinies si nous ne faisons " +"pas attention.\n" +"\n" +"La boucle ci-dessous ne se termine jamais car nous n'incrémentons jamais " +"[code]number[/code]." + +#: course/lesson-18-for-loops/lesson.tres:38 +msgid "" +"There's a safer and often easier kind of loop: the [code]for[/code] loop.\n" +"\n" +"We'll look at it in this lesson.\n" +"\n" +"Unlike [code]while[/code] loops, [code]for[/code] loops don't run " +"infinitely, so it's much less likely that you'll get bugs in your game. " +"[b]We recommend favoring for loops over while loops because of this[/b].\n" +"\n" +"Let's change the code above to use a [code]for[/code] loop instead.\n" +"\n" +"The loop below will change the [code]cell[/code] three times." +msgstr "" +"Il existe un type de boucle qui est plus sûr et souvent plus facile à " +"utiliser : la boucle [code]for[/code].\n" +"\n" +"Nous allons l'examiner dans cette leçon.\n" +"\n" +"Contrairement aux boucles [code]while[/code], les boucles [code]for[/code] " +"ne s'exécutent pas à l'infini, il est donc beaucoup moins probable que vous " +"rencontriez des bugs dans votre jeu. [b]Pour cette raison, nous recommandons " +"de privilégier les boucles for aux boucles while[/b].\n" +"\n" +"Modifions le code ci-dessus pour utiliser une boucle [code]for[/code] à la " +"place.\n" +"\n" +"La boucle ci-dessous changera la [code]cell[/code] trois fois." + +#: course/lesson-18-for-loops/lesson.tres:66 +msgid "Let's explain what's going on here." +msgstr "On va expliquer ce qui se passe ici." + +#: course/lesson-18-for-loops/lesson.tres:74 +msgid "The range() function" +msgstr "La fonction range()" + +# d'aide +#: course/lesson-18-for-loops/lesson.tres:76 +msgid "" +"Godot has the helper function [code]range()[/code]. Calling [code]range(n)[/" +"code] creates a list of numbers from [code]0[/code] to [code]n - 1[/code]. \n" +"\n" +"So calling [code]range(3)[/code] outputs the list of numbers [code][0, 1, 2]" +"[/code], and [code]range(5)[/code] outputs [code][0, 1, 2, 3, 4][/code]." +msgstr "" +"Godot possède la fonction auxiliaire [code]range()[/code]. L'appel de " +"[code]range(n)[/code] crée une liste de nombres de [code]0[/code] à [code]n -" +" 1[/code].\n" +"\n" +"Ainsi, l'appel de [code]range(3)[/code] produit la liste de nombres [code][" +"0, 1, 2][/code], et [code]range(5)[/code] produit [code][0, 1, 2, 3, " +"4][/code]." + +#: course/lesson-18-for-loops/lesson.tres:86 +msgid "What list of numbers would range(6) create?" +msgstr "Quelle liste de nombres créerait range(6) ?" + +#: course/lesson-18-for-loops/lesson.tres:87 +msgid "What would [code]print(range(6))[/code] print to the console?" +msgstr "" +"Qu'est-ce que [code]print(range(6))[/code] imprimerait sur la console ?" + +#: course/lesson-18-for-loops/lesson.tres:89 +msgid "" +"The function [code]range(n)[/code] creates a list of numbers from [code]0[/" +"code] to [code]n - 1[/code]. The output list will start with [code]0[/code] " +"and end with [code]5[/code].\n" +"\n" +"So calling [code]range(6)[/code] will output a list of six numbers which are " +"[code][0, 1, 2, 3, 4, 5][/code].\n" +msgstr "" +"La fonction [code]range(n)[/code] crée une liste de nombres de [code]0[/" +"code] à [code]n - 1[/code]. La liste de sortie commencera par [code]0[/code] " +"et se terminera par [code]5[/code].\n" +"\n" +"Donc appeler [code]range(6)[/code] produira une liste de six nombres qui " +"sont [code][0, 1, 2, 3, 4, 5][/code].\n" + +#: course/lesson-18-for-loops/lesson.tres:93 +#: course/lesson-18-for-loops/lesson.tres:94 +msgid "[0, 1, 2, 3, 4, 5]" +msgstr "[0, 1, 2, 3, 4, 5]" + +#: course/lesson-18-for-loops/lesson.tres:93 +msgid "[1, 2, 3, 4, 5, 6]" +msgstr "[1, 2, 3, 4, 5, 6]" + +#: course/lesson-18-for-loops/lesson.tres:93 +msgid "[0, 1, 2, 3, 4, 5, 6]" +msgstr "[0, 1, 2, 3, 4, 5, 6]" + +#: course/lesson-18-for-loops/lesson.tres:101 +msgid "How for loops work" +msgstr "Comment fonctionnent les boucles for" + +#: course/lesson-18-for-loops/lesson.tres:103 +msgid "" +"In a [code]for[/code] loop, the computer takes each value inside a list, " +"stores it in a temporary variable, and executes the code in the loop once " +"per value." +msgstr "" +"Dans une boucle [code]for[/code], l'ordinateur prend chaque valeur dans une " +"liste, la stocke dans une variable temporaire et exécute le code de la " +"boucle une fois par valeur." + +#: course/lesson-18-for-loops/lesson.tres:123 +msgid "" +"In the above example, for each item in the list [code][0, 1, 2][/code], " +"Godot sets [code]number[/code] to the item, then executes the code in the " +"[code]for[/code] loop.\n" +"\n" +"We'll explain arrays more throughly in the next lesson, but notice that " +"[code]number[/code] is just a temporary variable. You create it when " +"defining the loop, and the loop takes care of changing its value. Also, you " +"can name this variable anything you want.\n" +"\n" +"This code behaves the same as the previous example:" +msgstr "" +"Dans l'exemple ci-dessus, pour chaque élément de la liste [code][0, 1, " +"2][/code], Godot attribue le [code]nombre[/code] à l'élément, puis exécute " +"le code dans la boucle [code]for[/code].\n" +"\n" +"Nous expliquerons plus en détail les tableaux dans la prochaine leçon, mais " +"notez que [code]number[/code] n'est qu'une variable temporaire. Vous la " +"créez lors de la définition de la boucle, et la boucle se charge de modifier " +"sa valeur. De plus, vous pouvez donner à cette variable le nom que vous " +"voulez.\n" +"\n" +"Ce code se comporte de la même manière que l'exemple précédent :" + +#: course/lesson-18-for-loops/lesson.tres:147 +msgid "" +"In both examples, we print the value of the temporary variable we created: " +"[code]number[/code] in the first example and [code]element[/code] in the " +"second.\n" +"\n" +"As Godot moves through the loop, it assigns each value of the array to that " +"variable. First, it sets the variable to [code]0[/code], then to [code]1[/" +"code], and finally, to [code]2[/code].\n" +"\n" +"We can break down the instructions the loop runs. You can see how a loop is " +"a shortcut to code that otherwise gets very long." +msgstr "" +"Dans les deux exemples, nous affichons la valeur de la variable temporaire " +"que nous avons créée : [code]number[/code] dans le premier exemple et " +"[code]element[/code] dans le second.\n" +"\n" +"Au fur et à mesure que Godot se déplace dans la boucle, il affecte chaque " +"valeur du tableau à cette variable. Tout d'abord, il attribue à la variable " +"la valeur [code]0[/code], puis [code]1[/code], et enfin [code]2[/code].\n" +"\n" +"Nous pouvons décomposer les instructions que la boucle exécute. Vous pouvez " +"constater qu'une boucle est un raccourci pour un code qui, autrement, " +"deviendrait très long." + +#: course/lesson-18-for-loops/lesson.tres:171 +msgid "" +"We can put whatever code we like in the loop's code block, including other " +"function calls like [code]draw_rectangle()[/code]." +msgstr "" +"Nous pouvons placer le code que nous voulons dans le bloc de code de la " +"boucle, y compris d'autres appels de fonction comme " +"[code]draw_rectangle()[/code]." + +#: course/lesson-18-for-loops/lesson.tres:179 +msgid "Using a for loop instead of a while loop" +msgstr "Utiliser une boucle for au lieu d'une boucle while" + +#: course/lesson-18-for-loops/lesson.tres:181 +msgid "" +"Here's our old [code]move_to_end()[/code] function which used a [code]while[/" +"code] loop." +msgstr "" +"Voici notre ancienne fonction [code]move_to_end()[/code] qui utilisait une " +"boucle [code]while[/code]." + +#: course/lesson-18-for-loops/lesson.tres:201 +msgid "" +"If we use a [code]for[/code] loop instead, the code becomes a little simpler." +msgstr "" +"Si nous utilisons une boucle [code]for[/code] à la place, le code devient un " +"peu plus simple." + +#: course/lesson-18-for-loops/lesson.tres:221 +msgid "" +"Rather than constantly checking if the robot reached the end of the board, " +"with the [code]for[/code] loop, we take the board's width beforehand, then " +"move the robot a set amount of times.\n" +"\n" +"The function still works the same. You can execute it below." +msgstr "" +"Plutôt que de vérifier constamment si le robot a atteint la fin du plateau, " +"avec la boucle [code]for[/code], nous prenons la largeur du plateau au " +"préalable, puis nous déplaçons le robot un nombre déterminé de fois.\n" +"\n" +"La fonction fonctionne toujours de la même manière. Vous pouvez l'exécuter " +"ci-dessous." + +#: course/lesson-18-for-loops/lesson.tres:243 +msgid "" +"In the practices, we'll use [code]for[/code] loops in different ways to get " +"you used to using them." +msgstr "" +"Dans les exercices pratiques, nous utiliserons les boucles [code]for[/code] " +"de différentes manières pour vous habituer à les utiliser." + +#: course/lesson-18-for-loops/lesson.tres:251 +msgid "Using a for loop to move to the end of the board" +msgstr "Utiliser une boucle for pour se déplacer à la fin du plateau" + +#: course/lesson-18-for-loops/lesson.tres:252 +msgid "" +"Once again, the robot has decided to stand at the top of the board.\n" +"\n" +"This time, use a [code]for[/code] loop in the [code]move_to_bottom()[/code] " +"function to have it move to the bottom of the board.\n" +"\n" +"The board size is determined by the [code]Vector2[/code] variable " +"[code]board_size[/code].\n" +"\n" +"The robot's starting cell is [code]Vector2(2, 0)[/code]." +msgstr "" +"Une fois de plus, le robot a décidé de se tenir sur la partie supérieure du " +"plateau.\n" +"\n" +"Cette fois-ci, utilisez une boucle [code]for[/code] dans la fonction " +"[code]move_to_bottom()[/code] pour qu'il se déplace vers la partie " +"inférieure du tableau.\n" +"\n" +"La taille du plateau est déterminée par la variable [code]board_size[/code] " +"du [code]Vector2[/code].\n" +"\n" +"La case de départ du robot est [code]Vector2(2, 0)[/code]." + +#: course/lesson-18-for-loops/lesson.tres:268 +msgid "" +"Use a for loop to have our robot move from the top of the board to the " +"bottom." +msgstr "" +"Utilisez une boucle for pour que notre robot se déplace de la partie " +"supérieure du plateau vers la partie inférieure." + +#: course/lesson-18-for-loops/lesson.tres:273 +msgid "Improving code with a for loop" +msgstr "Améliorer le code avec une boucle for" + +#: course/lesson-18-for-loops/lesson.tres:274 +msgid "" +"Use a [code]for[/code] loop to remove the duplicate code in the [code]run()[/" +"code] function.\n" +"\n" +"In this practice, we revisit the turtle and drawing rectangles.\n" +"\n" +"With our new knowledge of [code]for[/code] loops, we can condense this code " +"to take up less space and make it easier to modify.\n" +"\n" +"The turtle should draw three squares in a horizontal line. The squares " +"should be 100 pixels apart." +msgstr "" +"Utilisez une boucle [code]for[/code] pour supprimer le code en double dans " +"la fonction [code]run()[/code].\n" +"\n" +"Dans cet exercice, nous reprenons la tortue et le dessin des rectangles.\n" +"\n" +"Avec nos nouvelles connaissances sur les boucles [code]for[/code], nous " +"pouvons condenser ce code pour qu'il prenne moins de place et pour le rendre " +"plus facile à modifier.\n" +"\n" +"La tortue doit dessiner trois carrés sur une ligne horizontale. Les carrés " +"doivent être espacés de 100 pixels." + +#: course/lesson-18-for-loops/lesson.tres:297 +msgid "" +"In the past we had to copy and paste code to draw multiple rectangles. Let's " +"revisit previous code and improve it with a for loop." +msgstr "" +"Dans le passé, nous devions copier et coller du code pour dessiner plusieurs " +"rectangles. Reprenons le code précédent et améliorons-le avec une boucle for." + +#: course/lesson-18-for-loops/lesson.tres:301 +msgid "Introduction to For Loops" +msgstr "Introduction aux boucles for" diff --git a/i18n/fr/lesson-19-creating-arrays.po b/i18n/fr/lesson-19-creating-arrays.po new file mode 100644 index 00000000..92bf240d --- /dev/null +++ b/i18n/fr/lesson-19-creating-arrays.po @@ -0,0 +1,314 @@ +# 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 \n" +"Language-Team: French \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-19-creating-arrays/lesson.tres:13 +msgid "" +"The [code]range()[/code] function we saw in the previous lesson outputs a " +"list of numbers. For example, calling [code]range(3)[/code] produces the " +"list of numbers [code][0, 1, 2][/code]." +msgstr "" +"La fonction [code]range()[/code] que nous avons vue dans la leçon précédente " +"produit une liste de nombres. Par exemple, l'appel de [code]range(3)[/code] " +"produit la liste de nombres [code][0, 1, 2][/code]." + +#: course/lesson-19-creating-arrays/lesson.tres:33 +msgid "" +"A list of values, numbers or otherwise, has a precise name in code: we call " +"it an [i]array[/i]. So we can say calling the [code]range()[/code] function " +"produces an [i]array[/i] of numbers.\n" +"\n" +"We could directly write and use that array inside our [code]for[/code] loop " +"instead of the [code]range()[/code] function. You can run the next function " +"step-by-step to see how it works." +msgstr "" +"Une liste de valeurs, de nombres ou non, a un nom précis dans le code : on " +"les appelle [i]tableaux[/i] (ou [code]array[/code]). Nous pouvons donc dire " +"que l'appel de la fonction [code]range()[/code] produit un [i]tableau[/i] de " +"nombres.\n" +"\n" +"Nous pouvons directement écrire et utiliser ce tableau dans notre boucle " +"[code]for[/code] au lieu de la fonction [code]range()[/code]. Vous pouvez " +"exécuter la fonction suivante étape par étape pour voir comment elle " +"fonctionne." + +#: course/lesson-19-creating-arrays/lesson.tres:55 +msgid "" +"As you can see, the code still works the same. Notice that when we create a " +"[code]for[/code] loop, we also create a local variable to which the loop " +"assigns one value per iteration. Above, we named it [code]number[/code] " +"because the array we loop over contains three numbers (0, 1, and 2).\n" +"\n" +"But we could name it anything we'd like!" +msgstr "" +"Comme vous pouvez le constater, le code fonctionne toujours de la même " +"manière. Remarquez que lorsque nous créons une boucle [code]for[/code], nous " +"créons également une variable locale à laquelle la boucle attribue une " +"valeur par itération. Ci-dessus, nous l'avons nommée [code]number[/code] " +"parce que le tableau sur lequel nous bouclons contient trois nombres (0, 1 " +"et 2).\n" +"\n" +"Mais nous pourrions lui donner n'importe quel nom !" + +#: course/lesson-19-creating-arrays/lesson.tres:77 +msgid "" +"If we \"unwrap\" the [code]for[/code] loop above, we'd get the following " +"code with the exact same behaviour:" +msgstr "" +"Si nous \"déballons\" la boucle [code]for[/code] ci-dessus, nous obtiendrons " +"le code suivant, qui a exactement le même comportement :" + +#: course/lesson-19-creating-arrays/lesson.tres:95 +msgid "The syntax of arrays" +msgstr "La syntaxe des tableaux" + +#: course/lesson-19-creating-arrays/lesson.tres:97 +msgid "We write arrays this way in GDScript." +msgstr "Nous écrivons des tableaux de cette façon dans GDScript." + +#: course/lesson-19-creating-arrays/lesson.tres:117 +msgid "" +"You start with an opening square bracket. Then, you write comma-separated " +"values that compose the array. Finally, you need a closing square bracket to " +"complete the array.\n" +"\n" +"Here are a couple of valid arrays. Notice how you can mix values, and how " +"they don't need to follow one another." +msgstr "" +"Vous commencez par un crochet ouvrant. Ensuite, vous écrivez les valeurs qui " +"composent le tableau séparées par des virgules. Enfin, vous avez besoin d'un " +"crochet fermant pour compléter le tableau.\n" +"\n" +"Voici quelques tableaux valides. Remarquez que vous pouvez mélanger des " +"valeurs et qu'elles ne doivent pas nécessairement être séquentielles." + +#: course/lesson-19-creating-arrays/lesson.tres:139 +msgid "" +"Because arrays themselves are a value type, just like numbers or " +"[code]Vector2[/code], we can assign arrays to variables to reaccess them " +"later.\n" +"\n" +"That'll come in handy in the next lesson, where we'll use those variables in " +"loops." +msgstr "" +"Comme les tableaux sont eux-mêmes un type de valeur, tout comme les nombres " +"ou les [code]Vector2[/code], nous pouvons assigner des tableaux à des " +"variables pour y accéder à nouveau plus tard.\n" +"\n" +"Cela nous sera très utile dans la prochaine leçon, où nous utiliserons ces " +"variables dans des boucles." + +#: course/lesson-19-creating-arrays/lesson.tres:161 +msgid "But first, let's see [i]when[/i] you'd use an array." +msgstr "Mais d'abord, voyons [i]quand[/i] vous utiliseriez un tableau." + +#: course/lesson-19-creating-arrays/lesson.tres:169 +msgid "When you use arrays" +msgstr "Quand utilise-t-on les tableaux ?" + +#: course/lesson-19-creating-arrays/lesson.tres:171 +msgid "" +"In computer programming, we use arrays [i]all the time[/i].\n" +"\n" +"Precisely, you'll use them whenever you need to store a [i]list of things[/" +"i].\n" +"\n" +"You always need lists of things in games:\n" +"\n" +"- The player's party in an RPG.\n" +"- The items in the player's inventory.\n" +"- The high scores in an arcade game.\n" +"- The objects in the game world.\n" +"\n" +"All of those and many more rely on arrays." +msgstr "" +"En programmation informatique, nous utilisons des tableaux [i]tout le temps[/" +"i].\n" +"\n" +"Précisément, vous les utiliserez chaque fois que vous aurez besoin de " +"stocker une [i]liste de choses[/i].\n" +"\n" +"Vous avez toujours besoin de listes de choses dans les jeux :\n" +"\n" +"- Les membres du groupe du joueur dans un RPG.\n" +"- Les objets dans l'inventaire du joueur.\n" +"- Les meilleurs scores dans un jeu d'arcade.\n" +"- Les objets du monde du jeu.\n" +"\n" +"Toutes ces choses et bien d'autres encore reposent sur des tableaux." + +#: course/lesson-19-creating-arrays/lesson.tres:190 +msgid "Using arrays to follow a path" +msgstr "Utiliser des tableaux pour suivre un chemin" + +#: course/lesson-19-creating-arrays/lesson.tres:192 +msgid "" +"Let's look at a widespread use of arrays in games: finding and following a " +"path.\n" +"\n" +"In games, you need allies or monsters to find their way to their target, " +"whether it's the player or some point of interest.\n" +"\n" +"To achieve that, we use [i]pathfinding algorithms[/i]. As the name suggests, " +"those algorithms find the path between two points and allow AIs to traverse " +"the game." +msgstr "" +"Examinons une utilisation très répandue des tableaux dans les jeux : trouver " +"et suivre un chemin.\n" +"\n" +"Dans les jeux, vous avez besoin que les alliés ou les monstres trouvent leur " +"chemin vers leur cible, que ce soit le joueur ou un point d'intérêt.\n" +"\n" +"Pour y parvenir, nous utilisons des [i]algorithmes de recherche de chemin[/i]" +". Comme leur nom l'indique, ces algorithmes trouvent le chemin entre deux " +"points et permettent aux IA de traverser le jeu." + +#: course/lesson-19-creating-arrays/lesson.tres:216 +msgid "" +"Many of those algorithms use arrays of [code]Vector2[/code] coordinates to " +"represent the path.\n" +"\n" +"Take this turtle pet. It wants to follow the robot, but there are rocks in " +"the way.\n" +"\n" +"How can we tell it where to walk to reach the robot? With an array!" +msgstr "" +"Beaucoup de ces algorithmes utilisent des tableaux de coordonnées " +"[code]Vector2[/code] pour représenter le chemin.\n" +"\n" +"Prenez cette tortue de compagnie. Elle veut suivre le robot, mais il y a des " +"rochers sur le chemin.\n" +"\n" +"Comment pouvons-nous lui dire où marcher pour atteindre le robot ? Avec un " +"tableau !" + +#: course/lesson-19-creating-arrays/lesson.tres:250 +msgid "" +"Every value in the array is a [code]Vector2[/code] and represents a cell the " +"turtle needs to walk through.\n" +"\n" +"Together, all the values in the array represent a path we can draw." +msgstr "" +"Chaque valeur du tableau est un [code]Vector2[/code] et représente une case " +"que la tortue doit traverser.\n" +"\n" +"Ensemble, toutes les valeurs du tableau représentent un chemin que nous " +"pouvons dessiner." + +#: course/lesson-19-creating-arrays/lesson.tres:272 +msgid "" +"In upcoming lessons, you will see how we can use arrays to store player " +"inventories or design attack combos.\n" +"\n" +"For now, let's practice creating arrays." +msgstr "" +"Dans les prochaines leçons, vous verrez comment nous pouvons utiliser des " +"tableaux pour stocker les inventaires des joueurs ou concevoir des combos " +"d'attaque.\n" +"\n" +"Pour l'instant, exerçons-nous à créer des tableaux." + +#: course/lesson-19-creating-arrays/lesson.tres:282 +msgid "Walking to the robot" +msgstr "Marcher vers le robot" + +#: course/lesson-19-creating-arrays/lesson.tres:283 +msgid "" +"The turtle wants to meet the robot! But it cannot find it on its own.\n" +"\n" +"Fill the [code]turtle_path[/code] array with [code]Vector2[/code] " +"coordinates indicating where the turtle should move to avoid the obstacles " +"and arrive safely to the robot.\n" +"\n" +"The turtle can move up, down, left, or right. It cannot move diagonally.\n" +"\n" +"We recommend copying and pasting to fill the array with comma-separated " +"[code]Vector2[/code] values quickly." +msgstr "" +"La tortue veut rencontrer le robot ! Mais elle ne peut pas le trouver toute " +"seule.\n" +"\n" +"Remplissez le tableau [code]turtle_path[/code] avec les coordonnées " +"[code]Vector2[/code] indiquant où la tortue doit se déplacer pour éviter les " +"obstacles et arriver en toute sécurité au robot.\n" +"\n" +"La tortue peut se déplacer vers le haut, le bas, la gauche ou la droite. " +"Elle ne peut pas se déplacer en diagonale.\n" +"\n" +"Nous vous recommandons de copier et de coller pour remplir plus rapidement " +"le tableau avec des valeurs [code]Vector2[/code] séparées par des virgules." + +#: course/lesson-19-creating-arrays/lesson.tres:298 +msgid "" +"Help the turtle find its way to the robot! Give it a path to follow to reach " +"the robot." +msgstr "" +"Aidez la tortue à trouver son chemin vers le robot ! Donnez-lui un chemin à " +"suivre pour atteindre le robot." + +#: course/lesson-19-creating-arrays/lesson.tres:303 +msgid "Selecting units" +msgstr "Sélection des unités" + +#: course/lesson-19-creating-arrays/lesson.tres:304 +msgid "" +"In this tactical game, the player and computer can select multiple units at " +"once. You need to call the [code]select_units()[/code] function and pass it " +"an array of [code]Vector2[/code] coordinates to know which units to select.\n" +"\n" +"Each [code]Vector2[/code] in the array represents a cell with a unit.\n" +"\n" +"You can pass arrays in function calls as arguments. As an array is a value " +"type the computer recognizes, you can pass the whole array as a single " +"function argument.\n" +"\n" +"Select all units on the board by passing the correct array to the " +"[code]select_units()[/code] function." +msgstr "" +"Dans ce jeu tactique, le joueur et l'ordinateur peuvent sélectionner " +"plusieurs unités à la fois. Vous devez appeler la fonction " +"[code]select_units()[/code] et lui passer un tableau de coordonnées " +"[code]Vector2[/code] pour savoir quelles unités sélectionner.\n" +"\n" +"Chaque [code]Vector2[/code] du tableau représente une case avec une unité.\n" +"\n" +"Vous pouvez passer des tableaux dans les appels de fonction en tant " +"qu'arguments. Comme un tableau est un type de valeur que l'ordinateur " +"reconnaît, vous pouvez passer le tableau entier comme un seul argument de " +"fonction.\n" +"\n" +"Sélectionnez toutes les unités du plateau en passant le tableau correct à la " +"fonction [code]select_units()[/code]." + +#: course/lesson-19-creating-arrays/lesson.tres:320 +msgid "Write an array to select all units on the board in this strategy game." +msgstr "" +"Écrivez un tableau pour sélectionner toutes les unités sur le plateau dans " +"ce jeu de stratégie." + +#: course/lesson-19-creating-arrays/lesson.tres:324 +msgid "Creating arrays" +msgstr "Créer des tableaux" + +#~ msgid "As you can see, the code still works the same." +#~ msgstr "" +#~ "Comme vous pouvez le voir, le code fonctionne toujours de la même manière." diff --git a/i18n/fr/lesson-2-your-first-error.po b/i18n/fr/lesson-2-your-first-error.po new file mode 100644 index 00000000..e4130bcc --- /dev/null +++ b/i18n/fr/lesson-2-your-first-error.po @@ -0,0 +1,190 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-2-your-first-error/lesson.tres:14 +msgid "" +"When you program, you are bound to run into errors. Tons of them.\n" +"\n" +"But you shouldn't worry! On the computer, [b]errors are a good thing[/b].\n" +"\n" +"You will encounter errors, and [i]that's okay[/i]: every programmer does. " +"Especially professionals.\n" +"\n" +"At school, maybe you learned that mistakes are a bad thing. When you code " +"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 "" +"Lorsque vous programmez, vous allez forcément rencontrer des erreurs. Des " +"tas.\n" +"\n" +"Mais ne vous en faites pas ! Sur l'ordinateur, [b]les erreurs sont une bonne " +"chose[/b].\n" +"\n" +"Vous rencontrerez des erreurs et [i]c'est tout à fait normal[/i] : cela " +"arrive à tous les programmeurs. Surtout aux professionnels.\n" +"\n" +"À l'école, vous avez peut-être appris que les erreurs sont une mauvaise " +"chose. Lorsque vous codez quelque chose, ce n'est pas le cas : [b]les " +"erreurs vous aident à écrire des programmes corrects[/b] car elles vous " +"montrent ce qui ne va pas dans vos programmes." + +#: 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 "" +"Une erreur de code ressemble à ceci. C'est un message qui vous indique " +"qu'une partie de votre code ne fonctionne pas." + +#: course/lesson-2-your-first-error/lesson.tres:48 +msgid "Making errors friendlier" +msgstr "Rendre les erreurs plus conviviales" + +#: course/lesson-2-your-first-error/lesson.tres:50 +msgid "" +"Error messages can look a bit cryptic. This is because they're designed by " +"programmers, for trained programmers.\n" +"\n" +"We added an error translator in this app that will help you get started.\n" +"\n" +"It shows you why an error happens and what the message means. It also gives " +"you some tips on how to fix it." +msgstr "" +"Les messages d'erreur peuvent sembler un peu énigmatiques. C'est parce " +"qu'ils sont conçus par des programmeurs, pour des programmeurs " +"expérimentés.\n" +"\n" +"Nous avons ajouté un traducteur d'erreurs dans cette application qui vous " +"aidera à démarrer.\n" +"\n" +"Il vous montre pourquoi une erreur se produit et ce que signifie son " +"message. Il vous donne également quelques conseils pour la corriger." + +#: course/lesson-2-your-first-error/lesson.tres:74 +msgid "" +"Error messages are designed on purpose by fellow programmers who came before " +"you. They anticipated you might have specific issues and wanted to help you " +"fix them.\n" +"\n" +"You shouldn't think of errors as failures. They are like mentors helping you " +"from the past. Importantly, errors won't break your computer. At least not " +"with GDScript because it's a pretty safe language.\n" +"\n" +"Ultimately, you want to fix all the errors in your program. Understanding " +"what is causing the errors, with the help of error messages, is key to " +"fixing them." +msgstr "" +"Les messages d'erreurs sont conçus exprès par d'autres programmeurs qui vous " +"ont précédé. Ils ont anticipé que vous pourriez avoir des problèmes " +"spécifiques et voulaient vous aider à les corriger.\n" +"\n" +"Vous ne devez pas considérer les erreurs comme des échecs. Elles sont comme " +"des mentors qui vous aident depuis le passé. Aussi, sachez que les erreurs " +"ne vont pas casser votre ordinateur. Du moins pas avec GDScript car c'est un " +"langage assez sûr.\n" +"\n" +"Ultimement, vous voulez corriger toutes les erreurs de votre programme. La " +"compréhension de la cause des erreurs, à l'aide des messages d'erreur, est " +"essentielle pour les corriger." + +#: course/lesson-2-your-first-error/lesson.tres:86 +msgid "Are error messages a good or a bad thing in code?" +msgstr "" +"Les messages d'erreur sont-ils une bonne ou une mauvaise chose dans le code ?" + +#: course/lesson-2-your-first-error/lesson.tres:89 +msgid "" +"Yes, error messages are here to help you!\n" +"\n" +"Pay attention to them, and do your best to read and understand them. With " +"experience, you'll learn to make your code work more reliably thanks to " +"error messages." +msgstr "" +"Oui, les messages d'erreurs sont là pour vous aider !\n" +"\n" +"Faites-y attention et faites de votre mieux pour les lire et les comprendre. " +"Avec l'expérience, vous apprendrez à faire fonctionner votre code de manière " +"plus fiable grâce aux messages d'erreur." + +#: course/lesson-2-your-first-error/lesson.tres:92 +msgid "They're bad: error messages are always bad." +msgstr "Ils sont mauvais : les messages d'erreurs sont toujours mauvais." + +#: course/lesson-2-your-first-error/lesson.tres:92 +#: course/lesson-2-your-first-error/lesson.tres:93 +msgid "They're good: they're here to help." +msgstr "Ils sont bons : ils sont là pour vous aider." + +#: course/lesson-2-your-first-error/lesson.tres:102 +msgid "" +"Okay, let's see an error in action. Once again, click the [i]Practice[/i] " +"button below to face your first real error." +msgstr "" +"Ensuite, voyons une erreur en action. Une fois de plus, cliquez sur le " +"bouton [i]Pratique[/i] ci-dessous pour faire face à votre première erreur." + +#: course/lesson-2-your-first-error/lesson.tres:110 +msgid "Fix Your First Error" +msgstr "Corrigez votre première erreur" + +#: course/lesson-2-your-first-error/lesson.tres:111 +msgid "" +"This code is incorrect and will cause an error when you try to run it.\n" +"\n" +"The code defines an empty function named [code]this_code_is_wrong[/code].\n" +"\n" +"To work, the function should use the [code]return[/code] keyword. But this " +"keyword is currently inside a comment, which the computer ignores.\n" +"\n" +"Test the current code by pressing the [i]Run[/i] button.\n" +"\n" +"Then, remove the comment sign (#) to make the code valid.\n" +"\n" +"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 "" +"Ce code est incorrect et provoquera une erreur lorsque vous essayerez de " +"l'exécuter.\n" +"\n" +"Le code définit une fonction vide nommée [code]this_code_is_wrong[/code].\n" +"\n" +"Pour fonctionner, la fonction doit utiliser le mot-clé [code]return[/code]. " +"Mais ce mot-clé se trouve actuellement à l'intérieur d'un commentaire, que " +"l'ordinateur ignore.\n" +"\n" +"Testez le code actuel en appuyant sur le bouton [i]Exécuter[/i].\n" +"\n" +"Ensuite, supprimez le signe de commentaire (#) pour rendre le code valide.\n" +"\n" +"Attention à ne pas supprimer l'espacement avant [code]return[/code] ! Sinon, " +"cela provoquera une autre erreur. Vous pouvez essayer cela aussi, si vous en " +"avez envie." + +#: course/lesson-2-your-first-error/lesson.tres:131 +msgid "There's an error in this code. We need you to fix it!" +msgstr "" +"Il y a une erreur dans ce code. Nous avons besoin de vous pour la corriger !" + +#: course/lesson-2-your-first-error/lesson.tres:135 +msgid "Your First Error" +msgstr "Votre première erreur" diff --git a/i18n/fr/lesson-20-looping-over-arrays.po b/i18n/fr/lesson-20-looping-over-arrays.po new file mode 100644 index 00000000..2def7cc5 --- /dev/null +++ b/i18n/fr/lesson-20-looping-over-arrays.po @@ -0,0 +1,317 @@ +# 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: 2022-03-26 17:50+0100\n" +"PO-Revision-Date: 2023-06-08 15:10+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-20-looping-over-arrays/lesson.tres:14 +msgid "" +"We used the [code]range()[/code] function in combination with [code]for[/" +"code] loops." +msgstr "" +"Nous avons utilisé la fonction [code]range()[/code] en combinaison avec des " +"boucles [code]for[/code]." + +#: course/lesson-20-looping-over-arrays/lesson.tres:34 +msgid "" +"The [code]range()[/code] function produced an array that the [code]for[/" +"code] keyword could loop over.\n" +"\n" +"We can give [code]for[/code] loops [i]any[/i] array, and they will loop over " +"them just the same.\n" +"\n" +"Instead of using the [code]range()[/code] function, we could manually write " +"the numbers and get the same result." +msgstr "" +"La fonction [code]range()[/code] a produit un tableau sur lequel le mot-clé " +"[code]for[/code] pouvait parcourir en boucle.\n" +"\n" +"Nous pouvons donner aux boucles [code]for[/code] [i]n'importe quel[/i] " +"tableau, et elles boucleront dessus de la même manière.\n" +"\n" +"Au lieu d'utiliser la fonction [code]range()[/code], nous pourrions écrire " +"manuellement les nombres et obtenir le même résultat." + +#: course/lesson-20-looping-over-arrays/lesson.tres:58 +msgid "" +"For each element inside the array, the [code]for[/code] loop extracts it, " +"stores it in the temporary variable named [code]number[/code], and executes " +"the loop's code once.\n" +"\n" +"Inside the loop, you can access the [code]number[/code] variable, which " +"changes on each [i]iteration[/i].\n" +"\n" +"The code works regardless of the array or where you store it. Often, you " +"will store arrays in variables for easy access." +msgstr "" +"Pour chaque élément du tableau, la boucle [code]for[/code] l'extrait, le " +"stocke dans la variable temporaire nommée [code]number[/code] et exécute le " +"code de la boucle une fois.\n" +"\n" +"À l'intérieur de la boucle, vous pouvez accéder à la variable [code]number[/" +"code], qui change à chaque [i]itération[/i].\n" +"\n" +"Le code fonctionne quel que soit le tableau ou l'endroit où vous le stockez. " +"Souvent, vous stockerez les tableaux dans des variables pour y accéder " +"facilement." + +#: course/lesson-20-looping-over-arrays/lesson.tres:80 +msgid "What will this code print?" +msgstr "Que va imprimer ce code ?" + +#: course/lesson-20-looping-over-arrays/lesson.tres:81 +msgid "" +"[code]var numbers = [0, 1, 2]\n" +"for number in numbers:\n" +" print(number)\n" +"[/code]" +msgstr "" +"[code]var numbers = [0, 1, 2]\n" +"for number in numbers:\n" +" print(number)\n" +"[/code]" + +#: course/lesson-20-looping-over-arrays/lesson.tres:86 +msgid "" +"Compared to previous examples, we store the array in the [code]numbers[/" +"code] variable. Using the [code]numbers[/code] variable in our [code]for[/" +"code] loop allows the computer to access the array of numbers like before.\n" +"\n" +"We have three numbers in the array: [code]0[/code], [code]1[/code], and " +"[code]2[/code].\n" +"\n" +"The loop extracts each of them sequentially and assigns it to the " +"[code]number[/code] temporary variable. As the loop processes each number, " +"the output will print [code]0[/code], then [code]1[/code], then [code]2[/" +"code], each on a separate line." +msgstr "" +"Par rapport aux exemples précédents, nous stockons le tableau dans la " +"variable [code]numbers[/code]. L'utilisation de la variable [code]numbers[/" +"code] dans notre boucle [code]for[/code] permet à l'ordinateur d'accéder au " +"tableau de nombres comme auparavant.\n" +"\n" +"Nous avons trois nombres dans le tableau : [code]0[/code], [code]1[/code] et " +"[code]2[/code].\n" +"\n" +"La boucle extrait chacun d'eux séquentiellement et l'affecte à la variable " +"temporaire [code]number[/code]. À mesure que la boucle traite chaque nombre, " +"la sortie imprimera [code]0[/code], puis [code]1[/code], puis [code]2[/" +"code], chacun sur une ligne distincte." + +#: course/lesson-20-looping-over-arrays/lesson.tres:91 +#: course/lesson-20-looping-over-arrays/lesson.tres:92 +msgid "0, 1, and 2" +msgstr "0, 1, et 2" + +#: course/lesson-20-looping-over-arrays/lesson.tres:91 +msgid "1, 2, and 3" +msgstr "1, 2, et 3" + +#: course/lesson-20-looping-over-arrays/lesson.tres:91 +msgid "0, 0, and 0" +msgstr "0, 0, et 0" + +#: course/lesson-20-looping-over-arrays/lesson.tres:99 +msgid "Making the turtle walk, with a loop" +msgstr "Faire marcher la tortue, avec une boucle" + +#: course/lesson-20-looping-over-arrays/lesson.tres:101 +msgid "" +"In the previous lesson, you made a turtle walk along a path by writing " +"[code]Vector2[/code] coordinates in an array." +msgstr "" +"Dans la leçon précédente, vous avez fait marcher une tortue sur un chemin en " +"écrivant les coordonnées de [code]Vector2[/code] dans un tableau." + +#: course/lesson-20-looping-over-arrays/lesson.tres:121 +msgid "" +"It's a [code]for[/code] loop that makes the turtle walk along the path.\n" +"\n" +"The loop works like this: for each coordinate in the array, it moves the " +"turtle once to that cell." +msgstr "" +"C'est une boucle [code]for[/code] qui fait marcher la tortue le long du " +"chemin.\n" +"\n" +"La boucle fonctionne comme ceci : pour chaque coordonnée du tableau, elle " +"déplace la tortue une fois vers cette case." + +#: course/lesson-20-looping-over-arrays/lesson.tres:143 +msgid "It's the same principle with unit selection." +msgstr "C'est le même principe avec la sélection des unités." + +#: course/lesson-20-looping-over-arrays/lesson.tres:163 +msgid "" +"For each coordinate in an array named [code]selected_units[/code], we check " +"if there is a unit in that cell. If so, we select it. \n" +"\n" +"In that case, we use an array, a loop, and a condition together." +msgstr "" +"Pour chaque coordonnée dans un tableau nommé [code]selected_units[/code], " +"nous vérifions s'il y a une unité dans cette case. Si c'est le cas, nous la " +"sélectionnons.\n" +"\n" +"Dans ce cas, nous utilisons ensemble un tableau, une boucle et une condition." + +# fonction. ( sur celle-ci.) +#: course/lesson-20-looping-over-arrays/lesson.tres:185 +msgid "" +"The code above uses several features you haven't learned yet:\n" +"\n" +"- In a condition, the [code]in[/code] keyword allows you to check if a value " +"exists [i]in[/i] an array.\n" +"- The array's [code]append()[/code] function appends a new value at the end " +"of the array.\n" +"\n" +"Notice the use of a period after the [code]selected_units[/code] variable, " +"to call the [code]append()[/code] function. It's because this function " +"exists only on arrays.\n" +"\n" +"When functions exist only on a specific value type, you write a dot after " +"the value to call the function on it.\n" +"\n" +"We'll revisit those two features again in the following lessons." +msgstr "" +"Le code ci-dessus utilise plusieurs fonctionnalités que vous n'avez pas " +"encore apprises :\n" +"\n" +"- Dans une condition, le mot-clé [code]in[/code] vous permet de vérifier si " +"une valeur existe [i]dans[/i] un tableau.\n" +"- La fonction [code]append()[/code] du tableau ajoute une nouvelle valeur à " +"la fin du tableau.\n" +"\n" +"Remarquez l'utilisation d'un point après la variable " +"[code]selected_units[/code], pour appeler la fonction [code]append()[/code]. " +"C'est parce que cette fonction n'existe que sur les tableaux.\n" +"\n" +"Lorsque les fonctions n'existent que sur un type de valeur spécifique, vous " +"écrivez un point après la valeur pour appeler la fonction sur celle-ci.\n" +"\n" +"Nous reviendrons sur ces deux fonctionnalités dans les leçons suivantes." + +#: course/lesson-20-looping-over-arrays/lesson.tres:204 +msgid "" +"The beauty of loops is that they work regardless of the size of your " +"arrays. \n" +"\n" +"The code just works whether you have one or ten thousand units to select. It " +"is all accomplished with only a couple lines of code.\n" +"\n" +"That's the power of computer programming.\n" +"\n" +"In the following practices, you will use arrays combined with [code]for[/" +"code] loops to achieve similar results." +msgstr "" +"La beauté des boucles est qu'elles fonctionnent quelle que soit la taille de " +"vos tableaux.\n" +"\n" +"Le code fonctionne, que vous ayez une ou dix mille unités à sélectionner. " +"Tout cela est accompli avec seulement quelques lignes de code.\n" +"\n" +"C'est la puissance de la programmation informatique.\n" +"\n" +"Dans les exercices suivants, vous utiliserez des tableaux combinés avec des " +"boucles [code]for[/code] pour obtenir des résultats similaires." + +#: course/lesson-20-looping-over-arrays/lesson.tres:218 +msgid "Move the robot along the path" +msgstr "Déplacer le robot le long du chemin" + +#: course/lesson-20-looping-over-arrays/lesson.tres:219 +msgid "" +"Our AI pathfinding algorithm provided a path for the robot to move to the " +"right edge of the grid. Your task is to use a [code]for[/code] loop to make " +"the robot move.\n" +"\n" +"To move the robot, call [i]its[/i] [code]move_to()[/code] function, like so: " +"[code]robot.move_to()[/code].\n" +"\n" +"The [code]move_to()[/code] function only exists on the robot, which is why " +"you need to access it this way." +msgstr "" +"Notre algorithme de recherche de chemin de l'IA a fourni un chemin pour que " +"le robot se déplace vers le bord droit de la grille. Votre tâche consiste à " +"utiliser une boucle [code]for[/code] pour faire bouger le robot.\n" +"\n" +"Pour déplacer le robot, appelez [i]sa[/i] fonction [code]move_to()[/code], " +"comme suit : [code]robot.move_to()[/code].\n" +"\n" +"La fonction [code]move_to()[/code] n'existe que sur le robot, c'est pourquoi " +"vous devez y accéder de cette façon." + +# Maintenant, vous devez faire bouger la tortue le long du chemin. +# vous devez faire en sorte que la tortue se déplace le long du chemin +#: course/lesson-20-looping-over-arrays/lesson.tres:235 +msgid "" +"Our AI pathfinding algorithm is giving us a path to move the robot. Now, you " +"need to make the turtle move along the path." +msgstr "" +"Notre algorithme de recherche de chemin de l'IA nous donne un chemin pour " +"déplacer le robot. Maintenant, vous devez faire en sorte que la tortue se " +"déplace le long du chemin." + +#: course/lesson-20-looping-over-arrays/lesson.tres:240 +msgid "Back to the drawing board" +msgstr "Retour à la planche à dessin" + +#: course/lesson-20-looping-over-arrays/lesson.tres:241 +msgid "" +"We want to draw many rectangles, something surprisingly common in games.\n" +"\n" +"However, writing this code by hand can get tedious. Instead, you could store " +"the size of your shapes in arrays and use a loop to draw them all in " +"batches.\n" +"\n" +"That's what you'll do in this practice.\n" +"\n" +"Use a [code]for[/code] loop to draw every rectangle in the " +"[code]rectangle_sizes[/code] array with the [code]draw_rectangle()[/code] " +"function.\n" +"\n" +"The rectangles shouldn't overlap or cross each other. To avoid that, you'll " +"need to call the [code]jump()[/code] function." +msgstr "" +"Nous voulons dessiner de nombreux rectangles, ce qui est étonnamment courant " +"dans les jeux.\n" +"\n" +"Cependant, écrire ce code à la main peut devenir fastidieux. Au lieu de " +"cela, vous pourriez stocker la taille de vos formes dans des tableaux et " +"utiliser une boucle pour les dessiner toutes par lots.\n" +"\n" +"C'est ce que vous allez faire dans cet exercice.\n" +"\n" +"Utilisez une boucle [code]for[/code] pour dessiner chaque rectangle du " +"tableau [code]rectangle_sizes[/code] avec la fonction [code]draw_rectangle()" +"[/code].\n" +"\n" +"Les rectangles ne doivent pas se chevaucher ou se croiser. Pour éviter cela, " +"vous devrez appeler la fonction [code]jump()[/code]." + +#: course/lesson-20-looping-over-arrays/lesson.tres:261 +msgid "" +"The drawing turtle makes its comeback. Fear not! Armed with loops, you'll " +"make it draw faster than ever before." +msgstr "" +"La tortue dessinatrice fait son grand retour. N'ayez pas peur ! Armé(e) de " +"boucles, vous allez la faire dessiner plus vite que jamais." + +#: course/lesson-20-looping-over-arrays/lesson.tres:265 +msgid "Looping over arrays" +msgstr "Faire des boucles sur des tableaux" diff --git a/i18n/fr/lesson-21-strings.po b/i18n/fr/lesson-21-strings.po new file mode 100644 index 00000000..e902c39c --- /dev/null +++ b/i18n/fr/lesson-21-strings.po @@ -0,0 +1,223 @@ +# 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 \n" +"Language-Team: French \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-21-strings/lesson.tres:14 +msgid "" +"Throughout this course, we've mostly stored numbers in variables. But what " +"if we wanted to store a player's name?\n" +"\n" +"This is where strings help us.\n" +"\n" +"Strings are instrumental in games and applications. We use them to display " +"information such as the description of a spell or the name of a character." +msgstr "" +"Tout au long de ce cours, nous avons principalement stocké des nombres dans " +"des variables. Mais que faire si nous voulions stocker le nom d'un joueur ?\n" +"\n" +"C'est là que les chaînes de caractères nous aident.\n" +"\n" +"Les chaînes de caractères sont essentielles dans les jeux et les " +"applications. Nous les utilisons pour afficher des informations telles que " +"la description d'un sort ou le nom d'un personnage." + +#: course/lesson-21-strings/lesson.tres:36 +msgid "What are strings" +msgstr "Que sont les chaînes de caractères" + +#: course/lesson-21-strings/lesson.tres:38 +msgid "" +"A [code]String[/code] is a value type which holds text. To create a " +"[code]String[/code], you write text wrapped in quotation marks ([code]\"\"[/" +"code]). For example: [code]\"This is a text string.\"[/code]\n" +"\n" +"The quotation marks differentiate strings from other value types and " +"function names.\n" +"\n" +"You may remember we've used strings before in previous lessons." +msgstr "" +"Une chaîne de caractères, ou [code]String[/code], est un type de valeur qui " +"contient du texte. Pour créer un [code]String[/code], vous écrivez du texte " +"entouré de guillemets ([code]\"\"[/code]). Par exemple : [code] \"Ceci est " +"une chaîne de texte.\"[/code]\n" +"\n" +"Les guillemets différencient les chaînes de caractères des autres types de " +"valeurs et noms de fonctions.\n" +"\n" +"Vous vous souvenez peut-être que nous avons déjà utilisé des chaînes de " +"caractères dans des leçons précédentes." + +#: course/lesson-21-strings/lesson.tres:62 +msgid "" +"Under the hood, strings are arrays of characters. In fact, we can use a " +"[code]for[/code] loop to loop through the characters of a [code]String[/" +"code] as we would with any other array." +msgstr "" +"Sous le capot, les chaînes de caractères sont des tableaux de caractères. En " +"fait, nous pouvons utiliser une boucle [code]for[/code] pour parcourir les " +"caractères d'un [code]String[/code] comme nous le ferions avec n'importe " +"quel autre tableau." + +#: course/lesson-21-strings/lesson.tres:80 +msgid "Which of these are strings?" +msgstr "Lesquels de ces éléments sont des chaînes de caractères ?" + +#: course/lesson-21-strings/lesson.tres:83 +msgid "" +"[code]\"1\"[/code] and [code]\"name\"[/code] are strings.\n" +"\n" +"[code]\"1\"[/code] only contains a character and [i]doesn't[/i] represent " +"the number [code]1[/code].\n" +"\n" +"[code]\"name\"[/code] is made up of four different characters." +msgstr "" +"[code]\"1\"[/code] et [code]\"name\"[/code] sont des chaînes de caractères.\n" +"\n" +"[code]\"1\"[/code] contient uniquement un caractère et [i]ne représente pas[/" +"i] le nombre [code]1[/code].\n" +"\n" +"[code]\"name\"[/code] est composé de quatre caractères différents." + +#: course/lesson-21-strings/lesson.tres:88 +msgid "1" +msgstr "1" + +#: course/lesson-21-strings/lesson.tres:88 +#: course/lesson-21-strings/lesson.tres:89 +msgid "\"1\"" +msgstr "\"1\"" + +#: course/lesson-21-strings/lesson.tres:88 +#: course/lesson-21-strings/lesson.tres:89 +msgid "\"name\"" +msgstr "\"name\"" + +# Pourquoi utilisons-nous des chaînes de caractères ? +#: course/lesson-21-strings/lesson.tres:96 +msgid "Why we use strings" +msgstr "Pourquoi nous utilisons des chaînes de caractères" + +# d'aide +#: course/lesson-21-strings/lesson.tres:118 +msgid "" +"Every piece of text you see in this app is a string that Godot is displaying " +"for us.\n" +"\n" +"Much like how [code]Vector2[/code] variables make calculations easier, " +"[code]string[/code] variables come with many helper functions and tricks we " +"can use.\n" +"\n" +"We can use arrays to store strings too. This is useful for chaining " +"animations. In this example, the [code]play_animation()[/code] plays a " +"specific animation." +msgstr "" +"Chaque morceau de texte que vous voyez dans cette application est une chaîne " +"de caractères que Godot affiche pour nous.\n" +"\n" +"Tout comme les variables [code]Vector2[/code] facilitent les calculs, les " +"variables [code]string[/code] sont accompagnées de nombreuses fonctions " +"auxiliaires et d'astuces que nous pouvons utiliser.\n" +"\n" +"Nous pouvons également utiliser des tableaux pour stocker des chaînes de " +"caractères. Ceci est utile pour enchaîner des animations. Dans cet exemple, " +"la fonction [code]play_animation()[/code] joue une animation spécifique." + +#: course/lesson-21-strings/lesson.tres:142 +msgid "" +"In the next few practices, we'll use strings in combination with different " +"concepts from earlier lessons." +msgstr "" +"Dans les exercices suivants, nous utiliserons des chaînes de caractères en " +"combinaison avec différents concepts des leçons précédentes." + +#: course/lesson-21-strings/lesson.tres:150 +msgid "Creating string variables" +msgstr "Créer des variables de chaîne de caractères" + +#: course/lesson-21-strings/lesson.tres:151 +msgid "" +"Currently, the robot has a number stored in the [code]robot_name[/code] " +"variable. \n" +"\n" +"Change the [code]robot_name[/code] variable so that it's a string instead. " +"You can give it any name you'd like." +msgstr "" +"Actuellement, le robot a un nombre enregistré dans la variable " +"[code]robot_name[/code].\n" +"\n" +"Modifiez la variable [code]robot_name[/code] pour qu'elle soit une chaîne de " +"caractères à la place. Vous pouvez lui donner le nom que vous souhaitez." + +#: course/lesson-21-strings/lesson.tres:163 +msgid "Give the robot a readable name using a string stored in a variable." +msgstr "" +"Donnez au robot un nom lisible en utilisant une chaîne de caractères stockée " +"dans une variable." + +#: course/lesson-21-strings/lesson.tres:168 +msgid "Using an array of strings to play a combo" +msgstr "Utiliser un tableau de chaînes de caractères pour jouer un combo" + +#: course/lesson-21-strings/lesson.tres:169 +msgid "" +"In this practice, we'll chain together animations using an array of strings. " +"You might find such combinations in fighting games.\n" +"\n" +"The robot has the following animation names:\n" +"\n" +"- [code]jab[/code] (makes the robot perform a quick punch)\n" +"- [code]uppercut[/code] (the robot uses a powerful jumping punch)\n" +"\n" +"Populate the combo array with animation names as strings.\n" +"\n" +"Then, for each action in the array, call the [code]play_animation()[/code] " +"function to play them.\n" +"\n" +"The array should contain three values, so the robot makes these three " +"attacks: two jabs followed by one uppercut." +msgstr "" +"Dans cet exercice, nous allons enchaîner des animations à l'aide d'un " +"tableau de chaînes de caractères. Vous pourriez trouver de telles " +"combinaisons dans les jeux de combat.\n" +"\n" +"Le robot a les noms d'animation suivants :\n" +"\n" +"- [code]jab[/code] (le robot donne un coup de poing rapide)\n" +"- [code]uppercut[/code] (le robot utilise un puissant coup de poing en " +"sautant)\n" +"\n" +"Remplissez le tableau de combos avec les noms des animations sous forme de " +"chaînes de caractères.\n" +"\n" +"Ensuite, pour chaque action du tableau, appelez la fonction " +"[code]play_animation()[/code] pour les jouer.\n" +"\n" +"Le tableau doit contenir trois valeurs, de sorte que le robot effectue ces " +"trois attaques : deux jabs suivis d'un uppercut." + +#: course/lesson-21-strings/lesson.tres:190 +msgid "Define an array of strings to unleash a powerful combo." +msgstr "Définissez un tableau de chaînes pour déclencher un combo puissant." + +#: course/lesson-21-strings/lesson.tres:194 +msgid "Strings" +msgstr "Chaînes de caractères" diff --git a/i18n/fr/lesson-22-functions-return-values.po b/i18n/fr/lesson-22-functions-return-values.po new file mode 100644 index 00000000..61197c31 --- /dev/null +++ b/i18n/fr/lesson-22-functions-return-values.po @@ -0,0 +1,271 @@ +# 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 \n" +"Language-Team: French \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-22-functions-return-values/lesson.tres:13 +msgid "" +"Until now, you learned that functions are sequences of instructions you give " +"a name and you can call any time.\n" +"\n" +"On top of that, functions can make calculations and [i]return[/i] new " +"values.\n" +"\n" +"Let's look at some examples to see why it's useful." +msgstr "" +"Jusqu'à présent, vous avez appris que les fonctions sont des séquences " +"d'instructions auxquelles vous donnez un nom et que vous pouvez appeler à " +"tout moment.\n" +"\n" +"En plus de cela, les fonctions peuvent effectuer des calculs et " +"[i]retourner[/i] de nouvelles valeurs.\n" +"\n" +"Voyons quelques exemples pour comprendre pourquoi c'est utile." + +#: course/lesson-22-functions-return-values/lesson.tres:25 +msgid "Built-in functions that return a value" +msgstr "Fonctions intégrées qui renvoient une valeur" + +#: course/lesson-22-functions-return-values/lesson.tres:27 +msgid "" +"Many functions built into GDScript make calculations and return a new " +"value.\n" +"\n" +"For example, the [code]round()[/code] function takes a decimal number as an " +"argument and gives you back a new number rounded to the nearest digit." +msgstr "" +"De nombreuses fonctions intégrées dans GDScript effectuent des calculs et " +"renvoient une nouvelle valeur.\n" +"\n" +"Par exemple, la fonction [code]round()[/code] prend un nombre décimal comme " +"argument et vous renvoie un nouveau nombre arrondi au chiffre le plus proche." + +# Lorsque vous affichez la santé +#: course/lesson-22-functions-return-values/lesson.tres:49 +msgid "" +"Imagine you have a game where you track the player's health as a percentage, " +"a decimal number going from [code]0.0[/code] to [code]100.0[/code].\n" +"\n" +"When displaying the health on the interface, you don't want to show the " +"decimal part. In that case, you may use the [code]round()[/code] function, " +"like so." +msgstr "" +"Imaginez que vous ayez un jeu où vous suivez la santé du joueur sous forme " +"de pourcentage, un nombre décimal allant de [code]0.0[/code] à [code]100." +"0[/code].\n" +"\n" +"Lors de l'affichage de la santé sur l'interface, vous ne voulez pas montrer " +"la partie décimale. Dans ce cas, vous pouvez utiliser la fonction " +"[code]round()[/code], comme ceci." + +#: course/lesson-22-functions-return-values/lesson.tres:71 +msgid "" +"Notice how we assign the result of the function call to a variable. Because " +"the [code]round()[/code] function returns a [i]new[/i] value, we need to " +"either store the result or use the value immediately.\n" +"\n" +"Above, we assigned it to a variable, but you could also do the following." +msgstr "" +"Remarquez comment nous assignons le résultat de l'appel de la fonction à une " +"variable. Comme la fonction [code]round()[/code] renvoie une [i]nouvelle[/i] " +"valeur, nous devons stocker le résultat ou l'utiliser immédiatement.\n" +"\n" +"Ci-dessus, nous avons assigné le résultat à une variable, mais vous pourriez " +"également faire ce qui suit." + +#: course/lesson-22-functions-return-values/lesson.tres:93 +msgid "" +"You can assign the return value of a function call if you plan on using it " +"more than once." +msgstr "" +"Vous pouvez assigner la valeur de retour d'un appel de fonction si vous " +"prévoyez de l'utiliser plusieurs fois." + +#: course/lesson-22-functions-return-values/lesson.tres:101 +msgid "A cooler example: lerp()" +msgstr "Un exemple un peu plus intéressant : lerp()" + +#: course/lesson-22-functions-return-values/lesson.tres:103 +msgid "" +"The [code]lerp()[/code] function, short for [i]linear interpolate[/i], " +"calculates and returns a weighted average between two values.\n" +"\n" +"It takes three arguments: the two values to average and a value between " +"[code]0.0[/code] and [code]1.0[/code] to skew the result.\n" +"\n" +"In game programming, it's used to animate things moving towards a target " +"with a single line of code." +msgstr "" +"La fonction [code]lerp()[/code] (abréviation du terme en anglais [i]linear " +"interpolate[/i] qui veut dire « interpolation linéaire ») calcule et renvoie " +"une moyenne pondérée entre deux valeurs.\n" +"\n" +"Elle prend trois arguments : les deux valeurs pour faire la moyenne et une " +"valeur entre [code]0.0[/code] et [code]1.0[/code] pour biaiser le résultat.\n" +"\n" +"Dans la programmation de jeux, elle est utilisée pour animer des choses qui " +"se déplacent vers une cible avec une seule ligne de code." + +#: course/lesson-22-functions-return-values/lesson.tres:137 +msgid "" +"Every frame, the code calculates a position somewhere between the turtle and " +"the mouse cursor. The [code]lerp()[/code] function takes care of " +"everything.\n" +"\n" +"It's not the most robust approach for smooth movement, as you'll learn in " +"the future, but it's a helpful function nonetheless." +msgstr "" +"À chaque image, le code calcule une position quelque part entre la tortue et " +"le curseur de la souris. La fonction [code]lerp()[/code] s'occupe de tout.\n" +"\n" +"Ce n'est pas l'approche la plus robuste pour un mouvement fluide, comme vous " +"l'apprendrez plus tard, mais c'est néanmoins une fonction utile." + +#: course/lesson-22-functions-return-values/lesson.tres:147 +msgid "Writing a function that returns a value" +msgstr "Écrire une fonction qui renvoie une valeur" + +#: course/lesson-22-functions-return-values/lesson.tres:149 +msgid "" +"You can make [i]your[/i] functions return values.\n" +"\n" +"To make a function return a value, you use the [code]return[/code] keyword " +"followed by the value in question.\n" +"\n" +"In previous lessons, we had characters walking on grids.\n" +"\n" +"And for those practices, you were working directly with cell coordinates.\n" +"\n" +"Well, cell coordinates don't correspond to positions on the screen. To find " +"the center of any cell on the screen, we need to convert the cell's " +"coordinates to a position on the screen, in pixels." +msgstr "" +"Vous pouvez faire en sorte que [i]vos[/i] fonctions renvoient des valeurs.\n" +"\n" +"Pour qu'une fonction renvoie une valeur, vous utilisez le mot-clé " +"[code]return[/code] suivi de la valeur en question.\n" +"\n" +"Dans les leçons précédentes, nous avions des personnages qui marchaient sur " +"des grilles.\n" +"\n" +"Et pour ces pratiques, vous travailliez directement avec les coordonnées des " +"cases.\n" +"\n" +"Eh bien, les coordonnées des cases ne correspondent pas aux positions sur " +"l'écran. Pour trouver le centre d'une cellule sur l'écran, nous devons " +"convertir les coordonnées de la cellule en une position sur l'écran, en " +"pixels." + +#: course/lesson-22-functions-return-values/lesson.tres:177 +msgid "" +"To do so, we use a function. The function does two things:\n" +"\n" +"1. First, it multiplies the cell coordinates by the cell size, which gives " +"us the position of the cell's top-left corner on the screen, in pixels.\n" +"2. Then, we add half of the cell size to get the center of the cell.\n" +"\n" +"The function returns the result, allowing us to store it in a variable." +msgstr "" +"Pour ce faire, nous utilisons une fonction. La fonction fait deux choses :\n" +"\n" +"1. Premièrement, elle multiplie les coordonnées de la case par sa taille, ce " +"qui nous donne la position du coin supérieur gauche de la case sur l'écran, " +"en pixels.\n" +"2. Ensuite, nous ajoutons la moitié de la taille de la case pour obtenir le " +"centre de la case.\n" +"\n" +"La fonction renvoie le résultat, ce qui nous permet de le stocker dans une " +"variable." + +#: course/lesson-22-functions-return-values/lesson.tres:202 +msgid "" +"The [code]return[/code] keyword returns the value to the code calling the " +"function. You'll receive the result where you call the function." +msgstr "" +"Le mot-clé [code]return[/code] renvoie la valeur au code qui appelle la " +"fonction. Vous recevrez le résultat à l'endroit où vous appelez la fonction." + +# dans quelques leçons +#: course/lesson-22-functions-return-values/lesson.tres:222 +msgid "" +"Some functions return values, and some do not. During practices, you can " +"learn which functions return a value using the documentation panel. It will " +"display if the practice requires using specific functions or variables.\n" +"\n" +"There, functions that start with the term [code]void[/code] do not return a " +"value. Any other term means the function does return a value. You'll learn " +"more about what other terms mean in a couple of lessons when we explore " +"value [i]types[/i].\n" +"\n" +"For now, let's practice returning values from functions!" +msgstr "" +"Certaines fonctions renvoient des valeurs, et d'autres non. Vous pouvez " +"apprendre quelles fonctions renvoient un résultat à l'aide du panneau de " +"documentation dans l'écran des pratiques. Il s'affichera si l'exercice " +"requiert l'utilisation de fonctions ou de variables spécifiques.\n" +"\n" +"Là, les fonctions qui commencent par le terme [code]void[/code] ne renvoient " +"pas de valeur. Tout autre terme signifie que la fonction renvoie une valeur. " +"Vous en apprendrez plus sur la signification des autres termes dans quelques " +"leçons lorsque nous explorerons les [i]types[/i] de valeur.\n" +"\n" +"Pour l'instant, entraînons-nous à renvoyer des valeurs à partir de fonctions " +"!" + +#: course/lesson-22-functions-return-values/lesson.tres:234 +msgid "Converting coordinates from the grid to the screen" +msgstr "Convertir les coordonnées de la grille à l'écran" + +#: course/lesson-22-functions-return-values/lesson.tres:235 +msgid "" +"Define a function that converts a position on a grid to the screen.\n" +"\n" +"The function takes a [code]Vector2[/code] cell coordinate as an argument. It " +"should return the corresponding [code]Vector2[/code] screen coordinates at " +"the center of the cell." +msgstr "" +"Définissez une fonction qui convertit une position sur une grille à " +"l'écran.\n" +"\n" +"La fonction prend une coordonnée de case [code]Vector2[/code] comme " +"argument. Elle doit renvoyer les coordonnées d'écran [code]Vector2[/code] " +"correspondantes au centre de la case." + +#: course/lesson-22-functions-return-values/lesson.tres:249 +msgid "" +"We lost the function to convert grid coordinates, but we desperately need it " +"for our game! Make the turtle move again by coding it." +msgstr "" +"Nous avons perdu la fonction permettant de convertir les coordonnées de la " +"grille, mais nous en avons désespérément besoin pour notre jeu ! Faites " +"bouger la tortue à nouveau en la codant." + +#: course/lesson-22-functions-return-values/lesson.tres:253 +msgid "Functions that return a value" +msgstr "Fonctions qui renvoient une valeur" + +#~ msgid "" +#~ "To do so, we use a function. It multiplies the cell coordinate by the " +#~ "cell size, adds half the cell size to the product, and returns the result." +#~ msgstr "" +#~ "Pour ce faire, nous utilisons une fonction. Elle multiplie la coordonnée " +#~ "de la case par la taille de la case, ajoute la moitié de la taille de la " +#~ "case au produit et renvoie le résultat." diff --git a/i18n/fr/lesson-23-append-to-arrays.po b/i18n/fr/lesson-23-append-to-arrays.po new file mode 100644 index 00000000..6a8f8a46 --- /dev/null +++ b/i18n/fr/lesson-23-append-to-arrays.po @@ -0,0 +1,324 @@ +# 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-06-08 15:10+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-23-append-to-arrays/lesson.tres:13 +msgid "" +"In previous lessons, you learned how to create arrays to store lists of " +"values and how to loop over them. It's nice, but you won't go far with only " +"that.\n" +"\n" +"The real strength of arrays is that you can add and remove values from them " +"at any time. It allows you to [i]queue[/i] or [i]stack[/i] data." +msgstr "" +"Dans les leçons précédentes, vous avez appris à créer des tableaux pour " +"stocker des listes de valeurs et à les parcourir en boucle. C'est très bien, " +"mais vous n'irez pas loin avec seulement ça.\n" +"\n" +"La vraie force des tableaux est que vous pouvez y ajouter et en supprimer " +"des valeurs à tout moment. Cela vous permet de mettre en [i]file d'attente[/" +"i] ou [i]d'empiler[/i] des données." + +#: course/lesson-23-append-to-arrays/lesson.tres:25 +msgid "For now, let's take another example." +msgstr "Pour l'instant, prenons un autre exemple." + +#: course/lesson-23-append-to-arrays/lesson.tres:33 +msgid "Tracking orders in a restaurant management game" +msgstr "Suivi des commandes dans un jeu de gestion de restaurant" + +#: course/lesson-23-append-to-arrays/lesson.tres:35 +msgid "" +"You're making a restaurant management game where customers place orders, and " +"you need to handle them as they come.\n" +"\n" +"In this game, customers order meals that end up in a queue. You need to " +"prepare them in the kitchen.\n" +"\n" +"In this example, we simulate orders arriving and getting completed over time." +msgstr "" +"Vous créez un jeu de gestion de restaurant où les clients passent des " +"commandes et vous devez les gérer au fur et à mesure qu'elles arrivent.\n" +"\n" +"Dans ce jeu, les clients commandent des repas qui se retrouvent dans une " +"file d'attente. Vous devez les préparer dans la cuisine.\n" +"\n" +"Dans cet exemple, nous simulons des commandes qui arrivent et qui sont " +"complétées au fil du temps." + +#: course/lesson-23-append-to-arrays/lesson.tres:59 +msgid "" +"How do you keep track of pending and completed orders? With an array!\n" +"\n" +"When a customer purchases a meal, you want to [i]append[/i] it to the array. " +"Then, as you complete a meal in the kitchen and serve it, you want to remove " +"it from the array.\n" +"\n" +"You can do that with the [code]append()[/code] and the [code]pop_front()[/" +"code] functions of the array, respectively.\n" +"\n" +"Try to read the code below before moving on. Don't worry if not everything " +"makes sense, as we'll break it all down." +msgstr "" +"Comment faites-vous le suivi des commandes en attente et terminées ? Avec un " +"tableau !\n" +"\n" +"Lorsqu'un client achète un repas, vous voudriez [i]l'ajouter[/i] au tableau. " +"Ensuite, lorsque vous terminez un repas dans la cuisine et que vous le " +"servez, vous voudriez le supprimer du tableau.\n" +"\n" +"Vous pouvez le faire avec les fonctions [code]append()[/code] et " +"[code]pop_front()[/code] du tableau, respectivement.\n" +"\n" +"Essayez de lire le code ci-dessous avant de continuer. Ne vous inquiétez pas " +"si tout n'a pas de sens, car nous allons tout décomposer." + +#: course/lesson-23-append-to-arrays/lesson.tres:85 +msgid "" +"Notice how we call some functions by writing a dot after a variable name. " +"Like a given value type can have sub-variables, it can also have its own " +"functions.\n" +"\n" +"Functions like [code]append()[/code] and [code]pop_front()[/code] only exist " +"on arrays. That's why to call them, we need to access it from the array " +"using the dot: [code]array.append()[/code]." +msgstr "" +"Remarquez comment nous appelons certaines fonctions en écrivant un point " +"après le nom d'une variable. Comme un type de valeur donné peut avoir des " +"sous-variables, il peut aussi avoir ses propres fonctions.\n" +"\n" +"Des fonctions comme [code]append()[/code] et [code]pop_front()[/code] " +"n'existent que sur les tableaux. C'est pourquoi pour les appeler, nous " +"devons y accéder depuis le tableau en utilisant le point : [code]array." +"append()[/code]." + +#: course/lesson-23-append-to-arrays/lesson.tres:97 +msgid "" +"Let's break down the code.\n" +"\n" +"We queue orders in the [code]waiting_orders[/code] array by appending them " +"to the array." +msgstr "" +"Décomposons le code.\n" +"\n" +"Nous mettons les commandes en file d'attente dans le tableau " +"[code]waiting_orders[/code] en les ajoutant au tableau." + +#: course/lesson-23-append-to-arrays/lesson.tres:119 +msgid "" +"We can use a string to represent a meal when calling the [code]add_order()[/" +"code] function." +msgstr "" +"Nous pouvons utiliser une chaîne de caractères pour représenter un repas " +"lorsque nous appelons la fonction [code]add_order()[/code]." + +# Lorsque le joueur termine une commande +#: course/lesson-23-append-to-arrays/lesson.tres:139 +msgid "" +"When completing an order, we remove it from the [code]waiting_orders[/code] " +"array by calling its [code]pop_front()[/code] function. This function gives " +"us the order back, which allows us to assign it to a temporary variable." +msgstr "" +"Lorsqu'une commande est terminée, nous la retirons du tableau " +"[code]waiting_orders[/code] en appelant sa fonction [code]pop_front()[/" +"code]. Cette fonction nous renvoie la commande, ce qui nous permet de " +"l'assigner à une variable temporaire." + +#: course/lesson-23-append-to-arrays/lesson.tres:159 +msgid "" +"We can then append the order to our [code]completed_orders[/code] array." +msgstr "" +"Nous pouvons ensuite ajouter la commande à notre tableau de commandes " +"complétées appelé [code]completed_orders[/code]." + +#: course/lesson-23-append-to-arrays/lesson.tres:179 +msgid "" +"We call arrays like [code]waiting_orders[/code] a [i]queue[/i]: the first " +"element we append to the array is the first one we remove." +msgstr "" +"Nous appelons des tableaux comme [code]waiting_orders[/code] une [i]file " +"d'attente[/i] (en anglais [i]queue[/i]) : le premier élément que nous " +"ajoutons au tableau est le premier que nous retirons." + +#: course/lesson-23-append-to-arrays/lesson.tres:187 +msgid "What does #... mean?" +msgstr "Que signifie #... ?" + +#: course/lesson-23-append-to-arrays/lesson.tres:189 +msgid "" +"We write [code]#...[/code] to represent ellipses in the code. It means " +"\"we're completing the function's code.\" We use that to break down code " +"examples and make them easier to learn from.\n" +"\n" +"The hash sign itself marks the start of a code comment. It's a line the " +"computer will ignore, which is why it typically appears in grey." +msgstr "" +"Nous écrivons [code]#...[/code] pour représenter des ellipses dans le code. " +"Cela signifie « nous sommes en train de compléter le code de la fonction ». " +"Nous utilisons cela pour décomposer les exemples de code et les rendre plus " +"faciles à apprendre.\n" +"\n" +"Le signe dièse lui-même marque le début d'un commentaire de code. C'est une " +"ligne que l'ordinateur ignorera, c'est pourquoi elle apparaît généralement " +"en gris." + +#: course/lesson-23-append-to-arrays/lesson.tres:199 +msgid "Using arrays as stacks" +msgstr "Utiliser des tableaux comme des piles" + +#: course/lesson-23-append-to-arrays/lesson.tres:201 +msgid "" +"Another common use of arrays is [i]stacks[/i] of data.\n" +"\n" +"Take a factory management game where you need to retrieve materials from " +"stacks of crates. They arrive at the factory piled up vertically, and you " +"need to take them from top to bottom." +msgstr "" +"Une autre utilisation courante des tableaux est les [i]piles[/i] de " +"données.\n" +"\n" +"Prenez un jeu de gestion d'usine où vous devez récupérer des matériaux dans " +"des piles de caisses. Elles arrivent à l'usine empilées verticalement, et " +"vous devez les prendre de haut en bas." + +#: course/lesson-23-append-to-arrays/lesson.tres:223 +msgid "" +"To take a crate from the back of the array, this time, we use the " +"[code]pop_back()[/code] array function.\n" +"\n" +"This function removes (pops) the last value from the array and returns it to " +"you.\n" +"\n" +"Here we pop the last value of the array and print what's left of the array " +"to demonstrate how the array gets smaller." +msgstr "" +"Pour prendre une caisse à l'arrière du tableau, cette fois, nous utilisons " +"la fonction de tableau [code]pop_back()[/code].\n" +"\n" +"Cette fonction retire la dernière valeur du tableau et vous la renvoie.\n" +"\n" +"Ici, nous sortons la dernière valeur du tableau et imprimons ce qui reste du " +"tableau pour montrer comment le tableau devient plus petit." + +#: course/lesson-23-append-to-arrays/lesson.tres:247 +msgid "" +"Like [code]pop_front()[/code], the function returns the value removed from " +"the array. You will often store that value in a variable.\n" +"\n" +"The value in question could be the crate's content, which you can then use " +"to give resources to the player.\n" +"\n" +"In the following practices, you will use the [code]append()[/code], " +"[code]pop_front()[/code], and [code]pop_back()[/code] array functions." +msgstr "" +"Comme [code]pop_front()[/code], la fonction renvoie la valeur retirée du " +"tableau. Vous stockerez souvent cette valeur dans une variable.\n" +"\n" +"La valeur en question pourrait être le contenu de la caisse, que vous " +"pourrez ensuite utiliser pour donner des ressources au joueur.\n" +"\n" +"Dans les exercices suivants, vous allez utiliser les fonctions de tableau " +"[code]append()[/code], [code]pop_front()[/code] et [code]pop_back()[/code]." + +#: course/lesson-23-append-to-arrays/lesson.tres:259 +msgid "Completing orders" +msgstr "Compléter des commandes" + +#: course/lesson-23-append-to-arrays/lesson.tres:260 +msgid "" +"The [code]waiting_orders[/code] array will be filled over time.\n" +"\n" +"Your job is to move orders from the waiting list to the " +"[code]completed_orders[/code] list using the array's [code]append()[/code] " +"and [code]pop_front()[/code] functions.\n" +"\n" +"Remember that the array's [code]pop_front()[/code] function returns the " +"popped value, which allows you to store it in a variable and then pass it to " +"another function." +msgstr "" +"Le tableau de commandes de la liste d'attente ([code]waiting_orders[/code]) " +"sera rempli au fil du temps.\n" +"\n" +"Votre travail consiste à déplacer les commandes de la liste d'attente vers " +"la liste des commandes complétées ([code]completed_orders[/code]) à l'aide " +"des fonctions [code]append()[/code] et [code]pop_front()[/code] du tableau.\n" +"\n" +"N'oubliez pas que la fonction [code]pop_front()[/code] du tableau renvoie la " +"valeur extraite, ce qui vous permet de la stocker dans une variable, et " +"puis, de la transmettre à une autre fonction." + +#: course/lesson-23-append-to-arrays/lesson.tres:277 +msgid "" +"Orders are piling up in the kitchen, and we need to clear them fast using " +"the array's [code]pop_front()[/code] function." +msgstr "" +"Les commandes s'accumulent dans la cuisine et nous devons les compléter " +"rapidement en utilisant la fonction [code]pop_front()[/code] du tableau." + +# Se débarraser des caises +#: course/lesson-23-append-to-arrays/lesson.tres:282 +msgid "Clearing up the crates" +msgstr "Déplacer les caisses" + +# verrouiller +#: course/lesson-23-append-to-arrays/lesson.tres:283 +msgid "" +"Crates are piling up on the platform. Move them out of the way by popping " +"them from the [code]crates[/code] array.\n" +"\n" +"You need to remove them from top to bottom using the array's [code]pop_back()" +"[/code] function.\n" +"\n" +"Your code should remove all the crates in the array using a while loop.\n" +"\n" +"[b]Careful![/b] if you run a while loop carelessly, you can lock the " +"software.\n" +"\n" +"You can check if the [code]crates[/code] array still contains values by " +"writing [code]while crates:[/code]" +msgstr "" +"Les caisses s'empilent sur la plateforme. Déplacez-les en les enlevant du " +"tableau [code]crates[/code].\n" +"\n" +"Vous devez les retirer de haut en bas à l'aide de la fonction " +"[code]pop_back()[/code] du tableau.\n" +"\n" +"Votre code doit retirer toutes les caisses du tableau en utilisant une " +"boucle while.\n" +"\n" +"[b]Attention ![/b] Si vous exécutez une boucle while sans précaution, vous " +"pouvez bloquer le logiciel.\n" +"\n" +"Vous pouvez vérifier si le tableau [code]crates[/code] contient encore des " +"valeurs en écrivant [code]while crates:[/code]" + +#: course/lesson-23-append-to-arrays/lesson.tres:303 +msgid "" +"Crates are piling up on the platform. Move them out of the way by popping " +"them from their array." +msgstr "" +"Des caisses s'empilent sur la plateforme. Déplacez-les en les retirant de " +"leur tableau." + +#: course/lesson-23-append-to-arrays/lesson.tres:307 +msgid "Appending and popping values from arrays" +msgstr "Ajouter et enlever des valeurs des tableaux" diff --git a/i18n/fr/lesson-24-access-array-indices.po b/i18n/fr/lesson-24-access-array-indices.po new file mode 100644 index 00000000..065f7e13 --- /dev/null +++ b/i18n/fr/lesson-24-access-array-indices.po @@ -0,0 +1,281 @@ +# 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-06-08 15:10+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-24-access-array-indices/lesson.tres:14 +msgid "" +"You learned to loop over all the values in an array using the [code]for[/" +"code] keyword." +msgstr "" +"Vous avez appris à boucler sur toutes les valeurs d'un tableau en utilisant " +"le mot-clé [code]for[/code]." + +#: course/lesson-24-access-array-indices/lesson.tres:34 +msgid "" +"But what if you need to access the third item in the player's inventory? The " +"tenth item?\n" +"\n" +"There's a dedicated notation to access one element in an array by index.\n" +"\n" +"To do so, you use square brackets with a number inside the brackets." +msgstr "" +"Mais que se passe-t-il si vous avez besoin d'accéder au troisième objet de " +"l'inventaire du joueur ? Le dixième objet ?\n" +"\n" +"Il existe une notation dédiée pour accéder à un élément d'un tableau par " +"indice.\n" +"\n" +"Pour ce faire, vous utilisez des crochets avec un nombre à l'intérieur des " +"crochets." + +#: course/lesson-24-access-array-indices/lesson.tres:58 +msgid "Index zero is the [i]first[/i] element in the array." +msgstr "L'indice zéro est le [i]premier[/i] élément du tableau." + +#: course/lesson-24-access-array-indices/lesson.tres:78 +msgid "" +"Index one is the [i]second[/i] element in the array, and so on.\n" +"\n" +"You would access the [i]fourth[/i] element in the [code]inventory[/code] " +"array like so." +msgstr "" +"L'indice un est le [i]deuxième[/i] élément du tableau, et ainsi de suite.\n" +"\n" +"Vous accéderiez au [i]quatrième[/i] élément du tableau [code]inventaire[/" +"code] comme suit." + +#: course/lesson-24-access-array-indices/lesson.tres:98 +msgid "" +"How would you access the [i]third[/i] item in the [code]inventory[/code] " +"array?" +msgstr "" +"Comment accéderiez-vous au [i]troisième[/i] élément du tableau " +"[code]inventory[/code] ?" + +#: course/lesson-24-access-array-indices/lesson.tres:101 +msgid "" +"Indices start at zero, so the index of the [i]third[/i] item is [code]2[/" +"code]. That's why you need to write [code]inventory[2][/code]." +msgstr "" +"Les indices commencent à zéro, donc l'indice du [i]troisième[/i] élément est " +"[code]2[/code]. C'est pourquoi vous devez écrire [code]inventory[2][/code]." + +#: course/lesson-24-access-array-indices/lesson.tres:102 +#: course/lesson-24-access-array-indices/lesson.tres:103 +msgid "inventory[2]" +msgstr "inventory[2]" + +#: course/lesson-24-access-array-indices/lesson.tres:102 +msgid "inventory[3]" +msgstr "inventory[3]" + +#: course/lesson-24-access-array-indices/lesson.tres:110 +msgid "Accessing the last values with negative indices" +msgstr "Accéder aux dernières valeurs avec des indices négatifs" + +#: course/lesson-24-access-array-indices/lesson.tres:112 +msgid "" +"What if you want to access the last or second-before-last item in the " +"[code]inventory[/code]?\n" +"\n" +"In that case, you can use negative indices. If you write [code]-1[/code] in " +"the brackets, you will get the last item in the array. You will get the " +"second-to-last item if you write [code]-2[/code]." +msgstr "" +"Et si vous voulez accéder au dernier ou à l'avant-dernier objet du tableau " +"[code]inventory[/code] ?\n" +"\n" +"Dans ce cas, vous pouvez utiliser des indices négatifs. Si vous écrivez " +"[code]-1[/code] dans les parenthèses, vous obtiendrez le dernier élément du " +"tableau. Vous obtiendrez l'avant-dernier élément si vous écrivez [code]-2[/" +"code]." + +#: course/lesson-24-access-array-indices/lesson.tres:134 +msgid "" +"That's very convenient when you need to quickly access elements from the end " +"of the list." +msgstr "" +"C'est très pratique lorsque vous avez besoin d'accéder rapidement aux " +"éléments de la fin de la liste." + +# antépénultième element +#: course/lesson-24-access-array-indices/lesson.tres:142 +msgid "How would you access the third-to-last item in the inventory array?" +msgstr "" +"Comment accéderiez-vous à l'élément qui précède l'avant-dernier élément du " +"tableau d'inventaire ?" + +# donc [code]-3[/code] sera le deuxième avant-dernier +#: course/lesson-24-access-array-indices/lesson.tres:145 +msgid "" +"When using negative indices, [code]-1[/code] means the [i]last[/i] element " +"in the array. Index [code]-2[/code] will be the second-to-last, thus " +"[code]-3[/code] will be the third-to-last.\n" +"\n" +"It can be little confusing as it seems to work differently from positive " +"indices. However, it's because there's no difference between index [code]0[/" +"code] and [code]-0[/code]: they both point to the first item in the array." +msgstr "" +"Lorsque vous utilisez des indices négatifs, [code]-1[/code] signifie le " +"[i]dernier[/i] élément du tableau. L'indice [code]-2[/code] sera l'avant-" +"dernier, donc [code]-3[/code] sera l'élément qui précède l'avant-dernier.\n" +"\n" +"Cela peut être un peu déroutant car il semble fonctionner différemment des " +"indices positifs. Cependant, c'est parce qu'il n'y a pas de différence entre " +"les indices [code]0[/code] et [code]-0[/code] : ils pointent tous les deux " +"vers le premier élément du tableau." + +#: course/lesson-24-access-array-indices/lesson.tres:148 +#: course/lesson-24-access-array-indices/lesson.tres:149 +msgid "inventory[-3]" +msgstr "inventory[-3]" + +#: course/lesson-24-access-array-indices/lesson.tres:148 +msgid "inventory[-2]" +msgstr "inventory[-2]" + +#: course/lesson-24-access-array-indices/lesson.tres:156 +msgid "You can't access non-existent indices" +msgstr "Vous ne pouvez pas accéder à des index inexistants" + +# hic +#: course/lesson-24-access-array-indices/lesson.tres:158 +msgid "" +"There's a catch with this syntax: if you try to access an index that does " +"not exist, you will get an error. You have to be careful always to access " +"existing elements in the array.\n" +"\n" +"There are a couple of ways you can check for valid indices. One of them is " +"checking the array's size." +msgstr "" +"Il y a un piège avec cette syntaxe : si vous essayez d'accéder à un indice " +"qui n'existe pas, vous obtiendrez une erreur. Vous devez toujours faire " +"attention à accéder aux éléments existants dans le tableau.\n" +"\n" +"Il existe plusieurs façons de vérifier les indices valides. L'une d'entre " +"elles consiste à vérifier la taille du tableau." + +#: course/lesson-24-access-array-indices/lesson.tres:170 +msgid "" +"[b]Checking the size of the array[/b]\n" +"\n" +"Arrays come with a member function named [code]size()[/code]. You can call " +"it on the array anytime to know its [i]current[/i] size." +msgstr "" +"[b]Vérifier la taille du tableau[/b]\n" +"\n" +"Les tableaux sont fournis avec une fonction membre nommée [code]size()[/" +"code]. Vous pouvez l'appeler sur le tableau à tout moment pour connaître sa " +"taille [i]actuelle[/i]." + +#: course/lesson-24-access-array-indices/lesson.tres:192 +msgid "" +"The maximum index you can access in an array is [code]array.size() - 1[/" +"code]: it's the last item in the array." +msgstr "" +"L'indice maximum auquel vous pouvez accéder dans un tableau est [code]array." +"size() - 1[/code] : c'est le dernier élément du tableau." + +#: course/lesson-24-access-array-indices/lesson.tres:212 +msgid "" +"In the following practices, you will use array indices to realign train " +"tracks and grab the correct item in an inventory." +msgstr "" +"Dans la pratique suivante, vous allez utiliser des indices de tableau pour " +"réaligner des voies ferrées et saisir l'article correct d'un inventaire." + +#: course/lesson-24-access-array-indices/lesson.tres:220 +msgid "Using the right items" +msgstr "Utiliser les bons objets" + +#: course/lesson-24-access-array-indices/lesson.tres:221 +msgid "" +"In our game, the player has an inventory that works as an array under the " +"hood.\n" +"\n" +"They want to equip a sword and a shield to buff their characters. Like " +"before, we need you to find them in the array.\n" +"\n" +"You need to access elements in the [code]inventory[/code] array by index to " +"do so.\n" +"\n" +"Call the [code]use_item()[/code] function with the item as an argument to " +"use an item. For example, you can use the first item by calling " +"[code]use_item(inventory[0])[/code]." +msgstr "" +"Dans notre jeu, le joueur a un inventaire qui fonctionne comme un tableau " +"sous le capot.\n" +"\n" +"Il veut équiper une épée et un bouclier pour améliorer leurs personnages. " +"Comme avant, nous avons besoin de vous pour les trouver dans le tableau.\n" +"\n" +"Pour ce faire, vous devez accéder aux éléments du tableau [code]inventory[/" +"code] par indice.\n" +"\n" +"Appelez la fonction [code]use_item()[/code] avec l'objet comme argument pour " +"utiliser un objet. Par exemple, vous pouvez utiliser le premier élément en " +"appelant [code]use_item(inventory[0])[/code]." + +#: course/lesson-24-access-array-indices/lesson.tres:239 +msgid "Find the right items to use in the player's inventory." +msgstr "Trouvez les bons objets à utiliser dans l'inventaire du joueur." + +#: course/lesson-24-access-array-indices/lesson.tres:244 +msgid "Realigning the train tracks" +msgstr "Réalignement des voies ferrées" + +#: course/lesson-24-access-array-indices/lesson.tres:245 +msgid "" +"We have train tracks broken down into little chunks in our game. We use them " +"to make modular tracks and draw circuits of all shapes and sizes.\n" +"\n" +"However, several chunks are misaligned. You need to find them in the " +"[code]tracks[/code] array and pass them to the [code]align()[/code] " +"function.\n" +"\n" +"To do so, you need to access the array by index.\n" +"\n" +"This time, though, you need to access them with [i]negative indices[/i]." +msgstr "" +"Nous avons des vois ferrées décomposées en petits morceaux dans notre jeu. " +"Nous les utilisons pour faire des pistes modulaires et dessiner des circuits " +"de toutes formes et tailles.\n" +"\n" +"Cependant, plusieurs morceaux sont mal alignés. Vous devez les trouver dans " +"le tableau [code]tracks[/code] et les passer à la fonction [code]align()[/" +"code].\n" +"\n" +"Pour ce faire, vous devez accéder au tableau avec des indices.\n" +"\n" +"Cette fois, cependant, vous devez y accéder avec des [i]indices négatifs[/i]." + +#: course/lesson-24-access-array-indices/lesson.tres:263 +msgid "" +"Some chunks of our train tracks are misaligned, and the train can't pass. " +"Find the faulty pieces and realign them." +msgstr "" +"Certaines parties de nos rails de train sont mal alignés, et le train ne " +"peut pas passer. Trouvez les pièces défectueuses et réalignez-les." + +#: course/lesson-24-access-array-indices/lesson.tres:267 +msgid "Accessing values in arrays" +msgstr "Accéder aux valeurs dans les tableaux" diff --git a/i18n/fr/lesson-25-creating-dictionaries.po b/i18n/fr/lesson-25-creating-dictionaries.po new file mode 100644 index 00000000..256e1baf --- /dev/null +++ b/i18n/fr/lesson-25-creating-dictionaries.po @@ -0,0 +1,328 @@ +# 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: 2022-03-26 17:50+0100\n" +"PO-Revision-Date: 2023-06-08 15:10+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-25-creating-dictionaries/lesson.tres:14 +msgid "" +"In the last lesson, we used an array to represent a player's inventory.\n" +"\n" +"With just an array of item names, though, we can't easily keep track of the " +"amount of each item.\n" +"\n" +"Instead, we can bundle the item names and amounts into a single " +"[i]dictionary[/i].\n" +"\n" +"A dictionary is a data structure that allows you to map pairs of values. In " +"the pair, we call the first value a [i]key[/i] as we use it to access the " +"second.\n" +"\n" +"In other words, a dictionary has a list of [i]keys[/i], and each key points " +"to a [i]value[/i].\n" +"\n" +"To define a dictionary, we use curly brackets. A colon separates each key " +"and its value. A comma separates each key and value pair." +msgstr "" +"Dans la dernière leçon, nous avons utilisé un tableau pour représenter " +"l'inventaire d'un joueur.\n" +"\n" +"Cependant, avec juste un tableau de noms d'objets, nous ne pouvons pas " +"facilement garder trace de la quantité de chaque objet.\n" +"\n" +"Au lieu de cela, nous pouvons regrouper les noms et les quantités des objets " +"dans un seul [i]dictionnaire[/i] « dictionnary ».\n" +"\n" +"Un dictionnaire est une structure de données qui vous permet de [i]mapper[/i]" +", ou mettre en correspondance, des paires de valeurs. Dans la paire, nous " +"appelons la première valeur une [i]clé[/i] « key » car nous l'utilisons pour " +"accéder à la seconde.\n" +"\n" +"En d'autres termes, un dictionnaire possède une liste de [i]clés[/i], et " +"chaque clé pointe vers une [i]valeur[/i].\n" +"\n" +"Pour définir un dictionnaire, nous utilisons des accolades. Les deux-points " +"séparent chaque clé et sa valeur. Une virgule sépare chaque paire clé-valeur." + +#: course/lesson-25-creating-dictionaries/lesson.tres:42 +msgid "Dictionaries can hold any values" +msgstr "Les dictionnaires peuvent contenir n'importe quelles valeurs" + +#: course/lesson-25-creating-dictionaries/lesson.tres:44 +msgid "" +"Dictionaries can map about any value to any other value.\n" +"\n" +"For example, we can use the name of an item as a key and the amount as the " +"corresponding value. This makes dictionaries excellent for keeping track of " +"a player's inventory." +msgstr "" +"Les dictionnaires peuvent mapper n'importe quelle valeur avec n'importe " +"quelle autre valeur.\n" +"\n" +"Par exemple, nous pouvons utiliser le nom d'un objet comme clé et la " +"quantité comme valeur correspondante. Cela rend les dictionnaires excellents " +"pour faire un suivi de l'inventaire d'un joueur." + +#: course/lesson-25-creating-dictionaries/lesson.tres:66 +msgid "" +"Here we matched the name (a string) to the amount (a number). But a key " +"could be a string, a number, or even a vector! \n" +"\n" +"Although we can have all of these different keys, keep in mind that every " +"key has to be [i]unique[/i]. That means we [i]couldn't[/i] have a dictionary " +"like the following." +msgstr "" +"Ici, nous avons fait correspondre le nom (une chaîne de caractères) à la " +"quantité (un nombre). Mais une clé peut être une chaîne de caractères, un " +"nombre, ou même un vecteur !\n" +"\n" +"Bien que nous puissions avoir toutes ces clés différentes, gardez à l'esprit " +"que chaque clé doit être [i]unique[/i]. Cela signifie que nous [i]ne " +"pourrions pas[/i] avoir un dictionnaire comme le suivant." + +#: course/lesson-25-creating-dictionaries/lesson.tres:88 +msgid "We would get the following error." +msgstr "Nous obtiendrions l'erreur suivante." + +#: course/lesson-25-creating-dictionaries/lesson.tres:106 +msgid "In the above example, which key would cause an error?" +msgstr "Dans l'exemple ci-dessus, quelle clé provoquerait une erreur ?" + +#: course/lesson-25-creating-dictionaries/lesson.tres:109 +msgid "" +"The key [code]\"healing heart\"[/code] appears [b]twice[/b] in the " +"dictionary.\n" +"\n" +"In the above example, Godot wouldn't know whether to return [code]3[/code] " +"or [code]8[/code] when using [code]inventory[\"healing heart\"][/code]. This " +"is why keys need to be unique." +msgstr "" +"La clé [code]\"healing heart\"[/code] apparaît [b]deux fois[/b] dans le " +"dictionnaire.\n" +"\n" +"Dans l'exemple ci-dessus, Godot ne saurait pas s'il doit renvoyer [code]3[/" +"code] ou [code]8[/code] lors de l'utilisation d'[code]inventory[\"healing " +"heart\"][/code]. C'est pourquoi les clés doivent être uniques." + +#: course/lesson-25-creating-dictionaries/lesson.tres:112 +#: course/lesson-25-creating-dictionaries/lesson.tres:113 +msgid "\"healing heart\"" +msgstr "\"healing heart\" (cœur de guérison)" + +#: course/lesson-25-creating-dictionaries/lesson.tres:112 +msgid "\"shield\"" +msgstr "\"shield\" (bouclier)" + +#: course/lesson-25-creating-dictionaries/lesson.tres:112 +msgid "\"sword\"" +msgstr "\"sword\" (épée)" + +#: course/lesson-25-creating-dictionaries/lesson.tres:120 +msgid "How dictionaries work under the hood" +msgstr "Comment les dictionnaires fonctionnent sous le capot" + +#: course/lesson-25-creating-dictionaries/lesson.tres:122 +msgid "" +"Dictionaries are also called mappings or [i]associative arrays[/i]. Under " +"the hood, they use arrays and several functions to efficiently store and " +"retrieve values across arrays.\n" +"\n" +"Precisely, dictionaries use a [i]hashing algorithm[/i]. Hashing algorithms " +"convert one value into another.\n" +"\n" +"In this case, hashing consists of converting a given key into a unique whole " +"number. The dictionary then uses that number as an array's index!\n" +"\n" +"That's how a dictionary works: when you give it a key, it converts it into a " +"unique index and uses that index to retrieve the corresponding value in the " +"computer's memory.\n" +"\n" +"That's also why you can't have the same key twice: it would map to the same " +"array index, causing you to overwrite an existing value." +msgstr "" +"Les dictionnaires sont aussi appelés mappages ou [i]tableaux associatifs[/" +"i]. Sous le capot, ils utilisent des tableaux et plusieurs fonctions pour " +"stocker et récupérer efficacement des valeurs dans des tableaux.\n" +"\n" +"Précisément, les dictionnaires utilisent un [i]algorithme de hachage[/i]. " +"Les algorithmes de hachage convertissent une valeur en une autre.\n" +"\n" +"Dans ce cas, le hachage consiste à convertir une clé donnée en un nombre " +"entier unique. Le dictionnaire utilise ensuite ce nombre comme indice d'un " +"tableau !\n" +"\n" +"C'est ainsi qu'un dictionnaire fonctionne : lorsque vous lui donnez une clé, " +"il la convertit en un indice unique et utilise cet indice pour retrouver la " +"valeur correspondante dans la mémoire de l'ordinateur.\n" +"\n" +"C'est aussi pourquoi vous ne pouvez pas avoir deux fois la même clé : elle " +"correspondrait au même indice de tableau, ce qui entraînerait l'écrasement " +"d'une valeur existante." + +#: course/lesson-25-creating-dictionaries/lesson.tres:138 +msgid "Accessing values" +msgstr "Accéder aux valeurs" + +#: course/lesson-25-creating-dictionaries/lesson.tres:140 +msgid "" +"We access the value of keys by writing the dictionary name, with the key in " +"between square brackets." +msgstr "" +"Nous accédons à la valeur des clés en écrivant le nom du dictionnaire, avec " +"la clé entre crochets." + +#: course/lesson-25-creating-dictionaries/lesson.tres:168 +msgid "How would you access how many gems the player has?" +msgstr "Comment accéderiez-vous au nombre de gemmes que possède le joueur ?" + +#: course/lesson-25-creating-dictionaries/lesson.tres:171 +msgid "" +"We need to make sure the key is the same as we defined in the dictionary.\n" +"\n" +"In our case, [code]var item_count = inventory[\"gems\"][/code] is correct." +msgstr "" +"Nous devons nous assurer que la clé est la même que celle que nous avons " +"définie dans le dictionnaire.\n" +"\n" +"Dans notre cas, [code]var item_count = inventory[\"gems\"][/code] est " +"correct." + +#: course/lesson-25-creating-dictionaries/lesson.tres:174 +msgid "var item_count = inventory[\"gem\"]" +msgstr "var item_count = inventory[\"gem\"]" + +#: course/lesson-25-creating-dictionaries/lesson.tres:174 +#: course/lesson-25-creating-dictionaries/lesson.tres:175 +msgid "var item_count = inventory[\"gems\"]" +msgstr "var item_count = inventory[\"gems\"]" + +#: course/lesson-25-creating-dictionaries/lesson.tres:174 +msgid "var item_count = inventory[\"sword\"]" +msgstr "var item_count = inventory[\"sword\"]" + +#: course/lesson-25-creating-dictionaries/lesson.tres:182 +msgid "Changing values" +msgstr "Modifier les valeurs" + +#: course/lesson-25-creating-dictionaries/lesson.tres:184 +msgid "" +"We can also change values directly, which is useful in our case for adding " +"or removing items from the player's inventory." +msgstr "" +"Nous pouvons également modifier les valeurs directement, ce qui est utile " +"dans notre cas pour ajouter ou retirer des objets de l'inventaire du joueur." + +#: course/lesson-25-creating-dictionaries/lesson.tres:214 +msgid "" +"In the following practices, we'll use a dictionary to create a player " +"inventory and create a function to change the value of items." +msgstr "" +"Dans les exercices suivants, nous utiliserons un dictionnaire pour créer un " +"inventaire de joueur et créerons une fonction pour modifier la valeur des " +"objets." + +#: course/lesson-25-creating-dictionaries/lesson.tres:222 +msgid "Creating an inventory using a dictionary" +msgstr "Créer un inventaire à l'aide d'un dictionnaire" + +#: course/lesson-25-creating-dictionaries/lesson.tres:223 +msgid "" +"Let's give some items to the player.\n" +"\n" +"We use a dictionary for the player's inventory. We defined the " +"[code]inventory[/code] variable for you, but it contains no items yet.\n" +"\n" +"Give the player the following items by adding the correct keys and values to " +"the dictionary:\n" +"\n" +"- Three \"healing heart\".\n" +"- Nine \"gems\".\n" +"- One \"sword\".\n" +"\n" +"The keys should be text strings, and the values whole numbers." +msgstr "" +"Donnons quelques objets au joueur.\n" +"\n" +"Nous utilisons un dictionnaire pour l'inventaire du joueur. Nous avons " +"défini la variable [code]inventory[/code] pour vous, mais elle ne contient " +"encore aucun objet.\n" +"\n" +"Donnez au joueur les objets suivants en ajoutant les clés et les valeurs " +"correctes au dictionnaire :\n" +"\n" +"- Trois \"healing heart\" (cœurs de guérison).\n" +"- Neuf \"gems\" (gemmes).\n" +"- Une \"sword\" (épée).\n" +"\n" +"Les clés doivent être des chaînes de texte, et les valeurs des nombres " +"entiers." + +#: course/lesson-25-creating-dictionaries/lesson.tres:244 +msgid "" +"Collecting items is fun, but we need a good way to store them. Write a " +"dictionary to display the player's items." +msgstr "" +"Collectionner des objets est amusant, mais nous avons besoin d'un bon moyen " +"de les stocker. Écrivez un dictionnaire pour afficher les objets du joueur." + +#: course/lesson-25-creating-dictionaries/lesson.tres:249 +msgid "Increasing item counts" +msgstr "Augmenter le nombre d'objets" + +#: course/lesson-25-creating-dictionaries/lesson.tres:250 +msgid "" +"We want to change the item counts in the player's inventory whenever the " +"player picks up or uses an item.\n" +"\n" +"We've started the [code]add_item()[/code] function for you.\n" +"\n" +"The [code]inventory[/code] dictionary should use the [code]item_name[/code] " +"parameter as the key to access its values, and we should increase the value " +"by [code]amount[/code].\n" +"\n" +"To test this practice, we'll use your [code]add_item()[/code] function to " +"increase the item count of Healing Heart, Gems, and Sword." +msgstr "" +"Nous souhaitons modifier le nombre d'objets dans l'inventaire du joueur " +"chaque fois que celui-ci ramasse ou utilise un objet.\n" +"\n" +"Nous avons commencé la fonction [code]add_item()[/code] pour vous.\n" +"\n" +"Le dictionnaire [code]inventory[/code] doit utiliser le paramètre " +"[code]item_name[/code] comme clé pour accéder à ses valeurs, et nous devons " +"augmenter la valeur par [code]amount[/code].\n" +"\n" +"Pour tester cette pratique, nous allons utiliser votre fonction " +"[code]add_item()[/code] pour augmenter le nombre de Healing Heart, Gems, et " +"Sword." + +# ramasse un objet +#: course/lesson-25-creating-dictionaries/lesson.tres:266 +msgid "" +"The player might walk over a pick-up or find something in a chest, so we " +"need a way to change the item counts in our inventory." +msgstr "" +"Il se peut que le joueur marche sur un pick-up ou trouve quelque chose dans " +"un coffre, nous avons donc besoin d'un moyen de modifier le nombre d'objets " +"dans notre inventaire." + +#: course/lesson-25-creating-dictionaries/lesson.tres:270 +msgid "Creating Dictionaries" +msgstr "Création de dictionnaires" diff --git a/i18n/fr/lesson-26-looping-over-dictionaries.po b/i18n/fr/lesson-26-looping-over-dictionaries.po new file mode 100644 index 00000000..fed23459 --- /dev/null +++ b/i18n/fr/lesson-26-looping-over-dictionaries.po @@ -0,0 +1,211 @@ +# 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2022-05-07 16:36+0200\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\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" +"Generated-By: Babel 2.9.1\n" +"X-Generator: Poedit 3.0.1\n" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:13 +msgid "" +"Like with arrays, you can loop over dictionaries. You can loop over both " +"their keys and values.\n" +"\n" +"Let's see how it works with two examples." +msgstr "" +"Comme avec les tableaux, vous pouvez boucler sur les dictionnaires. Vous " +"pouvez effectuer une boucle sur leurs clés et leurs valeurs.\n" +"\n" +"Voyons comment cela fonctionne avec deux exemples." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:23 +msgid "Displaying an inventory's content" +msgstr "Afficher le contenu d'un inventaire" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:25 +msgid "" +"To display the player's inventory, you need to know what it contains. You " +"need the name and amount of each object.\n" +"\n" +"And from code, you can only achieve that by looping over the whole " +"dictionary and processing key-value pairs one by one.\n" +"\n" +"To get the list of keys in the dictionary, you can call its [code]keys()[/" +"code] member function." +msgstr "" +"Pour afficher l'inventaire du joueur, vous devez savoir ce qu'il contient. " +"Vous avez besoin du nom et de la quantité de chaque objet.\n" +"\n" +"Et à partir du code, vous ne pouvez pas y parvenir qu'en effectuant une " +"boucle sur l'ensemble du dictionnaire et en traitant les paires clé-valeur " +"une par une.\n" +"\n" +"Pour obtenir la liste des clés du dictionnaire, vous pouvez appeler sa " +"fonction membre [code]keys()[/code]." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:49 +msgid "" +"But it's something we do so much that you don't need to call the function.\n" +"\n" +"Instead, you can directly type the variable name in a [code]for[/code] loop " +"after the [code]in[/code] keyword. The language understands that you " +"implicitly want to loop over the dictionary's keys." +msgstr "" +"Mais c'est quelque chose que nous faisons tellement qu'il n'est pas " +"nécessaire d'appeler la fonction.\n" +"\n" +"Au lieu de cela, vous pouvez taper directement le nom de la variable dans " +"une boucle [code]for[/code] après le mot-clé [code]in[/code]. Le langage " +"comprend que vous voulez implicitement boucler sur les clés du dictionnaire." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:71 +msgid "" +"You can get the values with the syntax [code]dictionary[key][/code] as you " +"learned in the previous lesson.\n" +"\n" +"We can loop over the inventory keys, get the corresponding values, and " +"display all that information in the user interface." +msgstr "" +"Vous pouvez obtenir les valeurs avec la syntaxe [code]dictionary[key][/code] " +"comme vous l'avez appris dans la leçon précédente.\n" +"\n" +"Nous pouvons boucler sur les clés de l'inventaire, obtenir les valeurs " +"correspondantes et afficher toutes ces informations dans l'interface " +"utilisateur." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:103 +msgid "" +"Instead of printing the key-value pairs to the output console, we can code " +"and call a dedicated function that displays items in the user interface." +msgstr "" +"Au lieu d'imprimer les paires clé-valeur sur la console de sortie, nous " +"pouvons coder et appeler une fonction dédiée qui affiche les éléments dans " +"l'interface utilisateur." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:131 +msgid "Mapping grid cells to units" +msgstr "Mapper des cases de grille à des unités" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:133 +msgid "" +"We can also use a dictionary to map units to their position on a game " +"board.\n" +"\n" +"That's how you'd typically code a board game, a grid-based RPG, or a " +"tactical RPG.\n" +"\n" +"While we focused on [code]String[/code] keys so far, GDScript dictionaries " +"accept any value type as a key, allowing you to map anything to anything.\n" +"\n" +"The only limitation is that every key must be unique." +msgstr "" +"Nous pouvons également utiliser un dictionnaire pour mapper des unités à " +"leur position sur un plateau de jeu.\n" +"\n" +"C'est ainsi que vous codez généralement un jeu de plateau, un RPG basé sur " +"une grille ou un RPG tactique.\n" +"\n" +"Bien que nous nous soyons concentrés sur les clés [code]String[/code] " +"jusqu'à présent, les dictionnaires GDScript acceptent n'importe quel type de " +"valeur comme clé, ce qui vous permet de mapper n'importe quoi à n'importe " +"quoi.\n" +"\n" +"La seule limitation est que chaque clé doit être unique." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:159 +msgid "" +"Using a [code]for[/code] loop, you can use the key-value pairs to place " +"units on the board at the start of a game." +msgstr "" +"En utilisant une boucle [code]for[/code], vous pouvez utiliser les paires " +"clé-valeur pour placer des unités sur le plateau au début d'une partie." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:189 +msgid "" +"In the following practices, you will loop over dictionaries and process " +"their content." +msgstr "" +"Dans les exercices suivants, vous allez effectuer une boucle sur les " +"dictionnaires et traiter leur contenu." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:197 +msgid "Displaying the inventory" +msgstr "Afficher l'inventaire" + +# correspondent +# se associent +#: course/lesson-26-looping-over-dictionaries/lesson.tres:198 +msgid "" +"We use a dictionary to represent the player's inventory in this game. The " +"dictionary keys are the name of items, and they map to the number of items " +"that the player owns.\n" +"\n" +"You need to loop over the dictionary and display the name and amount of " +"every item in the inventory.\n" +"\n" +"To do so, call the [code]display_item()[/code] function. It takes two " +"arguments: the item name and the amount." +msgstr "" +"Nous utilisons un dictionnaire pour représenter l'inventaire du joueur dans " +"ce jeu. Les clés du dictionnaire sont les noms des objets, et elles sont " +"mappées au nombre d'objets que le joueur possède.\n" +"\n" +"Vous devez effectuer une boucle sur le dictionnaire et afficher le nom et la " +"quantité de chaque article de l'inventaire.\n" +"\n" +"Pour ce faire, appelez la fonction [code]display_item()[/code]. Elle prend " +"deux arguments : le nom de l'objet et la quantité." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:218 +msgid "" +"We need to display the player's inventory on the screen but lack the code to " +"do so. Use a loop to display every item." +msgstr "" +"Nous devons afficher l'inventaire du joueur à l'écran mais il nous manque le " +"code pour le faire. Utilisez une boucle pour afficher chaque objet." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:223 +msgid "Placing units on the board" +msgstr "Placer des unités sur le plateau" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:224 +msgid "" +"We have a dictionary named [code]units[/code] that maps a cell position on " +"the grid to a unit to put there.\n" +"\n" +"Using a for loop and the [code]place_unit()[/code] function, place every " +"unit in the units dictionary at the desired position on the game board." +msgstr "" +"Nous avons un dictionnaire nommé [code]units[/code] qui fait correspondre " +"une position de case sur la grille à une unité à placer là.\n" +"\n" +"À l'aide d'une boucle for et de la fonction [code]place_unit()[/code], " +"placez chaque unité du dictionnaire d'unités à la position souhaitée sur le " +"plateau de jeu." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:242 +msgid "" +"We want to populate our game board with units at the start of every battle. " +"Loop over the dictionary to place units on the board." +msgstr "" +"Nous voulons peupler notre plateau de jeu avec des unités au début de chaque " +"bataille. Faites une boucle sur le dictionnaire pour placer les unités sur " +"le plateau." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:246 +msgid "Looping over dictionaries" +msgstr "Boucler sur les dictionnaires" diff --git a/i18n/fr/lesson-27-value-types.po b/i18n/fr/lesson-27-value-types.po new file mode 100644 index 00000000..1c7f5f7b --- /dev/null +++ b/i18n/fr/lesson-27-value-types.po @@ -0,0 +1,358 @@ +# 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-06-08 15:10+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-27-value-types/lesson.tres:13 +msgid "" +"In your code, values have a particular [i]type[/i]. You have already learned " +"about several: whole numbers, decimal numbers, strings, 2D vectors, arrays, " +"and dictionaries.\n" +"\n" +"The computer uses the type of a value to know which operations and functions " +"you can use with them.\n" +"\n" +"As a result, it's essential to understand types: they are not fully " +"compatible with one another, and misusing them will cause errors." +msgstr "" +"Dans votre code, les valeurs ont un [i]type[/i] particulier. Vous en avez " +"déjà appris plusieurs : les nombres entiers, les nombres décimaux, les " +"chaînes de caractères, les vecteurs 2D, les tableaux et les dictionnaires.\n" +"\n" +"L'ordinateur utilise le type d'une valeur pour savoir quelles opérations et " +"fonctions vous pouvez utiliser avec elle.\n" +"\n" +"Par conséquent, il est essentiel de comprendre les types : ils ne sont pas " +"entièrement compatibles les uns avec les autres et leur mauvaise utilisation " +"entraînera des erreurs." + +#: course/lesson-27-value-types/lesson.tres:25 +msgid "A prime example" +msgstr "Un bon exemple" + +#: course/lesson-27-value-types/lesson.tres:27 +msgid "" +"You want to display the player's health in the interface. Your code tracks " +"health as a whole number, a value of type [code]int[/code] (short for " +"integer)." +msgstr "" +"Vous souhaitez afficher la santé du joueur dans l'interface. Votre code suit " +"la santé sous la forme d'un nombre entier, une valeur de type [code]int[/" +"code] (abréviation du terme en anglais [i]integer[/i] qui signifie « entier " +"»)." + +#: course/lesson-27-value-types/lesson.tres:47 +msgid "" +"However, to display it on the player's screen, the computer wants text: it " +"needs a value of type [code]String[/code].\n" +"\n" +"You can concatenate two strings with the [code]+[/code] operator." +msgstr "" +"Cependant, pour l'afficher sur l'écran du joueur, l'ordinateur veut du " +"texte : il a besoin d'une valeur de type [code]String[/code].\n" +"\n" +"Vous pouvez concaténer deux chaînes de caractères avec l'opérateur [code]+[/" +"code]." + +#: course/lesson-27-value-types/lesson.tres:69 +msgid "So the following code looks like it could work at first glance." +msgstr "Ainsi, le code suivant semble pouvoir fonctionner à première vue." + +#: course/lesson-27-value-types/lesson.tres:89 +msgid "But when running the code, we get this strange error." +msgstr "Mais lors de l'exécution du code, nous obtenons cette étrange erreur." + +#: course/lesson-27-value-types/lesson.tres:109 +msgid "" +"It tells you you can't add values of type [code]String[/code] and [code]int[/" +"code]: they're incompatible.\n" +"\n" +"In that case, you need to convert the [code]health[/code] number into a " +"[code]String[/code]." +msgstr "" +"Il vous indique que vous ne pouvez pas additionner des valeurs de type " +"[code]String[/code] et [code]int[/code] : elles sont incompatibles.\n" +"\n" +"Dans ce cas, vous devez convertir le nombre de [code]health[/code] en " +"[code]String[/code]." + +#: course/lesson-27-value-types/lesson.tres:119 +msgid "Converting values into strings" +msgstr "Convertir des valeurs en chaînes de caractères" + +#: course/lesson-27-value-types/lesson.tres:121 +msgid "" +"You can get the text representation of a value by calling the [code]str()[/" +"code] function (short for \"string\"). The function returns its argument as " +"a new [code]String[/code].\n" +"\n" +"You can use this function whenever you want to turn some number or vector " +"into text." +msgstr "" +"Vous pouvez obtenir la représentation textuelle d'une valeur en appelant la " +"fonction [code]str()[/code] (abréviation du terme en anglais [i]string[/i], " +"en français « chaîne de caractères »). La fonction renvoie son argument sous " +"la forme d'une nouvelle [code]String[/code].\n" +"\n" +"Vous pouvez utiliser cette fonction chaque fois que vous souhaitez " +"transformer un nombre ou un vecteur en texte." + +#: course/lesson-27-value-types/lesson.tres:143 +msgid "" +"In this case, it turns the number [code]100[/code] into the string " +"[code]\"100\"[/code]. Or whatever number [code]health[/code] is currently." +msgstr "" +"Dans ce cas, elle transforme le nombre [code]100[/code] en la chaîne [code]" +"\"100\"[/code]. Ou quel que soit le nombre de [code]health[/code] " +"actuellement." + +#: course/lesson-27-value-types/lesson.tres:151 +msgid "Converting strings into numbers" +msgstr "Convertir des chaînes de caractères en nombres" + +# at once in a shop. +# à la fois +#: course/lesson-27-value-types/lesson.tres:153 +msgid "" +"You can also convert strings into whole numbers or decimal numbers using " +"respectively the [code]int()[/code] and [code]float()[/code] functions.\n" +"\n" +"Those functions can convert what the player writes in a text field into a " +"number. For example, the number of potions to sell at once in a shop." +msgstr "" +"Vous pouvez également convertir des chaînes de caractères en nombres entiers " +"ou en nombres décimaux en utilisant respectivement les fonctions " +"[code]int()[/code] et [code]float()[/code].\n" +"\n" +"Ces fonctions peuvent convertir ce que le joueur écrit dans un champ de " +"texte en un nombre. Par exemple, le nombre de potions que le joueur veut " +"vendre en une seule fois dans une boutique." + +#: course/lesson-27-value-types/lesson.tres:173 +msgid "Some types are partially compatible" +msgstr "Certains types sont partiellement compatibles" + +#: course/lesson-27-value-types/lesson.tres:175 +msgid "" +"Most types are incompatible. For example, you can't directly add or multiply " +"an array with a number.\n" +"\n" +"However, some types are [i]partially[/i] compatible. For example, you can " +"multiply or divide a vector by a number. " +msgstr "" +"La plupart des types sont incompatibles. Par exemple, vous ne pouvez pas " +"additionner ou multiplier directement un tableau avec un nombre.\n" +"\n" +"Cependant, certains types sont [i]partiellement[/i] compatibles. Par " +"exemple, vous pouvez multiplier ou diviser un vecteur par un nombre. " + +#: course/lesson-27-value-types/lesson.tres:197 +msgid "" +"It is possible because other developers defined that operation for you under " +"the hood.\n" +"\n" +"However, you cannot directly add or subtract a number to a vector. You'll " +"get an error. That's why, in earlier lessons, you had to access the sub-" +"variables of [code]position[/code] to add numbers to them." +msgstr "" +"C'est possible parce que d'autres développeurs ont défini cette opération " +"pour vous sous le capot.\n" +"\n" +"Cependant, vous ne pouvez pas ajouter ou soustraire directement un nombre à " +"un vecteur. Vous obtiendrez une erreur. C'est pourquoi, dans les leçons " +"précédentes, vous deviez accéder aux sous-variables de [code]position[/code] " +"pour leur ajouter des nombres." + +#: course/lesson-27-value-types/lesson.tres:207 +msgid "A surprising result" +msgstr "Un résultat surprenant" + +#: course/lesson-27-value-types/lesson.tres:209 +msgid "" +"Take the following division: [code]3/2[/code]. What result would you expect " +"to get? [code]1.5[/code]?" +msgstr "" +"Prenez la division suivante : [code]3/2[/code]. Quel résultat vous " +"attendriez-vous à obtenir ? [code]1.5[/code] ?" + +#: course/lesson-27-value-types/lesson.tres:229 +msgid "" +"Well, for the computer, the result of [code]3/2[/code] is [code]1[/code].\n" +"\n" +"Wait, what?!\n" +"\n" +"That's because, for the computer, the division of two whole numbers should " +"always result in a whole number.\n" +"\n" +"When you divide decimal numbers instead, you will get a decimal number as a " +"result." +msgstr "" +"Eh bien, pour l'ordinateur, le résultat de [code]3/2[/code] est [code]1[/" +"code].\n" +"\n" +"Attendez, quoi ?!\n" +"\n" +"C'est parce que, pour l'ordinateur, la division de deux nombres entiers doit " +"toujours donner un nombre entier.\n" +"\n" +"Lorsque vous divisez des nombres décimaux à la place, vous obtiendrez un " +"nombre décimal comme résultat." + +# commandes +# contrôleurs de jeu +#: course/lesson-27-value-types/lesson.tres:255 +msgid "" +"Even if it's just a [code]0[/code], adding a decimal place tells the " +"computer we want decimal numbers.\n" +"\n" +"This shows you how mindful you need to be with types. Otherwise, you will " +"get unexpected results. It can get pretty serious: number errors can lead to " +"bugs like controls not working as intended or charging the wrong price to " +"players. " +msgstr "" +"Même si ce n'est qu'un [code]0[/code], ajouter une décimale indique à " +"l'ordinateur que nous voulons des nombres décimaux.\n" +"\n" +"Cela vous montre à quel point vous devez être attentif(ve) aux types. Sinon, " +"vous obtiendrez des résultats inattendus. Et cela peut devenir assez grave : " +"les erreurs de chiffres peuvent entraîner des bugs tels que des manettes de " +"jeu qui ne fonctionnent pas comme prévu ou des prix erronés facturés aux " +"joueurs. " + +#: course/lesson-27-value-types/lesson.tres:265 +msgid "Understanding and mastering types is a key skill for developers" +msgstr "" +"Comprendre et maîtriser les types est une compétence clé pour les " +"développeurs" + +#: course/lesson-27-value-types/lesson.tres:267 +msgid "" +"Programming beginners often struggle due to the lack of understanding of " +"types.\n" +"\n" +"Languages like GDScript hide the types from you by default. As a result, if " +"you don't understand that some are incompatible, you can get stuck when " +"facing type-related errors.\n" +"\n" +"You'll want to keep that in mind in your learning journey. When writing " +"code, you will need to understand everything that's happening.\n" +"\n" +"That said, let's practice some type conversions." +msgstr "" +"Les débutants en programmation ont souvent du mal à cause du manque de " +"compréhension des types.\n" +"\n" +"Les langages comme GDScript vous cachent les types par défaut. Par " +"conséquent, si vous ne comprenez pas que certains sont incompatibles, vous " +"pouvez vous retrouver coincé(e) face à des erreurs liées aux types.\n" +"\n" +"Vous voudrez garder cela à l'esprit dans votre parcours d'apprentissage. " +"Lors de l'écriture du code, vous aurez besoin de comprendre tout ce qui se " +"passe.\n" +"\n" +"Cela dit, exerçons-nous à faire quelques conversions de types." + +#: course/lesson-27-value-types/lesson.tres:281 +msgid "Displaying the player's health and energy" +msgstr "Afficher la santé et l'énergie du joueur" + +#: course/lesson-27-value-types/lesson.tres:282 +msgid "" +"We want to display the player's energy in the user interface.\n" +"\n" +"Currently, our code has a type error. We're trying to display a whole number " +"while the [code]display_energy()[/code] function expects a string.\n" +"\n" +"Using the [code]str()[/code] function, clear the type error and make the " +"energy amount display on the interface.\n" +"\n" +"You can't change the [code]energy[/code] variable definition: setting it to " +"[code]\"80\"[/code] would break the rest of the game's code. You must " +"convert the value when calling [code]display_energy()[/code]." +msgstr "" +"Nous voulons afficher l'énergie du joueur dans l'interface utilisateur.\n" +"\n" +"Actuellement, notre code a une erreur de type. Nous essayons d'afficher un " +"nombre entier alors que la fonction [code]display_energy()[/code] attend une " +"chaîne de caractères.\n" +"\n" +"À l'aide de la fonction [code]str()[/code], supprimez l'erreur de type et " +"affichez la quantité d'énergie sur l'interface.\n" +"\n" +"Vous ne pouvez pas modifier la définition de la variable [code]energy[/" +"code] : lui donner la valeur de [code]\"80\"[/code] casserait le reste du " +"code du jeu. Vous devez convertir la valeur lors de l'appel de " +"[code]display_energy()[/code]." + +#: course/lesson-27-value-types/lesson.tres:300 +msgid "" +"We want to display the player's energy in the interface but face a type " +"error. Use your new knowledge to fix it." +msgstr "" +"Nous voulons afficher l'énergie du joueur dans l'interface mais nous sommes " +"confrontés à une erreur de type. Utilisez vos nouvelles connaissances pour " +"la corriger." + +#: course/lesson-27-value-types/lesson.tres:305 +msgid "Letting the player type numbers" +msgstr "Permettre au joueur écrire des nombres" + +#: course/lesson-27-value-types/lesson.tres:306 +msgid "" +"In our game's shops, we want to let the player type numbers to select the " +"number of items they want to buy or sell.\n" +"\n" +"We need to know the number of items as an [code]int[/code], but the computer " +"reads the player's input as a [code]String[/code].\n" +"\n" +"Your task is to convert the player's input into numbers for the shop's code " +"to work.\n" +"\n" +"Using the [code]int()[/code] function, convert the player's input into a " +"whole number and store the result in the [code]item_count[/code] variable." +msgstr "" +"Dans les boutiques de notre jeu, nous voulons permettre au joueur écrire des " +"nombres pour sélectionner le nombre d'articles qu'il veut acheter ou " +"vendre.\n" +"\n" +"Nous avons besoin de connaître le nombre d'articles sous la forme d'un " +"[code]int[/code], mais l'ordinateur lit l'entrée du joueur sous la forme " +"d'une [code]String[/code].\n" +"\n" +"Votre tâche consiste à convertir l'entrée du joueur en nombres pour que le " +"code de la boutique fonctionne.\n" +"\n" +"À l'aide de la fonction [code]int()[/code], convertissez l'entrée du joueur " +"en un nombre entier et enregistrez le résultat dans la variable " +"[code]item_count[/code]." + +#: course/lesson-27-value-types/lesson.tres:326 +msgid "" +"We want the player to choose the number of items they buy or sell in our " +"game's shops. But right now, all we get are type errors." +msgstr "" +"Nous voulons que le joueur puisse choisir le nombre d'articles qu'il achète " +"ou vend dans les boutiques de notre jeu. Mais pour l'instant, nous " +"n'obtenons que des erreurs de type." + +#: course/lesson-27-value-types/lesson.tres:330 +msgid "Value types" +msgstr "Types de valeurs" diff --git a/i18n/fr/lesson-28-specifying-types.po b/i18n/fr/lesson-28-specifying-types.po new file mode 100644 index 00000000..1a8723c1 --- /dev/null +++ b/i18n/fr/lesson-28-specifying-types.po @@ -0,0 +1,307 @@ +# 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 \n" +"Language-Team: French \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-28-specifying-types/lesson.tres:13 +msgid "" +"By default, GDScript is what we call a dynamically-typed language. That " +"means that you can just write variables, assign them a value with a number, " +"and assign them another value with a different type.\n" +"\n" +"Unlike in some other languages, in GDScript, the following code is valid." +msgstr "" +"Par défaut, GDScript est ce que nous appelons un langage à typage dynamique. " +"Cela signifie que vous pouvez simplement écrire des variables, leur assigner " +"une valeur avec un nombre et leur assigner une autre valeur avec un type " +"différent.\n" +"\n" +"Contrairement à d'autres langages, en GDScript, le code suivant est valide." + +#: course/lesson-28-specifying-types/lesson.tres:35 +msgid "" +"But this feature often causes problems down the line. Let's take one example." +msgstr "" +"Mais cette fonctionnalité entraîne souvent des problèmes par la suite. " +"Prenons un exemple." + +#: course/lesson-28-specifying-types/lesson.tres:43 +msgid "Cell size: decimal number, or 2D vector?" +msgstr "Taille de la case : nombre décimal ou vecteur 2D ?" + +#: course/lesson-28-specifying-types/lesson.tres:45 +msgid "" +"Games use grids all the time, be it for grid-based gameplay or to make " +"algorithms faster.\n" +"\n" +"When working with grids, you need to convert grid coordinates into positions " +"in the game world all the time. To do so, you give each cell a size in " +"pixels.\n" +"\n" +"You'll likely pick one of two types for that: [code]float[/code] or " +"[code]Vector2[/code], because pixel positions on the screen use " +"[code]Vector2[/code] coordinates.\n" +"\n" +"Either of those two values would be fine:" +msgstr "" +"Les jeux utilisent des grilles tout le temps, que ce soit pour un gameplay " +"basé sur une grille ou pour rendre les algorithmes plus rapides.\n" +"\n" +"Lorsque vous travaillez avec des grilles, vous devez convertir les " +"coordonnées de la grille en positions du monde du jeu tout le temps. Pour ce " +"faire, vous donnez à chaque case une taille en pixels.\n" +"\n" +"Vous choisirez probablement l'un des deux types suivants pour cela : " +"[code]float[/code] ou [code]Vector2[/code], car les positions des pixels sur " +"l'écran utilisent des coordonnées [code]Vector2[/code].\n" +"\n" +"L'une ou l'autre de ces deux valeurs ferait l'affaire :" + +#: course/lesson-28-specifying-types/lesson.tres:71 +msgid "" +"Using a [code]Vector2[/code] could simplify some calculations. For example, " +"when converting grid coordinates to game world coordinates." +msgstr "" +"L'utilisation d'un [code]Vector2[/code] pourrait simplifier certains " +"calculs. Par exemple, lors de la conversion des coordonnées de la grille en " +"coordonnées du monde du jeu." + +#: course/lesson-28-specifying-types/lesson.tres:91 +msgid "" +"In this example, because both [code]cell[/code] and [code]cell_size[/code] " +"are [code]Vector2[/code] values, we can add them.\n" +"\n" +"However, if [code]cell_size[/code] is a [code]float[/code], we will get a " +"type error." +msgstr "" +"Dans cet exemple, comme [code]cell[/code] et [code]cell_size[/code] sont " +"tous deux des valeurs [code]Vector2[/code], nous pouvons les additionner.\n" +"\n" +"Cependant, si [code]cell_size[/code] est un [code]float[/code], nous " +"obtiendrons une erreur de type." + +#: course/lesson-28-specifying-types/lesson.tres:123 +msgid "" +"Worse: due to dynamic typing, we won't get an error [i]right away[/i]. We " +"will only get the error when calling [code]grid_to_world(Vector2(1, 1))[/" +"code].\n" +"\n" +"And that's a big problem." +msgstr "" +"Pire : en raison du typage dynamique, nous n'obtiendrons pas d'erreur " +"[i]tout de suite[/i]. Nous n'obtiendrons l'erreur que lors de l'appel de " +"[code]grid_to_world(Vector2(1, 1))[/code].\n" +"\n" +"Et c'est un gros problème." + +#: course/lesson-28-specifying-types/lesson.tres:135 +msgid "" +"Because we're learning, we only have small code examples in this course. But " +"your games' code will get long and split into many files. When coding, you " +"often forget about the code you wrote several weeks ago.\n" +"\n" +"And with a lot of code, it could take [i]hours[/i] of play before players " +"trigger a type error in your code." +msgstr "" +"Comme nous sommes en train d'apprendre, nous n'avons que de petits exemples " +"de code dans ce cours. Mais le code de vos jeux deviendra long et sera " +"divisé en plusieurs fichiers. Lorsque l'on code, on oublie souvent le code " +"que l'on a écrit il y a plusieurs semaines.\n" +"\n" +"Et avec beaucoup de code, cela peut prendre des [i]heures[/i] de jeu avant " +"que les joueurs ne déclenchent une erreur de type dans votre code." + +#: course/lesson-28-specifying-types/lesson.tres:145 +msgid "Using type hints" +msgstr "Utiliser des suggestions de type" + +#: course/lesson-28-specifying-types/lesson.tres:147 +msgid "" +"Fortunately, GDScript has optional [i]type hints[/i].\n" +"\n" +"Type hints let the computer know the value type you want for variables and " +"report errors before running the code.\n" +"\n" +"To specify the type a variable can accept, you can write a colon and a type " +"after the name when defining a new variable." +msgstr "" +"Heureusement, GDScript a des [i]suggestions de type[/i] facultatives.\n" +"\n" +"Les suggestions de type, ou « type hints », permettent à l'ordinateur de " +"connaître le type de valeur que vous souhaitez pour les variables et de " +"signaler des erreurs avant d'exécuter le code.\n" +"\n" +"Pour spécifier le type qu'une variable peut accepter, vous pouvez écrire " +"deux points et un type après le nom lors de la définition d'une nouvelle " +"variable." + +#: course/lesson-28-specifying-types/lesson.tres:171 +msgid "" +"You could tell the computer you want [code]cell_size[/code] only to accept " +"[code]Vector2[/code] values like so." +msgstr "" +"Vous pouvez dire à l'ordinateur que vous voulez que [code]cell_size[/code] " +"n'accepte que les valeurs [code]Vector2[/code] comme ceci." + +#: course/lesson-28-specifying-types/lesson.tres:191 +msgid "" +"If you try to replace the [code]cell_size[/code] with a value of another " +"type later, the computer will not let you." +msgstr "" +"Si vous essayez de remplacer [code]cell_size[/code] par une valeur d'un " +"autre type plus tard, l'ordinateur ne vous laissera pas faire." + +#: course/lesson-28-specifying-types/lesson.tres:219 +msgid "Letting the computer figure it out" +msgstr "Laisser l'ordinateur se débrouiller" + +#: course/lesson-28-specifying-types/lesson.tres:221 +msgid "" +"GDScript comes with a feature called [i]type inference[/i]. In many cases, " +"but not all, the computer can figure out the type of a variable for you.\n" +"\n" +"To do so, you write [code]:=[/code], without the type. The computer will set " +"the type using the value after the equal sign. We could make " +"[code]cell_size[/code] a variable of type [code]Vector2[/code] like so:" +msgstr "" +"GDScript est livré avec une fonctionnalité appelée [i]inférence de type[/i]. " +"Dans de nombreux cas, mais pas tous, l'ordinateur peut déterminer le type " +"d'une variable pour vous.\n" +"\n" +"Pour ce faire, vous écrivez [code]:=[/code], sans le type. L'ordinateur " +"définira le type à l'aide de la valeur située après le signe égal. Nous " +"pourrions faire de [code]cell_size[/code] une variable de type " +"[code]Vector2[/code] ainsi :" + +# typer un peu* +#: course/lesson-28-specifying-types/lesson.tres:243 +msgid "" +"This takes little typing, yet you get the benefits of using type hints, like " +"the computer reporting errors better and faster." +msgstr "" +"Cela demande un peu de frappe, mais vous bénéficiez des avantages de " +"l'utilisation des suggestions de type, comme le fait que l'ordinateur " +"signale les erreurs mieux et plus rapidement." + +#: course/lesson-28-specifying-types/lesson.tres:251 +msgid "Why bother to add hints?" +msgstr "Pourquoi prendre la peine d'ajouter des suggestions de type ?" + +#: course/lesson-28-specifying-types/lesson.tres:253 +msgid "" +"When you give the language hints like that, it will [i]prevent[/i] major " +"type errors. When you work in Godot, you will see that the computer can " +"report issues as you write the code. It makes the benefit even greater.\n" +"\n" +"Type hints can also help improve the readability of your code. It can help " +"to put more information directly in the code. As we saw, types are essential " +"when coding, and when using type hints, the computer will add them to the " +"engine's built-in code documentation system.\n" +"\n" +"There's an incredible third benefit for you: by using type hints, you will " +"learn types much faster. It's excellent for learning.\n" +"\n" +"In the following practices, you will write the correct type hints to make " +"the code error-free." +msgstr "" +"Lorsque vous donnez des suggestions au langage de cette manière, vous " +"[i]prévenez[/i] les principales erreurs de type. Lorsque vous travaillez " +"dans Godot, vous verrez que l'ordinateur peut signaler des problèmes au fur " +"et à mesure que vous écrivez le code. Cela rend le bénéfice encore plus " +"grand.\n" +"\n" +"Les suggestions de type peuvent également aider à améliorer la lisibilité de " +"votre code. Cela peut vous aider à mettre plus d'informations directement " +"dans le code. Comme nous l'avons vu, les types sont essentiels lorsque l'on " +"code, et lors de l'utilisation de suggestions de type, l'ordinateur les " +"ajoutera au système de documentation de code intégré au moteur.\n" +"\n" +"Il y a un troisième avantage incroyable pour vous : en utilisant les " +"suggestions de type, vous apprendrez les types beaucoup plus rapidement. " +"C'est excellent pour l'apprentissage.\n" +"\n" +"Dans la pratique suivante, vous écrirez les suggestions de type correctes " +"pour faire que le code soit exempt d'erreurs." + +#: course/lesson-28-specifying-types/lesson.tres:267 +msgid "Add the correct type hints to variables" +msgstr "Ajouter les suggestions de type correctes aux variables" + +#: course/lesson-28-specifying-types/lesson.tres:268 +msgid "" +"Our variables get the correct values but not the right hints. Using your " +"type-fu, add the correct type names in the variable definitions.\n" +"\n" +"You need to write the type name between the colon and the equal sign.\n" +"\n" +"Note: You cannot use type inference in this practice. You need to write the " +"type name in full." +msgstr "" +"Nos variables reçoivent les bonnes valeurs mais pas les bonnes suggestions. " +"Ajoutez les noms de type corrects dans les définitions des variables.\n" +"\n" +"Vous devez écrire le nom du type entre le deux-points et le signe égal.\n" +"\n" +"Remarque : Vous ne pouvez pas utiliser la suggestion de type dans cet " +"exercice. Vous devez écrire le nom du type en entier." + +#: course/lesson-28-specifying-types/lesson.tres:284 +msgid "" +"Our variables have the wrong type hints, causing errors. Correct them to " +"make the code run." +msgstr "" +"Nos variables ont les mauvaises suggestions de type, ce qui provoque des " +"erreurs. Corrigez-les pour que le code s'exécute." + +#: course/lesson-28-specifying-types/lesson.tres:289 +msgid "Fix the values to match the type hints" +msgstr "" +"Corriger les valeurs pour qu'elles correspondent aux suggestions de type" + +#: course/lesson-28-specifying-types/lesson.tres:290 +msgid "" +"It is the other way around in this practice: the type hints are fine, but " +"the values are not.\n" +"\n" +"Your task is to fix the values after the equal sign, so they match the type " +"hint of each variable." +msgstr "" +"C'est l'inverse dans cette pratique : les suggestions de type sont " +"correctes, mais les valeurs ne le sont pas.\n" +"\n" +"Votre tâche consiste à corriger les valeurs après le signe égal, afin " +"qu'elles correspondent à la suggestion de type de chaque variable." + +#: course/lesson-28-specifying-types/lesson.tres:304 +msgid "" +"This time, it's the other way around: variables have the correct type hints " +"but the wrong values. Change the values to make the code run." +msgstr "" +"Cette fois, c'est l'inverse : les variables ont les bonnes suggestions de " +"type mais les mauvaises valeurs. Changez les valeurs pour que le code " +"s'exécute." + +# indices de type +# indications de type +# type hinting +#: course/lesson-28-specifying-types/lesson.tres:308 +msgid "Specifying types with type hints" +msgstr "Spécification de types avec des suggestions de type" diff --git a/i18n/fr/lesson-3-standing-on-shoulders-of-giants.po b/i18n/fr/lesson-3-standing-on-shoulders-of-giants.po new file mode 100644 index 00000000..ff97c477 --- /dev/null +++ b/i18n/fr/lesson-3-standing-on-shoulders-of-giants.po @@ -0,0 +1,497 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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" +"X-Poedit-Bookmarks: -1,-1,-1,-1,4,-1,-1,-1,-1,-1\n" + +# C'est un tas de code qui est là prêt à être utilisé +# C'est un tas de code qui attend que vous l'utilisiez. +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:14 +msgid "" +"As programmers, we rely on a lot of code created by others before us.\n" +"\n" +"Every programming language comes with a wealth of features created by other " +"programmers to save you time.\n" +"\n" +"We call a bundle of code created by fellow developers a [i]library[/i].\n" +"\n" +"It's a bunch of code sitting there, waiting for you to use it.\n" +"\n" +"Game engines like Godot bundle many libraries together. They provide a " +"massive toolset to save you time when making games." +msgstr "" +"En tant que programmeurs, nous nous appuyons sur beaucoup de code créé par " +"d'autres avant nous.\n" +"\n" +"Chaque langage de programmation est livré avec une multitude de " +"fonctionnalités créées par d'autres programmeurs pour vous faire gagner du " +"temps.\n" +"\n" +"Nous appelons un ensemble de code créé par d'autres développeurs une " +"[i]bibliothèque[/i].\n" +"\n" +"C'est un tas de code qui est là prêt à être utilisé.\n" +"\n" +"Les moteurs de jeu comme Godot regroupent de nombreuses bibliothèques. Ils " +"fournissent un ensemble d'outils énorme pour vous faire gagner du temps lors " +"de la création de jeux." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:30 +msgid "You'll always use a lot of existing code" +msgstr "Vous utiliserez toujours beaucoup de code existant" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:32 +msgid "" +"When coding, you always use a lot of code from developers who came before " +"you.\n" +"\n" +"In a moment, you'll write your first code. You'll use [i]functions[/i] " +"created by the Godot developers.\n" +"\n" +"A function is a list of instructions with an exact name. We can tell the " +"computer to execute all the instructions in sequence with that name." +msgstr "" +"Lorsque vous codez, vous utilisez toujours beaucoup de code des développeurs " +"qui vous ont précédé.\n" +"\n" +"Dans un instant, vous allez écrire votre premier code. Vous utiliserez des " +"[i]fonctions[/i] créées par les développeurs de Godot.\n" +"\n" +"Une fonction est une liste d'instructions avec un nom exact. Avec ce nom, " +"nous pouvons dire à l'ordinateur d'exécuter toutes ces instructions en " +"séquence." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:44 +msgid "Calling functions" +msgstr "Appeler des fonctions" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:46 +msgid "" +"When you tell the computer to execute a function, we say you [i]call[/i] the " +"function.\n" +"\n" +"To call a function, you write its [i]exact[/i] name followed by an open and " +"closed parenthesis. To call the function named \"show\", you would write " +"[code]show()[/code]." +msgstr "" +"Lorsque vous dites à l'ordinateur d'exécuter une fonction, on dit que vous " +"[i]appelez[/i] la fonction.\n" +"\n" +"Pour appeler une fonction, vous écrivez son nom [i]exact[/i] suivi d'une " +"parenthèse ouverte et d'une parenthèse fermée. Pour appeler la fonction " +"nommée « show » (« montrer » en anglais), vous écririez [code]show()[/code]." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:58 +msgid "" +"In Godot, calling [code]show()[/code] makes something visible, like a " +"character or item. The complementary [code]hide()[/code] function hides the " +"entity.\n" +"\n" +"Once an entity is visible, calling [code]show()[/code] again doesn't have " +"any effect.\n" +"\n" +"Similarly, once you hide something, calling [code]hide()[/code] again " +"doesn't change anything.\n" +"\n" +"[i]Click the Run button on any example below to execute the code listing.[/i]" +msgstr "" +"Dans Godot, appeler [code]show()[/code] rend quelque chose visible, comme un " +"personnage ou un objet. La fonction complémentaire [code]hide()[/code] (« " +"cacher » en anglais) cache l'entité.\n" +"\n" +"Une fois qu'une entité est visible, appeler à nouveau [code]show()[/code] " +"n'a aucun effet.\n" +"\n" +"De même, une fois que vous avez caché quelque chose, appeler à nouveau " +"[code]hide()[/code] ne change rien.\n" +"\n" +"[i]Cliquez sur le bouton Exécuter sur n'importe quel exemple ci-dessous pour " +"exécuter le listing de code.[/i]" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:84 +msgid "" +"In the code listing above, we write the function call [code]hide()[/code] in " +"a new function named [code]run()[/code] to execute the code. Creating a new " +"function is necessary to execute instructions in GDScript." +msgstr "" +"Dans le listing de code ci-dessus, nous écrivons l'appel de fonction " +"[code]hide()[/code] dans une nouvelle fonction nommée [code]run()[/code] " +"pour exécuter le code. La création d'une nouvelle fonction est nécessaire " +"pour exécuter les instructions en GDScript." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:92 +msgid "Can you tell me more about that \"run()\" function?" +msgstr "Pouvez-vous m'en dire plus sur la fonction « run() » ?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:94 +msgid "" +"In GDScript, unlike in some other languages, we must write our code inside " +"of custom functions.\n" +"\n" +"You'll learn what functions are and how they work in great detail in the " +"course, but here's a quick look at them if you're curious.\n" +"\n" +"A function is a bundle of code you can execute anytime. It's a named list of " +"instructions.\n" +"\n" +"To define a function, you need to write the [code]func[/code] keyword, the " +"function's name, parentheses, and a colon: [code]func run():[/code] defines " +"a function named [code]run()[/code].\n" +"\n" +"You then go to the next line to write the function's body. That's the " +"instructions of the function.\n" +"\n" +"Notice how each instruction starts with a leading [code]Tab[/code] " +"character. The computer uses that to know which lines are part of the " +"function.\n" +"\n" +"Throughout the course, you'll see many functions called [code]run()[/code].\n" +"\n" +"Those are functions we created to give you interactive examples." +msgstr "" +"Dans GDScript, contrairement à d'autres langages, nous devons écrire notre " +"code à l'intérieur de fonctions nouvelles.\n" +"\n" +"Vous apprendrez ce que sont les fonctions et comment elles fonctionnent en " +"détail dans le cours, mais voici un bref aperçu si vous êtes curieux ou " +"curieuse.\n" +"\n" +"Une fonction est un ensemble de code que vous pouvez exécuter à tout moment. " +"C'est une liste d'instructions avec un nom.\n" +"\n" +"Pour définir une fonction, vous devez écrire le mot-clé [code]func[/code], " +"le nom de la fonction, des parenthèses et deux-points : [code]func run():[/" +"code] définit une fonction appelée [code]run()[/code].\n" +"\n" +"Vous passez ensuite à la ligne suivante pour écrire le corps de la fonction. " +"Ce sont les instructions de la fonction.\n" +"\n" +"Remarquez comment chaque instruction commence par un caractère [code]Tab[/" +"code]. L'ordinateur l'utilise pour savoir quelles lignes font partie de la " +"fonction.\n" +"\n" +"Tout au long du cours, vous verrez de nombreuses fonctions appelées " +"[code]run()[/code].\n" +"\n" +"Ce sont des fonctions que nous avons créées pour vous donner des exemples " +"interactifs." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:116 +msgid "Function arguments" +msgstr "Arguments de fonction" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:118 +msgid "" +"We use parentheses to call functions because you can give the function " +"[i]arguments[/i] inside the parentheses when calling it.\n" +"\n" +"Here's a [i]sprite[/i] standing straight. If we call the [code]rotate(0.3)[/" +"code] function, the character [i]sprite[/i] turns by 0.3 radians." +msgstr "" +"Nous utilisons des parenthèses pour appeler les fonctions car vous pouvez " +"donner à la fonction des [i]arguments[/i] à l'intérieur des parenthèses lors " +"de son appel.\n" +"\n" +"Voici un [i]sprite[/i] qui est droit. Si nous appelons la fonction " +"[code]rotate(0.3)[/code], le personnage [i]sprite[/i] tourne de 0.3 radians." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:140 +msgid "" +"The [code]0.3[/code] part between the parentheses is the function's " +"[i]argument[/i].\n" +"\n" +"Arguments are values (numbers, bits of text, and more) that change how the " +"function behaves.\n" +"\n" +"Arguments let you fine-tune the effect of the function call. They can be " +"optional at times, but functions often require arguments in order to work.\n" +"\n" +"For example, calling [code]rotate()[/code] without any argument would result " +"in an error. Without an argument, Godot doesn't know by [i]how much[/i] you " +"intend to rotate the [i]sprite[/i].\n" +"\n" +"Don't worry about memorizing what arguments each function requires or " +"accepts! As a programmer, the documentation will always be close by for you " +"to refer to.\n" +"\n" +"Finally, notice how we use a dot in the number [code]0.3[/code] above: you " +"need to use a dot like this to represent decimal numbers. You can't use " +"commas as they have a different purpose in code." +msgstr "" +"La partie [code]0.3[/code] entre les parenthèses est [i]l'argument[/i] de la " +"fonction.\n" +"\n" +"Les arguments sont des valeurs (chiffres, morceaux de texte et autres) qui " +"modifient le comportement de la fonction.\n" +"\n" +"Les arguments vous permettent d'affiner l'effet de l'appel de la fonction. " +"Ils peuvent parfois être facultatifs, mais les fonctions ont souvent besoin " +"d'arguments pour fonctionner.\n" +"\n" +"Par exemple, appeler [code]rotate()[/code] sans aucun argument entraînerait " +"une erreur. Sans argument, Godot ne sait pas [i]de combien[/i] vous avez " +"l'intention de faire pivoter le [i]sprite[/i].\n" +"\n" +"Ne vous souciez pas de mémoriser les arguments que chaque fonction requiert " +"ou accepte ! En tant que programmeur et programmeuse, la documentation sera " +"toujours à portée de main pour vous y référer.\n" +"\n" +"Enfin, remarquez comment nous utilisons un point dans le nombre [code]0.3[/" +"code] ci-dessus : vous devez utiliser un point comme celui-ci pour " +"représenter les nombres décimaux. Vous ne pouvez pas utiliser de virgules " +"car elles ont un but différent dans le code." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:158 +msgid "What are radians?" +msgstr "Que sont les radians ?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:160 +msgid "" +"The value of [code]0.3[/code] is an angle in [i]radians[/i]. In daily life, " +"we're used to measuring angles in degrees. The radian is another scale " +"commonly used in video games and math.\n" +"\n" +"You can convert radians into degrees by multiplying them by 180 and dividing " +"them by PI:\n" +"\n" +"[code]degrees = radians * 180 / PI[/code]\n" +"\n" +"An angle of [code]PI[/code] radians corresponds to [code]180[/code] degrees. " +"And [code]2 * PI[/code] is a full turn: [code]360[/code] degrees.\n" +"\n" +"[b]How do radians work exactly?[/b]\n" +"\n" +"Radians are a way to measure angles based on the radius of a circle.\n" +"\n" +"To get the angle in radians, you take the circle's radius and wrap it around " +"the circle. That angle is [code]1[/code] radian because you are wrapping the " +"radius [code]1[/code] time around the circle.\n" +"\n" +"Because the perimeter of a circle is [code]2 * PI * radius[/code], a full " +"turn (360°) corresponds to [code]2 * PI[/code] radians: you need to wrap the " +"radius of a circle [code]2 * PI[/code] times around the circle to make a " +"full circle." +msgstr "" +"La valeur de [code]0.3[/code] est un angle en [i]radians[/i]. Dans la vie " +"quotidienne, nous sommes habitués à mesurer les angles en degrés. Le radian " +"est une autre échelle couramment utilisée dans les jeux vidéo et les " +"mathématiques.\n" +"\n" +"Vous pouvez convertir des radians en degrés en les multipliant par 180 et en " +"les divisant par PI :\n" +"\n" +"[code]degrés = radians * 180 / PI[/code]\n" +"\n" +"Un angle de [code]PI[/code] radians correspond à [code]180[/code] degrés. Et " +"[code]2 * PI[/code] correspond à un tour complet : [code]360[/code] degrés.\n" +"\n" +"[b]Comment fonctionnent exactement les radians ?[/b]\n" +"\n" +"Les radians sont un moyen de mesurer les angles en fonction du rayon d'un " +"cercle.\n" +"\n" +"Pour obtenir l'angle en radians, vous prenez le rayon du cercle et " +"l'enroulez autour du cercle. Cet angle correspond à [code]1[/code] radian " +"car vous enroulez le rayon [code]1[/code] fois autour du cercle.\n" +"\n" +"Comme le périmètre d'un cercle est [code]2 * PI * rayon[/code], un tour " +"complet (360°) correspond à [code]2 * PI[/code] radians : vous devez " +"enrouler le rayon d'un cercle [code]2 * PI[/code] fois autour du cercle pour " +"faire un tour complet." + +# A quoi sert le code ci-dessous ? +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:182 +msgid "What does the code below do?" +msgstr "Que fait le code ci-dessous ?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:183 +msgid "[code]show()[/code]" +msgstr "[code]show()[/code]" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:185 +msgid "" +"Both answers were right! Technically, the code calls the [code]show()[/code] " +"function. And doing so makes the game entity visible." +msgstr "" +"Les deux réponses étaient correctes ! Techniquement, le code appelle la " +"fonction [code]show()[/code]. Et ce faisant, l'entité du jeu devient visible." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:186 +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:187 +msgid "It calls the function named \"show.\"" +msgstr "Il appelle la fonction nommée « show »." + +#: 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 "Il rend l'entité (comme un personnage de jeu ou un sprite) visible." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:196 +msgid "" +"Another example: With the [code]move_local_x()[/code] function, you can move " +"the character to its left and right. The function takes one argument: a " +"number of pixels to offset the entity.\n" +"\n" +"The complementary function [code]move_local_y()[/code] makes the character " +"move up and down.\n" +"\n" +"This is one way to move a character in a game, although we'll see more " +"powerful ways to do this later." +msgstr "" +"Un autre exemple : avec la fonction [code]move_local_x()[/code], vous pouvez " +"déplacer le personnage vers sa gauche et sa droite. La fonction prend un " +"argument : un nombre de pixels pour décaler l'entité.\n" +"\n" +"La fonction complémentaire [code]move_local_y()[/code] permet de déplacer le " +"personnage vers le haut et le bas.\n" +"\n" +"C'est une façon de déplacer un personnage dans un jeu, bien que nous verrons " +"des moyens plus puissants de le faire plus tard." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:218 +msgid "Why move_local_y(20) moves the character down" +msgstr "Pourquoi move_local_y(20) déplace le personnage vers le bas" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:220 +msgid "" +"With positive values ([code]20[/code]), the code above moves the robot to " +"the right and down.\n" +"\n" +"This is probably different than what you studied at school: in math classes, " +"the horizontal axis points to the right, like here, but the vertical axis " +"points up.\n" +"\n" +"In video games, and generally in 2D computer graphics, the vertical axis " +"points down instead. So whenever you move something on the Y-axis with a " +"positive value, it'll move [i]down[/i]." +msgstr "" +"Avec des valeurs positives ([code]20[/code]), le code ci-dessus déplace le " +"robot vers la droite et vers le bas.\n" +"\n" +"C'est probablement différent de ce que vous avez étudié à l'école : dans les " +"cours de mathématiques, l'axe horizontal pointe vers la droite, comme ici, " +"mais l'axe vertical pointe vers le haut.\n" +"\n" +"Dans les jeux vidéo, et généralement dans l'infographie 2D, l'axe vertical " +"pointe plutôt vers le bas. Ainsi, chaque fois que vous déplacez quelque " +"chose sur l'axe Y avec une valeur positive, il se déplace [i]vers le bas[/i]." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:232 +msgid "How do you call a function?" +msgstr "Comment appeler une fonction ?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:233 +msgid "What is the syntax you use to call a function in general?" +msgstr "" +"Quelle est la syntaxe que vous utilisez pour appeler une fonction en " +"général ?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:235 +msgid "" +"To call a function, you need to write its exact name followed by an opening " +"and a closing parenthesis.\n" +"\n" +"If the function requires one or more [i]arguments[/i], you add them inside " +"the parentheses. Whether you need to do that or not depends on the function." +msgstr "" +"Pour appeler une fonction, vous devez écrire son nom exact suivi d'une " +"parenthèse ouvrante et d'une parenthèse fermante.\n" +"\n" +"Si la fonction nécessite un ou plusieurs [i]arguments[/i], vous les ajoutez " +"à l'intérieur des parenthèses. Que vous ayez besoin de le faire ou non " +"dépend de la fonction." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:238 +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:239 +msgid "You write its name followed by an opening and a closing parenthesis." +msgstr "" +"Vous écrivez son nom suivi d'une parenthèse ouvrante et d'une parenthèse " +"fermante." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:238 +msgid "You write its name followed by a colon." +msgstr "Vous écrivez son nom suivi de deux-points." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:238 +msgid "" +"You write a value, like a number, followed by an opening and a closing " +"parenthesis." +msgstr "" +"Vous écrivez une valeur, comme un nombre, suivie d'une parenthèse ouvrante " +"et d'une parenthèse fermante." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:246 +msgid "Make The Character Visible" +msgstr "Rendre le personnage visible" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:247 +msgid "" +"Our robot character's invisible! Call the [code]show()[/code] function to " +"make it appear.\n" +"\n" +"Please call [code]show()[/code] inside the [code]run()[/code] function, on " +"line [code]2[/code], and keep the [code]Tab[/code] character at the start of " +"the line. The computer needs that to understand your code." +msgstr "" +"Notre personnage robot est invisible ! Appelez la fonction [code]show()[/" +"code] pour le faire apparaître.\n" +"\n" +"Veuillez appeler [code]show()[/code] à l'intérieur de la fonction [code]run()" +"[/code], sur la ligne [code]2[/code], et conserver le caractère [code]Tab[/" +"code] en début de ligne. L'ordinateur en a besoin pour comprendre votre code." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:259 +msgid "The robot's invisible! Call a function to bring it back." +msgstr "Le robot est invisible ! Appelez une fonction pour le faire revenir." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:264 +msgid "Make the Robot Upright" +msgstr "Rendre le robot droit" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:265 +msgid "" +"The robot was turned by [code]-0.5[/code] radians. You need to make it " +"upright by calling the [code]rotate()[/code] function.\n" +"\n" +"Please call [code]rotate()[/code] inside the [code]run()[/code] function, on " +"line [code]2[/code], and keep the [code]Tab[/code] character at the start of " +"the line. The computer needs that to understand your code." +msgstr "" +"Le robot a été tourné de [code]-0.5[/code] radians. Vous devez le redresser " +"en appelant la fonction [code]rotate()[/code].\n" +"\n" +"Veuillez appeler [code]rotate()[/code] à l'intérieur de la fonction " +"[code]run()[/code], sur la ligne [code]2[/code], et conserver le caractère " +"[code]Tab[/code] en début de ligne. L'ordinateur en a besoin pour comprendre " +"votre code." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:277 +msgid "" +"The robot is turned sideways. Help it straighten up with a function call." +msgstr "" +"Le robot est incliné. Aidez-le à se redresser avec un appel de fonction." + +# Nous nous tenons sur les +# Nous nous reposons sur les +# Nous sommes sur +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:281 +msgid "We Stand on the Shoulders of Giants" +msgstr "Comme des nains sur des épaules de géants" diff --git a/i18n/fr/lesson-4-drawing-a-rectangle.po b/i18n/fr/lesson-4-drawing-a-rectangle.po new file mode 100644 index 00000000..92e8c2e6 --- /dev/null +++ b/i18n/fr/lesson-4-drawing-a-rectangle.po @@ -0,0 +1,312 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-4-drawing-a-rectangle/lesson.tres:14 +msgid "" +"We'll use code created by others like we did in the previous lesson. This " +"time, we'll solve a more complicated problem: drawing shapes." +msgstr "" +"Nous utiliserons du code créé par d'autres personnes comme nous l'avons fait " +"dans la leçon précédente. Cette fois-ci, nous allons résoudre un problème " +"plus compliqué : dessiner des formes." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:22 +msgid "Meet the turtle" +msgstr "Rencontrez la tortue" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:24 +msgid "" +"We present you: the turtle! We created the turtle to teach you how to call " +"functions." +msgstr "" +"On vous présente : la tortue ! Nous avons créé la tortue pour vous apprendre " +"à appeler des fonctions." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:44 +msgid "" +"The turtle is a little machine that moves forward, turns, and draws lines " +"along its path.\n" +"\n" +"To make it draw, you give it a list of instructions: on each code line, you " +"call one specific function.\n" +"\n" +"We prepared several functions for you:\n" +"\n" +"- [code]move_forward(pixels)[/code] makes the turtle move forward over a " +"given distance in [i]pixels[/i]. \n" +"- [code]turn_right(degrees)[/code] makes the turtle turn clockwise by a " +"precise amount of [i]degrees[/i].\n" +"- [code]turn_left(degrees)[/code] works the same as [code]turn_right(degrees)" +"[/code], except the turtle turns counter-clockwise.\n" +"\n" +"You'll use these functions the same way you used [code]rotate()[/code] " +"before.\n" +"\n" +"The turtle draws a white line as it moves. We'll use this line to draw " +"shapes.\n" +"\n" +"For example, to move the turtle 200 pixels, you would write " +"[code]move_forward(200)[/code]." +msgstr "" +"La tortue est une petite machine qui avance, tourne et dessine des lignes " +"sur son chemin.\n" +"\n" +"Pour la faire dessiner, vous lui donnez une liste d'instructions : sur " +"chaque ligne de code, vous appelez une fonction spécifique.\n" +"\n" +"Nous avons préparé plusieurs fonctions pour vous :\n" +"\n" +"- [code]move_forward(pixels)[/code] fait avancer la tortue sur une distance " +"donnée en [i]pixels[/i].\n" +"- [code]turn_right(degrees)[/code] fait tourner la tortue vers la droite " +"d'une quantité précise de [i]degrés[/i].\n" +"- [code]turn_left(degrees)[/code] fonctionne de la même manière que " +"[code]turn_right(degrees)[/code], sauf que la tortue tourne vers la gauche.\n" +"\n" +"Vous utiliserez ces fonctions de la même manière que vous avez utilisé " +"[code]rotate()[/code] auparavant.\n" +"\n" +"La tortue dessine une ligne blanche lorsqu'elle se déplace. Nous allons " +"utiliser cette ligne pour dessiner des formes.\n" +"\n" +"Par exemple, pour déplacer la tortue de 200 pixels, vous écrivez " +"[code]move_forward(200)[/code]." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:78 +msgid "" +"The functions [code]turn_left()[/code] and [code]turn_right()[/code] work " +"the same.\n" +"\n" +"To turn 45 degrees to the right, you would write [code]turn_right(45)[/" +"code].\n" +"\n" +"If we call [code]turn_right(45)[/code], the turtle turns 45 degrees to the " +"right before moving on to the next instruction." +msgstr "" +"Les fonctions [code]turn_left()[/code] et [code]turn_right()[/code] " +"fonctionnent de la même manière.\n" +"\n" +"Pour tourner de 45 degrés vers la droite, vous écrivez [code]turn_right(45)[/" +"code].\n" +"\n" +"Si nous appelons [code]turn_right(45)[/code], la tortue tourne de 45 degrés " +"vers la droite avant de passer à l'instruction suivante." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:102 +msgid "" +"Using these instructions, we can make any two-dimensional shape we like!\n" +"\n" +"Try to understand the example below. \n" +"\n" +"In the next practice, you'll use the functions we saw above to first draw a " +"corner, then a rectangle like this one." +msgstr "" +"En utilisant ces instructions, nous pouvons créer n'importe quelle forme " +"bidimensionnelle que nous voulons !\n" +"\n" +"Essayez de comprendre l'exemple ci-dessous.\n" +"\n" +"Lors de la pratique de cette leçon, vous utiliserez les fonctions que nous " +"avons vues ci-dessus pour dessiner d'abord un coin, puis un rectangle comme " +"celui-ci." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:124 +msgid "In the function call below, which part is the argument?" +msgstr "Dans l'appel de fonction ci-dessous, quelle partie est le paramètre ?" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:125 +msgid "[code]move_forward(30)[/code]" +msgstr "[code]move_forward(30)[/code]" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:127 +msgid "" +"A function's arguments are all the values inside the parentheses. In this " +"case, there's only one, but there can be multiple separated by commas.\n" +"\n" +"In this case, [code]move_forward[/code] is the function's name and [code]30[/" +"code] is the argument.\n" +"\n" +"This function call will make the turtle move forward by [code]30[/code] " +"pixels." +msgstr "" +"Les arguments d'une fonction sont toutes les valeurs situées entre les " +"parenthèses. Dans ce cas, il n'y en a qu'un, mais il peut y en avoir " +"plusieurs, séparés par des virgules.\n" +"\n" +"Dans ce cas, [code]move_forward[/code] est le nom de la fonction et " +"[code]30[/code] est l'argument.\n" +"\n" +"Cet appel de fonction fera avancer la tortue de [code]30[/code] pixels." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:132 +msgid "move_forward" +msgstr "move_forward" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:132 +#: course/lesson-4-drawing-a-rectangle/lesson.tres:133 +msgid "30" +msgstr "30" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:140 +msgid "Drawing a Corner" +msgstr "Dessiner un coin" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:141 +msgid "" +"In this practice, we'll tell the turtle to draw a corner.\n" +"\n" +"The corner is made up of two lines that are [code]200[/code] pixels long. " +"The lines are connected at each end by [code]90[/code] degrees, or right-" +"angle.\n" +"\n" +"The [code]move_forward()[/code] and [code]turn_right()[/code] functions to " +"the right draw a corner, but they're missing some arguments.\n" +"\n" +"Add the missing arguments so the turtle moves forward [code]200[/code] " +"pixels, turns right [code]90[/code] degrees, then moves forward again " +"[code]200[/code] pixels.\n" +"\n" +"We added the first argument for you so the turtle moves forward [code]200[/" +"code] pixels.\n" +"\n" +"In the following practices, we'll draw multiple corners to create " +"rectangles.\n" +"\n" +msgstr "" +"Dans cet exercice, nous allons dire à la tortue de dessiner un coin.\n" +"\n" +"Le coin est composé de deux lignes de [code]200[/code] pixels de long. Les " +"lignes sont reliées à chaque extrémité par [code]90[/code] degrés, c'est-à-" +"dire un angle droit.\n" +"\n" +"Les fonctions [code]move_forward()[/code] et [code]turn_right()[/code] à " +"droite dessinent un coin, mais il leur manque certains paramètres.\n" +"\n" +"Ajoutez les paramètres manquants pour que la tortue avance de " +"[code]200[/code] pixels, tourne à droite de [code]90[/code] degrés, puis " +"avance à nouveau de [code]200[/code] pixels.\n" +"\n" +"Nous avons ajouté le premier paramètre pour vous afin que la tortue avance " +"de [code]200[/code] pixels.\n" +"\n" +"Dans les exercices suivants, nous allons dessiner plusieurs coins pour créer " +"des rectangles.\n" +"\n" + +# travailler sur cette base +#: course/lesson-4-drawing-a-rectangle/lesson.tres:165 +msgid "" +"Use the turtle to draw a square's corner. You'll then build upon it to draw " +"a rectangle." +msgstr "" +"Utilisez la tortue pour dessiner le coin d'un carré. Vous allez ensuite vous " +"appuyer sur cette base pour dessiner un rectangle." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:170 +#: course/lesson-4-drawing-a-rectangle/lesson.tres:218 +msgid "Drawing a Rectangle" +msgstr "Dessiner un rectangle" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:171 +msgid "" +"Add the correct arguments to the functions [code]move_forward()[/code] and " +"[code]turn_right()[/code] to draw a rectangle with a width of [code]200[/" +"code] pixels, and a height of [code]120[/code] pixels.\n" +"\n" +"We wrote the first argument for you.\n" +"\n" +"In the next practice, you'll use the same functions to draw a bigger " +"rectangle." +msgstr "" +"Ajoutez les bons paramètres aux fonctions [code]move_forward()[/code] et " +"[code]turn_right()[/code] pour dessiner un rectangle d'une largeur de " +"[code]200[/code] pixels et d'une hauteur de [code]120[/code] pixels.\n" +"\n" +"Nous avons écrit le premier paramètre pour vous.\n" +"\n" +"Dans le prochain exercice, vous utiliserez les mêmes fonctions pour dessiner " +"un rectangle plus grand." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:191 +msgid "" +"Based on your rectangle corner, you now need to draw a complete rectangle." +msgstr "" +"En vous appuyant sur le coin de votre rectangle, vous devez maintenant " +"dessiner un rectangle complet." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:196 +msgid "Drawing a Bigger Rectangle" +msgstr "Dessiner un rectangle plus grand" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:197 +msgid "" +"Write out calls to the functions [code]move_forward()[/code] and " +"[code]turn_right()[/code] to draw a rectangle with a width of 220 pixels, " +"and a height of 260 pixels.\n" +"\n" +"We wrote the first two lines for you.\n" +"\n" +"Be sure to write each instruction on a separate line.\n" +"\n" +"Every line should start with one [code]Tab[/code] character so the computer " +"understands it's part of the [code]draw_rectangle()[/code] function." +msgstr "" +"Rédigez des appels aux fonctions [code]move_forward()[/code] et " +"[code]turn_right()[/code] pour dessiner un rectangle d'une largeur de 220 " +"pixels et d'une hauteur de 260 pixels.\n" +"\n" +"Nous avons écrit les deux premières lignes pour vous.\n" +"\n" +"Veillez à écrire chaque instruction sur une ligne distincte.\n" +"\n" +"Chaque ligne doit commencer par un caractère [code]Tab[/code] afin que " +"l'ordinateur comprenne qu'elle fait partie de la fonction " +"[code]draw_rectangle()[/code]." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:214 +msgid "" +"At this point, you're ready to code entirely on your own. Call functions by " +"yourself to draw a complete rectangle." +msgstr "" +"Maintenant, vous êtes prêt(e) à coder entièrement par vous-même. Appelez des " +"fonctions par vous-même pour dessiner un rectangle complet." + +#~ msgid "" +#~ "The function parameters are inside the parentheses in a function " +#~ "definition.\n" +#~ "\n" +#~ "The [code]func[/code] keyword tells the computer you're defining a new " +#~ "function, and [code]move_forward[/code] is the function's name." +#~ msgstr "" +#~ "Les paramètres d'une fonction se trouvent à l'intérieur des parenthèses " +#~ "dans une définition de fonction.\n" +#~ "\n" +#~ "Le mot-clé [code]func[/code] indique à l'ordinateur que vous définissez " +#~ "une nouvelle fonction, et [code]move_forward[/code] est le nom de la " +#~ "fonction." + +#~ msgid "func" +#~ msgstr "func" + +#~ msgid "pixels" +#~ msgstr "pixels" diff --git a/i18n/fr/lesson-5-your-first-function.po b/i18n/fr/lesson-5-your-first-function.po new file mode 100644 index 00000000..4f83d2c3 --- /dev/null +++ b/i18n/fr/lesson-5-your-first-function.po @@ -0,0 +1,425 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-5-your-first-function/lesson.tres:14 +msgid "" +"So far, we have called existing functions that other developers wrote.\n" +"\n" +"In this lesson, we'll talk more about what functions are and see some " +"examples. Then, you will learn how to define your own functions." +msgstr "" +"Jusqu'à présent, nous avons appelé des fonctions existantes écrites par " +"d'autres développeurs.\n" +"\n" +"Dans cette leçon, nous allons parler davantage de ce que sont les fonctions " +"et voir quelques exemples. Ensuite, vous apprendrez à définir vos propres " +"fonctions." + +#: course/lesson-5-your-first-function/lesson.tres:24 +msgid "Functions are named sequences of instructions" +msgstr "Les fonctions sont des séquences d'instructions avec un nom" + +#: course/lesson-5-your-first-function/lesson.tres:26 +msgid "" +"Functions are [i]sequences of instructions[/i] we give a name. We call that " +"name an [i]identifier[/i].\n" +"\n" +"Using the identifier, we can get the computer to execute all the " +"instructions inside the function as many times as we need. This is what a " +"[i]function call[/i] does." +msgstr "" +"Les fonctions sont des [i]séquences d'instructions[/i] auxquelles nous " +"donnons un nom. Nous appelons ce nom un [i]identifiant[/i].\n" +"\n" +"En utilisant l'identifiant, nous pouvons demander à l'ordinateur d'exécuter " +"toutes les instructions de la fonction autant de fois que nécessaire. C'est " +"ce que fait un [i]appel de fonction[/i]." + +#: course/lesson-5-your-first-function/lesson.tres:36 +msgid "Learn more about identifiers" +msgstr "En savoir plus sur les identifiants" + +# avec précision +# de façon précise. +#: course/lesson-5-your-first-function/lesson.tres:38 +msgid "" +"In computer programming, we talk about [i]identifiers[/i] rather than " +"\"names\".\n" +"\n" +"It is because a function name is a label the computer uses to precisely " +"[i]identify[/i] and refer to a function or other code elements.\n" +"\n" +"Identifiers are unique: you cannot reuse the same name in a given [i]space[/" +"i] in your code.\n" +"\n" +"If you try to name two functions the same, the computer will raise an error." +msgstr "" +"En programmation informatique, on parle d'[i]identifiants[/i] plutôt que de " +"« noms ».\n" +"\n" +"C'est parce qu'un nom de fonction est une étiquette que l'ordinateur utilise " +"pour précisément [i]identifier[/i] et faire référence à une fonction ou à " +"d'autres éléments du code.\n" +"\n" +"Les identifiants sont uniques : vous ne pouvez pas réutiliser le même nom " +"dans un [i]espace[/i] donné de votre code.\n" +"\n" +"Si vous essayez de donner le même nom à deux fonctions, l'ordinateur émettra " +"une erreur." + +#: course/lesson-5-your-first-function/lesson.tres:54 +msgid "" +"If there is any code that you need to run multiple times, you can put it " +"inside a function and give it a name.\n" +"\n" +"The instructions inside a function can be any code you want, and they will " +"all run every time you call the function.\n" +"\n" +"Here's the example of a [code]move_and_rotate()[/code] function that moves " +"the turtle forward and then turns it 90°." +msgstr "" +"S'il y a du code que vous devez exécuter plusieurs fois, vous pouvez le " +"mettre dans une fonction et lui donner un nom.\n" +"\n" +"Les instructions à l'intérieur d'une fonction peuvent être n'importe quel " +"code que vous voulez, et elles seront toutes exécutées chaque fois que vous " +"appelez la fonction.\n" +"\n" +"Voici l'exemple d'une fonction [code]move_and_rotate()[/code] qui fait " +"avancer la tortue puis la fait tourner de 90°." + +#: course/lesson-5-your-first-function/lesson.tres:78 +msgid "" +"The [code]move_and_rotate()[/code] function consists of two instructions, " +"each on a separate line. Both of those instructions call another familiar " +"function.\n" +"\n" +"You could write another function that calls [code]move_and_rotate()[/code] " +"four times to draw a square of length 200 pixels." +msgstr "" +"La fonction [code]move_and_rotate()[/code] se compose de deux instructions, " +"chacune sur une ligne distincte. Ces deux instructions appellent une autre " +"fonction que nous connaissons déjà.\n" +"\n" +"Vous pouvez écrire une autre fonction qui appelle [code]move_and_rotate()[/" +"code] quatre fois pour dessiner un carré de 200 pixels de long." + +#: course/lesson-5-your-first-function/lesson.tres:100 +msgid "" +"Every time we call [code]move_and_rotate()[/code], the two functions " +"[code]move_forward(200)[/code] and [code]turn_right(90)[/code] are called in " +"sequence.\n" +"\n" +"In this simple example, it may not feel super useful. Here's a more useful " +"and realistic one: a function to draw any square.\n" +"\n" +"The following function uses [i]parameters[/i], which we will explore in the " +"next lesson.\n" +"\n" +"[i]Drag the slider to change the square's size.[/i]" +msgstr "" +"Chaque fois que nous appelons [code]move_and_rotate()[/code], les deux " +"fonctions [code]move_forward(200)[/code] et [code]turn_right(90)[/code] sont " +"appelées en séquence.\n" +"\n" +"Dans cet exemple simple, cela peut ne pas sembler super utile. En voici un " +"plus utile et réaliste : une fonction pour dessiner n'importe quel rectangle." +"\n" +"\n" +"La fonction suivante utilise des [i]paramètres[/i], que nous allons explorer " +"dans la prochaine leçon.\n" +"\n" +"[i]Faites glisser le curseur pour modifier la taille du carré.[/i]" + +#: course/lesson-5-your-first-function/lesson.tres:124 +msgid "How to define your own functions" +msgstr "Comment définir vos propres fonctions" + +#: course/lesson-5-your-first-function/lesson.tres:126 +msgid "" +"Let's break down how you define a function.\n" +"\n" +"A function definition starts with the [code]func[/code] keyword followed by " +"a space, the function's name, parentheses, and a colon." +msgstr "" +"Voyons comment définir une fonction.\n" +"\n" +"Une définition de fonction commence par le mot-clé [code]func[/code] suivi " +"d'un espace, du nom de la fonction, de parenthèses et de deux points." + +#: course/lesson-5-your-first-function/lesson.tres:148 +msgid "" +"The instructions inside the function [b]must[/b] all start with a leading " +"tab character. You can insert that tab character by pressing the [b]Tab[/b] " +"key.\n" +"\n" +"We call those leading tabs [i]indents[/i]. They're important: the computer " +"uses them to know which instructions are part of the same code block." +msgstr "" +"Les instructions à l'intérieur de la fonction [b]doivent[/b] toutes " +"commencer par un caractère de tabulation. Vous pouvez insérer ce caractère " +"de tabulation en appuyant sur la touche [b]Tab[/b].\n" +"\n" +"Nous appelons ces tabulations initiales [i]indentations[/i]. Elles sont " +"importantes : l'ordinateur les utilise pour savoir quelles instructions font " +"partie du même bloc de code." + +#: course/lesson-5-your-first-function/lesson.tres:158 +msgid "Why do we use functions?" +msgstr "Pourquoi utilisons-nous des fonctions ?" + +#: course/lesson-5-your-first-function/lesson.tres:161 +msgid "" +"Functions are groups of instructions we reuse every time we call the " +"function.\n" +"\n" +"Because we give functions a name, they also allow us to name a set of " +"instructions, which is handy!" +msgstr "" +"Les fonctions sont des groupes d'instructions que nous réutilisons chaque " +"fois que nous appelons la fonction.\n" +"\n" +"Parce que nous donnons un nom aux fonctions, elles nous permettent aussi de " +"nommer un ensemble d'instructions, ce qui est pratique !" + +#: course/lesson-5-your-first-function/lesson.tres:164 +#: course/lesson-5-your-first-function/lesson.tres:165 +msgid "To reuse code multiple times. " +msgstr "Pour réutiliser le code plusieurs fois. " + +#: course/lesson-5-your-first-function/lesson.tres:164 +#: course/lesson-5-your-first-function/lesson.tres:165 +msgid "To run multiple instructions in one go." +msgstr "Pour exécuter plusieurs instructions en une seule fois." + +#: course/lesson-5-your-first-function/lesson.tres:164 +#: course/lesson-5-your-first-function/lesson.tres:165 +msgid "To put a name on multiple lines of code." +msgstr "Pour donner un nom aux plusieurs lignes de code." + +#: course/lesson-5-your-first-function/lesson.tres:172 +msgid "Names in code have rules" +msgstr "Les noms dans le code ont des règles" + +#: course/lesson-5-your-first-function/lesson.tres:174 +msgid "" +"Function identifiers cannot contain spaces. In general, names in programming " +"languages cannot contain spaces.\n" +"\n" +"The computer uses spaces to detect the separation between different keywords " +"and identifiers.\n" +"\n" +"Instead of spaces, in GDScript, we use underscores (\"_\"). You saw this " +"already with functions like [code]move_forward()[/code] or " +"[code]move_local_x()[/code]. This is the convention we follow in GDScript.\n" +"\n" +"There's another convention programmers use in some other programming " +"languages.\n" +"\n" +"Instead of using underscores, they start words with capital letters except " +"for the first one. With that convention, you'd write function names like " +"[code]moveForward()[/code] or [code]moveLocalX()[/code]\n" +"\n" +"Identifiers also [i]have[/i] to start with a letter or an underscore; You " +"[i]can't[/i] begin with a number, but you can use numbers after the first " +"character." +msgstr "" +"Les identifiants de fonction ne peuvent pas contenir d'espaces. En général, " +"les noms dans les langages de programmation ne peuvent pas contenir " +"d'espaces.\n" +"\n" +"L'ordinateur utilise les espaces pour détecter la séparation entre les " +"différents mots-clés et identifiants.\n" +"\n" +"Au lieu d'espaces, dans GDScript, nous utilisons des tirets bas (\"_\"). " +"Vous l'avez déjà vu avec des fonctions comme [code]move_forward()[/code] ou " +"[code]move_local_x()[/code]. C'est la convention que nous suivons dans " +"GDScript.\n" +"\n" +"Il existe une autre convention que les programmeurs utilisent dans d'autres " +"langages de programmation.\n" +"\n" +"Au lieu d'utiliser des tirets bas, on commence les mots par des lettres " +"majuscules, sauf pour le premier. Avec cette convention, vous écririez des " +"noms de fonctions comme [code]moveForward()[/code] ou [code]moveLocalX()[/" +"code]\n" +"\n" +"Les identifiants [i]doivent[/i] également commencer par une lettre ou un " +"tiret bas ; vous [i]ne pouvez pas[/i] commencer par un nombre, mais vous " +"pouvez utiliser des nombres après le premier caractère." + +#: course/lesson-5-your-first-function/lesson.tres:192 +msgid "Which of the following names are valid function names?" +msgstr "Parmi les noms suivants, lesquels sont des noms de fonction valides ?" + +#: course/lesson-5-your-first-function/lesson.tres:193 +msgid "Note that it's fine to use capital letters." +msgstr "Notez qu'il est acceptable d'utiliser des majuscules." + +#: course/lesson-5-your-first-function/lesson.tres:195 +msgid "" +"You can't name a function [code]move forward[/code] because it contains a " +"space. Names in code cannot contain spaces.\n" +"\n" +"They can't start with numbers either, which is why [code]45_degree_turn[/" +"code] is also invalid. \n" +"\n" +"However, having numbers elsewhere in a function name is fine. That's why " +"[code]make3NewCharacters[/code] works." +msgstr "" +"Vous ne pouvez pas nommer une fonction [code]move forward[/code] parce que " +"ce nom contient un espace. Les noms dans le code ne peuvent pas contenir " +"d'espaces.\n" +"\n" +"Ils ne peuvent pas non plus commencer par des nombres, c'est pourquoi " +"[code]45_degree_turn[/code] n'est pas non plus valide\n" +"\n" +"Cependant, il est possible d'avoir des nombres ailleurs dans le nom d'une " +"fonction. C'est pourquoi [code]make3NewCharacters[/code] fonctionne." + +#: course/lesson-5-your-first-function/lesson.tres:200 +msgid "move forward" +msgstr "move forward" + +#: course/lesson-5-your-first-function/lesson.tres:200 +#: course/lesson-5-your-first-function/lesson.tres:201 +msgid "jump" +msgstr "jump" + +#: course/lesson-5-your-first-function/lesson.tres:200 +#: course/lesson-5-your-first-function/lesson.tres:201 +msgid "make3NewCharacters" +msgstr "make3NewCharacters" + +#: course/lesson-5-your-first-function/lesson.tres:200 +#: course/lesson-5-your-first-function/lesson.tres:201 +msgid "move_forward" +msgstr "move_forward" + +#: course/lesson-5-your-first-function/lesson.tres:200 +msgid "45_degree_turn" +msgstr "45_degree_turn" + +#: course/lesson-5-your-first-function/lesson.tres:208 +msgid "Instantly moving the turtle to a different position" +msgstr "Déplacer instantanément la tortue dans une position différente" + +#: course/lesson-5-your-first-function/lesson.tres:210 +msgid "" +"In order to draw multiple squares in different positions, we introduce a new " +"function for our turtle to use.\n" +"\n" +"The [code]jump()[/code] function picks up the turtle and places it relative " +"to where it is.\n" +"\n" +"So calling [code]jump(-100, 50)[/code] moves the turtle by 100 pixels to the " +"[b]left[/b] and 50 pixels [b]down[/b] without drawing any lines." +msgstr "" +"Afin de dessiner plusieurs carrés dans des positions différentes, nous " +"introduisons une nouvelle fonction à utiliser par notre tortue.\n" +"\n" +"La fonction [code]jump()[/code] prend la tortue et la place dans une " +"position relative à l'endroit où elle se trouve.\n" +"\n" +"Ainsi, en appelant [code]jump(-100, 50)[/code], la tortue se déplace de 100 " +"pixels vers [b]la gauche[/b] et de 50 pixels vers [b]le bas[/b] sans " +"dessiner de lignes." + +#: course/lesson-5-your-first-function/lesson.tres:232 +msgid "A function to draw squares" +msgstr "Une fonction pour dessiner des carrés" + +#: course/lesson-5-your-first-function/lesson.tres:233 +msgid "" +"Code a function named [code]draw_square()[/code] to draw one square of " +"length 200 pixels. The function should take no parameters.\n" +"\n" +"Use the [code]move_forward()[/code] and [code]turn_right()[/code] functions " +"to instruct the turtle.\n" +"\n" +"In the following practice, you'll use the [code]draw_square()[/code] " +"function to draw multiple squares by calling your own function." +msgstr "" +"Codez une fonction nommée [code]draw_square()[/code] pour dessiner un carré " +"de 200 pixels de long. La fonction ne doit prendre aucun paramètre.\n" +"\n" +"Utilisez les fonctions [code]move_forward()[/code] et [code]turn_right()[/" +"code] pour donner des instructions à la tortue.\n" +"\n" +"Dans l'exercice suivant, vous allez utiliser la fonction [code]draw_square()" +"[/code] pour dessiner plusieurs carrés en appelant votre propre fonction." + +#: course/lesson-5-your-first-function/lesson.tres:246 +msgid "" +"Until now, you've had to write code by hand, and it's boring. It's time to " +"code a reusable function. You'll use it to draw multiple squares." +msgstr "" +"Jusqu'à présent, vous deviez écrire du code à la main, et cela peut sembler " +"ennuyeux. Il est temps de coder une fonction réutilisable. Vous allez " +"l'utiliser pour dessiner plusieurs carrés." + +#: course/lesson-5-your-first-function/lesson.tres:251 +msgid "Drawing multiple squares" +msgstr "Dessiner plusieurs carrés" + +#: course/lesson-5-your-first-function/lesson.tres:252 +msgid "" +"You have a function to draw one square: [code]draw_square()[/code]. Use it " +"to draw three squares.\n" +"\n" +"We already created [code]draw_square()[/code] for you. Create a function " +"named [code]draw_three_squares[/code] that calls [code]draw_square()[/code] " +"three times.\n" +"\n" +"If you just call the function, all three squares will overlap. To stack them " +"diagonally, call [code]jump(300, 300)[/code] between two calls to " +"[code]draw_square()[/code].\n" +"\n" +"Calling [code]jump(300, 300)[/code] makes the turtle jump by 300 pixels to " +"the right and 300 pixels down without drawing any lines." +msgstr "" +"Vous avez une fonction pour dessiner un carré : [code]draw_square()[/code]. " +"Utilisez-la pour dessiner trois carrés.\n" +"\n" +"Nous avons déjà créé [code]draw_square()[/code] pour vous. Créez une " +"fonction appelée [code]draw_three_squares[/code] qui appelle " +"[code]draw_square()[/code] trois fois.\n" +"\n" +"Si vous appelez simplement la fonction, les trois carrés se superposeront. " +"Pour les empiler en diagonale, appelez [code]jump(300, 300)[/code] entre " +"deux appels à [code]draw_square()[/code].\n" +"\n" +"En appelant [code]jump(300, 300)[/code], la tortue fait un saut de 300 " +"pixels vers la droite et de 300 pixels vers le bas sans dessiner de lignes." + +#: course/lesson-5-your-first-function/lesson.tres:275 +msgid "" +"Now you created a function to draw squares, you can reuse it by calling it " +"multiple times." +msgstr "" +"Maintenant que vous avez créé une fonction pour dessiner des carrés, vous " +"pouvez la réutiliser en l'appelant plusieurs fois." + +#: course/lesson-5-your-first-function/lesson.tres:279 +msgid "Coding Your First Function" +msgstr "Coder votre première fonction" diff --git a/i18n/fr/lesson-6-multiple-function-parameters.po b/i18n/fr/lesson-6-multiple-function-parameters.po new file mode 100644 index 00000000..89c0789f --- /dev/null +++ b/i18n/fr/lesson-6-multiple-function-parameters.po @@ -0,0 +1,555 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-6-multiple-function-parameters/lesson.tres:14 +msgid "" +"In the previous part, you created a function to draw a square of a fixed " +"size.\n" +"\n" +"This function is a bit limiting. Instead, it would be much better if we had " +"a function to draw a square of [i]any[/i] size. Or better: any kind of " +"rectangle (a square is a specific kind of rectangle).\n" +"\n" +"In previous lessons, you used the [code]rotate()[/code] function and gave it " +"an [i]argument[/i]." +msgstr "" +"Dans la partie précédente, vous avez créé une fonction pour dessiner un " +"carré d'une taille fixe.\n" +"\n" +"Cependant, cette fonction est un peu restrictive. Il serait bien mieux " +"d'avoir une fonction permettant de dessiner un carré de [i]n'importe " +"quelle[/i] taille. Ou mieux : n'importe quel type de rectangle (un carré est " +"un type spécifique de rectangle).\n" +"\n" +"Dans les leçons précédentes, vous avez utilisé la fonction " +"[code]rotate()[/code] et vous lui avez donné un [i]paramètre[/i]." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:38 +msgid "" +"Just like [code]rotate()[/code], we can also give our function " +"[i]parameters[/i]. Parameters are labels you give to values passed to the " +"function." +msgstr "" +"Tout comme [code]rotate()[/code], nous pouvons également donner à notre " +"fonction des [i]paramètres[/i]. Les paramètres sont des étiquettes que vous " +"donnez aux valeurs passées à la fonction." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:46 +msgid "Can I rotate in both directions?" +msgstr "Puis-je pivoter dans les deux sens ?" + +# d'effectuer une rotation +#: course/lesson-6-multiple-function-parameters/lesson.tres:48 +msgid "" +"The [code]radians[/code] can be a positive or negative number, which allows " +"you to rotate both clockwise and counter-clockwise." +msgstr "" +"Les [code]radians[/code] peuvent être un nombre positif ou négatif, ce qui " +"vous permet d'effectuer une rotation dans le sens des aiguilles d'une montre " +"ainsi que dans le sens inverse." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:58 +msgid "" +"For now, please focus on the first line: [code]func rotate(radians)[/code].\n" +"\n" +"When you call [code]rotate(0.5)[/code], the computer binds the value " +"[code]0.5[/code] to the label [code]radians[/code].\n" +"\n" +"Wherever the computer sees the identifier [code]radians[/code] inside the " +"function, it replaces it with the [code]0.5[/code] value.\n" +"\n" +"The parameter name is always a label you use to refer to a [i]value[/i]. The " +"value in question can be a number, text, or anything else.\n" +"\n" +"For now, we'll stick to numbers as we have yet to see other value types." +msgstr "" +"Pour l'instant, concentrez-vous sur la première ligne : [code]func " +"rotate(radians)[/code].\n" +"\n" +"Lorsque vous appelez [code]rotate(0.5)[/code], l'ordinateur lie la valeur " +"[code]0.5[/code] à l'étiquette [code]radians[/code].\n" +"\n" +"Chaque fois que l'ordinateur voit l'identifiant [code]radians[/code] dans la " +"fonction, il le remplace par la valeur [code]0.5[/code].\n" +"\n" +"Le nom du paramètre est toujours une étiquette que vous utilisez pour faire " +"référence à une [i]valeur[/i]. La valeur en question peut être un nombre, du " +"texte ou n'importe quoi d'autre.\n" +"\n" +"Pour l'instant, nous nous en tiendrons aux nombres car nous n'avons pas " +"encore vu d'autres types de valeurs." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:74 +msgid "What is a function parameter?" +msgstr "Qu'est-ce qu'un paramètre de fonction ?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:77 +msgid "" +"A parameter is a label that represents a value.\n" +"\n" +"The value in question can change: it depends on what you put in parentheses " +"when calling a function." +msgstr "" +"Un paramètre est une étiquette qui représente une valeur.\n" +"\n" +"La valeur en question peut changer : elle dépend de ce que vous mettez entre " +"parenthèses lors de l'appel d'une fonction." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:80 +#: course/lesson-6-multiple-function-parameters/lesson.tres:81 +msgid "A label you give to a value the function receives." +msgstr "Une étiquette que vous donnez à une valeur que la fonction reçoit." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:80 +msgid "A number you use to make calculations." +msgstr "Un nombre que vous utilisez pour faire des calculs." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:80 +msgid "The name of a function." +msgstr "Le nom d'une fonction." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:88 +msgid "How to create functions with parameters" +msgstr "Comment créer des fonctions avec des paramètres" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:90 +msgid "" +"You can give your function parameters when writing its [i]definition[/i] " +"(the line starting with the [code]func[/code] keyword).\n" +"\n" +"To do so, you add a name inside of the parentheses." +msgstr "" +"Vous pouvez donner des paramètres à votre fonction lorsque vous écrivez sa " +"[i]définition[/i] (la ligne commençant par le mot-clé [code]func[/code]).\n" +"\n" +"Pour ce faire, vous ajoutez un nom à l'intérieur des parenthèses." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:112 +msgid "" +"You can give parameters any name. How you name functions and parameters is " +"up to you. \n" +"\n" +"Just remember that names cannot contain spaces. To write parameter names " +"with multiple words, you need to use underscores.\n" +"\n" +"The following function definition is exactly equivalent to the previous one." +msgstr "" +"Vous pouvez donner n'importe quel nom aux paramètres. La façon dont vous " +"nommez les fonctions et les paramètres dépend de vous.\n" +"\n" +"Toutefois, n'oubliez pas que les noms ne peuvent pas contenir d'espaces. " +"Aussi, pour écrire des noms de paramètres avec plusieurs mots, vous devez " +"utiliser des tirets bas.\n" +"\n" +"La définition de fonction suivante est exactement équivalente à la " +"précédente." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:136 +msgid "" +"Parameters make your code easier to reuse.\n" +"\n" +"Here's an example with a function to draw any square. Use the slider to " +"change the value passed to the function and draw squares of different sizes." +msgstr "" +"Les paramètres facilitent la réutilisation de votre code.\n" +"\n" +"Voici un exemple avec une fonction permettant de dessiner n'importe quel " +"carré. Utilisez le curseur pour modifier la valeur passée à la fonction et " +"dessiner des carrés de différentes tailles." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:156 +msgid "Which is the correct syntax for a function definition?" +msgstr "Quelle est la syntaxe correcte pour une définition de fonction ?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:159 +msgid "" +"To define a function, you need to start with the [code]func[/code] keyword " +"followed by a space, the [code]function_name[/code], and optional parameters " +"inside parentheses.\n" +"\n" +"You must end the line with a colon, which defines a new code block. We'll " +"see moving forward that keywords other than [code]func[/code] require a " +"colon at the end of the line." +msgstr "" +"Pour définir une fonction, vous devez commencer par le mot-clé [code]func[/" +"code] suivi d'un espace, du [code]nom_de_fonction[/code] et des paramètres " +"facultatifs entre parenthèses.\n" +"\n" +"Vous devez terminer la ligne par deux-points, ce qui définit un nouveau bloc " +"de code. Nous verrons plus tard que les mots-clés autres que [code]func[/" +"code] nécessitent deux-points à la fin de la ligne." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +#: course/lesson-6-multiple-function-parameters/lesson.tres:163 +msgid "func function_name(parameter_name):" +msgstr "func nom_de_fonction(nom_de_paramètre):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +msgid "func (function_name): parameter_name" +msgstr "func (nom_de_fonction): nom_de_paramètre" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +msgid "func function_name(parameter_name)" +msgstr "func nom_de_fonction(nom_de_paramètre)" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +msgid "function_name(parameter_name):" +msgstr "nom_de_fonction(nom_de_paramètre):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:170 +msgid "Functions can have multiple parameters" +msgstr "Les fonctions peuvent avoir plusieurs paramètres" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:172 +msgid "" +"You can use multiple parameters in a function. In fact, you can use as many " +"as you [i]need[/i].\n" +"\n" +"To separate the function parameters, you need to write a comma between them." +msgstr "" +"Vous pouvez utiliser plusieurs paramètres dans une fonction. En fait, vous " +"pouvez en utiliser [i]autant que vous en avez besoin[/i].\n" +"\n" +"Pour séparer les paramètres de la fonction, vous devez insérer une virgule " +"entre eux." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:192 +msgid "Must I write spaces between function parameters?" +msgstr "Dois-je écrire des espaces entre les paramètres des fonctions ?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:194 +msgid "" +"In a function definition, you must have a space between the [code]func[/" +"code] keyword and the function name.\n" +"\n" +"However, because we use the comma to separate parameters, it doesn't matter " +"if you use spaces between parameters. As long as you have the comma, either " +"syntax is correct.\n" +"\n" +"We often use spaces after the comma for readability." +msgstr "" +"Dans une définition de fonction, vous devez avoir un espace entre le mot-clé " +"[code]func[/code] et le nom de la fonction.\n" +"\n" +"Cependant, comme nous utilisons la virgule pour séparer les paramètres, cela " +"n'a pas d'importance si vous utilisez des espaces entre eux. Tant que vous " +"avez la virgule, les deux syntaxes sont correctes.\n" +"\n" +"Nous utilisons souvent des espaces après la virgule pour plus de lisibilité." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:208 +msgid "" +"The following example defines a function that uses two parameters to move an " +"entity on both the X and Y axes." +msgstr "" +"L'exemple suivant définit une fonction qui utilise deux paramètres pour " +"déplacer une entité sur les axes X et Y." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:226 +msgid "How should I name my functions and parameters?" +msgstr "Comment dois-je nommer mes fonctions et paramètres ?" + +# Vous voudrez peut-etre +#: course/lesson-6-multiple-function-parameters/lesson.tres:228 +msgid "" +"The names of functions, parameters, or other things in your code are " +"entirely up to you.\n" +"\n" +"They are written by us programmers for other programmers. You want to use " +"the names that make the most sense to you and fellow programmers.\n" +"\n" +"You could absolutely write single-letter names like in maths classes: " +"[code]a[/code], [code]b[/code], [code]f[/code].\n" +"\n" +"You can also write abbreviated names like [code]pos[/code] for position, " +"[code]bg[/code] for background, and so on.\n" +"\n" +"Many programmers do either or both of the above.\n" +"\n" +"At GDQuest, we favor complete and explicit names.\n" +"\n" +"We generally try to write code that is explicit and relatively easy to " +"read.\n" +"\n" +"Right now, you have to enter every letter when you code, so long names may " +"feel inconvenient.\n" +"\n" +"However, this is good for learning: it trains your fingers to [ignore]type " +"precisely.\n" +"\n" +"Then, after you finish this course, you will see that the computer assists " +"you a lot when you code real games with a feature called auto-completion.\n" +"\n" +"Based on a few characters you [ignore]type, it will offer you to complete " +"long names." +msgstr "" +"Les noms des fonctions, des paramètres ou d'autres éléments de votre code " +"dépendent entièrement de vous.\n" +"\n" +"Ils sont écrits par nous, programmeurs, pour d'autres programmeurs. Vous " +"voudrez ainsi utiliser les noms qui ont le plus de sens pour vous et pour " +"les autres programmeurs.\n" +"\n" +"Vous pourriez tout à fait écrire des noms d'une seule lettre, comme dans les " +"cours de maths : [code]a[/code], [code]b[/code], [code]f[/code].\n" +"\n" +"Vous pourriez également écrire des noms abrégés comme [code]pos[/code] pour " +"la position, [code]ap[/code] pour l'arrière-plan, etc.\n" +"\n" +"De nombreux programmeurs font l'une ou l'autre ou les deux.\n" +"\n" +"Dans GDQuest, nous privilégions les noms complets et explicites.\n" +"\n" +"Nous essayons généralement d'écrire du code qui est explicite et " +"relativement facile à lire.\n" +"\n" +"En ce moment, vous devez taper chaque lettre lorsque vous codez, alors les " +"noms longs peuvent sembler gênants.\n" +"\n" +"Cependant, c'est bon pour l'apprentissage : cela entraîne vos doigts à taper " +"avec précision.\n" +"\n" +"Ensuite, après avoir terminé ce cours, vous verrez que l'ordinateur vous " +"aide beaucoup lorsque vous codez de vrais jeux avec une fonctionnalité " +"appelée « auto-complétion ».\n" +"\n" +"En fonction de quelques caractères que vous tapez, il vous proposera de " +"compléter des noms longs." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:256 +msgid "When defining a function, parameters are..." +msgstr "Lors de la définition d'une fonction, les paramètres sont..." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:259 +msgid "" +"You can define functions with or without parameters, depending on your needs." +msgstr "" +"Vous pouvez définir des fonctions avec ou sans paramètres, en fonction de " +"vos besoins." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:260 +#: course/lesson-6-multiple-function-parameters/lesson.tres:261 +msgid "Optional" +msgstr "Facultatifs" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:260 +msgid "Mandatory" +msgstr "Obligatoires" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:268 +msgid "" +"What's the correct syntax to define a function with multiple parameters?" +msgstr "" +"Quelle est la syntaxe correcte pour définir une fonction avec plusieurs " +"paramètres ?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:271 +msgid "" +"You always write the function parameters inside of the parentheses. To " +"define multiple parameters, you separate them with a comma." +msgstr "" +"Vous écrivez toujours les paramètres de la fonction à l'intérieur des " +"parenthèses. Pour définir plusieurs paramètres, vous les séparez par une " +"virgule." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:272 +#: course/lesson-6-multiple-function-parameters/lesson.tres:273 +msgid "func function_name(parameter_1, parameter_2, ...):" +msgstr "func nom_de_fonction(paramètre_1, paramètre_2, ...):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:272 +msgid "func function_name(parameter_1 parameter_2 ...):" +msgstr "func nom_de_fonction(paramètre_1 paramètre_2 ...):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:272 +msgid "func function_name(): parameter_1, parameter_2, ..." +msgstr "func nom_de_fonction(): paramètre_1, paramètre_2, ..." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:282 +msgid "" +"Now it's your turn to create a function with multiple parameters: a function " +"to draw rectangles of any size." +msgstr "" +"C'est maintenant à votre tour de créer une fonction avec plusieurs " +"paramètres : une fonction pour dessiner des rectangles de n'importe quelle " +"taille." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:290 +msgid "Drawing corners of different sizes" +msgstr "Dessiner des coins de différentes tailles" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:291 +msgid "" +"Before we create a rectangle of any size, let's first see how we can use " +"parameters to draw simpler shapes.\n" +"\n" +"Here we have an incomplete function that will draw corners with lines of any " +"length, but it's missing its [code]length[/code] parameter.\n" +"\n" +"The function will move the turtle forward an amount defined by the parameter " +"[code]length[/code], turn [code]90[/code] degrees, then move forward " +"[code]length[/code] pixels.\n" +"\n" +"Complete the [code]draw_corner()[/code] function so it uses the " +"[code]length[/code] parameter to draw corners." +msgstr "" +"Avant de créer un rectangle de n'importe quelle taille, voyons d'abord " +"comment nous pouvons utiliser des paramètres pour dessiner des formes plus " +"simples.\n" +"\n" +"Nous avons ici une fonction incomplète qui dessinera des coins avec des " +"lignes de n'importe quelle longueur, mais il lui manque son paramètre de " +"longueur : [code]length[/code].\n" +"\n" +"La fonction fera avancer la tortue d'une quantité définie par le paramètre " +"[code]length[/code], la fera tourner de [code]90[/code] degrés, puis la fera " +"avancer à nouveau du nombre de pixels défini par [code]length[/code].\n" +"\n" +"Complétez la fonction [code]draw_corner()[/code] pour qu'elle utilise le " +"paramètre [code]length[/code] pour dessiner des coins." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:309 +msgid "" +"Using function parameters, code a function you can reuse to draw corners " +"with lines of varying sizes." +msgstr "" +"En utilisant des paramètres de fonction, codez une fonction que vous pouvez " +"réutiliser pour dessiner des coins avec des lignes de différentes tailles." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:314 +msgid "Using multiple parameters" +msgstr "Utiliser plusieurs paramètres" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:315 +msgid "" +"In this practice, we'll improve our [code]draw_corner()[/code] function so " +"the angle can also vary.\n" +"\n" +"Add the [code]angle[/code] parameter after the [code]length[/code] parameter " +"in the [code]draw_corner()[/code] function and use it to draw corners of " +"varying angles." +msgstr "" +"Dans cet exercice, nous allons améliorer notre fonction " +"[code]draw_corner()[/code] pour que l'angle puisse également varier.\n" +"\n" +"Ajoutez le paramètre [code]angle[/code] à la fonction " +"[code]draw_corner()[/code] après le paramètre [code]length[/code] et " +"utilisez-le pour dessiner des angles variables." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:329 +msgid "With two parameters, code a function to draw corners with any angle." +msgstr "" +"Avec deux paramètres, codez une fonction pour dessiner des coins avec " +"n'importe quel angle." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:334 +msgid "Drawing squares of any size" +msgstr "Dessiner des carrés de n'importe quelle taille" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:335 +msgid "" +"We want a function to draw squares of any size.\n" +"\n" +"We could use these squares as outlines when selecting units in a tactical " +"game, as a frame for items in an inventory, and more.\n" +"\n" +"Create a function named [code]draw_square()[/code] that takes one parameter: " +"the [code]length[/code] of the square's sides.\n" +"\n" +"[b]The turtle should face towards the right when starting or completing a " +"square.[/b]\n" +"\n" +"Be sure to call [b]turn_right(90)[/b] enough times in your function to do " +"so." +msgstr "" +"Nous voulons une fonction pour dessiner des carrés de n'importe quelle " +"taille.\n" +"\n" +"Nous pourrions utiliser ces carrés comme contours lors de la sélection des " +"unités dans un jeu tactique, comme cadre pour les objets d'un inventaire, " +"etc.\n" +"\n" +"Créez une fonction appelée [code]draw_square()[/code] qui prend un paramètre " +"représentant la [code]length[/code], ou la longueur, des côtés du carré.\n" +"\n" +"[b]La tortue doit être orientée vers la droite lorsqu'elle commence ou " +"termine un rectangle.[/b]\n" +"\n" +"Veillez à appeler [b]turn_right(90)[/b] suffisamment de fois dans votre " +"fonction pour que ce soit le cas." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:352 +msgid "" +"In the previous lesson, your function would draw squares of a fixed size. " +"Using a parameter, code a function to draw squares of any size." +msgstr "" +"Dans la leçon précédente, votre fonction dessinait des carrés d'une taille " +"fixe. En utilisant un paramètre, codez une fonction pour dessiner des carrés " +"de n'importe quelle taille." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:357 +msgid "Drawing rectangles of any size" +msgstr "Dessiner des rectangles de n'importe quelle taille" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:358 +msgid "" +"Let's make our square drawing function more flexible to include rectangles " +"of varying sizes.\n" +"\n" +"Your job is to code a function named [code]draw_rectangle()[/code] that " +"takes two parameters: the [code]length[/code] and the [code]height[/code] of " +"the rectangle.\n" +"\n" +"[b]The turtle should face towards the right when starting or completing a " +"rectangle.[/b]\n" +"\n" +"Note that we could still draw a square with [code]draw_rectangle()[/code] by " +"having the [code]length[/code] and [code]height[/code] equal the same value." +msgstr "" +"Rendons notre fonction de dessin de carrés plus flexible pour inclure des " +"rectangles de différentes tailles.\n" +"\n" +"Votre travail consiste à coder une fonction appelée " +"[code]draw_rectangle()[/code] qui prend deux paramètres : [code]length[/code]" +" et [code]height[/code], qui désignent respectivement la longueur et la " +"hauteur du rectangle.\n" +"\n" +"[b]La tortue doit être orientée vers la droite lorsqu'elle commence ou " +"termine un rectangle.[/b]\n" +"\n" +"Notez que nous pourrions toujours dessiner un carré avec " +"[code]draw_rectangle()[/code] en faisant en sorte que [code]length[/code] et " +"[code]height[/code] aient la même valeur." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:381 +msgid "" +"With one parameter, you can make squares of any size. With two, you can draw " +"any rectangle! You'll do so in this practice." +msgstr "" +"Avec un paramètre, vous pouvez faire des carrés de n'importe quelle taille. " +"Avec deux, vous pouvez dessiner n'importe quel rectangle ! C'est ce que vous " +"ferez dans cet exercice." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:385 +msgid "Your First Function Parameter" +msgstr "Votre premier paramètre de fonction" diff --git a/i18n/fr/lesson-7-member-variables.po b/i18n/fr/lesson-7-member-variables.po new file mode 100644 index 00000000..156a46eb --- /dev/null +++ b/i18n/fr/lesson-7-member-variables.po @@ -0,0 +1,450 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-7-member-variables/lesson.tres:14 +msgid "" +"In this lesson, we take a first look at variables.\n" +"\n" +"In games, you need to keep track of many values that change over time:\n" +"\n" +"- The player's score.\n" +"- Every character or enemy's health.\n" +"- The last checkpoint.\n" +"\n" +"And so much more. You need to store, retrieve, and update those values.\n" +"\n" +"We call those values [i]variables[/i]. Variables are labels you use to keep " +"track of values that vary over time. Here's an example of a variable " +"tracking a character or monster's health." +msgstr "" +"Dans cette leçon, nous jetons un premier coup d'œil aux variables.\n" +"\n" +"Dans les jeux, vous devez faire un suivi de nombreuses valeurs qui changent " +"au fil du temps :\n" +"\n" +"- Le score du joueur.\n" +"- La santé de chaque personnage ou ennemi.\n" +"- Le dernier point de contrôle.\n" +"\n" +"Et bien d'autres choses encore. Vous devez stocker, récupérer et mettre à " +"jour ces valeurs.\n" +"\n" +"Nous appelons ces valeurs [i]variables[/i]. Les variables sont des " +"étiquettes que vous utilisez pour faire un suivi des valeurs qui varient " +"dans le temps. Voici un exemple d'une variable qui trace la santé d'un " +"personnage ou d'un monstre." + +#: course/lesson-7-member-variables/lesson.tres:44 +msgid "" +"The line above defines a new variable named [code]health[/code] and assigns " +"it a starting value of [code]100[/code] (that's what the equal sign does, " +"more on that below).\n" +"\n" +"Function parameters, which you saw in the previous lesson, are another " +"example of variables." +msgstr "" +"La ligne ci-dessus définit une nouvelle variable appelée [code]health[/code] " +"et lui attribue une valeur de départ de [code]100[/code] (c'est ce que fait " +"le signe égal, nous y reviendrons plus tard).\n" +"\n" +"Les paramètres de fonction, que vous avez vus dans la leçon précédente, sont " +"un autre exemple de variables." + +#: course/lesson-7-member-variables/lesson.tres:56 +msgid "" +"In this lesson, we start using variables built into Godot. They're a " +"particular kind called [i]member variables[/i].\n" +"\n" +"Member variables are values attached to a game entity. They're useful " +"properties like the [code]position[/code], [code]rotation[/code], and " +"[code]scale[/code] of a character.\n" +"\n" +"In a previous lesson, we saw how we could use the [code]rotate()[/code] " +"function to rotate our character." +msgstr "" +"Dans cette leçon, nous commençons à utiliser des variables intégrées à " +"Godot. Il s'agit d'un type particulier appelé [i]variables membres[/i].\n" +"\n" +"Les variables membres sont des valeurs attachées à une entité du jeu. Ce " +"sont des propriétés utiles comme la [code]position[/code], la " +"[code]rotation[/code] et la [code]scale[/code] (l'échelle) d'un personnage.\n" +"\n" +"Dans une leçon précédente, nous avons vu comment utiliser la fonction " +"[code]rotate()[/code] pour faire pivoter notre personnage." + +# remettre à zéro +#: course/lesson-7-member-variables/lesson.tres:80 +msgid "" +"This function increases or decreases the value of the entity's " +"[code]rotation[/code] member variable.\n" +"\n" +"Say we want to reset the rotation to [code]0[/code] and make the character " +"upright. Using the [code]rotate()[/code] function can prove difficult: you " +"need to know the character's exact current angle to cancel it out.\n" +"\n" +"It's much easier to use the member variable rather than the function.\n" +"\n" +"The following code assigns the value [code]0[/code] to the character's " +"rotation, resetting its angle and making it upright." +msgstr "" +"Cette fonction augmente ou diminue la valeur de la variable membre " +"[code]rotation[/code] de l'entité.\n" +"\n" +"Disons que nous voulons réinitialiser la rotation à [code]0[/code] et " +"redresser le personnage. Utiliser la fonction [code]rotate()[/code] peut " +"s'avérer difficile : vous devez connaître l'angle actuel exact du personnage " +"pour l'annuler.\n" +"\n" +"Il est beaucoup plus facile d'utiliser la variable membre plutôt que la " +"fonction.\n" +"\n" +"Le code suivant attribue la valeur [code]0[/code] à la rotation du " +"personnage, ce qui réinitialise son angle et le redresse." + +#: course/lesson-7-member-variables/lesson.tres:106 +msgid "" +"Notice how we use the equal sign ([code]=[/code]) to change the value of a " +"variable." +msgstr "" +"Remarquez comment nous utilisons le signe égal ([code]=[/code]) pour changer " +"la valeur d'une variable." + +#: course/lesson-7-member-variables/lesson.tres:114 +msgid "What's a variable?" +msgstr "Qu'est-ce qu'une variable ?" + +#: course/lesson-7-member-variables/lesson.tres:117 +msgid "" +"Variables are labels you use to access values that change over time.\n" +"\n" +"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 "" +"Les variables sont des étiquettes que vous utilisez pour accéder à des " +"valeurs qui changent au fil du temps.\n" +"\n" +"Vous pouvez aussi les utiliser pour mettre un nom sur une valeur que vous " +"souhaiter réutiliser au long de votre code. Cela rend votre code plus facile " +"à lire et à modifier." + +#: course/lesson-7-member-variables/lesson.tres:120 +#: course/lesson-7-member-variables/lesson.tres:121 +msgid "A label you use to keep track of a value that can change." +msgstr "" +"Une étiquette que vous utilisez pour suivre une valeur qui peut changer." + +#: course/lesson-7-member-variables/lesson.tres:120 +msgid "A function that varies over time." +msgstr "Une fonction qui varie dans le temps." + +#: course/lesson-7-member-variables/lesson.tres:120 +msgid "A decimal number." +msgstr "Un nombre décimal." + +#: course/lesson-7-member-variables/lesson.tres:128 +msgid "Accessing sub-variables with the dot" +msgstr "Accéder aux sous-variables avec le point" + +#: course/lesson-7-member-variables/lesson.tres:130 +msgid "" +"In video games, you will see many member variables that have sub-values.\n" +"\n" +"For example, the [code]position[/code] we mentioned has two coordinates: " +"[code]x[/code] and [code]y[/code].\n" +"\n" +"It's the same for the [code]scale[/code]: it has [code]x[/code] and [code]y[/" +"code] sub-variables. They respectively control the horizontal and vertical " +"size of the game entity.\n" +"\n" +"To access those X and Y sub-components, you add a dot (\".\") after the " +"variable name.\n" +"\n" +"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 "" +"Dans les jeux vidéo, vous verrez de nombreuses variables membres qui ont des " +"sous-valeurs.\n" +"\n" +"Par exemple, la [code]position[/code] que nous avons mentionnée a deux " +"coordonnées : [code]x[/code] et [code]y[/code].\n" +"\n" +"Il en va de même pour la [code]scale[/code] (l'échelle) : elle a les sous-" +"variables [code]x[/code] et [code]y[/code]. Elles contrôlent respectivement " +"la taille horizontale et verticale de l'entité du jeu.\n" +"\n" +"Pour accéder à ces sous-composantes X et Y, vous ajoutez un point (« . ») " +"après le nom de la variable.\n" +"\n" +"Le code ci-dessous place l'entité à [code]200[/code] pixels sur l'axe x et " +"[code]250[/code] pixels sur l'axe y." + +#: course/lesson-7-member-variables/lesson.tres:158 +msgid "" +"Notice how we use the equal sign (\"=\") to assign the numbers on the right " +"to the sub-variables on the left.\n" +"\n" +"Unlike in maths, in computer programming, the equal sign (\"=\") does not " +"mean \"is equal to.\"\n" +"\n" +"Instead, it means \"assign the result of the expression on the right to the " +"variable on the left\". We assign values so often in code that we prefer to " +"reserve the equal sign for that." +msgstr "" +"Remarquez comment nous utilisons le signe égal (« = ») pour attribuer les " +"nombres de droite aux sous-variables de gauche.\n" +"\n" +"Contrairement aux mathématiques, en programmation informatique, le signe " +"égal (« = ») ne signifie pas « est égal à ».\n" +"\n" +"Il signifie plutôt « assigne le résultat de l'expression de droite à la " +"variable de gauche ». Nous assignons des valeurs si souvent dans le code que " +"nous préférons réserver le signe égal pour cela." + +#: course/lesson-7-member-variables/lesson.tres:170 +msgid "In games, the Y-axis is positive going down" +msgstr "Dans les jeux, l'axe Y est positif en descendant" + +# la [i]contraire[/i] +#: 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" +"\n" +"In math, the y-axis is generally positive going up by convention.\n" +"\n" +"The convention is the [i]opposite[/i] in video games and many computer " +"applications: the y-axis is positive going down." +msgstr "" +"Notez que dans les jeux, en supposant que la position de votre personnage " +"commence à (0, 0), le code ci-dessus déplace l'entité [code]200[/code] " +"pixels vers la droite et [code]250[/code] pixels vers le bas.\n" +"\n" +"En mathématiques, l'axe y est généralement positif en montant, par " +"convention.\n" +"\n" +"La convention est le [i]contraire[/i] dans les jeux vidéo et de nombreuses " +"applications informatiques : l'axe y est positif en descendant." + +#: course/lesson-7-member-variables/lesson.tres:194 +msgid "Why does the Y-axis point downwards?" +msgstr "Pourquoi l’axe des Y pointe-t-il vers le bas ?" + +#: course/lesson-7-member-variables/lesson.tres:196 +msgid "" +"This may be confusing if you only saw the y-axis pointing up in math " +"classes. However, in math, axes go in any direction. They don't even have to " +"be perpendicular.\n" +"\n" +"On the computer, the position (0, 0) happens to correspond to the top-left " +"of your computer screen. It then makes sense for coordinates to be positive " +"when going towards the bottom-right corner.\n" +"\n" +"This leads to another question: why is position zero the top left of the " +"screen? This is due to computer and TV displays history: they would " +"calculate and display pixels starting from the top left corner and moving " +"towards the bottom right corner." +msgstr "" +"Cela peut être déroutant si vous n'avez vu que l'axe y pointant vers le haut " +"dans les cours de maths. Cependant, en maths, les axes vont dans n'importe " +"quelle direction. Ils n'ont même pas besoin d'être perpendiculaires.\n" +"\n" +"Sur l'ordinateur, il se trouve que la position (0, 0) correspond au coin " +"supérieur gauche de l'écran de votre ordinateur. Il est donc logique que les " +"coordonnées soient positives lorsqu'on se dirige vers le coin inférieur " +"droit.\n" +"\n" +"Cela nous amène à une autre question : pourquoi la position zéro est-elle en " +"haut à gauche de l'écran ? Cela est dû à l'histoire des écrans d'ordinateur " +"et de télévision : ils calculaient et affichaient les pixels en partant du " +"coin supérieur gauche et en allant vers le coin inférieur droit." + +#: course/lesson-7-member-variables/lesson.tres:210 +msgid "" +"Let's look at one last example before moving on to the practice. The " +"following code makes the character 1.5 times its starting size." +msgstr "" +"Voyons un dernier exemple avant de passer à la pratique. Le code suivant " +"rend le personnage 1.5 fois plus grand que sa taille de départ." + +#: course/lesson-7-member-variables/lesson.tres:228 +msgid "How do you access sub-variables?" +msgstr "Comment accéder aux sous-variables ?" + +#: course/lesson-7-member-variables/lesson.tres:229 +msgid "" +"Variables often hold sub-values, like the [code]position[/code] has two sub-" +"variables: [code]x[/code] and [code]y[/code]. How would you access the " +"[code]x[/code], for example?" +msgstr "" +"Les variables contiennent souvent des sous-valeurs, comme la [code]position[/" +"code] qui a deux sous-variables : [code]x[/code] et [code]y[/code]. Comment " +"accéderiez-vous au [code]x[/code], par exemple ?" + +#: course/lesson-7-member-variables/lesson.tres:231 +msgid "" +"To access a sub-variable, you need to write a dot between the parent " +"variable name and the sub-variable name.\n" +"\n" +"For example, to access the [code]x[/code] sub-variable of the " +"[code]position[/code] variable, you'll write [code]position.x[/code]." +msgstr "" +"Pour accéder à une sous-variable, vous devez écrire un point entre le nom de " +"la variable parent et le nom de la sous-variable.\n" +"\n" +"Par exemple, pour accéder à la sous-variable [code]x[/code] de la variable " +"[code]position[/code], vous écririez [code]position.x[/code]." + +#: course/lesson-7-member-variables/lesson.tres:234 +#: course/lesson-7-member-variables/lesson.tres:235 +msgid "You write a dot (\".\") between the variable and the sub-variable name." +msgstr "" +"Vous écrivez un point (« . ») entre le nom de la variable et le nom de la " +"sous-variable." + +#: course/lesson-7-member-variables/lesson.tres:234 +msgid "" +"You write an arrow (\"->\") between the variable and the sub-variable name." +msgstr "" +"Vous écrivez une flèche (« -> ») entre le nom de la variable et le nom de la " +"sous-variable." + +#: course/lesson-7-member-variables/lesson.tres:234 +msgid "" +"You write a slash (\"/\") between the variable and the sub-variable name." +msgstr "" +"Vous écrivez une barre oblique (« / ») entre le nom de la variable et le nom " +"de la sous-variable." + +# ou ce que vous voulez +# entraînons-nous à accéder aux variables +#: course/lesson-7-member-variables/lesson.tres:244 +msgid "" +"In a future lesson, we'll explain why and how those variables have sub-" +"variables.\n" +"\n" +"For now, just know you can use the dot to access them.\n" +"\n" +"We'll tell you which variables have sub-components and what their names " +"are.\n" +"\n" +"In the next lessons, you'll create your own variables and do operations on " +"them to add or remove [code]score[/code], [code]health[/code], you name it.\n" +"\n" +"For now, let's practice accessing variables." +msgstr "" +"Dans une prochaine leçon, nous expliquerons pourquoi et comment ces " +"variables ont des sous-variables.\n" +"\n" +"Pour l'instant, sachez simplement que vous pouvez utiliser le point pour y " +"accéder.\n" +"\n" +"Nous vous dirons quelles variables ont des sous-composants et quels sont " +"leurs noms.\n" +"\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" +"\n" +"Pour l'instant, mettons en pratique nos connaissances sur l'accès aux " +"variables." + +#: course/lesson-7-member-variables/lesson.tres:260 +msgid "Draw a rectangle at a precise position" +msgstr "Dessiner un rectangle à une position précise" + +#: course/lesson-7-member-variables/lesson.tres:261 +msgid "" +"Draw a rectangle of 200 by 120 pixels at the X position of 120 pixels and Y " +"position of 100 pixels.\n" +"\n" +"You need to replace the numbers in the code editor to draw the correct " +"rectangle." +msgstr "" +"Dessinez un rectangle de 200 par 120 pixels à la position X de 120 pixels et " +"à la position Y de 100 pixels.\n" +"\n" +"Vous devez remplacer les nombres dans l'éditeur de code pour dessiner le bon " +"rectangle." + +#: course/lesson-7-member-variables/lesson.tres:275 +msgid "" +"Use the position member variable and its sub-variables to change the " +"rectangle's position." +msgstr "" +"Utilisez la variable membre « position » et ses sous-variables pour modifier " +"la position du rectangle." + +#: course/lesson-7-member-variables/lesson.tres:280 +msgid "Draw squares at different positions" +msgstr "Dessiner des carrés à différentes positions" + +#: course/lesson-7-member-variables/lesson.tres:281 +msgid "" +"Draw three squares of size 100 by 100 that are 100 pixels apart on the " +"horizontal axis. In other words, there should be a 100-pixel gap between two " +"squares.\n" +"\n" +"You should draw the squares starting at the position (100, 100). This means " +"you should position the first square at 100 on the X axis and 100 on the Y " +"axis.\n" +"\n" +"Remember you need to use the equal sign ([code]=[/code]) to change the value " +"of a variable, like the turtle's position.\n" +"\n" +"Write your code inside the [code]run()[/code] function so the computer can " +"recognize it.\n" +"\n" +"Use the provided [code]draw_rectangle()[/code] function to draw each square." +msgstr "" +"Dessinez trois carrés de taille 100 par 100 qui soient séparés de 100 pixels " +"sur l'axe horizontal. En d'autres termes, il doit y avoir un écart de 100 " +"pixels entre deux carrés.\n" +"\n" +"Vous devez dessiner les carrés en commençant à la position (100, 100). Cela " +"signifie que vous devez positionner le premier carré à 100 sur l'axe X et à " +"100 sur l'axe Y.\n" +"\n" +"N'oubliez pas que vous devez utiliser le signe égal ([code]=[/code]) pour " +"changer la valeur d'une variable, comme la position de la tortue.\n" +"\n" +"Écrivez votre code à l'intérieur de la fonction [code]run()[/code] pour que " +"l'ordinateur puisse le reconnaître.\n" +"\n" +"Utilisez la fonction [code]draw_rectangle()[/code] fournie pour dessiner " +"chaque carré." + +#: course/lesson-7-member-variables/lesson.tres:299 +msgid "" +"Now you can place and draw one shape, but how about drawing several? In this " +"practice, you'll place three squares side by side to really get the hang of " +"properties." +msgstr "" +"Vous pouvez maintenant placer et dessiner une forme, mais que diriez-vous " +"d'en dessiner plusieurs ? Dans cet exercice, vous placerez trois carrés côte " +"à côte pour vous familiariser avec les propriétés." + +#: course/lesson-7-member-variables/lesson.tres:303 +msgid "Introduction to Member Variables" +msgstr "Introduction aux variables membres" diff --git a/i18n/fr/lesson-8-defining-variables.po b/i18n/fr/lesson-8-defining-variables.po new file mode 100644 index 00000000..d947058f --- /dev/null +++ b/i18n/fr/lesson-8-defining-variables.po @@ -0,0 +1,330 @@ +# 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-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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-8-defining-variables/lesson.tres:13 +msgid "" +"In the previous lesson, you used a predefined member variable named " +"[code]position[/code].\n" +"\n" +"In your projects, you will need to define your own variables.\n" +"\n" +"Imagine that you need to track the player's health in your game.\n" +"\n" +"They may start with [code]5[/code] health points. When taking a hit, the " +"health should go down to [code]4[/code]. After another hit, it should be " +"[code]3[/code]. And so on.\n" +"\n" +"To keep track of that, you can create a variable named [code]health[/code] " +"to which you add and subtract points.\n" +"\n" +"The example below introduces the [code]print()[/code] function, which " +"outputs its argument to the output box on the left.\n" +"\n" +"Click the [i]run()[/i] button to instantly run the entire function, and " +"click the [i]step[/i] button to execute lines of code one by one.\n" +"\n" +"The [i]Debugger[/i] panel at the bottom shows the current value of the " +"[code]health[/code] variable." +msgstr "" +"Dans la leçon précédente, vous avez utilisé une variable membre prédéfinie " +"appelée [code]position[/code].\n" +"\n" +"Dans vos projets, vous devrez définir vos propres variables.\n" +"\n" +"Imaginez que vous ayez besoin de faire un suivi de la santé du joueur dans " +"votre jeu.\n" +"\n" +"Le joueur peut commencer avec [code]5[/code] points de santé. Lorsqu'il " +"reçoit un coup, la santé devrait descendre à [code]4[/code]. Après un autre " +"coup, elle devrait être de [code]3[/code]. Et ainsi de suite.\n" +"\n" +"Pour garder une trace de cela, vous pouvez créer une variable nommée " +"[code]health[/code] à laquelle vous ajoutez et soustrayez des points.\n" +"\n" +"L'exemple ci-dessous présente la fonction [code]print()[/code], qui affiche " +"son paramètre dans la boîte de sortie à gauche.\n" +"\n" +"Cliquez sur le bouton [i]run()[/i] pour exécuter instantanément la fonction " +"entière, et cliquez sur le bouton [i]step[/i] pour exécuter les lignes de " +"code une par une.\n" +"\n" +"Le panneau [i]Débogueur[/i] en bas montre la valeur actuelle de la variable " +"[code]health[/code]." + +#: course/lesson-8-defining-variables/lesson.tres:47 +msgid "" +"After executing the first two lines of code, you will have a health variable " +"storing a value of [code]4[/code].\n" +"\n" +"Below, we'll break down how you define new variables and explain the " +"[code]print()[/code] function." +msgstr "" +"Après avoir exécuté les deux premières lignes de code, vous aurez une " +"variable de santé stockant une valeur de [code]4[/code].\n" +"\n" +"Ci-dessous, nous allons décortiquer comment définir de nouvelles variables " +"et nous expliquerons la fonction [code]print()[/code]." + +#: course/lesson-8-defining-variables/lesson.tres:57 +msgid "Defining a variable" +msgstr "Définir une variable" + +#: course/lesson-8-defining-variables/lesson.tres:59 +msgid "" +"To use a variable, you must first define it so the computer registers its " +"name.\n" +"\n" +"To do so, you start a line of code with the [code]var[/code] keyword " +"followed by your desired variable name. Like [code]func[/code] stands for " +"[i]function[/i], [code]var[/code] stands for [i]variable[/i].\n" +"\n" +"Variables are case-sensitive, which means [code]health[/code] and " +"[code]Health[/code] are technically different variables. Be careful to use " +"the same capitalization wherever you refer to the same variable, or you " +"could be reading or writing to a different variable.\n" +"\n" +"The following line defines a [code]health[/code] variable pointing to no " +"value. You can think of it as creating a product label you have yet to stick " +"onto something." +msgstr "" +"Pour utiliser une variable, vous devez d'abord la définir afin que " +"l'ordinateur enregistre son nom.\n" +"\n" +"Pour ce faire, vous commencez une ligne de code avec le mot-clé " +"[code]var[/code] suivi du nom de la variable que vous souhaitez. Comme " +"[code]func[/code] signifie [i]fonction[/i], [code]var[/code] signifie " +"[i]variable[/i].\n" +"\n" +"Les variables sont sensibles à la casse, ce qui signifie que " +"[code]health[/code] et [code]Health[/code] sont techniquement des variables " +"différentes. Veillez à utiliser la même capitalisation partout où vous " +"faites référence à la même variable, sinon vous pourriez lire ou écrire dans " +"une variable différente.\n" +"\n" +"La ligne suivante définit une variable [code]health[/code] qui ne pointe " +"vers aucune valeur. Vous pouvez considérer cela comme la création d'une " +"étiquette de produit que vous n'avez pas encore collée sur quelque chose." + +#: course/lesson-8-defining-variables/lesson.tres:85 +msgid "" +"Like with functions, a member variable's name must be unique inside a given " +"code file. Creating two variables next to each other with the same name will " +"cause an error." +msgstr "" +"Comme pour les fonctions, le nom d'une variable membre doit être unique dans " +"un fichier de code donné. La création de deux variables côte à côte avec le " +"même nom provoquera une erreur." + +#: course/lesson-8-defining-variables/lesson.tres:105 +msgid "" +"To use a variable, you want to assign it a starting value. You can do so " +"using the equal sign (=).\n" +"\n" +"This code assigns the value [code]100[/code] to a new variable named " +"[code]health[/code]." +msgstr "" +"Pour utiliser une variable, vous devez lui assigner une valeur de départ. " +"Vous pouvez le faire en utilisant le signe égal (=).\n" +"\n" +"Ce code assigne la valeur [code]100[/code] à une nouvelle variable nommée " +"[code]health[/code]." + +#: course/lesson-8-defining-variables/lesson.tres:127 +msgid "" +"After defining your variable, you can access its value by writing the " +"variable's name." +msgstr "" +"Après avoir défini votre variable, vous pouvez accéder à sa valeur en " +"écrivant le nom de la variable." + +#: course/lesson-8-defining-variables/lesson.tres:147 +msgid "" +"The code above will display the number [code]100[/code] to some output " +"window.\n" +"\n" +"Notice we don't use the [code]var[/code] keyword anymore as we only need it " +"to [i]define[/i] a variable.\n" +"\n" +"Also, once you define a variable, you can change its value anytime with the " +"equal sign." +msgstr "" +"Le code ci-dessus affichera le nombre [code]100[/code] dans une fenêtre de " +"sortie.\n" +"\n" +"Remarquez que nous n'utilisons plus le mot-clé [code]var[/code] car nous " +"n'en avons besoin que pour [i]définir[/i] une variable.\n" +"\n" +"De plus, une fois que vous avez défini une variable, vous pouvez changer sa " +"valeur à tout moment avec le signe égal." + +#: course/lesson-8-defining-variables/lesson.tres:169 +msgid "About the print function" +msgstr "À propos de la fonction « print »" + +# text brut en blanc +#: course/lesson-8-defining-variables/lesson.tres:171 +msgid "" +"The [code]print()[/code] function is generally the first function you learn " +"in academic programming courses.\n" +"\n" +"It sends (\"prints\") the message or value you give it to some output " +"window, often a black window with plain white text." +msgstr "" +"La fonction [code]print()[/code] (« imprimer » en anglais) est généralement " +"la première fonction que vous apprenez dans les cours de programmation " +"académiques.\n" +"\n" +"Elle envoie (« imprime ») le message ou la valeur que vous lui donnez à une " +"fenêtre de sortie, souvent une fenêtre noire avec du texte brut blanc." + +#: course/lesson-8-defining-variables/lesson.tres:183 +msgid "" +"Programmers often use [code]print()[/code] to quickly check the value of " +"their variables when their game runs.\n" +"\n" +"In the app, we made a special output window that captures calls to " +"[code]print()[/code] and displays a card to make it friendlier for you." +msgstr "" +"Les programmeurs utilisent souvent [code]print()[/code] pour vérifier " +"rapidement la valeur de leurs variables lorsque leur jeu s'exécute.\n" +"\n" +"Dans l'application, nous avons créé une fenêtre de sortie spéciale qui " +"capture les appels à [code]print()[/code] et affiche une carte pour la " +"rendre plus convivial pour vous." + +#: course/lesson-8-defining-variables/lesson.tres:205 +msgid "" +"Here, the verb [i]print[/i] means \"to send information to display on the " +"screen.\"\n" +"\n" +"The function \"prints\" things on your computer display; It does not relate " +"to printers." +msgstr "" +"Ici, le verbe [i]print[/i] signifie « envoyer des informations à afficher " +"sur l'écran ».\n" +"\n" +"La fonction « imprime » des choses sur l'écran de votre ordinateur ; elle ne " +"concerne pas les imprimantes." + +#: course/lesson-8-defining-variables/lesson.tres:215 +msgid "Variables are like labels" +msgstr "Les variables sont comme des étiquettes" + +#: course/lesson-8-defining-variables/lesson.tres:217 +msgid "" +"As we hinted above, in GDScript, variables work a bit like labels.\n" +"\n" +"Assigning a value to a variable is like taking your label (the variable) and " +"sticking it onto some item (the value)." +msgstr "" +"Comme nous l'avons indiqué ci-dessus, dans GDScript, les variables " +"fonctionnent un peu comme des étiquettes.\n" +"\n" +"Assigner une valeur à une variable revient à prendre votre étiquette (la " +"variable) et à la coller sur un élément (la valeur)." + +#: course/lesson-8-defining-variables/lesson.tres:229 +msgid "" +"Like a supermarket has a database of product labels, the computer keeps a " +"list of all variables in your code.\n" +"\n" +"Given the variable name, the computer can look up the attached value.\n" +"\n" +"It has an important consequence. In GDScript, you can stick that label to " +"any other value." +msgstr "" +"Comme un supermarché dispose d'une base de données des étiquettes des " +"produits, l'ordinateur conserve une liste de toutes les variables de votre " +"code.\n" +"\n" +"En donnant le nom de la variable, l'ordinateur peut rechercher la valeur " +"jointe.\n" +"\n" +"Cela a une conséquence importante. Dans GDScript, vous pouvez coller cette " +"étiquette à n'importe quelle autre valeur." + +# exerçons +#: course/lesson-8-defining-variables/lesson.tres:253 +msgid "" +"The above code is like taking a label from the appropriate item and sticking " +"it to the wrong thing:\n" +"\n" +"- At line 2, the [code]health[/code] variable holds a number.\n" +"- From line 3, [code]health[/code] holds text.\n" +"\n" +"The computer will let you do that! The code's syntax and \"grammar\" are " +"correct, but it's not good.\n" +"\n" +"Variable names should describe the value they contain, so a [code]health[/" +"code] variable with a text value will confuse your future self and other " +"coders. It can also cause errors in your game.\n" +"\n" +"Later on, we'll see how to avoid this issue with [i]variable types[/i]. For " +"now, let's practice creating variables!" +msgstr "" +"Le code ci-dessus revient à prendre une étiquette de l'article approprié et " +"à la coller sur le mauvais article :\n" +"\n" +"- Sur la ligne 2, la variable [code]health[/code] contient un nombre.\n" +"- À partir de la ligne 3, [code]health[/code] contient du texte.\n" +"\n" +"L'ordinateur vous permettra de le faire ! La syntaxe et la « grammaire » du " +"code sont correctes, mais ce n'est pas bon.\n" +"\n" +"Les noms de variables devraient décrire la valeur qu'elles contiennent, donc " +"une variable [code]health[/code] avec une valeur texte va embrouiller votre " +"futur moi et les autres codeurs. Cela peut également provoquer des erreurs " +"dans votre jeu.\n" +"\n" +"Plus tard, nous verrons comment éviter ce problème avec les [i]types de " +"variables[/i]. Pour l'instant, exerçons-nous à créer des variables !" + +#: course/lesson-8-defining-variables/lesson.tres:270 +msgid "Define a health variable" +msgstr "Définir une variable de santé" + +#: course/lesson-8-defining-variables/lesson.tres:271 +msgid "" +"Define a variable named [code]health[/code] with a starting value of " +"[code]100[/code].\n" +"\n" +"You can define variables inside or outside functions. In this practice, you " +"shouldn't create a function." +msgstr "" +"Définissez une variable nommée [code]health[/code] avec une valeur de départ " +"de [code]100[/code].\n" +"\n" +"Vous pouvez définir des variables à l'intérieur ou à l'extérieur des " +"fonctions. Dans cet exercice, vous ne devez pas créer de fonction." + +#: course/lesson-8-defining-variables/lesson.tres:282 +msgid "" +"In this practice, you'll define your first variable and give it a specific " +"starting value." +msgstr "" +"Dans cet exercice, vous allez définir votre première variable et lui donner " +"une valeur de départ spécifique." + +#: course/lesson-8-defining-variables/lesson.tres:286 +msgid "Defining Your Own Variables" +msgstr "Définir vos propres variables" diff --git a/i18n/fr/lesson-9-adding-and-subtracting.po b/i18n/fr/lesson-9-adding-and-subtracting.po new file mode 100644 index 00000000..a0e6d177 --- /dev/null +++ b/i18n/fr/lesson-9-adding-and-subtracting.po @@ -0,0 +1,225 @@ +# 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: 2022-03-07 21:03+0100\n" +"PO-Revision-Date: 2023-06-07 21:52+0000\n" +"Last-Translator: EGuillemot \n" +"Language-Team: French \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" + +# that that +#: course/lesson-9-adding-and-subtracting/lesson.tres:14 +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 " +"player is from losing the game.\n" +"\n" +"Health that changes adds tension to the game, especially if the player is " +"fighting with low health! It's a resource that that player should manage " +"carefully.\n" +"\n" +"The character's health might get low if an enemy attacks them or they fall " +"into a hole.\n" +"\n" +"We can create a function to represent damage in these cases." +msgstr "" +"Notre personnage dans notre jeu aura de la santé en définissant la variable " +"[code]health[/code]. Plus la santé du personnage est élevée, plus le joueur " +"est loin de perdre la partie.\n" +"\n" +"La santé qui change ajoute de la tension au jeu, surtout si le joueur se bat " +"avec une santé faible ! C'est une ressource que le joueur doit gérer avec " +"soin.\n" +"\n" +"La santé du personnage peut devenir faible si un ennemi l'attaque ou s'il " +"tombe dans un trou.\n" +"\n" +"Nous pouvons créer une fonction pour représenter les dégâts dans ces cas." + +# Vous remarquerez peut-être +# pouvez remarquer +#: course/lesson-9-adding-and-subtracting/lesson.tres:40 +msgid "" +"We pass the amount of damage the robot should take as a parameter.\n" +"\n" +"Line 2 subtracts [code]amount[/code] from [code]health[/code].\n" +"\n" +"Note the [code]-=[/code] syntax which achieves this. It's a shorthand we " +"often use.\n" +"\n" +"You can also use a longer form. Both of these lines have the same effect. " +"They both subtract the value of [code]amount[/code] to the [code]health[/" +"code] variable:\n" +"\n" +"[code]health -= amount[/code]\n" +"[code]health = health - amount[/code]\n" +"\n" +"You may notice that the health of the robot can go below [code]0[/code]. " +"We'll see how to manage this in a future lesson using [i]conditions[/i]." +msgstr "" +"Nous passons le montant ([i]amount[/i]) des dégâts que le robot doit subir " +"comme paramètre.\n" +"\n" +"La ligne 2 soustrait [code]amount[/code] de [code]health[/code].\n" +"\n" +"Remarquez la syntaxe [code]-=[/code] qui permet d'obtenir ce résultat. C'est " +"un raccourci que nous utilisons souvent.\n" +"\n" +"Vous pouvez aussi utiliser une forme plus longue. Ces deux lignes ont le " +"même effet. Elles soustraient toutes les deux la valeur d'[code]amount[/" +"code] à la variable [code]health[/code] :\n" +"\n" +"[code]health -= amount[/code]\n" +"[code]health = health - amount[/code]\n" +"\n" +"Vous remarquerez peut-être que la santé du robot peut descendre en dessous " +"de [code]0[/code]. Nous verrons comment gérer cela dans une prochaine leçon " +"en utilisant des [i]conditions[/i]." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:61 +msgid "" +"The robot's health could increase instead if the player picks up an item " +"that heals them, or if they use a healing item." +msgstr "" +"La santé du robot pourrait augmenter à la place si le joueur ramasse un " +"objet qui le soigne ou s'il utilise un objet de soin." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:81 +msgid "" +"Here again, the health can go beyond [code]100[/code].\n" +"\n" +"Also, once more, the short line [code]health += amount[/code] is equivalent " +"to the longer form [code]health = health + amount[/code]." +msgstr "" +"Là encore, la santé peut aller au-delà de [code]100[/code].\n" +"\n" +"Également, à nouveau, la ligne courte [code]health += amount[/code] est " +"équivalente à la forme plus longue [code]health = health + amount[/code]." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:91 +msgid "Which of these would increase the health of the robot?" +msgstr "" +"Laquelle (ou lesquelles) de ces propositions augmenterait la santé du robot ?" + +# d'amount +#: course/lesson-9-adding-and-subtracting/lesson.tres:94 +msgid "" +"Both of these lines increase the [code]health[/code] of the robot by " +"[code]amount[/code].\n" +"[code]\n" +"health += amount\n" +"health = health + amount\n" +"[/code]" +msgstr "" +"Ces deux lignes augmentent la [code]health[/code] du robot de " +"[code]amount[/code].\n" +"[code]\n" +"health += amount\n" +"health = health + amount\n" +"[/code]" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +msgid "health -= amount" +msgstr "health -= amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +#: course/lesson-9-adding-and-subtracting/lesson.tres:100 +msgid "health += amount" +msgstr "health += amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +#: course/lesson-9-adding-and-subtracting/lesson.tres:100 +msgid "health = health + amount" +msgstr "health = health + amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +msgid "health = health - amount" +msgstr "health = health - amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:109 +msgid "" +"In the following practices, you'll code the [code]take_damage()[/code] and " +"[code]heal()[/code] functions so the robot's health can decrease and " +"increase." +msgstr "" +"Dans les exercices suivantes, vous allez coder les fonctions " +"[code]take_damage()[/code] et [code]heal()[/code] pour que la santé du robot " +"puisse diminuer et augmenter respectivement." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:117 +msgid "Damaging the Robot" +msgstr "Endommager le robot" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:118 +msgid "" +"In our game, the main character has a certain amount of [code]health[/code]. " +"When it gets hit, the health should go down by a varying [code]amount[/code] " +"of damage.\n" +"\n" +"Add to the [code]take_damage()[/code] function so it subtracts the " +"[code]amount[/code] to the predefined [code]health[/code] variable.\n" +"\n" +"The robot starts with 100 health and will take 50 damage." +msgstr "" +"Dans notre jeu, le personnage principal a une certaine quantité de " +"[code]health[/code]. Lorsqu'il est touché, sa santé devrait diminuer d'un " +"[code]amount[/code] de dégâts variable.\n" +"\n" +"Ajoutez du code à la fonction [code]take_damage()[/code] pour qu'elle " +"soustraie [code]amount[/code] à la variable prédéfinie [code]health[/code].\n" +"\n" +"Le robot commence avec 100 de santé et subira 50 de dégâts." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:134 +msgid "Learn how to deal damage to entities like our robot." +msgstr "Apprenez à infliger des dégâts à des entités comme notre robot." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:139 +msgid "Healing the Robot" +msgstr "Guérir le robot" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:140 +msgid "" +"It's time to heal the robot up to full health!\n" +"\n" +"Write a function called [code]heal()[/code] that takes [code]amount[/code] " +"as a parameter.\n" +"\n" +"The function should add [code]amount[/code] to [code]health[/code].\n" +"\n" +"The robot starts with 50 health and will heal 50 to get it up to 100." +msgstr "" +"Il est temps de soigner le robot jusqu'à ce qu'il soit en pleine santé !\n" +"\n" +"Écrivez une fonction appelée [code]heal()[/code] qui prend [code]amount[/" +"code] comme paramètre.\n" +"\n" +"La fonction doit ajouter [code]amount[/code] à [code]health[/code].\n" +"\n" +"Le robot commence avec 50 de santé et il en guérira 50 pour la porter à 100." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:157 +msgid "" +"Our robot needs healing after that practice! Create a function to heal it " +"back to full health." +msgstr "" +"Notre robot a besoin d'être guéri après l'exercice précédant ! Créez une " +"fonction pour le soigner et lui permettre de récupérer sa pleine santé." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:161 +msgid "Adding and Subtracting" +msgstr "Addition et soustraction" diff --git a/i18n/it/application.po b/i18n/it/application.po index 7ca39dba..4b806301 100644 --- a/i18n/it/application.po +++ b/i18n/it/application.po @@ -11,8 +11,8 @@ msgstr "" "POT-Creation-Date: 2023-05-16 09:25+0200\n" "PO-Revision-Date: 2023-05-17 09:52+0000\n" "Last-Translator: Riccardo Santangelo \n" -"Language-Team: Italian \n" +"Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -211,8 +211,8 @@ msgid "" "[center]Get [b]50% off[/b] on all our Godot courses with the \n" "coupon code [b]DISCOUNT50[/b][/center]" msgstr "" -"[center]Ottieni il [b]50% di sconto[/b] su tutti i nostri corsi Godot con il " -"\n" +"[center]Ottieni il [b]50% di sconto[/b] su tutti i nostri corsi Godot con " +"il \n" "codice coupon [b]SCONTO50[/b][/center]" #: ui/components/SalePopup.tscn:132 @@ -638,8 +638,8 @@ msgstr "" "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]." +"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/SponsorlessEndScreen.tscn:216 msgid "This is an Open-Source project!" @@ -649,8 +649,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-" diff --git a/i18n/it/lesson-2-your-first-error.po b/i18n/it/lesson-2-your-first-error.po index 1f709f7f..44dd0a56 100644 --- a/i18n/it/lesson-2-your-first-error.po +++ b/i18n/it/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-05-17 09:52+0000\n" +"PO-Revision-Date: 2023-05-18 10:51+0000\n" "Last-Translator: Riccardo Santangelo \n" "Language-Team: Italian \n" @@ -122,9 +122,8 @@ msgstr "" "imparerai a scrivere del codice più affidabile grazie ai messaggi d'errore." #: course/lesson-2-your-first-error/lesson.tres:92 -#, fuzzy msgid "They're bad: error messages are always bad." -msgstr "Sono negativi: gli errori sono sempre negativi." +msgstr "Sono negativi: i messaggi di errore sono sempre negativi." #: course/lesson-2-your-first-error/lesson.tres:92 #: course/lesson-2-your-first-error/lesson.tres:93 diff --git a/i18n/it/lesson-21-strings.po b/i18n/it/lesson-21-strings.po index 66d68d3d..5efbae71 100644 --- a/i18n/it/lesson-21-strings.po +++ b/i18n/it/lesson-21-strings.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-05-16 09:25+0200\n" -"PO-Revision-Date: 2022-06-19 11:18+0000\n" -"Last-Translator: Fettenderi \n" -"Language-Team: Italian \n" +"PO-Revision-Date: 2023-05-18 10:51+0000\n" +"Last-Translator: Riccardo Santangelo \n" +"Language-Team: Italian \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.13.1-dev\n" +"X-Generator: Weblate 4.18-dev\n" "Generated-By: Babel 2.9.1\n" #: course/lesson-21-strings/lesson.tres:14 @@ -173,7 +173,6 @@ msgid "Using an array of strings to play a combo" msgstr "Usando un array di stringhe per riprodurre una combo" #: course/lesson-21-strings/lesson.tres:169 -#, fuzzy msgid "" "In this practice, we'll chain together animations using an array of strings. " "You might find such combinations in fighting games.\n" @@ -191,21 +190,22 @@ msgid "" "The array should contain three values, so the robot makes these three " "attacks: two jabs followed by one uppercut." msgstr "" -"In questa pratica, concateneremo insieme animazioni usando array di " -"stringhe. Potresti trovare queste combinazioni nei giochi di combattimento.\n" +"In questa pratica, concateneremo le animazioni utilizzando un array di " +"stringhe. Queste combinazioni si possono trovare nei giochi di combattimento." "\n" -"Il robot ha i nomi delle seguenti animazioni:\n" "\n" -"-[code]jab[/code] (fa fare un rapido pugno al robot)\n" -"-[code]uppercut[/code] (fa fare un potente pugno in salto al robot)\n" +"Il robot ha i seguenti nomi di animazione:\n" "\n" -"Popola l'array di combo con i nomi delle animazioni come stringhe.\n" +"- [code]jab[/code] (fa eseguire al robot un pugno veloce)\n" +"- [code]uppercut[/code] (il robot esegue un potente pugno in salto)\n" "\n" -"Dopo, per ogni azione nell'array, chiama la funzione [code]play_animation()[/" -"code] per riprodurli.\n" +"Popolare l'array combo con i nomi delle animazioni come stringhe.\n" "\n" -"Il robot dovrebbe eseguire le seguenti azioni in ordine: [code]jab, jab, " -"uppercut[/code]." +"Quindi, per ogni azione nell'array, chiamare la funzione " +"[code]play_animation()[/code] per riprodurla.\n" +"\n" +"L'array deve contenere tre valori, quindi il robot esegue questi tre " +"attacchi: due diretti seguiti da un montante." #: course/lesson-21-strings/lesson.tres:190 msgid "Define an array of strings to unleash a powerful combo." diff --git a/i18n/it/lesson-22-functions-return-values.po b/i18n/it/lesson-22-functions-return-values.po index f7932fd6..d7dd5ade 100644 --- a/i18n/it/lesson-22-functions-return-values.po +++ b/i18n/it/lesson-22-functions-return-values.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-05-16 09:25+0200\n" -"PO-Revision-Date: 2022-06-18 13:18+0000\n" -"Last-Translator: Fettenderi \n" -"Language-Team: Italian \n" +"PO-Revision-Date: 2023-05-18 10:51+0000\n" +"Last-Translator: Riccardo Santangelo \n" +"Language-Team: Italian \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.13.1-dev\n" +"X-Generator: Weblate 4.18-dev\n" "Generated-By: Babel 2.9.1\n" #: course/lesson-22-functions-return-values/lesson.tres:13 @@ -59,7 +59,6 @@ msgstr "" "più vicina." #: course/lesson-22-functions-return-values/lesson.tres:49 -#, fuzzy msgid "" "Imagine you have a game where you track the player's health as a percentage, " "a decimal number going from [code]0.0[/code] to [code]100.0[/code].\n" @@ -68,13 +67,13 @@ msgid "" "decimal part. In that case, you may use the [code]round()[/code] function, " "like so." msgstr "" -"Immagina di star lavorando ad un gioco in cui tieni conto della vita del " -"giocatore come una percentuale, un numero decimale che va da [code]0.0[/" -"code] a [code]100.0[/code].\n" +"Immaginate di avere un gioco in cui la salute del giocatore è indicata in " +"percentuale, un numero decimale che va da [code]0,0[/code] a " +"[code]100,0[/code].\n" "\n" -"Quando mostri la vita sull'interfaccia utente, non vuoi mostrare anche la " -"parte decimale. In questo caso, potresti dunque usare la funzione " -"[code]round()[/code], in questo modo." +"Quando si visualizza la salute sull'interfaccia, non si vuole mostrare la " +"parte decimale. In questo caso, si può usare la funzione [code]round()[/code]" +", in questo modo." #: course/lesson-22-functions-return-values/lesson.tres:71 msgid "" @@ -143,7 +142,6 @@ msgid "Writing a function that returns a value" msgstr "Scrivendo una funzione che ritorna un valore" #: course/lesson-22-functions-return-values/lesson.tres:149 -#, fuzzy msgid "" "You can make [i]your[/i] functions return values.\n" "\n" @@ -158,19 +156,19 @@ msgid "" "the center of any cell on the screen, we need to convert the cell's " "coordinates to a position on the screen, in pixels." msgstr "" -"Puoi creare anche [i]tu[/i] funzioni che ritornano valori. \n" +"È possibile far sì che le [i]proprie[/i] funzioni restituiscano dei valori.\n" "\n" -"Per far si che la tua funzione ritorni un valore, puoi usare la parola " -"chiave [code]return[/code] seguita dal valore in questione.\n" +"Per far sì che una funzione restituisca un valore, si usa la parola chiave " +"[code]return[/code] seguita dal valore in questione.\n" "\n" -"Nelle lezioni precedenti, avevamo personaggi che si muovevano su griglie.\n" +"Nelle lezioni precedenti, i personaggi camminavano su griglie.\n" "\n" -"In quelle pratiche hai sperimentato direttamente con le coordinate di " -"celle.\n" +"Per queste pratiche, si lavorava direttamente con le coordinate delle celle." "\n" -"Beh, le coordinate delle celle non corrispondono con posizioni nello " -"schermo, dunque dobbiamo convertire la posizione nelle celle con la " -"posizione nello schermo." +"\n" +"Le coordinate delle celle non corrispondono a posizioni sullo schermo. Per " +"trovare il centro di una cella sullo schermo, dobbiamo convertire le " +"coordinate della cella in una posizione sullo schermo, in pixel." #: course/lesson-22-functions-return-values/lesson.tres:177 msgid "" @@ -182,6 +180,16 @@ msgid "" "\n" "The function returns the result, allowing us to store it in a variable." msgstr "" +"Per farlo, utilizziamo una funzione. La funzione fa due cose:\n" +"\n" +"1. Innanzitutto, moltiplica le coordinate della cella per la dimensione " +"della cella, ottenendo così la posizione dell'angolo superiore sinistro " +"della cella sullo schermo, in pixel.\n" +"2. Poi aggiunge la metà della dimensione della cella per ottenere il centro " +"della cella.\n" +"\n" +"La funzione restituisce il risultato, che può essere memorizzato in una " +"variabile." #: course/lesson-22-functions-return-values/lesson.tres:202 msgid "" @@ -193,7 +201,6 @@ msgstr "" "funzione nel punto in cui la chiami." #: course/lesson-22-functions-return-values/lesson.tres:222 -#, fuzzy msgid "" "Some functions return values, and some do not. During practices, you can " "learn which functions return a value using the documentation panel. It will " @@ -206,17 +213,17 @@ msgid "" "\n" "For now, let's practice returning values from functions!" msgstr "" -"Alcune funzioni ritornano valori e altre no. Puoi imparare quali funzioni " -"danno come risultato dei valori usando il pannello di documentazione nella " -"sezione di pratica.\n" +"Alcune funzioni restituiscono valori, altre no. Durante le esercitazioni, è " +"possibile sapere quali funzioni restituiscono un valore utilizzando il " +"pannello della documentazione. Il pannello mostrerà se l'esercizio richiede " +"l'uso di funzioni o variabili specifiche.\n" "\n" -"Lì, le funzioni che iniziano con il termine [code]void[/code] non riportano " -"alcun valore. Al contrario se è presente un termine differente la funzione " -"riporta un valore. Imparerai di più sugli altri termini nelle lezioni " -"successive in cui esploreremo i [i]tipi[/i] di valore.\n" +"Le funzioni che iniziano con il termine [code]void[/code] non restituiscono " +"un valore. Qualsiasi altro termine significa che la funzione restituisce un " +"valore. Il significato degli altri termini verrà spiegato meglio tra un paio " +"di lezioni, quando esploreremo i [i]tipi di valore[/i].\n" "\n" -"Al momento, facciamo un po' di pratica utilizzando funzioni che riportano " -"valori!" +"Per ora, esercitiamoci a restituire valori dalle funzioni!" #: course/lesson-22-functions-return-values/lesson.tres:234 msgid "Converting coordinates from the grid to the screen" diff --git a/i18n/it/lesson-28-specifying-types.po b/i18n/it/lesson-28-specifying-types.po index d455261d..c04c4687 100644 --- a/i18n/it/lesson-28-specifying-types.po +++ b/i18n/it/lesson-28-specifying-types.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-05-16 09:25+0200\n" -"PO-Revision-Date: 2022-07-05 10:20+0000\n" -"Last-Translator: Fettenderi \n" -"Language-Team: Italian \n" +"PO-Revision-Date: 2023-05-18 10:51+0000\n" +"Last-Translator: Riccardo Santangelo \n" +"Language-Team: Italian \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.13.1-dev\n" +"X-Generator: Weblate 4.18-dev\n" "Generated-By: Babel 2.9.1\n" #: course/lesson-28-specifying-types/lesson.tres:13 @@ -48,7 +48,6 @@ msgid "Cell size: decimal number, or 2D vector?" msgstr "Grandezza cella: numero decimale o vettore 2D?" #: course/lesson-28-specifying-types/lesson.tres:45 -#, fuzzy msgid "" "Games use grids all the time, be it for grid-based gameplay or to make " "algorithms faster.\n" @@ -63,17 +62,18 @@ msgid "" "\n" "Either of those two values would be fine:" msgstr "" -"I giochi usano quasi sempre le griglie, che sia per un gioco da tavola o per " -"rendere un algoritmo più veloce.\n" +"I giochi utilizzano continuamente le griglie, sia per il gioco basato sulla " +"griglia che per rendere più veloci gli algoritmi.\n" "\n" -"Quando lavori con le griglie, devi costantemente convertire le coordinate " -"della griglia in posizioni nel mondo di gioco. Per fare questo, dai ad ogni " -"cella una grandezza in pixel.\n" +"Quando si lavora con le griglie, è necessario convertire le coordinate della " +"griglia in posizioni nel mondo di gioco. Per farlo, si assegna a ogni cella " +"una dimensione in pixel.\n" "\n" -"Sceglierai uno tra questi due tipi: [code]float[/code] o [code]Vector2[/" -"code].\n" +"Probabilmente si sceglierà uno dei due tipi di dati: [code]float[/code] o " +"[code]Vector2[/code], perché le posizioni dei pixel sullo schermo utilizzano " +"coordinate [code]Vector2[/code].\n" "\n" -"Entrambi questi valori vanno bene:" +"Uno di questi due valori va bene:" #: course/lesson-28-specifying-types/lesson.tres:71 msgid "" diff --git a/i18n/it/lesson-3-standing-on-shoulders-of-giants.po b/i18n/it/lesson-3-standing-on-shoulders-of-giants.po index ba9819f8..47b841b0 100644 --- a/i18n/it/lesson-3-standing-on-shoulders-of-giants.po +++ b/i18n/it/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-05-16 09:25+0200\n" -"PO-Revision-Date: 2022-06-18 13:18+0000\n" -"Last-Translator: Fettenderi \n" -"Language-Team: Italian \n" +"PO-Revision-Date: 2023-05-18 10:51+0000\n" +"Last-Translator: Riccardo Santangelo \n" +"Language-Team: Italian \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.13.1-dev\n" +"X-Generator: Weblate 4.18-dev\n" "Generated-By: Babel 2.9.0\n" #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:14 @@ -191,7 +191,6 @@ msgid "Function arguments" msgstr "Argomenti delle funzioni" #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:118 -#, fuzzy msgid "" "We use parentheses to call functions because you can give the function " "[i]arguments[/i] inside the parentheses when calling it.\n" @@ -199,13 +198,11 @@ msgid "" "Here's a [i]sprite[/i] standing straight. If we call the [code]rotate(0.3)[/" "code] function, the character [i]sprite[/i] turns by 0.3 radians." msgstr "" -"Per chiamare delle funzioni usiamo le parentesi. Questo perché puoi dare " -"alle funzioni degli [i]argomenti[/i] all'interno delle parentesi quando le " -"chiami.\n" +"Usiamo le parentesi per chiamare le funzioni, perché si possono dare alla " +"funzione [i]argomenti[/i] all'interno delle parentesi quando la si chiama.\n" "\n" -"Qui c'è uno [i]sprite[/i] perfettamente dritto. Se chiamiamo la funzione " -"[code]rotate(0.3)[/code], lo [i]sprite[/i] di questo personaggio ruoterà di " -"0.3 unità." +"Ecco uno [i]sprite[/i] che sta dritto. Se chiamiamo la funzione " +"[code]rotate(0,3)[/code], il carattere [i]sprite[/i] ruota di 0,3 radianti." #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:140 msgid "" @@ -339,7 +336,6 @@ msgstr "" "Rende un elemento (come ad esempio uno sprite o un personaggio) visibile." #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:196 -#, fuzzy msgid "" "Another example: With the [code]move_local_x()[/code] function, you can move " "the character to its left and right. The function takes one argument: a " @@ -351,15 +347,15 @@ msgid "" "This is one way to move a character in a game, although we'll see more " "powerful ways to do this later." msgstr "" -"Un altro esempio: Con la funzione [code]move_local_x()[/code], puoi spostare " -"il personaggio sulla sua destra o sinistra. La funzione prende un argomento: " -"il numero di pixel di cui effettuare l'offset dell'elemento.\n" +"Un altro esempio: Con la funzione [code]move_local_x()[/code], è possibile " +"spostare il carattere a sinistra e a destra. La funzione accetta un solo " +"argomento: un numero di pixel per spostare l'entità.\n" "\n" -"La funzione complementare [code]move_local_y()[/code] fa muovere lo " -"[i]sprite[/i] verso l'altro o verso il basso.\n" +"La funzione complementare [code]move_local_y()[/code] fa muovere il " +"carattere verso l'alto e verso il basso.\n" "\n" -"Questo è un modo per far muovere un personaggio in un gioco, ma vedremo " -"metodi più efficienti più in la nel corso." +"Questo è un modo per muovere un personaggio in un gioco, anche se in seguito " +"vedremo modi più potenti per farlo." #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:218 msgid "Why move_local_y(20) moves the character down" diff --git a/i18n/it/lesson-4-drawing-a-rectangle.po b/i18n/it/lesson-4-drawing-a-rectangle.po index b375f8af..3dae4871 100644 --- a/i18n/it/lesson-4-drawing-a-rectangle.po +++ b/i18n/it/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-05-16 09:25+0200\n" -"PO-Revision-Date: 2022-06-26 11:17+0000\n" -"Last-Translator: Fettenderi \n" -"Language-Team: Italian \n" +"PO-Revision-Date: 2023-05-18 10:51+0000\n" +"Last-Translator: Riccardo Santangelo \n" +"Language-Team: Italian \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.13.1-dev\n" +"X-Generator: Weblate 4.18-dev\n" "Generated-By: Babel 2.9.0\n" #: course/lesson-4-drawing-a-rectangle/lesson.tres:14 @@ -43,7 +43,6 @@ msgstr "" "chiamare le funzioni." #: course/lesson-4-drawing-a-rectangle/lesson.tres:44 -#, fuzzy msgid "" "The turtle is a little machine that moves forward, turns, and draws lines " "along its path.\n" @@ -69,30 +68,28 @@ msgid "" "For example, to move the turtle 200 pixels, you would write " "[code]move_forward(200)[/code]." msgstr "" -"La tartaruga è una piccola macchina che si muove e disegna delle linee lungo " -"il suo cammino.\n" +"La tartaruga è una piccola macchina che si muove in avanti, si gira e " +"disegna linee lungo il suo percorso.\n" "\n" -"Per fare in modo che le disegni bisogna assegnare alla tartaruga una lista " -"di istruzioni: in ogni linea di codice, devi chiamare una funzione " -"specifica.\n" +"Per farla disegnare, si dà un elenco di istruzioni: in ogni riga di codice " +"si chiama una funzione specifica.\n" "\n" -"Abbiamo preparato varie funzioni per te:\n" +"Abbiamo preparato per voi diverse funzioni:\n" "\n" -"- [code]move_forward(pixel)[/code] fa muovere la tartaruga di una " -"determinata distanza in [i]pixel[/i].\n" -"- [code]turn_right(degrees)[/code] fa girare la tartaruga a destra di una " -"quantità precisa di [i]gradi[/i].\n" -"- [code]turn_left(degrees)[/code] funziona allo stesso modo di " -"[code]turn_right(degrees)[/code], con la differenza che la tartaruga si gira " -"verso sinistra.\n" +"- [code]move_forward(pixel)[/code] fa avanzare la tartaruga su una " +"determinata distanza in [i]pixel[/i]. \n" +"- [code]turn_right(degrees)[/code] fa girare la tartaruga in senso orario di " +"una quantità precisa di [i]gradi[/i].\n" +"- [code]turn_left(degrees)[/code] funziona come " +"[code]turn_right(degrees)[/code], ma la tartaruga gira in senso antiorario.\n" "\n" -"Queste funzioni vengono usate allo stesso modo in cui hai usato " -"[code]rotate()[/code] precedentemente.\n" +"Queste funzioni si usano nello stesso modo in cui si è usato " +"[code]rotate()[/code].\n" "\n" -"La tartaruga disegna una riga bianca mentre si muove. Useremo questa linea " -"per disegnare delle forme.\n" +"La tartaruga disegna una linea bianca mentre si muove. Questa linea verrà " +"utilizzata per disegnare forme.\n" "\n" -"Per esempio, per far muovere la tartaruga di 200 pixel, dovresti scrivere " +"Per esempio, per spostare la tartaruga di 200 pixel, si scrive " "[code]move_forward(200)[/code]." #: course/lesson-4-drawing-a-rectangle/lesson.tres:78 @@ -175,7 +172,6 @@ msgid "Drawing a Corner" msgstr "Disegnando uno Spigolo" #: course/lesson-4-drawing-a-rectangle/lesson.tres:141 -#, fuzzy msgid "" "In this practice, we'll tell the turtle to draw a corner.\n" "\n" @@ -197,24 +193,23 @@ msgid "" "rectangles.\n" "\n" msgstr "" -"In questo esercizio, diremo alla tartaruga di disegnare uno spigolo.\n" +"In questa pratica, diremo alla tartaruga di disegnare un angolo.\n" "\n" -"Lo spigolo è formato da due linee di lunghezza [code]200[/code] pixel. Le " -"linee sono connesse alle loro estremità in modo tale che formi un angolo di " -"[code]90[/code] gradi, o un angolo retto.\n" +"L'angolo è composto da due linee lunghe [code]200[/code] pixel. Le linee " +"sono collegate a ciascuna estremità per [code]90[/code] gradi, o angolo " +"retto.\n" "\n" -"Le funzioni [code]move_forward()[/code] e [code]turn_right()[/code] sulla " -"destra disegnano uno spigolo, ma mancano alcuni parametri.\n" +"Le funzioni [code]move_forward()[/code] e [code]turn_right()[/code] a destra " +"disegnano un angolo, ma mancano alcuni argomenti.\n" "\n" -"Aggiungi i parametri mancanti per far muovere la tartaruga di [code]200[/" -"code] pixel e per farla ruotare a destra di [code]90[/code] gradi, dopodiché " -"falla muovere nuovamente in avanti di [code]200[/code] pixel.\n" +"Aggiungete gli argomenti mancanti in modo che la tartaruga si sposti in " +"avanti di [code]200[/code] pixel, si giri a destra di [code]90[/code] gradi, " +"quindi si sposti di nuovo in avanti di [code]200[/code] pixel.\n" "\n" -"Abbiamo aggiunto il primo parametro per te, cosicché la tartaruga si muova " +"Abbiamo aggiunto il primo argomento per far sì che la tartaruga si muova in " "avanti di [code]200[/code] pixel.\n" "\n" -"Negli esercizi successivi, disegneremo più spigoli per creare dei " -"rettangoli.\n" +"Nei prossimi esercizi, disegneremo più angoli per creare dei rettangoli.\n" "\n" #: course/lesson-4-drawing-a-rectangle/lesson.tres:165 @@ -231,7 +226,6 @@ msgid "Drawing a Rectangle" msgstr "Disegnando un Rettangolo" #: course/lesson-4-drawing-a-rectangle/lesson.tres:171 -#, fuzzy msgid "" "Add the correct arguments to the functions [code]move_forward()[/code] and " "[code]turn_right()[/code] to draw a rectangle with a width of [code]200[/" @@ -242,13 +236,13 @@ msgid "" "In the next practice, you'll use the same functions to draw a bigger " "rectangle." msgstr "" -"Aggiungi il parametro corretto alle funzioni [code]move_forward()[/code] e " -"[code]turn_right()[/code] per disegnare un rettangolo con una larghezza di " +"Aggiungete gli argomenti corretti alle funzioni [code]move_forward()[/code] " +"e [code]turn_right()[/code] per disegnare un rettangolo con una larghezza di " "[code]200[/code] pixel e un'altezza di [code]120[/code] pixel.\n" "\n" -"Abbiamo scritto il primo parametro per te.\n" +"Abbiamo scritto il primo argomento per voi.\n" "\n" -"Nella prossima pratica, userai le stesse funzioni per disegnare un " +"Nel prossimo esercizio, utilizzerete le stesse funzioni per disegnare un " "rettangolo più grande." #: course/lesson-4-drawing-a-rectangle/lesson.tres:191 diff --git a/i18n/it/lesson-5-your-first-function.po b/i18n/it/lesson-5-your-first-function.po index 917edc71..a0b1c642 100644 --- a/i18n/it/lesson-5-your-first-function.po +++ b/i18n/it/lesson-5-your-first-function.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-05-16 09:25+0200\n" -"PO-Revision-Date: 2022-06-20 15:19+0000\n" -"Last-Translator: Fettenderi \n" -"Language-Team: Italian \n" +"PO-Revision-Date: 2023-05-18 10:51+0000\n" +"Last-Translator: Riccardo Santangelo \n" +"Language-Team: Italian \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.13.1-dev\n" +"X-Generator: Weblate 4.18-dev\n" "Generated-By: Babel 2.9.0\n" #: course/lesson-5-your-first-function/lesson.tres:14 @@ -56,7 +56,7 @@ msgstr "" #: course/lesson-5-your-first-function/lesson.tres:36 msgid "Learn more about identifiers" -msgstr "" +msgstr "Per saperne di più sugli identificatori" #: course/lesson-5-your-first-function/lesson.tres:38 msgid "" @@ -121,7 +121,6 @@ msgstr "" "code] quattro volte per disegnare un quadrato dai lati di 200 pixel." #: course/lesson-5-your-first-function/lesson.tres:100 -#, fuzzy msgid "" "Every time we call [code]move_and_rotate()[/code], the two functions " "[code]move_forward(200)[/code] and [code]turn_right(90)[/code] are called in " @@ -135,17 +134,17 @@ msgid "" "\n" "[i]Drag the slider to change the square's size.[/i]" msgstr "" -"Ogni volta che chiamiamo [code]move_and_rotate()[/code], le due funzioni " -"[code]move_forward(200)[/code] e [code]turn_right(90)[/code] vengono " -"chiamate in sequenza.\n" +"Ogni volta che si chiama [code]move_and_rotate()[/code], vengono richiamate " +"in sequenza le due funzioni [code]move_forward(200)[/code] e " +"[code]turn_right(90)[/code].\n" "\n" -"In questo semplice esempio, potrebbe sembrare non molto utile. Eccone uno " -"più utile e realistico: una funzione per disegnare un rettangolo qualsiasi.\n" +"In questo semplice esempio, potrebbe non essere molto utile. Eccone uno più " +"utile e realistico: una funzione per disegnare un quadrato qualsiasi.\n" "\n" -"La seguente funzione usa dei [i]parametri[/i], che vedremo meglio nella " +"La funzione seguente utilizza [i]parametri[/i], che esploreremo nella " "prossima lezione.\n" "\n" -"[i]Trascina il cursore per cambiare la dimensione del quadrato.[/i]" +"[i]Trascinare il cursore per modificare le dimensioni del quadrato[/i]." #: course/lesson-5-your-first-function/lesson.tres:124 msgid "How to define your own functions" diff --git a/i18n/it/lesson-6-multiple-function-parameters.po b/i18n/it/lesson-6-multiple-function-parameters.po index 422a5dbb..3b45ddef 100644 --- a/i18n/it/lesson-6-multiple-function-parameters.po +++ b/i18n/it/lesson-6-multiple-function-parameters.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-05-17 10:51+0000\n" +"PO-Revision-Date: 2023-05-18 10:51+0000\n" "Last-Translator: Riccardo Santangelo \n" "Language-Team: Italian \n" @@ -56,7 +56,7 @@ msgstr "" #: course/lesson-6-multiple-function-parameters/lesson.tres:46 msgid "Can I rotate in both directions?" -msgstr "" +msgstr "Posso ruotare in entrambe le direzioni?" #: course/lesson-6-multiple-function-parameters/lesson.tres:48 msgid "" diff --git a/i18n/pt/application.po b/i18n/pt/application.po new file mode 100644 index 00000000..d511ff50 --- /dev/null +++ b/i18n/pt/application.po @@ -0,0 +1,674 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-10 20:49+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.17-dev\n" +"Generated-By: Babel 2.10.1\n" + +#: resources/QuizInputField.gd:17 +msgid "You need to type a whole number for this answer. Example: 42" +msgstr "Precisa digitar um número inteiro para esta resposta. Exemplo: 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 "" +"Precisa digitar um número real para esta resposta. Use um \".\" para separar " +"a parte decimal. Exemplo: 3.14" + +#: ui/UILesson.tscn:90 +msgid "Title" +msgstr "Título" + +#: ui/UILesson.tscn:125 +msgid "Practices" +msgstr "Práticas" + +#: ui/UINavigator.gd:350 +msgid "Go back in your navigation history" +msgstr "Volte no seu histórico de navegação" + +#: ui/UINavigator.gd:353 +msgid "(no previous history)" +msgstr "(sem histórico anterior)" + +#: ui/UIPractice.gd:144 ui/UIPractice.gd:202 +#, python-format +msgid "Hint %s" +msgstr "Dica %s" + +#: ui/UIPractice.gd:230 +msgid "Validating Your Code..." +msgstr "Validando seu código..." + +#: ui/UIPractice.gd:286 +msgid "Running Your Code..." +msgstr "A executar o seu código..." + +#: ui/UIPractice.gd:337 +msgid "Running Tests..." +msgstr "A executar testes..." + +#: ui/UIPractice.tscn:138 +msgid "Suggested Solution" +msgstr "Solução Sugerida" + +#: ui/UIPractice.tscn:189 +msgid "Use Solution" +msgstr "Use a Solução" + +#: ui/UIPractice.tscn:207 +msgid "Leave unfinished practice?" +msgstr "Deixar prática não finalizada?" + +#: ui/components/BigGreenButton.tscn:24 +msgid "Button" +msgstr "Botão" + +#: ui/components/CodeEditor.tscn:144 +msgid "Run" +msgstr "Executar" + +#: ui/components/CodeEditor.tscn:158 +msgid "Pause" +msgstr "Pausar" + +#: ui/components/CodeEditor.tscn:173 ui/components/RunnableCodeExample.tscn:78 +msgid "Reset" +msgstr "Resetar" + +#: ui/components/CodeEditor.tscn:195 +msgid "Solution" +msgstr "Solução" + +#: ui/components/CodeEditor.tscn:209 ui/components/OutputConsole.tscn:43 +msgid "Output" +msgstr "Saída" + +#: ui/components/CodeEditor.tscn:224 +#: ui/components/popups/LessonDonePopup.tscn:198 +#: ui/components/popups/PracticeDonePopup.tscn:165 +msgid "Continue" +msgstr "Continuar" + +#: ui/components/GameView.tscn:72 +msgid "Paused" +msgstr "Pausado" + +#: ui/components/GlossaryPopup.tscn:37 +msgid "Term" +msgstr "Termo" + +#: ui/components/GlossaryPopup.tscn:53 +#: ui/components/popups/ErrorOverlayPopup.tscn:74 +msgid "Our error explanation." +msgstr "Nossa explicação do erro." + +#: ui/components/OutputConsoleErrorMessage.tscn:39 +msgid "ERROR:" +msgstr "ERRO:" + +#: ui/components/OutputConsoleErrorMessage.tscn:47 +#: ui/components/ScrollableTextBox.tscn:43 +#: ui/screens/lesson/UIContentBlock.tscn:68 +msgid "Placeholder text" +msgstr "Texto de dica" + +#: ui/components/OutputConsoleErrorMessage.tscn:62 +msgid "in" +msgstr "em" + +#: ui/components/OutputConsoleErrorMessage.tscn:68 +msgid "FileName" +msgstr "Nome do Ficheiro" + +#: ui/components/OutputConsoleErrorMessage.tscn:75 +msgid "at" +msgstr "no" + +#: ui/components/OutputConsoleErrorMessage.tscn:82 +msgid "0:0" +msgstr "0:0" + +#: ui/components/OutputConsoleErrorMessage.tscn:92 +msgid "Sometimes errors are reported outside of your code. Why does that happen?" +msgstr "" +"Às vezes, erros são reportados fora do seu código. Por que isso acontece?" + +#: ui/components/OutputConsoleErrorMessage.tscn:101 +msgid "Explain" +msgstr "Explique" + +#: ui/components/OutputConsolePrintMessage.tscn:23 +msgid "Value" +msgstr "Valor" + +#: ui/components/Revealer.tscn:74 +msgid "Expand" +msgstr "Expandir" + +#: ui/components/RunnableCodeExample.tscn:96 +msgid "run()" +msgstr "Executar()" + +#: ui/components/popups/ConfirmPopup.tscn:115 +#: ui/components/popups/PracticeLeaveUnfinishedPopup.tscn:119 +msgid "Confirm" +msgstr "Confirmar" + +#: ui/components/popups/ConfirmPopup.tscn:127 +#: ui/components/popups/PracticeLeaveUnfinishedPopup.tscn:131 +msgid "Cancel" +msgstr "Cancelar" + +#: ui/components/popups/ErrorOverlayPopup.tscn:46 +msgid "Original error message" +msgstr "Mensagem de erro original" + +#: ui/components/popups/ErrorOverlayPopup.tscn:65 +msgid "Why this happens" +msgstr "Por que isso acontece" + +#: ui/components/popups/ErrorOverlayPopup.tscn:82 +msgid "How to fix this" +msgstr "Como corrigir isso" + +#: ui/components/popups/ErrorOverlayPopup.tscn:91 +msgid "Our suggestion on how to fix it." +msgstr "Nossa sugestão de como corrigir." + +#: ui/components/popups/ErrorOverlayPopup.tscn:102 +msgid "" +"Sorry, we don't have this particular error message covered yet!\n" +"\n" +"Please, use the [b]Report[/b] button in the top-right corner to tell us " +"more about how you've got it, and we will try to improve our knowledge " +"base for the next version of the application.\n" +"\n" +"[center]Thank you![/center]" +msgstr "" +"Desculpe, não cobrimos ainda essa mensagem de erro em particular!\n" +"\n" +"Por favor, use o botão [b]Report[/b] no canto superior direito para nos " +"dizer como conseguiu esse erro e vamos tentar aumentar nossa base de " +"conhecimento para a próxima versão da aplicação.\n" +"\n" +"[center]Obrigado![/center]" + +#: ui/components/popups/ErrorOverlayPopup.tscn:128 +msgid "Hide" +msgstr "Esconder" + +#: ui/components/popups/ExternalErrorPopup.tscn:66 +msgid "Where do external errors come from?" +msgstr "De onde vem os erros externos?" + +#: ui/components/popups/ExternalErrorPopup.tscn:83 +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" +" what you see that makes the project run.\n" +"\n" +"This means that sometimes changes that you make can affect code that you " +"have no control over. But don't worry, you can still fix all the issues " +"yourself with the code you [b]can[/b] edit!\n" +"\n" +"[i]This is kind of like game engines work too.[/i] There is a lot of " +"hidden code that they execute to make sure your projects runs smoothly. " +"And yet, an error in your scripts can break them. We'll try to explain " +"how to address each individual error that you face. Quick, click the " +"[b]Explain[/b] button next to the error message!" +msgstr "" +"As lições nesse curso são construídas de tal forma que só precisa editar as " +"[b]partes importantes[/b]. Mas há muito mais código fora do que vê que faz o " +"projeto ser executado.\n" +"\n" +"Isso significa que, às vezes, as alterações feitas podem afetar o código " +"sobre o qual não tem controle. Mas não se preocupe, ainda pode corrigir " +"todos os problemas com o código que [b]pode[/b] editar!\n" +"\n" +"[i]É assim que os motores de jogos (engines) funcionam também .[/i] Há muito " +"código oculto que eles executam para garantir que os seus projetos funcionem " +"sem problemas. E, no entanto, um erro em os seus códigos podem quebrá-los. " +"Vamos tentar explicar como resolver cada erro que encontrar. Rápido, clique " +"no botão [b]Explicar[/b] ao lado da mensagem de erro!" + +#: ui/components/popups/ExternalErrorPopup.tscn:119 +msgid "Got it!" +msgstr "Acertou!" + +#: ui/components/popups/LessonDonePopup.tscn:133 +msgid "Lesson complete!" +msgstr "Lição completa!" + +#: ui/components/popups/LessonDonePopup.tscn:142 +msgid "" +"But there are still some practices\n" +"that you've skipped." +msgstr "" +"Mas ainda há algumas práticas\n" +"que pulou." + +#: 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][b]Permaneça[/b] e revisite o material de estudo,\n" +"ou [b]continue[/b] o curso.[/center]" + +#: ui/components/popups/LessonDonePopup.tscn:183 +#: ui/components/popups/PracticeDonePopup.tscn:144 +msgid "Stay" +msgstr "Permaneça" + +#: ui/components/popups/PracticeDonePopup.tscn:89 +msgid "Well done!" +msgstr "Muito bem!" + +#: ui/components/popups/PracticeDonePopup.tscn:98 +msgid "You completed the practice." +msgstr "Você completou a prática." + +#: ui/components/popups/PracticeDonePopup.tscn:110 +msgid "" +"[center][b]Stay[/b] and play around,\n" +"or [b]continue[/b] the course.[/center]" +msgstr "" +"[center][b]Permaneça[/b] e teste a vontade,\n" +"ou [b]continue[/b] o curso.[/center]" + +#: ui/components/popups/PracticeListPopup.tscn:67 +msgid "Practice List" +msgstr "Lista de Prática" + +#: ui/components/popups/PracticeListPopup.tscn:115 +#: ui/components/popups/SettingsPopup.tscn:227 +msgid "Close" +msgstr "Fechar" + +#: ui/components/popups/ReportFormPopup.tscn:66 +msgid "Report an issue" +msgstr "Informe um problema" + +#: ui/components/popups/ReportFormPopup.tscn:83 +msgid "" +"If you face an issue in the app, please click the link below to report it" +" on GitHub:\n" +"\n" +"[center][b][url=https://github.com/GDQuest/learn-" +"gdscript/issues]GitHub.com > GDQuest > learn-gdscript > " +"Issues[/url][/b][/center]\n" +"\n" +"On that page, you can report any issues, whether something's not working " +"or there's an error in a lesson.\n" +"\n" +"You can generate a log to help us identify the problem. To do so, click " +"here: [b][url=download]generate error log[/url][/b].\n" +"\n" +"Please drag and drop the generated file onto your issue on GitHub to " +"attach it.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]What's GitHub[/font]\n" +"\n" +"GitHub is an online platform to host and manage open-source projects like" +" the GDScript Learn app. It helps developers organize their work and " +"collaborate online.\n" +"\n" +"You can use GitHub to study the source code of many open projects, report" +" issues, or even contribute code yourself.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]How to report an issue[/font]\n" +"\n" +"1. Click the link above to get to the [i]GitHub Issues[/i] page.\n" +"2. Click on the [i]New Issue[/i] button.\n" +"3. Fill out the form to tell us more about your problem.\n" +"\n" +"You will need a GitHub account to do so.\n" +"\n" +"Please add as much relevant information as possible, such as the kind of " +"device you're using to access the app, and maybe attach a screenshot or " +"video clip showcasing the issue.\n" +"\n" +"[center]Thank you for contributing to open source![/center]" +msgstr "" +"Se encontrar um erro na app, por favor clique na ligação abaixo para " +"informar o erro no GitHub:\n" +"\n" +"[center][b][url=https://github.com/GDQuest/learn-gdscript/issues]GitHub.com " +"> GDQuest > learn-gdscript > Issues[/url][/b][/center]\n" +"\n" +"Nessa página pode informar qualquer erro, se tem algo que não está " +"funcionando ou se tiver algum erros em uma lição.\n" +"\n" +"Pode gerar um log de informação para nos ajudar a identificar o problema. " +"Para isso, clique aqui: [b][url=download]generate error log[/url][/b].\n" +"\n" +"Arraste e solte o arquivo gerado do seu problema no GitHub para anexá-lo.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]What's GitHub[/font]\n" +"\n" +"O GitHub é uma plataforma online para hospedar e gerenciar projetos de " +"código aberto, como a app GDScript Learn. Ele ajuda os desenvolvedores a " +"organizar os seus trabalhos e colaborar online.\n" +"\n" +"Pode usar o GitHub para estudar o código-fonte de muitos projetos de código " +"aberto, relatar problemas ou até mesmo contribuir com códigos.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]How to report an issue[/font]\n" +"\n" +"1. Clique na ligação acima para acessar a página de [i]Problemas do " +"GitHub[/i].\n" +"2. Clique no botão [i]New Issue[/i].\n" +"3. Preencha o formulário para nos contar mais sobre o seu problema.\n" +"\n" +"Vai precisar de uma conta no GitHub para fazer isso.\n" +"\n" +"Adicione o máximo de informações relevantes possível, como o tipo de " +"dispositivo que usa para aceder a app e se possível anexe uma captura de " +"tela ou videoclipe mostrando o problema.\n" +"\n" +"[center]Obrigado por contribuir com o código aberto![/center]" + +#: ui/components/popups/ReportFormPopup.tscn:158 +msgid "OK" +msgstr "OK" + +#: ui/components/popups/SettingsPopup.tscn:79 +msgid "Configure the App" +msgstr "Configure a App" + +#: ui/components/popups/SettingsPopup.tscn:106 +msgid "Language" +msgstr "Língua" + +#: ui/components/popups/SettingsPopup.tscn:126 +msgid "Text Size" +msgstr "Tamanho do Texto" + +#: ui/components/popups/SettingsPopup.tscn:154 +msgid "Sample text" +msgstr "Texto de Exemplo" + +#: ui/components/popups/SettingsPopup.tscn:167 +msgid "Scroll sensitivity" +msgstr "Sensibilidade de rolagem" + +#: ui/components/popups/SettingsPopup.tscn:193 +msgid "Framerate cap" +msgstr "Limite de taxa de quadros" + +#: ui/components/popups/SettingsPopup.tscn:242 +msgid "Apply" +msgstr "Aplicar" + +#: ui/screens/course_outliner/CourseLessonDetails.gd:93 +msgid "Open Lesson" +msgstr "Lição Aberta" + +#: ui/screens/course_outliner/CourseLessonDetails.gd:95 +msgid "Continue Lesson" +msgstr "Continue a Lição" + +#: ui/screens/course_outliner/CourseLessonDetails.gd:97 +msgid "Start Lesson" +msgstr "Inicie a Lição" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:35 +msgid "Lesson Title Goes Here" +msgstr "O Título da Lição Vai Aqui" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:48 +msgid "Lesson read" +msgstr "Leitura da lição" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:56 +msgid "0%" +msgstr "0%" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:79 +msgid "Quizzes completed" +msgstr "Testes concluídos" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:87 +#: ui/screens/course_outliner/CourseLessonDetails.tscn:108 +msgid "0 / 0" +msgstr "0 / 0" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:100 +msgid "Practices completed" +msgstr "Práticas concluídas" + +#: ui/screens/course_outliner/CourseLessonItem.tscn:36 +msgid "Lesson 0" +msgstr "Lição 0" + +#: ui/screens/course_outliner/CourseLessonItem.tscn:44 +msgid "Lesson Title" +msgstr "Título da Lição" + +#: ui/screens/course_outliner/CourseOutliner.tscn:44 +msgid "Course Index - " +msgstr "Índice do Curso - " + +#: ui/screens/course_outliner/CourseOutliner.tscn:51 +msgid "Course Title Goes Here" +msgstr "Título do Curso Vai Aqui" + +#: ui/screens/course_outliner/CourseOutliner.tscn:83 +msgid "Reset Progress" +msgstr "Redefinir Progresso" + +#: ui/screens/course_outliner/CourseOutliner.tscn:98 +msgid "Confirm Resetting Progress" +msgstr "Confirme a Redefinição do Progresso" + +#: ui/screens/end_screen/EndScreen.tscn:229 +msgid "Congratulations!" +msgstr "Parabéns!" + +#: ui/screens/end_screen/EndScreen.tscn:236 +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 sabe o básico que precisa " +"para mergulhar na criação de jogos com a game engine Godot.\n" +"\n" +"Se procurar uma série gratuita para continuar a aprender o básico connosco, " +"pode ir a [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:256 +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 " +"aprendeu, não se pode fazer um programador apenas seguindo receitas.\n" +"\n" +"Cada projeto tem desafios únicos e requer [i]resolução criativa de " +"problemas[/i]. 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:284 +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 app é 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 esta app termina a levá-lo ao ponto onde " +"possa fazer o [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." + +#: 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/lesson/UIBaseQuiz.tscn:56 +msgid "[b]Question[/b]" +msgstr "[b]Perguntas[/b]" + +#: ui/screens/lesson/UIBaseQuiz.tscn:80 ui/screens/lesson/UIBaseQuiz.tscn:169 +msgid "Explanation" +msgstr "Explicações" + +#: ui/screens/lesson/UIBaseQuiz.tscn:107 +msgid "Skip" +msgstr "Pular" + +#: ui/screens/lesson/UIBaseQuiz.tscn:119 +msgid "Submit" +msgstr "Enviar" + +#: ui/screens/lesson/UIBaseQuiz.tscn:150 +msgid "You're right!" +msgstr "Tem razão!" + +#: ui/screens/lesson/UIBaseQuiz.tscn:160 +msgid "Answers here" +msgstr "Respostas vão aqui" + +#: ui/screens/lesson/UIContentBlock.tscn:47 +msgid "Placeholder heading" +msgstr "Título das dicas de texto" + +#: ui/screens/lesson/UIPracticeButton.tscn:52 +msgid "Practice title" +msgstr "Título da prática" + +#: ui/screens/lesson/UIPracticeButton.tscn:77 +msgid "next" +msgstr "próximo" + +#: ui/screens/lesson/UIPracticeButton.tscn:100 +msgid "Practice" +msgstr "Prática" + +#: ui/screens/lesson/UIPracticeButton.tscn:110 +msgid "You are here" +msgstr "Você está aqui" + +#: ui/screens/lesson/quizzes/QuizAnswerButton.tscn:40 +msgid "Answer label" +msgstr "Texto de Resposta" + +#: ui/screens/lesson/quizzes/UIQuizChoice.gd:26 +msgid "(select all that apply)" +msgstr "(selecione todos que se aplicam)" + +#: ui/screens/practice/PracticeHint.tscn:8 +msgid "Show Hint" +msgstr "Mostrar Dicas" + +#: ui/screens/practice/PracticeInfoPanel.gd:143 +msgid "Method descriptions" +msgstr "Descrições do método" + +#: ui/screens/practice/PracticeInfoPanel.gd:159 +msgid "Property descriptions" +msgstr "Descrições de propriedades" + +#: ui/screens/practice/PracticeInfoPanel.tscn:63 +msgid "Summary - Lesson Name" +msgstr "Sumário - Nome da Lição" + +#: ui/screens/practice/PracticeInfoPanel.tscn:106 +msgid "Goals" +msgstr "Objetivos" + +#: ui/screens/practice/PracticeInfoPanel.tscn:119 +msgid "Hints" +msgstr "Dicas" + +#: ui/screens/practice/PracticeInfoPanel.tscn:126 +msgid "Checks" +msgstr "Verificações" + +#: ui/screens/practice/PracticeInfoPanel.tscn:134 +msgid "Documentation" +msgstr "Documentação" + +#: ui/screens/practice/PracticeInfoPanel.tscn:175 +msgid "Open Practice List" +msgstr "Abrir a Lista de Prática" + +#: ui/screens/practice/PracticeTestDisplay.tscn:42 +msgid "Test text" +msgstr "Texto de teste" + +#: ui/screens/welcome_screen/WelcomeScreen.gd:42 +msgid "CONTINUE" +msgstr "CONTINUAR" + +#: ui/screens/welcome_screen/WelcomeScreen.gd:44 +#: ui/screens/welcome_screen/WelcomeScreen.tscn:627 +msgid "START" +msgstr "INICIAR" + +#: ui/screens/welcome_screen/WelcomeScreen.tscn:645 +msgid "SELECT LESSON" +msgstr "SELECIONE A LIÇÃO" + +#: ui/screens/welcome_screen/WelcomeScreen.tscn:659 +msgid "OPTIONS" +msgstr "OPÇÕES" + +#: ui/screens/welcome_screen/WelcomeScreen.tscn:693 +msgid "QUIT" +msgstr "SAIR" diff --git a/i18n/pt/classref_database.po b/i18n/pt/classref_database.po new file mode 100644 index 00000000..1deee1cc --- /dev/null +++ b/i18n/pt/classref_database.po @@ -0,0 +1,180 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-07 05:42+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.17-dev\n" +"Generated-By: Babel 2.10.1\n" + +#. Reference: show +#: ./course/documentation.csv:2 +msgid "shows the current scene" +msgstr "mostra a cena atual" + +#. Reference: hide +#: ./course/documentation.csv:3 +msgid "hides the current scene" +msgstr "oculta a cena atual" + +#. Reference: rotate +#: ./course/documentation.csv:4 +msgid "" +"Applies a rotation to the node, in radians, starting from its current " +"rotation." +msgstr "Aplica uma rotação ao nó, em radianos, começando pela rotação atual." + +#. Reference: move_forward +#: ./course/documentation.csv:5 +msgid "Moves the turtle in the direction it's facing by some pixels." +msgstr "Move a tartaruga na direção que está a olhar a alguns pixels." + +#. Reference: turn_right +#: ./course/documentation.csv:6 +msgid "Rotates the turtle to the right by some degrees." +msgstr "Rotaciona a tartaruga para a direita em alguns graus." + +#. Reference: turn_left +#: ./course/documentation.csv:7 +msgid "Rotates the turtle to the left by some degrees." +msgstr "Rotaciona a tartaruga para a esquerda em alguns graus." + +#. Reference: jump +#: ./course/documentation.csv:8 +msgid "Offsets the turtle's position by the given x and y amounts of pixels." +msgstr "" +"Desloca a posição da tartaruga pelas quantidades x e y de pixels fornecidas." + +#. Reference: draw_rectangle +#: ./course/documentation.csv:9 +msgid "Makes the turtle draw a rectangle starting at its current position." +msgstr "Faz a tartaruga desenhar um retângulo começando na sua posição atual." + +#. Reference: position.x +#: ./course/documentation.csv:10 +msgid "The position of the entity on the horizontal axis." +msgstr "A posição da entidade no eixo horizontal." + +#. Reference: position.y +#: ./course/documentation.csv:11 +msgid "The position of the entity on the vertical axis." +msgstr "A posição da entidade no eixo vertical." + +#. Reference: move_local_x +#: ./course/documentation.csv:12 +msgid "" +"Applies a local translation on the node's X axis based on the " +"[code]Node._process[/code]'s [code]delta[/code]. If [code]scaled[/code] " +"is false, normalizes the movement." +msgstr "" +"Aplica uma translação local no eixo X do nó baseado no [code]delta[/code] de " +"[code]Node._process[/code]. Se [code]scaled[/code] é [code]false[/code], " +"normaliza o movimento." + +#. Reference: board_size +#: ./course/documentation.csv:13 +msgid "" +"Stores how many cells make up the width ([code]board_size.x[/code]) and " +"height ([code]board_size.y[/code]) of the board." +msgstr "" +"Armazena quantos quadrados compõe a largura ([code]board_size.x[/code]) e a " +"altura ([code]board_size.y[/code]) do tabuleiro." + +#. Reference: cell +#: ./course/documentation.csv:14 +msgid "" +"The cell position of the robot on the board. [code]Vector2(0, 0)[/code] " +"is the square cell in the top left of the board." +msgstr "" +"A posição do robô no tabuleiro. [code]Vector2(0, 0)[/code] é o quadrado no " +"canto superior esquerdo do tabuleiro." + +#. Reference: range +#: ./course/documentation.csv:15 +msgid "Creates a list of numbers from [code]0[/code] to [code]length - 1[/code]." +msgstr "Cria uma lista de números de [code]0[/code] a [code]length - 1[/code]." + +#. Reference: play_animation +#: ./course/documentation.csv:16 +msgid "Orders the robot to play an animation." +msgstr "Ordena que o robô reproduza uma animação." + +#. Reference: select_units +#: ./course/documentation.csv:17 +msgid "Selects units in the cell coordinates passed as the function's argument." +msgstr "" +"Seleciona unidades nas coordenadas (em quadrados) passadas como argumento da " +"função." + +#. Reference: robot.move_to +#: ./course/documentation.csv:18 +msgid "Queues a move animation towards the target cell." +msgstr "Enfileira uma animação de movimento em direção ao quadrado de destino." + +#. Reference: array.append +#: ./course/documentation.csv:19 +msgid "Adds the value passed as an argument at the back of the array." +msgstr "Adiciona o valor passado como argumento no final da matriz." + +#. Reference: array.pop_front +#: ./course/documentation.csv:20 +msgid "Removes the first value from the array and returns it." +msgstr "Remove o primeiro valor da matriz e o retorna." + +#. Reference: array.pop_back +#: ./course/documentation.csv:21 +msgid "Removes the last value from the array and returns it." +msgstr "Remove o último valor da matriz e o retorna." + +#. Reference: str +#: ./course/documentation.csv:22 +msgid "" +"Returns the argument converted into a [code]String[/code]. Works with the" +" majority of value types." +msgstr "" +"Retorna o argumento convertido em [code]String[/code] (texto). Funciona com " +"a maioria dos tipos de valor." + +#. Reference: int +#: ./course/documentation.csv:23 +msgid "" +"Returns the argument converted into an [code]int[/code] (whole number) " +"[i]if possible[/i]. Supports converting decimal numbers, strings, and " +"booleans. Useful to convert player text input into numbers." +msgstr "" +"Retorna o argumento convertido num [code]int[/code] (número inteiro) [i]se " +"possível[/i]. Suporta conversões de números decimais, textos e boleanos. " +"Útil para converter textos inseridos pelo(a) jogador(a) em números." + +#. Reference: place_unit +#: ./course/documentation.csv:24 +msgid "" +"Creates a new unit matching the type parameter and places it at the " +"desired cell position on the game grid." +msgstr "" +"Cria uma nova unidade correspondente ao parâmetro type e a coloca no " +"quadrado desejado do tabuleiro do jogo." + +#. Reference: display_item +#: ./course/documentation.csv:25 +msgid "Creates a new item and displays it in the inventory." +msgstr "Cria um novo item e o exibe dentro do inventário." + +#. Reference: add_item +#: ./course/documentation.csv:26 +msgid "Increases the item count by amount." +msgstr "Aumenta a contagem de itens por quantidade." diff --git a/i18n/pt/error_database.po b/i18n/pt/error_database.po new file mode 100644 index 00000000..8b8bc9b1 --- /dev/null +++ b/i18n/pt/error_database.po @@ -0,0 +1,712 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-07 05:44+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.17-dev\n" +"Generated-By: Babel 2.10.1\n" + +#. Reference: CYCLIC_REFERENCE +#: ./script_checking/error_database.csv:38 +msgid "" +"A cyclic reference is when a class references itself, directly or " +"indirectly.\n" +"\n" +"It has two possible causes:\n" +"\n" +"1. You used the class name in the class itself.\n" +"2. Your code refers to another class that refers to this class, causing " +"an endless reference cycle.\n" +"\n" +"Either way, due to how GDScript works in Godot 3, unfortunately,you " +"cannot do this. Godot 4 should solve this problem, but you need to work " +"around it in the meantime." +msgstr "" +"Uma referência cíclica é quando uma classe referencia ela mesma, direta ou " +"indiretamente.\n" +"\n" +"Possui duas causas possíveis:\n" +"\n" +"1. Usou o nome da classe na própria classe.\n" +"2. O seu código refere-se a outra classe que se refere para esta classe, " +"causando um ciclo de referência infinito.\n" +"\n" +"De qualquer jeito, devido ao jeito que o GDScript funciona no Godot 3, " +"infelizmente, Não pode fazer isso. Godot 4 poderá resolver esse problema, " +"mas precisa contornar isso nesse meio tempo." + +#. Reference: CYCLIC_REFERENCE +#: ./script_checking/error_database.csv:38 +msgid "" +"Erase the type hint in the error line, and the problem should disappear." +" \n" +"\n" +"At GDQuest, when we face this error, we remove the type hints on lines " +"causing cyclic references. It solves the problem in the vast majority of " +"cases." +msgstr "" +"Apague a dica de tipo na linha de erro e o problema deve desaparecer.\n" +"\n" +"No GDQuest, quando encontramos esse erro, removemos as dicas de tipo nas " +"linhas que causam referências cíclicas. Isso resolve o problema na grande " +"maioria dos casos." + +#. Reference: INVALID_INDENTATION +#: ./script_checking/error_database.csv:45 +msgid "" +"The indentation of your code (the number of tab characters at the start " +"of the line) is incorrect.\n" +"\n" +"You are missing one or more tabs, or you inserted too many.\n" +"\n" +"The computer uses those leading tab characters on code lines to know " +"which lines of code are part of a code block, like a function." +msgstr "" +"A indentação do seu código (a quantidade de caracteres de tabulação no " +"começo da linha) está incorreto.\n" +"\n" +"Faltam-lhe um ou mais caracteres de tabulação ou pôs demais.\n" +"\n" +"O computador usa esses caracteres de tabulação nas linhas de código para " +"saber quais dessas linhas fazem parte de um bloco de código, como uma função " +"por exemplo." + +#. Reference: INVALID_INDENTATION +#: ./script_checking/error_database.csv:45 +msgid "" +"If the line of code with the error is right after a line ending with a " +"colon, like a function definition, you need one extra indent level " +"compared to the previous line.\n" +"\n" +"In other words, your line should have one more leading tab character than" +" the function definition." +msgstr "" +"Se a linha de código que contém o erro estiver logo após uma linha que " +"termina com dois pontos, como uma função por exemplo, precisa de um nível " +"extra de indentação comparado a linha anterior.\n" +"\n" +"Em outras palavras, a sua linha deverá ter um caractere de tabulação a mais " +"do que a definição da função." + +#. Reference: UNEXPECTED_CHARACTER +#: ./script_checking/error_database.csv:54 +msgid "" +"You get this error when you wrote something that is syntactically " +"invalid, or you are missing something to complete this line or previous " +"lines of code.\n" +"\n" +"You need to be extremely precise when you write code for the computer. " +"This kind of error is easy to get as all it takes is one wrong character." +"\n" +"\n" +"Note that this error can appear [b]after[/b] the line causing it due to " +"how the computer reads and analyzes your code." +msgstr "" +"Recebe esse erro quando escreveu alguma palavra sintaticamente inválida, ou " +"quando falta algo para completar essa linha de código ou a anterior.\n" +"\n" +"Deve ser extremamente preciso quando for escrever código para o computador. " +"Esse tipo de erro é comum acontecer pois precisa somente de um caractere " +"errado.\n" +"\n" +"Note que esse erro pode aparecer [b]depois[/b] da linha que o causa devido à " +"forma que o computador lê e analisa o seu código." + +#. Reference: UNEXPECTED_CHARACTER +#: ./script_checking/error_database.csv:54 +msgid "" +"The way to solve this kind of error is highly contextual. The error " +"message should tell you which character or element it's missing.\n" +"\n" +"If the error says \"expected,\" then you're likely missing something in " +"one of the [b]previous[/b] code lines. It could be a punctuation mark, a " +"parenthesis, or something else.\n" +"\n" +"If it says \"unterminated,\" you are missing some character at the end of" +" an expression, like a closing bracket. In this case, it most likely " +"comes from the line with the error." +msgstr "" +"A maneira de resolver esse tipo de erro é altamente contextual. A mensagem " +"de erro deve dizer-lhe qual caractere ou elemento falta.\n" +"\n" +"Se o erro disser \"esperado,\" então é bem provável que falta algo nas " +"linhas de código [b]anteriores[/b]. Pode ser um sinal de pontuação, um " +"parênteses, ou qualquer coisa assim.\n" +"\n" +"Se disser \"indeterminado\", então está faltando algum caractere no final de " +"uma expressão, como um colchete de fechamento. Nesse caso, é bem provável " +"que esteja na linha do próprio erro." + +#. Reference: UNEXPECTED_CHARACTER_IN_KEYWORD +#: ./script_checking/error_database.csv:57 +msgid "" +"This error tells you that you are missing a parenthesis (or sometimes a " +"comma or a path).\n" +"\n" +"Three keywords in GDScript work like function calls and require " +"parentheses: [code]yield()[/code], [code]preload()[/code], and " +"[code]assert()[/code]." +msgstr "" +"Esse erro diz-lhe que falta um parêntesis (ou às vezes uma vírgula ou um " +"caminho de algum arquivo).\n" +"\n" +"Três palavras-chave no GDScript funcionam como chamadas de função e precisam " +"de parênteses: [code]yield()[/code], [code]preload()[/code] e " +"[code]assert()[/code]." + +#. Reference: UNEXPECTED_CHARACTER_IN_KEYWORD +#: ./script_checking/error_database.csv:57 +msgid "" +"To address the error, you want to add the missing opening parenthesis, " +"the closing parenthesis, or the comma." +msgstr "" +"Para resolver esse erro, precisa adicionar o parêntese de abertura, o " +"parêntese de fechamento, ou a vírgula que estiver faltando." + +#. Reference: UNEXPECTED_CHARACTER_IN_EXPORT_HINT +#: ./script_checking/error_database.csv:58 +msgid "" +"This error tells you you are missing some parenthesis, a comma, or some " +"value in your export hint." +msgstr "" +"Esse erro diz-lhe que falta algum parêntese, uma vírgula ou algum valor na " +"sua dica de exportação." + +#. Reference: UNEXPECTED_CHARACTER_IN_EXPORT_HINT +#: ./script_checking/error_database.csv:58 +msgid "" +"You need to read the error message and add the missing character or value" +" it requests." +msgstr "" +"Precisa ler a mensagem de erro e adicionar o caractere ou o valor que " +"estiver faltando." + +#. Reference: MISPLACED_IDENTIFIER +#: ./script_checking/error_database.csv:68 +msgid "" +"This error happens in several cases:\n" +"\n" +"1. You wrote an identifier (variable or function name) in the wrong " +"place.\n" +"2. You wrote a keyword like [code]var[/code], [code]func[/code], " +"[code]for[/code], or [code]signal[/code], and you did not follow it by a " +"name.\n" +"3. You wrote a function definition but forgot the parentheses before the " +"colon." +msgstr "" +"Esse erro acontece em muitos casos:\n" +"\n" +"1. Escreveu um identificador (variável ou nome de um função) no lugar errado." +"\n" +"2. Escreveu uma palavra-chave como [code]var[/code], [code]func[/code], " +"[code]for[/code], or [code]signal[/code] e em seguida não pôs um nome.\n" +"3. Escreveu uma definição de função mas esqueceu-se do parêntese antes do " +"sinal de dois pontos." + +#. Reference: MISPLACED_IDENTIFIER +#: ./script_checking/error_database.csv:68 +msgid "" +"If the error tells you it expected something, you likely forgot to write " +"a name after a keyword like [code]var[/code], [code]func[/code], " +"[code]for[/code], or [code]signal[/code], making your code invalid. Or " +"you forgot parentheses in a function definition. You can address the " +"error by adding the missing name or parentheses.\n" +"\n" +"If the error says you have something unexpected, you are likely missing a" +" keyword like [code]var[/code], [code]func[/code], [code]for[/code], etc." +"\n" +"\n" +"Another possibility is that you need to write a colon at the end of a " +"function definition, [code]for[/code] loop, or a line starting with " +"[code]if[/code], [code]elif[/code], or [code]else[/code]." +msgstr "" +"Se o erro te disser que espera algo, provavelmente esqueceu-se de escrever " +"um nome depois de uma palavra-chave como [code]var[/code], [code]func[/code]" +", [code]for[/code], or [code]signal[/code], fazendo assim o seu código " +"inválido. Ou esqueceu-de de um parêntese numa definição de função. Pode " +"resolver esse erro adicionando o nome ou parêntese que falta.\n" +"\n" +"Se o erro disser que tem algo inesperado, provavelmente esqueceu-se de uma " +"palavra-chave como [code]var[/code], [code]func[/code], [code]for[/code], " +"etc.\n" +"\n" +"Outra possibilidade é que precisa escrever o sinal de dois pontos no final " +"da definição da função, estrutura de repetição [code]for[/code], ou numa " +"linha começando com [code]if[/code], [code]elif[/code], ou [code]else[/code]." + +#. Reference: MISPLACED_TYPE_IDENTIFIER +#: ./script_checking/error_database.csv:73 +msgid "" +"This error tells you that you are missing a type somewhere. A type can be" +" [code]int[/code], [code]float[/code], [code]String[/code], " +"[code]Array[/code], [code]Vector2[/code], and many identifiers " +"representing a data structure.\n" +"\n" +"Most of the time, this error occurs when you wrote a colon after a " +"variable name but did not follow it with a type name.\n" +"\n" +"It also occurs when you write an arrow ([code]->[/code]) after the " +"parentheses of a function definition but do not follow it with a type " +"name." +msgstr "" +"Esse erro diz-lhe que falta um tipo em algum lugar. Um tipo pode ser " +"[code]int[/code], [code]float[/code], [code]String[/code], [code]Array[/code]" +", [code]Vector2[/code] e muitos identificadores que representam uma " +"estrutura de dados.\n" +"\n" +"Na maioria das vezes, esse erro acontece quando escreve o sinal de dois " +"pontos depois de um nome de uma variável que não possui o nome do tipo dela " +"logo em seguida.\n" +"\n" +"Também acontece quando escreve uma seta ([code]->[/code]) depois de um " +"parêntese de uma definição de função que não foi seguido pelo nome do tipo." + +#. Reference: MISPLACED_TYPE_IDENTIFIER +#: ./script_checking/error_database.csv:73 +msgid "" +"To solve this, you need to write the name of the type after the colon, " +"arrow (in the case of function return types), inside parentheses (for " +"export types), or after the [code]as[/code] keyword." +msgstr "" +"Para resolver esse erro, precisa escrever o nome do tipo depois do sinal de " +"dois pontos, da seta (no caso de ser uma função que retorna algum tipo), de " +"dentro do parêntese (para tipos que exportam), ou depois da palavra-chave " +"[code]as[/code]." + +#. Reference: NONEXISTENT_IDENTIFIER +#: ./script_checking/error_database.csv:82 +msgid "" +"The variable, function name, or class name you are trying to use does not" +" exist.\n" +"\n" +"You most often get this error when you make typos. Maybe you swapped two " +"letters, forgot a letter... sometimes, it's hard to spot.\n" +"\n" +"The other cause for this error is that you didn't define the variable, " +"function, or class you're trying to access." +msgstr "" +"A variável, nome de função, ou nome de classe que tenta usar não existe.\n" +"\n" +"Geralmente recebe esse erro quando comete erros na digitação de alguma " +"palavra. Talvez trocou duas letras de lugar, esqueceu uma letra... às vezes " +"é difícil de identificar.\n" +"\n" +"A outra causa para ter recebido esse erro é que não definiu a variável, " +"função, ou classe que tenta aceder." + +#. Reference: NONEXISTENT_IDENTIFIER +#: ./script_checking/error_database.csv:82 +msgid "" +"To solve this error, triple-check that there is no typo in the line.\n" +"\n" +"If you can, try to go to the variable or function definition, double-" +"click the name, copy it, and paste it where you see the error.\n" +"\n" +"If you don't see any typo, then you need to ensure that you defined the " +"variable, function, or class you are referring to." +msgstr "" +"Para resolver esse erro, verifique várias vezes que não há erros de " +"digitação na linha de código.\n" +"\n" +"Se puder, tente ir à definição da variável ou função, reveja o nome, copie " +"ele e cole onde estiver dando o erro.\n" +"\n" +"Se não achar nenhum erro de digitação, garanta que definiu a variável, a " +"função ou a classe que tenta referenciar." + +#. Reference: MISPLACED_KEYWORD +#: ./script_checking/error_database.csv:87 +msgid "" +"You can only use keywords like [code]break[/code] or " +"[code]continue[/code] in a loop. Outside a loop, they are invalid.\n" +"\n" +"The [code]continue[/code] keyword means \"jump to the next iteration of " +"the loop.\" And the [code]break[/code] keyword means \"end the loop right" +" now and jump to the first line of code after the loop block." +msgstr "" +"Só pode usar palavras-chave como: [code]break[/code] ou [code]continue[/code]" +" numa estrutura de repetição. Fora de uma estrutura de repetição, elas são " +"inválidas.\n" +"\n" +"A palavra-chave [code]continue[/code] significa \"vá para a próxima iteração " +"da repetição.\" e a palavra_chave [code]break[/code] significa \"finalize a " +"repetição agora mesmo e vá para a primeira linha de código depois do bloco " +"dessa estrutura de repetição\"." + +#. Reference: MISPLACED_KEYWORD +#: ./script_checking/error_database.csv:87 +msgid "" +"If you wrote one of these keywords outside a loop, you need to remove it." +"\n" +"\n" +"If you are trying to use it inside a loop, your indentation is most " +"likely at fault. You may need to insert one or more leading tab " +"characters to the keyword." +msgstr "" +"Se escreveu uma dessas palavras-chave fora de uma estrutura de repetição, " +"precisa remove-la.\n" +"\n" +"Se tenta usa-las dentro de uma estrutura de repetição, a sua indentação " +"provavelmente está errada. Precisa pôr um ou mais caractere de tabulação na " +"palavra-chave." + +#. Reference: EXPECTED_CONSTANT_EXPRESSION +#: ./script_checking/error_database.csv:92 +msgid "" +"When the computer talks about a constant expression, it expects a fixed " +"value, a fixed calculation, or the name of an existing constant.\n" +"\n" +"In other words, it wants something that can never change. This is why the" +" computer will reject function calls and variables where it needs a " +"constant expression." +msgstr "" +"Quando o computador fala sobre uma expressão constante, ele espera um valor " +"fixo, um cálculo fixo ou o nome de uma constante existente.\n" +"\n" +"Em outras palavras, ele quer alguma coisa que nunca pode mudar. É por isso " +"que o computador irá rejeitar chamadas de funções e variáveis onde precisam " +"de uma expressão constante." + +#. Reference: EXPECTED_CONSTANT_EXPRESSION +#: ./script_checking/error_database.csv:92 +msgid "" +"You need to replace function calls or variables with a constant value " +"like a whole number, decimal number, string, vector, a predefined array, " +"etc.\n" +"\n" +"You can also use arithmetic operators like multiplications (*), additions" +" (+), and so on." +msgstr "" +"Precisa substituir chamadas de funções ou variáveis com um valor constante " +"como um número inteiro, um número decimal, string (cadeia de caractere), " +"vetor, um array (uma matriz) predefinido, etc.\n" +"\n" +"Também pode usar operadores aritméticos como multiplicações (*), adições (+) " +"e assim por diante." + +#. Reference: INVALID_CLASS_DECLARATION +#: ./script_checking/error_database.csv:97 +msgid "" +"When defining a new class, you need to follow a specific pattern. You " +"must write the name in plain text, starting with a letter.\n" +"\n" +"We typically write class names in PascalCase: with a capital letter at " +"the start of every word that composes the class name." +msgstr "" +"Quando definir uma nova classe, precisa seguir um padrão específico. Precisa " +"escrever o nome dela com texto puro, começando com uma letra.\n" +"\n" +"Tipicamente escrevemos nome de classes em PascalCase: Com uma letra em " +"maiúscula no começo de cada palavra que compõe o nome da classe." + +#. Reference: INVALID_CLASS_DECLARATION +#: ./script_checking/error_database.csv:97 +msgid "" +"To fix this error, replace whatever you put after the 'extends' or " +"'class_name' keyword by a name without spaces and starting with a capital" +" letter.\n" +"\n" +"You can optionally use numbers in the name, but not in the first position." +msgstr "" +"Para resolver esse erro, substitua tudo aquilo que pôs depois das palavras-" +"chave 'extends' ou 'class_name' por um nome sem espaços entre eles e " +"começando com uma letra em maiúscula.\n" +"\n" +"Tem a opção de usar números no nome, mas não na primeira posição (não pode " +"começar com números)." + +#. Reference: DUPLICATE_DECLARATION +#: ./script_checking/error_database.csv:102 +msgid "" +"You are trying to define a function or variable that already exists; You " +"can't do that.\n" +"\n" +"Perhaps the function or variable already exists in the current code file," +" but it may also be in a parent class that this GDScript code extends." +msgstr "" +"Tenta definir uma função ou variável que já existe. Não pode fazer isso.\n" +"\n" +"Talvez a função ou variável já exista no ficheiro de código atual, mas " +"também pode estar na classe pai que esse código de GDScript estende." + +#. Reference: DUPLICATE_DECLARATION +#: ./script_checking/error_database.csv:102 +msgid "" +"In the app, your code extends some built-in Godot code that's not visible" +" to you.\n" +"\n" +"When that happens, you need to either rename your function or variable to" +" one that will not collide with an existing one or remove this line of " +"code." +msgstr "" +"Na app, o seu código estende alguns códigos que já vêm integrado na Godot " +"que não visíveis para si.\n" +"\n" +"Quando isso acontece, precisa: ou renomear a sua função ou variável que não " +"seja igual a um nome que já exista nesses códigos integrados ou remover essa " +"linha de código." + +#. Reference: DUPLICATE_SIGNAL_DECLARATION +#: ./script_checking/error_database.csv:107 +msgid "" +"You are trying to define a signal that already exists; You can't do that." +"\n" +"\n" +"Perhaps the signal already exists in the current code file, but it may " +"also be in a parent class that this GDScript code extends." +msgstr "" +"Tenta definir um sinal que já existe; Não pode fazer isso.\n" +"\n" +"Talvez esse sinal já exista no ficheiro do código atual, mas também pode " +"estar na classe pai que esse código de GDScript estende." + +#. Reference: DUPLICATE_SIGNAL_DECLARATION +#: ./script_checking/error_database.csv:107 +msgid "" +"In the app, your code extends some built-in Godot code that's not visible" +" to you.\n" +"\n" +"When that happens, you need to either rename your signal to one that will" +" not collide with an existing one or remove this line of code." +msgstr "" +"No app, o seu código estende alguns códigos que já vêm integrado na Godot " +"que não visíveis para si.\n" +"\n" +"Quando isso acontece, precisa: ou renomear o seu sinal que não seja igual a " +"um nome que já exista nesses códigos integrados ou remover essa linha de " +"código." + +#. Reference: SIGNATURE_MISMATCH +#: ./script_checking/error_database.csv:112 +msgid "" +"The function you're trying to define exists in a parent class, so your " +"definition overrides the parent class's function.\n" +"\n" +"When you override a parent class's function, the new function must match " +"the parent. The new function should have the same number and type of " +"parameters as the parent class.\n" +"\n" +"For example, if the parent has two arguments, you need your new function " +"also to have two arguments. If you use type hints in your function " +"definitions, the argument types must match the parent class." +msgstr "" +"A função que tenta definir já existe numa classe pai, então a sua definição " +"sobrescreve a função da classe pai.\n" +"\n" +"Quando sobrescreve uma função da classe pai, a nova função precisa " +"corresponder a da classe pai. A nova função deve ter a mesma quantidade e " +"tipo de parâmetros que a classe pai.\n" +"\n" +"Por exemplo, se a classe pai possuir dois argumentos, precisa garantir que a " +"nova função também tenha dois argumentos. Se usar a dica de tipo nas suas " +"definições de funções, os tipos de argumentos devem corresponder a da classe " +"pai." + +#. Reference: SIGNATURE_MISMATCH +#: ./script_checking/error_database.csv:112 +msgid "" +"You need to check the parent class's function and its definition in the " +"code reference. Then, you need to edit your function definition to have " +"the same number and type of parameters as the parent class." +msgstr "" +"Precisa verificar a função da classe pai e as suas definições na referência " +"de código. Então, precisa editar a sua definição de função para ter a mesma " +"quantidade e tipos de parâmetros que a classe pai." + +#. Reference: INVALID_ARGUMENTS +#: ./script_checking/error_database.csv:113 +msgid "" +"This whole class of errors has to do with calling functions with either " +"the wrong number of arguments or the wrong kind of argument. You will " +"need to use the error message to see what is going wrong." +msgstr "" +"Todos esses erros de classe tem a ver com chamar funções com a quantidade de " +"argumentos errados ou com o tipo errado de argumento. Precisa usar a " +"mensagem de erro para ver o que dá errado." + +#. Reference: INVALID_ARGUMENTS +#: ./script_checking/error_database.csv:113 +msgid "" +"You need to either remove, add, or change the values you're trying to " +"pass to the function to solve this issue. To know exactly how many " +"arguments you need, you need to check the code reference. It will show " +"you the function definition and the mandatory arguments." +msgstr "" +"Precisa remover, adicionar ou mudar os valores que tenta passar para a " +"função para resolver esse problema. Para saber exatamente quantos argumentos " +"precisa usar, precisa verificar a referência de código. Ela vai mostrar-lhe " +"a definição da função e os argumentos mandatórios." + +#. Reference: TYPE_MISMATCH +#: ./script_checking/error_database.csv:124 +msgid "" +"All the values in your code have a specific type. That type can be a " +"whole number (int), a decimal number (float), text (String), and so on. " +"There are tons of possible types, and you can even define your own!\n" +"\n" +"When you make any operation, the computer compares the types you are " +"using.\n" +"\n" +"Some types are compatible, and some are not. For example, you cannot " +"directly add a whole number to a text string. You first need to convert " +"the number into text.\n" +"\n" +"You'll need to read the error message to see what is not matching because" +" there are many possible cases." +msgstr "" +"Todos os valores no seu código possuem um tipo específico. Esse tipo pode " +"ser um número inteiro (int), um número decimal (float), um texto (string) e " +"assim por diante. Há vários tipos possíveis e pode até mesmo definir os seus " +"próprios tipos!\n" +"\n" +"Quando faz qualquer operação, o computador compara os tipos que usa.\n" +"\n" +"Alguns tipos são compatíveis e outros não. Por exemplo, não pode adicionar " +"diretamente um número inteiro a uma cadeia de caractere (string). Precisa " +"primeiro converter o número em texto.\n" +"\n" +"Vai precisar ler a mensagem de erro para ver o que não está compatível " +"porque existe muitos casos possíveis." + +#. Reference: TYPE_MISMATCH +#: ./script_checking/error_database.csv:124 +msgid "" +"If the error mentions the assigned value type not matching the variable, " +"the problem is on the right side of the equal sign (=).\n" +"\n" +"If the error talks about the return type not matching the function, then " +"it is the value after the return keyword that is problematic.\n" +"\n" +"If the computer talks about an invalid operand, then the issue is that " +"the operation does not exist for the type you're trying to use. For " +"example, while you can add two 2D vectors, you can't add a whole number " +"or text to a 2D vector." +msgstr "" +"Se o erro mencionar que o tipo do valor não é compatível com a variável, o " +"problema está no lado direito do sinal de igual (=).\n" +"\n" +"Se o erro disser que o tipo de retorno não é compatível com a função, então " +"é o valor depois da palavra-chave 'return' que causa o problema.\n" +"\n" +"Se o computador disser sobre um operador inválido, então o problema é que a " +"operação para aquele tipo que tenta usar não existe. Por exemplo, pode somar " +"dois vetores 2D, mas não pode somar um número inteiro ou um texto e um vetor " +"2D." + +#. Reference: TYPE_CANNOT_BE_INFERRED +#: ./script_checking/error_database.csv:129 +msgid "" +"GDScript supports type inference. The computer will automatically " +"recognize the type of value you are working with. In some cases, though, " +"it can't figure it out.\n" +"\n" +"When that happens, you need to specify the type yourself or remove type " +"inference altogether for this variable." +msgstr "" +"GDScript suporta inferência de tipo. O computador vai reconhecer " +"automaticamente o tipo de valor que usa. Porém, em alguns casos ele não vai " +"conseguir descobrir o tipo.\n" +"\n" +"Quando isso acontecer, mesmo precisa especificar o tipo ou remover " +"completamente a inferência de tipo para essa variável." + +#. Reference: TYPE_CANNOT_BE_INFERRED +#: ./script_checking/error_database.csv:129 +msgid "" +"The simplest way to solve this error is to remove types for this variable" +" or this function's arguments. Otherwise, you can manually specify the " +"value type after the colon.\n" +"\n" +"We recommend specifying the type whenever possible to reap the typing " +"system's benefits." +msgstr "" +"A maneira mais simples de resolver esse erro é remover os tipos dessa " +"variável ou os argumentos dessa função. Caso contrário, pode especificar " +"manualmente o tipo do valor depois do sinal de dois pontos.\n" +"\n" +"Recomendamos especificar o tipo sempre que for possível para colher os " +"benefícios do sistema de digitação." + +#. Reference: RETURN_VALUE_MISMATCH +#: ./script_checking/error_database.csv:135 +msgid "" +"There is an issue with the return value of your function. There are two " +"main cases here:\n" +"\n" +"1. Your function is a void function, thus it should not return a value. " +"This includes functions with the '-> void' syntax and class constructors " +"('_init()').\n" +"2. You specified a return type for your function, but you are not " +"returning a value in all possible branches (if, elif, and else blocks) or" +" at the end." +msgstr "" +"Tem um problema com o valor de retorno da sua função. Há dois casos " +"principais aqui:\n" +"\n" +"1. A sua função é uma função vazia, logo não deve retornar um valor. Isso " +"inclui funções com a sintaxe '-> void' e construtores de classe ('_init()')." +"\n" +"2. Especificou um tipo de retorno na sua função, mas não retorna nenhum " +"valor em todas as ramificações possíveis (blocos if, elif, e else) ou no " +"final." + +#. Reference: RETURN_VALUE_MISMATCH +#: ./script_checking/error_database.csv:135 +msgid "" +"When your function is 'void', you should never return a value. You can " +"use the 'return' keyword to end the function early, but you should never " +"write anything after that.\n" +"\n" +"When you use a return type, you must always return something at the end " +"of the function or in every branch (if, elif, and else block) of the " +"function." +msgstr "" +"Quando a sua função está vazia (void), nunca deve retornar um valor. Pode " +"usar a palavra-chave 'return' para encerrar a função mais cedo, mas nunca " +"deve escrever nada depois disso.\n" +"\n" +"Quando usa um tipo de retorno, precisa sempre retornar algo no final da " +"função ou em toda ramificação (blocos if, elif, e else) da função." + +#. Reference: INVALID_NO_CATCH +#: ./script_checking/error_database.csv:137 +msgid "" +"Godot was unable to load your script, yet the language checker found " +"nothing wrong." +msgstr "" +"Godot foi incapaz de carregar o seu script, porém o verificador da linguagem " +"não encontrou nada de errado." + +#. Reference: INVALID_NO_CATCH +#: ./script_checking/error_database.csv:137 +msgid "Please click on the \"report\" button at the top and please let us know." +msgstr "Por favor, clique no botão \"reportar\" no topo e nos avise." + +#. Reference: RECURSIVE_FUNCTION +#: ./script_checking/error_database.csv:138 +msgid "You called a function inside itself. This will loop forever." +msgstr "Chamou um função dentro dela mesma. Isso vai se repetir para sempre." + +#. Reference: RECURSIVE_FUNCTION +#: ./script_checking/error_database.csv:138 +msgid "" +"There are valid reasons for using recursive functions, but none of them " +"are part of this course, so this cannot be a valid solution." +msgstr "" +"Há razões válidas para usar funções recursivas, mas nenhuma delas fazem " +"parte desse curso, então isso não pode ser uma solução válida." diff --git a/i18n/pt/glossary_database.po b/i18n/pt/glossary_database.po new file mode 100644 index 00000000..02de6fcc --- /dev/null +++ b/i18n/pt/glossary_database.po @@ -0,0 +1,644 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-23 18:50+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#. Reference: member function +#: ./course/glossary.csv:6 +msgid "member function" +msgstr "função menbro" + +#. Reference: member function +#: ./course/glossary.csv:6 +msgid "member functions" +msgstr "funções membro" + +#. Reference: member function +#: ./course/glossary.csv:6 +msgid "" +"Member functions are functions attached to a specific value type, like " +"arrays, strings, or dictionaries. We also call them methods.\n" +"\n" +"For example, arrays have member functions like " +"[code]array.append()[/code].\n" +"\n" +"You can only call the function on an array, using the access operator " +"([code].[/code]) to access it, as shown above." +msgstr "" +"As funções membro são funções anexadas a um tipo de valor específico, como " +"arrays, strings ou dicionários. Também os chamamos de métodos.\n" +"\n" +"Por exemplo, arrays têm funções membros como [code]array.append()[/code].\n" +"\n" +" Só pode chamar a função num array, usando o operador de acesso " +"([code].[/code]) para acessá-la, conforme mostrado acima." + +#. Reference: member variable +#: ./course/glossary.csv:9 +msgid "member variable" +msgstr "variável menbro" + +#. Reference: member variable +#: ./course/glossary.csv:9 +msgid "member variables" +msgstr "variáveis menbro" + +#. Reference: member variable +#: ./course/glossary.csv:9 +msgid "" +"Member variables are variables attached to a specific value type, like a " +"vector's [code]x[/code] and [code]y[/code] sub-variables. We also call " +"them [i]properties[/i] or [i]fields[/i] of the vector.\n" +"\n" +"To access a member variable, you must first write the value's name " +"followed by the access operator ([code].[/code]). For example, " +"[code]position.x[/code]." +msgstr "" +"As variáveis membro são variáveis anexadas a um tipo de valor específico, " +"como as sub-variáveis [code]x[/code] e [code]y[/code] de um vetor. Também as " +"chamamos de [i]propriedades[/i] ou [i]campos[/i] do vetor.\n" +"\n" +"Para acessar uma variável membro, deve primeiro escrever o nome do valor " +"seguido pelo operador de acesso ([code].[/code]). Por exemplo, [code]position" +".x[/code]." + +#. Reference: parameter +#: ./course/glossary.csv:12 +msgid "parameter" +msgstr "parâmetro" + +#. Reference: parameter +#: ./course/glossary.csv:12 +msgid "parameters" +msgstr "parâmetros" + +#. Reference: parameter +#: ./course/glossary.csv:12 +msgid "" +"A parameter is a variable you create as part of a function definition.\n" +"\n" +"It allows you to reuse the function more by having values that vary in " +"the function's body." +msgstr "" +"Um parâmetro é uma variável que você cria como parte de uma definição de " +"função.\n" +"\n" +"Permite que reutilize mais vezes a função por ter valores que variam no " +"corpo da função." + +#. Reference: radian +#: ./course/glossary.csv:17 +msgid "radian" +msgstr "radiano" + +#. Reference: radian +#: ./course/glossary.csv:17 +msgid "radians" +msgstr "radianos" + +#. Reference: radian +#: ./course/glossary.csv:17 +msgid "" +"A radian is a unit of measurement of angles based on the circle's " +"circumference.\n" +"\n" +"We tend to use degrees more in our daily lives, but in computer " +"programming, and especially in games, radians are common.\n" +"\n" +"An angle of [code]2 * PI[/code] radians corresponds to 360 degrees. And " +"an angle of [code]PI[/code] radians corresponds to 180 degrees." +msgstr "" +"Um radiano é uma unidade de medida de ângulos com base na circunferência do " +"círculo.\n" +"\n" +"Costumamos usar mais ângulos em nossas vidas diárias, mas em programação e " +"especialmente em jogos, radianos são comuns.\n" +"\n" +"Um ângulo de [code]2 * PI[/code] radianos corresponde a 360 graus. E um " +"ângulo de [code]PI[/code] radianos corresponde a 180 graus." + +#. Reference: type +#: ./course/glossary.csv:20 +msgid "type" +msgstr "tipo" + +#. Reference: type +#: ./course/glossary.csv:20 +msgid "types" +msgstr "tipos" + +#. Reference: type +#: ./course/glossary.csv:20 +msgid "" +"In computer programming, a type is the class of a value. For example, " +"whole numbers like [code]3[/code], [code]11[/code], and " +"[code]255462[/code] are all of type [code]int[/code] (short for integer)." +"\n" +"\n" +"The computer uses types to determine which operations are valid between " +"two values and when they're undefined." +msgstr "" +"Em programação, um tipo é a classe de um valor. Por exemplo, números " +"inteiros como [code]3[/code], [code]11[/code] e [code]255462[/code] são " +"todos do tipo [code]int[/code] (abreviação de integer).\n" +"\n" +"O computador usa tipos para determinar quais operações são válidas entre " +"dois valores e quando são indefinidos." + +#. Reference: iteration +#: ./course/glossary.csv:23 +msgid "iteration" +msgstr "iteração" + +#. Reference: iteration +#: ./course/glossary.csv:23 +msgid "iterations" +msgstr "iterações" + +#. Reference: iteration +#: ./course/glossary.csv:23 +msgid "" +"In computer code, an iteration is one repetition of some process or code." +" We typically use the term with loops, where one iteration is one run of " +"the loop's code.\n" +"\n" +"When talking of algorithms, an iteration can mean a full pass of the " +"algorithm on a data set." +msgstr "" +"Em código de computador, uma iteração é uma repetição de algum processo ou " +"código. Normalmente usamos o termo com loops, onde uma iteração é uma " +"execução do código do loop.\n" +"\n" +"Ao falar de algoritmos, uma iteração pode significar uma passagem completa " +"do algoritmo num conjunto de dados." + +#. Reference: vector +#: ./course/glossary.csv:28 +msgid "vector" +msgstr "vetor" + +#. Reference: vector +#: ./course/glossary.csv:28 +msgid "vectors" +msgstr "vetores" + +#. Reference: vector +#: ./course/glossary.csv:28 +msgid "" +"In math, a vector is a list of numbers. In games, we often use 2D and 3D " +"vectors: respectively, lists of two and three numbers.\n" +"\n" +"We use that to represent a direction and magnitude or intensity in space." +" For example, you can use a vector to represent the direction and speed " +"at which a character or a vehicle moves.\n" +"\n" +"Vectors can seem daunting at first because they are pretty abstract, but " +"as you will see, they'll simplify code tremendously." +msgstr "" +"Na matemática, um vetor é uma lista de números. Nos jogos, geralmente usamos " +"vetores 2D e 3D: respetivamente, listas de dois e três números.\n" +"\n" +"Usamos isso para representar uma direção e magnitude ou intensidade no " +"espaço do jogo. Por exemplo, pode usar um vetor para representar a direção e " +"a velocidade em que uma personagem ou veículo se move.\n" +"\n" +"Os vetores podem parecer assustadores no início porque são bastante " +"abstratos, mas como vai ver, simplificarão tremendamente o código." + +#. Reference: argument +#: ./course/glossary.csv:37 +msgid "argument" +msgstr "argumento" + +#. Reference: argument +#: ./course/glossary.csv:37 +msgid "arguments" +msgstr "argumentos" + +#. Reference: argument +#: ./course/glossary.csv:37 +msgid "" +"An argument is a value that you pass to a function when calling the " +"function. For example, in the call [code]rotate(0.5)[/code], the value " +"[code]0.5[/code] in the parentheses is an argument.\n" +"\n" +"A function can receive no arguments, one argument, or multiple arguments." +" Arguments can be mandatory or optional.\n" +"\n" +"When a function takes multiple arguments, you separate the values with " +"commas, like in this function call: [code]jump(50, 100)[/code]\n" +"\n" +"When [i]calling[/i] a function, we name the values passed in parentheses " +"[i]arguments[/i].\n" +"\n" +"When writing a function definition, however, we talk about function " +"[i]parameters[/i]. In the following example, the names [code]x[/code] and" +" [code]y[/code] are [i]parameters[/i]." +msgstr "" +"Um argumento é um valor que passa a uma função ao chamá-la. Por exemplo, na " +"chamada [code]rotate(0.5)[/code], o valor [code]0.5[/code] entre parênteses " +"é um argumento.\n" +"\n" +"Uma função pode receber nenhum argumento, um argumento ou vários argumentos. " +"Os argumentos podem ser obrigatórios ou opcionais.\n" +"\n" +"Quando uma função recebe vários argumentos, eepara os valores com vírgulas, " +"como nesta chamada de função: [code]jump(50, 100)[/code]\n" +"\n" +"Ao [i]chamar[/i] uma função, nomeamos os valores passados entre parênteses " +"[i]argumentos[/i].\n" +"\n" +"Ao escrever uma definição de função, no entanto, falamos sobre " +"[i]parâmetros[/i] da função. No exemplo a seguir, os nomes [code]x[/code] e " +"[code]y[/code] são [i]parâmetros[/i]." + +#. Reference: array +#: ./course/glossary.csv:44 +msgid "array" +msgstr "array" + +#. Reference: array +#: ./course/glossary.csv:44 +msgid "arrays" +msgstr "arrays" + +#. Reference: array +#: ./course/glossary.csv:44 +msgid "" +"An array is a list of values. In GDScript, arrays can contain [i]any[/i] " +"types of value.\n" +"\n" +"To create an array, you write comma-separated values in square brackets: " +"[code]var three_numbers = [1, 2, 3][/code]\n" +"\n" +"In games, we use arrays all the time to store lists of characters in a " +"party, lists of items in inventory, lists of spells the player unlocked, " +"and so on. They're everywhere.\n" +"\n" +"Arrays are a fundamental value type in computer programming. You'll find " +"arrays in pretty much any programming language." +msgstr "" +"Um array é uma lista de valores. No GDScript, os arrays podem conter " +"[i]qualquer[/i] tipo de valor.\n" +"\n" +"Para criar um array, escreve valores separados por vírgulas entre colchetes: " +"[code]var three_numbers = [1, 2, 3][/code]\n" +"\n" +"Nos jogos, usamos arrays o tempo todo para armazenar listas de personagens " +"num grupo, listas de itens no inventário, listas de feitiços que o jogador " +"desbloqueou e assim por diante. Eles estão em toda parte.\n" +"\n" +"Arrays são um tipo de valor fundamental na programação. Vai encontrar arrays " +"em praticamente qualquer linguagem de programação." + +#. Reference: assign +#: ./course/glossary.csv:45 +msgid "assign" +msgstr "atribuir" + +#. Reference: assign +#: ./course/glossary.csv:45 +msgid "" +"Assigning a value to a variable means that you store a value inside the " +"variable. You do this with the equal sign ([code]=[/code])." +msgstr "" +"Atribuir um valor a uma variável significa que armazena um valor dentro da " +"variável. Faz isso com o sinal de igual ([code]=[/code])." + +#. Reference: dictionary +#: ./course/glossary.csv:52 +msgid "dictionary" +msgstr "dicionário" + +#. Reference: dictionary +#: ./course/glossary.csv:52 +msgid "dictionaries" +msgstr "dicionários" + +#. Reference: dictionary +#: ./course/glossary.csv:52 +msgid "" +"A dictionary is a data structure that maps values with key-value pairs. " +"When you give the dictionary a key, it finds and gives you back the " +"corresponding value.\n" +"\n" +"In GDScript, keys can be many things. We often use text strings or " +"numbers, but you're not limited to that. A [code]Vector2[/code] can also " +"be a valid key, which is handy to map a grid cell to a unit or an item in" +" a grid-based game.\n" +"\n" +"You will often use dictionaries to associate bits of data in your games. " +"For example, we could use them to associate an equipment's name with its " +"weapon stats in a database.\n" +"\n" +"Like arrays, they are a fundamental data type that you will see in many " +"programming languages and use a lot." +msgstr "" +"Um dicionário é uma estrutura de dados que mapeia valores com pares chave-" +"valor. Quando dá uma chave ao dicionário, ele encontra e devolve o valor " +"correspondente.\n" +"\n" +"No GDScript, as chaves podem ser muitas coisas. Costumamos usar strings ou " +"números, mas não está limitado a isso. Um [code]Vector2[/code] também pode " +"ser uma chave válida, o que é útil para mapear uma célula de grid para uma " +"unidade ou um item num jogo baseado em grid.\n" +"\n" +"Costuma usar dicionários para associar pequenas partes de dados nos seus " +"jogos. Por exemplo, poderíamos usá-los para associar o nome de um " +"equipamento às estatísticas das armas dele num banco de dados.\n" +"\n" +"Assim como os arrays, eles são um tipo de dados fundamental que verá em " +"muitas linguagens de programação e usará muito." + +#. Reference: for loop +#: ./course/glossary.csv:59 +msgid "for loop" +msgstr "loop for" + +#. Reference: for loop +#: ./course/glossary.csv:59 +msgid "for loops" +msgstr "loops for" + +#. Reference: for loop +#: ./course/glossary.csv:59 +msgid "" +"A for loop instructs the computer to repeat a set of instructions once " +"for each value in an array.\n" +"\n" +"In each loop iteration, the compiler extracts one value from the array " +"and gives you access to it in the loop's body.\n" +"\n" +"For loops run code a limited amount of times: one per value in the array." +" It is different from while loops that keep repeating code until a " +"condition is met.\n" +"\n" +"We recommend favoring for loops when you can. They're safer and easier to" +" use than while loops." +msgstr "" +"Um loop for instrui o computador a repetir um conjunto de instruções uma vez " +"para cada valor num array.\n" +"\n" +"Em cada iteração do loop, o compilador extrai um valor do array e dá acesso " +"a ele no corpo do loop.\n" +"\n" +"For loops, executa o código uma quantidade limitada de vezes: uma por valor " +"no array. É diferente dos loops while que continuam repetindo o código até " +"que uma condição seja atendida.\n" +"\n" +"Recomendamos usar os loops for quando puder. Eles são mais seguros e fáceis " +"de usar do que loops while." + +#. Reference: function +#: ./course/glossary.csv:64 +msgid "function" +msgstr "função" + +#. Reference: function +#: ./course/glossary.csv:64 +msgid "functions" +msgstr "funções" + +#. Reference: function +#: ./course/glossary.csv:64 +msgid "" +"A function is a group of code instructions you give a name. When you " +"define a function, you can call it any time to run all the instructions " +"it contains.\n" +"\n" +"You can modify a function's behavior with parameters. Parameters are " +"variable names that you write in the function definition. You can then " +"use them in the function's body to make your code adapt to different " +"cases.\n" +"\n" +"Also, functions can optionally return a value to the code calling it." +msgstr "" +"Uma função é um grupo de instruções de código que dá um nome. Ao definir uma " +"função, pode chamá-la a qualquer momento para executar todas as instruções " +"que ela contém.\n" +"\n" +"Pode modificar o comportamento de uma função com parâmetros. Parâmetros são " +"nomes de variáveis que escreve na definição da função. Pode então usá-los no " +"corpo da função para fazer com que o seu código se adapte a diferentes casos." +"\n" +"\n" +"Além disso, as funções podem, opcionalmente, retornar um valor ao código que " +"o chama." + +#. Reference: increment +#: ./course/glossary.csv:65 +msgid "increment" +msgstr "incremento" + +#. Reference: increment +#: ./course/glossary.csv:65 +msgid "increments" +msgstr "incrementos" + +#. Reference: increment +#: ./course/glossary.csv:65 +msgid "An increment is the amount by which a value changes in your code." +msgstr "Um incremento é a quantidade pela qual um valor muda no seu código." + +#. Reference: instruction +#: ./course/glossary.csv:68 +msgid "instruction" +msgstr "instrução" + +#. Reference: instruction +#: ./course/glossary.csv:68 +msgid "instructions" +msgstr "instruções" + +#. Reference: instruction +#: ./course/glossary.csv:68 +msgid "" +"In computer programming, instructions are a single operation the computer" +" recognizes and can execute.\n" +"\n" +"For example, a function call, an addition, or assigning a value to a " +"variable." +msgstr "" +"Em programação, as instruções são uma única operação que o computador " +"reconhece e pode executar.\n" +"\n" +"Por exemplo, uma chamada de função, uma adição ou atribuição de um valor a " +"uma variável." + +#. Reference: variable +#: ./course/glossary.csv:77 +msgid "variable" +msgstr "variável" + +#. Reference: variable +#: ./course/glossary.csv:77 +msgid "variables" +msgstr "variáveis" + +#. Reference: variable +#: ./course/glossary.csv:77 +msgid "" +"Variables are a tool to give a name to values you want to store in your " +"code and change over time.\n" +"\n" +"For example, a character's health: when the character takes a hit, you " +"want it to go down. When healing, you want the health to go back up.\n" +"\n" +"You can create a variable named [code]health[/code] to represent the " +"health.\n" +"\n" +"Then, every time you write the keyword [code]health[/code] in your code, " +"the computer will fetch the corresponding value in its memory for you.\n" +"\n" +"Variables work a bit like product labels in a supermarket. They are names" +" 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 "" +"As variáveis são uma ferramenta para dar um nome aos valores que deseja " +"armazenar no seu código e alterar ao longo do tempo.\n" +"\n" +"Por exemplo, a vida de uma personagem: quando a personagem é atingida, quer " +"que ele diminua. Ao curar, quer que a vida aumente.\n" +"\n" +"Pode criar uma variável chamada [code]health[/code] para representar a vida." +"\n" +"\n" +"Então, cada vez que escreve a palavra-chave [code]health[/code] no seu " +"código, o computador irá buscar o valor correspondente na memória dele para " +"si.\n" +"\n" +"As variáveis funcionam um pouco como rótulos de produtos num supermercado. " +"São nomes que você atribui a algum valor. Pode copiar a qualquer momento o " +"rótulo e colá-lo num novo produto ou, nesse caso, num valor novo." + +#. Reference: while loop +#: ./course/glossary.csv:84 +msgid "while loop" +msgstr "loop while" + +#. Reference: while loop +#: ./course/glossary.csv:84 +msgid "while loops" +msgstr "loops while" + +#. Reference: while loop +#: ./course/glossary.csv:84 +msgid "" +"A while loop instructs the computer to keep running code based on a " +"condition. While the condition is true, the loop keeps running.\n" +"\n" +"When coding while loops, you must be careful: they will keep running " +"infinitely and freeze your game if you get the condition wrong.\n" +"\n" +"That's why we recommend using the safer for loop whenever you can.\n" +"\n" +"However, there are still essential cases in which we use while loops, " +"like processing files, processing computer code, or for powerful " +"algorithms." +msgstr "" +"Um loop while instrui o computador a continuar executando o código com base " +"numa condição. Enquanto a condição for verdadeira, o loop continua em " +"execução.\n" +"\n" +"Ao programar loops while, deve ter cuidado: eles continuarão executando " +"infinitamente e vão travar o seu jogo se errar a condição.\n" +"\n" +"É por isso que recomendamos usar o loop for, que é mais seguro, sempre que " +"puder.\n" +"\n" +"No entanto, ainda existem casos essenciais em que usamos loops while, como " +"processamento de ficheiros, processamento de código de computador ou " +"algoritmos poderosos." + +#. Reference: body +#: ./course/glossary.csv:85 +msgid "body" +msgstr "corpo" + +#. Reference: body +#: ./course/glossary.csv:85 +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 "" +"Falamos de um loop ou corpo de uma função para nos referirmos às linhas de " +"código que fazem parte do loop ou função." + +#. Reference: return +#: ./course/glossary.csv:88 +msgid "return" +msgstr "return" + +#. Reference: return +#: ./course/glossary.csv:88 +msgid "" +"Returning a value is the process of sending a value to the place where " +"you call a function.\n" +"\n" +"It happens when a function uses the [code]return[/code] keyword followed " +"by a value, for example: [code]return -1[/code]." +msgstr "" +"Retornar um valor é o processo de enviar um valor ao local onde chama uma " +"função.\n" +"\n" +"Isso acontece quando uma função usa a palavra-chave [code]return[/code] " +"seguida de um valor, por exemplo: [code]return -1[/code]." + +#. Reference: library +#: ./course/glossary.csv:89 +msgid "library" +msgstr "biblioteca" + +#. Reference: library +#: ./course/glossary.csv:89 +msgid "libraries" +msgstr "bibliotecas" + +#. Reference: library +#: ./course/glossary.csv:89 +msgid "" +"A collection of valuable and reusable code bundled together by other " +"programmers to save you time. All programmers use code libraries." +msgstr "" +"Uma coleção de códigos valiosos e reutilizáveis agrupados por outros " +"programadores para economizar o seu tempo. Todos os programadores usam " +"bibliotecas de código." + +#. Reference: sprite +#: ./course/glossary.csv:90 +msgid "sprite" +msgstr "sprite" + +#. Reference: sprite +#: ./course/glossary.csv:90 +msgid "sprites" +msgstr "sprites" + +#. Reference: sprite +#: ./course/glossary.csv:90 +msgid "" +"In computer graphics, a sprite is an image you display on the screen. We " +"generally use this word to talk about moving images, like a character, a " +"monster, or an item falling on the ground." +msgstr "" +"Em computação gráfica, um sprite é uma imagem que exibe no ecrã. Geralmente " +"usamos essa palavra para falar de imagens em movimento, como uma personagem, " +"um monstro ou um item caindo no chão." diff --git a/i18n/pt/lesson-1-what-code-is-like.po b/i18n/pt/lesson-1-what-code-is-like.po new file mode 100644 index 00000000..c0837edf --- /dev/null +++ b/i18n/pt/lesson-1-what-code-is-like.po @@ -0,0 +1,429 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-23 18:50+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-1-what-code-is-like/lesson.tres:14 +msgid "" +"Learning to program can be daunting.\n" +"\n" +"Yet, you want to make video games, so [b]there is no way around learning " +"to program[/b]. [i]Every[/i] video game is a computer program." +msgstr "" +"Aprender a programar pode ser assustador.\n" +"\n" +"No entanto, se quer fazer videogames, então [b]não pode evitar aprender a " +"programar[/b]. [i]Todo videogame[/i] é um programa de computador." + +#: course/lesson-1-what-code-is-like/lesson.tres:24 +msgid "Telling the computer what to do" +msgstr "Dizendo ao computador o que fazer" + +#: course/lesson-1-what-code-is-like/lesson.tres:26 +msgid "" +"Programming is the process of writing precise instructions that tell a " +"computer how to perform a task.\n" +"\n" +"A game's instructions are, for example: moving a character, drawing a " +"life bar, or playing a sound." +msgstr "" +"Programação é o processo de escrever instruções precisas que informam a um " +"computador como realizar uma tarefa.\n" +"\n" +"As instruções de um jogo são, por exemplo: mover uma personagem, desenhar " +"uma barra de vida ou tocar um som." + +#: 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 "" +"Para fazer qualquer uma dessas coisas, precisa aprender uma [b]linguagem de " +"programação[/b]: uma linguagem especializada em dizer ao computador o que " +"fazer." + +#: course/lesson-1-what-code-is-like/lesson.tres:58 +msgid "" +"Programming languages are different from natural ones like English or " +"Spanish. The computer does not think. Unlike us,it can't [i]interpret[/i]" +" what you tell it.\n" +"\n" +"You can't tell it something vague like \"draw a circle.\"\n" +"\n" +"Which circle? Where? Which color should it be? How big should it be?" +msgstr "" +"Linguagens de programação são diferentes das linguagens naturais, como " +"inglês ou espanhol. O computador não pensa. Ao contrário de nós, ele não " +"pode [i]interpretar[/i] o que você diz.\n" +"\n" +"Não pode dizer algo vago como \"desenhe um círculo\".\n" +"\n" +"Qual círculo? Onde? Qual cor ele deve ter? O quão grande ele deve ser?" + +#: course/lesson-1-what-code-is-like/lesson.tres:70 +msgid "The computer needs exact instructions" +msgstr "O computador precisa de instruções exatas" + +#: course/lesson-1-what-code-is-like/lesson.tres:72 +msgid "" +"To draw a filled circle, the computer needs to know exact drawing " +"coordinates, the radius, the thickness, and color you want.\n" +"\n" +"The code to do so [i]may[/i] look like this.\n" +"\n" +"[i]Click the button to run the code example and see the result.[/i]" +msgstr "" +"Para desenhar um círculo preenchido, o computador precisa saber as " +"coordenadas exatas do desenho, o raio, a espessura e a cor desejada.\n" +"\n" +"O código para fazer isso [i]pode[/i] ficar assim.\n" +"\n" +"[i]Clique no botão para executar o código de exemplo e ver o resultado.[/i]" + +#: course/lesson-1-what-code-is-like/lesson.tres:96 +msgid "" +"In the following lessons, you'll learn how this code works.\n" +"\n" +"For now, we want to give you a sense of what computer code looks like. In" +" this example, everything matters: each parenthesis, capital letter, " +"period, and comma.\n" +"\n" +"The computer always does [b]exactly[/b] what you tell it to. No more, no " +"less. It [i]blindly[/i] follows every instruction.\n" +"\n" +"[b]When you program, you're the one in charge, and you're free to do " +"[i]anything[/i] you want.[/b]" +msgstr "" +"Nas aulas a seguir, aprenderá como esse código funciona.\n" +"\n" +"Por enquanto, queremos dar uma ideia de como se parece um código de " +"computador. Neste exemplo, tudo importa: cada parêntese, letra maiúscula, " +"ponto e vírgula.\n" +"\n" +"O computador sempre faz [b]exatamente[/b] o que o manda. Nem mais nem menos. " +"Ele [i]cegamente[/i] segue todas as instruções.\n" +"\n" +"[b]Quando você programa, você é quem manda e está livre a fazer [i]tudo[/i] " +"o que quiser.[/b]" + +#: course/lesson-1-what-code-is-like/lesson.tres:110 +msgid "How do you give instructions to a computer?" +msgstr "Como dá instruções a um computador?" + +#: course/lesson-1-what-code-is-like/lesson.tres:113 +msgid "" +"Computers don't understand natural languages like English. To make them " +"do anything, you need to give them precise instructions they understand, " +"using a programming language." +msgstr "" +"Os computadores não entendem linguagens naturais como o inglês. Para fazê-" +"los fazer qualquer coisa, precisa dar-lhes instruções precisas que eles " +"entendam, usando uma linguagem de programação." + +#: 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 "Usando uma linguagem de programação e instruções precisas" + +#: course/lesson-1-what-code-is-like/lesson.tres:114 +msgid "Using prose in plain English" +msgstr "Usando conversa em Inglês simples" + +#: course/lesson-1-what-code-is-like/lesson.tres:122 +msgid "You'll learn to code with GDScript" +msgstr "Vai aprender a programar com GDScript" + +#: course/lesson-1-what-code-is-like/lesson.tres:124 +msgid "" +"In this course, you'll learn the GDScript programming language (the name " +"stands for \"Godot script\").\n" +"\n" +"This is a language by game developers for game developers. You can use it" +" within the Godot game engine to create games and applications.\n" +"\n" +"SEGA used the Godot engine to create the remake of Sonic Colors Ultimate." +" Engineers at Tesla use it for their cars' dashboards." +msgstr "" +"Nesse curso, vai aprender a linguagem de programação chamada GDScript (o " +"nome significa \"Godot script\").\n" +"\n" +"Essa é uma linguagem feita por programadores de jogos para programadores de " +"jogos. Pode usa-la junto a engine de jogo Godot para criar jogos e " +"aplicações.\n" +"\n" +"A SEGA usou a engine de jogo Godot para criar o remake de Sonic Colors " +"Ultimate. Engenheiros da Tesla usam ela para os seus painéis de carros." + +#: course/lesson-1-what-code-is-like/lesson.tres:148 +msgid "" +"GDScript is an excellent language to get started with programming because" +" it's specialized. Unlike some other languages, it doesn't have an " +"[i]overwhelming[/i] amount of features for you to learn." +msgstr "" +"GDScript é uma linguagem excelente para iniciar com programação porque é uma " +"linguagem especializada. Ao contrário de algumas outras linguagens, ela não " +"possui uma quantidade [i]gigantesca[/i] de recursos para aprender." + +#: course/lesson-1-what-code-is-like/lesson.tres:156 +msgid "Most programming languages are similar" +msgstr "A maioria das linguagens de programação são similares" + +#: course/lesson-1-what-code-is-like/lesson.tres:158 +msgid "" +"Don't be afraid of being locked in. The concepts you learn in your first " +"programming language will apply to all the others.\n" +"\n" +"Most languages have more similarities than differences. Once you learn " +"one, it takes much less time to become productive with the next one.\n" +"\n" +"Here's an example of the same code in three languages: GDScript, " +"JavaScript, and Python.\n" +"\n" +"Try to spot the similarities and differences." +msgstr "" +"Não tenha medo de ficar preso nessa linguagem. Os conceitos que aprende na " +"sua primeira linguagem de programação vão se aplicar para todas as outras.\n" +"\n" +"A maioria das linguagens possuem mais similaridades do que diferenças. Uma " +"vez que aprende uma, leva muito menos tempo para se tornar produtivo com a " +"próxima.\n" +"\n" +"Aqui tem um exemplo de um mesmo código em três linguagens: GDScript, " +"JavaScript e Python.\n" +"\n" +"Tente achar as similaridades e as diferenças." + +#: course/lesson-1-what-code-is-like/lesson.tres:184 +msgid "It doesn't look [i]that[/i] different, does it?" +msgstr "Não parece [i]tão[/i] diferente, não é mesmo?" + +#: course/lesson-1-what-code-is-like/lesson.tres:192 +msgid "Are programming languages all completely different?" +msgstr "Todas as linguagens de programação são completamente diferentes?" + +#: course/lesson-1-what-code-is-like/lesson.tres:193 +msgid "" +"If you learn one language and then want to learn another, will you have " +"to start from scratch?" +msgstr "" +"Se aprender uma linguagem e depois quiser aprender outra, terá que começar " +"do zero?" + +#: course/lesson-1-what-code-is-like/lesson.tres:195 +msgid "" +"Most programming languages build upon the same ideas of how to program. " +"As a result, they're mostly similar.\n" +"\n" +"It's not to say all languages are the same, though. Some offer a really " +"unique syntax and require a completely different mindset compared to " +"GDScript.\n" +"\n" +"However, languages like GDScript, Python, JavaScript, C++, C#, and many " +"others build upon a similar programming philosophy." +msgstr "" +"A maioria das linguagens de programação são construídas na mesma ideia de " +"como programar. Como resultado disso, a maioria são parecidas.\n" +"\n" +"Isso não quer dizer que todas as linguagens são iguais. Algumas oferecem uma " +"sintaxe única e exigem um modo de pensar completamente diferente comparado a " +"linguagem GDScript.\n" +"\n" +"No entanto, linguagens como GDScript, Python, JavaScript, C++, C# e muitas " +"outras são construidas em cima de uma filosofia similar de programação." + +#: course/lesson-1-what-code-is-like/lesson.tres:200 +#: course/lesson-1-what-code-is-like/lesson.tres:201 +msgid "No, they have many similarities" +msgstr "Não, elas possuem muitas similaridades" + +#: course/lesson-1-what-code-is-like/lesson.tres:200 +msgid "Yes, they are completely different" +msgstr "Sim, elas são completamente diferentes" + +#: course/lesson-1-what-code-is-like/lesson.tres:208 +msgid "This is a course for beginners" +msgstr "Esse é um curso para iniciantes" + +#: course/lesson-1-what-code-is-like/lesson.tres:210 +msgid "" +"If you want to learn to make games or code but don't know where to start," +" this course should be perfect." +msgstr "" +"Se quer aprender a fazer jogos ou a programar mas não sabe por onde começar, " +"esse curso será perfeito para si." + +#: course/lesson-1-what-code-is-like/lesson.tres:230 +msgid "" +"We designed it for [i]absolute beginners[/i], but if you already know " +"another language, it can be a fun way to get started with Godot.\n" +"\n" +"We will give you the coding foundations you need to start making games " +"and applications with Godot.\n" +"\n" +"Please be patient. It will take time before you can make your first " +"complete game alone." +msgstr "" +"Fizemos esse curso para pessoas [i]totalmente iniciantes[/i], mas se já sabe " +"outra linguagem, pode ser uma forma divertida de iniciar com a Godot.\n" +"\n" +"Vamos-lhe passar os fundamentos de programação que irá precisar para começar " +"a fazer jogos e aplicações com a Godot.\n" +"\n" +"Por favor, seja utente. Vai levar tempo até conseguir fazer o seu primeiro " +"jogo completo sozinho." + +#: course/lesson-1-what-code-is-like/lesson.tres:242 +msgid "Learning to make games takes practice" +msgstr "Aprender a fazer jogos requer prática" + +#: course/lesson-1-what-code-is-like/lesson.tres:244 +msgid "" +"Creating games is more accessible than ever, but it still takes a lot of " +"work and practice.\n" +"\n" +"Do not expect any single course or book to turn you into a professional. " +"[b]Programming is something you learn through practice.[/b]\n" +"\n" +"If something doesn't make immediate sense, don't stress it too much! Keep" +" learning and come back to it later.\n" +"\n" +"Enjoy the process and celebrate every little success. You will never stop" +" learning as a game developer." +msgstr "" +"Criar jogos está mais acessível do que nunca, mas ainda requer muito " +"trabalho e prática.\n" +"\n" +"Não espere nenhum curso ou livro que te transformará num profissional. [b]" +"Programação é algo que aprende através de prática.[/b]\n" +"\n" +"Se algo não faz sentido logo de cara, não se estresse demais! Continue " +"aprendendo e volte mais tarde.\n" +"\n" +"Aproveite o processo e celebre cada pequeno sucesso. Nunca vai parar de " +"aprender sendo um programador de jogos." + +#: course/lesson-1-what-code-is-like/lesson.tres:258 +msgid "What and how you'll learn" +msgstr "O que e como irá aprender" + +#: course/lesson-1-what-code-is-like/lesson.tres:260 +msgid "" +"In this free course, you will learn the foundations you need to start " +"coding things like those." +msgstr "" +"Nesse curso gratuito, vai aprender os fundamentos que precisa para começar a " +"programar coisas como essas." + +#: course/lesson-1-what-code-is-like/lesson.tres:290 +msgid "" +"Along the way, we'll teach you:\n" +"\n" +"- Some of the mindset you need as a developer. Too many programming " +"courses skip that essential part.\n" +"- How to write GDScript code.\n" +"- Essential programming foundations to get you started.\n" +"\n" +"As you go through the course, you will have many questions. We will " +"answer them the best we can as we go.\n" +"\n" +"But there is so much to cover that we have to take a few shortcuts. We " +"don't want to [i]overwhelm[/i] you with information. We also want to " +"respect the pace at which our brains memorize things.\n" +"\n" +"We broke down the course into short lessons and practices. If we put too " +"much into each part, you'd learn slower.\n" +"\n" +"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 "" +"Ao longo do caminho, vamos te ensinar:\n" +"\n" +"- Alguns modos de pensar que vai precisar como um programador. Muitos cursos " +"de programação pulam essa parte essencial.\n" +"- Como escrever códigos na linguagem GDScript .\n" +"- Fundamentos essenciais de programação para poder começar.\n" +"\n" +"Conforme avança no curso, terá muitas perguntas. Vamos respondê-las da " +"melhor forma possível conforme avançamos.\n" +"\n" +"Mas tem tanta coisa para aprender que teremos que pegar alguns atalhos. Não " +"queremos [i]sobrecarregá-lo[/i] com informações. Também queremos respeitar o " +"ritmo que nossos cérebros memorizam as coisas.\n" +"\n" +"Dividimos o curso em pequenas lições e práticas. Se colocarmos muita coisa " +"em cada parte, Aprenderia de forma devagar.\n" +"\n" +"Se em qualquer momento ficar com muitas dúvidas, é mais que bem vindo(a) a " +"juntar-se à [url=https://discord.gg/87NNb3Z]nossa comunidade no " +"Discord[/url]." + +#: course/lesson-1-what-code-is-like/lesson.tres:310 +msgid "Programming is a skill" +msgstr "Programar é uma habilidade" + +#: course/lesson-1-what-code-is-like/lesson.tres:312 +msgid "" +"Programming is a skill, so to get good at it, you must practice. It is " +"why we built this app.\n" +"\n" +"Each lesson is followed by an interactive practice to use what you " +"learned.\n" +"\n" +"Speaking of which, it's time to look at the practice screen!\n" +"\n" +"To continue, click the [i]Practice[/i] button below. It will give you a " +"short run through how practices work." +msgstr "" +"Programar é uma habilidade, então para ficar bom nisso, precisa praticar. " +"Para isso criamos esta app.\n" +"\n" +"Cada lição é seguida por um exercício interativo para usar o que aprendeu.\n" +"\n" +"Falando nisso, é hora de ver a tela de exercício!\n" +"\n" +"Para continuar, clique no botão [i]Paraticar[/i]logo abaixo. Isso vai te dar " +"um breve resumo de como os exercícios funcionam." + +#: course/lesson-1-what-code-is-like/lesson.tres:326 +msgid "Try Your First Code" +msgstr "Experimente o seu primeiro código" + +#: course/lesson-1-what-code-is-like/lesson.tres:327 +msgid "" +"We prepared a code sample for you. For this practice, you don't need to " +"change anything.\n" +"\n" +"To test the code, click the [i]Run[/i] button below the code editor." +msgstr "" +"Preparamos um código de exemplo para si. Para esse exercício, não precisa " +"mudar nada.\n" +"\n" +"Para testar o código, clique no botão [i]Executar[/i] logo abaixo do editor " +"de código." + +#: course/lesson-1-what-code-is-like/lesson.tres:339 +msgid "Run your first bit of code and see the result." +msgstr "Execute o seu primeiro código e veja o resultado." + +#: course/lesson-1-what-code-is-like/lesson.tres:343 +msgid "What Code is Like" +msgstr "Como o código se parece" diff --git a/i18n/pt/lesson-10-the-game-loop.po b/i18n/pt/lesson-10-the-game-loop.po new file mode 100644 index 00000000..2ccc4d60 --- /dev/null +++ b/i18n/pt/lesson-10-the-game-loop.po @@ -0,0 +1,251 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-23 18:50+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-10-the-game-loop/lesson.tres:14 +msgid "" +"As we've seen, Godot has functions that do certain actions. For example, " +"the [code]show()[/code] and [code]hide()[/code] functions change the " +"visibility of things.\n" +"\n" +"We can also create our own functions to make custom effects like adding " +"or removing health to a character.\n" +"\n" +"Godot also has special functions we can customize or add to.\n" +"\n" +"Take the [code]_process()[/code] function." +msgstr "" +"Como vimos, A Godot possui funções que realizam determinadas ações. Por " +"exemplo, as funções [code]show()[/code] e [code]hide()[/code] mudam a " +"visibilidade das coisas.\n" +"\n" +"Também podemos criar as nossas próprias funções para criar efeitos " +"personalizados, como adicionar ou remover a vida de uma personagem.\n" +"\n" +"A Godot também tem funções especiais que podemos personalizar ou acrescentar " +"algo a mais nelas.\n" +"\n" +"Olhe a função [code]_process()[/code] por exemplo." + +#: course/lesson-10-the-game-loop/lesson.tres:40 +msgid "" +"The [code]_process()[/code] function gets its name because it does " +"calculations or continuous actions.\n" +"\n" +"It's like a juice factory that [b]processes[/b] juice bottles: the " +"bottles are always moving along a conveyor belt, while different machines" +" operate on them." +msgstr "" +"A função [code]_process()[/code] recebe esse nome porque faz cálculos ou " +"ações contínuas.\n" +"\n" +"É como uma fábrica de sumo que [b]processa[/b] garrafas de sumo: as garrafas " +"estão sempre se movendo ao longo de uma esteira transportadora, enquanto " +"diferentes máquinas operam sobre elas." + +#: course/lesson-10-the-game-loop/lesson.tres:52 +msgid "" +"It's similar in Godot, but this function can run [b]hundreds of times a " +"second[/b]." +msgstr "" +"Esse processo funciona de forma parecida dentro da Godot, mas essa função " +"pode ser executada [b]centenas de vezes por segundo[/b]." + +#: course/lesson-10-the-game-loop/lesson.tres:60 +msgid "How many parameters does this function take?" +msgstr "Quantos parâmetros essa função pode ter?" + +#: course/lesson-10-the-game-loop/lesson.tres:61 +msgid "" +"[code]\n" +"func _process(delta):\n" +"[/code]" +msgstr "" +"[code]\n" +"func _process(delta):\n" +"[/code]" + +#: course/lesson-10-the-game-loop/lesson.tres:65 +msgid "" +"The [code]_process()[/code] function takes one parameter: " +"[code]delta[/code].\n" +"\n" +"We'll look at what [code]delta[/code] is in the next lesson, as well as " +"show how to use it." +msgstr "" +"A função [code]_process()[/code] recebe um parâmetro: [code]delta[/code].\n" +"\n" +"Vamos ver o que é [code]delta[/code] na próxima lição, além de mostrar-lhe " +"como usá-lo." + +#: course/lesson-10-the-game-loop/lesson.tres:68 +#: course/lesson-10-the-game-loop/lesson.tres:69 +msgid "1" +msgstr "1" + +#: course/lesson-10-the-game-loop/lesson.tres:68 +msgid "2" +msgstr "2" + +#: course/lesson-10-the-game-loop/lesson.tres:78 +msgid "" +"The [code]_process()[/code] function won't do anything until we add " +"something to it.\n" +"\n" +"You might notice the underscore [code]_[/code] in front of the function " +"name. This is a convention. It means the function is already defined by " +"Godot.\n" +"\n" +"If the function exists, and is called exactly [code]_process[/code], then" +" Godot will automatically run it every frame. " +msgstr "" +"A função [code]_process()[/code] não vai fazer nada até que adicionemos algo " +"nela.\n" +"\n" +"Pode notar o sinal de underscore [code]_[/code] na frente do nome da função. " +"Isso é uma convenção. Isso significa que a função já foi definida pela " +"própria Godot.\n" +"\n" +"Se a função existir e for chamada exatamente [code]_process[/code], então a " +"Godot vai executar ela automaticamente a cada frame. " + +#: course/lesson-10-the-game-loop/lesson.tres:92 +msgid "Other game engines might use different names like [code]_update()[/code]." +msgstr "" +"Outras engines de jogos podem usar nomes diferentes, como " +"[code]_update()[/code]." + +#: course/lesson-10-the-game-loop/lesson.tres:100 +msgid "Why is the _process() function useful?" +msgstr "Por que a função _process() é útil?" + +#: course/lesson-10-the-game-loop/lesson.tres:102 +msgid "" +"It's perhaps better to see the [code]_process()[/code] function in " +"action.\n" +"\n" +"Take the following example." +msgstr "" +"Talvez seja melhor ver a função [code]_process()[/code] em ação.\n" +"\n" +"Tome o seguinte exemplo." + +#: course/lesson-10-the-game-loop/lesson.tres:124 +msgid "" +"When you click the button [code]set_process(true)[/code], you activate " +"processing on the robot.\n" +"\n" +"From there, every frame, Godot runs the [code]_process()[/code] function." +"\n" +"\n" +"Since we wrote a [code]rotate()[/code] instruction, Godot is rotating the" +" character by [code]0.05[/code] radians [b]many[/b] times a second." +msgstr "" +"Ao clicar no botão [code]set_process(true)[/code], ativa o processamento no " +"robô.\n" +"\n" +"A partir daí, a cada frame, a Godot executa a função [code]_process()[/code]." +"\n" +"\n" +"Como escrevemos uma instrução [code]rotate()[/code], a Godot gira a " +"personagem em [code]0.05[/code] radianos [b]muitas[/b] vezes por segundo." + +#: course/lesson-10-the-game-loop/lesson.tres:136 +msgid "How often does the _process() function run?" +msgstr "Com que frequência a função _process() é executada?" + +#: course/lesson-10-the-game-loop/lesson.tres:139 +msgid "" +"The faster your computer, the more times [code]_process()[/code] will " +"run.\n" +"\n" +"Godot will try and run [code]_process()[/code] as quickly as it can. This" +" makes sure any movement or animations look smooth and fluid." +msgstr "" +"Quanto mais rápido o seu computador for, mais vezes a função " +"[code]_process()[/code] será executada.\n" +"\n" +"A Godot tentará executar a função [code]_process()[/code] o mais rápido " +"possível. Isso garante que qualquer movimento ou animação pareça suave e " +"fluido." + +#: course/lesson-10-the-game-loop/lesson.tres:142 +msgid "Once a second." +msgstr "Uma vez por segundo." + +#: course/lesson-10-the-game-loop/lesson.tres:142 +#: course/lesson-10-the-game-loop/lesson.tres:143 +msgid "Multiple times a second." +msgstr "Várias vezes por segundo." + +#: course/lesson-10-the-game-loop/lesson.tres:152 +msgid "" +"In the practice, you'll learn how to use the process function to rotate " +"and move a character yourself." +msgstr "" +"Na lição de prática, vai aprender a usar a função process para rotacionar e " +"mover uma personagem você mesmo." + +#: course/lesson-10-the-game-loop/lesson.tres:160 +msgid "Rotating a Character Continuously" +msgstr "Rotacionar uma Personagem de Maneira Contínua" + +#: course/lesson-10-the-game-loop/lesson.tres:161 +msgid "" +"Make the robot rotate slowly by adding to the [code]_process()[/code] " +"function.\n" +"\n" +"A rotation speed of about [code]0.05[/code] each frame should do." +msgstr "" +"Faça o robô rotacionar lentamente adicionando algo na função " +"[code]_process()[/code].\n" +"\n" +"Uma velocidade de rotação com cerca de [code]0.05[/code] por frame deve ser " +"suficiente." + +#: course/lesson-10-the-game-loop/lesson.tres:178 +msgid "Creating Circular Movement" +msgstr "Criando Movimento Circular" + +#: course/lesson-10-the-game-loop/lesson.tres:179 +msgid "" +"Make the robot move in a large circle slowly by rotating it and " +"simultaneously moving it along its x direction.\n" +"\n" +"To do this, add the [code]rotate()[/code] and [code]move_local_x()[/code]" +" functions to [code]_process()[/code].\n" +"\n" +"Use a rotation speed of [code]0.05[/code] radians per frame, and move the" +" robot [code]5[/code] pixels per frame." +msgstr "" +"Faça o robô se mover lentamente num grande círculo girando e movendo ele " +"simultaneamente ao longo da direção dele no eixo x.\n" +"\n" +"Para fazer isso, adicione as funções [code]rotate()[/code] e " +"[code]move_local_x()[/code] na função [code]_process()[/code].\n" +"\n" +"Use uma velocidade de rotação de [code]0,05[/code] radianos por frame e mova " +"o robô [code]5[/code] pixels por frame." + +#: course/lesson-10-the-game-loop/lesson.tres:197 +msgid "The Game Loop" +msgstr "O Loop do Jogo" diff --git a/i18n/pt/lesson-11-time-delta.po b/i18n/pt/lesson-11-time-delta.po new file mode 100644 index 00000000..9c144468 --- /dev/null +++ b/i18n/pt/lesson-11-time-delta.po @@ -0,0 +1,429 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-23 18:50+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-11-time-delta/lesson.tres:14 +msgid "" +"We've seen how we can use our character's [code]_process()[/code] " +"function to make it move continuously." +msgstr "" +"Vimos como podemos usar a função [code]_process()[/code] da nossa personagem " +"para fazê-la mover-se continuamente." + +#: course/lesson-11-time-delta/lesson.tres:34 +msgid "" +"But it's not just our character that has a [code]_process()[/code] " +"function; Almost everything in the game has a [code]_process()[/code] " +"function!\n" +"\n" +"Dozens of times per second, Godot runs every [code]_process()[/code] " +"function in the game to update the game world.\n" +"\n" +"After that, it displays an image of the game world on the screen. We call" +" that image a [b]frame[/b].\n" +"\n" +"Godot then moves on to calculating the next frame.\n" +"\n" +"As this happens dozens of times per second, you get the illusion of " +"movement. This is similar to how traditional animation works." +msgstr "" +"Mas não é apenas a nossa personagem com uma função [code]_process()[/code]; " +"quase tudo no jogo tem uma função [code]_process()[/code]!\n" +"\n" +"Dezenas de vezes por segundo, a Godot executa cada função " +"[code]_process()[/code] no jogo para atualizar o mundo do jogo.\n" +"\n" +"Depois disso, exibe uma imagem do mundo do jogo no ecrã. Chamamos essa " +"imagem um [b]frame[/b].\n" +"\n" +"A Godot então passa a calcular o próximo quadro.\n" +"\n" +"Como isso acontece dezenas de vezes por segundo, tem a ilusão de movimento. " +"Isso é semelhante a como a animação tradicional funciona." + +#: course/lesson-11-time-delta/lesson.tres:52 +msgid "" +"You may have heard of frames per second, or FPS for short. Games often " +"run at 60 frames per second. \n" +"\n" +"It means that everything in the game updates 60 times each second.\n" +"\n" +"The number varies while playing, depending on the game and the device it " +"runs on.\n" +"\n" +"On powerful computers, you may get frame rates in the hundreds or " +"thousands of frames per second." +msgstr "" +"Já deve ter ouvido falar de frames por segundo, ou FPS para abreviar. Os " +"jogos geralmente são executados a 60 frames por segundo.\n" +"\n" +"Isso significa que tudo no jogo é atualizado 60 vezes a cada segundo.\n" +"\n" +"O número varia durante o jogo, dependendo do jogo e do aparelho em que é " +"executado.\n" +"\n" +"Em computadores poderosos, pode obter taxas de frames de centenas ou até " +"milhares de frames por segundo." + +#: course/lesson-11-time-delta/lesson.tres:68 +msgid "Let's look at the [code]_process()[/code] function in more detail." +msgstr "Vamos ver a função [code]_process()[/code] com mais detalhes." + +#: course/lesson-11-time-delta/lesson.tres:76 +msgid "What parameter does the _process() function take?" +msgstr "Qual parâmetro a função _process() usa?" + +#: course/lesson-11-time-delta/lesson.tres:77 +msgid "" +"[code]\n" +"func _process(delta):\n" +"\trotate(0.05)\n" +"[/code]" +msgstr "" +"[code]\n" +"func _process(delta):\n" +"\trotate(0.05)\n" +"[/code]" + +#: course/lesson-11-time-delta/lesson.tres:82 +msgid "" +"The [code]_process()[/code] function has one parameter named " +"[code]delta[/code]." +msgstr "" +"A função [code]_process()[/code] tem um parâmetro chamado [code]delta[/code]." + +#: course/lesson-11-time-delta/lesson.tres:83 +msgid "rotate" +msgstr "rotacionar" + +#: course/lesson-11-time-delta/lesson.tres:83 +msgid "0.05" +msgstr "0.05" + +#: course/lesson-11-time-delta/lesson.tres:83 +#: course/lesson-11-time-delta/lesson.tres:84 +msgid "delta" +msgstr "delta" + +#: course/lesson-11-time-delta/lesson.tres:91 +msgid "Frames take varying amounts of time to calculate" +msgstr "Os frames levam uma quantidades variadas de tempo para serem calculados" + +#: course/lesson-11-time-delta/lesson.tres:93 +msgid "" +"Depending on the game, the computer, and what the game engine needs to " +"calculate, frames take more or less time to display.\n" +"\n" +"There will always be milliseconds variations from frame to frame.\n" +"\n" +"That is why the [code]_process()[/code] function receives a " +"[code]delta[/code] parameter.\n" +"\n" +"The word \"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 variations between frames don't make the" +" game's simulation unreliable." +msgstr "" +"Dependendo do jogo, do computador e do que a engine do jogo precisa " +"calcular, os frames levam mais ou menos tempo para serem exibidos.\n" +"\n" +"Sempre haverá variações de milissegundos de frame a frame.\n" +"\n" +"É por isso que a função [code]_process()[/code] recebe um parâmetro " +"[code]delta[/code].\n" +"\n" +"A palavra \"delta\" representa uma diferença de tempo. É o tempo decorrido " +"desde o frame anterior, em segundos.\n" +"\n" +"O parâmetro [code]delta[/code] nos diz quanto tempo levou para a Godot " +"completar o [b]frame anterior[/b].\n" +"\n" +"Podemos usar o delta para garantir que as variações entre os frames não " +"tornem a simulação do jogo instável." + +#: course/lesson-11-time-delta/lesson.tres:111 +msgid "What do we know about delta?" +msgstr "O que sabemos sobre o delta?" + +#: course/lesson-11-time-delta/lesson.tres:114 +msgid "" +"[code]delta[/code] is the time it takes Godot to complete the previous " +"frame in seconds.\n" +"\n" +"It's very small because frames happen many times a second.\n" +"\n" +"It varies each frame because Godot needs to process more or less each " +"frame." +msgstr "" +"[code]delta[/code] é o tempo que a Godot leva para completar o frame " +"anterior medido em segundos.\n" +"\n" +"É muito pequeno porque os frames acontecem muitas vezes por segundo.\n" +"\n" +"Varia a cada frame porque a Godot precisa processar mais ou processar menos " +"cada frame." + +#: course/lesson-11-time-delta/lesson.tres:119 +#: course/lesson-11-time-delta/lesson.tres:120 +msgid "It's a value in seconds." +msgstr "É um valor em segundos." + +#: course/lesson-11-time-delta/lesson.tres:119 +#: course/lesson-11-time-delta/lesson.tres:120 +msgid "It varies each frame." +msgstr "Varia a cada frame." + +#: course/lesson-11-time-delta/lesson.tres:119 +#: course/lesson-11-time-delta/lesson.tres:120 +msgid "It's the time it takes Godot to complete the previous frame." +msgstr "É o tempo que a Godot leva para completar o frame anterior." + +#: course/lesson-11-time-delta/lesson.tres:127 +msgid "Multiplying by delta" +msgstr "Multiplicando por delta" + +#: course/lesson-11-time-delta/lesson.tres:129 +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" +"\n" +"To apply [code]delta[/code], you need to [i]multiply[/i] your speed " +"values by it." +msgstr "" +"O [code]delta[/code] que obtém em [code]_process()[/code] é uma diferença de " +"tempo em segundos. Geralmente vai ser um número decimal pequeno.\n" +"\n" +"Para aplicar o [code]delta[/code], precisa [i]multiplicar[/i] os seus " +"valores de velocidade por ele." + +#: course/lesson-11-time-delta/lesson.tres:151 +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 "" +"Ao multiplicar por [code]delta[/code], faz com que o movimento se torne [i]" +"dependente do tempo[/i] ao invés de [i]dependente do frame[/i].\n" +"\n" +"Isso é essencial para fazer o seu jogo consistente e justo." + +#: course/lesson-11-time-delta/lesson.tres:161 +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:163 +msgid "" +"At the top of the lesson, we made the robot rotate a fixed amount every " +"frame: [code]0.05[/code] radians.\n" +"\n" +"In the example above, we now [i]multiply[/i] the argument by the very " +"small [code]delta[/code] value, a value way below [code]1.0[/code]. It " +"makes the robot turn at a constant speed over time.\n" +"\n" +"However, multiplying by a number below [code]1.0[/code] like " +"[code]delta[/code] makes the result smaller.\n" +"\n" +"To compensate for that and make the robot turn fast enough, we use a " +"larger number than before, [code]3.0[/code] instead of [code]0.05[/code]." +"\n" +"\n" +"Those numbers have two different [i]units[/i]: [code]0.05[/code] is an " +"[i]angle[/i] in radians, while [code]3.0[/code] is an [i]angular " +"speed[/i] in radians per second.\n" +"\n" +"When you multiply a speed by a time delta, it gives you an angle.\n" +"\n" +"Don't worry if it's a little confusing for now. It'll eventually click as" +" you deal with speed, acceleration, and motion in your game projects." +msgstr "" +"No início da lição, fizemos o robô rotacionar por uma quantidade fixa a cada " +"frame: [code]0.05[/code] radianos.\n" +"\n" +"No exemplo acima, agora[i]multiplicamos[/i] o argumento com o valor muito " +"pequeno de [code]delta[/code], um valor muito abaixo de [code]1.0[/code]. " +"Isso faz com que o robô rotacione a uma velocidade constante ao longo do " +"tempo.\n" +"\n" +"No entanto, multiplicar por um número abaixo de [code]1.0[/code] como é o " +"caso do [code]delta[/code], torna o resultado menor.\n" +"\n" +"Para compensar isso e fazer o robô rotacionar rápido o suficiente, usamos um " +"número maior do que antes, [code]3.0[/code] ao invés de [code]0.05[/code].\n" +"\n" +"Esses números têm duas [i]unidades[/i] diferentes: [code]0,05[/code] é um " +"[i]ângulo[/i] em radianos, enquanto [code]3,0[/code] é uma [i]velocidade " +"angular[/i] em radianos por segundo.\n" +"\n" +"Quando multiplica uma velocidade por um delta de tempo, obtém um ângulo.\n" +"\n" +"Não se preocupe se estiver um pouco confuso/a no momento. Com o tempo, vai " +"compreender o jeito de lidar com velocidade, aceleração e movimento nos seus " +"projetos de jogos." + +#: course/lesson-11-time-delta/lesson.tres:183 +msgid "Why the time between frames matters" +msgstr "Por quê o tempo entre os frames é importante" + +#: course/lesson-11-time-delta/lesson.tres:185 +msgid "" +"The time it takes to display a new frame varies.\n" +"\n" +"If you don't take that time into account in your code, your game will " +"have gameplay issues and bugs. Godot provides that time to the " +"[code]_process()[/code] function through the [code]delta[/code] " +"parameter.\n" +"\n" +"In the example below, the top robot moves using [code]delta[/code]. As a " +"result, it moves at a fixed speed.\n" +"\n" +"The bottom robot moves over a constant distance every frame, " +"[i]without[/i] taking [code]delta[/code] into account. It will move " +"faster or slower than the top robot on [i]your[/i] computer.\n" +"\n" +"The bottom robot will move [i]differently for everyone[/i]!" +msgstr "" +"O tempo que leva para exibir um novo frame varia.\n" +"\n" +"Se não levar esse tempo em consideração no seu código, o seu jogo terá " +"problemas de jogabilidade e bugs. A Godot fornece esse tempo para a função " +"[code]_process()[/code] através do parâmetro [code]delta[/code].\n" +"\n" +"No exemplo abaixo, o robô da parte superior se move usando [code]delta[/code]" +". Como resultado, ele se move a uma velocidade fixa.\n" +"\n" +"O robô da parte inferior se move a uma distância constante a cada frame, " +"[i]sem[/i] levar em consideração [code]delta[/code]. Ele se moverá mais " +"rápido ou mais devagar que o robô da parte superior no [i]seu[/i] computador." +"\n" +"\n" +"O robô da parte inferior se vai mover [i]diferente para todo mundo[/i]!" + +#: course/lesson-11-time-delta/lesson.tres:213 +msgid "" +"Multiplying time-sensitive values by [code]delta[/code] makes them [b" +"]time-dependent[/b] rather than [b]frame-dependent[/b].\n" +"\n" +"Thanks to that, we get reliable movement over time.\n" +"\n" +"Without [code]delta[/code], frame times vary from computer to computer " +"and during gameplay. Because of that, the movement will differ for every " +"player, making the game inconsistent and messy." +msgstr "" +"A multiplicação de valores sensíveis ao tempo por [code]delta[/code] os " +"torna [b]dependentes do tempo[/b] ao invés de [b]dependentes do frame[/b].\n" +"\n" +"Graças a isso, obtemos um movimento estável ao longo do tempo.\n" +"\n" +"Sem o [code]delta[/code], os tempos de frame variam de computador para " +"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:225 +msgid "What does this mean?" +msgstr "O que isso significa?" + +#: course/lesson-11-time-delta/lesson.tres:226 +msgid "[code]rotation_speed * delta[/code]" +msgstr "[code]rotation_speed * delta[/code]" + +#: course/lesson-11-time-delta/lesson.tres:228 +msgid "" +"The [code]*[/code] symbol means we're multiplying " +"[code]rotation_speed[/code] by [code]delta[/code] time." +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:229 +#: course/lesson-11-time-delta/lesson.tres:230 +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:229 +msgid "We're dividing delta by rotation_speed." +msgstr "Estamos dividindo delta pela variável rotation_speed." + +#: course/lesson-11-time-delta/lesson.tres:229 +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:229 +msgid "We're subtracting delta from rotation_speed." +msgstr "Estamos subtraindo delta da variável rotation_speed." + +#: course/lesson-11-time-delta/lesson.tres:239 +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:247 +msgid "Rotating Using Delta" +msgstr "Rotacionando Usando Delta" + +#: course/lesson-11-time-delta/lesson.tres:248 +msgid "" +"At the moment, the rotation of the robot is frame-dependent.\n" +"\n" +"Add [code]delta[/code] to make the rotational speed time-dependent.\n" +"\n" +"The robot should rotate [code]2[/code] radians per second." +msgstr "" +"No momento, a rotação do robô depende do frame.\n" +"\n" +"Adicione [code]delta[/code] para tornar a velocidade de rotação dependente " +"do tempo.\n" +"\n" +"O robô deve rotacionar [code]2[/code] radianos por segundo." + +#: course/lesson-11-time-delta/lesson.tres:267 +msgid "Moving in a Circle Using Delta" +msgstr "Mover num Círculo Usando Delta" + +#: course/lesson-11-time-delta/lesson.tres:268 +msgid "" +"In this practice, make the robot move in a smooth circle using delta.\n" +"\n" +"To get this movement, the robot should rotate [code]2[/code] radians per " +"second and move [code]100[/code] pixels per second towards clockwise.\n" +"\n" +"[b]Note:[/b] Please write the values in the parentheses when calling the " +"functions. If you define extra variables, we will not be able to check " +"your practice." +msgstr "" +"Neste exercício, faça o robô se mover num círculo suave usando delta.\n" +"\n" +"Para obter esse movimento, o robô deve girar [code]2[/code] radianos por " +"segundo e mover [code]100[/code] pixels por segundo no sentido horário.\n" +"\n" +"[b]Nota:[/b] Por favor, escreva os valores entre parênteses ao chamar as " +"funções. Se definir variáveis adicionais, não poderemos corrigir o seu " +"exercício." + +#: course/lesson-11-time-delta/lesson.tres:286 +msgid "Time Delta" +msgstr "Delta de Tempo" diff --git a/i18n/pt/lesson-12-using-variables.po b/i18n/pt/lesson-12-using-variables.po new file mode 100644 index 00000000..6e17dcea --- /dev/null +++ b/i18n/pt/lesson-12-using-variables.po @@ -0,0 +1,297 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-23 18:50+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-12-using-variables/lesson.tres:14 +msgid "" +"In this lesson, we'll make our code easier to follow and understand at a " +"glance.\n" +"\n" +"Take a look at this example." +msgstr "" +"Nessa lição, vamos tornar nosso código mais fácil de seguir e entender " +"rapidamente.\n" +"\n" +"Observe esse exemplo." + +#: course/lesson-12-using-variables/lesson.tres:34 +msgid "In the above example, what does the number 4 mean?" +msgstr "No exemplo acima, o que significa o número 4?" + +#: course/lesson-12-using-variables/lesson.tres:37 +msgid "The code above rotates the character [code]4[/code] radians per second." +msgstr "" +"O código acima rotaciona a personagem [code]4[/code] radianos por segundo." + +#: course/lesson-12-using-variables/lesson.tres:38 +#: course/lesson-12-using-variables/lesson.tres:39 +msgid "It's how fast the character rotates." +msgstr "É o quão rápido a personagem rotaciona." + +#: course/lesson-12-using-variables/lesson.tres:38 +msgid "It's how far the character moves in pixels." +msgstr "É o quão longe a personagem se move em pixels." + +#: course/lesson-12-using-variables/lesson.tres:38 +msgid "It's how long the rotation takes." +msgstr "É a quantidade de tempo que leva a rotação." + +#: course/lesson-12-using-variables/lesson.tres:48 +msgid "" +"We can guess what a number represents by looking at the function names, " +"but it's harder to recall what this number does by quickly looking at the" +" code.\n" +"\n" +"We've seen how different functions have their own names. Using these " +"names communicates to developers what the functions do." +msgstr "" +"Podemos adivinhar o que um número representa observando os nomes das " +"funções, mas é mais difícil de se lembrar o que esse número faz só olhando " +"rapidamente ao código.\n" +"\n" +"Vimos como diferentes funções têm nomes próprios. O uso desses nomes diz aos " +"programadores o que as funções fazem." + +#: course/lesson-12-using-variables/lesson.tres:70 +msgid "" +"As we learned in lesson 8, we can also assign labels to numbers to help " +"us remember what they do.\n" +"\n" +"We call these labels [i]variables[/i].\n" +"\n" +"[b]A variable is a label for a value we can save, change, and read " +"later.[/b]\n" +"\n" +"Let's recap how to define a variable." +msgstr "" +"Como aprendemos na lição 8, também podemos atribuir rótulos (nomes) aos " +"números para nos ajudar a se lembrar o que eles fazem.\n" +"\n" +"Chamamos esses nomes de [i]variáveis[/i].\n" +"\n" +"[b]Uma variável é um nome que damos a um valor que podemos salvar, alterar e " +"ler mais tarde.[/b]\n" +"\n" +"Vamos revisar como definir uma variável." + +#: course/lesson-12-using-variables/lesson.tres:96 +msgid "" +"We improve the first example to make it clear what the number " +"[code]4[/code] does." +msgstr "" +"Melhoramos o primeiro exemplo para deixar claro o que o número [code]4[/code]" +" faz." + +#: course/lesson-12-using-variables/lesson.tres:116 +msgid "" +"Labeling a value makes the code easier for us to read now [i]and[/i] in " +"the future." +msgstr "Nomear um valor facilita a leitura do código agora [i]e[/i] no futuro." + +#: course/lesson-12-using-variables/lesson.tres:124 +msgid "In the above example, which line defines the angular speed variable?" +msgstr "No exemplo acima, qual linha define a variável de velocidade angular?" + +#: course/lesson-12-using-variables/lesson.tres:127 +msgid "" +"We create the [code]angular_speed[/code] variable, then assign it the " +"value of [code]4[/code]." +msgstr "" +"Criamos a variável [code]angular_speed[/code] e atribuímos-la o valor " +"[code]4[/code]." + +#: course/lesson-12-using-variables/lesson.tres:128 +#: course/lesson-12-using-variables/lesson.tres:129 +msgid "var angular_speed = 4" +msgstr "var angular_speed = 4" + +#: course/lesson-12-using-variables/lesson.tres:128 +msgid "func _process(delta):" +msgstr "func _process(delta):" + +#: course/lesson-12-using-variables/lesson.tres:128 +msgid "rotate(angular_speed * delta)" +msgstr "rotate(angular_speed * delta)" + +#: course/lesson-12-using-variables/lesson.tres:138 +msgid "" +"If we define variables outside of functions, we can re-use them in " +"different functions.\n" +"\n" +"Because any function can use variables we define outside of them, we call" +" these variables [b]script-wide[/b].\n" +"\n" +"Here we use the [code]angular_speed[/code] script-wide variable in both " +"the [code]_process()[/code] function and the " +"[code]set_angular_speed()[/code] function." +msgstr "" +"Se definirmos variáveis fora das funções, podemos reutilizá-las em funções " +"diferentes.\n" +"\n" +"Como qualquer função pode usar variáveis que definimos fora delas, chamamos " +"essas variáveis de [b]script-wide[/b] (ou variáveis de script, ou seja, são " +"variáveis que fazem parte de todo o script, não apenas de um só bloco de " +"código).\n" +"\n" +"Aqui usamos a variável de script [code]angular_speed[/code] na função " +"[code]_process()[/code] e na função [code]set_angular_speed()[/code]." + +#: course/lesson-12-using-variables/lesson.tres:162 +msgid "" +"We can also define variables inside of functions.\n" +"\n" +"We align the variable assignment by indenting to make it part of the " +"function body. Make sure to create the variable before using it!\n" +"\n" +"If we define a variable inside of a function, only that function can use " +"it." +msgstr "" +"Também podemos definir variáveis dentro de funções.\n" +"\n" +"Alinhamos a atribuição de variável recuando ela (fazendo uma indentação) " +"para torná-la parte do corpo da função. Certifique-se de criar a variável " +"antes de usá-la!\n" +"\n" +"Se definirmos uma variável dentro de uma função, somente essa função vai " +"poder usar ela." + +#: course/lesson-12-using-variables/lesson.tres:186 +msgid "" +"The [code]angular_speed[/code] variable only exists inside " +"[code]_process()[/code], because we defined it there. The " +"[code]set_angular_speed()[/code] function can't use it.\n" +"\n" +"Trying to use it there will result in an error.\n" +"\n" +"Here's what this error might look like." +msgstr "" +"A variável [code]angular_speed[/code] só existe dentro da função " +"[code]_process()[/code], porque a definimos lá. A função " +"[code]set_angular_speed()[/code] não pode usá-la.\n" +"\n" +"Tentar usar ela vai resultar num erro.\n" +"\n" +"Veja aqui como pode ser esse erro." + +#: course/lesson-12-using-variables/lesson.tres:208 +msgid "Where can we define variables?" +msgstr "Onde podemos definir variáveis?" + +#: course/lesson-12-using-variables/lesson.tres:211 +msgid "" +"Functions can use any variables defined outside of functions. These " +"variables are [b]script-wide[/b].\n" +"\n" +"If we define a variable inside of a function, only that function can use " +"it." +msgstr "" +"As funções podem usar quaisquer variáveis definidas fora das funções. Essas " +"variáveis são [b]script-wide[/b] (variáveis de script).\n" +"\n" +"Se definirmos uma variável dentro de uma função, somente essa função poderá " +"usá-la." + +#: course/lesson-12-using-variables/lesson.tres:214 +#: course/lesson-12-using-variables/lesson.tres:215 +msgid "Outside of functions." +msgstr "Fora das funções." + +#: course/lesson-12-using-variables/lesson.tres:214 +#: course/lesson-12-using-variables/lesson.tres:215 +msgid "Inside of functions." +msgstr "Dentro das funções." + +#: course/lesson-12-using-variables/lesson.tres:224 +msgid "" +"Variables are also great at grouping values that control how a character " +"behaves.\n" +"\n" +"Grouping them in this way allows us to easily change them." +msgstr "" +"As variáveis também são ótimas para agrupar valores que controlam como uma " +"personagem se comporta.\n" +"\n" +"Agrupá-las dessa maneira permite-nos alterá-las facilmente." + +#: course/lesson-12-using-variables/lesson.tres:246 +msgid "" +"In the following practices, we'll define variables and use them with some" +" familiar functions to make our code more readable." +msgstr "" +"Nas práticas a seguir, vamos definir variáveis e as usaremos com algumas " +"funções familiares para tornar nosso código mais legível." + +#: course/lesson-12-using-variables/lesson.tres:254 +msgid "Clarifying Code Using Variables" +msgstr "Esclarecendo o Código Usando Variáveis" + +#: course/lesson-12-using-variables/lesson.tres:255 +msgid "" +"Let's give the [code]4[/code] here a label so we know what it does.\n" +"\n" +"Create a variable called [code]angular_speed[/code] outside of the " +"[code]_process()[/code] function to make it script-wide. This allows us " +"to use it in other functions too.\n" +"\n" +"Then, replace the [code]4[/code] with [code]angular_speed[/code]." +msgstr "" +"Vamos dar um nome ao valor [code]4[/code] aqui para sabermos o que ele faz.\n" +"\n" +"Crie uma variável chamada [code]angular_speed[/code] fora da função " +"[code]_process()[/code] para torná-la uma variável de script. Isso nos " +"permite usá-la em outras funções também.\n" +"\n" +"Em seguida, substitua o [code]4[/code] por [code]angular_speed[/code]." + +#: course/lesson-12-using-variables/lesson.tres:269 +msgid "" +"Using variables to store number values makes code easier to read. Tidy up" +" this function by storing a value in a variable." +msgstr "" +"O uso de variáveis para armazenar valores numéricos facilita a leitura do " +"código. Arrume essa função armazenando um valor numa variável." + +#: course/lesson-12-using-variables/lesson.tres:274 +msgid "Fixing an Out of Scope Error" +msgstr "Corrigindo um Erro Chamado Fora do Escopo (Out of Scope Error)" + +#: course/lesson-12-using-variables/lesson.tres:275 +msgid "" +"There's something wrong with the code here. Can you see what it is?\n" +"\n" +"Run the code and read the error.\n" +"\n" +"Correct the code so it works as intended." +msgstr "" +"Tem alguma coisa de errado com o código aqui. Pode ver o que é?\n" +"\n" +"Execute o código e leia o erro.\n" +"\n" +"Corrija o código para que funcione como pretendido." + +#: course/lesson-12-using-variables/lesson.tres:293 +msgid "Uh oh! There's something wrong here. Can you fix it?" +msgstr "Uh oh! Há algo de errado aqui. Pode consertar isso?" + +#: course/lesson-12-using-variables/lesson.tres:297 +msgid "Using Variables to Make Code Easier to Read" +msgstr "Usando Variáveis para Fazer o Código Mais Fácil de se Ler" diff --git a/i18n/pt/lesson-13-conditions.po b/i18n/pt/lesson-13-conditions.po new file mode 100644 index 00000000..9f14d31d --- /dev/null +++ b/i18n/pt/lesson-13-conditions.po @@ -0,0 +1,408 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-02 07:49+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-13-conditions/lesson.tres:14 +msgid "" +"In previous lessons, we decreased and increased a character's health, but" +" there was no limit to how much health they could have." +msgstr "" +"Nas lições anteriores, diminuímos e aumentamos a vida de uma personagem, mas " +"não tinha um limite para quanta vida ele poderia ter." + +#: course/lesson-13-conditions/lesson.tres:34 +msgid "" +"As a result, the player could increase their character's health " +"indefinitely, which we do not want." +msgstr "" +"Como resultado, o jogador pode aumentar a vida da personagem dele sem nenhum " +"limite e não queremos que isso aconteça." + +#: course/lesson-13-conditions/lesson.tres:52 +msgid "What happens to health when we damage our character?" +msgstr "O que acontece com a vida quando nosso personagem leva dano?" + +#: course/lesson-13-conditions/lesson.tres:53 +msgid "" +"Suppose our character has [code]100[/code] health.\n" +"\n" +"What would the value of health be if we called " +"[code]take_damage(25)[/code] [b]five times[/b]?" +msgstr "" +"Vamos supor que nosso personagem tenha [code]100[/code] de vida.\n" +"\n" +"Qual seria o valor da vida se chamássemos a função " +"[code]take_damage(25)[/code] [b]cinco vezes[/b]?" + +#: course/lesson-13-conditions/lesson.tres:57 +msgid "" +"Calling [code]take_damage(25)[/code] five times would subtract a total of" +" [code]125[/code] from [code]100[/code].\n" +"\n" +"100\n" +"75\n" +"50\n" +"25\n" +"0\n" +"-25" +msgstr "" +"Chamar a função [code]take_damage(25)[/code] cinco vezes subtrairia um total " +"de [code]125[/code] de [code]100[/code].\n" +"\n" +"100\n" +"75\n" +"50\n" +"25\n" +"0\n" +"-25" + +#: course/lesson-13-conditions/lesson.tres:65 +#: course/lesson-13-conditions/lesson.tres:66 +msgid "-25" +msgstr "-25" + +#: course/lesson-13-conditions/lesson.tres:65 +msgid "25" +msgstr "25" + +#: course/lesson-13-conditions/lesson.tres:65 +msgid "0" +msgstr "0" + +#: course/lesson-13-conditions/lesson.tres:75 +msgid "" +"We can use conditions to run actions [b]selectively[/b].\n" +"\n" +"Conditions make your code branch into two paths: if the condition is met," +" the computer will run the corresponding instructions. Otherwise, those " +"instructions will not run at all." +msgstr "" +"Podemos usar condições para executar ações [b]seletivamente[/b], ou seja, " +"podemos escolher executar uma ação ou outra dependendo da condição.\n" +"\n" +"As condições fazem com que o seu código se ramifique (ou seja, se divide) em " +"dois caminhos: se a condição for atendida, o computador vai executar as " +"instruções correspondentes. Caso contrário, essas instruções não serão " +"executadas." + +#: course/lesson-13-conditions/lesson.tres:87 +msgid "" +"Video games and other computer programs are full of conditions. For " +"example, game input largely relies on conditions: [i]if[/i] the player " +"presses the button on a gamepad, the character jumps." +msgstr "" +"Jogos e outros programas de computador estão cheios de condições. Por " +"exemplo, os inputs do jogo (a leitura dos botões de controles ou teclados) " +"dependem em grande parte das condições: [i]se[/i] o jogador pressionar o " +"botão num gamepad, o personagem pula." + +#: course/lesson-13-conditions/lesson.tres:107 +msgid "" +"When the computer checks a condition, this is called [b]to evaluate[/b] a" +" condition. All conditions [b]evaluate[/b] to either [code]true[/code] or" +" [code]false[/code].\n" +"\n" +"Either the player is pressing the button, or not. Either the character is" +" touching an enemy, or not. \n" +"\n" +"In our case, [i]if[/i] the health goes over a maximum value, we want to " +"reset it to the maximum.\n" +"\n" +"To define a condition, we use the [code]if[/code] keyword. We write a " +"line starting with [code]if[/code], type the condition to evaluate, and " +"end the line with a colon." +msgstr "" +"O computador verificar uma condição chama-se [b]avaliar[/b] uma condição. " +"Todas as condições [b]são avaliadas[/b] como [code]true[/code] (verdadeiro) " +"ou [code]false[/code] (falso).\n" +"\n" +"Ou o jogador pressiona o botão, ou não. Ou a personagem toca num inimigo, ou " +"não.\n" +"\n" +"No nosso caso, [i]se[/i] a vida ultrapassar um valor máximo, queremos " +"redefini-la ao máximo (e não deixar ultrapassar esse máximo).\n" +"\n" +"Para definir uma condição, usamos a palavra-chave [code]if[/code]. " +"Escrevemos uma linha começando com [code]if[/code], digitamos a condição a " +"ser avaliada e terminamos a linha com o sinal de dois pontos." + +#: course/lesson-13-conditions/lesson.tres:133 +msgid "" +"Notice the [code]>[/code] comparison sign. We read this symbol as " +"\"greater than\". \n" +"\n" +"We've seen how function definitions use a colon at the end of the first " +"line and nest content inside.\n" +"\n" +"In GDScript, this syntax is a recurring pattern for all code blocks.\n" +"\n" +"The computer knows which instructions belong to the condition because " +"they are indented." +msgstr "" +"Observe o sinal de comparação [code]>[/code]. Lemos esse símbolo como \"maior" +" que\".\n" +"\n" +"Vimos como as definições de função usam o sinal de dois pontos no final da " +"primeira linha e aninham o conteúdo dentro dela.\n" +"\n" +"No GDScript, essa sintaxe é um padrão recorrente para todos os blocos de " +"código.\n" +"\n" +"O computador sabe quais instruções pertencem à condição porque elas possuem " +"indentação." + +#: course/lesson-13-conditions/lesson.tres:157 +msgid "Comparisons" +msgstr "Comparações" + +#: course/lesson-13-conditions/lesson.tres:159 +msgid "" +"In the above example, we used the [code]>[/code] syntax to mean \"greater" +" than\".\n" +"\n" +"We can compare numbers in other ways too.\n" +"\n" +"[code]>[/code] means \"greater than\"\n" +"[code]<[/code] means \"less than\"\n" +"[code]==[/code] means \"equal to\"\n" +"[code]!=[/code] means \"not equal to\"\n" +"\n" +"Here's how we might use these in [code]if[/code] statements.\n" +msgstr "" +"No exemplo acima, usamos a sintaxe [code]>[/code] para significar \"maior " +"que\".\n" +"\n" +"Podemos comparar números de outras maneiras também.\n" +"\n" +"[code]>[/code] significa \"maior que\"\n" +"[code]<[/code] significa \"menor que\"\n" +"[code]==[/code] significa \"igual a\"\n" +"[code]!=[/code] significa \"não igual a\" (ou diferente de)\n" +"\n" +"Vamos ver como podemos usar esses símbolos em condições [code]if[/code].\n" + +#: course/lesson-13-conditions/lesson.tres:187 +msgid "Which of these statements are true?" +msgstr "Quais dessas afirmações são verdadeiras?" + +#: course/lesson-13-conditions/lesson.tres:190 +msgid "" +"The comparison [code]3 > 1[/code] means \"three is greater than one\" " +"which is [b]true[/b].\n" +"The comparison [code]2 < 3[/code] means \"two is less than three\" which " +"is [b]true[/b].\n" +"The comparison [code]1 != 3[/code] means \"one is not equal to three\" " +"which is [b]true[/b].\n" +"\n" +"The comparison [code]2 == 1[/code] means \"two is equal to one\" which is" +" [b]false[/b].\n" +"The comparison [code]3 < 1[/code] means \"three is less than one\" which " +"is [b]false[/b]." +msgstr "" +"A comparação [code]3 > 1[/code] significa \"três é maior que um\", que é " +"[b]true[/b].\n" +"A comparação [code]2 < 3[/code] significa \"dois é menor que três\", que é " +"[b]true[/b].\n" +"A comparação [code]1 != 3[/code] significa \"um não é igual a três\", que é " +"[b]true[/b].\n" +"\n" +"A comparação [code]2 == 1[/code] significa \"dois é igual a um\", que é " +"[b]false[/b].\n" +"A comparação [code]3 < 1[/code] significa \"três é menor que um\", que é " +"[b]false[/b]." + +#: course/lesson-13-conditions/lesson.tres:196 +#: course/lesson-13-conditions/lesson.tres:197 +msgid "3 > 1" +msgstr "3 > 1" + +#: course/lesson-13-conditions/lesson.tres:196 +msgid "2 == 1" +msgstr "2 == 1" + +#: course/lesson-13-conditions/lesson.tres:196 +#: course/lesson-13-conditions/lesson.tres:197 +msgid "2 < 3" +msgstr "2 < 3" + +#: course/lesson-13-conditions/lesson.tres:196 +#: course/lesson-13-conditions/lesson.tres:197 +msgid "1 != 3" +msgstr "1 != 3" + +#: course/lesson-13-conditions/lesson.tres:196 +msgid "3 < 1" +msgstr "3 < 1" + +#: course/lesson-13-conditions/lesson.tres:204 +msgid "Or else..." +msgstr "Ou outra coisa..." + +#: course/lesson-13-conditions/lesson.tres:206 +msgid "" +"The [code]if[/code] keyword comes with a complementary [code]else[/code] " +"keyword.\n" +"\n" +"You can write an [code]else[/code] block after an [code]if[/code] block, " +"like so." +msgstr "" +"A palavra-chave [code]if[/code] vem com uma palavra-chave complementar " +"[code]else[/code].\n" +"\n" +"Pode escrever um bloco [code]else[/code] depois de um bloco [code]if[/code], " +"assim." + +#: course/lesson-13-conditions/lesson.tres:228 +msgid "" +"The [code]else[/code] block will run whenever the condition above it " +"isn't met." +msgstr "" +"O bloco [code]else[/code] será executado sempre que a condição acima não for " +"atendida." + +#: course/lesson-13-conditions/lesson.tres:238 +msgid "" +"In the following practices, we'll use conditions and improve the way our " +"character's health changes so it has limits." +msgstr "" +"Nas práticas a seguir, usaremos condições e vamos melhorar a maneira como a " +"vida da nossa personagem muda para que tenha limites." + +#: course/lesson-13-conditions/lesson.tres:246 +msgid "Using Comparisons" +msgstr "Usando comparações" + +#: course/lesson-13-conditions/lesson.tres:247 +msgid "" +"This series of [code]if[/code] statements is all wrong. Change the " +"comparisons so each comparison matches the instruction below it.\n" +"\n" +"Keep the values and statements as they are; only change the comparison " +"signs.\n" +"\n" +"As a reminder, the comparison signs are:\n" +"[code]\n" +"> greater than\n" +"< less than\n" +"== equal to\n" +"!= not equal to\n" +"[/code]\n" +"\n" +"The line [code]health < 5:[/code] means \"health is less than 5\". \n" +"\n" +"Because [code]health = 100[/code], this is false so [code]print(\"health " +"is greater than five.\")[/code] won't run." +msgstr "" +"Essa série de instruções [code]if[/code] está totalmente errada. Altere as " +"comparações para que cada comparação corresponda à instrução abaixo dela.\n" +"\n" +"Mantenha os valores e declarações como estão; altere apenas os sinais de " +"comparação.\n" +"\n" +"Como lembrete, os sinais de comparação são:\n" +"[code]\n" +"> maior que\n" +"< menor que\n" +"== igual a\n" +"!= diferente de\n" +"[/code]\n" +"\n" +"A linha [code]health < 5:[/code] significa \"vida é menor do que 5\".\n" +"\n" +"Como [code]health = 100[/code], isso é falso, então [code]print(\"vida é " +"maior que cinco.\")[/code] não será executado." + +#: course/lesson-13-conditions/lesson.tres:283 +msgid "" +"Comparing values allows us to make decisions in code. But there's " +"something wrong with these statements.." +msgstr "" +"Comparar valores nos permite tomar decisões no código. Mas há algo de errado " +"com essas declarações .." + +#: course/lesson-13-conditions/lesson.tres:288 +msgid "Limiting Healing" +msgstr "Limitando a Cura" + +#: course/lesson-13-conditions/lesson.tres:289 +msgid "" +"We have a heal function that adds an amount to the character's health.\n" +"\n" +"Add to the function so the character's health is never greater than " +"[code]80[/code]." +msgstr "" +"Temos uma função de cura que adiciona uma certa quantidade na vida do " +"personagem.\n" +"\n" +"Adicione algo na função para que a vida da personagem nunca seja maior que " +"[code]80[/code]." + +#: course/lesson-13-conditions/lesson.tres:301 +msgid "" +"As much as we might like, we don't want our robot to have too much " +"health. Limit how much healing the robot can take." +msgstr "" +"Por mais que queremos isso, não queremos que nosso robô tenha muita vida. " +"Limite a quantidade de cura que o robô pode ter." + +#: course/lesson-13-conditions/lesson.tres:306 +msgid "Preventing Health from Going Below Zero" +msgstr "Evitando que a Vida Fique Abaixo de Zero" + +#: course/lesson-13-conditions/lesson.tres:307 +msgid "" +"When the robot takes damage, its health can be negative.\n" +"\n" +"We might want to display the health number on screen, like in Japanese " +"RPGs.\n" +"\n" +"We don't want negative numbers. We want to stop at zero instead.\n" +"\n" +"Calling the function should reduce [code]health[/code] by " +"[code]amount[/code].\n" +"\n" +"If [code]health[/code] goes below [code]0[/code], set it to " +"[code]0[/code] again." +msgstr "" +"Quando o robô sofre dano, a saúde dele pode ficar negativa.\n" +"\n" +"Podemos querer exibir o número de saúde no ecrã, como nos RPGs japoneses.\n" +"\n" +"Não queremos números negativos. Queremos parar em zero em vez disso.\n" +"\n" +"Chamar a função deve reduzir [code]health[/code] pelo valor de " +"[code]amount[/code].\n" +"\n" +"Se [code]health[/code] ficar abaixo de [code]0[/code], defina-a para " +"[code]0[/code] novamente." + +#: course/lesson-13-conditions/lesson.tres:325 +msgid "" +"Having a negative health value doesn't make a lot of sense. Make sure the" +" robot's health can't go below zero." +msgstr "" +"Ter um valor negativo de vida não faz muito sentido. Certifique-se de que a " +"vida do robô não fique abaixo de zero." + +#: course/lesson-13-conditions/lesson.tres:329 +msgid "Conditions" +msgstr "Condições" diff --git a/i18n/pt/lesson-14-multiplying.po b/i18n/pt/lesson-14-multiplying.po new file mode 100644 index 00000000..1ad903cc --- /dev/null +++ b/i18n/pt/lesson-14-multiplying.po @@ -0,0 +1,322 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-02 07:49+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-14-multiplying/lesson.tres:14 +msgid "" +"Our robot's health is always between [code]0[/code] and [code]100[/code]." +"\n" +"\n" +"But as our robot fights, we want to increase its strength and toughness.\n" +"\n" +"When a character levels up, it might deal more damage to enemies, gain " +"new abilities or, in our case, gain more health." +msgstr "" +"A vida do nosso robô está sempre entre [code]0[/code] e [code]100[/code].\n" +"\n" +"Mas enquanto nosso robô luta, queremos aumentar a força e resistência dele.\n" +"\n" +"Quando uma personagem sobe de nível, pode causar mais dano aos inimigos, " +"ganhar novas habilidades ou, no nosso caso, ganhar mais vida." + +#: course/lesson-14-multiplying/lesson.tres:28 +msgid "" +"We define a [code]level[/code] variable to keep track of the level of the" +" robot. It starts at level one.\n" +"\n" +"When the robot has defeated enough enemies, we call the " +"[code]level_up()[/code] function to increment the robot's level." +msgstr "" +"Definimos uma variável chamada [code]level[/code] para acompanhar o nível do " +"robô. Ele começa no nível um.\n" +"\n" +"Quando o robô derrotar inimigos suficientes, vamos chamar a função " +"[code]level_up()[/code] para aumentar o nível dele." + +#: course/lesson-14-multiplying/lesson.tres:50 +msgid "" +"As we briefly saw in the last lesson, our robot could have a range of " +"variables that could increase when it levels up." +msgstr "" +"Como vimos brevemente na última lição, nosso robô pode ter uma série de " +"variáveis que podem aumentar quando ele sobe de nível." + +#: course/lesson-14-multiplying/lesson.tres:70 +msgid "" +"In this lesson, we'll just focus on increasing the robot's " +"[code]max_health[/code].\n" +"\n" +"The variable [code]max_health[/code] is the maximum amount the robot's " +"[code]health[/code] can be. We change our [code]take_damage()[/code] " +"function to use this variable." +msgstr "" +"Nessa lição, vamos nos concentrar apenas em aumentar a vida máxima do robô " +"com a variável [code]max_health[/code].\n" +"\n" +"A variável [code]max_health[/code] é a quantidade máxima que a vida do robô (" +"representado pela variável [code]health[/code]) pode ter. Alteramos nossa " +"função [code]take_damage()[/code] para usar essa variável." + +#: course/lesson-14-multiplying/lesson.tres:92 +msgid "" +"We could add [code]5[/code] to the [code]max_health[/code] every time the" +" robot levels up." +msgstr "" +"Poderíamos adicionar [code]5[/code] na variável [code]max_health[/code] " +"sempre que o robô subir de nível." + +#: course/lesson-14-multiplying/lesson.tres:112 +msgid "" +"This would increase [code]max_health[/code] the same amount every time.\n" +"\n" +"If we graphed [code]max_health[/code], it'd look something like this." +msgstr "" +"Isso aumentaria o [code]max_health[/code] na mesma quantidade todas as vezes." +"\n" +"\n" +"Se grafássemos [code]max_health[/code], seria algo assim." + +#: course/lesson-14-multiplying/lesson.tres:134 +msgid "" +"This growth is [b]linear[/b].\n" +"\n" +"In our case, we want a feeling of more and more power as the robot levels" +" up.\n" +"\n" +"We want a graph like this." +msgstr "" +"Esse crescimento é [b]linear[/b].\n" +"\n" +"No nosso caso, queremos uma sensação de poder cada vez maior à medida que o " +"robô sobe de nível.\n" +"\n" +"Queremos um gráfico como esse." + +#: course/lesson-14-multiplying/lesson.tres:158 +msgid "" +"This growth is [b]exponential[/b].\n" +"\n" +"With each level, more [code]max_health[/code] is added than the previous " +"level up.\n" +"\n" +"To get the exponential growth, we multiply the [code]max_health[/code] by" +" an amount greater than [code]1[/code] each time the robot levels up.\n" +"\n" +"To multiply values together, we use [code]*[/code]." +msgstr "" +"Esse crescimento é [b]exponencial[/b].\n" +"\n" +"A cada nível, mais [code]max_health[/code] é adicionado comparado com o " +"nível anterior.\n" +"\n" +"Para obter o crescimento exponencial, multiplicamos o [code]max_health[/code]" +" por um valor maior que [code]1[/code] cada vez que o robô sobe de nível.\n" +"\n" +"Para multiplicar valores juntos, usamos o símbolo [code]*[/code]." + +#: course/lesson-14-multiplying/lesson.tres:172 +msgid "What is the value of damage?" +msgstr "Qual o valor do dano?" + +#: course/lesson-14-multiplying/lesson.tres:173 +msgid "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"[/code]" +msgstr "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"[/code]" + +#: course/lesson-14-multiplying/lesson.tres:181 +msgid "" +"We multiply [code]power[/code] by [code]level[/code] using [code]*[/code]" +" to get the result of [code]15[/code]." +msgstr "" +"Multiplicamos [code]power[/code] por [code]level[/code] usando [code]*[/code]" +" para obter o resultado de [code]15[/code]." + +#: course/lesson-14-multiplying/lesson.tres:182 +#: course/lesson-14-multiplying/lesson.tres:183 +msgid "15" +msgstr "15" + +#: course/lesson-14-multiplying/lesson.tres:182 +msgid "9" +msgstr "9" + +#: course/lesson-14-multiplying/lesson.tres:182 +msgid "10" +msgstr "10" + +#: course/lesson-14-multiplying/lesson.tres:192 +msgid "" +"We can use [code]*=[/code] in the same way as [code]-=[/code] and " +"[code]+=[/code]." +msgstr "" +"Podemos usar [code]*=[/code] da mesma forma que [code]-=[/code] e " +"[code]+=[/code]." + +#: course/lesson-14-multiplying/lesson.tres:200 +msgid "What is the value of damage now?" +msgstr "Qual é o valor do dano agora?" + +#: course/lesson-14-multiplying/lesson.tres:201 +msgid "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"\tdamage *= 2\n" +"[/code]" +msgstr "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"\tdamage *= 2\n" +"[/code]" + +#: course/lesson-14-multiplying/lesson.tres:210 +msgid "" +"The value of [code]damage[/code] starts as [code]15[/code].\n" +"\n" +"Then, [code]damage *= 2[/code] multiplies it by [code]2[/code] to get " +"[code]30[/code]." +msgstr "" +"O valor de [code]damage[/code] começa com [code]15[/code].\n" +"\n" +"Então, o resultado de [code]damage *= 2[/code] é multiplicado por " +"[code]2[/code] para obter o valor de [code]30[/code]." + +#: course/lesson-14-multiplying/lesson.tres:213 +#: course/lesson-14-multiplying/lesson.tres:214 +msgid "30" +msgstr "30" + +#: course/lesson-14-multiplying/lesson.tres:213 +msgid "13" +msgstr "13" + +#: course/lesson-14-multiplying/lesson.tres:213 +msgid "25" +msgstr "25" + +#: course/lesson-14-multiplying/lesson.tres:223 +msgid "" +"Let's level up our robot and add exponential growth to " +"[code]max_health[/code]." +msgstr "" +"Vamos aumentar o nível do nosso robô e adicionar crescimento exponencial ao " +"[code]max_health[/code]." + +#: course/lesson-14-multiplying/lesson.tres:243 +msgid "" +"In the practices, you'll increase the robot's [code]max_health[/code] and" +" add a special ability to our robot to make it extra tough at high " +"levels." +msgstr "" +"Nas práticas, vai aumentar o [code]max_health[/code] do robô e vai adicionar " +"uma habilidade especial ao nosso robô para torná-lo ainda mais resistente em " +"níveis mais altos." + +#: course/lesson-14-multiplying/lesson.tres:251 +msgid "Increasing maximum health exponentially" +msgstr "Aumentando a vida máxima exponencialmente" + +#: course/lesson-14-multiplying/lesson.tres:252 +msgid "" +"Let's make the robot stronger when it levels up.\n" +"\n" +"Add to the [code]level_up()[/code] function so it does the following:\n" +"\n" +"- Increases [code]level[/code] by one.\n" +"- Increases [code]max_health[/code] by 10%." +msgstr "" +"Vamos fazer o robô ficar mais forte quando ele subir de nível.\n" +"\n" +"Adicione na função [code]level_up()[/code] alguma coisa para que faça o " +"seguinte:\n" +"\n" +"- Aumentar o [code]level[/code] por um.\n" +"- Aumentar o [code]max_health[/code] por 10%." + +#: course/lesson-14-multiplying/lesson.tres:270 +msgid "" +"We want our robot to increase in strength as it levels up. Let's increase" +" its health exponentially!" +msgstr "" +"Queremos que nosso robô aumente em força à medida que sobe de nível. Vamos " +"aumentar a vida dele exponencialmente!" + +#: course/lesson-14-multiplying/lesson.tres:275 +msgid "Reducing damage at higher levels" +msgstr "Reduzindo o dano que a personagem recebe em níveis mais altos" + +#: course/lesson-14-multiplying/lesson.tres:276 +msgid "" +"When our robot's [code]level[/code] is [code]3[/code] or more, we want it" +" to take a lot less damage.\n" +"\n" +"Add to the [code]take_damage()[/code] function so the following happens:\n" +"\n" +"- [code]if[/code] the robot's [code]level[/code] is greater than " +"[code]2[/code], reduce the damage [code]amount[/code] by 50%\n" +"\n" +"The robot is level 3. An enemy is going to attack for 10 damage. This " +"damage should reduce to 5." +msgstr "" +"Quando o [code]nível[/code] do nosso robô for [code]3[/code] ou mais, " +"queremos que ele sofra muito menos danos.\n" +"\n" +"Adicione na função [code]take_damage()[/code] alguma coisa para que aconteça " +"o seguinte:\n" +"\n" +"- [code]se[/code] o [code]level[/code] do robô for maior que [code]2[/code], " +"reduza o [code]amount[/code] (a quantidade) de dano em 50%\n" +"\n" +"O robô é nível 3. Um inimigo vai atacar dando 10 de dano. Este dano deve ser " +"reduzido para 5." + +#: course/lesson-14-multiplying/lesson.tres:302 +msgid "" +"At higher levels, we want our robot to be super tough and take even less " +"damage!" +msgstr "" +"Em níveis mais altos, queremos que nosso robô seja super resistente e sofra " +"ainda menos dano!" + +#: course/lesson-14-multiplying/lesson.tres:306 +msgid "Multiplying" +msgstr "Multiplicando" diff --git a/i18n/pt/lesson-15-modulo.po b/i18n/pt/lesson-15-modulo.po new file mode 100644 index 00000000..5e11758c --- /dev/null +++ b/i18n/pt/lesson-15-modulo.po @@ -0,0 +1,345 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-02 07:49+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.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 "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 olhar a um semáforo como exemplo." + +#: 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, pode adicionar periodicamente um ao número e " +"usar o operador de módulo para voltar para [code]0[/code].\n" +"\n" +"Também pode usar uma condição; Nesse caso, usamos o módulo como atalho." + +#: 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 traduz a 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], 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 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 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 "Calcular um número aleatório num 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, 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 " +"num aparelho Android por exemplo e cerca de 10^18 num computador de 64 bits." +"\n" +"\n" +"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 num número " +"aleatório.\n" +"\n" +"Nas próximas práticas, 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 num 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 para 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 num jogo de tabuleiro ou videogame, obter um número aleatório é sempre " +"útil. Aqui, 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 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. 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/lesson-16-2d-vectors.po b/i18n/pt/lesson-16-2d-vectors.po new file mode 100644 index 00000000..7c69e197 --- /dev/null +++ b/i18n/pt/lesson-16-2d-vectors.po @@ -0,0 +1,301 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-16-2d-vectors/lesson.tres:14 +msgid "" +"Suppose we want to increase the size of the robot when it levels up.\n" +"\n" +"As you may recall, we do this by using the following code." +msgstr "" +"Vamos supor que queremos aumentar o tamanho do robô quando ele sobe de nível." +"\n" +"\n" +"Podemos fazê-lo através do código a seguir." + +#: course/lesson-16-2d-vectors/lesson.tres:36 +msgid "" +"As we talked about in lesson 7, the [code]scale[/code] variable has two " +"sub-variables to it: [code]x[/code] and [code]y[/code].\n" +"\n" +"This is because [code]scale[/code] is a [code]Vector2[/code], which " +"stands for two-dimensional vector. A [code]Vector2[/code] represents 2D " +"coordinates." +msgstr "" +"Como dissemos na lição 7, a variável [code]scale[/code] tem duas sub-" +"variáveis: [code]x[/code] e [code]y[/code].\n" +"\n" +"Isso ocorre porque [code]scale[/code] é um [code]Vector2[/code], que " +"significa vetor bidimensional. Um [code]Vector2[/code] representa " +"coordenadas em 2D." + +#: course/lesson-16-2d-vectors/lesson.tres:46 +msgid "What are vectors?" +msgstr "O que são vetores?" + +#: course/lesson-16-2d-vectors/lesson.tres:48 +msgid "" +"A vector, in physics, is a quantity with a magnitude and a direction. For" +" example, a force applied to some object, the velocity (speed and " +"direction) of a character, and so on.\n" +"\n" +"We often represent this quantity with an arrow.\n" +"\n" +"In Godot, 2D vectors are a common value type named [code]Vector2[/code],\n" +"\n" +"Unlike plain numbers, they store [i]two[/i] decimal numbers: one for the " +"X coordinate and one for the Y coordinate." +msgstr "" +"Um vetor, em física, é uma quantidade com uma magnitude (tamanho) e uma " +"direção. Por exemplo, um vetor pode representar uma força aplicada a algum " +"objeto, a velocidade (quantidade de deslocamento do objeto e a direção) de " +"um personagem e assim por diante.\n" +"\n" +"Muitas vezes representamos essa quantidade com uma seta.\n" +"\n" +"Na Godot, vetores 2D são um tipo de valor comum chamado [code]Vector2[/code]," +"\n" +"\n" +"Ao contrário de números simples, os vetores armazenam [i]dois[/i] números " +"decimais: um para a coordenada X e outro para a coordenada Y." + +#: course/lesson-16-2d-vectors/lesson.tres:72 +msgid "" +"So far, you've come across two variables in the course which are vectors." +" Which are they?" +msgstr "" +"Até agora, deparou-se com duas variáveis no curso que são vetores. Quais são?" + +#: course/lesson-16-2d-vectors/lesson.tres:75 +msgid "" +"Both [code]scale[/code] and [code]position[/code] have [code]x[/code] and" +" [code]y[/code] sub-variables, so Godot uses a [code]Vector2[/code] to " +"store their values." +msgstr "" +"Tanto [code]scale[/code] quanto [code]position[/code] têm sub-variáveis " +"[code]x[/code] e [code]y[/code], por isso a Godot usa um [code]Vector2[/code]" +" para armazenar os valores deles." + +#: course/lesson-16-2d-vectors/lesson.tres:76 +#: course/lesson-16-2d-vectors/lesson.tres:77 +msgid "scale" +msgstr "scale" + +#: course/lesson-16-2d-vectors/lesson.tres:76 +#: course/lesson-16-2d-vectors/lesson.tres:77 +msgid "position" +msgstr "position" + +#: course/lesson-16-2d-vectors/lesson.tres:76 +msgid "health" +msgstr "health" + +#: course/lesson-16-2d-vectors/lesson.tres:76 +msgid "speed" +msgstr "speed" + +#: course/lesson-16-2d-vectors/lesson.tres:84 +msgid "Vectors are great for games" +msgstr "Vetores são ótimos para jogos" + +#: course/lesson-16-2d-vectors/lesson.tres:86 +msgid "" +"Vectors are [i]essential[/i] in video games.\n" +"\n" +"They allow you to represent a character's movement speed and direction, " +"calculate the distance to a target, and more, with little code.\n" +"\n" +"Take this turtle AI below. You've probably seen games where enemies move " +"like this.\n" +"\n" +"This is done with just seven lines of pure vector calculation code.\n" +"\n" +"The code is a bit too difficult for now, so we'll spare you the details, " +"but this turtle gives you a glimpse of what 2D vectors can do for you and" +" your game projects." +msgstr "" +"Vetores são [i]essenciais[/i] em jogos.\n" +"\n" +"Eles permitem que represente a velocidade e direção do movimento de um " +"personagem, calcule a distância até um alvo e muito mais, com pouca " +"programação.\n" +"\n" +"Veja essa I.A da tartaruga abaixo. Provavelmente já viu jogos em que os " +"inimigos se movem assim.\n" +"\n" +"Isso é feito com apenas sete linhas de código de cálculo vetorial puro.\n" +"\n" +"O código é um pouco difícil por enquanto, então vamos poupar os detalhes, " +"mas essa tartaruga já consegue te dar uma ideia do que os vetores 2D podem " +"fazer por si e os seus projetos de jogo." + +#: course/lesson-16-2d-vectors/lesson.tres:114 +msgid "" +"We scale the robot again, this time by adding to it directly using a " +"[code]Vector2[/code]. The following code has the same effect as the " +"previous example." +msgstr "" +"Escalonamos o robô novamente, desta vez adicionando diretamente usando um " +"[code]Vector2[/code]. O código a seguir tem o mesmo efeito que o exemplo " +"anterior." + +#: course/lesson-16-2d-vectors/lesson.tres:134 +msgid "" +"Notice how we use parentheses and two arguments inside parentheses, just " +"like other function calls.\n" +"\n" +"We call this a [i]constructor function call[/i]. You can think of it as a" +" special kind of function that creates a particular type of value.\n" +"\n" +"The code [code]Vector2(0.2, 0.2)[/code] constructs a new " +"[code]Vector2[/code] value with its [code]x[/code] set to " +"[code]0.2[/code] and its [code]y[/code] set to [code]0.2[/code], " +"respectively." +msgstr "" +"Observe como usamos parênteses e dois argumentos dentro dos parênteses, " +"assim como outras chamadas de função.\n" +"\n" +"Chamamos isso de [i]chamada de função de construtor[/i]. Pode pensar nisso " +"como um tipo especial de função que cria um tipo específico de valor.\n" +"\n" +"O código [code]Vector2(0.2, 0.2)[/code] constrói um novo valor de " +"[code]Vector2[/code] com o [code]x[/code] dele definido como [code]0.2[/code]" +" e o [code]y[/code] dele definido como [code]0.2[/code], respetivamente." + +#: course/lesson-16-2d-vectors/lesson.tres:146 +msgid "Using vectors to change the position" +msgstr "Usando vetores para mudar a posição" + +#: course/lesson-16-2d-vectors/lesson.tres:148 +msgid "" +"We can add and subtract vectors to [code]position[/code] because it's a " +"vector. If we wanted to move our robot to a new relative position, we " +"would add a [code]Vector2[/code] to its [code]position[/code]." +msgstr "" +"Podemos adicionar e subtrair vetores na variável [code]position[/code] " +"porque ela é um vetor. Se quiséssemos mover nosso robô para uma nova posição " +"relativa, adicionaríamos um [code]Vector2[/code] na variável dele " +"[code]position[/code]." + +#: course/lesson-16-2d-vectors/lesson.tres:166 +msgid "How would you move the robot 50 pixels to the left?" +msgstr "Como moveria o robô 50 pixels para a esquerda?" + +#: course/lesson-16-2d-vectors/lesson.tres:169 +msgid "" +"[code]position -= Vector2(50, 0)[/code] subtracts [code]50[/code] to the " +"sub-variable [code]x[/code], and [code]0[/code] to [code]y[/code].\n" +"\n" +"[code]position.x -= Vector(50, 0)[/code] tries to subtract a 2D vector to" +" the sub-variable [code]x[/code], which is a decimal number. The value " +"types are incompatible. If you try to do this, you will get an error." +msgstr "" + +#: course/lesson-16-2d-vectors/lesson.tres:172 +#: course/lesson-16-2d-vectors/lesson.tres:173 +msgid "position -= Vector2(50, 0)" +msgstr "position -= Vector2(50, 0)" + +#: course/lesson-16-2d-vectors/lesson.tres:172 +msgid "position.x -= Vector(50, 0)" +msgstr "" + +#: course/lesson-16-2d-vectors/lesson.tres:182 +msgid "" +"In the next few practices, you'll use vectors to change scale and " +"position values." +msgstr "" +"Nas próximas práticas, irá usar vetores para alterar os valores de escala e " +"posição." + +#: course/lesson-16-2d-vectors/lesson.tres:190 +msgid "Increasing scale using vectors" +msgstr "Aumentando a escala usando vetores" + +#: course/lesson-16-2d-vectors/lesson.tres:191 +msgid "" +"Add a line of code to the [code]level_up()[/code] function to increase " +"the [code]scale[/code] of the robot by [code]Vector2(0.2, 0.2)[/code] " +"every time it levels up." +msgstr "" +"Adicione uma linha de código na função [code]level_up()[/code] para aumentar " +"a [code]scale[/code] do robô em [code]Vector2(0.2, 0.2)[/code] toda vez que " +"ele aumentar de nível." + +#: course/lesson-16-2d-vectors/lesson.tres:202 +msgid "" +"To visually show our robot has gained in strength, let's increase its " +"size every time it levels up. Nothing could go wrong!" +msgstr "" +"Para mostrar visualmente que nosso robô ganhou força, vamos aumentar o " +"tamanho todo cada vez que ele sobe de nível. Nada poderia ficar errado!" + +#: course/lesson-16-2d-vectors/lesson.tres:207 +msgid "Resetting size and position using vectors" +msgstr "Redefinindo tamanho e posição usando vetores" + +#: course/lesson-16-2d-vectors/lesson.tres:208 +msgid "" +"The robot's level has increased a lot, and so has its size!\n" +"\n" +"Let's fix this by resetting the robot's [code]scale[/code] and " +"[code]position[/code] values.\n" +"\n" +"Create a function named [code]reset_robot()[/code] that sets the " +"[code]scale[/code] and [code]position[/code] of the robot.\n" +"\n" +"The [code]x[/code] and [code]y[/code] sub-variables of the robot's " +"[code]scale[/code] need to be [code]1.0[/code].\n" +"\n" +"The robot's [code]position[/code] needs to be [code]Vector2(0, 0)[/code]." +"\n" +"\n" +"As in the previous practice, make sure to use vectors when dealing with " +"scale and position." +msgstr "" +"O nível do robô aumentou muito, assim como seu tamanho!\n" +"\n" +"Vamos corrigir isso redefinindo os valores de [code]scale[/code] e " +"[code]position[/code] do robô.\n" +"\n" +"Crie uma função chamada [code]reset_robot()[/code] que defina as variáveis " +"[code]scale[/code] e [code]position[/code] do robô.\n" +"\n" +"As sub-variáveis [code]x[/code] e [code]y[/code] da [code]scale[/code] do " +"robô precisam ser [code]1.0[/code].\n" +"\n" +"A [code]position[/code] do robô precisa ser [code]Vector2(0, 0)[/code].\n" +"\n" +"Assim como na prática anterior, certifique-se de usar vetores ao lidar com " +"escala e posição." + +#: course/lesson-16-2d-vectors/lesson.tres:227 +msgid "" +"Perhaps increasing the scale every level was a bad idea! Let's restore " +"the robot to the correct size." +msgstr "" +"Talvez aumentar a escala a cada nível tenha sido uma ideia ruim! Vamos fazer " +"o robô voltar ao tamanho correto." + +#: course/lesson-16-2d-vectors/lesson.tres:231 +msgid "2D Vectors" +msgstr "Vetores 2D" diff --git a/i18n/pt/lesson-17-while-loops.po b/i18n/pt/lesson-17-while-loops.po new file mode 100644 index 00000000..8fdd3613 --- /dev/null +++ b/i18n/pt/lesson-17-while-loops.po @@ -0,0 +1,303 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-17-while-loops/lesson.tres:14 +msgid "" +"You've seen that you can use functions to [i]reuse[/i] code. In this " +"lesson, you'll learn about [b]loops[/b]. Loops help you [i]repeat[/i] " +"code.\n" +"\n" +"To illustrate how loops work, let's take a game board split into a grid.\n" +"\n" +"Our robot can move to neighboring cells by changing a " +"[code]Vector2[/code] variable named [code]cell[/code].\n" +"\n" +"When we increase [code]cell.x[/code], the robot moves to the right.\n" +"\n" +"Note that we delay the robot's movement in the app to help you visualize " +"how it moves. The following code would normally move the robot instantly." +msgstr "" + +#: course/lesson-17-while-loops/lesson.tres:42 +msgid "We can move diagonally by adding a [code]Vector2[/code] directly." +msgstr "" +"Podemos mover na diagonal a adicionar um [code]Vector2[/code] diretamente." + +#: course/lesson-17-while-loops/lesson.tres:62 +msgid "" +"The above code works for a pre-defined board with a size of " +"[code]Vector2(3, 3)[/code], but the [code]move_to_end()[/code] function " +"wouldn't work if the size of the board was different. \n" +"\n" +"The robot would either stop before the end or go too far.\n" +"\n" +"To implement a general solution for all board sizes, we can repeat the " +"robot's movement until it gets to the end.\n" +"\n" +"For code that repeats, we can use [i]loops[/i]." +msgstr "" +"O código acima funciona para um tabuleiro pré-definido com um tamanho de " +"[code]Vector2(3, 3)[/code], mas a função [code]move_to_end()[/code] não " +"funcionaria se o tamanho do placa fosse diferente.\n" +"\n" +"O robô pararia antes do final ou iria longe demais.\n" +"\n" +"Para implementar uma solução geral para todos os tamanhos de tabuleiro, " +"podemos repetir o movimento do robô até ele chegar no final.\n" +"\n" +"Para código que se repete, podemos usar [i]loops[/i]." + +#: course/lesson-17-while-loops/lesson.tres:76 +msgid "Using while loops to repeat code" +msgstr "Usar loops de while para repetir código" + +#: course/lesson-17-while-loops/lesson.tres:78 +msgid "" +"You can use a [code]while[/code] loop to make the computer repeat a block" +" of code until you meet a specific condition or decide to break from the " +"loop.\n" +"\n" +"Here's how we use a [code]while[/code] loop." +msgstr "" +"Pode usar um loop [code]while[/code] para fazer o computador repetir um " +"bloco de código até que condiz com a uma condição específica ou decide de " +"sair do loop.\n" +"\n" +"Veja como usamos um loop de [code]while[/code]." + +#: course/lesson-17-while-loops/lesson.tres:100 +msgid "" +"We use the variable [code]number[/code] to keep track of how many loops " +"the [code]while[/code] loop completes.\n" +"\n" +"Each time we go through the [code]while[/code] loop, we add " +"[code]1[/code] to [code]number[/code].\n" +"\n" +"The [code]while[/code] loop keeps running for as long as the condition is" +" true. In this case, it keeps running while [code]number[/code] is less " +"than [code]4[/code].\n" +"\n" +"You can see that the following code is executed four times in the console." +msgstr "" +"Usamos a variável [code]number[/code] para controlar quantos vezes o loop " +"[code]while[/code] completa.\n" +"\n" +"Cada vez que passamos pelo loop [code]while[/code], adicionamos " +"[code]1[/code] na variável [code]number[/code].\n" +"\n" +"O loop [code]while[/code] continua executando aquele bloco de código " +"enquanto a condição for verdadeira (while significa \"enquanto\" em Inglês). " +"Nesse caso, ele continua executando enquanto a variável [code]number[/code] " +"for menor que [code]4[/code].\n" +"\n" +"Pode ver que o código a seguir é executado quatro vezes no console de saída." + +#: course/lesson-17-while-loops/lesson.tres:126 +msgid "" +"Let's apply this to our [code]move_to_end()[/code] function.\n" +"\n" +"This time, we compare the number of loops to the board's width. We go " +"through the loop until we reach the width of the board.\n" +"\n" +"Note that we move one less than the board's width because the robot is " +"already on the first cell." +msgstr "" + +#: course/lesson-17-while-loops/lesson.tres:158 +msgid "While loops can cause issues" +msgstr "Loops while podem causar problemas" + +#: course/lesson-17-while-loops/lesson.tres:160 +msgid "" +"If you're not careful, your [code]while[/code] loop can run infinitely. " +"In that case, the application will freeze.\n" +"\n" +"Take a look at this code example." +msgstr "" +"Se não tomar cuidado, o seu loop [code]while[/code] pode ser executado " +"infinitamente. Nesse caso, a aplicação irá travar.\n" +"\n" +"Dê uma olhada neste código de exemplo." + +#: course/lesson-17-while-loops/lesson.tres:180 +msgid "What would happen if the computer tried to run the code above?" +msgstr "O que aconteceria se o computador tentasse executar o código acima?" + +#: course/lesson-17-while-loops/lesson.tres:183 +msgid "" +"Because we don't increment [code]number[/code] within the " +"[code]while[/code] loop, it always stays at [code]0[/code].\n" +"\n" +"As a result, the number is always lower than [code]10[/code], so we never" +" break out of the loop.\n" +"\n" +"Since there's no way to exit the [code]while[/code] loop, the computer " +"will attempt to draw squares infinitely, which will freeze the program.\n" +"\n" +"When programs stop responding on your computer, it's often due to an " +"infinite loop!" +msgstr "" +"Como não incrementamos a variável [code]number[/code] dentro do loop " +"[code]while[/code], ela sempre fica em [code]0[/code].\n" +"\n" +"Como resultado, o número na variável é sempre menor que [code]10[/code], " +"então nunca vamos sair do loop.\n" +"\n" +"Como não há como sair do loop [code]while[/code], o computador vai tentar " +"desenhar quadrados infinitamente, o que vai fazer o programa congelar.\n" +"\n" +"Quando os programas param de responder no seu computador, geralmente é " +"devido a um loop infinito!" + +#: course/lesson-17-while-loops/lesson.tres:190 +#: course/lesson-17-while-loops/lesson.tres:191 +msgid "It would draw squares infinitely until the program is terminated" +msgstr "" +"Ele desenharia quadrados infinitamente até que o programa fosse forçado a " +"terminar" + +#: course/lesson-17-while-loops/lesson.tres:190 +msgid "It would draw 10 squares" +msgstr "desenharia 10 quadrados" + +#: course/lesson-17-while-loops/lesson.tres:190 +msgid "It would draw 20 squares" +msgstr "desenharia 20 quadrados" + +#: course/lesson-17-while-loops/lesson.tres:198 +msgid "When to use while loops" +msgstr "Quando usar loops while" + +#: course/lesson-17-while-loops/lesson.tres:200 +msgid "" +"At first, you will not need [code]while[/code] loops often. Even the code" +" we show here has more efficient alternatives.\n" +"\n" +"Also, there's a safer kind of loop, [code]for[/code] loops, which we'll " +"look at in the next lesson.\n" +"\n" +"Yet, [code]while[/code] loops have important intermediate to advanced-" +"level uses, so you at least need to know they exist and how to use them." +"\n" +"\n" +"We use [code]while[/code] loops every time we need to loop an unknown " +"number of times.\n" +"\n" +"For example, games run in a loop that typically generates sixty images " +"per second until the user closes the game. This is possible thanks to " +"[code]while[/code] loops.\n" +"\n" +"There are other good uses for [code]while[/code] loops:\n" +"\n" +"- Reading and processing a file, like a text document, line by line.\n" +"- Processing a constant stream of data, like someone recording audio with" +" a microphone.\n" +"- Reading code and converting it into instructions the computer " +"understands.\n" +"- Various intermediate to advanced-level algorithms, like finding paths " +"around a map for AI." +msgstr "" +"A princípio, não vai precisar de usar loops [code]while[/code] com muita " +"frequência. Até o código que mostramos aqui tem alternativas mais eficientes." +"\n" +"\n" +"Além disso, há um tipo de loop mais seguro, loops [code]for[/code], que " +"veremos na próxima lição.\n" +"\n" +"No entanto, os loops [code]while[/code] têm usos intermediários a avançados " +"importantes, portanto, precisa pelo menos saber que existem e como usá-los.\n" +"\n" +"Usamos loops [code]while[/code] toda vez que precisamos repetir algum bloco " +"de código por uma quantidade indeterminada de vezes.\n" +"\n" +"Por exemplo, os jogos são executados num loop que normalmente gera 60 " +"imagens por segundo até que o utilizador feche o jogo. Isso é possível " +"graças aos loops [code]while[/code].\n" +"\n" +"Existem outros usos bons para o loop de [code]while[/code]:\n" +"\n" +"- Ler e processar um ficheiro, como um ficheiro de texto por exemplo, linha " +"por linha.\n" +"- Processar um fluxo constante de dados, como alguém a gravar áudio com um " +"microfone.\n" +"- Ler código e convertê-lo em instruções que o computador entenda.\n" +"- Vários algoritmos de nível intermediário a avançado, como encontrar " +"caminhos à volta de um mapa para Inteligência Artificial." + +#: course/lesson-17-while-loops/lesson.tres:225 +msgid "" +"Let's practice some [code]while[/code] loops, as they're useful to know. " +"It's also an excellent opportunity to practice 2D vectors.\n" +"\n" +"Then, we'll move on to the safer [code]for[/code] loops in the following " +"lesson." +msgstr "" +"Vamos praticar loops de [code]while[/code] rapidamente, pois são úteis de os " +"conhecer. É também uma excelente oportunidade de praticar vetores 2D.\n" +"\n" +"Depois, passaremos para os loops de [code]for[/code], que são mais seguros " +"de usar, na lição a seguir." + +#: course/lesson-17-while-loops/lesson.tres:235 +msgid "Moving to the end of a board" +msgstr "Mover para o final de um tabuleiro" + +#: course/lesson-17-while-loops/lesson.tres:236 +msgid "" +"Our robot has decided to stand at the top of the board.\n" +"\n" +"Complete the [code]move_to_bottom()[/code] function so the robot moves to" +" the bottom of the board.\n" +"\n" +"The board size is determined by the [code]Vector2[/code] " +"[code]board_size[/code].\n" +"\n" +"The robot's current cell is [code]Vector2(2, 0)[/code]. \n" +"\n" +"Make sure to use a [code]while[/code] loop so the function works for any " +"board size." +msgstr "" +"O nosso robô decidiu ficar na parte de cima do tabuleiro.\n" +"\n" +"Complete a função [code]move_to_bottom()[/code] para que o robô se mova para " +"a parte inferior do tabuleiro.\n" +"\n" +"O tamanho do tabuleiro é determinado pelo [code]Vector2[/code] " +"[code]board_size[/code].\n" +"\n" +"A célula atual do robô é [code]Vector2(2, 0)[/code].\n" +"\n" +"Certifique-se de usar um loop [code]while[/code] para que a função funcione " +"para qualquer tamanho de tabuleiro." + +#: course/lesson-17-while-loops/lesson.tres:254 +msgid "" +"Use a while loop to have our robot move from the top of the board to the " +"bottom." +msgstr "" +"Use um loop while para que nosso robô se mova da parte superior do tabuleiro " +"para a parte inferior." + +#: course/lesson-17-while-loops/lesson.tres:258 +msgid "Introduction to While Loops" +msgstr "Introdução aos loops de while" diff --git a/i18n/pt/lesson-18-for-loops.po b/i18n/pt/lesson-18-for-loops.po new file mode 100644 index 00000000..052ef48f --- /dev/null +++ b/i18n/pt/lesson-18-for-loops.po @@ -0,0 +1,271 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-18-for-loops/lesson.tres:14 +msgid "" +"In the last lesson, we looked at [code]while[/code] loops. We found they " +"were useful if we don't know how many times we should repeat code. \n" +"\n" +"However, they could result in infinite loops if we're not careful.\n" +"\n" +"The loop below never ends because we never increment [code]number[/code]." +msgstr "" +"Na última lição, vimos os loops de [code]while[/code]. Descobrimos que são " +"úteis se não soubermos quantas vezes devemos repetir o código. \n" +"\n" +"No entanto, eles podem resultar em loops infinitos se a gente não tomar " +"cuidado.\n" +"\n" +"O loop abaixo nunca termina porque nunca incrementamos a variável " +"[code]number[/code]." + +#: course/lesson-18-for-loops/lesson.tres:38 +msgid "" +"There's a safer and often easier kind of loop: the [code]for[/code] loop." +"\n" +"\n" +"We'll look at it in this lesson.\n" +"\n" +"Unlike [code]while[/code] loops, [code]for[/code] loops don't run " +"infinitely, so it's much less likely that you'll get bugs in your game. " +"[b]We recommend favoring for loops over while loops because of this[/b]." +"\n" +"\n" +"Let's change the code above to use a [code]for[/code] loop instead.\n" +"\n" +"The loop below will change the [code]cell[/code] three times." +msgstr "" +"Existe um tipo de loop mais seguro e geralmente mais fácil: o loop de " +"[code]for[/code].\n" +"\n" +"Vamos vê-lo nessa lição.\n" +"\n" +"Ao contrário dos loops de [code]while[/code], os loops de [code]for[/code] " +"não são executados infinitamente, assim é muito menos provável que tenha " +"bugs no seu jogo. [b]Recomendamos que dê preferência ao loop for ao invés do " +"loop while por causa disso[/b].\n" +"\n" +"Vamos alterar o código acima para usar um loop [code]for[/code].\n" +"\n" +"O loop abaixo vai mudar a [code]cell[/code] três vezes." + +#: course/lesson-18-for-loops/lesson.tres:66 +msgid "Let's explain what's going on here." +msgstr "Vamos explicar o que acontece aqui." + +#: course/lesson-18-for-loops/lesson.tres:74 +msgid "The range() function" +msgstr "A função range()" + +#: course/lesson-18-for-loops/lesson.tres:76 +msgid "" +"Godot has the helper function [code]range()[/code]. Calling " +"[code]range(n)[/code] creates a list of numbers from [code]0[/code] to " +"[code]n - 1[/code]. \n" +"\n" +"So calling [code]range(3)[/code] outputs the list of number [code][0, 1, " +"2][/code], and [code]range(5)[/code] outputs [code][0, 1, 2, 3, " +"4][/code]." +msgstr "" + +#: course/lesson-18-for-loops/lesson.tres:86 +msgid "What list of numbers would range(6) create?" +msgstr "Que lista de números a função range(6) criaria?" + +#: course/lesson-18-for-loops/lesson.tres:87 +msgid "What would [code]print(range(6))[/code] print to the console?" +msgstr "O que [code]print(range(6))[/code] imprimiria no console?" + +#: course/lesson-18-for-loops/lesson.tres:89 +msgid "" +"The function [code]range(n)[/code] creates a list of numbers from " +"[code]0[/code] to [code]n - 1[/code]. The output list will start with " +"[code]0[/code] and end with [code]5[/code].\n" +"\n" +"So calling [code]range(6)[/code] will output a list of six numbers which " +"are [code][0, 1, 2, 3, 4, 5][/code].\n" +msgstr "" +"A função [code]range(n)[/code] cria uma lista de números que começa com " +"[code]0[/code] e vai até [code]n - 1[/code]. Essa lista vai começar com " +"[code]0[/code] e vai terminar com [code]5[/code].\n" +"\n" +"Então, chamar [code]range(6)[/code] vai produzir uma lista de seis números " +"que são [code][0, 1, 2, 3, 4, 5][/code].\n" + +#: course/lesson-18-for-loops/lesson.tres:93 +#: course/lesson-18-for-loops/lesson.tres:94 +msgid "[0, 1, 2, 3, 4, 5]" +msgstr "[0, 1, 2, 3, 4, 5]" + +#: course/lesson-18-for-loops/lesson.tres:93 +msgid "[1, 2, 3, 4, 5, 6]" +msgstr "[1, 2, 3, 4, 5, 6]" + +#: course/lesson-18-for-loops/lesson.tres:93 +msgid "[0, 1, 2, 3, 4, 5, 6]" +msgstr "[0, 1, 2, 3, 4, 5, 6]" + +#: course/lesson-18-for-loops/lesson.tres:101 +msgid "How for loops work" +msgstr "Como funcionam os loops for" + +#: course/lesson-18-for-loops/lesson.tres:103 +msgid "" +"In a [code]for[/code] loop, the computer takes each value inside a list, " +"stores it in a temporary variable, and executes the code in the loop once" +" per value." +msgstr "" +"Num loop [code]for[/code], o computador leva cada valor dentro de uma lista, " +"armazena-o numa variável temporária e executa o código no bloco do loop uma " +"vez por valor." + +#: course/lesson-18-for-loops/lesson.tres:123 +msgid "" +"In the above example, for each item in the list [code][0, 1, 2][/code], " +"Godot sets [code]number[/code] to the item, then executes the code in the" +" [code]for[/code] loop.\n" +"\n" +"In this example, we're printing the value of [code]number[/code] as Godot" +" moves through the loop.\n" +"\n" +"We can put whatever code we like in the loop's code block, including " +"other function calls like [code]draw_rectangle()[/code]." +msgstr "" + +#: course/lesson-18-for-loops/lesson.tres:135 +msgid "Using a for loop instead of a while loop" +msgstr "Usando o loop for ao invés do loop while" + +#: course/lesson-18-for-loops/lesson.tres:137 +msgid "" +"Here's our old [code]move_to_end()[/code] function which used in a " +"[code]while[/code] loop." +msgstr "" + +#: course/lesson-18-for-loops/lesson.tres:157 +msgid "" +"If we use a [code]for[/code] loop instead, the code becomes a little " +"simpler." +msgstr "" +"Se usarmos um loop [code]for[/code] ao invés do loop while, o código se " +"torna um pouco mais simples." + +#: course/lesson-18-for-loops/lesson.tres:177 +msgid "" +"Rather than constantly checking if the robot reached the end of the " +"board, with the [code]for[/code] loop, we take the board's width " +"beforehand, then move the robot a set amount of times.\n" +"\n" +"The function still works the same. You can execute it below." +msgstr "" +"Ao invés de verificar constantemente se o robô chegou ao final do tabuleiro, " +"com o loop [code]for[/code], levamos a largura do tabuleiro de antemão e, em " +"seguida, movemos o robô por um determinado número de vezes.\n" +"\n" +"A função ainda funciona da mesma forma. Pode executá-la abaixo." + +#: course/lesson-18-for-loops/lesson.tres:199 +msgid "" +"In the practices, we'll use [code]for[/code] loops in different ways to " +"get you used to using them." +msgstr "" +"Nas práticas, vamos usar loops de [code]for[/code] de maneiras diferentes " +"para que se acostume a usá-los." + +#: course/lesson-18-for-loops/lesson.tres:207 +msgid "Using a for loop to move to the end of the board" +msgstr "Usando um loop for para mover até o final do tabuleiro" + +#: course/lesson-18-for-loops/lesson.tres:208 +msgid "" +"Once again, the robot has decided to stand at the top of the board.\n" +"\n" +"This time, use a [code]for[/code] loop in the " +"[code]move_to_bottom()[/code] function to have it move to the bottom of " +"the board.\n" +"\n" +"The board size is determined by the [code]Vector2[/code] variable " +"[code]board_size[/code].\n" +"\n" +"The robot's starting cell is [code]Vector2(2, 0)[/code]." +msgstr "" +"Mais uma vez, o robô decidiu ficar na parte superior do tabuleiro.\n" +"\n" +"Dessa vez, use um loop [code]for[/code] na função " +"[code]move_to_bottom()[/code] para que ele se mova para a parte inferior do " +"tabuleiro.\n" +"\n" +"O tamanho do tabuleiro é determinado pela variável [code]board_size[/code] " +"do tipo [code]Vector2[/code].\n" +"\n" +"A célula inicial do robô é [code]Vector2(2, 0)[/code]." + +#: course/lesson-18-for-loops/lesson.tres:224 +msgid "" +"Use a for loop to have our robot move from the top of the board to the " +"bottom." +msgstr "" +"Use um loop for para fazer nosso robô se mover da parte superior do " +"tabuleiro até a parte inferior." + +#: course/lesson-18-for-loops/lesson.tres:229 +msgid "Improving code with a for loop" +msgstr "Melhorando o código com um loop for" + +#: course/lesson-18-for-loops/lesson.tres:230 +msgid "" +"Use a [code]for[/code] loop to remove the duplicate code in the " +"[code]run()[/code] function.\n" +"\n" +"In this practice, we revisit the turtle and drawing rectangles.\n" +"\n" +"With our new knowledge of [code]for[/code] loops, we can condense this " +"code to take up less space and make it easier to modify.\n" +"\n" +"The turtle should draw three squares in a horizontal line. The squares " +"should be 100 pixels apart." +msgstr "" +"Use um loop [code]for[/code] para remover o código duplicado na função " +"[code]run()[/code].\n" +"\n" +"Nessa prática, revisitaremos a tartaruga e o desenho de retângulos.\n" +"\n" +"Com nosso novo conhecimento de loops [code]for[/code], podemos condensar " +"esse código para ocupar menos espaço e deixar fácil para fazer alguma " +"modificação caso necessário.\n" +"\n" +"A tartaruga deve desenhar três quadrados numa linha horizontal. Os quadrados " +"devem estar separados um do outro por 100 pixels." + +#: course/lesson-18-for-loops/lesson.tres:253 +msgid "" +"In the past we had to copy and paste code to draw multiple rectangles. " +"Let's revisit previous code and improve it with a for loop." +msgstr "" +"No passado, tínhamos que copiar e colar código para desenhar vários " +"retângulos. Vamos revisitar um código que vimos antes e melhorá-lo com um " +"loop for." + +#: course/lesson-18-for-loops/lesson.tres:257 +msgid "Introduction to For Loops" +msgstr "Introdução ao Loop For" diff --git a/i18n/pt/lesson-19-creating-arrays.po b/i18n/pt/lesson-19-creating-arrays.po new file mode 100644 index 00000000..f96380ae --- /dev/null +++ b/i18n/pt/lesson-19-creating-arrays.po @@ -0,0 +1,265 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-19-creating-arrays/lesson.tres:13 +msgid "" +"The [code]range()[/code] function we saw in the previous lesson outputs a" +" list of numbers. For example, calling [code]range(3)[/code] produces the" +" list of numbers [code][0, 1, 2][/code]." +msgstr "" +"A função [code]range()[/code] que vimos na lição anterior gera uma lista de " +"números. Por exemplo, chamar [code]range(3)[/code] produz a lista de números " +"[code][0, 1, 2][/code]." + +#: course/lesson-19-creating-arrays/lesson.tres:33 +msgid "" +"A list of values, numbers or otherwise, has a precise name in code: we " +"call them [i]arrays[/i]. So we can say calling the [code]range()[/code] " +"function produces an [i]array[/i] of numbers.\n" +"\n" +"We could directly write and use that array inside our [code]for[/code] " +"loop instead of the [code]range()[/code] function." +msgstr "" + +#: course/lesson-19-creating-arrays/lesson.tres:55 +msgid "As you can see, the code still works the same." +msgstr "" + +#: course/lesson-19-creating-arrays/lesson.tres:63 +msgid "The syntax of arrays" +msgstr "A síntaxe de arrays" + +#: course/lesson-19-creating-arrays/lesson.tres:65 +msgid "We write arrays this way in GDScript." +msgstr "Escrevemos arrays dessa forma no GDScript." + +#: course/lesson-19-creating-arrays/lesson.tres:85 +msgid "" +"You start with an opening square bracket. Then, you write comma-separated" +" values that compose the array. Finally, you need a closing square " +"bracket to complete the array.\n" +"\n" +"Here are a couple of valid arrays. Notice how you can mix values, and how" +" they don't need to follow one another." +msgstr "" +"Começe com um colchete de abertura. A seguir, escreve valores separados por " +"vírgulas que compõem o array. Finalmente, precisa de um colchete de fechar " +"para completar o array.\n" +"\n" +"Aqui estão alguns arrays válidos. Observe como pode misturar valores e como " +"eles não precisam seguir um ao outro." + +#: course/lesson-19-creating-arrays/lesson.tres:107 +msgid "" +"Because arrays themselves are a value type, just like numbers or " +"[code]Vector2[/code], we can assign arrays to variables to reaccess them " +"later.\n" +"\n" +"That'll come in handy in the next lesson, where we'll use those variables" +" in loops." +msgstr "" +"Como os próprios arrays são um tipo de valor, assim como números ou " +"[code]Vector2[/code], podemos pôr arrays dentro de variáveis para reacessá-" +"los depois.\n" +"\n" +"Isso será útil na próxima lição, onde vamos usar essas variáveis em loops." + +#: course/lesson-19-creating-arrays/lesson.tres:129 +msgid "But first, let's see [i]when[/i] you'd use an array." +msgstr "Mas primeiro, vamos ver [i]quando[/i] usaria um array." + +#: course/lesson-19-creating-arrays/lesson.tres:137 +msgid "When you use arrays" +msgstr "Quando usar arrays" + +#: course/lesson-19-creating-arrays/lesson.tres:139 +msgid "" +"In computer programming, we use arrays [i]all the time[/i].\n" +"\n" +"Precisely, you'll use them whenever you need to store a [i]list of " +"things[/i].\n" +"\n" +"You always need lists of things in games:\n" +"\n" +"- The player's party in an RPG.\n" +"- The items in the player's inventory.\n" +"- The high scores in an arcade game.\n" +"- The objects in the game world.\n" +"\n" +"All of those and many more rely on arrays." +msgstr "" +"Em programação, usamos arrays [i]o tempo todo[/i].\n" +"\n" +"Precisamente, vai usá-los eles sempre que precisar de armazenar uma [i]lista " +"de coisas[/i].\n" +"\n" +"Sempre precisa de listas de coisas em jogos:\n" +"\n" +"- O grupo de personagens num RPG.\n" +"- Os itens no inventário do jogador.\n" +"- As pontuações mais altas num jogo de arcade.\n" +"- Os objetos no mundo do jogo.\n" +"\n" +"Todos esses e muitos mais dependem de arrays." + +#: course/lesson-19-creating-arrays/lesson.tres:158 +msgid "Using arrays to follow a path" +msgstr "Usando arrays para seguir um caminho" + +#: course/lesson-19-creating-arrays/lesson.tres:160 +msgid "" +"Let's look at a widespread use of arrays in games: finding and following " +"a path.\n" +"\n" +"In games, you need allies or monsters to find their way to their target, " +"whether it's the player or some point of interest.\n" +"\n" +"To achieve that, we use [i]pathfinding algorithms[/i]. As a name " +"suggests, those algorithms find the path between two points and allow AIs" +" to traverse the game." +msgstr "" + +#: course/lesson-19-creating-arrays/lesson.tres:184 +msgid "" +"Many of those algorithms use arrays of [code]Vector2[/code] coordinates " +"to represent the path.\n" +"\n" +"Take this turtle pet. It wants to follow the robot, but there are rocks " +"in the way.\n" +"\n" +"How can we tell it where to walk to reach the robot? With an array!" +msgstr "" +"Muitos desses algoritmos usam arrays de coordenadas do " +"tipo[code]Vector2[/code] para representar o caminho.\n" +"\n" +"Veja essa tartaruga de estimação. Ele quer seguir o robô, mas há pedras no " +"caminho.\n" +"\n" +"Como podemos dizer-lhe para onde caminhar até chegar no robô? Com um array!" + +#: course/lesson-19-creating-arrays/lesson.tres:218 +msgid "" +"Every value in the array is a [code]Vector2[/code] and represents a cell " +"the turtle needs to walk through.\n" +"\n" +"Together, all the values in the array represent a path we can draw." +msgstr "" +"Cada valor no array é uma variável do tipo [code]Vector2[/code] e representa " +"a célula que a tartaruga precisa percorrer.\n" +"\n" +"Juntos, todos os valores no array representam um caminho que podemos " +"desenhar." + +#: course/lesson-19-creating-arrays/lesson.tres:240 +msgid "" +"In upcoming lessons, you will see how we can use arrays to store player " +"inventories or design attack combos.\n" +"\n" +"For now, let's practice creating arrays." +msgstr "" +"Nas próximas lições, vai ver como podemos usar arrays para armazenar " +"inventários de jogadores ou criar combos de ataque.\n" +"\n" +"Por enquanto, vamos praticar a criação de arrays." + +#: course/lesson-19-creating-arrays/lesson.tres:250 +msgid "Walking to the robot" +msgstr "Andando até o robô" + +#: course/lesson-19-creating-arrays/lesson.tres:251 +msgid "" +"The turtle wants to meet the robot! But it cannot find it on its own.\n" +"\n" +"Fill the [code]turtle_path[/code] array with [code]Vector2[/code] " +"coordinates indicating where the turtle should move to avoid the " +"obstacles and arrive safely to the robot.\n" +"\n" +"The turtle can move up, down, left, or right. It cannot move diagonally.\n" +"\n" +"We recommend copying and pasting to fill the array with comma-separated " +"[code]Vector2[/code] values quickly." +msgstr "" +"A tartaruga quer conhecer o robô! Mas não consegue encontrá-lo por conta " +"própria.\n" +"\n" +"Preencha o array [code]turtle_path[/code] com as coordenadas " +"[code]Vector2[/code] indicando onde a tartaruga deve se mover para evitar os " +"obstáculos e chegar com segurança até o robô.\n" +"\n" +"A tartaruga pode se mover para cima, para baixo, para a esquerda ou para a " +"direita. Ela não pode mover na diagonal.\n" +"\n" +"Recomendamos copiar e colar para preencher o array com valores " +"[code]Vector2[/code] separados por vírgulas." + +#: course/lesson-19-creating-arrays/lesson.tres:266 +msgid "" +"Help the turtle find its way to the robot! Give it a path to follow to " +"reach the robot." +msgstr "" +"Ajude a tartaruga a encontrar o caminho até o robô! Faça um caminho para ela " +"seguir até alcançar o robô." + +#: course/lesson-19-creating-arrays/lesson.tres:271 +msgid "Selecting units" +msgstr "Selecionando unidades" + +#: course/lesson-19-creating-arrays/lesson.tres:272 +msgid "" +"In this tactical game, the player and computer can select multiple units " +"at once. You need to call the [code]select_units()[/code] function and " +"pass it an array of [code]Vector2[/code] coordinates to know which units " +"to select.\n" +"\n" +"Each [code]Vector2[/code] in the array represents a cell with a unit.\n" +"\n" +"You can pass arrays in function calls as arguments. As an array is a " +"value type the computer recognizes, you can pass the whole array as a " +"single function argument.\n" +"\n" +"Select all units on the board by passing the correct array to the " +"[code]select_units()[/code] function." +msgstr "" +"Nesse jogo tático, o jogador e o computador podem selecionar várias unidades " +"ao mesmo tempo. Precisa chamar a função [code]select_units()[/code] e passar " +"um array de coordenadas [code]Vector2[/code] para saber quais unidades " +"selecionar.\n" +"\n" +"Cada [code]Vector2[/code] no array representa uma célula com uma unidade.\n" +"\n" +"Pode passar arrays em chamadas de função como argumentos. Como um array é um " +"tipo de valor que o computador reconhece, pode passar o array inteiro como " +"um único argumento de função.\n" +"\n" +"Selecione todas as unidades no tabuleiro passando o array correto à função " +"[code]select_units()[/code]." + +#: course/lesson-19-creating-arrays/lesson.tres:288 +msgid "Write an array to select all units on the board in this strategy game." +msgstr "" +"Escreva um array para selecionar todas as unidades no tabuleiro nesse jogo " +"de estratégia." + +#: course/lesson-19-creating-arrays/lesson.tres:292 +msgid "Creating arrays" +msgstr "Criando arrays" diff --git a/i18n/pt/lesson-2-your-first-error.po b/i18n/pt/lesson-2-your-first-error.po new file mode 100644 index 00000000..072c9f17 --- /dev/null +++ b/i18n/pt/lesson-2-your-first-error.po @@ -0,0 +1,177 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-07 05:48+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.17-dev\n" +"Generated-By: Babel 2.10.1\n" + +#: course/lesson-2-your-first-error/lesson.tres:14 +msgid "" +"When you program, you are bound to run into errors. Tons of them.\n" +"\n" +"But you shouldn't worry! On the computer, [b]errors are a good thing[/b]." +"\n" +"\n" +"You will encounter errors, and [i]that's okay[/i]: every programmer does." +" Especially professionals.\n" +"\n" +"At school, maybe you learned that mistakes are a bad thing. When you code" +" something, it's not the case: [b]errors help you write correct " +"programs[/b]." +msgstr "" +"Quando programa, está sujeito a cometer erros, um monte deles.\n" +"\n" +"Mas não se deve preocupar! No computador, [b]erros são coisas boas[/b].\n" +"\n" +"Vai se deparar com erros e [i]está tudo bem[/i]: todo programador comete " +"erros. Especialmente profissionais.\n" +"\n" +"Na escola, talvez tenha aprendido que erros são coisas ruins. Quando rograma " +"alguma coisa, esse não é o caso: [b]os erros te ajudam a escrever os " +"programas corretamente[/b]." + +#: 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 "" +"Um erro de código se parece com isso aqui. É uma mensagem que lhe fiz que " +"uma parte do seu código não funciona." + +#: course/lesson-2-your-first-error/lesson.tres:48 +msgid "Making errors friendlier" +msgstr "Tornando os erros mais amigáveis" + +#: course/lesson-2-your-first-error/lesson.tres:50 +msgid "" +"Error messages can look a bit cryptic. This is because they're designed " +"by programmers, for trained programmers.\n" +"\n" +"We added an error translator in this app that will help you get started.\n" +"\n" +"It shows you why an error happens and what the message means. It also " +"gives you some tips on how to fix it." +msgstr "" +"Mensagens de erro podem parecer um pouco enigmáticas. Isso ocorre porque " +"eles foram feito por programadores, para programadores que já são treinados." +"\n" +"\n" +"Adicionamos um tradutor de erro neta app que lhe irá ajudar a começar.\n" +"\n" +"Ele mostra-lhe o por que o erro acontece e o que a mensagem significa. Ele " +"também te dá algumas dicas de como resolver o erro." + +#: course/lesson-2-your-first-error/lesson.tres:74 +msgid "" +"Errors are messages designed on purpose by fellow programmers who came " +"before you. They anticipated you might have specific issues.\n" +"\n" +"You shouldn't think of errors as failures. They are like mentors helping " +"you from the past. Importantly, errors won't break your computer. At " +"least not with GDScript because it's a pretty safe language." +msgstr "" +"Os erros são mensagens designadas de propósito por programadores que vieram " +"antes de si. Eles anteciparam que poderia ter alguns problemas específicos.\n" +"\n" +"Não deve pensar que esses erros são como falhas que cometeu. Eles são como " +"mentores que vieram do passado para te ajudar. E o mais importante, esses " +"erros não vão quebrar o seu computador. Pelo menos não com o GDScript porque " +"é uma linguagem bem segura." + +#: course/lesson-2-your-first-error/lesson.tres:84 +msgid "Are errors a good or a bad thing in code?" +msgstr "Os erros são coisas boas ou ruins num código?" + +#: course/lesson-2-your-first-error/lesson.tres:87 +msgid "" +"Yes, errors are here to help you!\n" +"\n" +"Pay attention to them, and do your best to read and understand them. With" +" experience, you'll learn to make your code work more reliably thanks to " +"error messages." +msgstr "" +"Sim, os erros estão aqui para te ajudar!\n" +"\n" +"Preste atenção neles e faça o seu melhor para ler e entender eles. Com " +"experiência, vai aprender a fazer o seu código funcionar de forma mais " +"confiável graças às essas mensagens de erro." + +#: course/lesson-2-your-first-error/lesson.tres:90 +msgid "They're bad: errors are always bad." +msgstr "Eles são ruins: erros sempre são ruins." + +#: course/lesson-2-your-first-error/lesson.tres:90 +#: course/lesson-2-your-first-error/lesson.tres:91 +msgid "They're good: they're here to help." +msgstr "Eles são bons: eles estão aqui para ajudar." + +#: course/lesson-2-your-first-error/lesson.tres:100 +msgid "" +"Okay, let's see an error in action. Once again, click the [i]Practice[/i]" +" button below to face your first real error." +msgstr "" +"Certo, vamos ver um erro em ação agora. Mais uma vez, clique no botão " +"[i]Praticar[/i] logo abaixo para ver o seu primeiro erro." + +#: course/lesson-2-your-first-error/lesson.tres:108 +msgid "Fix Your First Error" +msgstr "Conserte o seu primeiro erro" + +#: course/lesson-2-your-first-error/lesson.tres:109 +msgid "" +"This code is incorrect and will cause an error when you try to run it.\n" +"\n" +"The code defines an empty function named [code]this_code_is_wrong[/code]." +"\n" +"\n" +"To work, the function should use the [code]return[/code] keyword. But " +"this keyword is currently inside a comment, which the computer ignores.\n" +"\n" +"Test the current code by pressing the [i]Run[/i] button.\n" +"\n" +"Then, remove the comment sign (#) to make the code valid.\n" +"\n" +"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 "" +"Esse código está errado e vai causar um erro quando tentar execut«a-lo.\n" +"\n" +"O código define uma função vazia nomeada " +"[code]esse_codigo_esta_errado[/code].\n" +"\n" +"Para funcionar, a função deve usar a palavra-chave [code]return[/code]. Mas " +"essa palavra-chave está, no momento, dentro de um comentário e comentários o " +"computador ignora.\n" +"\n" +"Teste o código atual clicando no botão [i]Executar[/i].\n" +"\n" +"Após isso, remova o sinal de comentário (#) para fazer o código ser válido.\n" +"\n" +"Cuidado para não remover o espaço em branco antes da palavra-chave " +"[code]return[/code]! Caso contrário, isso vai causar outro erro. Pode tentar " +"isso também se quiser ver como esse erro é." + +#: course/lesson-2-your-first-error/lesson.tres:129 +msgid "There's an error in this code. We need you to fix it!" +msgstr "Existe um erro nesse código. Precisamos de consertá-lo!" + +#: course/lesson-2-your-first-error/lesson.tres:133 +msgid "Your First Error" +msgstr "O seu primeiro erro" diff --git a/i18n/pt/lesson-20-looping-over-arrays.po b/i18n/pt/lesson-20-looping-over-arrays.po new file mode 100644 index 00000000..489bf91d --- /dev/null +++ b/i18n/pt/lesson-20-looping-over-arrays.po @@ -0,0 +1,311 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-20-looping-over-arrays/lesson.tres:14 +msgid "" +"We used the [code]range()[/code] function in combination with " +"[code]for[/code] loops." +msgstr "" +"Usamos a função [code]range()[/code] em combinação com loops de " +"[code]for[/code]." + +#: course/lesson-20-looping-over-arrays/lesson.tres:34 +msgid "" +"The [code]range()[/code] function produced an array that the " +"[code]for[/code] keyword could loop over.\n" +"\n" +"We can give [code]for[/code] loops [i]any[/i] array, and they will loop " +"over them just the same.\n" +"\n" +"Instead of using the [code]range()[/code] function, we could manually " +"write the numbers and get the same result." +msgstr "" +"A função [code]range()[/code] produziu um array no qual a palavra-chave " +"[code]for[/code] poderia fazer um loop.\n" +"\n" +"Podemos fornecer [i]qualquer[/i] array aos loops de [code]for[/code] e farão " +"um loop sobre eles da mesma forma.\n" +"\n" +"Ao invés de usar a função [code]range()[/code], poderíamos escrever " +"manualmente os números e obter o mesmo resultado." + +#: course/lesson-20-looping-over-arrays/lesson.tres:58 +msgid "" +"For each element inside the array, the [code]for[/code] loop extracts it," +" stores it in the temporary variable named [code]number[/code], and " +"executes the loop's code once.\n" +"\n" +"Inside the loop, you can access the [code]number[/code] variable, which " +"changes on each [i]iteration[/i].\n" +"\n" +"The code works regardless of the array or where you store it. Often, you " +"will store arrays in variables for easy access." +msgstr "" +"Para cada elemento dentro do array, o loop [code]for[/code] o extrai, " +"armazena ele na variável temporária chamada [code]number[/code] e executa o " +"código do loop uma vez.\n" +"\n" +"Dentro do loop, pode acessar a variável [code]number[/code], que muda a cada " +"[i]iteração[/i] (a cada vez que o loop recomeçar).\n" +"\n" +"O código funciona independentemente do array ou onde o armazena. " +"Frequentemente, vai armazenar arrays em variáveis para facilitar o acesso a " +"eles." + +#: course/lesson-20-looping-over-arrays/lesson.tres:80 +msgid "What will this code print?" +msgstr "O que esse código vai imprimir no ecrã?" + +#: course/lesson-20-looping-over-arrays/lesson.tres:81 +msgid "" +"[code]var numbers = [0, 1, 2]\n" +"for number in numbers:\n" +" print(number)\n" +"[/code]" +msgstr "" +"[code]var numbers = [0, 1, 2]\n" +"for number in numbers:\n" +" print(number)\n" +"[/code]" + +#: course/lesson-20-looping-over-arrays/lesson.tres:86 +msgid "" +"Compared to previous examples, we store the array in the " +"[code]numbers[/code] variable. Using the [code]numbers[/code] variable in" +" our [code]for[/code] loop allows the computer to access the array of " +"numbers like before.\n" +"\n" +"We have three numbers in the array: [code]0[/code], [code]1[/code], and " +"[code]2[/code].\n" +"\n" +"The loop extracts each of them sequentially and assigns it to the " +"[code]number[/code] temporary variable. As the loop processes each " +"number, the output will print [code]0[/code], then [code]1[/code], then " +"[code]2[/code], each on a separate line." +msgstr "" +"Comparado aos exemplos anteriores, armazenamos o array na variável " +"[code]numbers[/code]. Usar a variável [code]numbers[/code] em nosso loop " +"[code]for[/code] permite que o computador acesse o array de números como " +"antes.\n" +"\n" +"Temos três números no array: [code]0[/code], [code]1[/code] e [code]2[/code]." +"\n" +"\n" +"O loop extrai cada um deles sequencialmente e o coloca na variável " +"temporária [code]number[/code]. Como, dentro do loop, imprimimos o número, a " +"saída vai imprimir [code]0[/code] no ecrã, depois [code]1[/code], depois " +"[code]2[/code], cada um numa linha separada." + +#: course/lesson-20-looping-over-arrays/lesson.tres:91 +#: course/lesson-20-looping-over-arrays/lesson.tres:92 +msgid "0, 1, and 2" +msgstr "0, 1 e 2" + +#: course/lesson-20-looping-over-arrays/lesson.tres:91 +msgid "1, 2, and 3" +msgstr "1, 2 e 3" + +#: course/lesson-20-looping-over-arrays/lesson.tres:91 +msgid "0, 0, and 0" +msgstr "0, 0 e 0" + +#: course/lesson-20-looping-over-arrays/lesson.tres:99 +msgid "Making the turtle walk, with a loop" +msgstr "Fazer a tartaruga se mover, com um loop" + +#: course/lesson-20-looping-over-arrays/lesson.tres:101 +msgid "" +"In the previous lesson, you made a turtle walk along a path by writing " +"[code]Vector2[/code] coordinates in an array." +msgstr "" +"Na lição anterior, fez uma tartaruga andar por um caminho por escrever as " +"coordenadas [code]Vector2[/code] num array." + +#: course/lesson-20-looping-over-arrays/lesson.tres:121 +msgid "" +"It's a [code]for[/code] loop that makes the turtle walk along the path.\n" +"\n" +"The loop works like this: for each coordinate in the array, it moves the " +"turtle once to that cell." +msgstr "" +"É um loop [code]for[/code] que faz a tartaruga andar pelo caminho.\n" +"\n" +"O loop funciona assim: para cada coordenada no array, ele move a tartaruga " +"uma vez para aquela célula." + +#: course/lesson-20-looping-over-arrays/lesson.tres:143 +msgid "It's the same principle with unit selection." +msgstr "É o mesmo princípio com a seleção de unidades." + +#: course/lesson-20-looping-over-arrays/lesson.tres:163 +msgid "" +"For each coordinate in an array named [code]selected_units[/code], we " +"check if there is a unit in that cell. If so, we select it. \n" +"\n" +"In that case, we use an array, a loop, and a condition together." +msgstr "" +"Para cada coordenada num array chamado [code]selected_units[/code], " +"verificamos se existe uma unidade naquela célula. Se sim, selecionamos ela. " +"\n" +"\n" +"Nesse caso, usamos um array, um loop e uma condição juntos." + +#: course/lesson-20-looping-over-arrays/lesson.tres:185 +msgid "" +"The code above uses several features you haven't learned yet:\n" +"\n" +"- In a condition, the [code]in[/code] keyword allows you to check if a " +"value exists [i]in[/i] an array.\n" +"- The array's [code]append()[/code] function appends a new value at the " +"end of the array.\n" +"\n" +"Notice the use of a period after the [code]selected_units[/code] " +"variable, to call the [code]append()[/code] function. It's because this " +"function exists only on arrays.\n" +"\n" +"When functions exist only on a specific value type, you write a dot after" +" the value to call the function on it.\n" +"\n" +"We'll revisit those two features again in the following lessons." +msgstr "" +"O código acima usa vários recursos que ainda não aprendeu:\n" +"\n" +"- Numa condição, a palavra-chave [code]in[/code] permite verificar se existe " +"um valor [i]dentro[/i] de um array.\n" +"- A função [code]append()[/code] do array adiciona um novo valor no final do " +"array.\n" +"\n" +"Observe o uso de um ponto final após a variável [code]selected_units[/code] " +"para chamar a função [code]append()[/code]. É porque essa função existe " +"apenas em arrays.\n" +"\n" +"Quando as funções existem apenas num tipo de valor específico, escreve um " +"ponto final após o valor para chamar a função nele.\n" +"\n" +"Vamos rever esses dois recursos novamente nas lições a seguir." + +#: course/lesson-20-looping-over-arrays/lesson.tres:204 +msgid "" +"The beauty of loops is that they work regardless of the size of your " +"arrays. \n" +"\n" +"The code just works whether you have one or ten thousand units to select." +" It is all accomplished with only a couple lines of code.\n" +"\n" +"That's the power of computer programming.\n" +"\n" +"In the following practices, you will use arrays combined with " +"[code]for[/code] loops to achieve similar results." +msgstr "" +"A beleza dos loops é que eles funcionam independentemente do tamanho dos " +"seus arrays. \n" +"\n" +"O código funciona igualmente se tiver uma ou 10.000 unidades para " +"selecionar. E isso com apenas algumas linhas de código.\n" +"\n" +"Isto é o poder da programação.\n" +"\n" +"Nas práticas a seguir, vai usar arrays combinadas com loops de " +"[code]for[/code] para obter resultados semelhantes." + +#: course/lesson-20-looping-over-arrays/lesson.tres:218 +msgid "Move the robot along the path" +msgstr "Mova o robô ao longo do caminho" + +#: course/lesson-20-looping-over-arrays/lesson.tres:219 +msgid "" +"Our AI pathfinding algorithm provided a path for the robot to move to the" +" right edge of the grid. Your task is to use a [code]for[/code] loop to " +"make the robot move.\n" +"\n" +"To move the robot, call [i]its[/i] [code]move_to()[/code] function, like " +"so: [code]robot.move_to()[/code].\n" +"\n" +"The [code]move_to()[/code] function only exists on the robot, which is " +"why you need to access it this way." +msgstr "" +"Nosso algoritmo de busca de IA forneceu um caminho para o robô se mover à " +"borda direita do grid. A sua tarefa é usar um loop [code]for[/code] para " +"fazer o robô se mover.\n" +"\n" +"Para mover o robô, chame a função [code]move_to()[/code] [i]dele[/i], assim: " +"[code]robot.move_to()[/code].\n" +"\n" +"A função [code]move_to()[/code] existe apenas no robô e é por isso que " +"precisa acessá-la dessa maneira." + +#: course/lesson-20-looping-over-arrays/lesson.tres:235 +msgid "" +"Our AI pathfinding algorithm is giving us a path to move the robot. Now, " +"you need to make the turtle move along the path." +msgstr "" +"Nosso algoritmo de busca de IA está nos dando um caminho para mover o robô. " +"Agora, precisa fazer a tartaruga se mover ao longo do caminho." + +#: course/lesson-20-looping-over-arrays/lesson.tres:240 +msgid "Back to the drawing board" +msgstr "De volta à prancheta de planejamento" + +#: course/lesson-20-looping-over-arrays/lesson.tres:241 +msgid "" +"We want to draw many rectangles, something surprisingly common in games.\n" +"\n" +"However, writing this code by hand can get tedious. Instead, you could " +"store the size of your shapes in arrays and use a loop to draw them all " +"in batches.\n" +"\n" +"That's what you'll do in this practice.\n" +"\n" +"Use a [code]for[/code] loop to draw every rectangle in the " +"[code]rectangle_sizes[/code] array with the [code]draw_rectangle()[/code]" +" function.\n" +"\n" +"The rectangles shouldn't overlap or cross each other. To avoid that, " +"you'll need to call the [code]jump()[/code] function." +msgstr "" +"Queremos desenhar muitos retângulos, algo surpreendentemente comum em jogos." +"\n" +"\n" +"Ao escrever o código à mão, torna-se tedioso ao longo do tempo. Ao invés " +"disso, geralmente vai armazenar o tamanho das suas formas em arrays e usa um " +"loop para desenhá-las em lotes.\n" +"\n" +"É o que vai fazer nesta prática.\n" +"\n" +"Use um loop [code]for[/code] para desenhar cada retângulo no array " +"[code]rectangle_sizes[/code] com a função [code]draw_rectangle()[/code].\n" +"\n" +"Os retângulos não devem se sobrepor ou se cruzar. Para evitar isso, vai " +"precisar de chamar a função [code]jump()[/code]." + +#: course/lesson-20-looping-over-arrays/lesson.tres:261 +msgid "" +"The drawing turtle makes its comeback. Fear not! Armed with loops, you'll" +" make it draw faster than ever before." +msgstr "" +"A tartaruga que desenha está de volta. Não tenha medo! Armado com loops, " +"fará com que ela desenhe mais rápido do que nunca." + +#: course/lesson-20-looping-over-arrays/lesson.tres:265 +msgid "Looping over arrays" +msgstr "Fazendo loops dentro dos arrays" diff --git a/i18n/pt/lesson-21-strings.po b/i18n/pt/lesson-21-strings.po new file mode 100644 index 00000000..ba37dd60 --- /dev/null +++ b/i18n/pt/lesson-21-strings.po @@ -0,0 +1,198 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-21-strings/lesson.tres:14 +msgid "" +"Throughout this course, we've mostly stored numbers in variables. But " +"what if we wanted to store a player's name?\n" +"\n" +"This is where strings help us.\n" +"\n" +"Strings are instrumental in games and applications. We use them to " +"display information such as the description of a spell or the name of a " +"character." +msgstr "" +"Ao longo desse curso, armazenamos principalmente números em variáveis. Mas e " +"se quiséssemos armazenar o nome de um jogador?\n" +"\n" +"É aqui que as strings nos ajudam.\n" +"\n" +"Strings são fundamentais em jogos e aplicações. Usamos-as para exibir " +"informações como a descrição de um feitiço ou o nome de um personagem." + +#: course/lesson-21-strings/lesson.tres:36 +msgid "What are strings" +msgstr "O que são strings" + +#: course/lesson-21-strings/lesson.tres:38 +msgid "" +"A [code]String[/code] is a value type which holds text. To create a " +"[code]String[/code], you write text wrapped in quotation marks " +"([code]\"\"[/code]). For example: [code]\"This is a text string.\"[/code]" +"\n" +"\n" +"The quotation marks differentiate strings from other value types and " +"function names.\n" +"\n" +"You may remember we've used strings before in previous lessons." +msgstr "" +"Uma [code]String[/code] é um tipo de valor que contém texto. Para criar uma " +"[code]String[/code], escreve o texto entre aspas ([code]\"\"[/code]). Por " +"exemplo: [code]\"Esta é uma string de texto.\"[/code]\n" +"\n" +"As aspas diferenciam strings de outros tipos de valores e nomes de funções.\n" +"\n" +"Deve lembrar-se que já usamos strings em lições anteriores." + +#: course/lesson-21-strings/lesson.tres:62 +msgid "" +"Under the hood, strings are arrays of characters. In fact, we can use a " +"[code]for[/code] loop to loop through the characters of a " +"[code]String[/code] as we would with any other array." +msgstr "" +"Na realidade, as strings são arrays de caracteres. Podemos usar um loop " +"[code]for[/code] para percorrer os caracteres de uma [code]String[/code] da " +"mesma forma que fazemos com os arrays normalmente." + +#: course/lesson-21-strings/lesson.tres:80 +msgid "Which of these are strings?" +msgstr "Quais dessas opções são strings?" + +#: course/lesson-21-strings/lesson.tres:83 +msgid "" +"[code]\"1\"[/code] and [code]\"name\"[/code] are strings.\n" +"\n" +"[code]\"1\"[/code] only contains a character and [i]doesn't[/i] represent" +" the number [code]1[/code].\n" +"\n" +"[code]\"name\"[/code] is made up of four different characters." +msgstr "" +"[code]\"1\"[/code] e [code]\"name\"[/code] são strings.\n" +"\n" +"[code]\"1\"[/code] contém apenas um caractere e [i]não[/i] representa o " +"número [code]1[/code].\n" +"\n" +"[code]\"name\"[/code] é composto por quatro caracteres diferentes." + +#: course/lesson-21-strings/lesson.tres:88 +msgid "1" +msgstr "1" + +#: course/lesson-21-strings/lesson.tres:88 +#: course/lesson-21-strings/lesson.tres:89 +msgid "\"1\"" +msgstr "\"1\"" + +#: course/lesson-21-strings/lesson.tres:88 +#: course/lesson-21-strings/lesson.tres:89 +msgid "\"name\"" +msgstr "\"name\"" + +#: course/lesson-21-strings/lesson.tres:96 +msgid "Why we use strings" +msgstr "Por quê usamos strings" + +#: course/lesson-21-strings/lesson.tres:118 +msgid "" +"Every piece of text you see in this app is a string that Godot is " +"displaying for us.\n" +"\n" +"Much like how [code]Vector2[/code] variables make calculations easier, " +"[code]string[/code] variables come with many helper functions and tricks " +"we can use.\n" +"\n" +"We can use arrays to store strings too. This is useful for chaining " +"animations. In this example, the [code]play_animation()[/code] plays a " +"specific animation." +msgstr "" +"Cada pedaço de texto que vê nesta aplicação é uma string que a Godot exibe " +"para nós.\n" +"\n" +"Assim como as variáveis [code]Vector2[/code] facilitam os cálculos, as " +"variáveis de [code]string[/code] vêm com muitas funções auxiliares e truques " +"que podemos usar.\n" +"\n" +"Podemos usar arrays para armazenar strings também. Isso é útil para encadear " +"animações. Nesse exemplo, o [code]play_animation()[/code] reproduz uma " +"animação específica." + +#: course/lesson-21-strings/lesson.tres:142 +msgid "" +"In the next few practices, we'll use strings in combination with " +"different concepts from earlier lessons." +msgstr "" +"Nas próximas práticas, vamos usar strings em combinação com diferentes " +"conceitos das lições anteriores." + +#: course/lesson-21-strings/lesson.tres:150 +msgid "Creating string variables" +msgstr "Criando variáveis do tipo string" + +#: course/lesson-21-strings/lesson.tres:151 +msgid "" +"Currently, the robot has a number stored in the [code]robot_name[/code] " +"variable. \n" +"\n" +"Change the [code]robot_name[/code] variable so that it's a string " +"instead. You can give it any name you'd like." +msgstr "" +"Atualmente, o robô tem um número armazenado na variável " +"[code]robot_name[/code]. \n" +"\n" +"Altere a variável [code]robot_name[/code] para que seja uma string. Pode dar " +"o nome que quiser." + +#: course/lesson-21-strings/lesson.tres:163 +msgid "Give the robot a readable name using a string stored in a variable." +msgstr "Dê ao robô um nome legível usando uma string armazenada numa variável." + +#: course/lesson-21-strings/lesson.tres:168 +msgid "Using an array of strings to play a combo" +msgstr "Usando um array de strings para executar um combo" + +#: course/lesson-21-strings/lesson.tres:169 +msgid "" +"In this practice, we'll chain together animations using an array of " +"strings. You might find such combinations in fighting games.\n" +"\n" +"The robot has the following animation names:\n" +"\n" +"- [code]jab[/code] (makes the robot perform a quick punch)\n" +"- [code]uppercut[/code] (the robot uses a powerful jumping punch)\n" +"\n" +"Populate the combo array with animation names as strings.\n" +"\n" +"Then, for each action in the array, call the " +"[code]play_animation()[/code] function to play them.\n" +"\n" +"The robot should do the following actions in order: [code]jab, jab, " +"uppercut[/code]." +msgstr "" + +#: course/lesson-21-strings/lesson.tres:190 +msgid "Define an array of strings to unleash a powerful combo." +msgstr "Defina um array de strings para liberar um combo poderoso." + +#: course/lesson-21-strings/lesson.tres:194 +msgid "Strings" +msgstr "Strings" diff --git a/i18n/pt/lesson-22-functions-return-values.po b/i18n/pt/lesson-22-functions-return-values.po new file mode 100644 index 00000000..f55eee75 --- /dev/null +++ b/i18n/pt/lesson-22-functions-return-values.po @@ -0,0 +1,211 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-22-functions-return-values/lesson.tres:13 +msgid "" +"Until now, you learned that functions are sequences of instructions you " +"give a name and you can call any time.\n" +"\n" +"On top of that, functions can make calculations and [i]return[/i] new " +"values.\n" +"\n" +"Let's look at some examples to see why it's useful." +msgstr "" +"Até agora, aprendeu que funções são sequências de instruções que dá um nome " +"e pode chamar a qualquer momento.\n" +"\n" +"Além disso, as funções podem fazer cálculos e [i]retornar[/i] novos valores." +"\n" +"\n" +"Vamos ver alguns exemplos para ver por que isso é útil." + +#: course/lesson-22-functions-return-values/lesson.tres:25 +msgid "Built-in functions that return a value" +msgstr "Funções embutidas prontas que retornam um valor" + +#: course/lesson-22-functions-return-values/lesson.tres:27 +msgid "" +"Many functions built into GDScript make calculations and return a new " +"value.\n" +"\n" +"For example, the [code]round()[/code] function takes a decimal number as " +"an argument and gives you back a new number rounded to the nearest digit." +msgstr "" +"Muitas funções já incorporadas no GDScript fazem cálculos e retornam um novo " +"valor.\n" +"\n" +"Por exemplo, a função [code]round()[/code] recebe um número decimal como " +"argumento e retorna um novo número arredondado ao dígito mais próximo." + +#: course/lesson-22-functions-return-values/lesson.tres:49 +msgid "" +"Imagine you have a game where you track the player's health as a " +"percentage, a decimal number going from [code]0.0[/code] to " +"[code]100.0[/code]. \n" +"\n" +"When displaying the health on the interface, you don't want to show the " +"decimal part. In that case, you may use the [code]round()[/code] " +"function, like so." +msgstr "" + +#: course/lesson-22-functions-return-values/lesson.tres:71 +msgid "" +"Notice how we assign the result of the function call to a variable. " +"Because the [code]round()[/code] function returns a [i]new[/i] value, we " +"need to either store the result or use the value immediately.\n" +"\n" +"Above, we assigned it to a variable, but you could also do the following." +msgstr "" +"Observe como atribuímos o resultado da chamada de função a uma variável. " +"Como a função [code]round()[/code] retorna um [i]novo[/i] valor, precisamos " +"armazenar o resultado ou usar o valor imediatamente.\n" +"\n" +"Acima, atribuímos-o a uma variável, mas também pode fazer o seguinte." + +#: course/lesson-22-functions-return-values/lesson.tres:93 +msgid "" +"You can assign the return value of a function call if you plan on using " +"it more than once." +msgstr "" +"Pode atribuir o valor de retorno de uma chamada de função se planeja usá-lo " +"mais que uma vez." + +#: course/lesson-22-functions-return-values/lesson.tres:101 +msgid "A cooler example: lerp()" +msgstr "Um exemplo mais fixe: lerp()" + +#: course/lesson-22-functions-return-values/lesson.tres:103 +msgid "" +"The [code]lerp()[/code] function, short for [i]linear interpolate[/i], " +"calculates and returns a weighted average between two values.\n" +"\n" +"It takes three arguments: the two values to average and a value between " +"[code]0.0[/code] and [code]1.0[/code] to skew the result.\n" +"\n" +"In game programming, it's used to animate things moving towards a target " +"with a single line of code." +msgstr "" +"A função [code]lerp()[/code], abreviação de [i]interpolação linear[/i], " +"calcula e retorna uma média entre dois valores.\n" +"\n" +"Três argumentos são necessários: os dois valores para a média e um valor " +"entre [code]0.0[/code] e [code]1.0[/code] para distorcer o resultado.\n" +"\n" +"Em programação para jogos, é usado para animar coisas que se movem em " +"direção a um alvo com uma única linha de código." + +#: course/lesson-22-functions-return-values/lesson.tres:137 +msgid "" +"Every frame, the code calculates a position somewhere between the turtle " +"and the mouse cursor. The [code]lerp()[/code] function takes care of " +"everything.\n" +"\n" +"It's not the most robust approach for smooth movement, as you'll learn in" +" the future, but it's a helpful function nonetheless." +msgstr "" +"A cada frame, o código calcula uma posição em algum lugar entre a tartaruga " +"e o cursor do rato. A função [code]lerp()[/code] faz isso tudo por ela mesma." +"\n" +"\n" +"Não é a abordagem mais robusta para movimentos suaves, como vai aprender no " +"futuro, mas ainda assim é uma função útil." + +#: course/lesson-22-functions-return-values/lesson.tres:147 +msgid "Writing a function that returns a value" +msgstr "Escrevendo uma função que retorna um valor" + +#: course/lesson-22-functions-return-values/lesson.tres:149 +msgid "" +"You can make [i]your[/i] functions return values. \n" +"\n" +"To make a function return a value, you use the [code]return[/code] " +"keyword followed by the value in question.\n" +"\n" +"In previous lessons, we had characters walking on grids.\n" +"\n" +"And for those practices, you were working directly with cell coordinates." +"\n" +"\n" +"Well, cell coordinates don't correspond to positions on the screen, so we" +" need to convert cell positions to screen positions." +msgstr "" + +#: course/lesson-22-functions-return-values/lesson.tres:177 +msgid "" +"To do so, we use a function. It multiplies the cell coordinate by the " +"cell size, adds half the cell size to the product, and returns the " +"result." +msgstr "" + +#: course/lesson-22-functions-return-values/lesson.tres:197 +msgid "" +"The [code]return[/code] keyword returns the value to the code calling the" +" function. You'll receive the result where you call the function." +msgstr "" +"A palavra-chave [code]return[/code] retorna o valor para o código que chama " +"a função. Vai receber o resultado onde chamar a função." + +#: course/lesson-22-functions-return-values/lesson.tres:217 +msgid "" +"Some functions return values, and some do not. You can learn which " +"functions return a result using the documentation panel in the practice " +"screen.\n" +"\n" +"There, functions that start with the term [code]void[/code] do not return" +" a value. Any other term means the function does return a value. You'll " +"learn more about what other terms mean in a couple of lessons when we " +"explore value [i]types[/i].\n" +"\n" +"For now, let's practice returning values from functions!" +msgstr "" + +#: course/lesson-22-functions-return-values/lesson.tres:229 +msgid "Converting coordinates from the grid to the screen" +msgstr "Converter coordenadas do grid para o ecrã" + +#: course/lesson-22-functions-return-values/lesson.tres:230 +msgid "" +"Define a function that converts a position on a grid to the screen.\n" +"\n" +"The function takes a [code]Vector2[/code] cell coordinate as an argument." +" It should return the corresponding [code]Vector2[/code] screen " +"coordinates at the center of the cell." +msgstr "" +"Defina uma função que converta uma posição de um grid para o ecrã.\n" +"\n" +"A função recebe as coordenadas de uma célula do tipo [code]Vector2[/code] " +"como argumento. Ela deve retornar as coordenadas do ecrã do tipo " +"[code]Vector2[/code] no centro da célula." + +#: course/lesson-22-functions-return-values/lesson.tres:244 +msgid "" +"We lost the function to convert grid coordinates, but we desperately need" +" it for our game! Make the turtle move again by coding it." +msgstr "" +"Perdemos a função de converter as coordenadas de grid, mas precisamos " +"desesperadamente dela para o nosso jogo! Faça a tartaruga se mover novamente " +"programando-a." + +#: course/lesson-22-functions-return-values/lesson.tres:248 +msgid "Functions that return a value" +msgstr "Funções que retornam um valor" diff --git a/i18n/pt/lesson-23-append-to-arrays.po b/i18n/pt/lesson-23-append-to-arrays.po new file mode 100644 index 00000000..96daec94 --- /dev/null +++ b/i18n/pt/lesson-23-append-to-arrays.po @@ -0,0 +1,313 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-23-append-to-arrays/lesson.tres:13 +msgid "" +"In previous lessons, you learned how to create arrays to store lists of " +"values and how to loop over them. It's nice, but you won't go far with " +"only that.\n" +"\n" +"The real strength of arrays is that you can add and remove values from " +"them at any time. It allows you to [i]queue[/i] or [i]stack[/i] data." +msgstr "" +"Nas lições anteriores, aprendeu como criar arrays para armazenar listas de " +"valores e como fazer um loop sobre eles. É útil, mas não vai longe só com " +"isso.\n" +"\n" +"A verdadeira força dos arrays é que pode adicionar e remover valores deles a " +"qualquer momento. Permite-lhe [i]enfileirar[/i] ou [i]empilhar[/i] dados." + +#: course/lesson-23-append-to-arrays/lesson.tres:25 +msgid "For now, let's take another example." +msgstr "Por enquanto, vamos ver outro exemplo." + +#: course/lesson-23-append-to-arrays/lesson.tres:33 +msgid "Tracking orders in a restaurant management game" +msgstr "Rasteamento de pedidos num jogo de gestão de restaurante" + +#: course/lesson-23-append-to-arrays/lesson.tres:35 +msgid "" +"You're making a restaurant management game where customers place orders, " +"and you need to handle them as they come.\n" +"\n" +"In this game, customers order meals that end up in a queue. You need to " +"prepare them in the kitchen.\n" +"\n" +"In this example, we simulate orders arriving and getting completed over " +"time." +msgstr "" +"Está a fazer um jogo de gestão de restaurante onde os clientes fazem pedidos " +"e precisa lidar com eles à medida que eles chegam.\n" +"\n" +"Nesse jogo, os clientes pedem refeições que acabam numa fila. Precisa " +"prepará-las na cozinha.\n" +"\n" +"Nesse exemplo, simulamos pedidos chegando e sendo concluídos ao longo do " +"tempo." + +#: course/lesson-23-append-to-arrays/lesson.tres:59 +msgid "" +"How do you keep track of pending and completed orders? With an array!\n" +"\n" +"When a customer purchases a meal, you want to [i]append[/i] it to the " +"array. Then, as you complete a meal in the kitchen and serve it, you want" +" to remove it from the array.\n" +"\n" +"You can do that with the [code]append()[/code] and the " +"[code]pop_front()[/code] functions of the array, respectively.\n" +"\n" +"Try to read the code below before moving on. Don't worry if not " +"everything makes sense, as we'll break it all down." +msgstr "" +"Como controla os pedidos pendentes e concluídos? Com um array!\n" +"\n" +"Quando um cliente compra uma refeição, você deseja [i]adiciona-la[/i] no " +"array. Então, ao completar uma refeição na cozinha e servi-la, deseja removê-" +"la do array.\n" +"\n" +"Pode fazer isso com as funções [code]append()[/code] e " +"[code]pop_front()[/code] do array, respectivamente.\n" +"\n" +"Tente ler o código abaixo antes de prosseguir. Não se preocupe se nem tudo " +"fizer sentido, porque vamos entrar em detalhes para explicar." + +#: course/lesson-23-append-to-arrays/lesson.tres:85 +msgid "" +"Notice how we call some functions by writing a dot after a variable name." +" Like a given value type can have sub-variables, it can also have its own" +" functions.\n" +"\n" +"Functions like [code]append()[/code] and [code]pop_front()[/code] only " +"exist on arrays. That's why to call them, we need to access it from the " +"array using the dot: [code]array.append()[/code]." +msgstr "" +"Observe como chamamos algumas funções escrevendo um ponto final após o nome " +"de uma variável. Assim como um determinado tipo de valor pode ter sub-" +"variáveis, um array também pode ter funções próprias.\n" +"\n" +"Funções como [code]append()[/code] e [code]pop_front()[/code] só existem em " +"arrays. É por isso que para chamá-las, precisamos acessá-las no array usando " +"o ponto final: [code]array.append()[/code]." + +#: course/lesson-23-append-to-arrays/lesson.tres:97 +msgid "" +"Let's break down the code.\n" +"\n" +"We queue orders in the [code]waiting_orders[/code] array by appending " +"them to the array." +msgstr "" +"Vamos analisar em detalhes o código.\n" +"\n" +"Enfileiramos pedidos no array [code]waiting_orders[/code] anexando os " +"pedidos nele." + +#: course/lesson-23-append-to-arrays/lesson.tres:119 +msgid "" +"We can use a string to represent a meal when calling the " +"[code]add_order()[/code] function." +msgstr "" +"Podemos usar uma string para representar uma refeição ao chamar a função " +"[code]add_order()[/code]." + +#: course/lesson-23-append-to-arrays/lesson.tres:139 +msgid "" +"When completing an order, we remove it from the " +"[code]waiting_orders[/code] array by calling its [code]pop_front()[/code]" +" function. This function gives us the order back, which allows us to " +"assign it to a temporary variable." +msgstr "" +"Ao concluir um pedido, removemo-lo do array [code]waiting_orders[/code] " +"chamando a função [code]pop_front()[/code] dele. Essa função devolve-nos o " +"pedido, o que nos permite atribuí-lo a uma variável temporária." + +#: course/lesson-23-append-to-arrays/lesson.tres:159 +msgid "We can then append the order to our [code]completed_orders[/code] array." +msgstr "" +"Podemos então anexar o pedido ao nosso array [code]completed_orders[/code]." + +#: course/lesson-23-append-to-arrays/lesson.tres:179 +msgid "" +"We call arrays like [code]waiting_orders[/code] a [i]queue[/i]: the first" +" element we append to the array is the first one we remove." +msgstr "" +"Chamamos arrays como [code]waiting_orders[/code] de [i]queue[/i]: o primeiro " +"elemento que anexamos ao array é o primeiro que removemos." + +#: course/lesson-23-append-to-arrays/lesson.tres:187 +msgid "What does #... mean?" +msgstr "O que significa #...?" + +#: course/lesson-23-append-to-arrays/lesson.tres:189 +msgid "" +"We write [code]#...[/code] to represent ellipses in the code. It means " +"\"we're completing the function's code.\" We use that to break down code " +"examples and make them easier to learn from.\n" +"\n" +"The hash sign itself marks the start of a code comment. It's a line the " +"computer will ignore, which is why it typically appears in grey." +msgstr "" +"Escrevemos [code]#...[/code] para representar elipses no código. Significa " +"\"estamos a completar o código da função\". Usamos isso para detalhar " +"exemplos de código e torná-los mais fáceis de aprender.\n" +"\n" +"O próprio sinal de hash (jogo da velha) marca o início de um comentário de " +"código. É uma linha que o computador vai ignorar e é por isso que " +"normalmente aparece em cinzento." + +#: course/lesson-23-append-to-arrays/lesson.tres:199 +msgid "Using arrays as stacks" +msgstr "Usando arrays como stacks (empilhamento de dados)" + +#: course/lesson-23-append-to-arrays/lesson.tres:201 +msgid "" +"Another common use of arrays is [i]stacks[/i] of data.\n" +"\n" +"Take a factory management game where you need to retrieve materials from " +"stacks of crates. They arrive at the factory piled up vertically, and you" +" need to take them from top to bottom." +msgstr "" +"Outro uso comum de arrays são [i]stacks[/i] (ou empilhamento) de dados.\n" +"\n" +"Imagine um jogo de gestão de fábrica onde recupera materiais de uma pilha de " +"caixas. Elas chegam na fábrica empilhadas verticalmente e você precisa tirá-" +"las de cima para baixo." + +#: course/lesson-23-append-to-arrays/lesson.tres:223 +msgid "" +"To take a crate from the back of the array, this time, we use the " +"[code]pop_back()[/code] array function.\n" +"\n" +"This function removes (pops) the last value from the array and returns it" +" to you.\n" +"\n" +"Here we pop the last value of the array and print what's left of the " +"array to demonstrate how the array gets smaller." +msgstr "" +"Para tirar uma caixa da parte de trás do array, dessa vez, usamos a função " +"array [code]pop_back()[/code].\n" +"\n" +"Essa função remove (a palavra 'pop' da função significa remover) o último " +"valor do array e retorna-o para si.\n" +"\n" +"Aqui retiramos o último valor do array e imprimimos o que resta do array " +"para demonstrar como o array ficou menor." + +#: course/lesson-23-append-to-arrays/lesson.tres:247 +msgid "" +"Like [code]pop_front()[/code], the function returns the value removed " +"from the array. You will often store that value in a variable.\n" +"\n" +"The value in question could be the crate's content, which you can then " +"use to give resources to the player.\n" +"\n" +"In the following practices, you will use the [code]append()[/code], " +"[code]pop_front()[/code], and [code]pop_back()[/code] array functions." +msgstr "" +"Assim como [code]pop_front()[/code], a função retorna o valor removido do " +"array. Muitas vezes vai armazenar esse valor numa variável.\n" +"\n" +"O valor em questão pode ser o conteúdo da caixa, que pode usar para fornecer " +"recursos ao jogador.\n" +"\n" +"Nas práticas a seguir, vai usar as funções do array [code]append()[/code], " +"[code]pop_front()[/code] e [code]pop_back()[/code]." + +#: course/lesson-23-append-to-arrays/lesson.tres:259 +msgid "Completing orders" +msgstr "Concluindo pedidos" + +#: course/lesson-23-append-to-arrays/lesson.tres:260 +msgid "" +"The [code]waiting_orders[/code] array will be filled over time.\n" +"\n" +"Your job is to move orders from the waiting list to the " +"[code]completed_orders[/code] list using the array's " +"[code]append()[/code] and [code]pop_front()[/code] functions.\n" +"\n" +"Remember that the array's [code]pop_front()[/code] function returns the " +"popped value, which allows you to store it in a variable and then pass it" +" to another function." +msgstr "" +"O array [code]waiting_orders[/code] vai ficar cheio com o tempo.\n" +"\n" +"O seu trabalho é mover pedidos da lista de espera para a lista " +"[code]completed_orders[/code] usando as funções [code]append()[/code] e " +"[code]pop_front()[/code] do array.\n" +"\n" +"Lembre-se que a função [code]pop_front()[/code] do array retorna o valor " +"removido, que te permite armazená-lo numa variável e depois passá-lo para " +"outra função." + +#: course/lesson-23-append-to-arrays/lesson.tres:277 +msgid "" +"Orders are piling up in the kitchen, and we need to clear them fast using" +" the array's [code]pop_front()[/code] function." +msgstr "" +"Os pedidos acumulam-se na cozinha e precisamos completa-los rapidamente " +"usando a função [code]pop_front()[/code] do array." + +#: course/lesson-23-append-to-arrays/lesson.tres:282 +msgid "Clearing up the crates" +msgstr "Limpar as caixas" + +#: course/lesson-23-append-to-arrays/lesson.tres:283 +msgid "" +"Crates are piling up on the platform. Move them out of the way by popping" +" them from the [code]crates[/code] array.\n" +"\n" +"You need to remove them from top to bottom using the array's " +"[code]pop_back()[/code] function.\n" +"\n" +"Your code should remove all the crates in the array using a while loop.\n" +"\n" +"[b]Careful![/b] if you run a while loop carelessly, you can lock the " +"software.\n" +"\n" +"You can check if the [code]crates[/code] array still contains values by " +"writing [code]while crates:[/code]" +msgstr "" +"As caixas acumulam-se na plataforma. Tire-as do caminho removendo-as do " +"array [code]crates[/code].\n" +"\n" +"Precisa removê-las de cima para baixo usando a função [code]pop_back()[/code]" +" do array.\n" +"\n" +"O seu código deve remover todas as caixas do array usando um loop while.\n" +"\n" +"[b]Cuidado![/b] se executar um loop de while de forma descuidada, poderá " +"travar a aplicação.\n" +"\n" +"Pode verificar se o array [code]crates[/code] ainda contém valores " +"escrevendo [code]while crates:[/code]" + +#: course/lesson-23-append-to-arrays/lesson.tres:303 +msgid "" +"Crates are piling up on the platform. Move them out of the way by popping" +" them from their array." +msgstr "" +"As caixas acumulam-se na plataforma. Mova-as para fora do caminho, tirando-" +"as do array." + +#: course/lesson-23-append-to-arrays/lesson.tres:307 +msgid "Appending and popping values from arrays" +msgstr "Anexar e remover valores de arrays" diff --git a/i18n/pt/lesson-24-access-array-indices.po b/i18n/pt/lesson-24-access-array-indices.po new file mode 100644 index 00000000..3ecbd90c --- /dev/null +++ b/i18n/pt/lesson-24-access-array-indices.po @@ -0,0 +1,269 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-24-access-array-indices/lesson.tres:14 +msgid "" +"You learned to loop over all the values in an array using the " +"[code]for[/code] keyword." +msgstr "" +"Aprendeu a fazer um loop sobre todos os valores num array usando a palavra-" +"chave [code]for[/code]." + +#: course/lesson-24-access-array-indices/lesson.tres:34 +msgid "" +"But what if you need to access the third item in the player's inventory? " +"The tenth item?\n" +"\n" +"There's a dedicated notation to access one element in an array by index.\n" +"\n" +"To do so, you use square brackets with a number inside the brackets." +msgstr "" +"Mas e se precisar de aceder o terceiro item no inventário do jogador? O " +"décimo item?\n" +"\n" +"Há uma notação dedicada para aceder um elemento num array por índice.\n" +"\n" +"Para fazê-lo, use colchetes com um número entre eles." + +#: course/lesson-24-access-array-indices/lesson.tres:58 +msgid "Index zero is the [i]first[/i] element in the array." +msgstr "O índice zero é o [i]primeiro[/i] elemento no array." + +#: course/lesson-24-access-array-indices/lesson.tres:78 +msgid "" +"Index one is the [i]second[/i] element in the array, and so on.\n" +"\n" +"You would access the [i]fourth[/i] element in the [code]inventory[/code] " +"array like so." +msgstr "" +"O índice número um é o [i]segundo[/i] elemento no array e assim por diante.\n" +"\n" +"Assim acederia o [i]quarto[/i] elemento no array [code]inventory[/code]." + +#: course/lesson-24-access-array-indices/lesson.tres:98 +msgid "" +"How would you access the [i]third[/i] item in the [code]inventory[/code] " +"array?" +msgstr "Como acederia o [i]terceiro[/i] item no array [code]inventory[/code]?" + +#: course/lesson-24-access-array-indices/lesson.tres:101 +msgid "" +"Indices start at zero, so the index of the [i]third[/i] item is " +"[code]2[/code]. That's why you need to write [code]inventory[2][/code]." +msgstr "" +"Os índices começam com zero, então o índice do [i]terceiro[/i] item é " +"[code]2[/code]. É por isso que deve escrever [code]inventory[2][/code]." + +#: course/lesson-24-access-array-indices/lesson.tres:102 +#: course/lesson-24-access-array-indices/lesson.tres:103 +msgid "inventory[2]" +msgstr "inventory[2]" + +#: course/lesson-24-access-array-indices/lesson.tres:102 +msgid "inventory[3]" +msgstr "inventory[3]" + +#: course/lesson-24-access-array-indices/lesson.tres:110 +msgid "Accessing the last values with negative indices" +msgstr "Acessando os últimos valores com índices negativos" + +#: course/lesson-24-access-array-indices/lesson.tres:112 +msgid "" +"What if you want to access the last or second-before-last item in the " +"[code]inventory[/code]?\n" +"\n" +"In that case, you can use negative indices. If you write [code]-1[/code] " +"in the brackets, you will get the last item in the array. You will get " +"the second-to-last item if you write [code]-2[/code]." +msgstr "" +"E se quiser aceder o último ou penúltimo item no array " +"[code]inventory[/code]?\n" +"\n" +"Nesse caso, pode usar índices negativos. Se escrever [code]-1[/code] nos " +"colchetes, vai obter o último item do array. Vai obter o penúltimo item se " +"escrever [code]-2[/code]." + +#: course/lesson-24-access-array-indices/lesson.tres:134 +msgid "" +"That's very convenient when you need to quickly access elements from the " +"end of the list." +msgstr "" +"Isso é muito conveniente quando precisa aceder rapidamente os elementos do " +"final da lista." + +#: course/lesson-24-access-array-indices/lesson.tres:142 +msgid "How would you access the third-to-last item in the inventory array?" +msgstr "Como acederia o antepenúltimo item no array inventory ?" + +#: course/lesson-24-access-array-indices/lesson.tres:145 +msgid "" +"When using negative indices, [code]-1[/code] means the [i]last[/i] " +"element in the array. Index [code]-2[/code] will be the second-to-last, " +"thus [code]-3[/code] will be the third-to-last.\n" +"\n" +"It can be little confusing as it seems to work differently from positive " +"indices. However, it's because there's no difference between index " +"[code]0[/code] and [code]-0[/code]: they both point to the first item in " +"the array." +msgstr "" +"Ao usar índices negativos, [code]-1[/code] significa o [i]último[/i] " +"elemento no array. O índice [code]-2[/code] será o penúltimo, portanto " +"[code]-3[/code] será o antepenúltimo.\n" +"\n" +"Pode ser um pouco confuso, pois parece funcionar de maneira diferente dos " +"índices positivos. No entanto, é porque não há diferença entre o índice " +"[code]0[/code] e [code]-0[/code]: ambos apontam para o primeiro item no " +"array." + +#: course/lesson-24-access-array-indices/lesson.tres:148 +#: course/lesson-24-access-array-indices/lesson.tres:149 +msgid "inventory[-3]" +msgstr "inventory[-3]" + +#: course/lesson-24-access-array-indices/lesson.tres:148 +msgid "inventory[-2]" +msgstr "inventory[-2]" + +#: course/lesson-24-access-array-indices/lesson.tres:156 +msgid "You can't access non-existent indices" +msgstr "Não pode aceder índices que não existem" + +#: course/lesson-24-access-array-indices/lesson.tres:158 +msgid "" +"There's a catch with this syntax: if you try to access an index that does" +" not exist, you will get an error. You have to be careful always to " +"access existing elements in the array.\n" +"\n" +"There are a couple of ways you can check for valid indices. One of them " +"is checking the array's size." +msgstr "" +"Há um problema com essa sintaxe: se tentar aceder um índice que não existe, " +"receberá um erro. Tem que ter cuidado sempre a aceder elementos existentes " +"no array.\n" +"\n" +"Existem algumas maneiras de verificar se há índices válidos. Uma delas é " +"verificar o tamanho do array." + +#: course/lesson-24-access-array-indices/lesson.tres:170 +msgid "" +"[b]Checking the size of the array[/b]\n" +"\n" +"Arrays come with a member function named [code]size()[/code]. You can " +"call it on the array anytime to know its [i]current[/i] size." +msgstr "" +"[b]Verificar o tamanho do array[/b]\n" +"\n" +"Arrays vêm com uma função membro chamada [code]size()[/code]. Pode chamá-la " +"no array a qualquer momento para saber o tamanho [i]atual[/i] dele." + +#: course/lesson-24-access-array-indices/lesson.tres:192 +msgid "" +"The maximum index you can access in an array is [code]array.size() - " +"1[/code]: it's the last item in the array." +msgstr "" +"O índice máximo que pode aceder num array é [code]array.size() - 1[/code]: é " +"o último item do array." + +#: course/lesson-24-access-array-indices/lesson.tres:212 +msgid "" +"In the following practices, you will use array indices to realign train " +"tracks and grab the correct item in an inventory." +msgstr "" +"Nas práticas a seguir, vai usar índices de array para realinhar trilhos de " +"comboio e escolher o item correto num inventário." + +#: course/lesson-24-access-array-indices/lesson.tres:220 +msgid "Using the right items" +msgstr "Usando os itens certos" + +#: course/lesson-24-access-array-indices/lesson.tres:221 +msgid "" +"In our game, the player has an inventory that works as an array under the" +" hood.\n" +"\n" +"They want to equip a sword and a shield to buff their characters. Like " +"before, we need you to find them in the array.\n" +"\n" +"You need to access elements in the [code]inventory[/code] array by index " +"to do so.\n" +"\n" +"Call the [code]use_item()[/code] function with the item as an argument to" +" use an item. For example, you can use the first item by calling " +"[code]use_item(inventory[0])[/code]." +msgstr "" +"No nosso jogo, o jogador tem um inventário que, na verdade, funciona como um " +"array.\n" +"\n" +"Eles querem usar uma espada e um escudo para aumentar a força das suas " +"personagens. Como antes, precisamos que você os encontre no array.\n" +"\n" +"Para fazê-lo, deve aceder os elementos no array [code]inventory[/code] " +"usando índice.\n" +"\n" +"Chame a função [code]use_item()[/code] com o item como um argumento para " +"usar um item. Por exemplo, pode usar o primeiro item chamando a função " +"[code]use_item(inventory[0])[/code]." + +#: course/lesson-24-access-array-indices/lesson.tres:239 +msgid "Find the right items to use in the player's inventory." +msgstr "Encontre os itens certos para usar no inventário do jogador." + +#: course/lesson-24-access-array-indices/lesson.tres:244 +msgid "Realigning the train tracks" +msgstr "Realinhando os trilhos do comboio" + +#: course/lesson-24-access-array-indices/lesson.tres:245 +msgid "" +"We have train tracks broken down into little chunks in our game. We use " +"them to make modular tracks and draw circuits of all shapes and sizes.\n" +"\n" +"However, several chunks are misaligned. You need to find them in the " +"[code]tracks[/code] array and pass them to the [code]align()[/code] " +"function.\n" +"\n" +"To do so, you need to access the array by index.\n" +"\n" +"This time, though, you need to access them with [i]negative indices[/i]." +msgstr "" +"Temos trilhos de comboio divididos em pequenos pedaços em nosso jogo. Usamos-" +"o para fazer trilhos modulares e desenhar circuitos de todas as formas e " +"tamanhos.\n" +"\n" +"No entanto, vários pedaços estão desalinhados. Precisa encontrá-los no array " +"[code]tracks[/code] e passá-los à função [code]align()[/code].\n" +"\n" +"Para fazê-lo, precisa aceder o array por índice.\n" +"\n" +"Desta vez, porém, deve acede-los com [i]índices negativos[/i]." + +#: course/lesson-24-access-array-indices/lesson.tres:263 +msgid "" +"Some chunks of our train tracks are misaligned, and the train can't pass." +" Find the faulty pieces and realign them." +msgstr "" +"Alguns pedaços de nossos trilhos de comboio estão desalinhados e o comboio " +"não pode passar. Encontre as peças defeituosas e realinhe elas." + +#: course/lesson-24-access-array-indices/lesson.tres:267 +msgid "Accessing values in arrays" +msgstr "Acessando valores em arrays" diff --git a/i18n/pt/lesson-25-creating-dictionaries.po b/i18n/pt/lesson-25-creating-dictionaries.po new file mode 100644 index 00000000..a4cf3cd8 --- /dev/null +++ b/i18n/pt/lesson-25-creating-dictionaries.po @@ -0,0 +1,318 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-25-creating-dictionaries/lesson.tres:14 +msgid "" +"In the last lesson, we used an array to represent a player's inventory.\n" +"\n" +"With just an array of item names, though, we can't easily keep track of " +"the amount of each item.\n" +"\n" +"Instead, we can bundle the item names and amounts into a single " +"[i]dictionary[/i].\n" +"\n" +"A dictionary is a data structure that allows you to map pairs of values. " +"In the pair, we call the first value a [i]key[/i] as we use it to access " +"the second.\n" +"\n" +"In other words, a dictionary has a list of [i]keys[/i], and each key " +"points to a [i]value[/i].\n" +"\n" +"To define a dictionary, we use curly brackets. A colon separates each key" +" and its value. A comma separates each key and value pair." +msgstr "" +"Na lição anterior, usamos um array para representar o inventário de um " +"jogador.\n" +"\n" +"Com apenas um array de nomes de itens, no entanto, não podemos acompanhar " +"facilmente a quantidade de cada item.\n" +"\n" +"Ao invés disso, podemos agrupar os nomes e valores dos itens num único " +"[i]dicionário[/i].\n" +"\n" +"Um dicionário é uma estrutura de dados que permite mapear pares de valores. " +"No par, chamamos o primeiro valor de [i]chave[/i] enquanto o usamos para " +"aceder o segundo.\n" +"\n" +"Em outras palavras, um dicionário tem uma lista de [i]chaves[/i] e cada " +"chave aponta para um [i]valor[/i].\n" +"\n" +"Para definir um dicionário, usamos colchetes. O sinal de dois pontos separa " +"cada chave e o valor dele. Uma vírgula separa cada par de chaves." + +#: course/lesson-25-creating-dictionaries/lesson.tres:42 +msgid "Dictionaries can hold any values" +msgstr "Os dicionários podem conter quaisquer valores" + +#: course/lesson-25-creating-dictionaries/lesson.tres:44 +msgid "" +"Dictionaries can map about any value to any other value.\n" +"\n" +"For example, we can use the name of an item as a key and the amount as " +"the corresponding value. This makes dictionaries excellent for keeping " +"track of a player's inventory." +msgstr "" +"Os dicionários podem mapear qualquer valor para qualquer outro valor.\n" +"\n" +"Por exemplo, podemos usar o nome de um item como chave e a quantidade como o " +"valor correspondente. Isso torna os dicionários excelentes para acompanhar o " +"inventário de um jogador." + +#: course/lesson-25-creating-dictionaries/lesson.tres:66 +msgid "" +"Here we matched the name (a string) to the amount (a number). But a key " +"could be a string, a number, or even a vector! \n" +"\n" +"Although we can have all of these different keys, keep in mind that every" +" key has to be [i]unique[/i]. That means we [i]couldn't[/i] have a " +"dictionary like the following." +msgstr "" +"Aqui combinamos o nome (uma string) com a quantidade (um número). Mas uma " +"chave pode ser uma string, um número ou até mesmo um vetor! \n" +"\n" +"Embora possamos ter todas essas chaves diferentes, lembre-se que cada chave " +"deve ser [i]única[/i]. Isso significa que [i]não poderíamos[/i] ter um " +"dicionário como o desse exemplo a seguir." + +#: course/lesson-25-creating-dictionaries/lesson.tres:88 +msgid "We would get the following error." +msgstr "Teríamos o seguinte erro." + +#: course/lesson-25-creating-dictionaries/lesson.tres:106 +msgid "In the above example, which key would cause an error?" +msgstr "No exemplo acima, qual chave causaria um erro?" + +#: course/lesson-25-creating-dictionaries/lesson.tres:109 +msgid "" +"The key [code]\"healing heart\"[/code] appears [b]twice[/b] in the " +"dictionary.\n" +"\n" +"In the above example, Godot wouldn't know whether to return " +"[code]3[/code] or [code]8[/code] when using [code]inventory[\"healing " +"heart\"][/code]. This is why keys need to be unique." +msgstr "" +"A chave [code]\"healing heart\"[/code] aparece [b]duas vezes[/b] no " +"dicionário.\n" +"\n" +"No exemplo acima, a Godot não saberia se deveria retornar [code]3[/code] ou " +"[code]8[/code] ao usar [code]inventory[\"healing heart\"][/code]. É por isso " +"que as chaves precisam ser exclusivas." + +#: course/lesson-25-creating-dictionaries/lesson.tres:112 +#: course/lesson-25-creating-dictionaries/lesson.tres:113 +msgid "\"healing heart\"" +msgstr "\"healing heart\"" + +#: course/lesson-25-creating-dictionaries/lesson.tres:112 +msgid "\"shield\"" +msgstr "\"shield\"" + +#: course/lesson-25-creating-dictionaries/lesson.tres:112 +msgid "\"sword\"" +msgstr "\"sword\"" + +#: course/lesson-25-creating-dictionaries/lesson.tres:120 +msgid "How dictionaries work under the hood" +msgstr "Como os dicionários funcionam" + +#: course/lesson-25-creating-dictionaries/lesson.tres:122 +msgid "" +"Dictionaries are also called mappings or [i]associative arrays[/i]. Under" +" the hood, they use arrays and several functions to efficiently store and" +" retrieve values across arrays.\n" +"\n" +"Precisely, dictionaries use a [i]hashing algorithm[/i]. Hashing " +"algorithms convert one value into another.\n" +"\n" +"In this case, hashing consists of converting a given key into a unique " +"whole number. The dictionary then uses that number as an array's index!\n" +"\n" +"That's how a dictionary works: when you give it a key, it converts it " +"into a unique index and uses that index to retrieve the corresponding " +"value in the computer's memory.\n" +"\n" +"That's also why you can't have the same key twice: it would map to the " +"same array index, causing you to overwrite an existing value." +msgstr "" +"Os dicionários também são chamados de mapeamentos ou [i]arrays " +"associativos[/i]. Os dicionários usam arrays e várias funções para armazenar " +"e recuperar valores entre arrays com eficiência.\n" +"\n" +"Precisamente, os dicionários usam um [i]algoritmo hash[/i]. Algoritmos hash " +"convertem um valor em outro.\n" +"\n" +"Nesse caso, hash consiste em converter uma determinada chave num número " +"inteiro único. O dicionário então usa esse número como índice de um array!\n" +"\n" +"É assim que um dicionário funciona: quando lhe dá uma chave, ele converte-a " +"a um índice único e usa esse índice para recuperar o valor correspondente na " +"memória do computador.\n" +"\n" +"É por isso que não pode ter a mesma chave duas vezes: ela mapearia para o " +"mesmo índice do array, fazendo com que sobrescrevesse um valor existente." + +#: course/lesson-25-creating-dictionaries/lesson.tres:138 +msgid "Accessing values" +msgstr "Acessando valores" + +#: course/lesson-25-creating-dictionaries/lesson.tres:140 +msgid "" +"We access the value of keys by writing the dictionary name, with the key " +"in between square brackets." +msgstr "" +"Acessamos o valor das chaves escrevendo o nome do dicionário, com a chave " +"entre colchetes." + +#: course/lesson-25-creating-dictionaries/lesson.tres:168 +msgid "How would you access how many gems the player has?" +msgstr "Como acederia quantas gemas o jogador tem?" + +#: course/lesson-25-creating-dictionaries/lesson.tres:171 +msgid "" +"We need to make sure the key is the same as we defined in the dictionary." +"\n" +"\n" +"In our case, [code]var item_count = inventory[\"gems\"][/code] is correct." +msgstr "" +"Precisamos ter certeza de que a chave é a mesma que definimos no dicionário." +"\n" +"\n" +"No nosso caso, [code]var item_count = inventário[\"gems\"][/code] está " +"correto." + +#: course/lesson-25-creating-dictionaries/lesson.tres:174 +msgid "var item_count = inventory[\"gem\"]" +msgstr "var item_count = inventory[\"gem\"]" + +#: course/lesson-25-creating-dictionaries/lesson.tres:174 +#: course/lesson-25-creating-dictionaries/lesson.tres:175 +msgid "var item_count = inventory[\"gems\"]" +msgstr "var item_count = inventory[\"gems\"]" + +#: course/lesson-25-creating-dictionaries/lesson.tres:174 +msgid "var item_count = inventory[\"sword\"]" +msgstr "var item_count = inventory[\"sword\"]" + +#: course/lesson-25-creating-dictionaries/lesson.tres:182 +msgid "Changing values" +msgstr "Mudando valores" + +#: course/lesson-25-creating-dictionaries/lesson.tres:184 +msgid "" +"We can also change values directly, which is useful in our case for " +"adding or removing items from the player's inventory." +msgstr "" +"Também podemos alterar os valores diretamente, o que é útil no nosso caso " +"para adicionar ou remover itens do inventário do jogador." + +#: course/lesson-25-creating-dictionaries/lesson.tres:214 +msgid "" +"In the following practices, we'll use a dictionary to create a player " +"inventory and create a function to change the value of items." +msgstr "" +"Nas práticas a seguir, usaremos um dicionário para criar um inventário e " +"criaremos uma função para alterar o valor dos itens." + +#: course/lesson-25-creating-dictionaries/lesson.tres:222 +msgid "Creating an inventory using a dictionary" +msgstr "Criando um inventário usando um dicionário" + +#: course/lesson-25-creating-dictionaries/lesson.tres:223 +msgid "" +"Let's give some items to the player.\n" +"\n" +"We use a dictionary for the player's inventory. We defined the " +"[code]inventory[/code] variable for you, but it contains no items yet.\n" +"\n" +"Give the player the following items by adding the correct keys and values" +" to the dictionary:\n" +"\n" +"- Three \"healing heart\".\n" +"- Nine \"gems\".\n" +"- One \"sword\".\n" +"\n" +"The keys should be text strings, and the values whole numbers." +msgstr "" +"Vamos dar alguns itens ao jogador.\n" +"\n" +"Usamos um dicionário para o inventário do jogador. Definimos a variável " +"[code]inventory[/code] para si, mas ainda não contém itens.\n" +"\n" +"Dê ao jogador os seguintes itens adicionando as chaves e valores corretos ao " +"dicionário:\n" +"\n" +"- Três \"healing heart\".\n" +"- Nove \"gems\".\n" +"- Uma \"sword\".\n" +"\n" +"As chaves devem ser strings de texto e os valores devem ser números inteiros." + +#: course/lesson-25-creating-dictionaries/lesson.tres:244 +msgid "" +"Collecting items is fun, but we need a good way to store them. Write a " +"dictionary to display the player's items." +msgstr "" +"Coletar itens é divertido, mas precisamos de uma boa maneira de armazená-" +"los. Escreva um dicionário para exibir os itens do jogador." + +#: course/lesson-25-creating-dictionaries/lesson.tres:249 +msgid "Increasing item counts" +msgstr "Aumentar a quantidade de itens" + +#: course/lesson-25-creating-dictionaries/lesson.tres:250 +msgid "" +"We want to change the item counts in the player's inventory whenever the " +"player picks up or uses an item.\n" +"\n" +"We've started the [code]add_item()[/code] function for you.\n" +"\n" +"The [code]inventory[/code] dictionary should use the " +"[code]item_name[/code] parameter as the key to access its values, and we " +"should increase the value by [code]amount[/code].\n" +"\n" +"To test this practice, we'll use your [code]add_item()[/code] function to" +" increase the item count of Healing Heart, Gems, and Sword." +msgstr "" +"Queremos alterar a quantidade de itens no inventário do jogador sempre que o " +"jogador escolher ou usar um item.\n" +"\n" +"Iniciamos a função [code]add_item()[/code] para si.\n" +"\n" +"O dicionário [code]inventory[/code] deve usar o parâmetro " +"[code]item_name[/code] como chave para aceder os valores dele e devemos " +"aumentar o valor usando [code]amount[/code].\n" +"\n" +"Para testar essa prática, usaremos a sua função [code]add_item()[/code] para " +"aumentar a contagem de itens de Healing Heart, Gems e Sword." + +#: course/lesson-25-creating-dictionaries/lesson.tres:266 +msgid "" +"The player might walk over a pick-up or find something in a chest, so we " +"need a way to change the item counts in our inventory." +msgstr "" +"O jogador pode passar por cima de um item ou encontrar algo num baú, então " +"precisamos de uma maneira de alterar a contagem de itens em nosso inventário." + +#: course/lesson-25-creating-dictionaries/lesson.tres:270 +msgid "Creating Dictionaries" +msgstr "Criando Dicionários" diff --git a/i18n/pt/lesson-26-looping-over-dictionaries.po b/i18n/pt/lesson-26-looping-over-dictionaries.po new file mode 100644 index 00000000..3ca27490 --- /dev/null +++ b/i18n/pt/lesson-26-looping-over-dictionaries.po @@ -0,0 +1,207 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:13 +msgid "" +"Like with arrays, you can loop over dictionaries. You can loop over both " +"their keys and values.\n" +"\n" +"Let's see how it works with two examples." +msgstr "" +"Assim como com os arrays, pode fazer um loop sobre os dicionários. Pode " +"fazer um loop sobre as chaves e valores deles.\n" +"\n" +"Vamos ver como funciona com dois exemplos." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:23 +msgid "Displaying an inventory's content" +msgstr "Exibindo o conteúdo de um inventário" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:25 +msgid "" +"To display the player's inventory, you need to know what it contains. You" +" need the name and amount of each object.\n" +"\n" +"And from code, you can only achieve that by looping over the whole " +"dictionary and processing key-value pairs one by one.\n" +"\n" +"To get the list of keys in the dictionary, you can call its " +"[code]keys()[/code] member function." +msgstr "" +"Para exibir o inventário do jogador, deve saber o que esse inventário " +"contém. Precisa do nome e quantidade de cada objeto.\n" +"\n" +"E a partir do código, só pode conseguir isso fazendo um loop em todo o " +"dicionário e processando os pares de valores-chave um por um.\n" +"\n" +"Para obter a lista de chaves no dicionário, pode chamar a função membro " +"deles [code]keys()[/code]." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:49 +msgid "" +"But it's something we do so much that you don't need to call the " +"function.\n" +"\n" +"Instead, you can directly type the variable name in a [code]for[/code] " +"loop after the [code]in[/code] keyword. The language understands that you" +" implicitly want to loop over the dictionary's keys." +msgstr "" +"Mas é o que fazemos tanto que não precisa chamar a função.\n" +"\n" +"Ao invés disso, pode digitar diretamente o nome da variável num loop " +"[code]for[/code] após a palavra-chave [code]in[/code]. A linguagem entende " +"que deseja fazer um loop sobre as chaves do dicionário implicitamente." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:71 +msgid "" +"You can get the values with the syntax [code]dictionary[key][/code] as " +"you learned in the previous lesson.\n" +"\n" +"We can loop over the inventory keys, get the corresponding values, and " +"display all that information in the user interface." +msgstr "" +"Pode obter os valores com a sintaxe [code]dictionary[key][/code] conforme " +"aprendeu na lição anterior.\n" +"\n" +"Podemos percorrer as chaves de inventário, obter os valores correspondentes " +"e exibir todas essas informações na interface do utilizador." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:103 +msgid "" +"Instead of printing the key-value pairs to the output console, we can " +"code and call a dedicated function that displays items in the user " +"interface." +msgstr "" +"Ao invés de imprimir os pares chave-valor no console de saída, podemos " +"programar e chamar uma função dedicada que exibe itens na interface do " +"utilizador." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:131 +msgid "Mapping grid cells to units" +msgstr "Mapeando células de grid para unidades" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:133 +msgid "" +"We can also use a dictionary to map units to their position on a game " +"board.\n" +"\n" +"That's how you'd typically code a board game, a grid-based RPG, or a " +"tactical RPG.\n" +"\n" +"While we focused on [code]String[/code] keys so far, GDScript " +"dictionaries accept any value type as a key, allowing you to map anything" +" to anything.\n" +"\n" +"The only limitation is that every key must be unique." +msgstr "" +"Também podemos usar um dicionário para mapear unidades para sua posição num " +"tabuleiro de jogo.\n" +"\n" +"É assim que normalmente programa um jogo de tabuleiro, um RPG baseado num " +"grid ou um RPG tático.\n" +"\n" +"Enquanto nos concentramos em chaves [code]String[/code] até agora, os " +"dicionários em GDScript aceitam qualquer tipo de valor como chave, " +"permitindo que mapeie qualquer coisa para qualquer coisa.\n" +"\n" +"A única limitação é que cada chave deve ser única." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:159 +msgid "" +"Using a [code]for[/code] loop, you can use the key-value pairs to place " +"units on the board at the start of a game." +msgstr "" +"Usando um loop [code]for[/code], pode usar os pares chave-valor para pôr " +"unidades no tabuleiro no início de um jogo." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:189 +msgid "" +"In the following practices, you will loop over dictionaries and process " +"their content." +msgstr "" +"Nas práticas a seguir, vai fazer um loop nos dicionários e processar o " +"conteúdo deles." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:197 +msgid "Displaying the inventory" +msgstr "Mostrar o inventário" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:198 +msgid "" +"We use a dictionary to represent the player's inventory in this game. The" +" dictionary keys are the name of items, and they map to the number of " +"items that the player owns.\n" +"\n" +"You need to loop over the dictionary and display the name and amount of " +"every item in the inventory.\n" +"\n" +"To do so, call the [code]display_item()[/code] function. It takes two " +"arguments: the item name and the amount." +msgstr "" +"Usamos um dicionário para representar o inventário do jogador nesse jogo. As " +"chaves do dicionário são o nome dos itens e mapeiam o número de itens que o " +"jogador possui.\n" +"\n" +"Precisa percorrer o dicionário com um loop e exibir o nome e a quantidade de " +"cada item no inventário.\n" +"\n" +"Para fazer isso, chame a função [code]display_item()[/code]. São necessários " +"dois argumentos: o nome do item e a quantidade." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:218 +msgid "" +"We need to display the player's inventory on the screen but lack the code" +" to do so. Use a loop to display every item." +msgstr "" +"Precisamos exibir o inventário do jogador no ecrã, mas não temos o código " +"para isso. Use um loop para exibir cada item." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:223 +msgid "Placing units on the board" +msgstr "Colocando unidades no tabuleiro" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:224 +msgid "" +"We have a dictionary named [code]units[/code] that maps a cell position " +"on the grid to a unit to put there.\n" +"\n" +"Using a for loop and the [code]place_unit()[/code] function, place every " +"unit in the units dictionary at the desired position on the game board." +msgstr "" +"Temos um dicionário chamado [code]units[/code] que mapeia uma posição de " +"célula no grid para uma unidade a ser posta lá.\n" +"\n" +"Usando um loop for e a função [code]place_unit()[/code], ponha cada unidade " +"no dicionário units na posição desejada no tabuleiro do jogo." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:242 +msgid "" +"We want to populate our game board with units at the start of every " +"battle. Loop over the dictionary to place units on the board." +msgstr "" +"Queremos preencher nosso tabuleiro de jogo com unidades no início de cada " +"batalha. Faça um loop sobre o dicionário para pôr as unidades no tabuleiro." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:246 +msgid "Looping over dictionaries" +msgstr "Loop em dicionários" diff --git a/i18n/pt/lesson-27-value-types.po b/i18n/pt/lesson-27-value-types.po new file mode 100644 index 00000000..8bcab655 --- /dev/null +++ b/i18n/pt/lesson-27-value-types.po @@ -0,0 +1,341 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:52+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-27-value-types/lesson.tres:13 +msgid "" +"In your code, values have a particular [i]type[/i]. You have already " +"learned about several: whole numbers, decimal numbers, strings, 2D " +"vectors, arrays, and dictionaries.\n" +"\n" +"The computer uses the type of a value to know which operations and " +"functions you can use with them.\n" +"\n" +"As a result, it's essential to understand types: they are not fully " +"compatible with one another, and misusing them will cause errors." +msgstr "" +"No seu código, os valores têm um [i]tipo[/i] específico. Já aprendeu sobre " +"vários tipos: números inteiros, números decimais, strings, vetores 2D, " +"arrays e dicionários.\n" +"\n" +"O computador usa o tipo de um valor para saber quais operações e quais " +"funções pode usar com eles.\n" +"\n" +"Logo, é essencial que entenda os tipos: eles não são totalmente compatíveis " +"uns com os outros e o uso indevido deles causará erros." + +#: course/lesson-27-value-types/lesson.tres:25 +msgid "A prime example" +msgstr "Um exemplo primordial" + +#: course/lesson-27-value-types/lesson.tres:27 +msgid "" +"You want to display the player's health in the interface. Your code " +"tracks health as a whole number, a value of type [code]int[/code] (short " +"for integer)." +msgstr "" +"Deseja exibir a vida do jogador no ecrã. O seu código rasteia a vida como um " +"número inteiro, um valor do tipo [code]int[/code] (abreviação de integer)." + +#: course/lesson-27-value-types/lesson.tres:47 +msgid "" +"However, to display it on the player's screen, the computer wants text: " +"it needs a value of type [code]String[/code].\n" +"\n" +"You can concatenate two strings with the [code]+[/code] operator." +msgstr "" +"No entanto, para exibir a vida no ecrã do jogador, o computador precisa de " +"texto: ele precisa de um valor do tipo [code]String[/code].\n" +"\n" +"Pode concatenar duas strings com o operador [code]+[/code]." + +#: course/lesson-27-value-types/lesson.tres:69 +msgid "So the following code looks like it could work at first glance." +msgstr "Portanto, o código a seguir parece funcionar à primeira vista." + +#: course/lesson-27-value-types/lesson.tres:89 +msgid "But when running the code, we get this strange error." +msgstr "Mas ao executar o código, recebemos esse erro estranho." + +#: course/lesson-27-value-types/lesson.tres:109 +msgid "" +"It tells you you can't add values of type [code]String[/code] and " +"[code]int[/code]: they're incompatible.\n" +"\n" +"In that case, you need to convert the [code]health[/code] number into a " +"[code]String[/code]." +msgstr "" +"Ele diz que não pode adicionar valores do tipo [code]String[/code] com " +"[code]int[/code]: eles são incompatíveis.\n" +"\n" +"Nesse caso, deve converter o número de [code]health[/code] numa " +"[code]String[/code]." + +#: course/lesson-27-value-types/lesson.tres:119 +msgid "Converting values into strings" +msgstr "Convertendo valores em strings" + +#: course/lesson-27-value-types/lesson.tres:121 +msgid "" +"You can get the text representation of a value by calling the " +"[code]str()[/code] function (short for \"string\"). The function returns " +"its argument as a new [code]String[/code].\n" +"\n" +"You can use this function whenever you want to turn some number or vector" +" into text." +msgstr "" +"Pode obter a representação de texto de um valor chamando a função " +"[code]str()[/code] (abreviação de \"string\"). A função retorna o argumento " +"dele como um novo [code]String[/code].\n" +"\n" +"Pode usar esta função sempre que quiser transformar algum número ou vetor em " +"texto." + +#: course/lesson-27-value-types/lesson.tres:143 +msgid "" +"In this case, it turns the number [code]100[/code] into the string " +"[code]\"100\"[/code]. Or whatever number [code]health[/code] is " +"currently." +msgstr "" +"Nesse caso, ele transforma o número [code]100[/code] na string [code]\"100\"" +"[/code]. Ou qualquer número que a variável [code]health[/code] tenha " +"atualmente." + +#: course/lesson-27-value-types/lesson.tres:151 +msgid "Converting strings into numbers" +msgstr "Converter strings em números" + +#: course/lesson-27-value-types/lesson.tres:153 +msgid "" +"You can also convert strings into whole numbers or decimal numbers using " +"respectively the [code]int()[/code] and [code]float()[/code] functions.\n" +"\n" +"Those functions can convert what the player writes in a text field into a" +" number. For example, the number of potions to sell at once in a shop." +msgstr "" +"Também pode converter strings em números inteiros ou números decimais " +"usando, respectivamente, as funções [code]int()[/code] e " +"[code]float()[/code].\n" +"\n" +"Essas funções podem converter o que o jogador escreve num campo de texto a " +"um número. Por exemplo, o número de poções a vender de uma vez numa loja." + +#: course/lesson-27-value-types/lesson.tres:173 +msgid "Some types are partially compatible" +msgstr "Alguns tipos são parcialmente compatíveis" + +#: course/lesson-27-value-types/lesson.tres:175 +msgid "" +"Most types are incompatible. For example, you can't directly add or " +"multiply an array with a number.\n" +"\n" +"However, some types are [i]partially[/i] compatible. For example, you can" +" multiply or divide a vector by a number. " +msgstr "" +"A maioria dos tipos são incompatíveis. Por exemplo, não pode adicionar ou " +"multiplicar diretamente um array por um número.\n" +"\n" +"No entanto, alguns tipos são [i]parcialmente[/i] compatíveis. Por exemplo, " +"pode multiplicar ou dividir um vetor por um número. " + +#: course/lesson-27-value-types/lesson.tres:197 +msgid "" +"It is possible because other developers defined that operation for you " +"under the hood.\n" +"\n" +"However, you cannot directly add or subtract a number to a vector. You'll" +" get an error. That's why, in earlier lessons, you had to access the sub-" +"variables of [code]position[/code] to add numbers to them." +msgstr "" +"É possível porque outros programadores definiram essa operação para siantes." +"\n" +"\n" +"No entanto, não pode adicionar ou subtrair diretamente um número num vetor. " +"Receberá um erro. É por isso que, nas lições anteriores, tinha que aceder as " +"sub-variáveis de [code]position[/code] para adicionar-lhe números." + +#: course/lesson-27-value-types/lesson.tres:207 +msgid "A surprising result" +msgstr "Um resultado surpreendente" + +#: course/lesson-27-value-types/lesson.tres:209 +msgid "" +"Take the following division: [code]3/2[/code]. What result would you " +"expect to get? [code]1.5[/code]?" +msgstr "" +"Veja a seguinte divisão: [code]3/2[/code]. Que resultado esperaria obter? " +"[code]1.5[/code]?" + +#: course/lesson-27-value-types/lesson.tres:229 +msgid "" +"Well, for the computer, the result of [code]3/2[/code] is [code]1[/code]." +"\n" +"\n" +"Wait, what?!\n" +"\n" +"That's because, for the computer, the division of two whole numbers " +"should always result in a whole number.\n" +"\n" +"When you divide decimal numbers instead, you will get a decimal number as" +" a result." +msgstr "" +"Bem, para o computador, o resultado de [code]3/2[/code] é [code]1[/code].\n" +"\n" +"Espere, o que?!\n" +"\n" +"É porque, para o computador, a divisão de dois números inteiros deve sempre " +"resultar num número inteiro.\n" +"\n" +"Ao dividir números decimais, vai obter um número decimal como resultado." + +#: course/lesson-27-value-types/lesson.tres:255 +msgid "" +"Even if it's just a [code]0[/code], adding a decimal place tells the " +"computer we want decimal numbers.\n" +"\n" +"This shows you how mindful you need to be with types. Otherwise, you will" +" get unexpected results. It can get pretty serious: number errors can " +"lead to bugs like controls not working as intended or charging the wrong " +"price to players. " +msgstr "" +"Mesmo que seja apenas um [code]0[/code], adicionar uma casa decimal informa " +"ao computador que queremos números decimais.\n" +"\n" +"Isso mostra o quanto precisa de estar atento aos tipos. Caso contrário, " +"obterá resultados inesperados. Pode ficar bem sério: erros de número podem " +"levar a bugs como controles que não funcionam como pretendido ou cobram o " +"preço errado dos jogadores. " + +#: course/lesson-27-value-types/lesson.tres:265 +msgid "Understanding and mastering types is a key skill for developers" +msgstr "" +"Compreender e dominar os tipos é uma habilidade fundamental para os " +"programadores" + +#: course/lesson-27-value-types/lesson.tres:267 +msgid "" +"Programming beginners often struggle due to the lack of understanding of " +"types.\n" +"\n" +"Languages like GDScript hide the types from you by default. As a result, " +"if you don't understand that some are incompatible, you can get stuck " +"when facing type-related errors.\n" +"\n" +"You'll want to keep that in mind in your learning journey. When writing " +"code, you will need to understand everything that's happening.\n" +"\n" +"That said, let's practice some type conversions." +msgstr "" +"Iniciantes de programação muitas vezes ficam confusos devido à falta de " +"compreensão dos tipos.\n" +"\n" +"Linguagens como GDScript ocultam os tipos por padrão. Como resultado, se não " +"entender que alguns são incompatíveis, poderá ficar perdido ao se deparar " +"com erros relacionados com tipos.\n" +"\n" +"Vai mantê-lo em mente na sua jornada de aprendizado. Ao escrever códigos, " +"precisa entender tudo o que está a acontecer.\n" +"\n" +"Dito isso, vamos praticar algumas conversões de tipo." + +#: course/lesson-27-value-types/lesson.tres:281 +msgid "Displaying the player's health and energy" +msgstr "Exibindo a vida e a energia do jogador" + +#: course/lesson-27-value-types/lesson.tres:282 +msgid "" +"We want to display the player's energy in the user interface.\n" +"\n" +"Currently, our code has a type error. We're trying to display a whole " +"number while the [code]display_energy()[/code] function expects a string." +"\n" +"\n" +"Using the [code]str()[/code] function, clear the type error and make the " +"energy amount display on the interface.\n" +"\n" +"You can't change the [code]energy[/code] variable definition: setting it " +"to [code]\"80\"[/code] would break the rest of the game's code. You must " +"convert the value when calling [code]display_energy()[/code]." +msgstr "" +"Queremos exibir a energia do jogador na interface do utilizador.\n" +"\n" +"Atualmente, nosso código tem um erro de tipo. Estamos tentando exibir um " +"número inteiro enquanto a função [code]display_energy()[/code] espera uma " +"string.\n" +"\n" +"Usando a função [code]str()[/code], arrume o erro de tipo e exiba a " +"quantidade de energia na interface.\n" +"\n" +"Não pode alterar a definição da variável [code]energy[/code]: pôr nela o " +"valor [code]\"80\"[/code] quebraria o resto do código do jogo. Deve " +"converter o valor ao chamar [code]display_energy()[/code]." + +#: course/lesson-27-value-types/lesson.tres:300 +msgid "" +"We want to display the player's energy in the interface but face a type " +"error. Use your new knowledge to fix it." +msgstr "" +"Queremos exibir a energia do jogador na interface, mas enfrentamos um erro " +"de tipo. Use o seu novo conhecimento para corrigi-lo." + +#: course/lesson-27-value-types/lesson.tres:305 +msgid "Letting the player type numbers" +msgstr "Deixando o jogador digitar números" + +#: course/lesson-27-value-types/lesson.tres:306 +msgid "" +"In our game's shops, we want to let the player type numbers to select the" +" number of items they want to buy or sell.\n" +"\n" +"We need to know the number of items as an [code]int[/code], but the " +"computer reads the player's input as a [code]String[/code].\n" +"\n" +"Your task is to convert the player's input into numbers for the shop's " +"code to work.\n" +"\n" +"Using the [code]int()[/code] function, convert the player's input into a " +"whole number and store the result in the [code]item_count[/code] " +"variable." +msgstr "" +"Nas lojas do nosso jogo, queremos permitir que o jogador digite números para " +"selecionar o número de itens que ele deseja comprar ou vender.\n" +"\n" +"Precisamos saber a quantidade de itens como um [code]int[/code], mas o " +"computador lê a entrada do jogador como um [code]String[/code].\n" +"\n" +"A sua tarefa é converter a entrada do jogador em números para que o código " +"da loja funcione.\n" +"\n" +"Usando a função [code]int()[/code], converta a entrada do jogador num número " +"inteiro e armazene o resultado na variável [code]item_count[/code]." + +#: course/lesson-27-value-types/lesson.tres:326 +msgid "" +"We want the player to choose the number of items they buy or sell in our " +"game's shops. But right now, all we get are type errors." +msgstr "" +"Queremos que o jogador escolha a quantidade de itens que compra ou vende nas " +"lojas do nosso jogo. Mas agora, tudo o que temos são erros de tipo." + +#: course/lesson-27-value-types/lesson.tres:330 +msgid "Value types" +msgstr "Tipos de valor" diff --git a/i18n/pt/lesson-28-specifying-types.po b/i18n/pt/lesson-28-specifying-types.po new file mode 100644 index 00000000..3d89b16d --- /dev/null +++ b/i18n/pt/lesson-28-specifying-types.po @@ -0,0 +1,280 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-05-28 16:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-28-specifying-types/lesson.tres:13 +msgid "" +"By default, GDScript is what we call a dynamically-typed language. That " +"means that you can just write variables, assign them a value with a " +"number, and assign them another value with a different type.\n" +"\n" +"Unlike in some other languages, in GDScript, the following code is valid." +msgstr "" +"Por padrão, GDScript é o que chamamos de linguagem tipada dinamicamente. " +"Isso significa que pode apenas escrever variáveis, atribuir nelas um valor " +"com um número e atribuir nela outro valor com um tipo diferente.\n" +"\n" +"Ao contrário de algumas outras linguagens, no GDScript, o código a seguir é " +"válido." + +#: course/lesson-28-specifying-types/lesson.tres:35 +msgid "" +"But this feature often causes problems down the line. Let's take one " +"example." +msgstr "" +"Mas esse recurso geralmente causa problemas no futuro. Vamos ver um exemplo." + +#: course/lesson-28-specifying-types/lesson.tres:43 +msgid "Cell size: decimal number, or 2D vector?" +msgstr "Tamanho da célula: número decimal ou vetor 2D?" + +#: course/lesson-28-specifying-types/lesson.tres:45 +msgid "" +"Games use grids all the time, be it for grid-based gameplay or to make " +"algorithms faster.\n" +"\n" +"When working with grids, you need to convert grid coordinates into " +"positions in the game world all the time. To do so, you give each cell a " +"size in pixels.\n" +"\n" +"You'll likely pick one of two types for that: [code]float[/code] or " +"[code]Vector2[/code].\n" +"\n" +"Either of those two values would be fine:" +msgstr "" + +#: course/lesson-28-specifying-types/lesson.tres:71 +msgid "" +"Using a [code]Vector2[/code] could simplify some calculations. For " +"example, when converting grid coordinates to game world coordinates." +msgstr "" +"Usar um [code]Vector2[/code] pode simplificar alguns cálculos. Por exemplo, " +"quando for converter coordenadas de grid em coordenadas do mundo do jogo." + +#: course/lesson-28-specifying-types/lesson.tres:91 +msgid "" +"In this example, because both [code]cell[/code] and " +"[code]cell_size[/code] are [code]Vector2[/code] values, we can add them." +"\n" +"\n" +"However, if [code]cell_size[/code] is a [code]float[/code], we will get a" +" type error." +msgstr "" +"Nesse exemplo, como [code]cell[/code] e [code]cell_size[/code] são valores " +"de [code]Vector2[/code], podemos somar eles.\n" +"\n" +"No entanto, se [code]cell_size[/code] for um [code]float[/code], vamos ter " +"um erro de tipo." + +#: course/lesson-28-specifying-types/lesson.tres:123 +msgid "" +"Worse: due to dynamic typing, we won't get an error [i]right away[/i]. We" +" will only get the error when calling [code]grid_to_world(Vector2(1, " +"1))[/code].\n" +"\n" +"And that's a big problem." +msgstr "" +"Pior: devido à tipagem dinâmica, não receberemos um erro [i]imediatamente[/i]" +". Só obteremos o erro ao chamar [code]grid_to_world(Vector2(1, 1))[/code].\n" +"\n" +"E isso é um grande problema." + +#: course/lesson-28-specifying-types/lesson.tres:135 +msgid "" +"Because we're learning, we only have small code examples in this course. " +"But your games' code will get long and split into many files. When " +"coding, you often forget about the code you wrote several weeks ago.\n" +"\n" +"And with a lot of code, it could take [i]hours[/i] of play before players" +" trigger a type error in your code." +msgstr "" +"Como estamos aprendendo, temos apenas pequenos exemplos de código nesse " +"curso. Mas os códigos dos seus jogos ficarão longos e divididos em muitos " +"ficheiros. Ao programar, muitas vezes esquece o código que escreveu várias " +"semanas atrás.\n" +"\n" +"E com muito código, pode levar [i]horas[/i] de jogo antes que os jogadores " +"acionem um erro de tipo no seu código." + +#: course/lesson-28-specifying-types/lesson.tres:145 +msgid "Using type hints" +msgstr "Usando dicas de tipo" + +#: course/lesson-28-specifying-types/lesson.tres:147 +msgid "" +"Fortunately, GDScript has optional [i]type hints[/i].\n" +"\n" +"Type hints let the computer know the value type you want for variables " +"and report errors before running the code.\n" +"\n" +"To specify the type a variable can accept, you can write a colon and a " +"type after the name when defining a new variable." +msgstr "" +"Felizmente, o GDScript tem [i]dicas de tipo (type hints)[/i] opcionais.\n" +"\n" +"As dicas de tipo permitem que o computador saiba o tipo de valor desejado " +"para variáveis e faz ele relatar erros antes de executar o código.\n" +"\n" +"Para especificar o tipo que uma variável pode aceitar, pode escrever dois " +"pontos e um tipo após o nome quando for definir uma nova variável." + +#: course/lesson-28-specifying-types/lesson.tres:171 +msgid "" +"You could tell the computer you want [code]cell_size[/code] only to " +"accept [code]Vector2[/code] values like so." +msgstr "" +"Pode dizer ao computador que deseja que [code]cell_size[/code] apenas aceite " +"valores de [code]Vector2[/code] assim." + +#: course/lesson-28-specifying-types/lesson.tres:191 +msgid "" +"If you try to replace the [code]cell_size[/code] with a value of another " +"type later, the computer will not let you." +msgstr "" +"Se tentar substituir o [code]cell_size[/code] por um valor de outro tipo " +"posteriormente, o computador não vai permitir." + +#: course/lesson-28-specifying-types/lesson.tres:219 +msgid "Letting the computer figure it out" +msgstr "Deixando o computador descobrir por ele mesmo" + +#: course/lesson-28-specifying-types/lesson.tres:221 +msgid "" +"GDScript comes with a feature called [i]type inference[/i]. In many " +"cases, but not all, the computer can figure out the type of a variable " +"for you.\n" +"\n" +"To do so, you write [code]:=[/code], without the type. The computer will " +"set the type using the value after the equal sign. We could make " +"[code]cell_size[/code] a variable of type [code]Vector2[/code] like so:" +msgstr "" +"O GDScript vem com um recurso chamado [i]inferência de tipo[/i]. Em muitos " +"casos, mas não em todos, o computador pode descobrir o tipo de uma variável " +"para si.\n" +"\n" +"Para fazê-lo, escreve [code]:=[/code], sem o tipo. O computador definirá o " +"tipo usando o valor após o sinal de igual. Poderíamos tornar " +"[code]cell_size[/code] uma variável do tipo [code]Vector2[/code] assim:" + +#: course/lesson-28-specifying-types/lesson.tres:243 +msgid "" +"This takes little typing, yet you get the benefits of using type hints, " +"like the computer reporting errors better and faster." +msgstr "" +"Isso exige pouca digitação, mas obtém os benefícios de usar dicas de tipo, " +"como o computador relatando erros de forma melhor e mais rápida." + +#: course/lesson-28-specifying-types/lesson.tres:251 +msgid "Why bother to add hints?" +msgstr "Por que se preocupar em adicionar dicas?" + +#: course/lesson-28-specifying-types/lesson.tres:253 +msgid "" +"When you give the language hints like that, it will [i]prevent[/i] major " +"type errors. When you work in Godot, you will see that the computer can " +"report issues as you write the code. It makes the benefit even greater.\n" +"\n" +"Type hints can also help improve the readability of your code. It can " +"help to put more information directly in the code. As we saw, types are " +"essential when coding, and when using type hints, the computer will add " +"them to the engine's built-in code documentation system.\n" +"\n" +"There's an incredible third benefit for you: by using type hints, you " +"will learn types much faster. It's excellent for learning.\n" +"\n" +"In the following practices, you will write the correct type hints to make" +" the code error-free." +msgstr "" +"Quando der dicas de linguagem assim, [i]previne[/i] os principais erros de " +"tipo. Ao trabalhar na Godot, verá que o computador pode relatar problemas " +"enquanto escreve o código. Isso faz o benefício ainda maior.\n" +"\n" +"As dicas de tipo também podem ajudar a melhorar a legibilidade do seu código " +"e ajuda a por mais informação nele. Como vimos, os tipos são essenciais ao " +"programar e, ao usar dicas de tipo, o computador os adicionará ao sistema de " +"documentação de código integrado do mecanismo.\n" +"\n" +"Há um terceiro benefício incrível para si: usando dicas de tipo, aprenderá " +"os tipos muito mais rápido. É excelente para aprender.\n" +"\n" +"Nas práticas a seguir, vai escrever as dicas de tipo corretas para livrar o " +"código de erros." + +#: course/lesson-28-specifying-types/lesson.tres:267 +msgid "Add the correct type hints to variables" +msgstr "Adicione as dicas de tipo corretas nas variáveis" + +#: course/lesson-28-specifying-types/lesson.tres:268 +msgid "" +"Our variables get the correct values but not the right hints. Using your " +"type-fu, add the correct type names in the variable definitions.\n" +"\n" +"You need to write the type name between the colon and the equal sign.\n" +"\n" +"Note: You cannot use type inference in this practice. You need to write " +"the type name in full." +msgstr "" +"Nossas variáveis obtêm os valores corretos, mas não as dicas de tipo " +"corretas. Adicione os nomes de tipo corretos nas definições de variáveis.\n" +"\n" +"Precisa escrever o nome do tipo entre os dois pontos e o sinal de igual.\n" +"\n" +"Nota: Não pode usar a inferência de tipo nessa prática. Precisa escrever o " +"nome do tipo por completo." + +#: course/lesson-28-specifying-types/lesson.tres:284 +msgid "" +"Our variables have the wrong type hints, causing errors. Correct them to " +"make the code run." +msgstr "" +"Nossas variáveis têm as dicas de tipo erradas, causando erros. Corrija elas " +"para executar o código." + +#: course/lesson-28-specifying-types/lesson.tres:289 +msgid "Fix the values to match the type hints" +msgstr "Corrija os valores para corresponder às dicas de tipo" + +#: course/lesson-28-specifying-types/lesson.tres:290 +msgid "" +"It is the other way around in this practice: the type hints are fine, but" +" the values are not.\n" +"\n" +"Your task is to fix the values after the equal sign, so they match the " +"type hint of each variable." +msgstr "" +"É o contrário nesta prática: as dicas de tipo estão certas, mas os valores " +"não estão.\n" +"\n" +"A sua tarefa é corrigir os valores após o sinal de igual, para que " +"correspondam à dica de tipo de cada variável." + +#: course/lesson-28-specifying-types/lesson.tres:304 +msgid "" +"This time, it's the other way around: variables have the correct type " +"hints but the wrong values. Change the values to make the code run." +msgstr "" +"Dessa vez, é o contrário: as variáveis têm as dicas de tipo corretas, mas os " +"valores errados. Altere os valores para executar o código." + +#: course/lesson-28-specifying-types/lesson.tres:308 +msgid "Specifying types with type hints" +msgstr "Especificando tipos com dicas de tipo" diff --git a/i18n/pt/lesson-3-standing-on-shoulders-of-giants.po b/i18n/pt/lesson-3-standing-on-shoulders-of-giants.po new file mode 100644 index 00000000..95fda40c --- /dev/null +++ b/i18n/pt/lesson-3-standing-on-shoulders-of-giants.po @@ -0,0 +1,484 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-23 18:50+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:14 +msgid "" +"As programmers, we rely on a lot of code created by others before us.\n" +"\n" +"Every programming language comes with a wealth of features created by " +"other programmers to save you time.\n" +"\n" +"We call a bundle of code created by fellow developers a [i]library[/i].\n" +"\n" +"It's a bunch of code sitting there, waiting for you to use it.\n" +"\n" +"Game engines like Godot bundle many libraries together. They provide a " +"massive toolset to save you time when making games." +msgstr "" +"Como programador, contamos muito com código feito por outros programadores " +"que o criaram antes de nós.\n" +"\n" +"Toda linguagem de programação vem com uma grande variedade de recursos " +"criados por outros programadores que servem para ajudar a economizar o seu " +"tempo.\n" +"\n" +"Chamamos esse código criado por outros programadores de [i]biblioteca[/i].\n" +"\n" +"É um monte de código que está lá guardados, à espera que o use.\n" +"\n" +"Motores de jogos (as engines) como a Godot juntam muitas bibliotecas. Elas " +"fornecem-lhe um conjunto enorme de ferramentas que o ajudam a economizar " +"tempo quando for criar os seus jogos." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:30 +msgid "You'll always use a lot of existing code" +msgstr "Sempre vai usar muitos códigos que já estão prontos" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:32 +msgid "" +"When coding, you always use a lot of code from developers who came before" +" you.\n" +"\n" +"In a moment, you'll write your first code. You'll use [i]functions[/i] " +"created by the Godot developers.\n" +"\n" +"A function is a list of instructions with an exact name. We can tell the " +"computer to execute all the instructions in sequence with that name." +msgstr "" +"Quando programa, sempre usa um monte de código de programadores que o " +"criaram antes de nós.\n" +"\n" +"Daqui a pouco, vai escrever o seu primeiro código. Vai usar [i]funções[/i] " +"criadas pelos programadores da Godot.\n" +"\n" +"Uma função é uma lista de instruções com um nome exato. Podemos falar com o " +"computador para executar todas as instruções em sequencia com aquele nome." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:44 +msgid "Calling functions" +msgstr "Chamando funções" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:46 +msgid "" +"When you tell the computer to execute a function, we say you [i]call[/i] " +"the function.\n" +"\n" +"To call a function, you write its [i]exact[/i] name followed by an open " +"and closed parenthesis. To call the function named \"show\", you would " +"write [code]show()[/code]." +msgstr "" +"Quando fala com o computador para ele executar uma função, dizemos que " +"[i]chama[/i] a função.\n" +"\n" +"Para chamar uma função, escrevo o nome [i]exato[/i] dela seguido por uma " +"abertura e um fechamento de parêntese. Para chamar uma função chamada \"show" +"\", deve escrever [code]show()[/code]." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:58 +msgid "" +"In Godot, calling [code]show()[/code] makes something visible, like a " +"character or item. The complementary [code]hide()[/code] function hides " +"the entity.\n" +"\n" +"Once an entity is visible, calling [code]show()[/code] again doesn't have" +" any effect.\n" +"\n" +"Similarly, once you hide something, calling [code]hide()[/code] again " +"doesn't change anything.\n" +"\n" +"[i]Click the Run button on any example below to execute the code " +"listing.[/i]" +msgstr "" +"Na Godot, chamar [code]show()[/code] faz com que algo fique visível, como " +"uma personagem ou um item. Já a função [code]hide()[/code] esconde a " +"entidade.\n" +"\n" +"Uma vez que a entidade está visível, chamar novamente [code]show()[/code] " +"não tem mais efeito nenhum.\n" +"\n" +"Da mesma forma, uma vez que escondeu algo, chamar [code]hide()[/code] " +"novamente não muda nada.\n" +"\n" +"[i]Clique no botão Executar em qualquer exemplo abaixo para executar o " +"código listado.[/i]" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:84 +msgid "" +"In the code listing above, we write the function call [code]hide()[/code]" +" in a new function named [code]run()[/code] to execute the code. Creating" +" a new function is necessary to execute instructions in GDScript." +msgstr "" +"No código listado acima, escrevemos a chamada de função [code]hide()[/code] " +"numa nova função chamada [code]run()[/code] para executar o código. A " +"criação de uma nova função é necessária para executar instruções no GDScript." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:92 +msgid "Can you tell me more about that \"run()\" function?" +msgstr "Pode me falar algo mais sobre aquela função \"run()\"?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:94 +msgid "" +"In GDScript, unlike in some other languages, we must write our code " +"inside of custom functions.\n" +"\n" +"You'll learn what functions are and how they work in great detail in the " +"course, but here's a quick look at them if you're curious.\n" +"\n" +"A function is a bundle of code you can execute anytime. It's a named list" +" of instructions.\n" +"\n" +"To define a function, you need to write the [code]func[/code] keyword, " +"the function's name, parentheses, and a colon: [code]func run():[/code] " +"defines a function named [code]run()[/code].\n" +"\n" +"You then go to the next line to write the function's body. That's the " +"instructions of the function.\n" +"\n" +"Notice how each instruction starts with a leading [code]Tab[/code] " +"character. The computer uses that to know which lines are part of the " +"function.\n" +"\n" +"Throughout the course, you'll see many functions called " +"[code]run()[/code].\n" +"\n" +"Those are functions we created to give you interactive examples." +msgstr "" +"No GDScript, diferente de outras linguagens, precisamos escrever o nosso " +"código numa função personalizada.\n" +"\n" +"Vai aprender o que são funções e como elas funcionam em detalhes no curso, " +"mas aqui está um breve exemplo caso esteja curioso.\n" +"\n" +"Uma função é um conjunto de código que pode executar a qualquer momento. É " +"uma lista de instruções que contém um nome.\n" +"\n" +"Para definir uma função, precisa escrever a palavra-chave [code]func[/code], " +"seguido pelo nome da função, o parêntese e o sinal de dois pontos: [code]" +"func run():[/code] define uma função chamada [code]run()[/code].\n" +"\n" +"Então vai à próxima linha para escrever o corpo da função. O corpo é onde " +"fica as instruções da função.\n" +"\n" +"Repare como cada instrução começa com um [code]caractere de tabulação (" +"espaço em branco na esquerda)[/code]. O computador usa isso para saber qual " +"linha faz parte da função.\n" +"\n" +"Ao longo do curso, vai ver várias funções chamadas [code]run()[/code].\n" +"\n" +"Essas funções foram criadas por nós para dar-lhe exemplos interativos." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:116 +msgid "Function arguments" +msgstr "Argumentos de função" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:118 +msgid "" +"We use parentheses to call functions because you can give the function " +"[i]arguments[/i] inside the parentheses when calling it.\n" +"\n" +"Here's a [i]sprite[/i] standing straight. If we call the " +"[code]rotate(0.3)[/code] function, the character [i]sprite[/i] turns by " +"0.3 units." +msgstr "" +"Usamos parênteses para chamar funções porque pode dar à função " +"[i]argumentos[/i] dentro desses parêntesis quando a chamamos.\n" +"\n" +"Aqui temos uma [i]sprite[/i] que está reta. Se chamarmos a função " +"[code]rotate(0.3)[/code], a [i]sprite[/i] da personagem vai girar 0.3 " +"unidades." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:140 +msgid "" +"The [code]0.3[/code] part between the parentheses is the function's " +"[i]argument[/i].\n" +"\n" +"Arguments are values (numbers, bits of text, and more) that change how " +"the function behaves.\n" +"\n" +"Arguments let you fine-tune the effect of the function call. They can be " +"optional at times, but functions often require arguments in order to " +"work.\n" +"\n" +"For example, calling [code]rotate()[/code] without any argument would " +"result in an error. Without an argument, Godot doesn't know by [i]how " +"much[/i] you intend to rotate the [i]sprite[/i].\n" +"\n" +"Don't worry about memorizing what arguments each function requires or " +"accepts! As a programmer, the documentation will always be close by for " +"you to refer to.\n" +"\n" +"Finally, notice how we use a dot in the number [code]0.3[/code] above: " +"you need to use a dot like this to represent decimal numbers. You can't " +"use commas as they have a different purpose in code." +msgstr "" +"A parte [code]0.3[/code] entre o parêntese é o [i]argumento[/i] da função.\n" +"\n" +"Argumento são valores (números, a parte de um texto entre outras coisas) que " +"mudam o comportamento da função.\n" +"\n" +"Argumentos permitem que ajuste o efeito da chamada da função. Eles às vezes " +"podem ser opcionais. mas geralmente as funções vão exigir argumentos para " +"poder funcionar.\n" +"\n" +"Por exemplo, chamando a função [code]rotate()[/code] sem nenhum argumento " +"pode resultar num erro. Sem um argumento, a Godot não sabe [i]por quanto[/i] " +"pretende rotacionar a [i]sprite[/i].\n" +"\n" +"Não se preocupe em memorizar quais argumentos cada função exige ou aceita! " +"Como programador(a), a documentação sempre estará por perto para se poder " +"referenciar.\n" +"\n" +"Finalmente, repare que usamos um sinal de ponto no número [code]0.3[/code] " +"acima: precisa usar o ponto para representar números decimais. Não pode usar " +"vírgulas porque elas tem um propósito diferente em código." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:158 +msgid "What are radians?" +msgstr "O que é radiano?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:160 +msgid "" +"The value of [code]0.3[/code] is an angle in [i]radians[/i]. In daily " +"life, we're used to measuring angles in degrees. The radian is another " +"scale commonly used in video games and math.\n" +"\n" +"You can convert radians into degrees by multiplying them by 180 and " +"dividing them by PI:\n" +"\n" +"[code]degrees = radians * 180 / PI[/code]\n" +"\n" +"An angle of [code]PI[/code] radians corresponds to [code]180[/code] " +"degrees. And [code]2 * PI[/code] is a full turn: [code]360[/code] " +"degrees.\n" +"\n" +"[b]How do radians work exactly?[/b]\n" +"\n" +"Radians are a way to measure angles based on the radius of a circle.\n" +"\n" +"To get the angle in radians, you take the circle's radius and wrap it " +"around the circle. That angle is [code]1[/code] radian because you are " +"wrapping the radius [code]1[/code] time around the circle.\n" +"\n" +"Because the perimeter of a circle is [code]2 * PI * radius[/code], a full" +" turn (360°) corresponds to [code]2 * PI[/code] radians: you need to wrap" +" the radius of a circle [code]2 * PI[/code] times around the circle to " +"make a full circle." +msgstr "" +"O valor [code]0.3[/code] é um ângulo em [i]radiano[/i]. No nosso dia a dia, " +"estamos acostumados a medir ângulos em graus. O radiano é uma outra medida " +"usada em jogos e na matemática.\n" +"\n" +"Pode converter radiano em graus multiplicando o valor por 180 e depois " +"dividindo o resultado por PI:\n" +"\n" +"[code]graus = radiano * 180 / PI[/code]\n" +"\n" +"Um ângulo que possui [code]PI[/code] radiano corresponde a [code]180[/code] " +"graus. E [code]2 * PI[/code] é uma volta completa no círculo: " +"[code]360[/code] graus.\n" +"\n" +"[b]Como exatamente funciona o radiano?[/b]\n" +"\n" +"Radiano é um jeito de medir ângulos baseados no raio de um círculo.\n" +"\n" +"Para obter o ângulo em radiano, toma o valor do raio do círculo e envolve-o " +"ao redor do círculo. Esse ângulo é [code]1[/code] radiano porque envolve o " +"raio [code]1[/code] vez ao redor do círculo.\n" +"\n" +"Por causa que o perímetro do círculo é [code]2 * PI * raio[/code], uma volta " +"completa (360°) corresponde a [code]2 * PI[/code] radiano: precisa envolver " +"o raio de um círculo [code]2 * PI[/code] vezes em volta do círculo para " +"fazer um círculo completo." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:182 +msgid "What does the code below do?" +msgstr "O que o código abaixo faz?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:183 +msgid "[code]show()[/code]" +msgstr "[code]show()[/code]" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:185 +msgid "" +"Both answers were right! Technically, the code calls the " +"[code]show()[/code] function. And doing so makes the game entity visible." +msgstr "" +"Ambas as respostas estavam corretas! Tecnicamente, o código chama a função " +"[code]show()[/code]. E fazendo isso, ela deixa a entidade do jogo visível." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:186 +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:187 +msgid "It calls the function named \"show.\"" +msgstr "Ele chama a função chamada \"show\"" + +#: 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 "Ele faz a entidade ficar visível (como uma personagem ou uma sprite)." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:196 +msgid "" +"Another example: With the [code]move_local_x()[/code] function, you can " +"move the character to its left and right. The function takes one " +"argument: a number of pixels to offset the entity.\n" +"\n" +"The complementary function [code]move_local_y()[/code] makes the " +"[i]sprite[/i] move up and down.\n" +"\n" +"This is one way to move a character in a game, although we'll see more " +"powerful ways to do this later." +msgstr "" +"Outro exemplo: com a função [code]move_local_x()[/code], pode mover a " +"personagem para a esquerda e direita dele. Essa função requer um argumento: " +"um número de pixel para deslocar a entidade.\n" +"\n" +"A função complementar [code]move_local_y()[/code] faz com que a [i]sprite[/i]" +" se mova para cima e para baixo.\n" +"\n" +"Esse é apenas um jeito de mover uma personagem num jogo. Veremos mais tarde " +"maneiras mais poderosas de fazer isso." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:218 +msgid "Why move_local_y(20) moves the character down" +msgstr "Porque a função move_local_y(20) move a personagem para baixo" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:220 +msgid "" +"With positive values ([code]20[/code]), the code above moves the robot to" +" the right and down.\n" +"\n" +"This is probably different than what you studied at school: in math " +"classes, the horizontal axis points to the right, like here, but the " +"vertical axis points up.\n" +"\n" +"In video games, and generally in 2D computer graphics, the vertical axis " +"points down instead. So whenever you move something on the Y-axis with a " +"positive value, it'll move [i]down[/i]." +msgstr "" +"Com o valor positivo ([code]20[/code]), o código acima move o robô para a " +"direita e para baixo.\n" +"\n" +"Isso provavelmente é diferente do que deve ter estudado na escola: nas aulas " +"de matemática, o eixo horizontal aponta para a direita, igual aqui, mas o " +"eixo vertical aponta para cima.\n" +"\n" +"Em jogos, e geralmente em computação gráfica em 2D, o eixo vertical aponta " +"para baixo ao invés de para cima. Então toda vez que move alguma coisa no " +"eixo Y com um valor positivo, ela vai se mover [i]para baixo[/i]." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:232 +msgid "How do you call a function?" +msgstr "Como chamar uma função?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:233 +msgid "What is the syntax you use to call a function in general?" +msgstr "Qual é a sintaxe que geralmente usa para chamar uma função?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:235 +msgid "" +"To call a function, you need to write its exact name followed by an " +"opening and a closing parenthesis.\n" +"\n" +"If the function requires one or more [i]arguments[/i], you add them " +"inside the parentheses. Whether you need to do that or not depends on the" +" function." +msgstr "" +"Para chamar uma função, precisa escrever o nome dela exato seguido por uma " +"abertura e fechamento de parêntesis.\n" +"\n" +"Se a função requer um ou mais [i]argumentos[/i], adiciona-os dentro do " +"parêntese. Se precisa ou não pôr argumentos vai depender da função." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:238 +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:239 +msgid "You write its name followed by an opening and a closing parenthesis." +msgstr "" +"Escreve o nome da função seguido por uma abertura e fechamento de parêntesis." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:238 +msgid "You write its name followed by a colon." +msgstr "Escreve o seu nome seguido por um sinal de dois pontos." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:238 +msgid "" +"You write a value, like a number, followed by an opening and a closing " +"parenthesis." +msgstr "" +"Escreve um valor, como um número, seguido por uma abertura e fechamento de " +"parêntesis." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:246 +msgid "Make The Character Visible" +msgstr "Fazer a personagem visível" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:247 +msgid "" +"Our robot character's invisible! Call the [code]show()[/code] function to" +" make it appear.\n" +"\n" +"Please call [code]show()[/code] inside the [code]run()[/code] function, " +"on line [code]2[/code], and keep the [code]Tab[/code] character at the " +"start of the line. The computer needs that to understand your code." +msgstr "" +"A nossa personagem robô está invisível! Chame a função [code]show()[/code] " +"para fazê-la aparecer.\n" +"\n" +"Por favor, chame a função [code]show()[/code] na função [code]run()[/code] " +"na linha número [code]2[/code] e mantenha o [code] caractere de " +"tabulação[/code] no início da linha. O computador precisa disso para " +"entender o seu código." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:259 +msgid "The robot's invisible! Call a function to bring it back." +msgstr "O robô está invisível! Chame uma função para trazer ele de volta." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:264 +msgid "Make the Robot Upright" +msgstr "Fazendo o robô ficar reto" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:265 +msgid "" +"The robot was turned by [code]-0.5[/code] radians. You need to make it " +"upright by calling the [code]rotate()[/code] function.\n" +"\n" +"Please call [code]rotate()[/code] inside the [code]run()[/code] function," +" on line [code]2[/code], and keep the [code]Tab[/code] character at the " +"start of the line. The computer needs that to understand your code." +msgstr "" +"O robô foi rotacionado por [code]-0.5[/code] radiano. Precisa deixar ele " +"reto chamando a função [code]rotate()[/code].\n" +"\n" +"Por favor, chame a função [code]rotate()[/code] dentro da função " +"[code]run()[/code] na linha número [code]2[/code] e mantenha o [code]" +"caractere de tabulação[/code] no começo da linha. O computar precisa disso " +"para entender o seu código." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:277 +msgid "The robot is turned sideways. Help it straighten up with a function call." +msgstr "" +"O robô está virado de lado. Ajude ele a se endireitar com uma chamada de " +"função." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:281 +msgid "We Stand on the Shoulders of Giants" +msgstr "Sobre os Ombros de Gigantes" diff --git a/i18n/pt/lesson-4-drawing-a-rectangle.po b/i18n/pt/lesson-4-drawing-a-rectangle.po new file mode 100644 index 00000000..a3012d78 --- /dev/null +++ b/i18n/pt/lesson-4-drawing-a-rectangle.po @@ -0,0 +1,291 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-09 20:52+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.17-dev\n" +"Generated-By: Babel 2.10.1\n" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:14 +msgid "" +"We'll use code created by others like we did in the previous lesson. This" +" time, we'll solve a more complicated problem: drawing shapes." +msgstr "" +"Vamos usar código feitos por outros programadores assim como fizemos na " +"lição anterior. Desta vez, vamos resolver um problema mais complicado: " +"desenhar formas." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:22 +msgid "Meet the turtle" +msgstr "Conheça a tartaruga" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:24 +msgid "" +"We present you: the turtle! We created the turtle to teach you how to " +"call functions." +msgstr "" +"Apresentamos-lhe: a tartaruga! Criamos a tartaruga para lhe ensinar como " +"chamar funções." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:44 +msgid "" +"The turtle is a little machine that moves forward, turns, and draws lines" +" along its path.\n" +"\n" +"To make it draw, you give it a list of instructions: on each code line, " +"you call one specific function.\n" +"\n" +"We prepared several functions for you:\n" +"\n" +"- [code]move_forward(pixels)[/code] makes the turtle move forward over a " +"given distance in [i]pixels[/i]. \n" +"- [code]turn_right(degrees)[/code] makes the turtle turn to the right by " +"a precise amount of [i]degrees[/i].\n" +"- [code]turn_left(degrees)[/code] works the same as " +"[code]turn_right(degrees)[/code], except the turtle turns to the left.\n" +"\n" +"You'll use these functions the same way you used [code]rotate()[/code] " +"before.\n" +"\n" +"The turtle draws a white line as it moves. We'll use this line to draw " +"shapes.\n" +"\n" +"For example, to move the turtle 200 pixels, you would write " +"[code]move_forward(200)[/code]." +msgstr "" +"A tartaruga é uma pequena máquina se move para frente, rotaciona e desenha " +"uma linha ao longo do seu caminho.\n" +"\n" +"Para fazê-la desenhar, deve dar-lhe uma lista de instruções: em cada linha " +"de código chama uma função específica.\n" +"\n" +"Preparamos várias funções para si:\n" +"\n" +"- [code]move_forward(pixels)[/code] faz com que a tartaruga se mova para " +"frente por uma determinada distancia em [i]pixels[/i]. \n" +"- [code]turn_right(graus)[/code] faz com que a tartaruga se mova para a " +"direita por um valor preciso em [i]graus[/i].\n" +"- [code]turn_left(graus)[/code] funciona igual a função " +"[code]turn_right(graus)[/code], exceto que dessa vez ela se move para a " +"esquerda.\n" +"\n" +"Vai usar essas funções da mesma forma que usou a função [code]rotate()[/code]" +" antes.\n" +"\n" +"A tartaruga irá desenhar uma linha branca enquanto se move. Vamos usar essa " +"linha para desenhar formas.\n" +"\n" +"Por exemplo, para mover a tartaruga em 200 pixels, deve escrever " +"[code]move_forward(200)[/code]." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:78 +msgid "" +"The functions [code]turn_left()[/code] and [code]turn_right()[/code] work" +" the same.\n" +"\n" +"To turn 45 degrees to the right, you would write " +"[code]turn_right(45)[/code].\n" +"\n" +"If we call [code]turn_right(45)[/code], the turtle turns 45 degrees to " +"the right before moving on to the next instruction." +msgstr "" +"As funções [code]turn_lef()[/code] e [code]turn_right()[/code] funcionam da " +"mesma forma.\n" +"\n" +"Para girar 45 graus para a direita, deve escrever " +"[code]turn_right(45)[/code].\n" +"\n" +"Se chamarmos [code]turn_right(45)[/code], a tartaruga vai girar 45 graus " +"para a direita antes do código passar para a próxima instrução." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:102 +msgid "" +"Using these instructions, we can make any two-dimensional shape we like!\n" +"\n" +"Try to understand the example below. \n" +"\n" +"In the next practice, you'll use the functions we saw above to first draw" +" a corner, then a rectangle like this one." +msgstr "" +"Usando essas instruções, podemos fazer qualquer forma que seja bidimensional " +"que quisermos.\n" +"\n" +"Tente entender o exemplo abaixo.\n" +"\n" +"Na próxima secção de prática, vai usar as funções que vimos acima para, " +"primeiro, desenhar um ângulo de 90 graus e depois uma retângulo como esse." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:124 +msgid "In the function call below, which part is the argument?" +msgstr "Na chamada de função abaixo, qual parte é o argumento?" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:125 +msgid "[code]move_forward(30)[/code]" +msgstr "[code]move_forward(30)[/code]" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:127 +msgid "" +"A function's arguments are all the values inside the parentheses. In this" +" case, there's only one, but there can be multiple separated by commas.\n" +"\n" +"In this case, [code]move_forward[/code] is the function's name and " +"[code]30[/code] is the argument.\n" +"\n" +"This function call will make the turtle move forward by [code]30[/code] " +"pixels." +msgstr "" +"Os argumentos de uma função são todos os valores dentro dos parênteses. " +"Nesse caso, há apenas um, mas pode haver vários separados por vírgulas.\n" +"\n" +"Neste caso, [code]move_forward[/code] é o nome da função e [code]30[/code] é " +"o argumento.\n" +"\n" +"Esta chamada de função fará a tartaruga avançar em [code]30[/code] pixels." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:132 +msgid "move_forward" +msgstr "move_forward" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:132 +#: course/lesson-4-drawing-a-rectangle/lesson.tres:133 +msgid "30" +msgstr "30" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:140 +msgid "Drawing a Corner" +msgstr "Desenhando um ângulo de 90 graus" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:141 +msgid "" +"In this practice, we'll tell the turtle to draw a corner.\n" +"\n" +"The corner is made up of two lines that are [code]200[/code] pixels long." +" The lines are connected at each end by [code]90[/code] degrees, or " +"right-angle.\n" +"\n" +"The [code]move_forward()[/code] and [code]turn_right()[/code] functions " +"to the right draw a corner, but they're missing some parameters.\n" +"\n" +"Add the missing parameters so the turtle moves forward [code]200[/code] " +"pixels, turns right [code]90[/code] degrees, then moves forward again " +"[code]200[/code] pixels.\n" +"\n" +"We added the first parameter for you so the turtle moves forward " +"[code]200[/code] pixels.\n" +"\n" +"In the following practices, we'll draw multiple corners to create " +"rectangles.\n" +"\n" +msgstr "" +"Nessa prática, Vamos mandar a tartaruga desenhar um ângulo de 90 graus.\n" +"\n" +"Esse ângulo de 90 graus é feito por duas linhas de [code]200[/code] pixels " +"de comprimento. As linhas são conectadas no final de cada uma delas por " +"[code]90[/code] graus, formando um ângulo reto.\n" +"\n" +"As funções [code]move_forward()[/code] e [code]turn_right()[/code] que estão " +"na direita desenham um ângulo de 90 graus, mas estão faltando nelas alguns " +"parâmetros.\n" +"\n" +"Adicione os parâmetros que estão faltando para que a tartaruga mova para " +"frente em [code]200[/code] pixels, vire para direita [code]90[/code] graus e " +"mova para frente novamente em [code]200[/code] pixels.\n" +"\n" +"Adicionamos o primeiro parâmetro para si, assim a tartaruga vai mover para " +"frente em [code]200[/code] pixels.\n" +"\n" +"Nas próximas práticas, vamos desenhar vários ângulos de 90 graus para " +"criarmos retângulos.\n" +"\n" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:165 +msgid "" +"Use the turtle to draw a square's corner. You'll then build upon it to " +"draw a rectangle." +msgstr "" +"Use a tartaruga para desenhar um ângulo de 90 graus de um quadrado. Em " +"seguida, com o que á fez, vai desenhar um retângulo." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:170 +#: course/lesson-4-drawing-a-rectangle/lesson.tres:218 +msgid "Drawing a Rectangle" +msgstr "Desenhando um retângulo" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:171 +msgid "" +"Add the correct parameters to the functions [code]move_forward()[/code] " +"and [code]turn_right()[/code] to draw a rectangle with a width of " +"[code]200[/code] pixels, and a height of [code]120[/code] pixels.\n" +"\n" +"We wrote the first parameter for you.\n" +"\n" +"In the next practice, you'll use the same functions to draw a bigger " +"rectangle." +msgstr "" +"Adicione os parâmetros corretos nas funções [code]move_forward()[/code] e " +"[code]turn_right()[/code] para desenhar um retângulo com uma largura de " +"[code]200[/code] pixels e altura de [code]120[/code] pixels.\n" +"\n" +"Escrevemos o primeiro parâmetro para si.\n" +"\n" +"Na próxima prática, vai usar as mesmas funções para desenhar um retângulo " +"ainda maior." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:191 +msgid "Based on your rectangle corner, you now need to draw a complete rectangle." +msgstr "" +"Com base no seu ângulo de 90 graus do retângulo, precisa agora desenhar um " +"retângulo completo." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:196 +msgid "Drawing a Bigger Rectangle" +msgstr "Desenhando um Retângulo Ainda Maior" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:197 +msgid "" +"Write out calls to the functions [code]move_forward()[/code] and " +"[code]turn_right()[/code] to draw a rectangle with a width of 220 pixels," +" and a height of 260 pixels.\n" +"\n" +"We wrote the first two lines for you.\n" +"\n" +"Be sure to write each instruction on a separate line.\n" +"\n" +"Every line should start with one [code]Tab[/code] character so the " +"computer understands it's part of the [code]draw_rectangle()[/code] " +"function." +msgstr "" +"Escreva as chamadas das funções [code]move_forward()[/code] e " +"[code]turn_right()[/code] para desenhar um retângulo com uma largura de 220 " +"pixels e altura de 260 pixels.\n" +"\n" +"Escrevemos as duas primeiras linhas para si.\n" +"\n" +"Certifique-se de escrever cada instrução numa linha separada.\n" +"\n" +"Toda linha deve começar com um [code]caractere de tabulação[/code] para que " +"o computador entenda que essas linhas fazem parte da função " +"[code]draw_rectangle()[/code]." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:214 +msgid "" +"At this point, you're ready to code entirely on your own. Call functions " +"by yourself to draw a complete rectangle." +msgstr "" +"A partir desse ponto, está pronto para programar por si só. Chame você mesmo " +"as funções para desenhar um retângulo completo." diff --git a/i18n/pt/lesson-5-your-first-function.po b/i18n/pt/lesson-5-your-first-function.po new file mode 100644 index 00000000..0c523244 --- /dev/null +++ b/i18n/pt/lesson-5-your-first-function.po @@ -0,0 +1,420 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-09 20:52+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.17-dev\n" +"Generated-By: Babel 2.10.1\n" + +#: course/lesson-5-your-first-function/lesson.tres:14 +msgid "" +"So far, we have called existing functions that other developers wrote.\n" +"\n" +"In this lesson, we'll talk more about what functions are and see some " +"examples. Then, you will learn how to define your own functions." +msgstr "" +"Até agora, só chamamos funções existentes que outros programadores " +"escreveram.\n" +"\n" +"Nessa lição, vamos falar mais sobre o que são funções e ver mais exemplos. " +"Logo depois vai aprender como definir as suas próprias funções." + +#: course/lesson-5-your-first-function/lesson.tres:24 +msgid "Functions are named sequences of instructions" +msgstr "Funções são sequencias de instruções que possuem um nome" + +#: course/lesson-5-your-first-function/lesson.tres:26 +msgid "" +"Functions are [i]sequences of instructions[/i] we give a name. We call " +"that name an [i]identifier[/i].\n" +"\n" +"Using the identifier, we can get the computer to execute all the " +"instructions inside the function as many times as we need. This is what a" +" [i]function call[/i] does." +msgstr "" +"Funções são [i]sequencia de instruções[/i] que damos um nome. Chamamos esse " +"nome de [i]identificador[/i].\n" +"\n" +"Usando o identificador, fazemos com que o computador execute todas as " +"instruções naquela função, quantas vezes a gente quiser. É isso que uma [i]" +"chamada de função[/i] faz." + +#: course/lesson-5-your-first-function/lesson.tres:38 +msgid "" +"In computer programming, we talk about [i]identifiers[/i] rather than " +"\"names\".\n" +"\n" +"It is because a function name is a label the computer uses to precisely " +"[i]identify[/i] and refer to a function or other code elements.\n" +"\n" +"Identifiers are unique: you cannot reuse the same name in a given " +"[i]space[/i] in your code.\n" +"\n" +"If you try to name two functions the same, the computer will raise an " +"error." +msgstr "" +"Na área de programação de computadores, chamamos como [i]identificadores[/i] " +"ao invés de \"nomes\".\n" +"\n" +"É porque um nome da função é um rótulo que o computador usa para " +"[i]identificar[/i] precisamente e se referir a uma função ou outros " +"elementos do código.\n" +"\n" +"Identificadores são únicos: não pode reusar o mesmo nome num determinado " +"[i]lugar[/i] do seu código.\n" +"\n" +"Se tentar usar o mesmo nome em duas funções diferentes, o computador vai " +"gerar um erro." + +#: course/lesson-5-your-first-function/lesson.tres:54 +msgid "" +"If there is any code that you need to run multiple times, you can put it " +"inside a function and give it a name.\n" +"\n" +"The instructions inside a function can be any code you want, and they " +"will all run every time you call the function.\n" +"\n" +"Here's the example of a [code]move_and_rotate()[/code] function that " +"moves the turtle forward and then turns it 90°." +msgstr "" +"Se tiver qualquer código que precisa executar várias vezes, pode pôr esse " +"código dentro de uma função e lhe dar um nome.\n" +"\n" +"As instruções dentro da função podem ser qualquer código que quiser e elas (" +"as instruções) vão ser executadas toda vez que chamar aquela função.\n" +"\n" +"Aqui tem um exemplo de uma função chamada [code]move_and_rotate()[/code] que " +"move a tartaruga para frente e depois rotaciona ela em 90°." + +#: course/lesson-5-your-first-function/lesson.tres:78 +msgid "" +"The [code]move_and_rotate()[/code] function consists of two instructions," +" each on a separate line. Both of those instructions call another " +"familiar function.\n" +"\n" +"You could write another function that calls " +"[code]move_and_rotate()[/code] four times to draw a square of length 200 " +"pixels." +msgstr "" +"A função [code]move_and_rotate()[/code] consiste em duas instruções, cada " +"uma numa linha separada. Ambas as instruções chama outra função bem familiar." +"\n" +"\n" +"Pode escrever outra função que faz a chamada da função " +"[code]move_and_rotate()[/code] mais quatro vezes para desenhar um quadrado " +"com o tamanho de 200 pixels." + +#: course/lesson-5-your-first-function/lesson.tres:100 +msgid "" +"Every time we call [code]move_and_rotate()[/code], the two functions " +"[code]move_forward(200)[/code] and [code]turn_right(90)[/code] are called" +" in sequence.\n" +"\n" +"In this simple example, it may not feel super useful. Here's a more " +"useful and realistic one: a function to draw any rectangle.\n" +"\n" +"The following function uses [i]parameters[/i], which we will explore in " +"the next lesson.\n" +"\n" +"[i]Drag the slider to change the square's size.[/i]" +msgstr "" +"Todas as vezes que chamamos [code]move_and_rotate()[/code], as duas funções " +"[code]move_forward(200)[/code] e [code]turn_right(90)[/code] são chamadas " +"logo em sequencia.\n" +"\n" +"Nesse exemplo simples, pode parecer que não é tão útil assim. Aqui está um " +"outro exemplo mais útil e realista: uma função que desenha qualquer " +"retângulo.\n" +"\n" +"Essa próxima função usa [i]parâmetros[/i], que vamos explorar na próxima " +"lição.\n" +"\n" +"[i]Arraste o slider para alterar o tamanho do quadrado.[/i]" + +#: course/lesson-5-your-first-function/lesson.tres:124 +msgid "How to define your own functions" +msgstr "Como definir as suas próprias funções" + +#: course/lesson-5-your-first-function/lesson.tres:126 +msgid "" +"Let's break down how you define a function.\n" +"\n" +"A function definition starts with the [code]func[/code] keyword followed " +"by a space, the function's name, parentheses, and a colon." +msgstr "" +"Vamos ver em detalhes como definir uma função.\n" +"\n" +"Uma definição de função começa com a palavra-chave [code]func[/code] seguida " +"de um espaço em branco, depois o nome da função, um parênteses e o sinal de " +"dois pontos." + +#: course/lesson-5-your-first-function/lesson.tres:148 +msgid "" +"The instructions inside the function [b]must[/b] all start with a leading" +" tab character. You can insert that tab character by pressing the " +"[b]Tab[/b] key.\n" +"\n" +"We call those leading tabs [i]indents[/i]. They're important: the " +"computer uses them to know which instructions are part of the same code " +"block." +msgstr "" +"Todas as instruções dentro da função [b]devem[/b] começar com um caractere " +"de tabulação. Pode inserir esse caractere de tabulação pressionando a tecla " +"[b]Tab[/b] no seu teclado.\n" +"\n" +"Chamamos esses caracteres de tabulação como [i]recuos[/i]. Eles são " +"importantes: o computador usa-os para saber quais instruções fazem parte do " +"mesmo bloco de código." + +#: course/lesson-5-your-first-function/lesson.tres:158 +msgid "Why do we use functions?" +msgstr "Por que usamos funções?" + +#: course/lesson-5-your-first-function/lesson.tres:161 +msgid "" +"Functions are groups of instructions we reuse every time we call the " +"function.\n" +"\n" +"Because we give functions a name, they also allow us to name a set of " +"instructions, which is handy!" +msgstr "" +"Funções são grupos de instruções que reutilizamos toda vez que chamamos uma " +"função.\n" +"\n" +"Como damos um nome às funções, elas também nos permitem nomear um conjunto " +"de instruções, o que é bem prático!" + +#: course/lesson-5-your-first-function/lesson.tres:164 +#: course/lesson-5-your-first-function/lesson.tres:165 +msgid "To reuse code multiple times. " +msgstr "Para reutilizar o código várias vezes. " + +#: course/lesson-5-your-first-function/lesson.tres:164 +#: course/lesson-5-your-first-function/lesson.tres:165 +msgid "To run multiple instructions in one go." +msgstr "Executar várias instruções de um vez só." + +#: course/lesson-5-your-first-function/lesson.tres:164 +#: course/lesson-5-your-first-function/lesson.tres:165 +msgid "To put a name on multiple lines of code." +msgstr "Para pôr um nome em várias linhas de código." + +#: course/lesson-5-your-first-function/lesson.tres:172 +msgid "Names in code have rules" +msgstr "Nomes dentro dos códigos possuem regras" + +#: course/lesson-5-your-first-function/lesson.tres:174 +msgid "" +"Function identifiers cannot contain spaces. In general, names in " +"programming languages cannot contain spaces.\n" +"\n" +"The computer uses spaces to detect the separation between different " +"keywords and identifiers.\n" +"\n" +"Instead of spaces, in GDScript, we use underscores (\"_\"). You saw this " +"already with functions like [code]move_forward()[/code] or " +"[code]move_local_x()[/code]. This is the convention we follow in " +"GDScript.\n" +"\n" +"There's another convention programmers use in some other programming " +"languages.\n" +"\n" +"Instead of using underscores, they start words with capital letters " +"except for the first one. With that convention, you'd write function " +"names like [code]moveForward()[/code] or [code]moveLocalX()[/code]\n" +"\n" +"Identifiers also [i]have[/i] to start with a letter or an underscore; You" +" [i]can't[/i] begin with a number, but you can use numbers after the " +"first character." +msgstr "" +"Identificadores de função não podem conter espaços entre eles. No geral, " +"nomes em linguagens de programação não podem conter espaços entre eles.\n" +"\n" +"O computar usa esses espaços para detetar separações entre diferentes " +"palavras-chave e identificadores.\n" +"\n" +"Ao invés de espaços, no GDScript, usamos o símbolo de underscores (\"_\"); " +"Já viu isso em funções como [code]move_forward()[/code] ou " +"[code]move_local_x()[/code]. Isso é uma convenção que seguimos no GDScript.\n" +"\n" +"Existe outra convenção que programadores usam em algumas outras linguagens " +"de programação.\n" +"\n" +"Ao invés de usar underscores, eles começam as palavras com letra maiúscula " +"exceto a primeira palavra. Com essa convenção, escreveria nomes de função " +"dessa forma [code]moveForward()[/code] e [code]moveLocalX()[/code]\n" +"\n" +"Identificadores também [i]devem[/i] começar com uma letra ou um underscore; " +"[i]não pode[/i] começar com um número, mas pode usar números depois do " +"primeiro caractere do nome." + +#: course/lesson-5-your-first-function/lesson.tres:192 +msgid "Which of the following names are valid function names?" +msgstr "Quais desses nomes são válidos para nome de funções?" + +#: course/lesson-5-your-first-function/lesson.tres:193 +msgid "Note that it's fine to use capital letters." +msgstr "Perceba que está tudo bem em usar letras maiúsculas." + +#: course/lesson-5-your-first-function/lesson.tres:195 +msgid "" +"You can't name a function [code]move forward[/code] because it contains a" +" space. Names in code cannot contain spaces.\n" +"\n" +"They can't start with numbers either, which is why " +"[code]45_degree_turn[/code] is also invalid. \n" +"\n" +"However, having numbers elsewhere in a function name is fine. That's why " +"[code]make3NewCharacters[/code] works." +msgstr "" +"Não pode nomear um função assim [code]move forward[/code] porque entre os " +"nomes existe um espaço. Nomes em códigos não podem ter espaços entre eles.\n" +"\n" +"Eles também não podem iniciar com números, o que faz esse nome " +"[code]45_degree_turn[/code] também ser inválido.\n" +"\n" +"Entretanto, os nomes podem conter números em qualquer outra parte deles. O " +"nome [code]make3NewCharacters[/code] é válido." + +#: course/lesson-5-your-first-function/lesson.tres:200 +msgid "move forward" +msgstr "move forward" + +#: course/lesson-5-your-first-function/lesson.tres:200 +#: course/lesson-5-your-first-function/lesson.tres:201 +msgid "jump" +msgstr "jump" + +#: course/lesson-5-your-first-function/lesson.tres:200 +#: course/lesson-5-your-first-function/lesson.tres:201 +msgid "make3NewCharacters" +msgstr "make3NewCharacters" + +#: course/lesson-5-your-first-function/lesson.tres:200 +#: course/lesson-5-your-first-function/lesson.tres:201 +msgid "move_forward" +msgstr "move_forward" + +#: course/lesson-5-your-first-function/lesson.tres:200 +msgid "45_degree_turn" +msgstr "45_degree_turn" + +#: course/lesson-5-your-first-function/lesson.tres:208 +msgid "Instantly moving the turtle to a different position" +msgstr "Movendo a tartaruga instantaneamente para uma posição diferente" + +#: course/lesson-5-your-first-function/lesson.tres:210 +msgid "" +"In order to draw multiple squares in different positions, we introduce a " +"new function for our turtle to use.\n" +"\n" +"The [code]jump()[/code] function picks up the turtle and places it " +"relative to where it is.\n" +"\n" +"So calling [code]jump(-100, 50)[/code] moves the turtle by 100 pixels to " +"the [b]left[/b] and 50 pixels [b]down[/b] without drawing any lines." +msgstr "" +"Para desenhar vários quadrados em posições diferentes , vamos introduzir uma " +"nova função para nossa tartaruga usar.\n" +"\n" +"A função [code]jump()[/code] leva a tartaruga e posiciona-a em relação de " +"onde ela está.\n" +"\n" +"Então, chamar a função [code]jump(-100, 50)[/code] faz a tartaruga se mover " +"100 pixels para a [b]esquerda[/b] e 50 pixels [b]para baixo[/b] sem desenhar " +"nenhuma linha." + +#: course/lesson-5-your-first-function/lesson.tres:232 +msgid "A function to draw squares" +msgstr "Uma função para desenhar quadrados" + +#: course/lesson-5-your-first-function/lesson.tres:233 +msgid "" +"Code a function named [code]draw_square()[/code] to draw one square of " +"length 200 pixels. The function should take no parameters.\n" +"\n" +"Use the [code]move_forward()[/code] and [code]turn_right()[/code] " +"functions to instruct the turtle.\n" +"\n" +"In the following practice, you'll use the [code]draw_square()[/code] " +"function to draw multiple squares by calling your own function." +msgstr "" +"programe uma função chamada [code]draw_square()[/code] para desenhar um " +"quadrado de 200 pixels de comprimento. A função não deve ter nenhum " +"parâmetro.\n" +"\n" +"Use as funções [code]move_forward()[/code] e [code]turn_right()[/code] para " +"instruir a tartaruga.\n" +"\n" +"Na próxima prática, vai usar a função [code]draw_square()[/code] para " +"desenhar vários quadrados chamando a sua própria função." + +#: course/lesson-5-your-first-function/lesson.tres:246 +msgid "" +"Until now, you've had to write code by hand, and it's boring. It's time " +"to code a reusable function. You'll use it to draw multiple squares." +msgstr "" +"Até agora, tinha que escrever código à mão e isso é chato. É hora de " +"programar uma função reutilizável. Vai usar ela para desenhar vários " +"quadrados." + +#: course/lesson-5-your-first-function/lesson.tres:251 +msgid "Drawing multiple squares" +msgstr "Desenhando vários quadrados" + +#: course/lesson-5-your-first-function/lesson.tres:252 +msgid "" +"You have a function to draw one square: [code]draw_square()[/code]. Use " +"it to draw three squares.\n" +"\n" +"We already created [code]draw_square()[/code] for you. Create a function " +"named [code]draw_three_squares[/code] that calls " +"[code]draw_square()[/code] three times.\n" +"\n" +"If you just call the function, all three squares will overlap. To stack " +"them diagonally, call [code]jump(300, 300)[/code] between two calls to " +"[code]draw_square()[/code].\n" +"\n" +"Calling [code]jump(300, 300)[/code] makes the turtle jump by 300 pixels " +"to the right and 300 pixels down without drawing any lines." +msgstr "" +"Tem uma função para desenhar um quadrado: [code]draw_square()[/code]. Use " +"ela para desenhar três quadrados.\n" +"\n" +"Já criamos a função [code]draw_square()[/code] para si. Crie uma função " +"chamada [code]draw_three_squares[/code] que chama a função " +"[code]draw_square()[/code] três vezes.\n" +"\n" +"Se apenas chamar a função, todos os três quadrados vão se sobrepor. Para " +"empilhá-los na diagonal, chame a função [code]jump(300, 300)[/code] entre " +"duas chamadas da função[code]draw_square()[/code].\n" +"\n" +"Chamar [code]jump(300, 300)[/code] faz a tartaruga pular 300 pixels para a " +"direita e 300 pixels para baixo sem desenhar nenhuma linha." + +#: course/lesson-5-your-first-function/lesson.tres:275 +msgid "" +"Now you created a function to draw squares, you can reuse it by calling " +"it multiple times." +msgstr "" +"Agora que criou uma função para desenhar quadrados, pode reutilizar ela " +"chamando ela várias vezes." + +#: course/lesson-5-your-first-function/lesson.tres:279 +msgid "Coding Your First Function" +msgstr "Programar a sua Primeira Função" diff --git a/i18n/pt/lesson-6-multiple-function-parameters.po b/i18n/pt/lesson-6-multiple-function-parameters.po new file mode 100644 index 00000000..26852eaa --- /dev/null +++ b/i18n/pt/lesson-6-multiple-function-parameters.po @@ -0,0 +1,538 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-11 18:51+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.17-dev\n" +"Generated-By: Babel 2.10.1\n" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:14 +msgid "" +"In the previous part, you created a function to draw a square of a fixed " +"size.\n" +"\n" +"This function is a bit limiting. Instead, it would be much better if we " +"had a function to draw a square of [i]any[/i] size. Or better: any kind " +"of rectangle (a square is a specific kind of rectangle).\n" +"\n" +"In previous lessons, you used the [code]rotate()[/code] function and gave" +" it a [i]parameter[/i]." +msgstr "" +"Na parte anterior, você criou uma função para desenhar um quadrado de " +"tamanho fixo.\n" +"\n" +"Essa função é um pouco limitada. Seria muito melhor se tivéssemos uma função " +"para desenhar um quadrado de [i]qualquer[/i] tamanho. Ou melhor: qualquer " +"tipo de retângulo (um quadrado é um tipo específico de retângulo).\n" +"\n" +"Nas lições anteriores, usou a função [code]rotate()[/code] e deu-lhe um " +"[i]parâmetro[/i]." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:38 +msgid "" +"Just like [code]rotate()[/code], we can also give our function " +"[i]parameters[/i]. Parameters are labels you give to values passed to the" +" function." +msgstr "" +"Assim como a função [code]rotate()[/code], também podemos dar à nossa função " +"[i]parâmetros[/i]. Os parâmetros são nomes que dá aos valores que são " +"passados à função." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:48 +msgid "" +"The [code]radians[/code] can be a positive or negative number, which " +"allows you to rotate both clockwise and counter-clockwise." +msgstr "" +"O [code]radiano[/code] pode ser um número positivo ou negativo, o que o " +"permite girar no sentido horário e anti-horário." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:58 +msgid "" +"For now, please focus on the first line: [code]func " +"rotate(radians)[/code].\n" +"\n" +"When you call [code]rotate(0.5)[/code], the computer binds the value " +"[code]0.5[/code] to the label [code]radians[/code].\n" +"\n" +"Wherever the computer sees the identifier [code]radians[/code] inside the" +" function, it replaces it with the [code]0.5[/code] value.\n" +"\n" +"The parameter name is always a label you use to refer to a [i]value[/i]. " +"The value in question can be a number, text, or anything else.\n" +"\n" +"For now, we'll stick to numbers as we have yet to see other value types." +msgstr "" +"Por enquanto, concentre-se na primeira linha: [code]func " +"rotate(radiano)[/code].\n" +"\n" +"Quando chama a função [code]rotate(0.5)[/code], o computador vincula o valor " +"[code]0.5[/code] ao nome [code]radiano[/code].\n" +"\n" +"Sempre que o computador vê o identificador [code]radiano[/code] dentro da " +"função, ele substitui o nome pelo valor [code]0.5[/code].\n" +"\n" +"O nome do parâmetro é sempre um nome que usa para se referir a um " +"[i]valor[/i]. O valor em questão pode ser um número, texto ou qualquer outra " +"coisa.\n" +"\n" +"Por enquanto, vamos continuar a usar números, pois ainda temos que ver " +"outros tipos de valores." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:74 +msgid "What is a function parameter?" +msgstr "O que é um parâmetro de uma função?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:77 +msgid "" +"A parameter is a label that represents a value.\n" +"\n" +"The value in question can change: it depends on what you put in " +"parentheses when calling a function." +msgstr "" +"Um parâmetro é um nome que representa um valor.\n" +"\n" +"O valor em questão pode mudar: depende do que põe entre parênteses ao chamar " +"uma função." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:80 +#: course/lesson-6-multiple-function-parameters/lesson.tres:81 +msgid "A label you give to a value the function receives." +msgstr "Um nome que dá a um valor que a função recebe." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:80 +msgid "A number you use to make calculations." +msgstr "Um número que usa para fazer cálculos." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:80 +msgid "The name of a function." +msgstr "O nome de uma função." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:88 +msgid "How to create functions with parameters" +msgstr "Como criar funções com parâmetros" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:90 +msgid "" +"You can give your function parameters when writing its [i]definition[/i] " +"(the line starting with the [code]func[/code] keyword).\n" +"\n" +"To do so, you add a name inside of the parentheses." +msgstr "" +"Pode dar parâmetros às suas funções ao escrever a [i]definição[/i] deles (a " +"linha que começa com a palavra-chave [code]func[/code]).\n" +"\n" +"Para fazer isso, adicione um nome entre parênteses." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:112 +msgid "" +"You can give parameters any name. How you name functions and parameters " +"is up to you. \n" +"\n" +"Just remember that names cannot contain spaces. To write parameter names " +"with multiple words, you need to use underscores.\n" +"\n" +"The following function definition is exactly equivalent to the previous " +"one." +msgstr "" +"Pode dar qualquer nome aos parâmetros. Decide como nomear as funções e " +"parâmetros deles.\n" +"\n" +"Lembre-se que os nomes não podem conter espaços. Para escrever nomes de " +"parâmetros com várias palavras, precisa usar o sinal de underscore.\n" +"\n" +"A definição de função a seguir é exatamente equivalente à anterior." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:136 +msgid "" +"Parameters make your code easier to reuse.\n" +"\n" +"Here's an example with a function to draw any square. Use the slider to " +"change the value passed to the function and draw squares of different " +"sizes." +msgstr "" +"Os parâmetros facilitam a reutilização do seu código.\n" +"\n" +"Aqui está um exemplo de uma função para desenhar qualquer quadrado. Use o " +"slider para alterar o valor passado para a função e desenhar quadrados de " +"tamanhos diferentes." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:156 +msgid "Which is the correct syntax for a function definition?" +msgstr "Qual é a sintaxe correta para uma definição de função?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:159 +msgid "" +"To define a function, you need to start with the [code]func[/code] " +"keyword followed by a space, the [code]function_name[/code], and optional" +" parameters inside parentheses.\n" +"\n" +"You must end the line with a colon, which defines a new code block. We'll" +" see moving forward that keywords other than [code]func[/code] require a " +"colon at the end of the line." +msgstr "" +"Para definir uma função, precisa começar com a palavra-chave " +"[code]func[/code] seguida por um espaço, o [code]nome_da_função[/code] e " +"parâmetros opcionais dentro dos parênteses.\n" +"\n" +"Deve terminar a linha com o sinal de dois pontos, que define um novo bloco " +"de código. Vamos ver mais para frente que outras palavras-chave diferentes " +"de [code]func[/code] também vão exigir os dois pontos no final da linha." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +#: course/lesson-6-multiple-function-parameters/lesson.tres:163 +msgid "func function_name(parameter_name):" +msgstr "func nome_da_função(nome_do_parâmetro):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +msgid "func (function_name): parameter_name" +msgstr "func (nome_da_função): nome_do_parâmetro" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +msgid "func function_name(parameter_name)" +msgstr "func nome_da_função(nome_do_parâmetro)" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +msgid "function_name(parameter_name):" +msgstr "nome_da_função(nome_do_parâmetro):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:170 +msgid "Functions can have multiple parameters" +msgstr "Funções podem ter vários parâmetros" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:172 +msgid "" +"You can use multiple parameters in a function. In fact, you can use as " +"many as you [i]need[/i].\n" +"\n" +"To separate the function parameters, you need to write a comma between " +"them." +msgstr "" +"Pode usar vários parâmetros numa função. Na verdade, pode usar quantos " +"parâmetros [i]precisar[/i].\n" +"\n" +"Para separar os parâmetros da função, precisa escrever uma vírgula entre " +"eles." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:192 +msgid "Must I write spaces between function parameters?" +msgstr "Devo escrever espaços entre os parâmetros da função?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:194 +msgid "" +"In a function definition, you must have a space between the " +"[code]func[/code] keyword and the function name.\n" +"\n" +"However, because we use the comma to separate parameters, it doesn't " +"matter if you use spaces between parameters. As long as you have the " +"comma, either syntax is correct.\n" +"\n" +"We often use spaces after the comma for readability." +msgstr "" +"Numa definição de função, deve ter um espaço entre a palavra-chave " +"[code]func[/code] e o nome da função.\n" +"\n" +"No entanto, como usamos a vírgula para separar os parâmetros, não importa se " +"usa espaços entre os parâmetros. Contanto que tenha a vírgula, qualquer uma " +"das sintaxes está correta.\n" +"\n" +"Costumamos a usar espaços após a vírgula para facilitar a leitura do código." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:208 +msgid "" +"The following example defines a function that uses two parameters to move" +" an entity on both the X and Y axes." +msgstr "" +"O exemplo a seguir define uma função que usa dois parâmetros para mover uma " +"entidade nos eixos X e Y." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:226 +msgid "How should I name my functions and parameters?" +msgstr "De que forma devo nomear as minhas funções e parâmetros?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:228 +msgid "" +"The names of functions, parameters, or other things in your code are " +"entirely up to you.\n" +"\n" +"They are written by us programmers for other programmers. You want to use" +" the names that make the most sense to you and fellow programmers.\n" +"\n" +"You could absolutely write single-letter names like in maths classes: " +"[code]a[/code], [code]b[/code], [code]f[/code].\n" +"\n" +"You can also write abbreviated names like [code]pos[/code] for position, " +"[code]bg[/code] for background, and so on.\n" +"\n" +"Many programmers do either or both of the above.\n" +"\n" +"At GDQuest, we favor complete and explicit names.\n" +"\n" +"We generally try to write code that is explicit and relatively easy to " +"read.\n" +"\n" +"Right now, you have to enter every letter when you code, so long names " +"may feel inconvenient.\n" +"\n" +"However, this is good for learning: it trains your fingers to " +"[ignore]type precisely.\n" +"\n" +"Then, after you finish this course, you will see that the computer " +"assists you a lot when you code real games with a feature called auto-" +"completion.\n" +"\n" +"Based on a few characters you [ignore]type, it will offer you to complete" +" long names." +msgstr "" +"Os nomes de funções, parâmetros ou outras coisas no seu código dependem " +"inteiramente de si.\n" +"\n" +"Eles são escritos por nós programadores para outros programadores. Vai usar " +"os nomes que fazem mais sentido para si e os seus colegas programadores.\n" +"\n" +"Poderia muito bem escrever nomes de uma única letra como nas aulas de " +"matemática: [code]a[/code], [code]b[/code], [code]f[/code].\n" +"\n" +"Também pode escrever nomes abreviados como [code]pos[/code] para posição, " +"[code]bg[/code] para background e assim por diante.\n" +"\n" +"Muitos programadores fazem uma ou ambas as opções acima.\n" +"\n" +"Na GDQuest, preferimos nomes completos e explícitos.\n" +"\n" +"Geralmente tentamos escrever código que seja explícito e relativamente fácil " +"de ler.\n" +"\n" +"No momento, precisa digitar todas as letras ao programar, portanto, nomes " +"longos podem parecer inconvenientes.\n" +"\n" +"No entanto, isso é bom para aprender: ele treina os seus dedos para [ignore]" +"digitar com precisão.\n" +"\n" +"Então, depois de terminar este curso, verá que o computador o auxilia muito " +"na hora de programar jogos reais com um recurso chamado auto-completar.\n" +"\n" +"Com base em alguns caracteres que [ignore]digita, oferecerá nomes longos " +"completos." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:256 +msgid "When defining a function, parameters are..." +msgstr "Ao definir uma função, os parâmetros são..." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:259 +msgid "" +"You can define functions with or without parameters, depending on your " +"needs." +msgstr "" +"Pode definir funções com ou sem parâmetros, depende das suas necessidades." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:260 +#: course/lesson-6-multiple-function-parameters/lesson.tres:261 +msgid "Optional" +msgstr "Opcional" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:260 +msgid "Mandatory" +msgstr "Obrigatório" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:268 +msgid "What's the correct syntax to define a function with multiple parameters?" +msgstr "Qual é a sintaxe correta para definir uma função com vários parâmetros?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:271 +msgid "" +"You always write the function parameters inside of the parentheses. To " +"define multiple parameters, you separate them with a comma." +msgstr "" +"Sempre escreve os parâmetros da função dentro dos parênteses. Para definir " +"vários parâmetros, separa-os com uma vírgula." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:272 +#: course/lesson-6-multiple-function-parameters/lesson.tres:273 +msgid "func function_name(parameter_1, parameter_2, ...):" +msgstr "func nome_da_função(parâmetro_1, parâmetro_2, ...):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:272 +msgid "func function_name(parameter_1 parameter_2 ...):" +msgstr "func nome_da_função(parâmetro_1 parâmetro_2 ...):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:272 +msgid "func function_name(): parameter_1, parameter_2, ..." +msgstr "func nome_da_função(): parâmetro_1, parâmetro_2, ..." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:282 +msgid "" +"Now it's your turn to create a function with multiple parameters: a " +"function to draw rectangles of any size." +msgstr "" +"Agora é sua vez de criar uma função com vários parâmetros: uma função para " +"desenhar retângulos de qualquer tamanho." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:290 +msgid "Drawing corners of different sizes" +msgstr "Desenhando ângulos de 90° de tamanhos diferentes" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:291 +msgid "" +"Before we create a rectangle of any size, let's first see how we can use " +"parameters to draw simpler shapes.\n" +"\n" +"Here we have an incomplete function that will draw corners with lines of " +"any length, but it's missing its [code]length[/code] parameter.\n" +"\n" +"The function will move the turtle forward an amount defined by the " +"parameter [code]length[/code], turn [code]90[/code] degrees, then move " +"forward [code]length[/code] pixels.\n" +"\n" +"Complete the [code]draw_corner()[/code] function so it uses the " +"[code]length[/code] parameter to draw corners." +msgstr "" +"Antes de criarmos um retângulo de qualquer tamanho, vamos primeiro ver como " +"podemos usar parâmetros para desenhar formas mais simples.\n" +"\n" +"Aqui temos uma função incompleta que irá desenhar ângulos de 90° com linhas " +"de qualquer comprimento, mas falta o parâmetro [code]length[/code].\n" +"\n" +"A função vai mover a tartaruga para frente pela quantidade definida pelo " +"parâmetro [code]length[/code], vai girar [code]90[/code] graus, então vai " +"mover para frente pela quantidade de [code]length[/code] pixels.\n" +"\n" +"Complete a função [code]draw_corner()[/code] para que ela use o parâmetro " +"[code]length[/code] para desenhar ângulos de 90°." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:309 +msgid "" +"Using function parameters, code a function you can reuse to draw corners " +"with lines of varying sizes." +msgstr "" +"Usando parâmetros de função, programe uma função que pode reutilizar para " +"desenhar ângulos de 90° com linhas de tamanhos variados." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:314 +msgid "Using multiple parameters" +msgstr "Usando vários parâmetros" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:315 +msgid "" +"In this practice, we'll improve our [code]draw_corner()[/code] function " +"so the angle can also vary.\n" +"\n" +"Add the [code]angle[/code] parameter after the [code]length[/code] " +"parameter in the [code]draw_corner()[/code] function and use it to draw " +"corners of varying angles." +msgstr "" +"Neste exercício, vamos melhorar nossa função [code]draw_corner()[/code] para " +"que o ângulo também possa variar.\n" +"\n" +"Adicione o parâmetro [code]angle[/code] após o parâmetro [code]length[/code] " +"na função [code]draw_corner()[/code] e use ela para desenhar bordas de " +"ângulos variados." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:329 +msgid "With two parameters, code a function to draw corners with any angle." +msgstr "" +"Com dois parâmetros, programe uma função para desenhar ângulos de 90° com " +"qualquer ângulo." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:334 +msgid "Drawing squares of any size" +msgstr "Desenhando quadrados de qualquer tamanho" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:335 +msgid "" +"We want a function to draw squares of any size.\n" +"\n" +"We could use these squares as outlines when selecting units in a tactical" +" game, as a frame for items in an inventory, and more.\n" +"\n" +"Create a function named [code]draw_square()[/code] that takes one " +"parameter: the [code]length[/code] of the square's sides.\n" +"\n" +"[b]The turtle should face towards the right when starting or completing a" +" square.[/b]\n" +"\n" +"Be sure to call [b]turn_right(90)[/b] enough times in your function to " +"do so." +msgstr "" +"Queremos uma função para desenhar quadrados de qualquer tamanho.\n" +"\n" +"Poderíamos usar esses quadrados como contornos ao selecionar unidades num " +"jogo tático, como moldura para itens num inventário e muito mais.\n" +"\n" +"Crie uma função chamada [code]draw_square()[/code] que receba um parâmetro: " +"o [code]length[/code] (comprimento) dos lados do quadrado.\n" +"\n" +"[b]A tartaruga deve ficar virada para a direita ao iniciar ou completar um " +"quadrado.[/b]\n" +"\n" +"Certifique-se de chamar [b]turn_right(90)[/b] vezes suficientes na sua " +"função para fazê-lo." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:352 +msgid "" +"In the previous lesson, your function would draw squares of a fixed size." +" Using a parameter, code a function to draw squares of any size." +msgstr "" +"Na lição anterior, a sua função podia desenhar quadrados de tamanho fixo. " +"Usando um parâmetro, programe uma função para desenhar quadrados de qualquer " +"tamanho." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:357 +msgid "Drawing rectangles of any size" +msgstr "Desenhando retângulos de qualquer tamanho" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:358 +msgid "" +"Let's make our square drawing function more flexible to include " +"rectangles of varying sizes.\n" +"\n" +"Your job is to code a function named [code]draw_rectangle()[/code] that " +"takes two parameters: the [code]length[/code] and the [code]height[/code]" +" of the rectangle.\n" +"\n" +"[b]The turtle should face towards the right when starting or completing a" +" rectangle.[/b]\n" +"\n" +"Note that we could still draw a square with [code]draw_rectangle()[/code]" +" by having the [code]length[/code] and [code]height[/code] equal the same" +" value." +msgstr "" +"Vamos tornar nossa função de desenhar quadrados mais flexível para incluir " +"retângulos de tamanhos variados.\n" +"\n" +"O seu trabalho é programar uma função chamada [code]draw_rectangle()[/code] " +"que recebe dois parâmetros: o [code]length[/code] (comprimento) e o " +"[code]height[/code] (altura) do retângulo.\n" +"\n" +"[b]A tartaruga deve ficar voltada para a direita ao iniciar ou completar um " +"retângulo.[/b]\n" +"\n" +"Observe que ainda podemos desenhar um quadrado com " +"[code]draw_rectangle()[/code] fazendo com que [code]length[/code] e " +"[code]height[/code] sejam iguais." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:381 +msgid "" +"With one parameter, you can make squares of any size. With two, you can " +"draw any rectangle! You'll do so in this practice." +msgstr "" +"Com um parâmetro, pode fazer quadrados de qualquer tamanho. Com dois, pode " +"desenhar qualquer retângulo! Vai fazer isso nessa prática." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:385 +msgid "Your First Function Parameter" +msgstr "O seu Primeiro Parâmetro de Função" diff --git a/i18n/pt/lesson-7-member-variables.po b/i18n/pt/lesson-7-member-variables.po new file mode 100644 index 00000000..f5aecf72 --- /dev/null +++ b/i18n/pt/lesson-7-member-variables.po @@ -0,0 +1,421 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-23 18:50+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-7-member-variables/lesson.tres:14 +msgid "" +"In this lesson, we take a first look at variables.\n" +"\n" +"In games, you need to keep track of many values that change over time:\n" +"\n" +"- The player's score.\n" +"- Every character or enemy's health.\n" +"- The last checkpoint.\n" +"\n" +"And so much more. You need to store, retrieve, and update those values.\n" +"\n" +"We call those values [i]variables[/i]. Variables are labels you use to " +"keep track of values that vary over time. Here's an example of a variable" +" tracking a character or monster's health." +msgstr "" +"Nesta lição, damos uma primeira olhada nas variáveis.\n" +"\n" +"Nos jogos, precisa monitorar muitos valores que mudam ao longo do tempo:\n" +"\n" +"- A pontuação do jogador.\n" +"- A saúde de cada personagem ou inimigo.\n" +"- O último ponto de verificação.\n" +"\n" +"E muito mais. Deve armazenar, recuperar e atualizar esses valores.\n" +"\n" +"Chamamos esses valores [i]variables[/i]. Variáveis são rótulos que usa para " +"monitorar os valores que variam ao longo do tempo. Aqui está um exemplo de " +"uma variável que rasteia a saúde de uma personagem ou um monstro." + +#: course/lesson-7-member-variables/lesson.tres:44 +msgid "" +"The line above defines a new variable named [code]health[/code] and " +"assigns it a starting value of [code]100[/code] (that's what the equal " +"sign does, more on that below).\n" +"\n" +"Function parameters, which you saw in the previous lesson, are another " +"example of variables." +msgstr "" +"A linha acima define uma nova variável chamada [code]health[/code] e atribui " +"nela um valor inicial de [code]100[/code] (é isso que o sinal de igual faz, " +"vamos falar mais sobre isso mais abaixo).\n" +"\n" +"Parâmetros de função, que viu na lição anterior, são outro exemplo de " +"variáveis." + +#: course/lesson-7-member-variables/lesson.tres:56 +msgid "" +"In this lesson, we start using variables built into Godot. They're a " +"particular kind called [i]member variables[/i].\n" +"\n" +"Member variables are values attached to a game entity. They're useful " +"properties like the [code]position[/code], [code]rotation[/code], and " +"[code]scale[/code] of a character.\n" +"\n" +"In a previous lesson, we saw how we could use the [code]rotate()[/code] " +"function to rotate our character." +msgstr "" +"Nessa lição, vamos começar a usar variáveis já incorporadas na Godot. São um " +"tipo particular de variáveis chamadas [i]variáveis membros[/i].\n" +"\n" +"Variáveis membros são valores anexados a uma entidade de um jogo. São " +"propriedades úteis como [code]position[/code], [code]rotation[/code] e " +"[code]scale[/code] de uma personagem.\n" +"\n" +"Numa lição anterior, vimos como poderíamos usar a função " +"[code]rotate()[/code] para rotacionar a nossa personagem." + +#: course/lesson-7-member-variables/lesson.tres:80 +msgid "" +"This function increases or decreases the value of the entity's " +"[code]rotation[/code] member variable.\n" +"\n" +"Say we want to reset the rotation to [code]0[/code] and make the " +"character upright. Using the [code]rotate()[/code] function can prove " +"difficult: you need to know the character's exact current angle to cancel" +" it out.\n" +"\n" +"It's much easier to use the member variable rather than the function.\n" +"\n" +"The following code assigns the value [code]0[/code] to the character's " +"rotation, resetting its angle and making it upright." +msgstr "" +"Esta função aumenta ou diminui o valor da variável membro " +"[code]rotation[/code] da entidade.\n" +"\n" +"Digamos que queremos redefinir a rotação para [code]0[/code] e deixar a " +"personagem na vertical. Usar a função [code]rotate()[/code] para isso pode " +"ser difícil: precisaria saber o ângulo atual exato da personagem.\n" +"\n" +"É muito mais fácil usar a variável membro em vez da função.\n" +"\n" +"O código a seguir atribui o valor [code]0[/code] na rotação da personagem, " +"por redefinir o ângulo dele e fazendo-o ficar na vertical." + +#: course/lesson-7-member-variables/lesson.tres:106 +msgid "" +"Notice how we use the equal sign ([code]=[/code]) to change the value of " +"a variable." +msgstr "" +"Observe como usamos o sinal de igual ([code]=[/code]) para mudar o valor de " +"uma variável." + +#: course/lesson-7-member-variables/lesson.tres:114 +msgid "What's a variable?" +msgstr "O que é uma variável?" + +#: course/lesson-7-member-variables/lesson.tres:117 +msgid "" +"Variables are labels you use to access values that change over time.\n" +"\n" +"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 "" +"Variáveis são nomes que usa para acessar valores que mudam ao longo do tempo." +"\n" +"\n" +"Também pode usar as variáveis para pôr um nome num valor que deseja " +"reutilizar em todo o código. Isso faz o seu código mais fácil de ler e " +"alterar." + +#: course/lesson-7-member-variables/lesson.tres:120 +#: course/lesson-7-member-variables/lesson.tres:121 +msgid "A label you use to keep track of a value that can change." +msgstr "Um nome que usa para monitrar um valor que pode mudar." + +#: course/lesson-7-member-variables/lesson.tres:120 +msgid "A function that varies over time." +msgstr "Uma função que varia ao longo do tempo." + +#: course/lesson-7-member-variables/lesson.tres:120 +msgid "A decimal number." +msgstr "Um número decimal." + +#: course/lesson-7-member-variables/lesson.tres:128 +msgid "Accessing sub-variables with the dot" +msgstr "Acessando sub-variáveis com o sinal de ponto final" + +#: course/lesson-7-member-variables/lesson.tres:130 +msgid "" +"In video games, you will see many member variables that have sub-values.\n" +"\n" +"For example, the [code]position[/code] we mentioned has two coordinates: " +"[code]x[/code] and [code]y[/code].\n" +"\n" +"It's the same for the [code]scale[/code]: it has [code]x[/code] and " +"[code]y[/code] sub-variables. They respectively control the horizontal " +"and vertical size of the game entity.\n" +"\n" +"To access those X and Y sub-components, you add a dot (\".\") after the " +"variable name.\n" +"\n" +"The code below places the entity at [code]180[/code] pixels on the x-axis" +" and [code]120[/code] pixels on the y-axis." +msgstr "" +"Nos jogos, vai ver muitas variáveis membro que possuem sub-valores.\n" +"\n" +"Por exemplo, a [code]position[/code] que mencionamos tem duas coordenadas: " +"[code]x[/code] e [code]y[/code].\n" +"\n" +"É o mesmo para a [code]scale[/code]: tem as sub-variáveis [code]x[/code] e " +"[code]y[/code]. Elas controlam respectivamente o tamanho horizontal e " +"vertical da entidade do jogo.\n" +"\n" +"Para acessar esses subcomponentes X e Y, adicione um ponto final (\".\") " +"após o nome da variável.\n" +"\n" +"O código abaixo coloca a entidade em [code]180[/code] pixels no eixo x e " +"[code]120[/code] pixels no eixo y." + +#: course/lesson-7-member-variables/lesson.tres:158 +msgid "" +"Notice how we use the equal sign (\"=\") to assign the numbers on the " +"right to the sub-variables on the left.\n" +"\n" +"Unlike in maths, in computer programming, the equal sign (\"=\") does not" +" mean \"is equal to.\"\n" +"\n" +"Instead, it means \"assign the result of the expression on the right to " +"the variable on the left\". We assign values so often in code that we " +"prefer to reserve the equal sign for that." +msgstr "" +"Observe como usamos o sinal de igual (\"=\") para atribuir os números que " +"estão na direita para a sub-variável na esquerda.\n" +"\n" +"Ao contrário da matemática, na programação de computadores, o sinal de igual " +"(\"=\") não significa \"é igual a\".\n" +"\n" +"Em vez disso, significa \"atribuir o resultado da expressão da direita para " +"a variável da esquerda\". Atribuímos valores com tanta frequência no código " +"que preferimos reservar o sinal de igual para esse propósito." + +#: course/lesson-7-member-variables/lesson.tres:170 +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 +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" +"\n" +"In math, the y-axis is generally positive going up by convention.\n" +"\n" +"The convention is the [i]opposite[/i] in video games and many computer " +"applications: the y-axis is positive going down." +msgstr "" +"Observe que em jogos, assumindo que a posição da sua personagem começa em (" +"0, 0), o código acima move a entidade [code]180[/code] pixels para a direita " +"e [code]120[/code] pixels para baixo.\n" +"\n" +"Em matemática, o eixo y é geralmente positivo subindo, por convenção.\n" +"\n" +"A convenção em videogames é o [i]oposto[/i] e em muitas aplicações de " +"computador também: o eixo y é positivo descendo." + +#: course/lesson-7-member-variables/lesson.tres:196 +msgid "" +"This may be confusing if you only saw the y-axis pointing up in math " +"classes. However, in math, axes go in any direction. They don't even have" +" to be perpendicular.\n" +"\n" +"On the computer, the position (0, 0) happens to correspond to the top-" +"left of your computer screen. It then makes sense for coordinates to be " +"positive when going towards the bottom-right corner.\n" +"\n" +"This leads to another question: why is position zero the top left of the " +"screen? This is due to computer and TV displays history: they would " +"calculate and display pixels starting from the top left corner and moving" +" towards the bottom right corner." +msgstr "" +"Isso pode ser confuso se só viu o eixo y apontando para cima nas aulas de " +"matemática. No entanto, em matemática, os eixos vão em qualquer direção. " +"Eles nem precisam ser perpendiculares.\n" +"\n" +"No computador, a posição (0, 0) corresponde ao canto superior esquerdo do " +"seu monitor. Então, faz sentido que as coordenadas sejam positivas ao ir " +"para o canto inferior direito.\n" +"\n" +"Isso nos leva a outra pergunta: por que a posição zero é o canto superior " +"esquerdo do ecrã? Isso se deve a história de como eram feitos os monitores e " +"as TVs: eles calculam e exibem pixels começando no canto superior esquerdo e " +"se move em direção ao canto inferior direito." + +#: course/lesson-7-member-variables/lesson.tres:210 +msgid "" +"Let's look at one last example before moving on to the practice. The " +"following code makes the character 1.5 times its starting size." +msgstr "" +"Vamos ver um último exemplo antes de passar à prática. O código a seguir faz " +"a personagem ficar 1,5 vezes maior do que o tamanho inicial dele." + +#: course/lesson-7-member-variables/lesson.tres:228 +msgid "How do you access sub-variables?" +msgstr "Como acessa sub-variáveis?" + +#: course/lesson-7-member-variables/lesson.tres:229 +msgid "" +"Variables often hold sub-values, like the [code]position[/code] has two " +"sub-variables: [code]x[/code] and [code]y[/code]. How would you access " +"the [code]x[/code], for example?" +msgstr "" +"As variáveis geralmente contêm sub-valores, igual a variável " +"[code]position[/code] que tem duas sub-variáveis: [code]x[/code] e " +"[code]y[/code]. Como acessaria a sub-variável [code]x[/code], por exemplo?" + +#: course/lesson-7-member-variables/lesson.tres:231 +msgid "" +"To access a sub-variable, you need to write a dot between the parent " +"variable name and the sub-variable name.\n" +"\n" +"For example, to access the [code]x[/code] sub-variable of the " +"[code]position[/code] variable, you'll write [code]position.x[/code]." +msgstr "" +"Para acessar uma sub-variável, precisa escrever um ponto final entre o nome " +"da variável pai e o nome da sub-variável.\n" +"\n" +"Por exemplo, para acessar a sub-variável [code]x[/code] da variável " +"[code]position[/code], vai escrever [code]position.x[/code]." + +#: course/lesson-7-member-variables/lesson.tres:234 +#: course/lesson-7-member-variables/lesson.tres:235 +msgid "You write a dot (\".\") between the variable and the sub-variable name." +msgstr "" +"Escreve um ponto final (\".\") entre a variável e o nome da sub-variável." + +#: course/lesson-7-member-variables/lesson.tres:234 +msgid "" +"You write an arrow (\"->\") between the variable and the sub-variable " +"name." +msgstr "Escreve uma seta (\"->\") entre a variável e o nome da sub-variável." + +#: course/lesson-7-member-variables/lesson.tres:234 +msgid "You write a slash (\"/\") between the variable and the sub-variable name." +msgstr "Escreve uma barra (\"/\") entre a variável e o nome da sub-variável." + +#: course/lesson-7-member-variables/lesson.tres:244 +msgid "" +"In a future lesson, we'll explain why and how those variables have sub-" +"variables.\n" +"\n" +"For now, just know you can use the dot to access them.\n" +"\n" +"We'll tell you which variables have sub-components and what their names " +"are.\n" +"\n" +"In the next lessons, you'll create your own variables and do operations " +"on them to add or remove [code]score[/code], [code]health[/code], you " +"name it.\n" +"\n" +"For now, let's practice accessing variables." +msgstr "" +"Numa lição futura, vamos explicar por que e como essas variáveis têm sub-" +"variáveis.\n" +"\n" +"Por enquanto, apenas saiba que pode usar o ponto final para acessá-las.\n" +"\n" +"Vamos dizer-lhe quais variáveis têm subcomponentes e quais são os nomes " +"deles.\n" +"\n" +"Nas próximas lições, vai criar as suas próprias variáveis e vai fazer " +"operações nelas para adicionar ou remover coisas como: [code]score[/code] " +"(pontos), [code]health[/code] (vida) ou qualquer outra coisa.\n" +"\n" +"Por enquanto, vamos praticar o acesso a variáveis." + +#: course/lesson-7-member-variables/lesson.tres:260 +msgid "Draw a rectangle at a precise position" +msgstr "Desenhe um retângulo numa posição precisa" + +#: course/lesson-7-member-variables/lesson.tres:261 +msgid "" +"Draw a rectangle of 200 by 120 pixels at the X position of 120 pixels and" +" Y position of 100 pixels.\n" +"\n" +"You need to replace the numbers in the code editor to draw the correct " +"rectangle." +msgstr "" +"Desenhe um retângulo de 200 pixels de comprimento por 120 pixels de altura " +"na posição X de 120 pixels e na posição Y de 100 pixels.\n" +"\n" +"Precisa substituir os números no editor de código para desenhar o retângulo " +"correto." + +#: course/lesson-7-member-variables/lesson.tres:275 +msgid "" +"Use the position member variable and its sub-variables to change the " +"rectangle's position." +msgstr "" +"Use a variável membro \"position\" e as sub-variáveis deles para alterar a " +"posição do retângulo." + +#: course/lesson-7-member-variables/lesson.tres:280 +msgid "Draw squares at different positions" +msgstr "Desenhe quadrados em diferentes posições" + +#: course/lesson-7-member-variables/lesson.tres:281 +msgid "" +"Draw three squares of size 100 by 100 that are 100 pixels apart on the " +"horizontal axis. In other words, there should be a 100-pixel gap between " +"two squares.\n" +"\n" +"You should draw the squares starting at the position (100, 100). This " +"means you should position the first square at 100 on the X axis and 100 " +"on the Y axis.\n" +"\n" +"Remember you need to use the equal sign ([code]=[/code]) to change the " +"value of a variable, like the turtle's position.\n" +"\n" +"Write your code inside the [code]run()[/code] function so the computer " +"can recognize it." +msgstr "" +"Desenhe três quadrados de tamanho 100 por 100, separados por 100 pixels no " +"eixo horizontal. Em outras palavras, deve haver uma lacuna de 100 pixels " +"entre os dois quadrados.\n" +"\n" +"Deve desenhar os quadrados começando na posição (100, 100). Isso significa " +"que deve posicionar o primeiro quadrado em 100 no eixo X e 100 no eixo Y.\n" +"\n" +"Lembre-se que precisa usar o sinal de igual ([code]=[/code]) para alterar o " +"valor de uma variável, como a posição da tartaruga.\n" +"\n" +"Escreva o seu código dentro da função [code]run()[/code] para que o " +"computador possa reconhecer o código." + +#: course/lesson-7-member-variables/lesson.tres:297 +msgid "" +"Now you can place and draw one shape, but how about drawing several? In " +"this practice, you'll place three squares side by side to really get the " +"hang of properties." +msgstr "" +"Agora pode pôr e desenhar uma forma, mas que tal desenhar várias? Neste " +"exercício, pôrá três quadrados lado a lado para realmente compreender o " +"jeito de propriedades." + +#: course/lesson-7-member-variables/lesson.tres:301 +msgid "Introduction to Member Variables" +msgstr "Introdução às variáveis membro" diff --git a/i18n/pt/lesson-8-defining-variables.po b/i18n/pt/lesson-8-defining-variables.po new file mode 100644 index 00000000..60a7cb3d --- /dev/null +++ b/i18n/pt/lesson-8-defining-variables.po @@ -0,0 +1,293 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-12 13:49+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.17-dev\n" +"Generated-By: Babel 2.10.1\n" + +#: course/lesson-8-defining-variables/lesson.tres:13 +msgid "" +"In the previous lesson, you used a predefined member variable named " +"[code]position[/code].\n" +"\n" +"In your projects, you will need to define your own variables.\n" +"\n" +"Imagine that you need to track the player's health in your game.\n" +"\n" +"They may start with [code]5[/code] health points. When taking a hit, the " +"health should go down to [code]4[/code]. After another hit, it should be " +"[code]3[/code]. And so on.\n" +"\n" +"To keep track of that, you can create a variable named " +"[code]health[/code] to which you add and subtract points.\n" +"\n" +"[i]The example below introduces the [code]print()[/code] function, which " +"outputs its parameter to the output box on the left.[/i]" +msgstr "" +"Na lição anterior, usou uma variável membro predefinida chamada " +"[code]position[/code].\n" +"\n" +"Nos seus projetos, vai precisar de definir as suas próprias variáveis.\n" +"\n" +"Imagine que precisa acompanhar a vida do jogador no seu jogo.\n" +"\n" +"Ela pode começar com [code]5[/code] pontos. Ao receber um golpe, a vida cai " +"para [code]4[/code]. Depois de outro hit, deve ser [code]3[/code]. E assim " +"por diante.\n" +"\n" +"Para acompanhar isso, pode criar uma variável chamada [code]health[/code] " +"que pode usar para adicionar e subtrair pontos.\n" +"\n" +"[i]O exemplo abaixo apresenta a função [code]print()[/code], que emite o " +"parâmetro dele à caixa de saída à esquerda.[/i]" + +#: course/lesson-8-defining-variables/lesson.tres:43 +msgid "" +"After executing the first two lines of code, you will have a health " +"variable storing a value of [code]4[/code].\n" +"\n" +"Below, we'll break down how you define new variables and explain the " +"[code]print()[/code] function." +msgstr "" +"Depois de executar as duas primeiras linhas de código, vai ter uma variável " +"de vida armazenando um valor de [code]4[/code] pontos.\n" +"\n" +"Abaixo, vamos detalhar como define novas variáveis e explicaremos a função " +"[code]print()[/code]." + +#: course/lesson-8-defining-variables/lesson.tres:53 +msgid "Defining a variable" +msgstr "Definindo uma variável" + +#: course/lesson-8-defining-variables/lesson.tres:55 +msgid "" +"To use a variable, you must first define it so the computer registers its" +" name.\n" +"\n" +"To do so, you start a line of code with the [code]var[/code] keyword " +"followed by your desired variable name. Like [code]func[/code] stands for" +" [i]function[/i], [code]var[/code] stands for [i]variable[/i].\n" +"\n" +"The following line defines a [code]health[/code] variable pointing to no " +"value. You can think of it as creating a product label you have yet to " +"stick onto something." +msgstr "" +"Para usar uma variável, primeiro deve defini-la para que o computador " +"registe o nome dela.\n" +"\n" +"Para fazer isso, inicie uma linha de código com a palavra-chave " +"[code]var[/code] seguida do nome da variável desejada. Assim como " +"[code]func[/code] significa [i]função[/i], [code]var[/code] significa " +"[i]variável[/i].\n" +"\n" +"A linha a seguir define uma variável [code]health[/code] que não possui " +"nenhum valor. Pode pensar nisso como criar um nome de um produto que ainda " +"precisa colar em algo (ou seja, criou a variável e não colocou nenhum valor " +"nela ainda)." + +#: course/lesson-8-defining-variables/lesson.tres:79 +msgid "" +"Like with functions, a member variable's name must be unique inside a " +"given code file. Creating two variables next to each other with the same " +"name will cause an error." +msgstr "" +"Assim como as funções, o nome de uma variável membro deve ser exclusivo " +"dentro de um determinado ficheiro de código. Criar duas variáveis próximas " +"uma da outra com o mesmo nome causará um erro." + +#: course/lesson-8-defining-variables/lesson.tres:99 +msgid "" +"To use a variable, you want to assign it a starting value. You can do so " +"using the equal sign (=).\n" +"\n" +"This code assigns the value [code]100[/code] to a new variable named " +"[code]health[/code]." +msgstr "" +"Para usar uma variável, deve lhe atribuir um valor inicial. Pode fazer isso " +"usando o sinal de igual (=).\n" +"\n" +"Esse código atribui o valor [code]100[/code] numa nova variável chamada " +"[code]health[/code]." + +#: course/lesson-8-defining-variables/lesson.tres:121 +msgid "" +"After defining your variable, you can access its value by writing the " +"variable's name." +msgstr "" +"Depois de definir a sua variável, pode acessar o valor dela por escrever o " +"nome dela." + +#: course/lesson-8-defining-variables/lesson.tres:141 +msgid "" +"The code above will display the number [code]100[/code] to some output " +"window.\n" +"\n" +"Notice we don't use the [code]var[/code] keyword anymore as we only need " +"it to [i]define[/i] a variable.\n" +"\n" +"Also, once you define a variable, you can change its value anytime with " +"the equal sign." +msgstr "" +"O código acima exibirá o número [code]100[/code] em alguma janela de saída.\n" +"\n" +"Observe que não usamos mais a palavra-chave [code]var[/code] pois só " +"precisamos dela para [i]definir[/i] uma variável.\n" +"\n" +"Além disso, depois de definir uma variável, pode alterar o valor dela a " +"qualquer momento com o sinal de igual." + +#: course/lesson-8-defining-variables/lesson.tres:163 +msgid "About the print function" +msgstr "Sobre a função chamada print" + +#: course/lesson-8-defining-variables/lesson.tres:165 +msgid "" +"The [code]print()[/code] function is generally the first function you " +"learn in academic programming courses.\n" +"\n" +"It sends (\"prints\") the message or value you give it to some output " +"window, often a black window with plain white text." +msgstr "" +"A função [code]print()[/code] é geralmente a primeira função que aprende em " +"cursos acadêmicos de programação.\n" +"\n" +"Ela (\"imprime no ecrã\") mensagens ou valores que fornece para alguma " +"janela de saída, essa janela geralmente é um ecrã preto com texto simples " +"branco." + +#: course/lesson-8-defining-variables/lesson.tres:177 +msgid "" +"Programmers often use [code]print()[/code] to quickly check the value of " +"their variables when their game runs.\n" +"\n" +"In the app, we made a special output window that captures calls to " +"[code]print()[/code] and displays a card to make it friendlier for you." +msgstr "" +"Os programadores costumam usar a função [code]print()[/code] para verificar " +"rapidamente o valor das variáveis delas quando o jogo é executado.\n" +"\n" +"Na app criamos uma janela de saída especial que captura chamadas da função " +"[code]print()[/code] e exibe um cartão no ecrã, para tornar as coisas mais " +"amigável para si." + +#: course/lesson-8-defining-variables/lesson.tres:199 +msgid "" +"Here, the verb [i]print[/i] means \"to send information to display on the" +" screen.\"\n" +"\n" +"The function \"prints\" things on your computer display; It does not " +"relate to printers." +msgstr "" +"Aqui, o verbo [i]print[/i] (imprimir em inglês) significa \"enviar " +"informações para serem exibidas no ecrã\".\n" +"\n" +"A função \"imprime\" coisas no ecrã do seu computador; Não tem nada a ver " +"com impressoras." + +#: course/lesson-8-defining-variables/lesson.tres:209 +msgid "Variables are like labels" +msgstr "Variáveis são como rótulos" + +#: course/lesson-8-defining-variables/lesson.tres:211 +msgid "" +"As we hinted above, in GDScript, variables work a bit like labels.\n" +"\n" +"Assigning a value to a variable is like taking your label (the variable) " +"and sticking it onto some item (the value)." +msgstr "" +"Como sugerimos acima, no GDScript, as variáveis funcionam um pouco como " +"rótulos.\n" +"\n" +"Atribuir um valor a uma variável é como levar o rótulo dela (da variável) e " +"colá-lo em algum item (o valor)." + +#: course/lesson-8-defining-variables/lesson.tres:223 +msgid "" +"Like a supermarket has a database of product labels, the computer keeps a" +" list of all variables in your code.\n" +"\n" +"Given the variable name, the computer can look up the attached value.\n" +"\n" +"It has an important consequence. In GDScript, you can stick that label to" +" any other value." +msgstr "" +"Assim como um supermercado tem um banco de dados de rótulos dos produtos, o " +"computador mantém uma lista de todas as variáveis no seu código.\n" +"\n" +"Depois de dar um nome à variável, o computador pode procurar o valor anexado." +"\n" +"\n" +"Tem uma consequência importante nisso. No GDScript, pode colar esse rótulo " +"em qualquer outro valor." + +#: course/lesson-8-defining-variables/lesson.tres:247 +msgid "" +"The above code is like taking a label from the appropriate item and " +"sticking it to the wrong thing:\n" +"\n" +"- At line 1, the [code]health[/code] variable holds a number.\n" +"- From line 2, [code]health[/code] holds text.\n" +"\n" +"The computer will let you do that! The code's syntax and \"grammar\" are " +"correct, but it's not good.\n" +"\n" +"Later on, we'll see how to avoid this issue with [i]variable types[/i]. " +"For now, let's practice creating variables!" +msgstr "" +"O código acima é como levar um rótulo de um item que já estava certo e colá-" +"lo na coisa errada:\n" +"\n" +"- Na linha 1, a variável [code]health[/code] contém um número.\n" +"- A partir da linha 2, [code]health[/code] passar a ter um texto.\n" +"\n" +"O computador vai deixar fazer isso! A sintaxe e a \"gramática\" do código " +"estão corretas, mas não são boas.\n" +"\n" +"Mais tarde, veremos como evitar esse problema com [i]tipos de variável[/i]. " +"Por enquanto, vamos praticar a criação de variáveis!" + +#: course/lesson-8-defining-variables/lesson.tres:262 +msgid "Define a health variable" +msgstr "Defina uma variável de vida" + +#: course/lesson-8-defining-variables/lesson.tres:263 +msgid "" +"Define a variable named [code]health[/code] with a starting value of " +"[code]100[/code].\n" +"\n" +"You can define variables inside or outside functions. In this practice, " +"you shouldn't create a function." +msgstr "" +"Defina uma variável chamada [code]health[/code] com um valor inicial de " +"[code]100[/code].\n" +"\n" +"Pode definir variáveis dentro ou fora das funções. Nesta prática, não deve " +"criar uma função." + +#: course/lesson-8-defining-variables/lesson.tres:274 +msgid "" +"In this practice, you'll define your first variable and give it a " +"specific starting value." +msgstr "" +"Nesta prática, vai definir a sua primeira variável e dará-lhe um valor " +"inicial específico." + +#: course/lesson-8-defining-variables/lesson.tres:278 +msgid "Defining Your Own Variables" +msgstr "Definir as Suas Próprias Variáveis" diff --git a/i18n/pt/lesson-9-adding-and-subtracting.po b/i18n/pt/lesson-9-adding-and-subtracting.po new file mode 100644 index 00000000..38e3a94c --- /dev/null +++ b/i18n/pt/lesson-9-adding-and-subtracting.po @@ -0,0 +1,216 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-04-23 18:50+0000\n" +"Last-Translator: ssantos \n" +"Language-Team: Portuguese \n" +"Language: pt\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.10.1\n" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:14 +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 player is from losing the game.\n" +"\n" +"Health that changes adds tension to the game, especially if the player is" +" fighting with low health! It's a resource that that player should manage" +" carefully.\n" +"\n" +"The character's health might get low if an enemy attacks them or they " +"fall into a hole.\n" +"\n" +"We can create a function to represent damage in these cases." +msgstr "" +"A personagem do nosso jogo vai ter uma vida quando definirmos a variável " +"[code]health[/code]. Quanto maior a vida da personagem, mais distante o " +"jogador está de perder o jogo.\n" +"\n" +"Uma vida que varia adiciona tensão no jogo, especialmente se o jogador lutar " +"com pouca vida! É um recurso que esse jogador deve gerir com cuidado.\n" +"\n" +"A vida da personagem pode ficar baixa se um inimigo o atacar ou cair num " +"buraco.\n" +"\n" +"Podemos criar uma função para representar o dano nesses casos." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:40 +msgid "" +"We pass the amount of damage the robot should take as a parameter.\n" +"\n" +"Line 2 subtracts [code]amount[/code] from [code]health[/code].\n" +"\n" +"Note the [code]-=[/code] syntax which achieves this. It's a shorthand we " +"often use.\n" +"\n" +"You can also use a longer form. Both of these lines have the same effect." +" They both subtract the value of [code]amount[/code] to the " +"[code]health[/code] variable:\n" +"\n" +"[code]health -= amount[/code]\n" +"[code]health = health - amount[/code]\n" +"\n" +"You may notice that the health of the robot can go below [code]0[/code]. " +"We'll see how to manage this in a future lesson using [i]conditions[/i]." +msgstr "" +"Passamos a quantidade de dano que o robô deve tomar como parâmetro.\n" +"\n" +"Na linha 2 subtraímos [code]amount[/code] de [code]health[/code].\n" +"\n" +"Observe a sintaxe [code]-=[/code]. É uma abreviação que costumamos usar.\n" +"\n" +" Também pode usar uma forma mais longa. Ambas as linhas têm o mesmo efeito. " +"Ambas subtraem o valor de [code]amount[/code] para a variável " +"[code]health[/code]:\n" +"\n" +"[code]health -= amount[/code]\n" +"[code]health = health - amount[/code]\n" +"\n" +"Pode notar que a vida do robô pode ficar abaixo de [code]0[/code]. Veremos " +"como gerir isso numa lição futura usando [i]condições[/i]." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:61 +msgid "" +"The robot's health could increase instead if the player picks up an item " +"that heals them, or if they use a healing item." +msgstr "" +"A vida do robô pode aumentar se o jogador levar um item que o cure " +"imediatamente ou se usar um item de cura." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:81 +msgid "" +"Here again, the health can go beyond [code]100[/code].\n" +"\n" +"Also, once more, the short line [code]health += amount[/code] is " +"equivalent to the longer form [code]health = health + amount[/code]." +msgstr "" +"Aqui também, a vida pode ir além de [code]100[/code].\n" +"\n" +"Além disso, mais uma vez, a forma abreviada [code]health += amount[/code] é " +"equivalente à forma mais longa [code]health = health + amount[/code]." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:91 +msgid "Which of these would increase the health of the robot?" +msgstr "Qual dessas opções aumentaria a vida do robô?" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:94 +msgid "" +"Both of these lines increase the [code]health[/code] of the robot by " +"[code]amount[/code].\n" +"[code]\n" +"health += amount\n" +"health = health + amount\n" +"[/code]" +msgstr "" +"Ambas as linhas aumentam a variável [code]health[/code] (vida) do robô por " +"[code]amount[/code] (uma certa quantidade).\n" +"[code]\n" +"health+= amount\n" +"health= health+ amount\n" +"[/code]" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +msgid "health -= amount" +msgstr "health -= amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +#: course/lesson-9-adding-and-subtracting/lesson.tres:100 +msgid "health += amount" +msgstr "health += amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +#: course/lesson-9-adding-and-subtracting/lesson.tres:100 +msgid "health = health + amount" +msgstr "health = health + amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +msgid "health = health - amount" +msgstr "health = health - amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:109 +msgid "" +"In the following practices, you'll code the [code]take_damage()[/code] " +"and [code]heal()[/code] functions so the robot's health can decrease and " +"increase." +msgstr "" +"Nas práticas a seguir, vai programar as funções [code]take_damage()[/code] e " +"[code]heal()[/code] para que a vida do robô possa diminuir e aumentar." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:117 +msgid "Damaging the Robot" +msgstr "Fazendo o robô levar dano" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:118 +msgid "" +"In our game, the main character has a certain amount of " +"[code]health[/code]. When it gets hit, the health should go down by a " +"varying [code]amount[/code] of damage.\n" +"\n" +"Add to the [code]take_damage()[/code] function so it subtracts the " +"[code]amount[/code] to the predefined [code]health[/code] variable.\n" +"\n" +"The robot starts with 100 health and will take 50 damage." +msgstr "" +"No nosso jogo, a personagem principal tem uma certa quantidade de " +"[code]health[/code]. Quando é atingido, a vida dele deve diminuir " +"[code]amount[/code] (uma certa quantidade) de dano.\n" +"\n" +"Adicione algo na função [code]take_damage()[/code] para que ela subtraia o " +"[code]amount[/code] da variável [code]health[/code] predefinida.\n" +"\n" +"O robô começa com 100 de vida e vai receber 50 de dano." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:134 +msgid "Learn how to deal damage to entities like our robot." +msgstr "Aprenda a causar dano em entidades no jogo como nosso robô." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:139 +msgid "Healing the Robot" +msgstr "Curando o robô" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:140 +msgid "" +"It's time to heal the robot up to full health!\n" +"\n" +"Write a function called [code]heal()[/code] that takes " +"[code]amount[/code] as a parameter.\n" +"\n" +"The function should add [code]amount[/code] to [code]health[/code].\n" +"\n" +"The robot starts with 50 health and will heal 50 to get it up to 100." +msgstr "" +"É hora de curar o robô até a vida máxima!\n" +"\n" +"Escreva uma função chamada [code]heal()[/code] que receba [code]amount[/code]" +" como parâmetro.\n" +"\n" +"A função deve adicionar o valor de [code]amount[/code] na variável " +"[code]health[/code].\n" +"\n" +"O robô começa com 50 de vida e cura 50 para chegar a 100." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:157 +msgid "" +"Our robot needs healing after that practice! Create a function to heal it" +" back to full health." +msgstr "" +"Nosso robô precisa de cura depois dessa prática! Crie uma função para curar " +"a vida dele de volta para o valor máximo." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:161 +msgid "Adding and Subtracting" +msgstr "Adicionando e Subtraindo" diff --git a/i18n/pt_BR/application.po b/i18n/pt_BR/application.po new file mode 100644 index 00000000..b33e2210 --- /dev/null +++ b/i18n/pt_BR/application.po @@ -0,0 +1,963 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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" + +#: resources/QuizInputField.gd:17 +msgid "You need to type a whole number for this answer. Example: 42" +msgstr "Você precisa digitar um número inteiro para esta resposta. Exemplo: 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 "" +"Você precisa digitar um número real para esta resposta. Use um \".\" para " +"separar a parte decimal. Exemplo: 3.14" + +#: ui/UILesson.tscn:90 +msgid "Title" +msgstr "Título" + +#: ui/UILesson.tscn:125 +msgid "Practices" +msgstr "Práticas" + +#: ui/UINavigator.gd:365 +msgid "Go back in your navigation history" +msgstr "Volte no seu histórico de navegação" + +#: ui/UINavigator.gd:368 +msgid "(no previous history)" +msgstr "(sem histórico anterior)" + +#: ui/UINavigator.tscn:103 +msgid "CHRISTMAS SALE - 50% OFF" +msgstr "PROMOÇÃO DE NATAL - 50% de desconto" + +#: ui/UINavigator.tscn:163 +msgid "CHRISTMAS SALE" +msgstr "PROMOÇÃO DE NATAL" + +#: ui/UIPractice.gd:154 ui/UIPractice.gd:220 +#, python-format +msgid "Hint %s" +msgstr "Dica %s" + +#: ui/UIPractice.gd:248 +msgid "Validating Your Code..." +msgstr "Validando seu código..." + +#: ui/UIPractice.gd:268 +#, python-format +msgid "The function `%s` calls itself, this creates an infinite loop" +msgstr "A função `%s` chama a si própria, isso cria um loop infinito" + +#: ui/UIPractice.gd:301 +msgid "Running Your Code..." +msgstr "Rodando seu código..." + +#: 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 "" +"Há uma divisão por zero em seu código. Você não pode dividir por zero no " +"código. Certifique-se que não há \"/ 0\" ou \"% 0\" no seu código." + +#: ui/UIPractice.gd:343 +msgid "" +"Oh no! The script has an error, but the Script Verifier did not catch it" +msgstr "" +"Oh não! O script possui um erro, mas o Verificador de Script não pôde " +"identificá-lo" + +#: ui/UIPractice.gd:369 +msgid "Running Tests..." +msgstr "Rodando testes..." + +#: ui/UIPractice.tscn:138 +msgid "Suggested Solution" +msgstr "Solução Sugerida" + +#: ui/UIPractice.tscn:189 +msgid "Use Solution" +msgstr "Use a Solução" + +#: ui/UIPractice.tscn:207 +msgid "Leave unfinished practice?" +msgstr "Deixar prática não finalizada?" + +#: ui/components/BigGreenButton.tscn:24 +msgid "Button" +msgstr "Botão" + +#: ui/components/CodeEditor.tscn:144 +msgid "Run" +msgstr "Rodar" + +#: ui/components/CodeEditor.tscn:158 +msgid "Pause" +msgstr "Pausar" + +#: ui/components/CodeEditor.tscn:173 ui/components/RunnableCodeExample.tscn:87 +msgid "Reset" +msgstr "Resetar" + +#: ui/components/CodeEditor.tscn:195 +msgid "Solution" +msgstr "Solução" + +#: ui/components/CodeEditor.tscn:209 ui/components/OutputConsole.tscn:43 +msgid "Output" +msgstr "Saída" + +#: ui/components/CodeEditor.tscn:224 +#: ui/components/popups/LessonDonePopup.tscn:198 +#: ui/components/popups/PracticeDonePopup.tscn:165 +msgid "Continue" +msgstr "Continuar" + +#: ui/components/DebuggerConsoleMonitoredVariable.tscn:20 +#: ui/components/OutputConsolePrintMessage.tscn:23 +msgid "Value" +msgstr "Valor" + +#: ui/components/GameView.tscn:72 +msgid "Paused" +msgstr "Pausado" + +#: ui/components/GlossaryPopup.tscn:37 +msgid "Term" +msgstr "Termo" + +#: ui/components/GlossaryPopup.tscn:53 +#: ui/components/popups/ErrorOverlayPopup.tscn:74 +msgid "Our error explanation." +msgstr "Nossa explicação do erro." + +#: ui/components/OutputConsoleErrorMessage.tscn:39 +msgid "ERROR:" +msgstr "ERRO:" + +#: ui/components/OutputConsoleErrorMessage.tscn:47 +#: ui/components/ScrollableTextBox.tscn:43 +#: ui/screens/lesson/UIContentBlock.tscn:68 +msgid "Placeholder text" +msgstr "Texto de dica" + +#: ui/components/OutputConsoleErrorMessage.tscn:62 +msgid "in" +msgstr "em" + +#: ui/components/OutputConsoleErrorMessage.tscn:68 +msgid "FileName" +msgstr "Nome do Arquivo" + +#: ui/components/OutputConsoleErrorMessage.tscn:75 +msgid "at" +msgstr "no" + +#: ui/components/OutputConsoleErrorMessage.tscn:82 +msgid "0:0" +msgstr "0:0" + +#: ui/components/OutputConsoleErrorMessage.tscn:92 +msgid "" +"Sometimes errors are reported outside of your code. Why does that happen?" +msgstr "" +"Às vezes, erros são reportados fora do seu código. Por que isso acontece?" + +#: ui/components/OutputConsoleErrorMessage.tscn:101 +msgid "Explain" +msgstr "Explique" + +#: ui/components/Revealer.tscn:74 +msgid "Expand" +msgstr "Expandir" + +#: ui/components/RunnableCodeExample.tscn:105 +msgid "run()" +msgstr "Executar()" + +#: ui/components/RunnableCodeExample.tscn:123 +msgid "step" +msgstr "passo" + +#: ui/components/RunnableCodeExampleDebugger.tscn:44 +msgid "Debugger" +msgstr "Depurador" + +#: ui/components/SalePopup.tscn:121 +#, python-format +msgid "" +"[center]Get [b]50% off[/b] on all our Godot courses with the \n" +"coupon code [b]DISCOUNT50[/b][/center]" +msgstr "" +"[center]Receba [b]50% de desconto[/b] em todos os nossos cursos de Godot com " +"o \n" +"cupom [b]DISCOUNT50[/b][/center]" + +#: ui/components/SalePopup.tscn:132 +msgid "Only until " +msgstr "Só até " + +#: ui/components/SalePopup.tscn:155 +msgid "CHECK OUT OUR COURSES" +msgstr "CONHEÇA NOSSOS CURSOS" + +#: ui/components/SalePopup.tscn:180 +msgid "X" +msgstr "X" + +#: ui/components/popups/ConfirmPopup.tscn:115 +#: ui/components/popups/PracticeLeaveUnfinishedPopup.tscn:119 +msgid "Confirm" +msgstr "Confirmar" + +#: ui/components/popups/ConfirmPopup.tscn:127 +#: ui/components/popups/PracticeLeaveUnfinishedPopup.tscn:131 +msgid "Cancel" +msgstr "Cancelar" + +#: ui/components/popups/ErrorOverlayPopup.tscn:46 +msgid "Original error message" +msgstr "Mensagem de erro original" + +#: ui/components/popups/ErrorOverlayPopup.tscn:65 +msgid "Why this happens" +msgstr "Por que isso está acontecendo" + +#: ui/components/popups/ErrorOverlayPopup.tscn:82 +msgid "How to fix this" +msgstr "Como corrigir isso" + +#: ui/components/popups/ErrorOverlayPopup.tscn:91 +msgid "Our suggestion on how to fix it." +msgstr "Nossa sugestão de como corrigir." + +#: ui/components/popups/ErrorOverlayPopup.tscn:102 +msgid "" +"Sorry, we don't have this particular error message covered yet!\n" +"\n" +"Please, use the [b]Report[/b] button in the top-right corner to tell us more " +"about how you've got it, and we will try to improve our knowledge base for " +"the next version of the application.\n" +"\n" +"[center]Thank you![/center]" +msgstr "" +"Desculpe, nós não cobrimos ainda essa mensagem de erro em particular!\n" +"\n" +"Por favor, use o botão [b]Report[/b] no canto superior direito para nos " +"dizer como você conseguiu esse erro e vamos tentar aumentar nossa base de " +"conhecimento para a próxima versão da aplicação.\n" +"\n" +"[center]Obrigado![/center]" + +#: ui/components/popups/ErrorOverlayPopup.tscn:128 +msgid "Hide" +msgstr "Esconder" + +#: ui/components/popups/ExternalErrorPopup.tscn:66 +msgid "Where do external errors come from?" +msgstr "De onde vem os erros externos?" + +#: ui/components/popups/ExternalErrorPopup.tscn:83 +msgid "" +"Lessons in this course are designed so you only need to edit the " +"[b]important bits[/b]. But there is much more code outside of what you see " +"that makes the project run.\n" +"\n" +"This means that sometimes changes you make can affect code you have no " +"control over. But don't worry, you can still fix all the issues yourself " +"with the code you [b]can[/b] edit!\n" +"\n" +"[i]This is like how game engines work too.[/i] There is a lot of hidden code " +"that they execute to ensure your project runs smoothly. And yet, an error in " +"your scripts can break them. We'll try to explain how to address each " +"individual error that you face. Quick, click the [b]Explain[/b] button next " +"to the error message!" +msgstr "" +"As lições nesse curso são construídas de tal forma que você só precisa " +"editar as [b]partes importantes[/b]. Mas há muito mais código fora do que " +"você vê que faz o projeto ser executado.\n" +"\n" +"Isso significa que, às vezes, as alterações feitas podem afetar o código " +"sobre o qual você não tem controle. Mas não se preocupe, você ainda pode " +"corrigir todos os problemas com o código que você [b]pode[/b] editar!\n" +"\n" +"[i]É assim que os motores de jogos (engines) funcionam também .[/i] Há muito " +"código oculto que eles executam para garantir que seus projetos funcionem " +"sem problemas. Ainda assim, um erro em seus códigos pode quebrá-los. Nós " +"vamos tentar explicar como resolver cada erro que você encontrar. Rápido, " +"clique no botão [b]Explicar[/b] ao lado da mensagem de erro!" + +#: ui/components/popups/ExternalErrorPopup.tscn:119 +msgid "Got it!" +msgstr "Acertou!" + +#: ui/components/popups/LessonDonePopup.tscn:133 +msgid "Lesson complete!" +msgstr "Lição completa!" + +#: ui/components/popups/LessonDonePopup.tscn:142 +msgid "" +"But there are still some practices\n" +"that you've skipped." +msgstr "" +"Mas ainda há algumas práticas\n" +"que você pulou." + +#: 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][b]Permaneça[/b] e revisite o material de estudo,\n" +"ou [b]continue[/b] o curso.[/center]" + +#: ui/components/popups/LessonDonePopup.tscn:183 +#: ui/components/popups/PracticeDonePopup.tscn:144 +msgid "Stay" +msgstr "Permaneça" + +#: ui/components/popups/PracticeDonePopup.tscn:89 +msgid "Well done!" +msgstr "Muito bem!" + +#: ui/components/popups/PracticeDonePopup.tscn:98 +msgid "You completed the practice." +msgstr "Você completou a prática." + +#: ui/components/popups/PracticeDonePopup.tscn:110 +msgid "" +"[center][b]Stay[/b] and play around,\n" +"or [b]continue[/b] the course.[/center]" +msgstr "" +"[center][b]Permaneça[/b] e teste a vontade,\n" +"ou [b]continue[/b] o curso.[/center]" + +#: ui/components/popups/PracticeListPopup.tscn:67 +msgid "Practice List" +msgstr "Lista de Prática" + +#: ui/components/popups/PracticeListPopup.tscn:115 +#: ui/components/popups/SettingsPopup.tscn:244 +msgid "Close" +msgstr "Fechar" + +#: ui/components/popups/ReportFormPopup.tscn:66 +msgid "Report an issue" +msgstr "Informe um problema" + +#: ui/components/popups/ReportFormPopup.tscn:83 +msgid "" +"If you face an issue in the app, please click the link below to report it on " +"GitHub:\n" +"\n" +"[center][b][url=https://github.com/GDQuest/learn-gdscript/issues]GitHub.com " +"> GDQuest > learn-gdscript > Issues[/url][/b][/center]\n" +"\n" +"On that page, you can report any issues, whether something's not working or " +"there's an error in a lesson.\n" +"\n" +"You can generate a log to help us identify the problem. To do so, click " +"here: [b][url=download]generate error log[/url][/b].\n" +"\n" +"Please drag and drop the generated file onto your issue on GitHub to attach " +"it.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]What's GitHub[/font]\n" +"\n" +"GitHub is an online platform to host and manage open-source projects like " +"the GDScript Learn app. It helps developers organize their work and " +"collaborate online.\n" +"\n" +"You can use GitHub to study the source code of many open projects, report " +"issues, or even contribute code yourself.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]How to report an issue[/font]\n" +"\n" +"1. Click the link above to get to the [i]GitHub Issues[/i] page.\n" +"2. Click on the [i]New Issue[/i] button.\n" +"3. Fill out the form to tell us more about your problem.\n" +"\n" +"You will need a GitHub account to do so.\n" +"\n" +"Please add as much relevant information as possible, such as the kind of " +"device you're using to access the app, and maybe attach a screenshot or " +"video clip showcasing the issue.\n" +"\n" +"[center]Thank you for contributing to open source![/center]" +msgstr "" +"Se você encontrar um erro no aplicativo, por favor clique no link abaixo " +"para informar o erro no GitHub:\n" +"\n" +"[center][b][url=https://github.com/GDQuest/learn-gdscript/issues]GitHub.com " +"> GDQuest > learn-gdscript > Issues[/url][/b][/center]\n" +"\n" +"Nessa página você pode informar qualquer erro, se tem algo que não está " +"funcionando ou se tiver algum erros em uma lição.\n" +"\n" +"Você pode gerar um log de informação para nos ajudar a identificar o " +"problema. Para isso, clique aqui: [b][url=download]generate error log[/url][/" +"b].\n" +"\n" +"Arraste e solte o arquivo gerado do seu problema no GitHub para anexá-lo.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]What's GitHub[/font]\n" +"\n" +"O GitHub é uma plataforma online para hospedar e gerenciar projetos de " +"código aberto, como o aplicativo GDScript Learn. Ele ajuda os " +"desenvolvedores a organizar seus trabalhos e colaborar online.\n" +"\n" +"Você pode usar o GitHub para estudar o código-fonte de muitos projetos de " +"código aberto, relatar problemas ou até mesmo contribuir com códigos.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]How to report an issue[/font]\n" +"\n" +"1. Clique no link acima para acessar a página de [i]Problemas do GitHub[/" +"i].\n" +"2. Clique no botão [i]New Issue[/i].\n" +"3. Preencha o formulário para nos contar mais sobre seu problema.\n" +"\n" +"Você vai precisar de uma conta no GitHub para fazer isso.\n" +"\n" +"Adicione o máximo de informações relevantes possível, como o tipo de " +"dispositivo que você está usando para acessar o aplicativo e se possível " +"anexe uma captura de tela ou videoclipe mostrando o problema.\n" +"\n" +"[center]Obrigado por contribuir com o código aberto![/center]" + +#: ui/components/popups/ReportFormPopup.tscn:158 +msgid "OK" +msgstr "OK" + +#: ui/components/popups/SettingsPopup.tscn:76 +msgid "Configure the App" +msgstr "Configure o Aplicativo" + +#: ui/components/popups/SettingsPopup.tscn:103 +msgid "Language" +msgstr "Língua" + +#: ui/components/popups/SettingsPopup.tscn:123 +msgid "Text Size" +msgstr "Tamanho do Texto" + +#: ui/components/popups/SettingsPopup.tscn:151 +msgid "Sample text" +msgstr "Texto de Exemplo" + +#: ui/components/popups/SettingsPopup.tscn:164 +msgid "Scroll sensitivity" +msgstr "Sensibilidade de rolagem" + +#: ui/components/popups/SettingsPopup.tscn:190 +msgid "Framerate cap" +msgstr "Limite de taxa de quadros" + +#: ui/components/popups/SettingsPopup.tscn:212 +msgid "Lower contrast" +msgstr "Diminuir contraste" + +#: ui/components/popups/SettingsPopup.tscn:259 +msgid "Apply" +msgstr "Aplicar" + +#: ui/screens/course_outliner/CourseLessonDetails.gd:93 +msgid "Open Lesson" +msgstr "Lição Aberta" + +#: ui/screens/course_outliner/CourseLessonDetails.gd:95 +msgid "Continue Lesson" +msgstr "Continue a Lição" + +#: ui/screens/course_outliner/CourseLessonDetails.gd:97 +msgid "Start Lesson" +msgstr "Inicie a Lição" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:35 +msgid "Lesson Title Goes Here" +msgstr "O Título da Lição Vai Aqui" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:48 +msgid "Lesson read" +msgstr "Leitura da lição" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:56 +msgid "0%" +msgstr "0%" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:79 +msgid "Quizzes completed" +msgstr "Testes concluídos" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:87 +#: ui/screens/course_outliner/CourseLessonDetails.tscn:108 +msgid "0 / 0" +msgstr "0 / 0" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:100 +msgid "Practices completed" +msgstr "Práticas concluídas" + +#: ui/screens/course_outliner/CourseLessonItem.tscn:36 +msgid "Lesson 0" +msgstr "Lição 0" + +#: ui/screens/course_outliner/CourseLessonItem.tscn:44 +msgid "Lesson Title" +msgstr "Título da Lição" + +#: ui/screens/course_outliner/CourseOutliner.tscn:44 +msgid "Course Index - " +msgstr "Índice do Curso - " + +#: ui/screens/course_outliner/CourseOutliner.tscn:51 +msgid "Course Title Goes Here" +msgstr "Título do Curso Vai Aqui" + +#: ui/screens/course_outliner/CourseOutliner.tscn:83 +msgid "Reset Progress" +msgstr "Redefinir Progresso" + +#: ui/screens/course_outliner/CourseOutliner.tscn:98 +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:236 +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]." + +#: 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:256 +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." + +#: 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:284 +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." + +#: 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/SponsorlessEndScreen.tscn:203 +msgid "" +"You completed Learn GDScript From Zero. You now have the basics you need to " +"make games with the Godot game engine.\n" +"\n" +"You can keep learning with the free series [url=https://docs.godotengine.org/" +"en/stable/getting_started/step_by_step/index.html]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" +"Você pode continuar aprendendo gratuitamente em [url=https://docs." +"godotengine.org/pt_BR/stable/getting_started/step_by_step/index." +"html]Iniciando em Godot[/url]." + +#: ui/screens/end_screen/SponsorlessEndScreen.tscn:216 +msgid "This is an Open-Source project!" +msgstr "Esse é um projeto de código aberto!" + +#: ui/screens/end_screen/SponsorlessEndScreen.tscn:223 +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 " +"(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 " +"(Github repository)[/url]." + +#: ui/screens/lesson/UIBaseQuiz.tscn:56 +msgid "[b]Question[/b]" +msgstr "[b]Perguntas[/b]" + +#: ui/screens/lesson/UIBaseQuiz.tscn:80 ui/screens/lesson/UIBaseQuiz.tscn:169 +msgid "Explanation" +msgstr "Explicações" + +#: ui/screens/lesson/UIBaseQuiz.tscn:107 +msgid "Skip" +msgstr "Pular" + +#: ui/screens/lesson/UIBaseQuiz.tscn:119 +msgid "Submit" +msgstr "Enviar" + +#: ui/screens/lesson/UIBaseQuiz.tscn:150 +msgid "You're right!" +msgstr "Você está correto!" + +#: ui/screens/lesson/UIBaseQuiz.tscn:160 +msgid "Answers here" +msgstr "Respostas vão aqui" + +#: ui/screens/lesson/UIContentBlock.tscn:47 +msgid "Placeholder heading" +msgstr "Título das dicas de texto" + +#: ui/screens/lesson/UIPracticeButton.tscn:52 +msgid "Practice title" +msgstr "Título da prática" + +#: ui/screens/lesson/UIPracticeButton.tscn:77 +msgid "next" +msgstr "próximo" + +#: ui/screens/lesson/UIPracticeButton.tscn:100 +msgid "Practice" +msgstr "Prática" + +#: ui/screens/lesson/UIPracticeButton.tscn:110 +msgid "You are here" +msgstr "Você está aqui" + +#: ui/screens/lesson/quizzes/QuizAnswerButton.tscn:40 +msgid "Answer label" +msgstr "Texto de Resposta" + +#: ui/screens/lesson/quizzes/UIQuizChoice.gd:26 +msgid "(select all that apply)" +msgstr "(selecione todos que se aplicam)" + +#: ui/screens/practice/PracticeHint.tscn:8 +msgid "Show Hint" +msgstr "Mostrar Dicas" + +#: ui/screens/practice/PracticeInfoPanel.gd:144 +msgid "Method descriptions" +msgstr "Descrições do método" + +#: ui/screens/practice/PracticeInfoPanel.gd:160 +msgid "Property descriptions" +msgstr "Descrições de propriedades" + +#: ui/screens/practice/PracticeInfoPanel.tscn:63 +msgid "Summary - Lesson Name" +msgstr "Sumário - Nome da Lição" + +#: ui/screens/practice/PracticeInfoPanel.tscn:106 +msgid "Goals" +msgstr "Objetivos" + +#: ui/screens/practice/PracticeInfoPanel.tscn:119 +msgid "Hints" +msgstr "Dicas" + +#: ui/screens/practice/PracticeInfoPanel.tscn:126 +msgid "Checks" +msgstr "Verificações" + +#: ui/screens/practice/PracticeInfoPanel.tscn:134 +msgid "Documentation" +msgstr "Documentação" + +#: ui/screens/practice/PracticeInfoPanel.tscn:175 +msgid "Open Practice List" +msgstr "Abrir a Lista de Prática" + +#: ui/screens/practice/PracticeTestDisplay.tscn:40 +msgid "Test text" +msgstr "Texto de teste" + +#: ui/screens/welcome_screen/WelcomeScreen.gd:42 +msgid "CONTINUE" +msgstr "CONTINUAR" + +#: ui/screens/welcome_screen/WelcomeScreen.gd:44 +#: ui/screens/welcome_screen/WelcomeScreen.tscn:627 +msgid "START" +msgstr "INICIAR" + +#: ui/screens/welcome_screen/WelcomeScreen.tscn:645 +msgid "SELECT LESSON" +msgstr "SELECIONE A LIÇÃO" + +#: ui/screens/welcome_screen/WelcomeScreen.tscn:659 +msgid "OPTIONS" +msgstr "OPÇÕES" + +#: ui/screens/welcome_screen/WelcomeScreen.tscn:693 +msgid "QUIT" +msgstr "SAIR" + +#~ msgid "Connected to the server." +#~ msgstr "Conectado ao servidor." + +#~ msgid "" +#~ "Can't reach the server. The server might be down, or your internet may be " +#~ "down." +#~ msgstr "" +#~ "Não é possível acessar o servidor. O servidor pode estar inativo ou sua " +#~ "internet pode estar inativa." + +#~ msgid "Can't reach the server. The tests will be less precise." +#~ msgstr "Não é possível acessar o servidor. Os testes serão menos precisos." + +#~ msgid "That's it... for now!" +#~ msgstr "É isso... por enquanto!" + +#~ msgid "" +#~ "Thanks for participating in the beta test.\n" +#~ "\n" +#~ "We hope you enjoyed what's available so far.\n" +#~ "\n" +#~ "We wish we had a lot more to give you already, but creating this app took " +#~ "time. A [i]lot[/i] of time.\n" +#~ "\n" +#~ "The good news is: now we figured out many of the more challenging parts, " +#~ "moving forward, we can shift our focus onto new lessons and practices." +#~ msgstr "" +#~ "Obrigado por participar do teste do beta.\n" +#~ "\n" +#~ "Esperamos que tenha gostado do que está disponível até agora.\n" +#~ "\n" +#~ "Gostaríamos de ter muito mais para oferecer, mas a criação deste " +#~ "aplicativo levou tempo. [i]Muito[/i] tempo.\n" +#~ "\n" +#~ "A boa notícia é: agora que descobrimos muitas das partes mais " +#~ "desafiadoras, avançando, podemos mudar nosso foco para novas lições e " +#~ "práticas." + +#~ msgid "" +#~ "[font=res://ui/theme/fonts/font_title.tres]What's coming next[/font]\n" +#~ "\n" +#~ "We have plans for many more lessons and improvements.\n" +#~ "\n" +#~ "You can find our plan for future releases on our [url=https://github.com/" +#~ "GDQuest/learn-gdscript#roadmap]roadmap[/url]." +#~ msgstr "" +#~ "[font=res://ui/theme/fonts/font_title.tres]What's coming next[/font]\n" +#~ "\n" +#~ "Temos planos para muitas outras lições e melhorias.\n" +#~ "\n" +#~ "Você pode encontrar nosso plano para lançamentos futuros em nosso " +#~ "[url=https://github.com/GDQuest/learn-gdscript#roadmap]roadmap[/url]." + +#~ msgid "Learn GDScript From Zero" +#~ msgstr "Aprenda GDScript do Zero" + +#~ msgid "" +#~ "GDScript Learn is a Free and Open-Source app and series to help you learn " +#~ "to code, [b]from zero[/b], with Godot's GDScript programming language.\n" +#~ "\n" +#~ "Whether you want to learn game development or just learn to code with " +#~ "exciting interactive projects, this app is for you.\n" +#~ "\n" +#~ "[font=res://ui/theme/fonts/font_title.tres]Programming is a skill[/font]\n" +#~ "\n" +#~ "Programming is a skill, so to get good at it, you need to [i]practice[/" +#~ "i]. You need to see the code in action and to [i]experiment[/i].\n" +#~ "\n" +#~ "That's why we created this app: it makes it easy for you to learn, with " +#~ "interactive demos." +#~ msgstr "" +#~ "GDScript Learn é um aplicativo gratuito e de código aberto para ajudá-lo " +#~ "a aprender a programar, [b]do zero[/b], com a linguagem de programação " +#~ "GDScript da Godot.\n" +#~ "\n" +#~ "Se você quer aprender desenvolvimento de jogos ou apenas aprender a " +#~ "programar com projetos interativos impressionantes, esse aplicativo é " +#~ "para você.\n" +#~ "\n" +#~ "[font=res://ui/theme/fonts/font_title.tres]Programming is a skill[/font]\n" +#~ "\n" +#~ "Programar é uma habilidade, então para ficar bom nisso, você precisa " +#~ "[i]praticar[/i]. Você precisa ver o código em ação e [i]experimentar[/" +#~ "i].\n" +#~ "\n" +#~ "É por isso que criamos este aplicativo: pois facilita o seu aprendizado, " +#~ "com demonstrações interativas." + +#~ msgid "" +#~ "Mini quizzes in the lessons will help you test and remember what you " +#~ "learned." +#~ msgstr "" +#~ "Os mini-testes nas lições vão ajudá-lo(a) a testar e lembrar o que você " +#~ "aprendeu." + +#~ msgid "" +#~ "[b]Every lesson[/b] ends with one or more [i]practices[/i].\n" +#~ "\n" +#~ "You'll discover the practice screen at the end of the first lesson.\n" +#~ "\n" +#~ "[img=800]res://ui/screens/welcome_screen/ui-screen.png[/img]\n" +#~ "\n" +#~ "[font=res://ui/theme/fonts/font_title.tres]There are no hidden fees[/" +#~ "font]\n" +#~ "\n" +#~ "1600 backers who pre-ordered our course [url=https://kickstarter.com/" +#~ "projects/gdquest/learn-to-code-from-zero-with-godot-the-free-game-" +#~ "engine/]on Kickstarter[/url] funded this app.\n" +#~ "\n" +#~ "As a result, we could make everything in here [b]free for everyone[/b].\n" +#~ "\n" +#~ "This free app is the complete course to get you up to speed with Godot's " +#~ "GDScript programming language.\n" +#~ "\n" +#~ "It complements the [url=https://docs.godotengine.org/en/3.4/" +#~ "getting_started/introduction/index.html]free course[/url] you will find " +#~ "in the Godot documentation (we worked a lot on it too).\n" +#~ "\n" +#~ "If you then want to go further and support our work, you can buy (or " +#~ "gift) one of our [url=https://gdquest.mavenseed.com/courses]Godot " +#~ "courses[/url]." +#~ msgstr "" +#~ "[b]Toda lição[/b] termina com uma ou mais [i]práticas[/i].\n" +#~ "\n" +#~ "Você vai ver a tela de prática no final da primeira lição.\n" +#~ "\n" +#~ "[img=800]res://ui/screens/welcome_screen/ui-screen.png[/img]\n" +#~ "\n" +#~ "[font=res://ui/theme/fonts/font_title.tres]There are no hidden fees[/" +#~ "font]\n" +#~ "\n" +#~ "1600 apoiadores que pré-encomendaram nosso curso [url=https://kickstarter." +#~ "com/projects/gdquest/learn-to-code-from-zero-with-godot-the-free-game-" +#~ "engine/]no Kickstarter[/ url] financiaram esse aplicativo.\n" +#~ "\n" +#~ "Como resultado, pudemos tornar tudo aqui [b]gratuito para todos[/b].\n" +#~ "\n" +#~ "Esse aplicativo gratuito é um curso completo para você se familiarizar " +#~ "com a linguagem de programação GDScript da Godot.\n" +#~ "\n" +#~ "Ele complementa o [url=https://docs.godotengine.org/en/3.4/" +#~ "getting_started/introduction/index.html]curso gratuito[/url] que você " +#~ "encontra na documentação da Godot (também trabalhamos muito nisso).\n" +#~ "\n" +#~ "Se você quiser ir além e apoiar nosso trabalho, você pode comprar (ou " +#~ "presentear) um de nossos [url=https://gdquest.mavenseed.com/" +#~ "courses]Cursos da Godot[/url]." + +#~ msgid "" +#~ "[font=res://ui/theme/fonts/font_title.tres]Get started now[/font]\n" +#~ "\n" +#~ "To get started, click the [i]Start Course[/i] button to the right." +#~ msgstr "" +#~ "[font=res://ui/theme/fonts/font_title.tres]Get started now[/font]\n" +#~ "\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" +#~ "You may encounter bugs and typos. We have many improvements and lessons " +#~ "planned.\n" +#~ "\n" +#~ "If you face any problem, please use the button in the top-right to report " +#~ "it to us.\n" +#~ "\n" +#~ "[b]It is crucial[/b]: we'll use your reports and feedback to improve the " +#~ "app, both for you and everyone else." +#~ msgstr "" +#~ "O aplicativo está em [b]beta[/b].\n" +#~ "\n" +#~ "Você pode encontrar bugs e erros de digitação. Nós temos muitas melhorias " +#~ "e aulas planejadas.\n" +#~ "\n" +#~ "Se você encontrar algum problema, por favor use o botão no canto superior " +#~ "direito para informar para nós.\n" +#~ "\n" +#~ "[b]É crucial[/b]: nós usaremos seus relatórios e comentários para " +#~ "melhorar o aplicativo, tanto para você quanto para todos os outros." + +#~ msgid "Open Course Index" +#~ msgstr "Índice de Curso Aberto" + +#~ msgid "Quit" +#~ msgstr "Sair" diff --git a/i18n/pt_BR/classref_database.po b/i18n/pt_BR/classref_database.po new file mode 100644 index 00000000..2b4ba20a --- /dev/null +++ b/i18n/pt_BR/classref_database.po @@ -0,0 +1,180 @@ +# 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 , 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: 2022-03-07 21:03+0100\n" +"PO-Revision-Date: 2022-03-09 18:55+0000\n" +"Last-Translator: Wladimir Roberto Barbosa \n" +"Language-Team: Portuguese (Brazil) \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.12-dev\n" +"Generated-By: Babel 2.9.1\n" + +#. Reference: show +#: ./course/documentation.csv:2 +msgid "shows the current scene" +msgstr "mostra a cena atual" + +#. Reference: hide +#: ./course/documentation.csv:3 +msgid "hides the current scene" +msgstr "oculta a cena atual" + +#. Reference: rotate +#: ./course/documentation.csv:4 +msgid "" +"Applies a rotation to the node, in radians, starting from its current " +"rotation." +msgstr "Aplica uma rotação ao nó, em radianos, começando pela rotação atual." + +#. Reference: move_forward +#: ./course/documentation.csv:5 +msgid "Moves the turtle in the direction it's facing by some pixels." +msgstr "Move a tartaruga na direção que está olhando em alguns pixels." + +#. Reference: turn_right +#: ./course/documentation.csv:6 +msgid "Rotates the turtle to the right by some degrees." +msgstr "Rotaciona a tartaruga para a direita em alguns graus." + +#. Reference: turn_left +#: ./course/documentation.csv:7 +msgid "Rotates the turtle to the left by some degrees." +msgstr "Rotaciona a tartaruga para a esquerda em alguns graus." + +#. Reference: jump +#: ./course/documentation.csv:8 +msgid "Offsets the turtle's position by the given x and y amounts of pixels." +msgstr "" +"Desloca a posição da tartaruga pelas quantidades x e y de pixels fornecidas." + +#. Reference: draw_rectangle +#: ./course/documentation.csv:9 +msgid "Makes the turtle draw a rectangle starting at its current position." +msgstr "Faz a tartaruga desenhar um retângulo começando na sua posição atual." + +#. Reference: position.x +#: ./course/documentation.csv:10 +msgid "The position of the entity on the horizontal axis." +msgstr "A posição da entidade no eixo horizontal." + +#. Reference: position.y +#: ./course/documentation.csv:11 +msgid "The position of the entity on the vertical axis." +msgstr "A posição da entidade no eixo vertical." + +#. Reference: move_local_x +#: ./course/documentation.csv:12 +msgid "" +"Applies a local translation on the node's X axis based on the " +"[code]Node._process[/code]'s [code]delta[/code]. If [code]scaled[/code] " +"is false, normalizes the movement." +msgstr "" +"Aplica uma translação local no eixo X do nó baseado no [code]delta[/code] de " +"[code]Node._process[/code]. Se [code]scaled[/code] é [code]false[/code], " +"normaliza o movimento." + +#. Reference: board_size +#: ./course/documentation.csv:13 +msgid "" +"Stores how many cells make up the width ([code]board_size.x[/code]) and " +"height ([code]board_size.y[/code]) of the board." +msgstr "" +"Armazena quantos quadrados compõe a largura ([code]board_size.x[/code]) e a " +"altura ([code]board_size.y[/code]) do tabuleiro." + +#. Reference: cell +#: ./course/documentation.csv:14 +msgid "" +"The cell position of the robot on the board. [code]Vector2(0, 0)[/code] " +"is the square cell in the top left of the board." +msgstr "" +"A posição do robô no tabuleiro. [code]Vector2(0, 0)[/code] é o quadrado no " +"canto superior esquerdo do tabuleiro." + +#. Reference: range +#: ./course/documentation.csv:15 +msgid "Creates a list of numbers from [code]0[/code] to [code]length - 1[/code]." +msgstr "Cria uma lista de números de [code]0[/code] a [code]length - 1[/code]." + +#. Reference: play_animation +#: ./course/documentation.csv:16 +msgid "Orders the robot to play an animation." +msgstr "Ordena que o robô reproduza uma animação." + +#. Reference: select_units +#: ./course/documentation.csv:17 +msgid "Selects units in the cell coordinates passed as the function's argument." +msgstr "" +"Seleciona unidades nas coordenadas (em quadrados) passadas como argumento da " +"função." + +#. Reference: robot.move_to +#: ./course/documentation.csv:18 +msgid "Queues a move animation towards the target cell." +msgstr "Enfileira uma animação de movimento em direção ao quadrado de destino." + +#. Reference: array.append +#: ./course/documentation.csv:19 +msgid "Adds the value passed as an argument at the back of the array." +msgstr "Adiciona o valor passado como argumento no final da matriz." + +#. Reference: array.pop_front +#: ./course/documentation.csv:20 +msgid "Removes the first value from the array and returns it." +msgstr "Remove o primeiro valor da matriz e o retorna." + +#. Reference: array.pop_back +#: ./course/documentation.csv:21 +msgid "Removes the last value from the array and returns it." +msgstr "Remove o último valor da matriz e o retorna." + +#. Reference: str +#: ./course/documentation.csv:22 +msgid "" +"Returns the argument converted into a [code]String[/code]. Works with the" +" majority of value types." +msgstr "" +"Retorna o argumento convertido em [code]String[/code] (texto). Funciona com " +"a maioria dos tipos de valor." + +#. Reference: int +#: ./course/documentation.csv:23 +msgid "" +"Returns the argument converted into an [code]int[/code] (whole number) " +"[i]if possible[/i]. Supports converting decimal numbers, strings, and " +"booleans. Useful to convert player text input into numbers." +msgstr "" +"Retorna o argumento convertido em um [code]int[/code] (número inteiro) [i]se " +"possível[/i]. Suporta conversões de números decimais, textos, e boleanos. " +"Útil para converter textos inseridos pelo(a) jogador(a) em números." + +#. Reference: place_unit +#: ./course/documentation.csv:24 +msgid "" +"Creates a new unit matching the type parameter and places it at the " +"desired cell position on the game grid." +msgstr "" +"Cria uma nova unidade correspondente ao parâmetro type e a coloca no " +"quadrado desejado do tabuleiro do jogo." + +#. Reference: display_item +#: ./course/documentation.csv:25 +msgid "Creates a new item and displays it in the inventory." +msgstr "Cria um novo item e o exibe dentro do inventário." + +#. Reference: add_item +#: ./course/documentation.csv:26 +msgid "Increases the item count by amount." +msgstr "Aumenta a contagem de itens por quantidade." diff --git a/i18n/pt_BR/error_database.po b/i18n/pt_BR/error_database.po new file mode 100644 index 00000000..87dc4db8 --- /dev/null +++ b/i18n/pt_BR/error_database.po @@ -0,0 +1,871 @@ +# 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 , 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-27 07:50+0000\n" +"Last-Translator: Deolindo \n" +"Language-Team: Portuguese (Brazil) \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" + +#. Reference: IN_EXPECTED_AFTER_IDENTIFIER +#: script_checking/error_database.csv:40 +msgid "" +"You get this error when the name between the [code]for[/code] and [code]in[/" +"code] is not a valid variable name, or you are missing the [code]in[/code] " +"keyword.\n" +"\n" +"In a [code]for[/code] loop, the [code]in[/code] keyword only accepts a valid " +"temporary variable name to assign values in each loop iteration. The loop " +"creates a new variable with the desired name and assigns each element of the " +"array to it." +msgstr "" +"Você encontra esse erro quando o nome entre [code]for[/code] e " +"[code]in[/code] não é um nome válido de uma variável, ou quando está " +"faltando a palavra-chave [code]in[/code].\n" +"\n" +"Em um loop [code]for[/code], a palavra-chave [code]in[/code] só aceita um " +"nome de variável temporária para atribuir os valores em cada iteração. O " +"loop cria uma nova variável com o nome desejado e atribui o valor de cada " +"elemento da array a ela." + +#. Reference: IN_EXPECTED_AFTER_IDENTIFIER +#: script_checking/error_database.csv:40 +msgid "" +"To fix this error, you need to ensure that the name between the [code]for[/" +"code] and [code]in[/code] keywords is a valid variable name with no " +"punctuation or spaces.\n" +"\n" +"For example, this code is invalid: [code]for cell_position.x in " +"cell_positions_array:[/code] because [code]cell_position.x[/code] isn't a " +"valid variable name.\n" +"\n" +"To access the [code]x[/code] sub-component of the variable, you need to do " +"that inside of the loop's body:\n" +"\n" +"[code]for cell_position in cell_positions_array:\n" +" cell_position.x += 1.0[/code]" +msgstr "" +"Para corrigir esse erro, você precisa certificar que o nome entre as palavra-" +"chave [code]for[/code] e [code]in[/code] são nomes válidos de variáveis, sem " +"pontuação ou espaços.\n" +"\n" +"Por exemplo, esse código é inválido: [code]for cell_position.x in " +"cell_positions_array:[/code] porque [code]cell_position.x[/code] não é um " +"nome válido de variável.\n" +"\n" +"Para acessar o subcomponente [code]x[/code] da variável, você precisa fazer " +"isso dentro do bloco do loop.\n" +"\n" +"[code]for cell_position in cell_positions_array:\n" +" cell_position.x += 1.0[/code]" + +#. Reference: ASSIGNING_TO_EXPRESSION +#: script_checking/error_database.csv:47 +msgid "" +"If you get this error, you are most likely trying to assign a value to " +"something other than a variable, which is impossible. You can only assign " +"values to variables.\n" +"\n" +"Another possibility is that you want to check for equality in a condition " +"but wrote a single = instead of ==." +msgstr "" +"Se você recebeu esse erro, você provavelmente está tentando atribuir um " +"valor a algo que não é uma variável, o que é impossível. Você só pode " +"atribuir valores em variáveis.\n" +"\n" +"Outra possibilidade é que você está tentando fazer uma comparação de " +"igualdade mas escreveu um único = ao invés de ==." + +#. Reference: ASSIGNING_TO_EXPRESSION +#: script_checking/error_database.csv:47 +msgid "" +"If you want to assign a value to a variable, double-check that what you have " +"on the left side of the = sign is a variable and not a function.\n" +"\n" +"You also need to ensure the syntax is correct. For example, there shouldn't " +"be parentheses on the left side of the equal sign.\n" +"\n" +"In the case of a condition, ensure that you are using two equal signs to " +"check for equality (==)." +msgstr "" +"Se você quer atribuir um valor a uma variável, certifique-se que o que você " +"possui do lado esquerdo do sinal = é uma variável e não uma função.\n" +"\n" +"Você também precisa verificar se a sintaxe está correta. Por exemplo, não " +"pode haver parêntesis do lado esquerdo do sinal de igual.\n" +"\n" +"No caso de uma condição, certifique-se que está usando dois sinais de igual " +"para checar igualdade (==)." + +#. Reference: CYCLIC_REFERENCE +#: script_checking/error_database.csv:57 +msgid "" +"A cyclic reference is when a class references itself, directly or " +"indirectly.\n" +"\n" +"It has two possible causes:\n" +"\n" +"1. You used the class name in the class itself.\n" +"2. Your code refers to another class that refers to this class, causing an " +"endless reference cycle.\n" +"\n" +"Either way, due to how GDScript works in Godot 3, unfortunately,you cannot " +"do this. Godot 4 should solve this problem, but you need to work around it " +"in the meantime." +msgstr "" +"Uma referência cíclica é quando uma classe referencia ela mesma, direta ou " +"indiretamente.\n" +"\n" +"Possui duas causas possíveis:\n" +"\n" +"1. Você usou o nome da classe na própria classe.\n" +"2. Seu código se refere a outra classe que se refere para esta classe, " +"causando um ciclo de referência infinito.\n" +"\n" +"De qualquer jeito, devido ao jeito que o GDScript funciona no Godot 3, " +"infelizmente, você não pode fazer isso. Godot 4 poderá resolver esse " +"problema, mas você precisa contornar isso nesse meio tempo." + +#. Reference: CYCLIC_REFERENCE +#: script_checking/error_database.csv:57 +msgid "" +"Erase the type hint in the error line, and the problem should disappear. \n" +"\n" +"At GDQuest, when we face this error, we remove the type hints on lines " +"causing cyclic references. It solves the problem in the vast majority of " +"cases." +msgstr "" +"Apague a dica de tipo na linha de erro, e o problema deve desaparecer.\n" +"\n" +"No GDQuest, quando encontramos esse erro, nós removemos as dicas de tipo nas " +"linhas que causam referências cíclicas. Isso resolve o problema na grande " +"maioria dos casos." + +#. Reference: INVALID_INDENTATION +#: script_checking/error_database.csv:64 +msgid "" +"The indentation of your code (the number of tab characters at the start of " +"the line) is incorrect.\n" +"\n" +"You are missing one or more tabs, or you inserted too many.\n" +"\n" +"The computer uses those leading tab characters on code lines to know which " +"lines of code are part of a code block, like a function." +msgstr "" +"A indentação do seu código (o número de caracteres de tabulação no começo da " +"linha) está incorreto.\n" +"\n" +"Está faltando um ou mais caracteres de tabulação, ou você colocou demais.\n" +"\n" +"O computador usa esses caracteres de tabulação nas linhas de código para " +"saber quais dessas linhas fazem parte de um bloco de código, como uma função " +"por exemplo." + +#. Reference: INVALID_INDENTATION +#: script_checking/error_database.csv:64 +msgid "" +"If the line of code with the error is right after a line ending with a " +"colon, like a function definition, you need one extra indent level compared " +"to the previous line.\n" +"\n" +"In other words, your line should have one more leading tab character than " +"the function definition." +msgstr "" +"Se a linha de código que contém o erro estiver logo após uma linha que " +"termina com dois pontos, como uma função por exemplo, você precisa de um " +"nível extra de indentação comparado a linha anterior.\n" +"\n" +"Em outras palavras, sua linha deverá ter um caractere de tabulação a mais do " +"que a definição da função." + +#. Reference: UNEXPECTED_CHARACTER +#: script_checking/error_database.csv:73 +msgid "" +"You get this error when you wrote something that is syntactically invalid, " +"or you are missing something to complete this line or previous lines of " +"code.\n" +"\n" +"You need to be extremely precise when you write code for the computer. This " +"kind of error is easy to get as all it takes is one wrong character.\n" +"\n" +"Note that this error can appear [b]after[/b] the line causing it due to how " +"the computer reads and analyzes your code." +msgstr "" +"Você recebe esse erro quando você escreveu alguma palavra sintaticamente " +"inválida, ou quando está faltando algo para completar essa linha de código " +"ou a anterior.\n" +"\n" +"Você deve ser extremamente preciso quando for escrever código para o " +"computador. Esse tipo de erro é comum acontecer pois precisa somente de um " +"caractere errado.\n" +"\n" +"Note que esse erro pode aparecer [b]depois[/b] da linha que está causando " +"ele devido a forma que o computador lê e analisa seu código." + +#. Reference: UNEXPECTED_CHARACTER +#: script_checking/error_database.csv:73 +msgid "" +"The way to solve this kind of error is highly contextual. The error message " +"should tell you which character or element it's missing.\n" +"\n" +"If the error says \"expected,\" then you're likely missing something in one " +"of the [b]previous[/b] code lines. It could be a punctuation mark, a " +"parenthesis, or something else.\n" +"\n" +"If it says \"unterminated,\" you are missing some character at the end of an " +"expression, like a closing bracket. In this case, it most likely comes from " +"the line with the error." +msgstr "" +"A maneira de resolver esse tipo de erro é altamente contextual. A mensagem " +"de erro deve falar para você qual caractere ou elemento está faltando.\n" +"\n" +"Se o erro disser \"esperado,\" então é bem provável que está faltando algo " +"nas linhas de código [b]anteriores[/b]. Pode ser um sinal de pontuação, um " +"parênteses, ou qualquer coisa assim.\n" +"\n" +"Se disser \"indeterminado\", então está faltando algum caractere no final de " +"uma expressão, como um colchete de fechamento. Nesse caso, é bem provável " +"que esteja na linha do próprio erro." + +#. Reference: UNEXPECTED_CHARACTER_IN_KEYWORD +#: script_checking/error_database.csv:76 +msgid "" +"This error tells you that you are missing a parenthesis (or sometimes a " +"comma or a path).\n" +"\n" +"Three keywords in GDScript work like function calls and require parentheses: " +"[code]yield()[/code], [code]preload()[/code], and [code]assert()[/code]." +msgstr "" +"Esse erro fala pra você que está faltando um parêntesis (ou às vezes uma " +"vírgula ou um caminho de algum arquivo).\n" +"\n" +"Três palavras-chave no GDScript funcionam como chamadas de função e precisam " +"de parênteses: [code]yield()[/code], [code]preload()[/code], e [code]assert()" +"[/code]." + +#. Reference: UNEXPECTED_CHARACTER_IN_KEYWORD +#: script_checking/error_database.csv:76 +msgid "" +"To address the error, you want to add the missing opening parenthesis, the " +"closing parenthesis, or the comma." +msgstr "" +"Para resolver esse erro, você precisa adicionar o parêntese de abertura, o " +"parêntese de fechamento, ou a vírgula que estiver faltando." + +#. Reference: UNEXPECTED_CHARACTER_IN_EXPORT_HINT +#: script_checking/error_database.csv:77 +msgid "" +"This error tells you you are missing some parenthesis, a comma, or some " +"value in your export hint." +msgstr "" +"Esse erro fala pra você que está faltando algum parêntese, uma vírgula, ou " +"algum valor na sua dica de exportação." + +#. Reference: UNEXPECTED_CHARACTER_IN_EXPORT_HINT +#: script_checking/error_database.csv:77 +msgid "" +"You need to read the error message and add the missing character or value it " +"requests." +msgstr "" +"Você precisa ler a mensagem de erro e adicionar o caractere ou o valor que " +"estiver faltando." + +#. Reference: MISPLACED_IDENTIFIER +#: script_checking/error_database.csv:86 +msgid "" +"This error happens in several cases:\n" +"\n" +"1. You wrote an identifier (variable or function name) in the wrong place.\n" +"2. You wrote a keyword like [code]var[/code], [code]func[/code], [code]for[/" +"code], or [code]signal[/code], and you did not follow it by a name.\n" +"3. You wrote a function definition but forgot the parentheses before the " +"colon." +msgstr "" +"Esse erro acontece em muitos casos:\n" +"\n" +"1. Você escreveu um identificador (variável ou nome de um função) no lugar " +"errado.\n" +"2. Você escreveu uma palavra-chave como [code]var[/code], [code]func[/code], " +"[code]for[/code], or [code]signal[/code], e em seguida não colocou um nome.\n" +"3. Você escreveu uma definição de função mas esqueceu o parêntese antes do " +"sinal de dois pontos." + +#. Reference: MISPLACED_IDENTIFIER +#: script_checking/error_database.csv:86 +msgid "" +"If the error tells you it expected something, you likely forgot to write a " +"name after a keyword like [code]var[/code], [code]func[/code], [code]for[/" +"code], or [code]signal[/code], making your code invalid. Or you forgot " +"parentheses in a function definition. You can address the error by adding " +"the missing name or parentheses.\n" +"\n" +"If the error says you have something unexpected, you are likely missing a " +"keyword like [code]var[/code], [code]func[/code], [code]for[/code], etc.\n" +"\n" +"Another possibility is that you need to write a colon at the end of a " +"function definition, [code]for[/code] loop, or a line starting with " +"[code]if[/code], [code]elif[/code], or [code]else[/code]." +msgstr "" +"Se o erro te disser que espera algo, você provavelmente esqueceu de escrever " +"um nome depois de uma palavra-chave como [code]var[/code], [code]func[/" +"code], [code]for[/code], or [code]signal[/code], fazendo assim seu código " +"inválido. Ou você esqueceu um parêntese numa definição de função. Você pode " +"resolver esse erro adicionando o nome ou parêntese que estiver faltando.\n" +"\n" +"Se o erro disser que você tem algo inesperado, você provavelmente esqueceu " +"de uma palavra-chave como [code]var[/code], [code]func[/code], [code]for[/" +"code], etc.\n" +"\n" +"Outra possibilidade é que você precisa escrever o sinal de dois pontos no " +"final da definição da função, estrutura de repetição [code]for[/code], ou " +"numa linha começando com [code]if[/code], [code]elif[/code], ou [code]else[/" +"code]." + +#. Reference: MISPLACED_TYPE_IDENTIFIER +#: script_checking/error_database.csv:91 +msgid "" +"This error tells you that you are missing a type somewhere. A type can be " +"[code]int[/code], [code]float[/code], [code]String[/code], [code]Array[/" +"code], [code]Vector2[/code], and many identifiers representing a data " +"structure.\n" +"\n" +"Most of the time, this error occurs when you wrote a colon after a variable " +"name but did not follow it with a type name.\n" +"\n" +"It also occurs when you write an arrow ([code]->[/code]) after the " +"parentheses of a function definition but do not follow it with a type name." +msgstr "" +"Esse erro fala para você que está faltando um tipo em algum lugar. Um tipo " +"pode ser [code]int[/code], [code]float[/code], [code]String[/code], " +"[code]Array[/code], [code]Vector2[/code], e muitos identificadores que " +"representam uma estrutura de dados.\n" +"\n" +"Na maioria das vezes, esse erro acontece quando você escreve o sinal de dois " +"pontos depois de um nome de uma variável que não possui o nome do tipo dela " +"logo em seguida.\n" +"\n" +"Também acontece quando você escreve uma seta ([code]->[/code]) depois de um " +"parêntese de uma definição de função que não foi seguido pelo nome do tipo." + +#. Reference: MISPLACED_TYPE_IDENTIFIER +#: script_checking/error_database.csv:91 +msgid "" +"To solve this, you need to write the name of the type after the colon, arrow " +"(in the case of function return types), inside parentheses (for export " +"types), or after the [code]as[/code] keyword." +msgstr "" +"Para resolver esse erro, você precisa escrever o nome do tipo depois do " +"sinal de dois pontos, da seta (no caso de ser uma função que retorna algum " +"tipo), de dentro do parêntese (para tipos que exportam), ou depois da " +"palavra-chave [code]as[/code]." + +#. Reference: NONEXISTENT_IDENTIFIER +#: script_checking/error_database.csv:100 +msgid "" +"The variable, function name, or class name you are trying to use does not " +"exist.\n" +"\n" +"You most often get this error when you make typos. Maybe you swapped two " +"letters, forgot a letter... sometimes, it's hard to spot.\n" +"\n" +"The other cause for this error is that you didn't define the variable, " +"function, or class you're trying to access." +msgstr "" +"A variável, nome de função, ou nome de classe que você está tentando usar " +"não existe.\n" +"\n" +"Você geralmente recebe esse erro quando você comete erros na digitação de " +"alguma palavra. Talvez você trocou duas letras de lugar, esqueceu uma " +"letra... às vezes é difícil de identificar.\n" +"\n" +"A outra causa para você ter recebido esse erro é que você não definiu a " +"variável, função, ou classe que você está tentando acessar." + +#. Reference: NONEXISTENT_IDENTIFIER +#: script_checking/error_database.csv:100 +msgid "" +"To solve this error, triple-check that there is no typo in the line.\n" +"\n" +"If you can, try to go to the variable or function definition, double-click " +"the name, copy it, and paste it where you see the error.\n" +"\n" +"If you don't see any typo, then you need to ensure that you defined the " +"variable, function, or class you are referring to." +msgstr "" +"Para resolver esse erro, cheque várias vezes que não há erros de digitação " +"na linha de código.\n" +"\n" +"Se você puder, tente ir na definição da variável ou função, reveja o nome, " +"copie ele e cole onde estiver dando o erro.\n" +"\n" +"Se você não achar nenhum erro de digitação, então garanta que você definiu a " +"variável, a função ou a classe que você estiver tentando referenciar." + +#. Reference: MISPLACED_KEYWORD +#: script_checking/error_database.csv:105 +msgid "" +"You can only use keywords like [code]break[/code] or [code]continue[/code] " +"in a loop. Outside a loop, they are invalid.\n" +"\n" +"The [code]continue[/code] keyword means \"jump to the next iteration of the " +"loop.\" And the [code]break[/code] keyword means \"end the loop right now " +"and jump to the first line of code after the loop block." +msgstr "" +"Você só pode usar palavras-chave como: [code]break[/code] ou [code]continue[/" +"code] numa estrutura de repetição. Fora de uma estrutura de repetição, elas " +"são inválidas.\n" +"\n" +"A palavra-chave [code]continue[/code] significa \"vá para a próxima iteração " +"da repetição.\" e a palavra_chave [code]break[/code] significa \"finalize a " +"repetição agora mesmo e vá para a primeira linha de código depois do bloco " +"dessa estrutura de repetição\"." + +#. Reference: MISPLACED_KEYWORD +#: script_checking/error_database.csv:105 +msgid "" +"If you wrote one of these keywords outside a loop, you need to remove it.\n" +"\n" +"If you are trying to use it inside a loop, your indentation is most likely " +"at fault. You may need to insert one or more leading tab characters to the " +"keyword." +msgstr "" +"Se você escreveu uma dessas palavras-chave fora de uma estrutura de " +"repetição, você precisa remove-la.\n" +"\n" +"Se você estiver tentando usa-las dentro de uma estrutura de repetição, sua " +"indentação provavelmente está errada. Você precisa colocar um ou mais " +"caractere de tabulação na palavra-chave." + +#. Reference: EXPECTED_CONSTANT_EXPRESSION +#: script_checking/error_database.csv:110 +msgid "" +"When the computer talks about a constant expression, it expects a fixed " +"value, a fixed calculation, or the name of an existing constant.\n" +"\n" +"In other words, it wants something that can never change. This is why the " +"computer will reject function calls and variables where it needs a constant " +"expression." +msgstr "" +"Quando o computador fala sobre uma expressão constante, ele espera um valor " +"fixo, um cálculo fixo ou o nome de uma constante existente.\n" +"\n" +"Em outras palavras, ele quer alguma coisa que nunca pode mudar. É por isso " +"que o computador irá rejeitar chamadas de funções e variáveis onde precisam " +"de uma expressão constante." + +#. Reference: EXPECTED_CONSTANT_EXPRESSION +#: script_checking/error_database.csv:110 +msgid "" +"You need to replace function calls or variables with a constant value like a " +"whole number, decimal number, string, vector, a predefined array, etc.\n" +"\n" +"You can also use arithmetic operators like multiplications (*), additions " +"(+), and so on." +msgstr "" +"Você precisa substituir chamadas de funções ou variáveis com um valor " +"constante como um número inteiro, um número decimal, string (cadeia de " +"caractere), vetor, um array (uma matriz) predefinido, etc.\n" +"\n" +"Você também pode usar operadores aritméticos como multiplicações (*), " +"adições (+), e assim por diante." + +#. Reference: INVALID_CLASS_DECLARATION +#: script_checking/error_database.csv:115 +msgid "" +"When defining a new class, you need to follow a specific pattern. You must " +"write the name in plain text, starting with a letter.\n" +"\n" +"We typically write class names in PascalCase: with a capital letter at the " +"start of every word that composes the class name." +msgstr "" +"Quando definir uma nova classe, você precisa seguir um padrão específico. " +"Você precisa escrever o nome dela com texto puro, começando com uma letra.\n" +"\n" +"Nós tipicamente escrevemos nome de classes em PascalCase: Com uma letra em " +"maiúscula no começo de cada palavra que compõe o nome da classe." + +#. Reference: INVALID_CLASS_DECLARATION +#: script_checking/error_database.csv:115 +msgid "" +"To fix this error, replace whatever you put after the 'extends' or " +"'class_name' keyword by a name without spaces and starting with a capital " +"letter.\n" +"\n" +"You can optionally use numbers in the name, but not in the first position." +msgstr "" +"Para resolver esse erro, substitua tudo aquilo que você colocou depois das " +"palavras-chave 'extends' ou 'class_name' por um nome sem espaços entre eles " +"e começando com uma letra em maiúscula.\n" +"\n" +"Você tem a opção de usar números no nome, mas não na primeira posição (não " +"pode começar com números)." + +#. Reference: DUPLICATE_DECLARATION +#: script_checking/error_database.csv:120 +msgid "" +"You are trying to define a function or variable that already exists; You " +"can't do that.\n" +"\n" +"Perhaps the function or variable already exists in the current code file, " +"but it may also be in a parent class that this GDScript code extends." +msgstr "" +"Você está tentando definir uma função ou variável que já existe. Você não " +"pode fazer isso.\n" +"\n" +"Talvez a função ou variável já exista no arquivo de código atual, mas também " +"pode estar na classe pai que esse código de GDScript estende." + +#. Reference: DUPLICATE_DECLARATION +#: script_checking/error_database.csv:120 +msgid "" +"In the app, your code extends some built-in Godot code that's not visible to " +"you.\n" +"\n" +"When that happens, you need to either rename your function or variable to " +"one that will not collide with an existing one or remove this line of code." +msgstr "" +"No app, seu código estende alguns códigos que já vêm integrado na Godot que " +"não visíveis para você.\n" +"\n" +"Quando isso acontece, você precisa: ou renomear sua função ou variável que " +"não seja igual a um nome que já exista nesses códigos integrados ou remover " +"essa linha de código." + +#. Reference: DUPLICATE_SIGNAL_DECLARATION +#: script_checking/error_database.csv:125 +msgid "" +"You are trying to define a signal that already exists; You can't do that.\n" +"\n" +"Perhaps the signal already exists in the current code file, but it may also " +"be in a parent class that this GDScript code extends." +msgstr "" +"Você está tentando definir um sinal que já existe; Você não pode fazer " +"isso.\n" +"\n" +"Talvez esse sinal já exista no arquivo do código atual, mas também pode " +"estar na classe pai que esse código de GDScript estende." + +#. Reference: DUPLICATE_SIGNAL_DECLARATION +#: script_checking/error_database.csv:125 +msgid "" +"In the app, your code extends some built-in Godot code that's not visible to " +"you.\n" +"\n" +"When that happens, you need to either rename your signal to one that will " +"not collide with an existing one or remove this line of code." +msgstr "" +"No app, seu código estende alguns códigos que já vêm integrado na Godot que " +"não visíveis para você.\n" +"\n" +"Quando isso acontece, você precisa: ou renomear seu sinal que não seja igual " +"a um nome que já exista nesses códigos integrados ou remover essa linha de " +"código." + +#. Reference: SIGNATURE_MISMATCH +#: script_checking/error_database.csv:130 +msgid "" +"The function you're trying to define exists in a parent class, so your " +"definition overrides the parent class's function.\n" +"\n" +"When you override a parent class's function, the new function must match the " +"parent. The new function should have the same number and type of parameters " +"as the parent class.\n" +"\n" +"For example, if the parent has two arguments, you need your new function " +"also to have two arguments. If you use type hints in your function " +"definitions, the argument types must match the parent class." +msgstr "" +"A função que você está tentando definir já existe numa classe pai, então sua " +"definição sobrescreve a função da classe pai.\n" +"\n" +"Quando você sobrescreve uma função da classe pai, a nova função precisa " +"corresponder a da classe pai. A nova função deve ter o mesmo número e tipo " +"de parâmetros que a classe pai.\n" +"\n" +"Por exemplo, se a classe pai possuir dois argumentos, você precisa garantir " +"que a nova função também tenha dois argumentos. Se você usar a dica de tipo " +"na suas definições de funções, os tipos de argumentos devem corresponder a " +"da classe pai." + +#. Reference: SIGNATURE_MISMATCH +#: script_checking/error_database.csv:130 +msgid "" +"You need to check the parent class's function and its definition in the code " +"reference. Then, you need to edit your function definition to have the same " +"number and type of parameters as the parent class." +msgstr "" +"Você precisa checar a função da classe pai e suas definições na referência " +"de código. Então, você precisa editar sua definição de função para ter o " +"mesmo número e tipos de parâmetros que a classe pai." + +#. Reference: INVALID_ARGUMENTS +#: script_checking/error_database.csv:131 +msgid "" +"This whole class of errors has to do with calling functions with either the " +"wrong number of arguments or the wrong kind of argument. You will need to " +"use the error message to see what is going wrong." +msgstr "" +"Todos esses erros de classe tem a ver com chamar funções com o número de " +"argumentos errados ou com o tipo errado de argumento. Você precisa usar a " +"mensagem de erro para ver o que está dando de errado." + +#. Reference: INVALID_ARGUMENTS +#: script_checking/error_database.csv:131 +msgid "" +"You need to either remove, add, or change the values you're trying to pass " +"to the function to solve this issue. To know exactly how many arguments you " +"need, you need to check the code reference. It will show you the function " +"definition and the mandatory arguments." +msgstr "" +"Você precisa remover, adicionar ou mudar os valores que está tentando passar " +"para a função para resolver esse problema. Para saber exatamente quantos " +"argumentos você precisa usar, você precisa verificar a referência de código. " +"Ela vai mostrar pra você a definição da função e os argumentos mandatórios." + +#. Reference: TYPE_MISMATCH +#: script_checking/error_database.csv:142 +msgid "" +"All the values in your code have a specific type. That type can be a whole " +"number (int), a decimal number (float), text (String), and so on. There are " +"tons of possible types, and you can even define your own!\n" +"\n" +"When you make any operation, the computer compares the types you are using.\n" +"\n" +"Some types are compatible, and some are not. For example, you cannot " +"directly add a whole number to a text string. You first need to convert the " +"number into text.\n" +"\n" +"You'll need to read the error message to see what is not matching because " +"there are many possible cases." +msgstr "" +"Todos os valores no seu código possuem um tipo específico. Esse tipo pode " +"ser um número inteiro (int), um número decimal (float), um texto (String), e " +"assim por diante. Há vários tipos possíveis, e você pode até mesmo definir " +"seus próprios tipos!\n" +"\n" +"Quando você faz qualquer operação, o computador compara os tipos que você " +"está usando.\n" +"\n" +"Alguns tipos são compatíveis, e outros não. Por exemplo, você não pode " +"adicionar diretamente um número inteiro a uma cadeia de caractere (string). " +"Você precisa primeiro converter o número em texto.\n" +"\n" +"Você vai precisar ler a mensagem de erro para ver o que não está compatível " +"porque existe muitos casos possíveis." + +#. Reference: TYPE_MISMATCH +#: script_checking/error_database.csv:142 +msgid "" +"If the error mentions the assigned value type not matching the variable, the " +"problem is on the right side of the equal sign (=).\n" +"\n" +"If the error talks about the return type not matching the function, then it " +"is the value after the return keyword that is problematic.\n" +"\n" +"If the computer talks about an invalid operand, then the issue is that the " +"operation does not exist for the type you're trying to use. For example, " +"while you can add two 2D vectors, you can't add a whole number or text to a " +"2D vector." +msgstr "" +"Se o erro mencionar que o tipo do valor não é compatível com a variável, o " +"problema está no lado direito do sinal de igual (=).\n" +"\n" +"Se o erro disser que o tipo de retorno não é compatível com a função, então " +"é o valor depois da palavra-chave 'return' que está causando o problema.\n" +"\n" +"Se o computador disser sobre um operador inválido, então o problema é que a " +"operação para aquele tipo que você está tentando usar não existe. Por " +"exemplo, você pode somar dois vetores 2D, mas você não pode somar um número " +"inteiro ou um texto e um vetor 2D." + +#. Reference: TYPE_CANNOT_BE_INFERRED +#: script_checking/error_database.csv:147 +msgid "" +"GDScript supports type inference. The computer will automatically recognize " +"the type of value you are working with. In some cases, though, it can't " +"figure it out.\n" +"\n" +"When that happens, you need to specify the type yourself or remove type " +"inference altogether for this variable." +msgstr "" +"GDScript suporta inferência de tipo. O computador vai reconhecer " +"automaticamente o tipo de valor que você estiver usando. Porém, em alguns " +"casos ele não vai conseguir descobrir o tipo.\n" +"\n" +"Quando isso acontecer, você mesmo precisa especificar o tipo ou remover " +"completamente a inferência de tipo para essa variável." + +#. Reference: TYPE_CANNOT_BE_INFERRED +#: script_checking/error_database.csv:147 +msgid "" +"The simplest way to solve this error is to remove types for this variable or " +"this function's arguments. Otherwise, you can manually specify the value " +"type after the colon.\n" +"\n" +"We recommend specifying the type whenever possible to reap the typing " +"system's benefits." +msgstr "" +"A maneira mais simples de resolver esse erro é remover os tipos dessa " +"variável ou os argumentos dessa função. Caso contrário, você pode " +"especificar manualmente o tipo do valor depois do sinal de dois pontos.\n" +"\n" +"Nós recomendamos especificar o tipo sempre que for possível para colher os " +"benefícios do sistema de digitação." + +#. Reference: RETURN_VALUE_MISMATCH +#: script_checking/error_database.csv:153 +msgid "" +"There is an issue with the return value of your function. There are two main " +"cases here:\n" +"\n" +"1. Your function is a void function, thus it should not return a value. This " +"includes functions with the '-> void' syntax and class constructors " +"('_init()').\n" +"2. You specified a return type for your function, but you are not returning " +"a value in all possible branches (if, elif, and else blocks) or at the end." +msgstr "" +"Tem um problema com o valor de retorno da sua função. Há dois casos " +"principais aqui:\n" +"\n" +"1. Sua função é uma função vazia, logo não deve retornar um valor. Isso " +"inclui funções com a sintaxe '-> void' e construtores de classe " +"('_init()').\n" +"2. Você especificou um tipo de retorno na sua função, mas você não está " +"retornando nenhum valor em todas as ramificações possíveis (blocos if, elif, " +"e else) ou no final." + +#. Reference: RETURN_VALUE_MISMATCH +#: script_checking/error_database.csv:153 +msgid "" +"When your function is 'void', you should never return a value. You can use " +"the 'return' keyword to end the function early, but you should never write " +"anything after that.\n" +"\n" +"When you use a return type, you must always return something at the end of " +"the function or in every branch (if, elif, and else block) of the function." +msgstr "" +"Quando a sua função é vazia (void), você nunca deve retornar um valor. Você " +"pode usar a palavra-chave 'return' para encerrar a função mais cedo, mas " +"nunca deve escrever nada depois disso.\n" +"\n" +"Quando você usa um tipo de retorno, você precisa sempre retornar algo no " +"final da função ou em toda ramificação (blocos if, elif, e else) da função." + +#. Reference: INVALID_NO_CATCH +#: script_checking/error_database.csv:154 +msgid "" +"Godot was unable to load your script, yet the language checker found nothing " +"wrong." +msgstr "" +"Godot foi incapaz de carregar o seu script, porém o checador da linguagem " +"não encontrou nada de errado." + +#. Reference: INVALID_NO_CATCH +#: script_checking/error_database.csv:154 +msgid "" +"Please click on the \"report\" button at the top and please let us know." +msgstr "Por favor, clique no botão \"reportar\" no topo e nos avise." + +#. Reference: RECURSIVE_FUNCTION +#: script_checking/error_database.csv:155 +msgid "You called a function inside itself. This will loop forever." +msgstr "" +"Você chamou um função dentro dela mesma. Isso vai se repetir para sempre." + +#. Reference: RECURSIVE_FUNCTION +#: script_checking/error_database.csv:155 +msgid "" +"There are valid reasons for using recursive functions, but none of them are " +"part of this course, so this cannot be a valid solution." +msgstr "" +"Há razões válidas para usar funções recursivas, mas nenhuma delas fazem " +"parte desse curso, então isso não pode ser uma solução válida." + +#. Reference: UNEXPECTED_EOL +#: script_checking/error_database.csv:157 +msgid "" +"The computer reached the end of the line of code, but the line had a syntax " +"error.\n" +"The most common case is when you forget to close a string: you have opening " +"quotes, but you forget to add a matching closing quote." +msgstr "" +"O computador chegou ao fim da linha do código, mas a linha tem um erro de " +"sintaxe.\n" +"O caso mais comum é quando você se esquece de fechar uma string: você tem " +"aspas de abertura, mas esqueceu de adicionar aspas no final para fechar." + +#. Reference: UNEXPECTED_EOL +#: script_checking/error_database.csv:157 +msgid "" +"Double-check that you are not missing a quote character or that the quote " +"character you used to start the string is the same as the one you used to " +"close the string." +msgstr "" +"Certifique-se que não está faltando aspas ou que as aspas que você usou para " +"iniciar a string é a mesma que usou para fechá-la." + +#. Reference: CANT_GET_INDEX +#: script_checking/error_database.csv:160 +msgid "The sub-variable you are trying to access does not exist." +msgstr "A sub-variável que você está tentando acessar não existe." + +#. Reference: CANT_GET_INDEX +#: script_checking/error_database.csv:160 +msgid "" +"You probably have a typo in the name of the sub-variable that you are trying " +"to access.\n" +"\n" +"Ensure that you don't have a capital letter where you should have a " +"lowercase letter and vice versa." +msgstr "" +"Provavelmente há um erro de digitação no nome da sub-variável que você está " +"tentando acessar.\n" +"\n" +"Verifique se você não está usando letras maiúsculas onde deveriam ser " +"minúsculas ou vice versa." + +#~ msgid "" +#~ "The server or your computer may currently be disconnected. Also, an app " +#~ "or browser add-on may be blocking the connection. If you use an ad " +#~ "blocker or script blocker, please disable it for this website." +#~ msgstr "" +#~ "O servidor ou seu computador pode estar desconectado no momento. Além " +#~ "disso, um aplicativo ou um complemento do navegador pode estar bloqueando " +#~ "a conexão. Se você usa um bloqueador de anúncios ou bloqueador de script, " +#~ "por favor desative-o(s) para este site." + +#~ msgid "" +#~ "Please make sure you're connected to the internet. If you use an ad " +#~ "blocker or script blocker, please ensure it is turned off on this page." +#~ msgstr "" +#~ "Por favor, verifique se você está conectado à internet. Se você usa um " +#~ "bloqueador de anúncios ou bloqueador de script, por favor certifique-se " +#~ "que estão desativados para essa página." + +#~ msgid "" +#~ "Either your connection is very slow, or the Language Verifier server is " +#~ "under load" +#~ msgstr "" +#~ "Sua conexão é muito lenta ou o servidor de verificação de língua está " +#~ "sobrecarregado" + +#~ msgid "" +#~ "Please try again, and if it happens again, warn us with the \"report\" " +#~ "button at the top. Thank you!" +#~ msgstr "" +#~ "Por favor tente novamente e, se acontecer de novo, nos avise com o botão " +#~ "\"reportar\" na parte superior. Obrigado!" diff --git a/i18n/pt_BR/glossary_database.po b/i18n/pt_BR/glossary_database.po new file mode 100644 index 00000000..b1802007 --- /dev/null +++ b/i18n/pt_BR/glossary_database.po @@ -0,0 +1,640 @@ +# 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 , 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-27 07:50+0000\n" +"Last-Translator: Deolindo \n" +"Language-Team: Portuguese (Brazil) \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" + +#. Reference: member function +#: course/glossary.csv:6 +msgid "member function" +msgstr "função membro" + +#. Reference: member function +#: course/glossary.csv:6 +msgid "member functions" +msgstr "funções membro" + +#. Reference: member function +#: course/glossary.csv:6 +msgid "" +"Member functions are functions attached to a specific value type, like " +"arrays, strings, or dictionaries. We also call them methods.\n" +"\n" +"For example, arrays have member functions like [code]array.append()[/code].\n" +"\n" +"You can only call the function on an array, using the access operator " +"([code].[/code]) to access it, as shown above." +msgstr "" +"As funções membro são funções anexadas a um tipo de valor específico, como " +"arrays, strings ou dicionários. Também os chamamos de métodos.\n" +"\n" +"Por exemplo, arrays têm funções membro como [code]array.append()[/code].\n" +"\n" +"Você só pode chamar a função em um array, usando o operador de acesso " +"([code].[/code]) para acessá-la, conforme mostrado acima." + +#. Reference: member variable +#: course/glossary.csv:9 +msgid "member variable" +msgstr "variável membro" + +#. Reference: member variable +#: course/glossary.csv:9 +msgid "member variables" +msgstr "variáveis membro" + +#. Reference: member variable +#: course/glossary.csv:9 +msgid "" +"Member variables are variables attached to a specific value type, like a " +"vector's [code]x[/code] and [code]y[/code] sub-variables. We also call them " +"[i]properties[/i] or [i]fields[/i] of the vector.\n" +"\n" +"To access a member variable, you must first write the value's name followed " +"by the access operator ([code].[/code]). For example, [code]position.x[/" +"code]." +msgstr "" +"As variáveis membro são variáveis anexadas a um tipo de valor específico, " +"como as sub-variáveis [code]x[/code] e [code]y[/code] de um vetor. Também as " +"chamamos de [i]propriedades[/i] ou [i]campos[/i] do vetor.\n" +"\n" +"Para acessar uma variável membro, você deve primeiro escrever o nome do " +"valor seguido pelo operador de acesso ([code].[/code]). Por exemplo, " +"[code]position.x[/code]." + +#. Reference: parameter +#: course/glossary.csv:12 +msgid "parameter" +msgstr "parâmetro" + +#. Reference: parameter +#: course/glossary.csv:12 +msgid "parameters" +msgstr "parâmetros" + +#. Reference: parameter +#: course/glossary.csv:12 +msgid "" +"A parameter is a variable you create as part of a function definition.\n" +"\n" +"It allows you to reuse the function more by having values that vary in the " +"function's body." +msgstr "" +"Um parâmetro é uma variável que você cria como parte da definição de uma " +"função.\n" +"\n" +"Ele permite que você reutilize mais vezes a função por ter valores que " +"variam no corpo da função." + +#. Reference: radian +#: course/glossary.csv:17 +msgid "radian" +msgstr "radiano" + +#. Reference: radian +#: course/glossary.csv:17 +msgid "radians" +msgstr "radianos" + +#. Reference: radian +#: course/glossary.csv:17 +msgid "" +"A radian is a unit of measurement of angles based on the circle's " +"circumference.\n" +"\n" +"We tend to use degrees more in our daily lives, but in computer programming, " +"and especially in games, radians are common.\n" +"\n" +"An angle of [code]2 * PI[/code] radians corresponds to 360 degrees. And an " +"angle of [code]PI[/code] radians corresponds to 180 degrees." +msgstr "" +"Um radiano é uma unidade de medida de ângulos com base na circunferência do " +"círculo.\n" +"\n" +"Costumamos usar mais ângulos em nossas vidas diárias, mas em programação, e " +"especialmente em jogos, radianos são comuns.\n" +"\n" +"Um ângulo de [code]2 * PI[/code] radianos corresponde a 360 graus. E um " +"ângulo de [code]PI[/code] radianos corresponde a 180 graus." + +#. Reference: type +#: course/glossary.csv:20 +msgid "type" +msgstr "tipo" + +#. Reference: type +#: course/glossary.csv:20 +msgid "types" +msgstr "tipos" + +#. Reference: type +#: course/glossary.csv:20 +msgid "" +"In computer programming, a type is the class of a value. For example, whole " +"numbers like [code]3[/code], [code]11[/code], and [code]255462[/code] are " +"all of type [code]int[/code] (short for integer).\n" +"\n" +"The computer uses types to determine which operations are valid between two " +"values and when they're undefined." +msgstr "" +"Em programação, um tipo é a classe de um valor. Por exemplo, números " +"inteiros como [code]3[/code], [code]11[/code] e [code]255462[/code] são " +"todos do tipo [code]int[/code] (abreviação de integer).\n" +"\n" +"O computador usa tipos para determinar quais operações são válidas entre " +"dois valores e quando são indefinidos." + +#. Reference: iteration +#: course/glossary.csv:23 +msgid "iteration" +msgstr "iteração" + +#. Reference: iteration +#: course/glossary.csv:23 +msgid "iterations" +msgstr "iterações" + +#. Reference: iteration +#: course/glossary.csv:23 +msgid "" +"In computer code, an iteration is one repetition of some process or code. We " +"typically use the term with loops, where one iteration is one run of the " +"loop's code.\n" +"\n" +"When talking of algorithms, an iteration can mean a full pass of the " +"algorithm on a data set." +msgstr "" +"Em código de computador, uma iteração é uma repetição de algum processo ou " +"código. Normalmente usamos o termo com loops, onde uma iteração é uma " +"execução do código do loop.\n" +"\n" +"Ao falar de algoritmos, uma iteração pode significar uma passagem completa " +"do algoritmo em um conjunto de dados." + +#. Reference: vector +#: course/glossary.csv:28 +msgid "vector" +msgstr "vetor" + +#. Reference: vector +#: course/glossary.csv:28 +msgid "vectors" +msgstr "vetores" + +#. Reference: vector +#: course/glossary.csv:28 +msgid "" +"In math, a vector is a list of numbers. In games, we often use 2D and 3D " +"vectors: respectively, lists of two and three numbers.\n" +"\n" +"We use that to represent a direction and magnitude or intensity in space. " +"For example, you can use a vector to represent the direction and speed at " +"which a character or a vehicle moves.\n" +"\n" +"Vectors can seem daunting at first because they are pretty abstract, but as " +"you will see, they'll simplify code tremendously." +msgstr "" +"Em matemática, um vetor é uma lista de números. Nos jogos, geralmente usamos " +"vetores 2D e 3D: respectivamente, listas de dois e três números.\n" +"\n" +"Usamos isso para representar uma direção e magnitude ou intensidade no " +"espaço do jogo. Por exemplo, você pode usar um vetor para representar a " +"direção e a velocidade em que um personagem ou veículo se move.\n" +"\n" +"Os vetores podem parecer assustadores no início porque são bastante " +"abstratos, mas como você vai ver, eles simplificarão tremendamente o código." + +#. Reference: argument +#: course/glossary.csv:37 +msgid "argument" +msgstr "argumento" + +#. Reference: argument +#: course/glossary.csv:37 +msgid "arguments" +msgstr "argumentos" + +#. Reference: argument +#: course/glossary.csv:37 +msgid "" +"An argument is a value that you pass to a function when calling the " +"function. For example, in the call [code]rotate(0.5)[/code], the value " +"[code]0.5[/code] in the parentheses is an argument.\n" +"\n" +"A function can receive no arguments, one argument, or multiple arguments. " +"Arguments can be mandatory or optional.\n" +"\n" +"When a function takes multiple arguments, you separate the values with " +"commas, like in this function call: [code]jump(50, 100)[/code]\n" +"\n" +"When [i]calling[/i] a function, we name the values passed in parentheses " +"[i]arguments[/i].\n" +"\n" +"When writing a function definition, however, we talk about function " +"[i]parameters[/i]. In the following example, the names [code]x[/code] and " +"[code]y[/code] are [i]parameters[/i]." +msgstr "" +"Um argumento é um valor que você passa para uma função ao chamá-la. Por " +"exemplo, na chamada [code]rotate(0.5)[/code], o valor [code]0.5[/code] entre " +"parênteses é um argumento.\n" +"\n" +"Uma função pode receber nenhum argumento, um argumento ou vários argumentos. " +"Os argumentos podem ser obrigatórios ou opcionais.\n" +"\n" +"Quando uma função recebe vários argumentos, você separa os valores com " +"vírgulas, como nesta chamada de função: [code]jump(50, 100)[/code]\n" +"\n" +"Ao [i]chamar[/i] uma função, nomeamos os valores passados entre parênteses " +"[i]argumentos[/i].\n" +"\n" +"Ao escrever uma definição de função, no entanto, falamos sobre " +"[i]parâmetros[/i] da função. No exemplo a seguir, os nomes [code]x[/code] e " +"[code]y[/code] são [i]parâmetros[/i]." + +#. Reference: array +#: course/glossary.csv:44 +msgid "array" +msgstr "array" + +#. Reference: array +#: course/glossary.csv:44 +msgid "arrays" +msgstr "arrays" + +#. Reference: array +#: course/glossary.csv:44 +msgid "" +"An array is a list of values. In GDScript, arrays can contain [i]any[/i] " +"types of value.\n" +"\n" +"To create an array, you write comma-separated values in square brackets: " +"[code]var three_numbers = [1, 2, 3][/code]\n" +"\n" +"In games, we use arrays all the time to store lists of characters in a " +"party, lists of items in inventory, lists of spells the player unlocked, and " +"so on. They're everywhere.\n" +"\n" +"Arrays are a fundamental value type in computer programming. You'll find " +"arrays in pretty much any programming language." +msgstr "" +"Um array é uma lista de valores. No GDScript, os arrays podem conter " +"[i]qualquer[/i] tipo de valor.\n" +"\n" +"Para criar um array, você escreve valores separados por vírgulas entre " +"colchetes: [code]var three_numbers = [1, 2, 3][/code]\n" +"\n" +"Nos jogos, usamos arrays o tempo todo para armazenar listas de personagens " +"em um grupo, listas de itens no inventário, listas de feitiços que o jogador " +"desbloqueou e assim por diante. Eles estão em toda parte.\n" +"\n" +"Arrays são um tipo de valor fundamental na programação. Você vai encontrar " +"arrays em praticamente qualquer linguagem de programação." + +#. Reference: assign +#: course/glossary.csv:45 +msgid "assign" +msgstr "atribuir" + +#. Reference: assign +#: course/glossary.csv:45 +msgid "" +"Assigning a value to a variable means that you store a value inside the " +"variable. You do this with the equal sign ([code]=[/code])." +msgstr "" +"Atribuir um valor a uma variável significa que você armazena um valor dentro " +"da variável. Você faz isso com o sinal de igual ([code]=[/code])." + +#. Reference: dictionary +#: course/glossary.csv:52 +msgid "dictionary" +msgstr "dicionário" + +#. Reference: dictionary +#: course/glossary.csv:52 +msgid "dictionaries" +msgstr "dicionários" + +#. Reference: dictionary +#: course/glossary.csv:52 +msgid "" +"A dictionary is a data structure that maps values with key-value pairs. When " +"you give the dictionary a key, it finds and gives you back the corresponding " +"value.\n" +"\n" +"In GDScript, keys can be many things. We often use text strings or numbers, " +"but you're not limited to that. A [code]Vector2[/code] can also be a valid " +"key, which is handy to map a grid cell to a unit or an item in a grid-based " +"game.\n" +"\n" +"You will often use dictionaries to associate bits of data in your games. For " +"example, we could use them to associate an equipment's name with its weapon " +"stats in a database.\n" +"\n" +"Like arrays, they are a fundamental data type that you will see in many " +"programming languages and use a lot." +msgstr "" +"Um dicionário é uma estrutura de dados que mapeia valores com pares chave-" +"valor. Quando você dá uma chave ao dicionário, ele encontra e devolve o " +"valor correspondente.\n" +"\n" +"No GDScript, as chaves podem ser muitas coisas. Costumamos usar strings ou " +"números, mas você não está limitado a isso. Um [code]Vector2[/code] também " +"pode ser uma chave válida, o que é útil para mapear uma célula de grid para " +"uma unidade ou um item em um jogo baseado em grid.\n" +"\n" +"Você costuma usar dicionários para associar pequenas partes de dados em seus " +"jogos. Por exemplo, poderíamos usá-los para associar o nome de um " +"equipamento às estatísticas de suas armas em um banco de dados.\n" +"\n" +"Assim como os arrays, eles são um tipo de dados fundamental que você verá em " +"muitas linguagens de programação e usará muito." + +#. Reference: for loop +#: course/glossary.csv:59 +msgid "for loop" +msgstr "loop for" + +#. Reference: for loop +#: course/glossary.csv:59 +msgid "for loops" +msgstr "loops for" + +#. Reference: for loop +#: course/glossary.csv:59 +msgid "" +"A for loop instructs the computer to repeat a set of instructions once for " +"each value in an array.\n" +"\n" +"In each loop iteration, the compiler extracts one value from the array and " +"gives you access to it in the loop's body.\n" +"\n" +"For loops run code a limited amount of times: one per value in the array. It " +"is different from while loops that keep repeating code until a condition is " +"met.\n" +"\n" +"We recommend favoring for loops when you can. They're safer and easier to " +"use than while loops." +msgstr "" +"Um loop for instrui o computador a repetir um conjunto de instruções uma vez " +"para cada valor em um array.\n" +"\n" +"Em cada iteração do loop, o compilador extrai um valor do array e dá acesso " +"a ele no corpo do loop.\n" +"\n" +"For loops, executa o código uma quantidade limitada de vezes: uma por valor " +"no array. É diferente dos loops while que continuam repetindo o código até " +"que uma condição seja atendida.\n" +"\n" +"Recomendamos usar os loops for quando puder. Eles são mais seguros e fáceis " +"de usar do que loops while." + +#. Reference: function +#: course/glossary.csv:64 +msgid "function" +msgstr "função" + +#. Reference: function +#: course/glossary.csv:64 +msgid "functions" +msgstr "funções" + +#. Reference: function +#: course/glossary.csv:64 +msgid "" +"A function is a group of code instructions you give a name. When you define " +"a function, you can call it any time to run all the instructions it " +"contains.\n" +"\n" +"You can modify a function's behavior with parameters. Parameters are " +"variable names that you write in the function definition. You can then use " +"them in the function's body to make your code adapt to different cases.\n" +"\n" +"Also, functions can optionally return a value to the code calling it." +msgstr "" +"Uma função é um grupo de instruções de código que você dá um nome. Ao " +"definir uma função, você pode chamá-la a qualquer momento para executar " +"todas as instruções que ela contém.\n" +"\n" +"Você pode modificar o comportamento de uma função com parâmetros. Parâmetros " +"são nomes de variáveis que você escreve na definição da função. Você pode " +"então usá-los no corpo da função para fazer com que seu código se adapte a " +"diferentes casos.\n" +"\n" +"Além disso, as funções podem, opcionalmente, retornar um valor ao código que " +"o chama." + +#. Reference: increment +#: course/glossary.csv:65 +msgid "increment" +msgstr "incremento" + +#. Reference: increment +#: course/glossary.csv:65 +msgid "increments" +msgstr "incrementos" + +#. Reference: increment +#: course/glossary.csv:65 +msgid "An increment is the amount by which a value changes in your code." +msgstr "Um incremento é a quantidade pela qual um valor muda em seu código." + +#. Reference: instruction +#: course/glossary.csv:68 +msgid "instruction" +msgstr "instrução" + +#. Reference: instruction +#: course/glossary.csv:68 +msgid "instructions" +msgstr "instruções" + +#. Reference: instruction +#: course/glossary.csv:68 +msgid "" +"In computer programming, instructions are a single operation the computer " +"recognizes and can execute.\n" +"\n" +"For example, a function call, an addition, or assigning a value to a " +"variable." +msgstr "" +"Em programação, as instruções são uma única operação que o computador " +"reconhece e pode executar.\n" +"\n" +"Por exemplo, uma chamada de função, uma adição ou atribuição de um valor a " +"uma variável." + +#. Reference: variable +#: course/glossary.csv:77 +msgid "variable" +msgstr "variável" + +#. Reference: variable +#: course/glossary.csv:77 +msgid "variables" +msgstr "variáveis" + +#. Reference: variable +#: course/glossary.csv:77 +msgid "" +"Variables are a tool to give a name to values you want to store in your code " +"and change over time.\n" +"\n" +"For example, a character's health: when the character takes a hit, you want " +"it to go down. When healing, you want the health to go back up.\n" +"\n" +"You can create a variable named [code]health[/code] to represent the " +"health.\n" +"\n" +"Then, every time you write the keyword [code]health[/code] in your code, the " +"computer will fetch the corresponding value in its memory for you.\n" +"\n" +"Variables work a bit like product labels in a supermarket. They are names " +"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 "" +"As variáveis são uma ferramenta para dar um nome aos valores que você deseja " +"armazenar em seu código e alterar ao longo do tempo.\n" +"\n" +"Por exemplo, a vida de um personagem: quando o personagem é atingido, você " +"quer que ele diminua. Ao curar, você quer que a vida aumente.\n" +"\n" +"Você pode criar uma variável chamada [code]health[/code] para representar a " +"vida.\n" +"\n" +"Então, toda vez que você escrever a palavra-chave [code]health[/code] em seu " +"código, o computador irá buscar o valor correspondente em sua memória para " +"você.\n" +"\n" +"As variáveis funcionam um pouco como rótulos de produtos em um supermercado. " +"São nomes que você atribui a algum valor. A qualquer momento, você pode " +"pegar o rótulo e colá-lo em um novo produto ou, nesse caso, em um novo valor." + +#. Reference: while loop +#: course/glossary.csv:84 +msgid "while loop" +msgstr "loop while" + +#. Reference: while loop +#: course/glossary.csv:84 +msgid "while loops" +msgstr "loops while" + +#. Reference: while loop +#: course/glossary.csv:84 +msgid "" +"A while loop instructs the computer to keep running code based on a " +"condition. While the condition is true, the loop keeps running.\n" +"\n" +"When coding while loops, you must be careful: they will keep running " +"infinitely and freeze your game if you get the condition wrong.\n" +"\n" +"That's why we recommend using the safer for loop whenever you can.\n" +"\n" +"However, there are still essential cases in which we use while loops, like " +"processing files, processing computer code, or for powerful algorithms." +msgstr "" +"Um loop while instrui o computador a continuar executando o código com base " +"em uma condição. Enquanto a condição for verdadeira, o loop continua em " +"execução.\n" +"\n" +"Ao programar loops while, você deve ter cuidado: eles continuarão rodando " +"infinitamente e vão travar seu jogo se você errar a condição.\n" +"\n" +"É por isso que recomendamos usar o loop for, que é mais seguro, sempre que " +"puder.\n" +"\n" +"No entanto, ainda existem casos essenciais em que usamos loops while, como " +"processamento de arquivos, processamento de código de computador ou " +"algoritmos poderosos." + +#. Reference: body +#: course/glossary.csv:85 +msgid "body" +msgstr "corpo" + +#. Reference: body +#: course/glossary.csv:85 +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 "" +"Falamos de um loop ou corpo de uma função para nos referirmos às linhas de " +"código que fazem parte do loop ou função." + +#. Reference: return +#: course/glossary.csv:88 +msgid "return" +msgstr "return" + +#. Reference: return +#: course/glossary.csv:88 +msgid "" +"Returning a value is the process of sending a value to the place where you " +"call a function.\n" +"\n" +"It happens when a function uses the [code]return[/code] keyword followed by " +"a value, for example: [code]return -1[/code]." +msgstr "" +"Retornar um valor é o processo de enviar um valor para o local onde você " +"chama uma função.\n" +"\n" +"Isso acontece quando uma função usa a palavra-chave [code]return[/code] " +"seguida de um valor, por exemplo: [code]return -1[/code]." + +#. Reference: library +#: course/glossary.csv:89 +msgid "library" +msgstr "biblioteca" + +#. Reference: library +#: course/glossary.csv:89 +msgid "libraries" +msgstr "bibliotecas" + +#. Reference: library +#: course/glossary.csv:89 +msgid "" +"A collection of valuable and reusable code bundled together by other " +"programmers to save you time. All programmers use code libraries." +msgstr "" +"Uma coleção de códigos valiosos e reutilizáveis agrupados por outros " +"programadores para economizar seu tempo. Todos os programadores usam " +"bibliotecas de código." + +#. Reference: sprite +#: course/glossary.csv:90 +msgid "sprite" +msgstr "sprite" + +#. Reference: sprite +#: course/glossary.csv:90 +msgid "sprites" +msgstr "sprites" + +#. Reference: sprite +#: course/glossary.csv:90 +msgid "" +"In computer graphics, a sprite is an image you display on the screen. We " +"generally use this word to talk about moving images, like a character, a " +"monster, or an item falling on the ground." +msgstr "" +"Em computação gráfica, uma sprite é uma imagem que você exibe na tela. " +"Geralmente usamos essa palavra para falar de imagens em movimento, como um " +"personagem, um monstro ou um item caindo no chão." diff --git a/i18n/pt_BR/lesson-1-what-code-is-like.po b/i18n/pt_BR/lesson-1-what-code-is-like.po new file mode 100644 index 00000000..c199ae9b --- /dev/null +++ b/i18n/pt_BR/lesson-1-what-code-is-like.po @@ -0,0 +1,430 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-1-what-code-is-like/lesson.tres:14 +msgid "" +"Learning to program can be daunting.\n" +"\n" +"Yet, you want to make video games, so [b]there is no way around learning to " +"program[/b]. [i]Every[/i] video game is a computer program." +msgstr "" +"Aprender a programar pode ser assustador.\n" +"\n" +"No entanto, se você quer fazer videogames, então [b]não há como evitar como " +"aprender a programar[/b]. [i]Todo videogame[/i] é um programa de computador." + +#: course/lesson-1-what-code-is-like/lesson.tres:24 +msgid "Telling the computer what to do" +msgstr "Dizendo ao computador o que fazer" + +#: course/lesson-1-what-code-is-like/lesson.tres:26 +msgid "" +"Programming is the process of writing precise instructions that tell a " +"computer how to perform a task.\n" +"\n" +"A game's instructions are, for example: moving a character, drawing a life " +"bar, or playing a sound." +msgstr "" +"Programação é o processo de escrever instruções precisas que informam a um " +"computador como realizar uma tarefa.\n" +"\n" +"As instruções de um jogo são, por exemplo: mover um personagem, desenhar uma " +"barra de vida ou tocar um som." + +#: 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 "" +"Para fazer qualquer uma dessas coisas, você precisa aprender uma " +"[b]linguagem de programação[/b]: uma linguagem especializada em dizer ao " +"computador o que fazer." + +#: course/lesson-1-what-code-is-like/lesson.tres:58 +msgid "" +"Programming languages are different from natural ones like English or " +"Spanish. The computer does not think. Unlike us, it can't [i]interpret[/i] " +"what you tell it.\n" +"\n" +"You can't tell it something vague like \"draw a circle.\"\n" +"\n" +"Which circle? Where? Which color should it be? How big should it be?" +msgstr "" +"Linguagens de programação são diferentes das linguagens naturais, como " +"inglês ou espanhol. O computador não pensa. Ao contrário de nós, ele não " +"pode [i]interpretar[/i] o que você diz.\n" +"\n" +"Você não pode dizer algo vago como \"desenhe um círculo\".\n" +"\n" +"Qual círculo? Onde? Qual cor ele deve ter? O quão grande ele deve ser?" + +#: course/lesson-1-what-code-is-like/lesson.tres:70 +msgid "The computer needs exact instructions" +msgstr "O computador precisa de instruções exatas" + +#: course/lesson-1-what-code-is-like/lesson.tres:72 +msgid "" +"To draw a filled circle, the computer needs to know exact drawing " +"coordinates, the radius, the thickness, and color you want.\n" +"\n" +"The code to do so [i]may[/i] look like this.\n" +"\n" +"[i]Click the button to run the code example and see the result.[/i]" +msgstr "" +"Para desenhar um círculo preenchido, o computador precisa saber as " +"coordenadas exatas do desenho, o raio, a espessura e a cor desejada.\n" +"\n" +"O código para fazer isso [i]pode[/i] ficar assim.\n" +"\n" +"[i]Clique no botão para executar o código de exemplo e ver o resultado.[/i]" + +#: course/lesson-1-what-code-is-like/lesson.tres:96 +msgid "" +"In the following lessons, you'll learn how this code works.\n" +"\n" +"For now, we want to give you a sense of what computer code looks like. In " +"this example, everything matters: each parenthesis, capital letter, period, " +"and comma.\n" +"\n" +"The computer always does [b]exactly[/b] what you tell it to. No more, no " +"less. It [i]blindly[/i] follows every instruction.\n" +"\n" +"[b]When you program, you're the one in charge, and you're free to do " +"[i]anything[/i] you want.[/b]" +msgstr "" +"Nas aulas a seguir, você aprenderá como esse código funciona.\n" +"\n" +"Por enquanto, queremos dar uma ideia de como se parece um código de " +"computador. Neste exemplo, tudo importa: cada parêntese, letra maiúscula, " +"ponto e vírgula.\n" +"\n" +"O computador sempre faz [b]exatamente[/b] o que você manda. Nem mais nem " +"menos. Ele [i]cegamente[/i] segue todas as instruções.\n" +"\n" +"[b]Quando você programa, você é quem manda e é livre para fazer [i]qualquer " +"coisa[/i] que quiser.[/b]" + +#: course/lesson-1-what-code-is-like/lesson.tres:110 +msgid "How do you give instructions to a computer?" +msgstr "Como você dá instruções para um computador?" + +#: course/lesson-1-what-code-is-like/lesson.tres:113 +msgid "" +"Computers don't understand natural languages like English. To make them do " +"anything, you need to give them precise instructions they understand, using " +"a programming language." +msgstr "" +"Os computadores não entendem linguagens naturais como o inglês. Para fazê-" +"los fazer qualquer coisa, você precisa dar a eles instruções precisas que " +"eles entendam, usando uma linguagem de programação." + +#: 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 "Usando uma linguagem de programação e instruções precisas" + +#: course/lesson-1-what-code-is-like/lesson.tres:114 +msgid "Using prose in plain English" +msgstr "Usando conversa em Inglês simples" + +#: course/lesson-1-what-code-is-like/lesson.tres:122 +msgid "You'll learn to code with GDScript" +msgstr "Você vai aprender a programar com GDScript" + +#: course/lesson-1-what-code-is-like/lesson.tres:124 +msgid "" +"In this course, you'll learn the GDScript programming language (the name " +"stands for \"Godot script\").\n" +"\n" +"This is a language by game developers for game developers. You can use it " +"within the Godot game engine to create games and applications.\n" +"\n" +"SEGA used the Godot engine to create the remake of Sonic Colors Ultimate. " +"Engineers at Tesla use it for their cars' dashboards." +msgstr "" +"Nesse curso, você vai aprender a linguagem de programação chamada GDScript " +"(o nome significa \"Godot script\").\n" +"\n" +"Essa é uma linguagem feita por desenvolvedores de jogos para desenvolvedores " +"de jogos. Você pode usa-la junto a engine de jogo Godot para criar jogos e " +"aplicações.\n" +"\n" +"A SEGA usou a engine de jogo Godot para criar o remake de Sonic Colors " +"Ultimate. Engenheiros da Tesla usam ela para os seus painéis de carros." + +#: course/lesson-1-what-code-is-like/lesson.tres:148 +msgid "" +"GDScript is an excellent language to get started with programming because " +"it's specialized. Unlike some other languages, it doesn't have an " +"[i]overwhelming[/i] amount of features for you to learn." +msgstr "" +"GDScript é uma linguagem excelente para iniciar com programação porque é uma " +"linguagem especializada. Ao contrário de algumas outras linguagens, ela não " +"possui uma quantidade [i]gigantesca[/i] de recursos para você aprender." + +#: course/lesson-1-what-code-is-like/lesson.tres:156 +msgid "Most programming languages are similar" +msgstr "A maioria das linguagens de programação são similares" + +#: course/lesson-1-what-code-is-like/lesson.tres:158 +msgid "" +"Don't be afraid of being locked in. The concepts you learn in your first " +"programming language will apply to all the others.\n" +"\n" +"Most languages have more similarities than differences. Once you learn one, " +"it takes much less time to become productive with the next one.\n" +"\n" +"Here's an example of the same code in three languages: GDScript, JavaScript, " +"and Python.\n" +"\n" +"Try to spot the similarities and differences." +msgstr "" +"Não tenha medo de ficar preso nessa linguagem. Os conceitos que você aprende " +"na sua primeira linguagem de programação vão se aplicar para todas as " +"outras.\n" +"\n" +"A maioria das linguagens possuem mais similaridades do que diferenças. Uma " +"vez que você aprende uma, leva muito menos tempo para se tornar produtivo " +"com a próxima.\n" +"\n" +"Aqui tem um exemplo de um mesmo código em três linguagens: GDScript, " +"JavaScript e Python.\n" +"\n" +"Tente achar as similaridades e as diferenças." + +#: course/lesson-1-what-code-is-like/lesson.tres:184 +msgid "It doesn't look [i]that[/i] different, does it?" +msgstr "Não parece [i]tão[/i] diferente, não é mesmo?" + +#: course/lesson-1-what-code-is-like/lesson.tres:192 +msgid "Are programming languages all completely different?" +msgstr "Todas as linguagens de programação são completamente diferentes?" + +#: course/lesson-1-what-code-is-like/lesson.tres:193 +msgid "" +"If you learn one language and then want to learn another, will you have to " +"start from scratch?" +msgstr "" +"Se você aprender uma linguagem e depois quiser aprender outra, você terá que " +"começar do zero?" + +#: course/lesson-1-what-code-is-like/lesson.tres:195 +msgid "" +"Most programming languages build upon the same ideas of how to program. As a " +"result, they're mostly similar.\n" +"\n" +"It's not to say all languages are the same, though. Some offer a really " +"unique syntax and require a completely different mindset compared to " +"GDScript.\n" +"\n" +"However, languages like GDScript, Python, JavaScript, C++, C#, and many " +"others build upon a similar programming philosophy." +msgstr "" +"A maioria das linguagens de programação são construídas na mesma ideia de " +"como programar. Como resultado disso, a maioria são parecidas.\n" +"\n" +"Isso não quer dizer que todas as linguagens são iguais. Algumas oferecem uma " +"sintaxe única e exigem um modo de pensar completamente diferente comparado a " +"linguagem GDScript.\n" +"\n" +"No entanto, linguagens como GDScript, Python, JavaScript, C++, C# e muitas " +"outras são construidas em cima de uma filosofia similar de programação." + +#: course/lesson-1-what-code-is-like/lesson.tres:200 +#: course/lesson-1-what-code-is-like/lesson.tres:201 +msgid "No, they have many similarities" +msgstr "Não, elas possuem muitas similaridades" + +#: course/lesson-1-what-code-is-like/lesson.tres:200 +msgid "Yes, they are completely different" +msgstr "Sim, elas são completamente diferentes" + +#: course/lesson-1-what-code-is-like/lesson.tres:208 +msgid "This is a course for beginners" +msgstr "Esse é um curso para iniciantes" + +#: course/lesson-1-what-code-is-like/lesson.tres:210 +msgid "" +"If you want to learn to make games or code but don't know where to start, " +"this course should be perfect." +msgstr "" +"Se você quer aprender a fazer jogos ou a programar mas não sabe por onde " +"começar, esse curso será perfeito para você." + +#: course/lesson-1-what-code-is-like/lesson.tres:230 +msgid "" +"We designed it for [i]absolute beginners[/i], but if you already know " +"another language, it can be a fun way to get started with Godot.\n" +"\n" +"We will give you the coding foundations you need to start making games and " +"applications with Godot.\n" +"\n" +"Please be patient. It will take time before you can make your first complete " +"game alone." +msgstr "" +"Nós fizemos esse curso para pessoas [i]totalmente iniciantes[/i], mas se " +"você já sabe outra linguagem, pode ser uma forma divertida de iniciar com a " +"Godot.\n" +"\n" +"Nós vamos te passar os fundamentos de programação que você irá precisar para " +"começar a fazer jogos e aplicações com a Godot.\n" +"\n" +"Por favor, seja paciente. Vai levar tempo até você conseguir fazer seu " +"primeiro jogo completo sozinho." + +#: course/lesson-1-what-code-is-like/lesson.tres:242 +msgid "Learning to make games takes practice" +msgstr "Aprender a fazer jogos requer prática" + +#: course/lesson-1-what-code-is-like/lesson.tres:244 +msgid "" +"Creating games is more accessible than ever, but it still takes a lot of " +"work and practice.\n" +"\n" +"Do not expect any single course or book to turn you into a professional. " +"[b]Programming is something you learn through practice.[/b]\n" +"\n" +"If something doesn't make immediate sense, don't stress it too much! Keep " +"learning and come back to it later.\n" +"\n" +"Enjoy the process and celebrate every little success. You will never stop " +"learning as a game developer." +msgstr "" +"Criar jogos está mais acessível do que nunca, mas ainda requer muito " +"trabalho e prática.\n" +"\n" +"Não espere nenhum curso ou livro que te transformará em um profissional. " +"[b]Programação é algo que você aprende através de prática.[/b]\n" +"\n" +"Se algo não faz sentido logo de cara, não se estresse demais! Continue " +"aprendendo e volte mais tarde.\n" +"\n" +"Aproveite o processo e celebre cada pequeno sucesso. Você nunca vai parar de " +"aprender sendo um desenvolvedor de jogos." + +#: course/lesson-1-what-code-is-like/lesson.tres:258 +msgid "What and how you'll learn" +msgstr "O que e como você irá aprender" + +#: course/lesson-1-what-code-is-like/lesson.tres:260 +msgid "" +"In this free course, you will learn the foundations you need to start coding " +"things like these:" +msgstr "" +"Nesse curso gratuito, você vai aprender os fundamentos que você precisa para " +"começar a programar coisas como essas:" + +#: course/lesson-1-what-code-is-like/lesson.tres:290 +msgid "" +"Along the way, we'll teach you:\n" +"\n" +"- Some of the mindset you need as a developer. Too many programming courses " +"skip that essential part.\n" +"- How to write GDScript code.\n" +"- Essential programming foundations to get you started.\n" +"\n" +"As you go through the course, you will have many questions. We will answer " +"them the best we can as we go.\n" +"\n" +"But there is so much to cover that we have to take a few shortcuts. We don't " +"want to [i]overwhelm[/i] you with information. We also want to respect the " +"pace at which our brains memorize things.\n" +"\n" +"We broke down the course into short lessons and practices. If we put too " +"much into each part, you'd learn slower.\n" +"\n" +"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 "" +"Ao longo do caminho, vamos te ensinar:\n" +"\n" +"- Alguns modos de pensar que você vai precisar como um desenvolvedor. Muitos " +"cursos de programação pulam essa parte essencial.\n" +"- Como escrever códigos na linguagem GDScript .\n" +"- Fundamentos essenciais de programação para você poder começar.\n" +"\n" +"Conforme você avança no curso, você terá muitas perguntas. Nós vamos " +"respondê-las da melhor forma possível conforme avançamos.\n" +"\n" +"Mas tem tanta coisa para aprender que teremos que pegar alguns atalhos. Nós " +"não queremos [i]sobrecarregar[/i] você com informação. Nós também queremos " +"respeitar o ritmo que nossos cérebros memorizam as coisas.\n" +"\n" +"Nós dividimos o curso em pequenas lições e práticas. Se colocarmos muita " +"coisa em cada parte, você aprenderia de forma devagar.\n" +"\n" +"Se em qualquer momento você ficar com muitas dúvidas, você é mais que bem " +"vindo(a) a se juntar à [url=https://discord.gg/87NNb3Z]nossa comunidade no " +"Discord[/url]." + +#: course/lesson-1-what-code-is-like/lesson.tres:310 +msgid "Programming is a skill" +msgstr "Programar é uma habilidade" + +#: course/lesson-1-what-code-is-like/lesson.tres:312 +msgid "" +"Programming is a skill, so to get good at it, you must practice. It is why " +"we built this app.\n" +"\n" +"Each lesson is followed by an interactive practice to use what you learned.\n" +"\n" +"Speaking of which, it's time to look at the practice screen!\n" +"\n" +"To continue, click the [i]Practice[/i] button below. It will give you a " +"short run through how practices work." +msgstr "" +"Programar é uma habilidade, então para ficar bom nisso, você precisa " +"praticar. Pra isso nós criamos esse aplicativo.\n" +"\n" +"Cada lição é seguida por um exercício interativo para usar o que você " +"aprendeu.\n" +"\n" +"Falando nisso, é hora de ver a tela de exercício!\n" +"\n" +"Para continuar, clique no botão [i]Praticar[/i]logo abaixo. Isso vai te dar " +"um breve resumo de como os exercícios funcionam." + +#: course/lesson-1-what-code-is-like/lesson.tres:326 +msgid "Try Your First Code" +msgstr "Experimente seu primeiro código" + +#: course/lesson-1-what-code-is-like/lesson.tres:327 +msgid "" +"We prepared a code sample for you. For this practice, you don't need to " +"change anything.\n" +"\n" +"To test the code, click the [i]Run[/i] button below the code editor." +msgstr "" +"Nós preparamos um código de exemplo para você. Para esse exercício, você não " +"precisa mudar nada.\n" +"\n" +"Para testar o código, clique no botão [i]Executar[/i] logo abaixo do editor " +"de código." + +#: course/lesson-1-what-code-is-like/lesson.tres:339 +msgid "Run your first bit of code and see the result." +msgstr "Execute seu primeiro código e veja o resultado." + +#: course/lesson-1-what-code-is-like/lesson.tres:343 +msgid "What Code is Like" +msgstr "Como o código se parece" diff --git a/i18n/pt_BR/lesson-10-the-game-loop.po b/i18n/pt_BR/lesson-10-the-game-loop.po new file mode 100644 index 00000000..a9696ad8 --- /dev/null +++ b/i18n/pt_BR/lesson-10-the-game-loop.po @@ -0,0 +1,260 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-10-the-game-loop/lesson.tres:14 +msgid "" +"As we've seen, Godot has functions that do certain actions. For example, the " +"[code]show()[/code] and [code]hide()[/code] functions change the visibility " +"of things.\n" +"\n" +"We can also create our own functions to make custom effects like adding or " +"removing health to a character.\n" +"\n" +"Godot also has special functions we can customize or add to.\n" +"\n" +"Take the [code]_process()[/code] function." +msgstr "" +"Como vimos, A Godot possui funções que realizam determinadas ações. Por " +"exemplo, as funções [code]show()[/code] e [code]hide()[/code] mudam a " +"visibilidade das coisas.\n" +"\n" +"Nós podemos também criar nossas próprias funções para criar efeitos " +"personalizados, como adicionar ou remover a vida de um personagem.\n" +"\n" +"A Godot também tem funções especiais que podemos personalizar ou acrescentar " +"algo a mais nelas.\n" +"\n" +"Olhe a função [code]_process()[/code] por exemplo." + +#: course/lesson-10-the-game-loop/lesson.tres:40 +msgid "" +"The [code]_process()[/code] function gets its name because it does " +"calculations or continuous actions.\n" +"\n" +"It's like a juice factory that [b]processes[/b] juice bottles: the bottles " +"are always moving along a conveyor belt, while different machines operate on " +"them." +msgstr "" +"A função [code]_process()[/code] recebe esse nome porque faz cálculos ou " +"ações contínuas.\n" +"\n" +"É como uma fábrica de suco que [b]processa[/b] garrafas de suco: as garrafas " +"estão sempre se movendo ao longo de uma esteira transportadora, enquanto " +"diferentes máquinas operam sobre elas." + +#: course/lesson-10-the-game-loop/lesson.tres:52 +msgid "" +"It's similar in Godot, but this function can run [b]hundreds of times a " +"second[/b]." +msgstr "" +"Esse processo funciona de forma parecida dentro da Godot, mas essa função " +"pode ser executada [b]centenas de vezes por segundo[/b]." + +#: course/lesson-10-the-game-loop/lesson.tres:60 +msgid "How many parameters does this function take?" +msgstr "Quantos parâmetros essa função pode ter?" + +#: course/lesson-10-the-game-loop/lesson.tres:61 +msgid "" +"[code]\n" +"func _process(delta):\n" +"[/code]" +msgstr "" +"[code]\n" +"func _process(delta):\n" +"[/code]" + +#: course/lesson-10-the-game-loop/lesson.tres:65 +msgid "" +"The [code]_process()[/code] function takes one parameter: [code]delta[/" +"code].\n" +"\n" +"We'll look at what [code]delta[/code] is in the next lesson, as well as show " +"how to use it." +msgstr "" +"A função [code]_process()[/code] recebe um parâmetro: [code]delta[/code].\n" +"\n" +"Vamos ver o que é [code]delta[/code] na próxima lição, além de mostrar pra " +"você como usá-lo." + +#: course/lesson-10-the-game-loop/lesson.tres:68 +#: course/lesson-10-the-game-loop/lesson.tres:69 +msgid "1" +msgstr "1" + +#: course/lesson-10-the-game-loop/lesson.tres:68 +msgid "2" +msgstr "2" + +#: course/lesson-10-the-game-loop/lesson.tres:78 +msgid "" +"The [code]_process()[/code] function won't do anything until we add " +"something to it.\n" +"\n" +"You might notice the underscore [code]_[/code] in front of the function " +"name. This is a convention programmers use to coordinate work, and it'll " +"only make sense once you have experience coding in Godot.\n" +"\n" +"For now, all you need to know is that if the function exists in your code, " +"and it is called precisely [code]_process[/code], then Godot will " +"automatically run it every [i]frame[/i].\n" +"\n" +"When Godot draws on the screen, we call that a frame." +msgstr "" +"A função [code]_process()[/code] não vai fazer nada até que adicionemos algo " +"a ela.\n" +"\n" +"Você pode notar o sinal de underscore [code]_[/code] na frente do nome da " +"função. Isso é uma convenção que programadores criaram pra coordenar o " +"trabalho. Isso fará mais sentido quando você tiver mais experiência " +"programando na Godot engine.\n" +"\n" +"Por agora, tudo que você precisa saber é: se a função existir no seu código " +"e o nome é exatamente [code]_process[/code], a Godot vai executá-la " +"automaticamente a cada [i]frame[/i].\n" +"\n" +"Um frame é quando uma nova imagem é desenhada na tela." + +#: course/lesson-10-the-game-loop/lesson.tres:92 +msgid "Is this the same for other engines?" +msgstr "É a mesma coisa em outras engines?" + +#: course/lesson-10-the-game-loop/lesson.tres:94 +msgid "" +"Other game engines might use different names like [code]_update()[/code]." +msgstr "" +"Outras engines de jogos podem usar nomes diferentes, como [code]_update()[/" +"code]." + +#: course/lesson-10-the-game-loop/lesson.tres:102 +msgid "Why is the _process() function useful?" +msgstr "Por que a função _process() é útil?" + +#: course/lesson-10-the-game-loop/lesson.tres:104 +msgid "" +"It's perhaps better to see the [code]_process()[/code] function in action.\n" +"\n" +"Take the following example." +msgstr "" +"Talvez seja melhor ver a função [code]_process()[/code] em ação.\n" +"\n" +"Tome o seguinte exemplo." + +#: course/lesson-10-the-game-loop/lesson.tres:126 +msgid "" +"When you click the button [code]set_process(true)[/code], you activate " +"processing on the robot.\n" +"\n" +"From there, every frame, Godot runs the [code]_process()[/code] function.\n" +"\n" +"Since we wrote a [code]rotate()[/code] instruction, Godot is rotating the " +"character by [code]0.05[/code] radians [b]many[/b] times a second." +msgstr "" +"Ao clicar no botão [code]set_process(true)[/code], você ativa o " +"processamento no robô.\n" +"\n" +"A partir daí, a cada frame, a Godot executa a função [code]_process()[/" +"code].\n" +"\n" +"Como escrevemos uma instrução [code]rotate()[/code], a Godot está girando o " +"personagem em [code]0.05[/code] radianos [b]muitas[/b] vezes por segundo." + +#: course/lesson-10-the-game-loop/lesson.tres:138 +msgid "How often does the _process() function run?" +msgstr "Com que frequência a função _process() é executada?" + +#: course/lesson-10-the-game-loop/lesson.tres:141 +msgid "" +"The faster your computer, the more times [code]_process()[/code] will run.\n" +"\n" +"Godot will try and run [code]_process()[/code] as quickly as it can. This " +"makes sure any movement or animations look smooth and fluid." +msgstr "" +"Quanto mais rápido for seu computador, mais vezes a função [code]_process()[/" +"code] será executada.\n" +"\n" +"A Godot tentará executar a função [code]_process()[/code] o mais rápido " +"possível. Isso garante que qualquer movimento ou animação pareça suave e " +"fluido." + +#: course/lesson-10-the-game-loop/lesson.tres:144 +msgid "Once a second." +msgstr "Uma vez por segundo." + +#: course/lesson-10-the-game-loop/lesson.tres:144 +#: course/lesson-10-the-game-loop/lesson.tres:145 +msgid "Multiple times a second." +msgstr "Várias vezes por segundo." + +#: course/lesson-10-the-game-loop/lesson.tres:154 +msgid "" +"In the practice, you'll learn how to use the process function to rotate and " +"move a character yourself." +msgstr "" +"Na lição de prática, você vai aprender a usar a função process para " +"rotacionar e mover um personagem você mesmo." + +#: course/lesson-10-the-game-loop/lesson.tres:162 +msgid "Rotating a Character Continuously" +msgstr "Rotacionando um Personagem de Maneira Contínua" + +#: course/lesson-10-the-game-loop/lesson.tres:163 +msgid "" +"Make the robot rotate slowly by adding to the [code]_process()[/code] " +"function.\n" +"\n" +"A rotation speed of about [code]0.05[/code] each frame should do." +msgstr "" +"Faça o robô rotacionar lentamente adicionando algo na função [code]_process()" +"[/code].\n" +"\n" +"Uma velocidade de rotação com cerca de [code]0.05[/code] por frame deve ser " +"suficiente." + +#: course/lesson-10-the-game-loop/lesson.tres:180 +msgid "Creating Circular Movement" +msgstr "Criando Movimento Circular" + +#: course/lesson-10-the-game-loop/lesson.tres:181 +msgid "" +"Make the robot move in a large circle slowly by rotating it and " +"simultaneously moving it along its x direction.\n" +"\n" +"To do this, add the [code]rotate()[/code] and [code]move_local_x()[/code] " +"functions to [code]_process()[/code].\n" +"\n" +"Use a rotation speed of [code]0.05[/code] radians per frame, and move the " +"robot [code]5[/code] pixels per frame." +msgstr "" +"Faça o robô se mover lentamente em um grande círculo girando e movendo ele " +"simultaneamente ao longo de sua direção no eixo x.\n" +"\n" +"Para fazer isso, adicione as funções [code]rotate()[/code] e " +"[code]move_local_x()[/code] na função [code]_process()[/code].\n" +"\n" +"Use uma velocidade de rotação de [code]0,05[/code] radianos por frame e mova " +"o robô [code]5[/code] pixels por frame." + +#: course/lesson-10-the-game-loop/lesson.tres:199 +msgid "The Game Loop" +msgstr "O Loop do Jogo" diff --git a/i18n/pt_BR/lesson-11-time-delta.po b/i18n/pt_BR/lesson-11-time-delta.po new file mode 100644 index 00000000..4dd86933 --- /dev/null +++ b/i18n/pt_BR/lesson-11-time-delta.po @@ -0,0 +1,447 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-11-time-delta/lesson.tres:14 +msgid "" +"We've seen how we can use our character's [code]_process()[/code] function " +"to make it move continuously." +msgstr "" +"Vimos como podemos usar a função [code]_process()[/code] do nosso personagem " +"para fazer ele se mover continuamente." + +#: course/lesson-11-time-delta/lesson.tres:34 +msgid "" +"But it's not just our character that has a [code]_process()[/code] function; " +"Almost everything in the game has a [code]_process()[/code] function!\n" +"\n" +"Dozens of times per second, Godot runs every [code]_process()[/code] " +"function in the game to update the game world.\n" +"\n" +"After that, it displays an image of the game world on the screen. We call " +"that image a [b]frame[/b].\n" +"\n" +"Godot then moves on to calculating the next frame.\n" +"\n" +"As this happens dozens of times per second, you get the illusion of " +"movement. This is similar to how traditional animation works." +msgstr "" +"Mas não é apenas nosso personagem que tem uma função [code]_process()[/" +"code]; Quase tudo no jogo tem uma função [code]_process()[/code]!\n" +"\n" +"Dezenas de vezes por segundo, a Godot executa cada função [code]_process()[/" +"code] no jogo para atualizar o mundo do jogo.\n" +"\n" +"Depois disso, ele exibe uma imagem do mundo do jogo na tela. Chamamos essa " +"imagem de [b]frame[/b].\n" +"\n" +"A Godot então passa a calcular o próximo quadro.\n" +"\n" +"Como isso acontece dezenas de vezes por segundo, você tem a ilusão de " +"movimento. Isso é semelhante a como a animação tradicional funciona." + +#: course/lesson-11-time-delta/lesson.tres:50 +msgid "This sounds like Frames Per Second..." +msgstr "Isso soa como Frames por Segundo..." + +#: course/lesson-11-time-delta/lesson.tres:52 +msgid "" +"You may have heard of frames per second, or FPS for short. Games often run " +"at 60 frames per second. \n" +"\n" +"It means that everything in the game updates 60 times each second.\n" +"\n" +"The number varies while playing, depending on the game and the device it " +"runs on.\n" +"\n" +"On powerful computers, you may get frame rates in the hundreds or thousands " +"of frames per second." +msgstr "" +"Você já deve ter ouvido falar de frames por segundo, ou FPS para abreviar. " +"Os jogos geralmente são executados a 60 frames por segundo.\n" +"\n" +"Isso significa que tudo no jogo é atualizado 60 vezes a cada segundo.\n" +"\n" +"O número varia durante o jogo, dependendo do jogo e do dispositivo em que é " +"executado.\n" +"\n" +"Em computadores poderosos, você pode obter taxas de frames de centenas ou " +"até milhares de frames por segundo." + +#: course/lesson-11-time-delta/lesson.tres:68 +msgid "Let's look at the [code]_process()[/code] function in more detail." +msgstr "Vamos ver a função [code]_process()[/code] com mais detalhes." + +#: course/lesson-11-time-delta/lesson.tres:76 +msgid "What parameter does the _process() function take?" +msgstr "Qual parâmetro a função _process() usa?" + +#: course/lesson-11-time-delta/lesson.tres:77 +msgid "" +"[code]\n" +"func _process(delta):\n" +"\trotate(0.05)\n" +"[/code]" +msgstr "" +"[code]\n" +"func _process(delta):\n" +"\trotate(0.05)\n" +"[/code]" + +#: course/lesson-11-time-delta/lesson.tres:82 +msgid "" +"The [code]_process()[/code] function has one parameter named [code]delta[/" +"code]." +msgstr "" +"A função [code]_process()[/code] tem um parâmetro chamado [code]delta[/code]." + +#: course/lesson-11-time-delta/lesson.tres:83 +msgid "rotate" +msgstr "rotacionar" + +#: course/lesson-11-time-delta/lesson.tres:83 +msgid "0.05" +msgstr "0.05" + +#: course/lesson-11-time-delta/lesson.tres:83 +#: course/lesson-11-time-delta/lesson.tres:84 +msgid "delta" +msgstr "delta" + +#: course/lesson-11-time-delta/lesson.tres:91 +msgid "Frames take varying amounts of time to calculate" +msgstr "" +"Os frames levam uma quantidades variadas de tempo para serem calculados" + +#: course/lesson-11-time-delta/lesson.tres:93 +msgid "" +"Depending on the game, the computer, and what the game engine needs to " +"calculate, frames take more or less time to display.\n" +"\n" +"There will always be milliseconds variations from frame to frame.\n" +"\n" +"That is why the [code]_process()[/code] function receives a [code]delta[/" +"code] parameter.\n" +"\n" +"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" +"This is because different computers run differently, so a fast computer will " +"have more frames per second than a slow computer.\n" +"\n" +"If we ignore [code]delta[/code], the game experience will vary, depending on " +"the computer. Delta helps to make the game experience consistent for " +"everyone." +msgstr "" +"Dependendo do jogo, do computador e do que a engine do jogo precisa " +"calcular, os frames levam mais ou menos tempo para serem exibidos.\n" +"\n" +"Sempre haverá variações de milissegundos de frame a frame.\n" +"\n" +"É por isso que a função [code]_process()[/code] recebe um parâmetro " +"[code]delta[/code].\n" +"\n" +"A palavra \"delta\" representa uma diferença de tempo. É o tempo decorrido " +"desde o frame anterior, em segundos.\n" +"\n" +"O parâmetro [code]delta[/code] nos diz quanto tempo levou para a Godot " +"completar o [b]frame anterior[/b].\n" +"\n" +"Podemos usar o delta para garantir que as variações entre os frames não " +"tornem a simulação do jogo instável.\n" +"\n" +"Fazemos isso pois computadores executam diferente uns dos outros. Um " +"computador rápido vai ter mais frames por segundo que um computador mais " +"lento.\n" +"\n" +"Se ignorarmos o uso do [code]delta[/code], a experiência do jogo vai variar " +"de computador pra computador. Delta ajuda que a experiência seja consistente " +"para todos." + +#: course/lesson-11-time-delta/lesson.tres:115 +msgid "What do we know about delta?" +msgstr "O que sabemos sobre o delta?" + +#: course/lesson-11-time-delta/lesson.tres:118 +msgid "" +"[code]delta[/code] is the time it took Godot to complete the previous frame " +"in seconds.\n" +"\n" +"It's very small because frames happen many times a second.\n" +"\n" +"It varies each frame because Godot needs to process more or less each frame." +msgstr "" +"[code]delta[/code] é o tempo que a Godot levou para completar o frame " +"anterior, medido em segundos.\n" +"\n" +"É muito pequeno porque os frames acontecem muitas vezes por segundo.\n" +"\n" +"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 +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 +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 +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 +msgid "Multiplying by delta" +msgstr "Multiplicando por delta" + +#: course/lesson-11-time-delta/lesson.tres:133 +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" +"\n" +"To apply [code]delta[/code], you need to [i]multiply[/i] your speed values " +"by it." +msgstr "" +"O [code]delta[/code] que você obtém em [code]_process()[/code] é uma " +"diferença de tempo em segundos. Geralmente vai ser um número decimal " +"pequeno.\n" +"\n" +"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 +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 "" +"Ao multiplicar por [code]delta[/code], você faz com que o movimento se torne " +"[i]dependente do tempo[/i] ao invés de [i]dependente do frame[/i].\n" +"\n" +"Isso é essencial para tornar seu jogo consistente e justo." + +#: course/lesson-11-time-delta/lesson.tres:165 +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 +msgid "" +"At the top of the lesson, we made the robot rotate a fixed amount every " +"frame: [code]0.05[/code] radians.\n" +"\n" +"In the example above, we now [i]multiply[/i] the argument by the very small " +"[code]delta[/code] value, a value way below [code]1.0[/code]. It makes the " +"robot turn at a constant speed over time.\n" +"\n" +"However, multiplying by a number below [code]1.0[/code] like [code]delta[/" +"code] makes the result smaller.\n" +"\n" +"To compensate for that and make the robot turn fast enough, we use a larger " +"number than before, [code]3.0[/code] instead of [code]0.05[/code].\n" +"\n" +"Those numbers have two different [i]units[/i]: [code]0.05[/code] is an " +"[i]angle[/i] in radians, while [code]3.0[/code] is an [i]angular speed[/i] " +"in radians per second.\n" +"\n" +"When you multiply a speed by a time delta, it gives you an angle.\n" +"\n" +"Don't worry if it's a little confusing for now. It'll eventually click as " +"you deal with speed, acceleration, and motion in your game projects." +msgstr "" +"No início da lição, fizemos o robô rotacionar por uma quantidade fixa a cada " +"frame: [code]0.05[/code] radianos.\n" +"\n" +"No exemplo acima, nós agora[i]multiplicamos[/i] o argumento pelo valor muito " +"pequeno de [code]delta[/code], um valor muito abaixo de [code]1.0[/code]. " +"Isso faz com que o robô rotacione a uma velocidade constante ao longo do " +"tempo.\n" +"\n" +"No entanto, multiplicar por um número abaixo de [code]1.0[/code] como é o " +"caso do [code]delta[/code], torna o resultado menor.\n" +"\n" +"Para compensar isso e fazer o robô rotacionar rápido o suficiente, usamos um " +"número maior do que antes, [code]3.0[/code] ao invés de [code]0.05[/code].\n" +"\n" +"Esses números têm duas [i]unidades[/i] diferentes: [code]0,05[/code] é um " +"[i]ângulo[/i] em radianos, enquanto [code]3,0[/code] é uma [i]velocidade " +"angular[/i] em radianos por segundo.\n" +"\n" +"Quando você multiplica uma velocidade por um delta de tempo, você obtém um " +"ângulo.\n" +"\n" +"Não se preocupe se você estiver um pouco confuso(a) no momento. Com o tempo, " +"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 +msgid "Why the time between frames matters" +msgstr "Por quê o tempo entre os frames é importante" + +#: course/lesson-11-time-delta/lesson.tres:189 +msgid "" +"The time it takes to display a new frame varies.\n" +"\n" +"If you don't take that time into account in your code, your game will have " +"gameplay issues and bugs. Godot provides that time to the [code]_process()[/" +"code] function through the [code]delta[/code] parameter.\n" +"\n" +"In the example below, the top robot moves using [code]delta[/code]. As a " +"result, it moves at a fixed speed.\n" +"\n" +"The bottom robot moves over a constant distance every frame, [i]without[/i] " +"taking [code]delta[/code] into account. It will move faster or slower than " +"the top robot on [i]your[/i] computer.\n" +"\n" +"The bottom robot will move [i]differently for everyone[/i]!" +msgstr "" +"O tempo que leva para exibir um novo frame varia.\n" +"\n" +"Se você não levar esse tempo em consideração em seu código, seu jogo terá " +"problemas de jogabilidade e bugs. A Godot fornece esse tempo para a função " +"[code]_process()[/code] através do parâmetro [code]delta[/code].\n" +"\n" +"No exemplo abaixo, o robô da parte superior se move usando [code]delta[/" +"code]. Como resultado, ele se move a uma velocidade fixa.\n" +"\n" +"O robô da parte inferior se move a uma distância constante a cada frame, " +"[i]sem[/i] levar em consideração [code]delta[/code]. Ele se moverá mais " +"rápido ou mais devagar que o robô da parte superior no [i]seu[/i] " +"computador.\n" +"\n" +"O robô da parte inferior se vai mover [i]diferente para todo mundo[/i]!" + +#: course/lesson-11-time-delta/lesson.tres:217 +msgid "" +"Multiplying time-sensitive values by [code]delta[/code] makes them [b]time-" +"dependent[/b] rather than [b]frame-dependent[/b].\n" +"\n" +"Thanks to that, we get reliable movement over time.\n" +"\n" +"Without [code]delta[/code], frame times vary from computer to computer and " +"during gameplay. Because of that, the movement will differ for every player, " +"making the game inconsistent and messy." +msgstr "" +"A multiplicação de valores sensíveis ao tempo por [code]delta[/code] os " +"torna [b]dependentes do tempo[/b] ao invés de [b]dependentes do frame[/b].\n" +"\n" +"Graças a isso, obtemos um movimento estável ao longo do tempo.\n" +"\n" +"Sem o [code]delta[/code], os tempos de frame variam de computador para " +"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 +msgid "What does this mean?" +msgstr "O que isso significa?" + +#: course/lesson-11-time-delta/lesson.tres:230 +msgid "[code]rotation_speed * delta[/code]" +msgstr "[code]rotation_speed * delta[/code]" + +#: course/lesson-11-time-delta/lesson.tres:232 +msgid "" +"The [code]*[/code] symbol means we're multiplying [code]rotation_speed[/" +"code] by [code]delta[/code] time." +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 +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 +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 +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 +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 +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 +msgid "Rotating Using Delta" +msgstr "Rotacionando Usando Delta" + +#: course/lesson-11-time-delta/lesson.tres:252 +msgid "" +"At the moment, the rotation of the robot is frame-dependent.\n" +"\n" +"Add [code]delta[/code] to make the rotational speed time-dependent.\n" +"\n" +"The robot should rotate [code]2[/code] radians per second." +msgstr "" +"No momento, a rotação do robô depende do frame.\n" +"\n" +"Adicione [code]delta[/code] para tornar a velocidade de rotação dependente " +"do tempo.\n" +"\n" +"O robô deve rotacionar [code]2[/code] radianos por segundo." + +#: course/lesson-11-time-delta/lesson.tres:271 +msgid "Moving in a Circle Using Delta" +msgstr "Movendo em um Círculo Usando Delta" + +#: course/lesson-11-time-delta/lesson.tres:272 +msgid "" +"In this practice, make the robot move in a smooth circle using delta.\n" +"\n" +"To get this movement, the robot should rotate [code]2[/code] radians per " +"second and move [code]100[/code] pixels per second towards clockwise.\n" +"\n" +"[b]Note:[/b] Please write the values in the parentheses when calling the " +"functions. If you define extra variables, we will not be able to check your " +"practice." +msgstr "" +"Neste exercício, faça o robô se mover em um círculo suave usando delta.\n" +"\n" +"Para obter esse movimento, o robô deve girar [code]2[/code] radianos por " +"segundo e mover [code]100[/code] pixels por segundo no sentido horário.\n" +"\n" +"[b]Nota:[/b] Por favor, escreva os valores entre parênteses ao chamar as " +"funções. Se você definir variáveis extras, não poderemos corrigir seu " +"exercício." + +#: course/lesson-11-time-delta/lesson.tres:290 +msgid "Time Delta" +msgstr "Delta de Tempo" diff --git a/i18n/pt_BR/lesson-12-using-variables.po b/i18n/pt_BR/lesson-12-using-variables.po new file mode 100644 index 00000000..fa7933ac --- /dev/null +++ b/i18n/pt_BR/lesson-12-using-variables.po @@ -0,0 +1,298 @@ +# 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 , 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: 2022-03-07 21:03+0100\n" +"PO-Revision-Date: 2022-03-15 13:27+0000\n" +"Last-Translator: Alexandre Vinicius Gonçalves " +"\n" +"Language-Team: Portuguese (Brazil) \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.12-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-12-using-variables/lesson.tres:14 +msgid "" +"In this lesson, we'll make our code easier to follow and understand at a " +"glance.\n" +"\n" +"Take a look at this example." +msgstr "" +"Nessa lição, vamos tornar nosso código mais fácil de seguir e entender " +"rapidamente.\n" +"\n" +"Observe esse exemplo." + +#: course/lesson-12-using-variables/lesson.tres:34 +msgid "In the above example, what does the number 4 mean?" +msgstr "No exemplo acima, o que significa o número 4?" + +#: course/lesson-12-using-variables/lesson.tres:37 +msgid "The code above rotates the character [code]4[/code] radians per second." +msgstr "" +"O código acima rotaciona o personagem [code]4[/code] radianos por segundo." + +#: course/lesson-12-using-variables/lesson.tres:38 +#: course/lesson-12-using-variables/lesson.tres:39 +msgid "It's how fast the character rotates." +msgstr "É o quão rápido o personagem rotaciona." + +#: course/lesson-12-using-variables/lesson.tres:38 +msgid "It's how far the character moves in pixels." +msgstr "É o quão longe o personagem se move em pixels." + +#: course/lesson-12-using-variables/lesson.tres:38 +msgid "It's how long the rotation takes." +msgstr "É a quantidade de tempo que leva a rotação." + +#: course/lesson-12-using-variables/lesson.tres:48 +msgid "" +"We can guess what a number represents by looking at the function names, " +"but it's harder to recall what this number does by quickly looking at the" +" code.\n" +"\n" +"We've seen how different functions have their own names. Using these " +"names communicates to developers what the functions do." +msgstr "" +"Podemos adivinhar o que um número representa observando os nomes das " +"funções, mas é mais difícil de se lembrar o que esse número faz só olhando " +"rapidamente para o código.\n" +"\n" +"Nós vimos como diferentes funções têm seus próprios nomes. O uso desses " +"nomes diz aos desenvolvedores o que as funções fazem." + +#: course/lesson-12-using-variables/lesson.tres:70 +msgid "" +"As we learned in lesson 8, we can also assign labels to numbers to help " +"us remember what they do.\n" +"\n" +"We call these labels [i]variables[/i].\n" +"\n" +"[b]A variable is a label for a value we can save, change, and read " +"later.[/b]\n" +"\n" +"Let's recap how to define a variable." +msgstr "" +"Como aprendemos na lição 8, também podemos atribuir rótulos (nomes) aos " +"números para nos ajudar a lembrar o que eles fazem.\n" +"\n" +"Chamamos esses nomes de [i]variáveis[/i].\n" +"\n" +"[b]Uma variável é um nome que damos para um valor que podemos salvar, " +"alterar e ler mais tarde.[/b]\n" +"\n" +"Vamos revisar como definir uma variável." + +#: course/lesson-12-using-variables/lesson.tres:96 +msgid "" +"We improve the first example to make it clear what the number " +"[code]4[/code] does." +msgstr "" +"Nós melhoramos o primeiro exemplo para deixar claro o que o número " +"[code]4[/code] faz." + +#: course/lesson-12-using-variables/lesson.tres:116 +msgid "" +"Labeling a value makes the code easier for us to read now [i]and[/i] in " +"the future." +msgstr "Nomear um valor facilita a leitura do código agora [i]e[/i] no futuro." + +#: course/lesson-12-using-variables/lesson.tres:124 +msgid "In the above example, which line defines the angular speed variable?" +msgstr "No exemplo acima, qual linha define a variável de velocidade angular?" + +#: course/lesson-12-using-variables/lesson.tres:127 +msgid "" +"We create the [code]angular_speed[/code] variable, then assign it the " +"value of [code]4[/code]." +msgstr "" +"Nós criamos a variável [code]angular_speed[/code] e atribuímos nela ela o " +"valor [code]4[/code]." + +#: course/lesson-12-using-variables/lesson.tres:128 +#: course/lesson-12-using-variables/lesson.tres:129 +msgid "var angular_speed = 4" +msgstr "var angular_speed = 4" + +#: course/lesson-12-using-variables/lesson.tres:128 +msgid "func _process(delta):" +msgstr "func _process(delta):" + +#: course/lesson-12-using-variables/lesson.tres:128 +msgid "rotate(angular_speed * delta)" +msgstr "rotate(angular_speed * delta)" + +#: course/lesson-12-using-variables/lesson.tres:138 +msgid "" +"If we define variables outside of functions, we can re-use them in " +"different functions.\n" +"\n" +"Because any function can use variables we define outside of them, we call" +" these variables [b]script-wide[/b].\n" +"\n" +"Here we use the [code]angular_speed[/code] script-wide variable in both " +"the [code]_process()[/code] function and the " +"[code]set_angular_speed()[/code] function." +msgstr "" +"Se definirmos variáveis fora das funções, podemos reutilizá-las em funções " +"diferentes.\n" +"\n" +"Como qualquer função pode usar variáveis que definimos fora delas, chamamos " +"essas variáveis de [b]script-wide[/b] (ou variáveis de script, ou seja, são " +"variáveis que fazem parte de todo o script, não apenas de um só bloco de " +"código).\n" +"\n" +"Aqui usamos a variável de script [code]angular_speed[/code] na função " +"[code]_process()[/code] e na função [code]set_angular_speed()[/code]." + +#: course/lesson-12-using-variables/lesson.tres:162 +msgid "" +"We can also define variables inside of functions.\n" +"\n" +"We align the variable assignment by indenting to make it part of the " +"function body. Make sure to create the variable before using it!\n" +"\n" +"If we define a variable inside of a function, only that function can use " +"it." +msgstr "" +"Também podemos definir variáveis dentro de funções.\n" +"\n" +"Alinhamos a atribuição de variável recuando ela (fazendo uma indentação) " +"para torná-la parte do corpo da função. Certifique-se de criar a variável " +"antes de usá-la!\n" +"\n" +"Se definirmos uma variável dentro de uma função, somente essa função vai " +"poder usar ela." + +#: course/lesson-12-using-variables/lesson.tres:186 +msgid "" +"The [code]angular_speed[/code] variable only exists inside " +"[code]_process()[/code], because we defined it there. The " +"[code]set_angular_speed()[/code] function can't use it.\n" +"\n" +"Trying to use it there will result in an error.\n" +"\n" +"Here's what this error might look like." +msgstr "" +"A variável [code]angular_speed[/code] só existe dentro da função " +"[code]_process()[/code], porque a definimos lá. A função " +"[code]set_angular_speed()[/code] não pode usá-la.\n" +"\n" +"Tentar usar ela vai resultar em um erro.\n" +"\n" +"Veja aqui como pode ser esse erro." + +#: course/lesson-12-using-variables/lesson.tres:208 +msgid "Where can we define variables?" +msgstr "Onde podemos definir variáveis?" + +#: course/lesson-12-using-variables/lesson.tres:211 +msgid "" +"Functions can use any variables defined outside of functions. These " +"variables are [b]script-wide[/b].\n" +"\n" +"If we define a variable inside of a function, only that function can use " +"it." +msgstr "" +"As funções podem usar quaisquer variáveis definidas fora das funções. Essas " +"variáveis são [b]script-wide[/b] (variáveis de script).\n" +"\n" +"Se definirmos uma variável dentro de uma função, somente essa função poderá " +"usá-la." + +#: course/lesson-12-using-variables/lesson.tres:214 +#: course/lesson-12-using-variables/lesson.tres:215 +msgid "Outside of functions." +msgstr "Fora das funções." + +#: course/lesson-12-using-variables/lesson.tres:214 +#: course/lesson-12-using-variables/lesson.tres:215 +msgid "Inside of functions." +msgstr "Dentro das funções." + +#: course/lesson-12-using-variables/lesson.tres:224 +msgid "" +"Variables are also great at grouping values that control how a character " +"behaves.\n" +"\n" +"Grouping them in this way allows us to easily change them." +msgstr "" +"As variáveis também são ótimas para agrupar valores que controlam como um " +"personagem se comporta.\n" +"\n" +"Agrupá-las dessa maneira nos permite alterá-las facilmente." + +#: course/lesson-12-using-variables/lesson.tres:246 +msgid "" +"In the following practices, we'll define variables and use them with some" +" familiar functions to make our code more readable." +msgstr "" +"Nas práticas a seguir, vamos definir variáveis e as usaremos com algumas " +"funções familiares para tornar nosso código mais legível." + +#: course/lesson-12-using-variables/lesson.tres:254 +msgid "Clarifying Code Using Variables" +msgstr "Esclarecendo o Código Usando Variáveis" + +#: course/lesson-12-using-variables/lesson.tres:255 +msgid "" +"Let's give the [code]4[/code] here a label so we know what it does.\n" +"\n" +"Create a variable called [code]angular_speed[/code] outside of the " +"[code]_process()[/code] function to make it script-wide. This allows us " +"to use it in other functions too.\n" +"\n" +"Then, replace the [code]4[/code] with [code]angular_speed[/code]." +msgstr "" +"Vamos dar um nome ao valor [code]4[/code] aqui para sabermos o que ele faz.\n" +"\n" +"Crie uma variável chamada [code]angular_speed[/code] fora da função " +"[code]_process()[/code] para torná-la uma variável de script. Isso nos " +"permite usá-la em outras funções também.\n" +"\n" +"Em seguida, substitua o [code]4[/code] por [code]angular_speed[/code]." + +#: course/lesson-12-using-variables/lesson.tres:269 +msgid "" +"Using variables to store number values makes code easier to read. Tidy up" +" this function by storing a value in a variable." +msgstr "" +"O uso de variáveis para armazenar valores numéricos facilita a leitura do " +"código. Arrume essa função armazenando um valor em uma variável." + +#: course/lesson-12-using-variables/lesson.tres:274 +msgid "Fixing an Out of Scope Error" +msgstr "Corrigindo um Erro Chamado Fora do Escopo (Out of Scope Error)" + +#: course/lesson-12-using-variables/lesson.tres:275 +msgid "" +"There's something wrong with the code here. Can you see what it is?\n" +"\n" +"Run the code and read the error.\n" +"\n" +"Correct the code so it works as intended." +msgstr "" +"Tem alguma coisa de errado com o código aqui. Você pode ver o que é?\n" +"\n" +"Execute o código e leia o erro.\n" +"\n" +"Corrija o código para que funcione como pretendido." + +#: course/lesson-12-using-variables/lesson.tres:293 +msgid "Uh oh! There's something wrong here. Can you fix it?" +msgstr "Uh oh! Há algo de errado aqui. Você pode consertar isso?" + +#: course/lesson-12-using-variables/lesson.tres:297 +msgid "Using Variables to Make Code Easier to Read" +msgstr "Usando Variáveis para Fazer o Código Mais Fácil de se Ler" diff --git a/i18n/pt_BR/lesson-13-conditions.po b/i18n/pt_BR/lesson-13-conditions.po new file mode 100644 index 00000000..021f2386 --- /dev/null +++ b/i18n/pt_BR/lesson-13-conditions.po @@ -0,0 +1,438 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-13-conditions/lesson.tres:14 +msgid "" +"In previous lessons, we decreased and increased a character's health, but " +"there was no limit to how much health they could have." +msgstr "" +"Nas lições anteriores, nós diminuímos e aumentamos a vida de um personagem, " +"mas não tinha um limite para quanta vida ele poderia ter." + +#: course/lesson-13-conditions/lesson.tres:34 +msgid "" +"As a result, the player could increase their character's health " +"indefinitely, which we do not want." +msgstr "" +"Como resultado, o jogador pode aumentar a vida de seu personagem sem nenhum " +"limite, e não queremos que isso aconteça." + +#: course/lesson-13-conditions/lesson.tres:52 +msgid "What happens to health when we damage our character?" +msgstr "O que acontece com a vida quando nosso personagem leva dano?" + +#: course/lesson-13-conditions/lesson.tres:53 +msgid "" +"Suppose our character has [code]100[/code] health.\n" +"\n" +"What would the value of health be if we called [code]take_damage(25)[/code] " +"[b]five times[/b]?" +msgstr "" +"Vamos supor que nosso personagem tenha [code]100[/code] de vida.\n" +"\n" +"Qual seria o valor da vida se chamássemos a função [code]take_damage(25)[/" +"code] [b]cinco vezes[/b]?" + +#: course/lesson-13-conditions/lesson.tres:57 +msgid "" +"Calling [code]take_damage(25)[/code] five times would subtract a total of " +"[code]125[/code] from [code]100[/code].\n" +"\n" +"100\n" +"75\n" +"50\n" +"25\n" +"0\n" +"-25" +msgstr "" +"Chamar a função [code]take_damage(25)[/code] cinco vezes subtrairia um total " +"de [code]125[/code] de [code]100[/code].\n" +"\n" +"100\n" +"75\n" +"50\n" +"25\n" +"0\n" +"-25" + +#: course/lesson-13-conditions/lesson.tres:65 +#: course/lesson-13-conditions/lesson.tres:66 +msgid "-25" +msgstr "-25" + +#: course/lesson-13-conditions/lesson.tres:65 +msgid "25" +msgstr "25" + +#: course/lesson-13-conditions/lesson.tres:65 +msgid "0" +msgstr "0" + +#: course/lesson-13-conditions/lesson.tres:75 +msgid "" +"We can use conditions to run actions [b]selectively[/b].\n" +"\n" +"Conditions make your code branch into two paths: if the condition is met, " +"the computer will run the corresponding instructions. Otherwise, those " +"instructions will not run at all." +msgstr "" +"Podemos usar condições para executar ações [b]seletivamente[/b], ou seja, " +"podemos escolher executar uma ação ou outra dependendo da condição.\n" +"\n" +"As condições fazem com que seu código se ramifique (ou seja, se divida) em " +"dois caminhos: se a condição for atendida, o computador vai executar as " +"instruções correspondentes. Caso contrário, essas instruções não serão " +"executadas." + +#: course/lesson-13-conditions/lesson.tres:87 +msgid "" +"Video games and other computer programs are full of conditions. For example, " +"game input largely relies on conditions: [i]if[/i] the player presses the " +"button on a gamepad, the character jumps." +msgstr "" +"Jogos e outros programas de computador estão cheios de condições. Por " +"exemplo, os inputs do jogo (a leitura dos botões de controles ou teclados) " +"dependem em grande parte das condições: [i]se[/i] o jogador pressionar o " +"botão em um gamepad, o personagem pula." + +#: course/lesson-13-conditions/lesson.tres:107 +msgid "" +"When the computer checks a condition, this is called [b]to evaluate[/b] a " +"condition. All conditions [b]evaluate[/b] to either [code]true[/code] or " +"[code]false[/code].\n" +"\n" +"Either the player is pressing the button, or not. Either the character is " +"touching an enemy, or not.\n" +"\n" +"In our case, [i]if[/i] the health goes over a maximum value, we want to " +"reset it to the maximum.\n" +"\n" +"To define a condition, we use the [code]if[/code] keyword. We write a line " +"starting with [code]if[/code], [ignore]type the condition to evaluate, and " +"end the line with a colon." +msgstr "" +"Quando o computador verifica uma condição, isso é chamado de [b]avaliar[/b] " +"uma condição. Todas as condições são [b]avaliadas[/b] em [code]true[/code] " +"(verdadeiro) ou [code]false[/code] (falso).\n" +"\n" +"Ou o jogador está pressionando o botão, ou não. Ou o personagem está " +"colidindo com um inimigo, ou não.\n" +"\n" +"No nosso caso, [i]se[/i] a vida ultrapassar um valor máximo, queremos " +"redefinir ela para o máximo (e não deixar ultrapassar esse máximo).\n" +"\n" +"Para definir uma condição, usamos a palavra-chave [code]if[/code]. " +"Escrevemos uma linha começando com [code]if[/code], digitamos a condição a " +"ser avaliada e terminamos a linha com o sinal de dois pontos." + +#: course/lesson-13-conditions/lesson.tres:133 +msgid "" +"Notice the [code]>[/code] comparison sign. We read this symbol as \"greater " +"than\".\n" +"\n" +"We've seen how function definitions use a colon at the end of the first line " +"and nest content inside.\n" +"\n" +"In GDScript, this syntax is a recurring pattern for all code blocks.\n" +"\n" +"The computer knows which instructions belong to the condition because they " +"are indented." +msgstr "" +"Observe o sinal de comparação [code]>[/code]. Nós lemos esse símbolo como " +"\"maior que\".\n" +"\n" +"Vimos como as definições de função usam o sinal de dois pontos no final da " +"primeira linha e aninham o conteúdo dentro dela.\n" +"\n" +"No GDScript, essa sintaxe é um padrão recorrente para todos os blocos de " +"código.\n" +"\n" +"O computador sabe quais instruções pertencem à condição porque elas possuem " +"indentação." + +#: course/lesson-13-conditions/lesson.tres:157 +msgid "Comparisons" +msgstr "Comparações" + +#: course/lesson-13-conditions/lesson.tres:159 +msgid "" +"In the above example, we used the [code]>[/code] syntax to mean \"greater " +"than\".\n" +"\n" +"We can compare numbers in other ways too.\n" +"\n" +"[code]>[/code] means \"greater than\"\n" +"[code]<[/code] means \"less than\"\n" +"[code]==[/code] means \"equal to\"\n" +"[code]!=[/code] means \"not equal to\"\n" +"\n" +"Here's how we might use these in [code]if[/code] statements.\n" +msgstr "" +"No exemplo acima, usamos a sintaxe [code]>[/code] para significar \"maior " +"que\".\n" +"\n" +"Podemos comparar números de outras maneiras também.\n" +"\n" +"[code]>[/code] significa \"maior que\"\n" +"[code]<[/code] significa \"menor que\"\n" +"[code]==[/code] significa \"igual a\"\n" +"[code]!=[/code] significa \"não igual a\" (ou diferente de)\n" +"\n" +"Vamos ver como podemos usar esses símbolos em condições [code]if[/code].\n" + +#: course/lesson-13-conditions/lesson.tres:187 +msgid "What does \"pass\" do in the code?" +msgstr "O que a palavra-chave \"pass\" faz no código?" + +#: course/lesson-13-conditions/lesson.tres:189 +msgid "" +"The [code]pass[/code] keyword prevents errors in our code when a line cannot " +"be empty.\n" +"\n" +"For example, we must have a line of code after a function definition or an " +"[code]if[/code] block. When you don't know what to write yet, you can use " +"the [code]pass[/code] keyword as a placeholder, and Godot won't give any " +"errors.\n" +"\n" +"In the previous example, if there was nothing below the [code]if[/code] " +"lines, Godot would give us an \"Expected an indented block after 'if' \" " +"error." +msgstr "" +"A palavra-chave [code]pass[/code] previne erros no nosso código quando uma " +"linha não pode estar vazia.\n" +"\n" +"Por exemplo, nós precisamos ter uma linha de código depois da definição de " +"uma função ou um bloco [code]if[/code]. Quando você ainda não sabe o que vai " +"escrever, você pode usar a palavra-chave [code]pass[/code] como reserva, e a " +"Godot não vai dar mensagens de erros.\n" +"\n" +"No exemplo anterior, se não houvesse nada abaixo das linhas com " +"[code]if[/code], a Godot iria nos dar o erro \"Esperava-se um bloco " +"indentado após a instrução 'if'\"." + +#: course/lesson-13-conditions/lesson.tres:201 +msgid "Which of these statements are true?" +msgstr "Quais dessas afirmações são verdadeiras?" + +#: course/lesson-13-conditions/lesson.tres:204 +msgid "" +"The comparison [code]3 > 1[/code] means \"three is greater than one\" which " +"is [b]true[/b].\n" +"The comparison [code]2 < 3[/code] means \"two is less than three\" which is " +"[b]true[/b].\n" +"The comparison [code]1 != 3[/code] means \"one is not equal to three\" which " +"is [b]true[/b].\n" +"\n" +"The comparison [code]2 == 1[/code] means \"two is equal to one\" which is " +"[b]false[/b].\n" +"The comparison [code]3 < 1[/code] means \"three is less than one\" which is " +"[b]false[/b]." +msgstr "" +"A comparação [code]3 > 1[/code] significa \"três é maior que um\", que é " +"[b]true[/b].\n" +"A comparação [code]2 < 3[/code] significa \"dois é menor que três\", que é " +"[b]true[/b].\n" +"A comparação [code]1 != 3[/code] significa \"um não é igual a três\", que é " +"[b]true[/b].\n" +"\n" +"A comparação [code]2 == 1[/code] significa \"dois é igual a um\", que é " +"[b]false[/b].\n" +"A comparação [code]3 < 1[/code] significa \"três é menor que um\", que é " +"[b]false[/b]." + +#: course/lesson-13-conditions/lesson.tres:210 +#: course/lesson-13-conditions/lesson.tres:211 +msgid "3 > 1" +msgstr "3 > 1" + +#: course/lesson-13-conditions/lesson.tres:210 +msgid "2 == 1" +msgstr "2 == 1" + +#: course/lesson-13-conditions/lesson.tres:210 +#: course/lesson-13-conditions/lesson.tres:211 +msgid "2 < 3" +msgstr "2 < 3" + +#: course/lesson-13-conditions/lesson.tres:210 +#: course/lesson-13-conditions/lesson.tres:211 +msgid "1 != 3" +msgstr "1 != 3" + +#: course/lesson-13-conditions/lesson.tres:210 +msgid "3 < 1" +msgstr "3 < 1" + +#: course/lesson-13-conditions/lesson.tres:218 +msgid "Or else..." +msgstr "Ou outra coisa..." + +#: course/lesson-13-conditions/lesson.tres:220 +msgid "" +"The [code]if[/code] keyword comes with a complementary [code]else[/code] " +"keyword.\n" +"\n" +"You can write an [code]else[/code] block after an [code]if[/code] block, " +"like so." +msgstr "" +"A palavra-chave [code]if[/code] vem com uma palavra-chave complementar " +"[code]else[/code].\n" +"\n" +"Você pode escrever um bloco [code]else[/code] depois de um bloco [code]if[/" +"code], assim." + +#: course/lesson-13-conditions/lesson.tres:242 +msgid "" +"The [code]else[/code] block will run whenever the condition above it isn't " +"met." +msgstr "" +"O bloco [code]else[/code] será executado sempre que a condição acima não for " +"atendida." + +#: course/lesson-13-conditions/lesson.tres:252 +msgid "" +"In the following practices, we'll use conditions and improve the way our " +"character's health changes so it has limits." +msgstr "" +"Nas práticas a seguir, usaremos condições e vamos melhorar a maneira como a " +"vida do nosso personagem muda para que tenha limites." + +#: course/lesson-13-conditions/lesson.tres:260 +msgid "Using Comparisons" +msgstr "Usando comparações" + +#: course/lesson-13-conditions/lesson.tres:261 +msgid "" +"This series of [code]if[/code] statements is all wrong. Change the " +"comparisons so each comparison matches the instruction below it.\n" +"\n" +"Keep the values and statements as they are; only change the comparison " +"signs.\n" +"\n" +"As a reminder, the comparison signs are:\n" +"[code]\n" +"> greater than\n" +"< less than\n" +"== equal to\n" +"!= not equal to\n" +"[/code]\n" +"\n" +"The line [code]health < 5:[/code] means \"health is less than 5\".\n" +"\n" +"Because [code]health = 100[/code], this is false so [code]print(\"health is " +"greater than five.\")[/code] won't run." +msgstr "" +"Essa série de instruções [code]if[/code] está totalmente errada. Altere as " +"comparações para que cada comparação corresponda à instrução abaixo dela.\n" +"\n" +"Mantenha os valores e declarações como estão; altere apenas os sinais de " +"comparação.\n" +"\n" +"Como lembrete, os sinais de comparação são:\n" +"[code]\n" +"> maior que\n" +"< menor que\n" +"== igual a\n" +"!= diferente de\n" +"[/code]\n" +"\n" +"A linha [code]health < 5:[/code] significa \"vida é menor do que 5\".\n" +"\n" +"Como [code]health = 100[/code], isso é falso, então [code]print(\"vida é " +"maior que cinco.\")[/code] não será executado." + +#: course/lesson-13-conditions/lesson.tres:297 +msgid "" +"Comparing values allows us to make decisions in code. But there's something " +"wrong with these statements.." +msgstr "" +"Comparar valores nos permite tomar decisões no código. Mas há algo de errado " +"com essas declarações .." + +#: course/lesson-13-conditions/lesson.tres:302 +msgid "Limiting Healing" +msgstr "Limitando a Cura" + +#: course/lesson-13-conditions/lesson.tres:303 +msgid "" +"We have a heal function that adds an amount to the character's health.\n" +"\n" +"Add to the function so the character's health is never greater than " +"[code]80[/code]." +msgstr "" +"Temos uma função de cura que adiciona uma certa quantidade na vida do " +"personagem.\n" +"\n" +"Adicione algo na função para que a vida do personagem nunca seja maior que " +"[code]80[/code]." + +#: course/lesson-13-conditions/lesson.tres:315 +msgid "" +"As much as we might like, we don't want our robot to have too much health. " +"Limit how much healing the robot can take." +msgstr "" +"Por mais que queremos isso, não queremos que nosso robô tenha muita vida. " +"Limite a quantidade de cura que o robô pode ter." + +#: course/lesson-13-conditions/lesson.tres:320 +msgid "Preventing Health from Going Below Zero" +msgstr "Evitando que a Vida Fique Abaixo de Zero" + +#: course/lesson-13-conditions/lesson.tres:321 +msgid "" +"When the robot takes damage, its health can be negative.\n" +"\n" +"We might want to display the health number on screen, like in Japanese " +"RPGs.\n" +"\n" +"We don't want negative numbers. We want to stop at zero instead.\n" +"\n" +"Calling the function should reduce [code]health[/code] by [code]amount[/" +"code].\n" +"\n" +"If [code]health[/code] goes below [code]0[/code], set it to [code]0[/code] " +"again." +msgstr "" +"Quando o robô sofre dano, sua saúde pode ficar negativa.\n" +"\n" +"Podemos querer exibir o número de saúde na tela, como nos RPGs japoneses.\n" +"\n" +"Não queremos números negativos. Queremos parar em zero em vez disso.\n" +"\n" +"Chamar a função deve reduzir [code]health[/code] pelo valor de [code]amount[/" +"code].\n" +"\n" +"Se [code]health[/code] ficar abaixo de [code]0[/code], defina-a para " +"[code]0[/code] novamente." + +#: course/lesson-13-conditions/lesson.tres:339 +msgid "" +"Having a negative health value doesn't make a lot of sense. Make sure the " +"robot's health can't go below zero." +msgstr "" +"Ter um valor negativo de vida não faz muito sentido. Certifique-se de que a " +"vida do robô não fique abaixo de zero." + +#: course/lesson-13-conditions/lesson.tres:343 +msgid "Conditions" +msgstr "Condições" diff --git a/i18n/pt_BR/lesson-14-multiplying.po b/i18n/pt_BR/lesson-14-multiplying.po new file mode 100644 index 00000000..3087247d --- /dev/null +++ b/i18n/pt_BR/lesson-14-multiplying.po @@ -0,0 +1,321 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-14-multiplying/lesson.tres:14 +msgid "" +"Our robot's health is always between [code]0[/code] and [code]100[/code].\n" +"\n" +"But as our robot fights, we want to increase its strength and toughness.\n" +"\n" +"When a character levels up, it might deal more damage to enemies, gain new " +"abilities or, in our case, gain more health." +msgstr "" +"A vida do nosso robô está sempre entre [code]0[/code] e [code]100[/code].\n" +"\n" +"Mas enquanto nosso robô luta, queremos aumentar sua força e resistência.\n" +"\n" +"Quando um personagem sobe de nível, pode causar mais dano aos inimigos, " +"ganhar novas habilidades ou, no nosso caso, ganhar mais vida." + +#: course/lesson-14-multiplying/lesson.tres:28 +msgid "" +"We define a [code]level[/code] variable to keep track of the level of the " +"robot. It starts at level one.\n" +"\n" +"When the robot has defeated enough enemies, we call the [code]level_up()[/" +"code] function to increment the robot's level." +msgstr "" +"Definimos uma variável chamada [code]level[/code] para acompanhar o nível do " +"robô. Ele começa no nível um.\n" +"\n" +"Quando o robô derrotar inimigos suficientes, vamos chamar a função " +"[code]level_up()[/code] para aumentar o nível dele." + +#: course/lesson-14-multiplying/lesson.tres:50 +msgid "" +"As we briefly saw in the last lesson, our robot could have a range of " +"variables that could increase when it levels up." +msgstr "" +"Como vimos brevemente na última lição, nosso robô pode ter uma série de " +"variáveis que podem aumentar quando ele sobe de nível." + +#: course/lesson-14-multiplying/lesson.tres:70 +msgid "" +"In this lesson, we'll just focus on increasing the robot's [code]max_health[/" +"code].\n" +"\n" +"The variable [code]max_health[/code] is the maximum amount the robot's " +"[code]health[/code] can be. We change our [code]heal()[/code] function to " +"use this variable." +msgstr "" +"Nessa lição, vamos nos concentrar apenas em aumentar a vida máxima do robô " +"com a variável [code]max_health[/code].\n" +"\n" +"A variável [code]max_health[/code] é a quantidade máxima que a vida do robô (" +"representado pela variável [code]health[/code]) pode ter. Alteramos nossa " +"função [code]heal()[/code] para usar essa variável." + +#: course/lesson-14-multiplying/lesson.tres:92 +msgid "" +"We could add [code]5[/code] to the [code]max_health[/code] every time the " +"robot levels up." +msgstr "" +"Poderíamos adicionar [code]5[/code] na variável [code]max_health[/code] " +"sempre que o robô subir de nível." + +#: course/lesson-14-multiplying/lesson.tres:112 +msgid "" +"This would increase [code]max_health[/code] the same amount every time.\n" +"\n" +"If we graphed [code]max_health[/code], it'd look something like this." +msgstr "" +"Isso aumentaria o [code]max_health[/code] na mesma quantidade todas as " +"vezes.\n" +"\n" +"Se grafássemos [code]max_health[/code], seria algo assim." + +#: course/lesson-14-multiplying/lesson.tres:134 +msgid "" +"This growth is [b]linear[/b].\n" +"\n" +"In our case, we want a feeling of more and more power as the robot levels " +"up.\n" +"\n" +"We want a graph like this." +msgstr "" +"Esse crescimento é [b]linear[/b].\n" +"\n" +"No nosso caso, queremos uma sensação de poder cada vez maior à medida que o " +"robô sobe de nível.\n" +"\n" +"Queremos um gráfico como esse." + +#: course/lesson-14-multiplying/lesson.tres:158 +msgid "" +"This growth is [b]exponential[/b].\n" +"\n" +"With each level, more [code]max_health[/code] is added than the previous " +"level up.\n" +"\n" +"To get the exponential growth, we multiply the [code]max_health[/code] by an " +"amount greater than [code]1[/code] each time the robot levels up.\n" +"\n" +"To multiply values together, we use [code]*[/code]." +msgstr "" +"Esse crescimento é [b]exponencial[/b].\n" +"\n" +"A cada nível, mais [code]max_health[/code] é adicionado comparado com o " +"nível anterior.\n" +"\n" +"Para obter o crescimento exponencial, multiplicamos o [code]max_health[/" +"code] por um valor maior que [code]1[/code] cada vez que o robô sobe de " +"nível.\n" +"\n" +"Para multiplicar valores juntos, usamos o símbolo [code]*[/code]." + +#: course/lesson-14-multiplying/lesson.tres:172 +msgid "What is the value of damage?" +msgstr "Qual o valor do dano?" + +#: course/lesson-14-multiplying/lesson.tres:173 +msgid "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"[/code]" +msgstr "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"[/code]" + +#: course/lesson-14-multiplying/lesson.tres:181 +msgid "" +"We multiply [code]power[/code] by [code]level[/code] using [code]*[/code] to " +"get the result of [code]15[/code]." +msgstr "" +"Multiplicamos [code]power[/code] por [code]level[/code] usando [code]*[/" +"code] para obter o resultado de [code]15[/code]." + +#: course/lesson-14-multiplying/lesson.tres:182 +#: course/lesson-14-multiplying/lesson.tres:183 +msgid "15" +msgstr "15" + +#: course/lesson-14-multiplying/lesson.tres:182 +msgid "9" +msgstr "9" + +#: course/lesson-14-multiplying/lesson.tres:182 +msgid "10" +msgstr "10" + +#: course/lesson-14-multiplying/lesson.tres:192 +msgid "" +"We can use [code]*=[/code] in the same way as [code]-=[/code] and [code]+=[/" +"code]." +msgstr "" +"Nós podemos usar [code]*=[/code] da mesma forma que [code]-=[/code] e " +"[code]+=[/code]." + +#: course/lesson-14-multiplying/lesson.tres:200 +msgid "What is the value of damage now?" +msgstr "Qual é o valor do dano agora?" + +#: course/lesson-14-multiplying/lesson.tres:201 +msgid "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"\tdamage *= 2\n" +"[/code]" +msgstr "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"\tdamage *= 2\n" +"[/code]" + +#: course/lesson-14-multiplying/lesson.tres:210 +msgid "" +"The value of [code]damage[/code] starts as [code]15[/code].\n" +"\n" +"Then, [code]damage *= 2[/code] multiplies it by [code]2[/code] to get " +"[code]30[/code]." +msgstr "" +"O valor de [code]damage[/code] começa com [code]15[/code].\n" +"\n" +"Então, o resultado de [code]damage *= 2[/code] é multiplicado por [code]2[/" +"code] para obter o valor de [code]30[/code]." + +#: course/lesson-14-multiplying/lesson.tres:213 +#: course/lesson-14-multiplying/lesson.tres:214 +msgid "30" +msgstr "30" + +#: course/lesson-14-multiplying/lesson.tres:213 +msgid "13" +msgstr "13" + +#: course/lesson-14-multiplying/lesson.tres:213 +msgid "25" +msgstr "25" + +#: course/lesson-14-multiplying/lesson.tres:223 +msgid "" +"Let's level up our robot and add exponential growth to [code]max_health[/" +"code]." +msgstr "" +"Vamos aumentar o nível do nosso robô e adicionar crescimento exponencial ao " +"[code]max_health[/code]." + +#: course/lesson-14-multiplying/lesson.tres:243 +msgid "" +"In the practices, you'll increase the robot's [code]max_health[/code] and " +"add a special ability to our robot to make it extra tough at high levels." +msgstr "" +"Nas práticas, você vai aumentar o [code]max_health[/code] do robô e vai " +"adicionar uma habilidade especial ao nosso robô para torná-lo ainda mais " +"resistente em níveis mais altos." + +#: course/lesson-14-multiplying/lesson.tres:251 +msgid "Increasing maximum health exponentially" +msgstr "Aumentando a vida máxima exponencialmente" + +#: course/lesson-14-multiplying/lesson.tres:252 +msgid "" +"Let's make the robot stronger when it levels up.\n" +"\n" +"Add to the [code]level_up()[/code] function so it does the following:\n" +"\n" +"- Increases [code]level[/code] by one.\n" +"- Increases [code]max_health[/code] by 10%." +msgstr "" +"Vamos fazer o robô ficar mais forte quando ele subir de nível.\n" +"\n" +"Adicione na função [code]level_up()[/code] alguma coisa para que faça o " +"seguinte:\n" +"\n" +"- Aumentar o nível do [code]level[/code] em um.\n" +"- Aumentar o [code]max_health[/code] em 10%." + +#: course/lesson-14-multiplying/lesson.tres:270 +msgid "" +"We want our robot to increase in strength as it levels up. Let's increase " +"its health exponentially!" +msgstr "" +"Queremos que nosso robô aumente em força à medida que sobe de nível. Vamos " +"aumentar sua vida exponencialmente!" + +#: course/lesson-14-multiplying/lesson.tres:275 +msgid "Reducing damage at higher levels" +msgstr "Reduzindo o dano que o personagem recebe em níveis mais altos" + +#: course/lesson-14-multiplying/lesson.tres:276 +msgid "" +"When our robot's [code]level[/code] is [code]3[/code] or more, we want it to " +"take a lot less damage.\n" +"\n" +"Add to the [code]take_damage()[/code] function so the following happens:\n" +"\n" +"- [code]if[/code] the robot's [code]level[/code] is greater than [code]2[/" +"code], reduce the damage [code]amount[/code] by 50%\n" +"\n" +"The robot is level 3. An enemy is going to attack for 10 damage. This damage " +"should reduce to 5." +msgstr "" +"Quando o [code]nível[/code] do nosso robô for [code]3[/code] ou mais, " +"queremos que ele sofra muito menos danos.\n" +"\n" +"Adicione na função [code]take_damage()[/code] alguma coisa para que aconteça " +"o seguinte:\n" +"\n" +"- [code]se[/code] o [code]level[/code] do robô for maior que [code]2[/code], " +"reduza o [code]amount[/code] (a quantidade) de dano em 50%\n" +"\n" +"O robô é nível 3. Um inimigo vai atacar dando 10 de dano. Este dano deve ser " +"reduzido para 5." + +#: course/lesson-14-multiplying/lesson.tres:299 +msgid "" +"At higher levels, we want our robot to be super tough and take even less " +"damage!" +msgstr "" +"Em níveis mais altos, queremos que nosso robô seja super resistente e sofra " +"ainda menos dano!" + +#: course/lesson-14-multiplying/lesson.tres:303 +msgid "Multiplying" +msgstr "Multiplicando" diff --git a/i18n/pt_BR/lesson-15-modulo.po b/i18n/pt_BR/lesson-15-modulo.po new file mode 100644 index 00000000..e04f401a --- /dev/null +++ b/i18n/pt_BR/lesson-15-modulo.po @@ -0,0 +1,348 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-16-2d-vectors.po b/i18n/pt_BR/lesson-16-2d-vectors.po new file mode 100644 index 00000000..68a9e618 --- /dev/null +++ b/i18n/pt_BR/lesson-16-2d-vectors.po @@ -0,0 +1,305 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-16-2d-vectors/lesson.tres:14 +msgid "" +"Suppose we want to increase the size of the robot when it levels up.\n" +"\n" +"As you may recall, we do this by using the following code." +msgstr "" +"Vamos supor que queremos aumentar o tamanho do robô quando ele subir de " +"nível.\n" +"\n" +"Podemos fazer isso usando o código a seguir." + +#: course/lesson-16-2d-vectors/lesson.tres:36 +msgid "" +"As we talked about in lesson 7, the [code]scale[/code] variable has two sub-" +"variables to it: [code]x[/code] and [code]y[/code].\n" +"\n" +"This is because [code]scale[/code] is a [code]Vector2[/code], which stands " +"for two-dimensional vector. A [code]Vector2[/code] represents 2D coordinates." +msgstr "" +"Como falamos na lição 7, a variável [code]scale[/code] tem duas sub-" +"variáveis: [code]x[/code] e [code]y[/code].\n" +"\n" +"Isso ocorre porque [code]scale[/code] é um [code]Vector2[/code], que " +"significa vetor bidimensional. Um [code]Vector2[/code] representa " +"coordenadas 2D." + +#: course/lesson-16-2d-vectors/lesson.tres:46 +msgid "What are vectors?" +msgstr "O que são vetores?" + +#: course/lesson-16-2d-vectors/lesson.tres:48 +msgid "" +"A vector, in physics, is a quantity with a magnitude and a direction. For " +"example, a force applied to some object, the velocity (speed and direction) " +"of a character, and so on.\n" +"\n" +"We often represent this quantity with an arrow.\n" +"\n" +"In Godot, 2D vectors are a common value type named [code]Vector2[/code],\n" +"\n" +"Unlike plain numbers, they store [i]two[/i] decimal numbers: one for the X " +"coordinate and one for the Y coordinate." +msgstr "" +"Um vetor, em física, é uma quantidade com uma magnitude (tamanho) e uma " +"direção. Por exemplo, um vetor pode representar uma força aplicada a algum " +"objeto, a velocidade (quantidade de deslocamento do objeto e a direção) de " +"um personagem e assim por diante.\n" +"\n" +"Muitas vezes representamos essa quantidade com uma seta.\n" +"\n" +"Na Godot, vetores 2D são um tipo de valor comum chamado [code]Vector2[/" +"code],\n" +"\n" +"Ao contrário de números simples, os vetores armazenam [i]dois[/i] números " +"decimais: um para a coordenada X e outro para a coordenada Y." + +#: course/lesson-16-2d-vectors/lesson.tres:72 +msgid "" +"So far, you've come across two variables in the course which are vectors. " +"Which are they?" +msgstr "" +"Até agora, você se deparou com duas variáveis no curso que são vetores. " +"Quais são elas?" + +#: course/lesson-16-2d-vectors/lesson.tres:75 +msgid "" +"Both [code]scale[/code] and [code]position[/code] have [code]x[/code] and " +"[code]y[/code] sub-variables, so Godot uses a [code]Vector2[/code] to store " +"their values." +msgstr "" +"Tanto [code]scale[/code] quanto [code]position[/code] têm sub-variáveis " +"[code]x[/code] e [code]y[/code], então a Godot usa um [code]Vector2[/code] " +"para armazenar seus valores." + +#: course/lesson-16-2d-vectors/lesson.tres:76 +#: course/lesson-16-2d-vectors/lesson.tres:77 +msgid "scale" +msgstr "scale" + +#: course/lesson-16-2d-vectors/lesson.tres:76 +#: course/lesson-16-2d-vectors/lesson.tres:77 +msgid "position" +msgstr "position" + +#: course/lesson-16-2d-vectors/lesson.tres:76 +msgid "health" +msgstr "health" + +#: course/lesson-16-2d-vectors/lesson.tres:76 +msgid "speed" +msgstr "speed" + +#: course/lesson-16-2d-vectors/lesson.tres:84 +msgid "Vectors are great for games" +msgstr "Vetores são ótimos para jogos" + +#: course/lesson-16-2d-vectors/lesson.tres:86 +msgid "" +"Vectors are [i]essential[/i] in video games.\n" +"\n" +"They allow you to represent a character's movement speed and direction, " +"calculate the distance to a target, and more, with little code.\n" +"\n" +"Take this turtle AI below. You've probably seen games where enemies move " +"like this.\n" +"\n" +"This is done with just seven lines of pure vector calculation code.\n" +"\n" +"The code is a bit too difficult for now, so we'll spare you the details, but " +"this turtle gives you a glimpse of what 2D vectors can do for you and your " +"game projects." +msgstr "" +"Vetores são [i]essenciais[/i] em jogos.\n" +"\n" +"Eles permitem que você represente a velocidade e direção do movimento de um " +"personagem, calcule a distância até um alvo e muito mais, com pouca " +"programação.\n" +"\n" +"Veja essa I.A da tartaruga abaixo. Você provavelmente já viu jogos em que os " +"inimigos se movem assim.\n" +"\n" +"Isso é feito com apenas sete linhas de código de cálculo vetorial puro.\n" +"\n" +"O código é um pouco difícil por enquanto, então vamos poupar os detalhes, " +"mas essa tartaruga já consegue te dar uma ideia do que os vetores 2D podem " +"fazer por você e seus projetos de jogo." + +#: course/lesson-16-2d-vectors/lesson.tres:114 +msgid "" +"We scale the robot again, this time by adding to it directly using a " +"[code]Vector2[/code]. The following code has the same effect as the previous " +"example." +msgstr "" +"Escalonamos o robô novamente, desta vez adicionando diretamente usando um " +"[code]Vector2[/code]. O código a seguir tem o mesmo efeito que o exemplo " +"anterior." + +#: course/lesson-16-2d-vectors/lesson.tres:134 +msgid "" +"Notice how we use parentheses and two arguments inside parentheses, just " +"like other function calls.\n" +"\n" +"We call this a [i]constructor function call[/i]. You can think of it as a " +"special kind of function that creates a particular type of value.\n" +"\n" +"The code [code]Vector2(0.2, 0.2)[/code] constructs a new [code]Vector2[/" +"code] value with its [code]x[/code] set to [code]0.2[/code] and its [code]y[/" +"code] set to [code]0.2[/code], respectively." +msgstr "" +"Observe como usamos parênteses e dois argumentos dentro dos parênteses, " +"assim como outras chamadas de função.\n" +"\n" +"Chamamos isso de [i]chamada de função de construtor[/i]. Você pode pensar " +"nisso como um tipo especial de função que cria um tipo específico de valor.\n" +"\n" +"O código [code]Vector2(0.2, 0.2)[/code] constrói um novo valor de " +"[code]Vector2[/code] com seu [code]x[/code] definido como [code]0.2[/code] e " +"seu [code]y[/code] definido como [code]0.2[/code], respectivamente." + +#: course/lesson-16-2d-vectors/lesson.tres:146 +msgid "Using vectors to change the position" +msgstr "Usando vetores para mudar a posição" + +#: course/lesson-16-2d-vectors/lesson.tres:148 +msgid "" +"We can add and subtract vectors to [code]position[/code] because it's a " +"vector. If we wanted to move our robot to a new relative position, we would " +"add a [code]Vector2[/code] to its [code]position[/code]." +msgstr "" +"Podemos adicionar e subtrair vetores na variável [code]position[/code] " +"porque ela é um vetor. Se quiséssemos mover nosso robô para uma nova posição " +"relativa, adicionaríamos um [code]Vector2[/code] na sua variável " +"[code]position[/code]." + +#: course/lesson-16-2d-vectors/lesson.tres:166 +msgid "How would you move the robot 50 pixels to the left?" +msgstr "Como você moveria o robô 50 pixels para a esquerda?" + +#: course/lesson-16-2d-vectors/lesson.tres:169 +msgid "" +"[code]position -= Vector2(50, 0)[/code] subtracts [code]50[/code] to the sub-" +"variable [code]x[/code], and [code]0[/code] to [code]y[/code].\n" +"\n" +"[code]position.x -= Vector2(50, 0)[/code] tries to subtract a 2D vector to " +"the sub-variable [code]x[/code], which is a decimal number. The value types " +"are incompatible. If you try to do this, you will get an error." +msgstr "" +"[code]position -= Vector2(50, 0)[/code] subtrai [code]50[/code] da sub-" +"variável [code]x[/code] e [code]0[/code] de [code]y[/code].\n" +"\n" +"[code]position.x -= Vector(50, 0)[/code] tenta subtrair um vetor 2D da sub-" +"variável [code]x[/code], que é um número decimal. Os tipos de valores nesse " +"caso são incompatíveis. Se você tentar fazer isso, vai receber um erro." + +#: course/lesson-16-2d-vectors/lesson.tres:172 +#: course/lesson-16-2d-vectors/lesson.tres:173 +msgid "position -= Vector2(50, 0)" +msgstr "position -= Vector2(50, 0)" + +#: course/lesson-16-2d-vectors/lesson.tres:172 +msgid "position.x -= Vector2(50, 0)" +msgstr "position.x -= Vector(50, 0)" + +#: course/lesson-16-2d-vectors/lesson.tres:182 +msgid "" +"In the next few practices, you'll use vectors to change scale and position " +"values." +msgstr "" +"Nas próximas práticas, você vai usar vetores para alterar os valores de " +"escala e posição." + +#: course/lesson-16-2d-vectors/lesson.tres:190 +msgid "Increasing scale using vectors" +msgstr "Aumentando a escala usando vetores" + +#: course/lesson-16-2d-vectors/lesson.tres:191 +msgid "" +"Add a line of code to the [code]level_up()[/code] function to increase the " +"[code]scale[/code] of the robot by [code]Vector2(0.2, 0.2)[/code] every time " +"it levels up." +msgstr "" +"Adicione uma linha de código na função [code]level_up()[/code] para aumentar " +"a [code]scale[/code] do robô em [code]Vector2(0.2, 0.2)[/code] toda vez que " +"ele aumentar de nível." + +#: course/lesson-16-2d-vectors/lesson.tres:202 +msgid "" +"To visually show our robot has gained in strength, let's increase its size " +"every time it levels up. Nothing could go wrong!" +msgstr "" +"Para mostrar visualmente que nosso robô ganhou força, vamos aumentar seu " +"tamanho toda vez que ele subir de nível. Nada poderia dar errado!" + +#: course/lesson-16-2d-vectors/lesson.tres:207 +msgid "Resetting size and position using vectors" +msgstr "Redefinindo tamanho e posição usando vetores" + +#: course/lesson-16-2d-vectors/lesson.tres:208 +msgid "" +"The robot's level has increased a lot, and so has its size!\n" +"\n" +"Let's fix this by resetting the robot's [code]scale[/code] and " +"[code]position[/code] values.\n" +"\n" +"Create a function named [code]reset_robot()[/code] that sets the " +"[code]scale[/code] and [code]position[/code] of the robot.\n" +"\n" +"The [code]x[/code] and [code]y[/code] sub-variables of the robot's " +"[code]scale[/code] need to be [code]1.0[/code].\n" +"\n" +"The robot's [code]position[/code] needs to be [code]Vector2(0, 0)[/code].\n" +"\n" +"As in the previous practice, make sure to use vectors when dealing with " +"scale and position." +msgstr "" +"O nível do robô aumentou muito, assim como seu tamanho!\n" +"\n" +"Vamos corrigir isso redefinindo os valores de [code]scale[/code] e " +"[code]position[/code] do robô.\n" +"\n" +"Crie uma função chamada [code]reset_robot()[/code] que defina as variáveis " +"[code]scale[/code] e [code]position[/code] do robô.\n" +"\n" +"As sub-variáveis [code]x[/code] e [code]y[/code] da [code]scale[/code] do " +"robô precisam ser [code]1.0[/code].\n" +"\n" +"A [code]position[/code] do robô precisa ser [code]Vector2(0, 0)[/code].\n" +"\n" +"Assim como na prática anterior, certifique-se de usar vetores ao lidar com " +"escala e posição." + +#: course/lesson-16-2d-vectors/lesson.tres:227 +msgid "" +"Perhaps increasing the scale every level was a bad idea! Let's restore the " +"robot to the correct size." +msgstr "" +"Talvez aumentar a escala a cada nível tenha sido uma ideia ruim! Vamos fazer " +"o robô voltar para o tamanho correto." + +#: course/lesson-16-2d-vectors/lesson.tres:231 +msgid "2D Vectors" +msgstr "Vetores 2D" diff --git a/i18n/pt_BR/lesson-17-while-loops.po b/i18n/pt_BR/lesson-17-while-loops.po new file mode 100644 index 00000000..c6e80cc0 --- /dev/null +++ b/i18n/pt_BR/lesson-17-while-loops.po @@ -0,0 +1,335 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-17-while-loops/lesson.tres:14 +msgid "" +"You've seen that you can use functions to [i]reuse[/i] code. In this lesson, " +"you'll learn about [b]loops[/b]. Loops help you [i]repeat[/i] code.\n" +"\n" +"To illustrate how loops work, let's take a game board split into a grid.\n" +"\n" +"Our robot can move to neighboring cells by changing a [code]Vector2[/code] " +"variable named [code]cell[/code]. It represents the current cell the robot " +"is in.\n" +"\n" +"When we increase [code]cell.x[/code], the robot moves to the right.\n" +"\n" +"Note that we delay the robot's movement in the app to help you visualize how " +"it moves. The following code would normally move the robot instantly." +msgstr "" +"Você viu que você pode usar funções para [i]reutilizar[/i] código. Nessa " +"lição, você vai aprender sobre [b]loops[/b]. Loops ajudam você a " +"[i]repetir[/i] código.\n" +"\n" +"Para ilustrar como os loops funcionam, vamos pegar um jogo de tabuleiro " +"dividido em uma grade.\n" +"\n" +"Nosso robô pode se mover para células vizinhas alterando uma variável do " +"tipo [code]Vector2[/code] chamada [code]cell[/code]. Ela representa a célula " +"atual que se encontra nosso robô.\n" +"\n" +"Quando aumentamos [code]cell.x[/code], o robô se move para a direita.\n" +"\n" +"Observe que atrasamos o movimento do robô aqui no aplicativo para te ajudar " +"a visualizar como ele se move. Normalmente, o código a seguir moveria o robô " +"instantaneamente." + +#: course/lesson-17-while-loops/lesson.tres:42 +msgid "We can move diagonally by adding a [code]Vector2[/code] directly." +msgstr "" +"Podemos mover na diagonal adicionando um [code]Vector2[/code] diretamente." + +#: course/lesson-17-while-loops/lesson.tres:62 +msgid "" +"The above code works for a pre-defined board with a size of [code]Vector2(3, " +"3)[/code], but the [code]move_to_end()[/code] function wouldn't work if the " +"size of the board was different. \n" +"\n" +"The robot would either stop before the end or go too far.\n" +"\n" +"To implement a general solution for all board sizes, we can repeat the " +"robot's movement until it gets to the end.\n" +"\n" +"For code that repeats, we can use [i]loops[/i]." +msgstr "" +"O código acima funciona para um tabuleiro pré-definido com um tamanho de " +"[code]Vector2(3, 3)[/code], mas a função [code]move_to_end()[/code] não " +"funcionaria se o tamanho do placa fosse diferente.\n" +"\n" +"O robô pararia antes do final ou iria longe demais.\n" +"\n" +"Para implementar uma solução geral para todos os tamanhos de tabuleiro, " +"podemos repetir o movimento do robô até ele chegar no final.\n" +"\n" +"Para código que se repete, podemos usar [i]loops[/i]." + +#: course/lesson-17-while-loops/lesson.tres:76 +msgid "Using while loops to repeat code" +msgstr "Usando loops while para repetir o código" + +#: course/lesson-17-while-loops/lesson.tres:78 +msgid "" +"You can use a [code]while[/code] loop to make the computer repeat a block of " +"code until you meet a specific condition or decide to break from the loop.\n" +"\n" +"Here's how we use a [code]while[/code] loop." +msgstr "" +"Você pode usar um loop [code]while[/code] para fazer o computador repetir um " +"bloco de código até que você atenda a uma condição específica ou decida sair " +"do loop.\n" +"\n" +"Veja como usamos um loop [code]while[/code]." + +#: course/lesson-17-while-loops/lesson.tres:100 +msgid "" +"We use the variable [code]number[/code] to keep track of how many loops the " +"[code]while[/code] loop completes.\n" +"\n" +"Each time we go through the [code]while[/code] loop, we add [code]1[/code] " +"to [code]number[/code].\n" +"\n" +"The [code]while[/code] loop keeps running for as long as the condition is " +"true. In this case, it keeps running while [code]number[/code] is less than " +"[code]4[/code].\n" +"\n" +"You can see that the following code is executed four times in the console." +msgstr "" +"Usamos a variável [code]number[/code] para acompanhar quantos loops o loop " +"[code]while[/code] completa.\n" +"\n" +"Cada vez que passamos pelo loop [code]while[/code], adicionamos [code]1[/" +"code] na variável [code]number[/code].\n" +"\n" +"O loop [code]while[/code] continua executando aquele bloco de código " +"enquanto a condição for verdadeira (while significa \"enquanto\" em Inglês). " +"Nesse caso, ele continua executando enquanto a variável [code]number[/code] " +"for menor que [code]4[/code].\n" +"\n" +"Você pode ver que o código a seguir é executado quatro vezes no console de " +"saída." + +#: course/lesson-17-while-loops/lesson.tres:126 +msgid "" +"Let's apply this to our [code]move_to_end()[/code] function.\n" +"\n" +"This time, we compare the number of loops to the board's width. We go " +"through the loop until we reach the width of the board.\n" +"\n" +"Note that we move the robot until its position is one less than the board's " +"width because we are counting tiles from [code]0[/code].\n" +"\n" +"A board of [code]3[/code] by [code]3[/code] cells would have cell " +"coordinates going from [code]0[/code] to [code]2[/code] on both the X and Y " +"axes." +msgstr "" +"Vamos aplicar isso na nossa função [code]move_to_end()[/code].\n" +"\n" +"Dessa vez, comparamos o número de loops com a largura do tabuleiro. " +"Continuamos no loop até chegarmos na largura do tabuleiro.\n" +"\n" +"Observe que movemos o robô até que sua posição seja um a menos que a largura " +"do tabuleiro, já que começamos a contar do [code]0[/code].\n" +"\n" +"Um tabuleiro de células [code]3[/code] por [code]3[/code] irá ter as " +"coordenadas das células indo de [code]0[/code] a [code]2[/code] em ambos os " +"eixos X e Y." + +#: course/lesson-17-while-loops/lesson.tres:160 +msgid "While loops can cause issues" +msgstr "Loops while podem causar problemas" + +#: course/lesson-17-while-loops/lesson.tres:162 +msgid "" +"If you're not careful, your [code]while[/code] loop can run infinitely. In " +"that case, the application will freeze.\n" +"\n" +"Take a look at this code example." +msgstr "" +"Se você não tomar cuidado, seu loop [code]while[/code] pode ser executado " +"infinitamente. Nesse caso, o aplicativo irá travar.\n" +"\n" +"Dê uma olhada nesse código de exemplo." + +#: course/lesson-17-while-loops/lesson.tres:182 +msgid "What would happen if the computer tried to run the code above?" +msgstr "O que aconteceria se o computador tentasse executar o código acima?" + +#: course/lesson-17-while-loops/lesson.tres:185 +msgid "" +"Because we don't increment [code]number[/code] within the [code]while[/code] " +"loop, it always stays at [code]0[/code].\n" +"\n" +"As a result, the number is always lower than [code]10[/code], so we never " +"break out of the loop.\n" +"\n" +"Since there's no way to exit the [code]while[/code] loop, the computer will " +"attempt to draw squares infinitely, which will freeze the program.\n" +"\n" +"When programs stop responding on your computer, it's often due to an " +"infinite loop!" +msgstr "" +"Como não incrementamos a variável [code]number[/code] dentro do loop " +"[code]while[/code], ela sempre fica em [code]0[/code].\n" +"\n" +"Como resultado, o número dentro da variável é sempre menor que [code]10[/" +"code], então nunca vamos sair do loop.\n" +"\n" +"Como não há como sair do loop [code]while[/code], o computador vai tentar " +"desenhar quadrados infinitamente, o que vai fazer o programa congelar.\n" +"\n" +"Quando os programas param de responder no seu computador, geralmente é " +"devido a um loop infinito!" + +#: course/lesson-17-while-loops/lesson.tres:192 +#: course/lesson-17-while-loops/lesson.tres:193 +msgid "It would draw squares infinitely until the program is terminated" +msgstr "" +"Ele desenharia quadrados infinitamente até que o programa fosse forçado a " +"terminar" + +#: course/lesson-17-while-loops/lesson.tres:192 +msgid "It would draw 10 squares" +msgstr "desenharia 10 quadrados" + +#: course/lesson-17-while-loops/lesson.tres:192 +msgid "It would draw 20 squares" +msgstr "desenharia 20 quadrados" + +#: course/lesson-17-while-loops/lesson.tres:200 +msgid "When to use while loops" +msgstr "Quando usar loops while" + +#: course/lesson-17-while-loops/lesson.tres:202 +msgid "" +"At first, you will not need [code]while[/code] loops often. Even the code we " +"show here has more efficient alternatives.\n" +"\n" +"Also, there's a safer kind of loop, [code]for[/code] loops, which we'll look " +"at in the next lesson.\n" +"\n" +"Yet, [code]while[/code] loops have important intermediate to advanced-level " +"uses, so you at least need to know they exist and how to use them.\n" +"\n" +"We use [code]while[/code] loops every time we need to loop an unknown number " +"of times.\n" +"\n" +"For example, games run in a loop that typically generates sixty images per " +"second until the user closes the game. This is possible thanks to " +"[code]while[/code] loops.\n" +"\n" +"There are other good uses for [code]while[/code] loops:\n" +"\n" +"- Reading and processing a file, like a text document, line by line.\n" +"- Processing a constant stream of data, like someone recording audio with a " +"microphone.\n" +"- Reading code and converting it into instructions the computer " +"understands.\n" +"- Various intermediate to advanced-level algorithms, like finding paths " +"around a map for AI." +msgstr "" +"A princípio, você não vai precisar usar loops [code]while[/code] com muita " +"frequência. Até o código que mostramos aqui tem alternativas mais " +"eficientes.\n" +"\n" +"Além disso, há um tipo de loop mais seguro, loops [code]for[/code], que " +"veremos na próxima lição.\n" +"\n" +"No entanto, os loops [code]while[/code] têm usos intermediários a avançados " +"importantes, portanto, você precisa pelo menos saber que eles existem e como " +"usá-los.\n" +"\n" +"Usamos loops [code]while[/code] toda vez que precisamos repetir algum bloco " +"de código por um número indeterminado de vezes.\n" +"\n" +"Por exemplo, os jogos são executados em um loop que normalmente gera 60 " +"imagens por segundo até que o usuário feche o jogo. Isso é possível graças " +"aos loops [code]while[/code].\n" +"\n" +"Existem outros bons usos para o loop [code]while[/code]:\n" +"\n" +"- Ler e processar um arquivo, como um arquivo de texto por exemplo, linha " +"por linha.\n" +"- Processar um fluxo constante de dados, como alguém gravando áudio com um " +"microfone.\n" +"- Ler códigos e convertê-los em instruções que o computador entenda.\n" +"- Vários algoritmos de nível intermediário a avançado, como encontrar " +"caminhos ao redor de um mapa para Inteligência Artificial." + +#: course/lesson-17-while-loops/lesson.tres:227 +msgid "" +"Let's practice some [code]while[/code] loops, as they're useful to know. " +"It's also an excellent opportunity to practice 2D vectors.\n" +"\n" +"Then, we'll move on to the safer [code]for[/code] loops in the following " +"lesson." +msgstr "" +"Vamos praticar loops [code]while[/code] rapidamente, pois eles são úteis " +"para se conhecer. É também uma excelente oportunidade para praticar vetores " +"2D.\n" +"\n" +"Depois, passaremos para os loops [code]for[/code], que são mais seguros de " +"se usar, na lição a seguir." + +#: course/lesson-17-while-loops/lesson.tres:237 +msgid "Moving to the end of a board" +msgstr "Movendo para o final de um tabuleiro" + +#: course/lesson-17-while-loops/lesson.tres:238 +msgid "" +"Our robot has decided to stand at the top of the board.\n" +"\n" +"Complete the [code]move_to_bottom()[/code] function so the robot moves to " +"the bottom of the board.\n" +"\n" +"The board size is determined by the [code]Vector2[/code] [code]board_size[/" +"code].\n" +"\n" +"The robot's current cell is [code]Vector2(2, 0)[/code]. \n" +"\n" +"Make sure to use a [code]while[/code] loop so the function works for any " +"board size." +msgstr "" +"Nosso robô decidiu ficar na parte de cima do tabuleiro.\n" +"\n" +"Complete a função [code]move_to_bottom()[/code] para que o robô se mova para " +"a parte inferior do tabuleiro.\n" +"\n" +"O tamanho do tabuleiro é determinado pelo [code]Vector2[/code] " +"[code]board_size[/code].\n" +"\n" +"A célula atual do robô é [code]Vector2(2, 0)[/code].\n" +"\n" +"Certifique-se de usar um loop [code]while[/code] para que a função funcione " +"para qualquer tamanho de tabuleiro." + +#: course/lesson-17-while-loops/lesson.tres:256 +msgid "" +"Use a while loop to have our robot move from the top of the board to the " +"bottom." +msgstr "" +"Use um loop while para que nosso robô se mova da parte superior do tabuleiro " +"para a parte inferior." + +#: course/lesson-17-while-loops/lesson.tres:260 +msgid "Introduction to While Loops" +msgstr "Introdução aos loops while" diff --git a/i18n/pt_BR/lesson-18-for-loops.po b/i18n/pt_BR/lesson-18-for-loops.po new file mode 100644 index 00000000..0c5e75ba --- /dev/null +++ b/i18n/pt_BR/lesson-18-for-loops.po @@ -0,0 +1,316 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-18-for-loops/lesson.tres:14 +msgid "" +"In the last lesson, we looked at [code]while[/code] loops. We found they " +"were useful if we don't know how many times we should repeat code. \n" +"\n" +"However, they could result in infinite loops if we're not careful.\n" +"\n" +"The loop below never ends because we never increment [code]number[/code]." +msgstr "" +"Na última lição, vimos os loops [code]while[/code]. Descobrimos que eles são " +"úteis se não soubermos quantas vezes devemos repetir o código. \n" +"\n" +"No entanto, eles podem resultar em loops infinitos se a gente não tomar " +"cuidado.\n" +"\n" +"O loop abaixo nunca termina porque nunca incrementamos a variável " +"[code]number[/code]." + +#: course/lesson-18-for-loops/lesson.tres:38 +msgid "" +"There's a safer and often easier kind of loop: the [code]for[/code] loop.\n" +"\n" +"We'll look at it in this lesson.\n" +"\n" +"Unlike [code]while[/code] loops, [code]for[/code] loops don't run " +"infinitely, so it's much less likely that you'll get bugs in your game. " +"[b]We recommend favoring for loops over while loops because of this[/b].\n" +"\n" +"Let's change the code above to use a [code]for[/code] loop instead.\n" +"\n" +"The loop below will change the [code]cell[/code] three times." +msgstr "" +"Existe um tipo de loop mais seguro e geralmente mais fácil: o loop " +"[code]for[/code].\n" +"\n" +"Vamos ver ele nessa lição.\n" +"\n" +"Ao contrário dos loops [code]while[/code], os loops [code]for[/code] não são " +"executados infinitamente, então é muito menos provável que você tenha bugs " +"em seu jogo. [b]Recomendamos que você dê preferência ao loop for ao invés do " +"loop while por causa disso[/b].\n" +"\n" +"Vamos alterar o código acima para usar um loop [code]for[/code].\n" +"\n" +"O loop abaixo vai mudar a [code]cell[/code] três vezes." + +#: course/lesson-18-for-loops/lesson.tres:66 +msgid "Let's explain what's going on here." +msgstr "Vamos explicar o que está acontecendo aqui." + +#: course/lesson-18-for-loops/lesson.tres:74 +msgid "The range() function" +msgstr "A função range()" + +#: course/lesson-18-for-loops/lesson.tres:76 +msgid "" +"Godot has the helper function [code]range()[/code]. Calling [code]range(n)[/" +"code] creates a list of numbers from [code]0[/code] to [code]n - 1[/code]. \n" +"\n" +"So calling [code]range(3)[/code] outputs the list of numbers [code][0, 1, 2]" +"[/code], and [code]range(5)[/code] outputs [code][0, 1, 2, 3, 4][/code]." +msgstr "" +"A Godot tem a função auxiliar [code]range()[/code]. Chamar " +"[code]range(n)[/code] cria uma lista de números que começa em [code]0[/code] " +"e vai até [code]n - 1[/code].\n" +"\n" +"Então, chamar [code]range(3)[/code] vai gerar a lista de números [code][0, " +"1, 2][/code] e chamar [code]range(5)[/code] vai gerar [code][ 0, 1, 2, 3, " +"4][/code]." + +#: course/lesson-18-for-loops/lesson.tres:86 +msgid "What list of numbers would range(6) create?" +msgstr "Que lista de números a função range(6) criaria?" + +#: course/lesson-18-for-loops/lesson.tres:87 +msgid "What would [code]print(range(6))[/code] print to the console?" +msgstr "O que [code]print(range(6))[/code] imprimiria no console?" + +#: course/lesson-18-for-loops/lesson.tres:89 +msgid "" +"The function [code]range(n)[/code] creates a list of numbers from [code]0[/" +"code] to [code]n - 1[/code]. The output list will start with [code]0[/code] " +"and end with [code]5[/code].\n" +"\n" +"So calling [code]range(6)[/code] will output a list of six numbers which are " +"[code][0, 1, 2, 3, 4, 5][/code].\n" +msgstr "" +"A função [code]range(n)[/code] cria uma lista de números que começa com " +"[code]0[/code] e vai até [code]n - 1[/code]. Essa lista vai começar com " +"[code]0[/code] e vai terminar com [code]5[/code].\n" +"\n" +"Então, chamar [code]range(6)[/code] vai produzir uma lista de seis números " +"que são [code][0, 1, 2, 3, 4, 5][/code].\n" + +#: course/lesson-18-for-loops/lesson.tres:93 +#: course/lesson-18-for-loops/lesson.tres:94 +msgid "[0, 1, 2, 3, 4, 5]" +msgstr "[0, 1, 2, 3, 4, 5]" + +#: course/lesson-18-for-loops/lesson.tres:93 +msgid "[1, 2, 3, 4, 5, 6]" +msgstr "[1, 2, 3, 4, 5, 6]" + +#: course/lesson-18-for-loops/lesson.tres:93 +msgid "[0, 1, 2, 3, 4, 5, 6]" +msgstr "[0, 1, 2, 3, 4, 5, 6]" + +#: course/lesson-18-for-loops/lesson.tres:101 +msgid "How for loops work" +msgstr "Como funcionam os loops for" + +#: course/lesson-18-for-loops/lesson.tres:103 +msgid "" +"In a [code]for[/code] loop, the computer takes each value inside a list, " +"stores it in a temporary variable, and executes the code in the loop once " +"per value." +msgstr "" +"Em um loop [code]for[/code], o computador pega cada valor dentro de uma " +"lista, armazena ele em uma variável temporária e executa o código dentro do " +"bloco do loop uma vez por valor." + +#: course/lesson-18-for-loops/lesson.tres:123 +msgid "" +"In the above example, for each item in the list [code][0, 1, 2][/code], " +"Godot sets [code]number[/code] to the item, then executes the code in the " +"[code]for[/code] loop.\n" +"\n" +"We'll explain arrays more throughly in the next lesson, but notice that " +"[code]number[/code] is just a temporary variable. You create it when " +"defining the loop, and the loop takes care of changing its value. Also, you " +"can name this variable anything you want.\n" +"\n" +"This code behaves the same as the previous example:" +msgstr "" +"No exemplo acima, para cada item na lista [code][0, 1, 2][/code], a Godot " +"define [code]number[/code] para o item, então executa o código dentro do " +"bloco do loop [code]for[/code].\n" +"\n" +"Vamos explicar arrays mais afundo na próxima lição, mas perceba que " +"[code]number[/code] é apenas uma variável temporária. Você a cria ao definir " +"o loop, e o loop muda seu valor por conta própria. Você também pode mudar o " +"nome dessa varável para o que você quiser.\n" +"\n" +"Esse código se comporta da mesma forma que o exemplo anterior:" + +#: course/lesson-18-for-loops/lesson.tres:147 +msgid "" +"In both examples, we print the value of the temporary variable we created: " +"[code]number[/code] in the first example and [code]element[/code] in the " +"second.\n" +"\n" +"As Godot moves through the loop, it assigns each value of the array to that " +"variable. First, it sets the variable to [code]0[/code], then to [code]1[/" +"code], and finally, to [code]2[/code].\n" +"\n" +"We can break down the instructions the loop runs. You can see how a loop is " +"a shortcut to code that otherwise gets very long." +msgstr "" +"Em ambos os exemplos, nós imprimimos o valor da variável temporária que " +"criamos: [code]number[/code] no primeiro exemplo e [code]element[/code] no " +"segundo.\n" +"\n" +"Conforme a Godot percorre o loop, ela atribui cada valor da array para esta " +"variável. Primeiro, ela atribui a variável para [code]0[/code], depois para " +"[code]1[/code], e, por fim, para [code]2[/code].\n" +"\n" +"Nós podemos especificar as instruções executadas pelo loop. Você pode ver " +"que um loop é um atalho para programar que seria muito longo de outra forma." + +#: course/lesson-18-for-loops/lesson.tres:171 +msgid "" +"We can put whatever code we like in the loop's code block, including other " +"function calls like [code]draw_rectangle()[/code]." +msgstr "" +"Podemos colocar qualquer código que quisermos dentro do bloco do loop, " +"incluindo chamadas para outras funções, como [code]draw_rectangle()[/code]." + +#: course/lesson-18-for-loops/lesson.tres:179 +msgid "Using a for loop instead of a while loop" +msgstr "Usando o loop for ao invés do loop while" + +#: course/lesson-18-for-loops/lesson.tres:181 +msgid "" +"Here's our old [code]move_to_end()[/code] function which used a [code]while[/" +"code] loop." +msgstr "" +"Aqui está nossa antiga função [code]move_to_end()[/code] que usava um loop " +"[code]while[/code]." + +#: course/lesson-18-for-loops/lesson.tres:201 +msgid "" +"If we use a [code]for[/code] loop instead, the code becomes a little simpler." +msgstr "" +"Se usarmos um loop [code]for[/code] ao invés do loop while, o código se " +"torna um pouco mais simples." + +#: course/lesson-18-for-loops/lesson.tres:221 +msgid "" +"Rather than constantly checking if the robot reached the end of the board, " +"with the [code]for[/code] loop, we take the board's width beforehand, then " +"move the robot a set amount of times.\n" +"\n" +"The function still works the same. You can execute it below." +msgstr "" +"Ao invés de verificar constantemente se o robô chegou ao final do tabuleiro, " +"com o loop [code]for[/code], pegamos a largura do tabuleiro de antemão e, em " +"seguida, movemos o robô por um determinado número de vezes.\n" +"\n" +"A função ainda funciona da mesma forma. Você pode executar ela abaixo." + +#: course/lesson-18-for-loops/lesson.tres:243 +msgid "" +"In the practices, we'll use [code]for[/code] loops in different ways to get " +"you used to using them." +msgstr "" +"Nas práticas, vamos usar loops [code]for[/code] de diferentes maneiras para " +"que você se acostume a usá-los." + +#: course/lesson-18-for-loops/lesson.tres:251 +msgid "Using a for loop to move to the end of the board" +msgstr "Usando um loop for para mover até o final do tabuleiro" + +#: course/lesson-18-for-loops/lesson.tres:252 +msgid "" +"Once again, the robot has decided to stand at the top of the board.\n" +"\n" +"This time, use a [code]for[/code] loop in the [code]move_to_bottom()[/code] " +"function to have it move to the bottom of the board.\n" +"\n" +"The board size is determined by the [code]Vector2[/code] variable " +"[code]board_size[/code].\n" +"\n" +"The robot's starting cell is [code]Vector2(2, 0)[/code]." +msgstr "" +"Mais uma vez, o robô decidiu ficar na parte superior do tabuleiro.\n" +"\n" +"Dessa vez, use um loop [code]for[/code] na função [code]move_to_bottom()[/" +"code] para que ele se mova para a parte inferior do tabuleiro.\n" +"\n" +"O tamanho do tabuleiro é determinado pela variável [code]board_size[/code] " +"do tipo [code]Vector2[/code].\n" +"\n" +"A célula inicial do robô é [code]Vector2(2, 0)[/code]." + +#: course/lesson-18-for-loops/lesson.tres:268 +msgid "" +"Use a for loop to have our robot move from the top of the board to the " +"bottom." +msgstr "" +"Use um loop for para fazer nosso robô se mover da parte superior do " +"tabuleiro até a parte inferior." + +#: course/lesson-18-for-loops/lesson.tres:273 +msgid "Improving code with a for loop" +msgstr "Melhorando o código com um loop for" + +#: course/lesson-18-for-loops/lesson.tres:274 +msgid "" +"Use a [code]for[/code] loop to remove the duplicate code in the [code]run()[/" +"code] function.\n" +"\n" +"In this practice, we revisit the turtle and drawing rectangles.\n" +"\n" +"With our new knowledge of [code]for[/code] loops, we can condense this code " +"to take up less space and make it easier to modify.\n" +"\n" +"The turtle should draw three squares in a horizontal line. The squares " +"should be 100 pixels apart." +msgstr "" +"Use um loop [code]for[/code] para remover o código duplicado na função " +"[code]run()[/code].\n" +"\n" +"Nessa prática, nós revisitaremos a tartaruga e o desenho de retângulos.\n" +"\n" +"Com nosso novo conhecimento de loops [code]for[/code], podemos condensar " +"esse código para ocupar menos espaço e deixar fácil para fazer alguma " +"modificação caso necessário.\n" +"\n" +"A tartaruga deve desenhar três quadrados em uma linha horizontal. Os " +"quadrados devem estar separados um do outro por 100 pixels." + +#: course/lesson-18-for-loops/lesson.tres:297 +msgid "" +"In the past we had to copy and paste code to draw multiple rectangles. Let's " +"revisit previous code and improve it with a for loop." +msgstr "" +"No passado, tínhamos que copiar e colar código para desenhar vários " +"retângulos. Vamos revisitar um código que vimos antes e melhorá-lo com um " +"loop for." + +#: course/lesson-18-for-loops/lesson.tres:301 +msgid "Introduction to For Loops" +msgstr "Introdução ao Loop For" diff --git a/i18n/pt_BR/lesson-19-creating-arrays.po b/i18n/pt_BR/lesson-19-creating-arrays.po new file mode 100644 index 00000000..77fde6af --- /dev/null +++ b/i18n/pt_BR/lesson-19-creating-arrays.po @@ -0,0 +1,305 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-19-creating-arrays/lesson.tres:13 +msgid "" +"The [code]range()[/code] function we saw in the previous lesson outputs a " +"list of numbers. For example, calling [code]range(3)[/code] produces the " +"list of numbers [code][0, 1, 2][/code]." +msgstr "" +"A função [code]range()[/code] que vimos na lição anterior gera uma lista de " +"números. Por exemplo, chamar [code]range(3)[/code] produz a lista de números " +"[code][0, 1, 2][/code]." + +#: course/lesson-19-creating-arrays/lesson.tres:33 +msgid "" +"A list of values, numbers or otherwise, has a precise name in code: we call " +"it an [i]array[/i]. So we can say calling the [code]range()[/code] function " +"produces an [i]array[/i] of numbers.\n" +"\n" +"We could directly write and use that array inside our [code]for[/code] loop " +"instead of the [code]range()[/code] function. You can run the next function " +"step-by-step to see how it works." +msgstr "" +"Uma lista de valores, seja ela de números ou não, tem um nome preciso em " +"código: nós as chamamos de [i]arrays[/i]. Então podemos dizer que chamar a " +"função [code]range()[/code] produz um [i]array[/i] de números.\n" +"\n" +"Poderíamos escrever e usar diretamente esse array dentro do nosso loop " +"[code]for[/code] ao invés da função [code]range()[/code]. Você pode executar " +"a próxima função passo por passo pra ver como funciona." + +#: course/lesson-19-creating-arrays/lesson.tres:55 +msgid "" +"As you can see, the code still works the same. Notice that when we create a " +"[code]for[/code] loop, we also create a local variable to which the loop " +"assigns one value per iteration. Above, we named it [code]number[/code] " +"because the array we loop over contains three numbers (0, 1, and 2).\n" +"\n" +"But we could name it anything we'd like!" +msgstr "" +"Como você pode ver, o código funciona da mesma forma. Perceba que quando " +"criamos um loop [code]for[/code], nós também criamos uma variável local a " +"qual o loop atribui um valor por iteração. Acima, nós a nomeamos como " +"[code]number[/code] porque a array que estamos acessando contém três números " +"(0, 1 e 2).\n" +"\n" +"Mas poderíamos dar o nome que quiséssemos!" + +#: course/lesson-19-creating-arrays/lesson.tres:77 +msgid "" +"If we \"unwrap\" the [code]for[/code] loop above, we'd get the following " +"code with the exact same behaviour:" +msgstr "" +"Se nós \"desdobrássemos\" o loop [code]for[/code] acima, nós teríamos o " +"seguinte código com o mesmo comportamento:" + +#: course/lesson-19-creating-arrays/lesson.tres:95 +msgid "The syntax of arrays" +msgstr "A sintaxe dos arrays" + +#: course/lesson-19-creating-arrays/lesson.tres:97 +msgid "We write arrays this way in GDScript." +msgstr "Nós escrevemos arrays dessa forma no GDScript." + +#: course/lesson-19-creating-arrays/lesson.tres:117 +msgid "" +"You start with an opening square bracket. Then, you write comma-separated " +"values that compose the array. Finally, you need a closing square bracket to " +"complete the array.\n" +"\n" +"Here are a couple of valid arrays. Notice how you can mix values, and how " +"they don't need to follow one another." +msgstr "" +"Você começa com um colchete de abertura. Em seguida, você escreve valores " +"separados por vírgulas que compõem o array. Finalmente, você precisa de um " +"colchete de fechamento para completar o array.\n" +"\n" +"Aqui estão alguns arrays válidos. Observe como você pode misturar valores e " +"como eles não precisam seguir um ao outro." + +#: course/lesson-19-creating-arrays/lesson.tres:139 +msgid "" +"Because arrays themselves are a value type, just like numbers or " +"[code]Vector2[/code], we can assign arrays to variables to reaccess them " +"later.\n" +"\n" +"That'll come in handy in the next lesson, where we'll use those variables in " +"loops." +msgstr "" +"Como os próprios arrays são um tipo de valor, assim como números ou " +"[code]Vector2[/code], podemos colocar arrays dentro de variáveis para " +"reacessá-los depois.\n" +"\n" +"Isso será útil na próxima lição, onde vamos usar essas variáveis em loops." + +#: course/lesson-19-creating-arrays/lesson.tres:161 +msgid "But first, let's see [i]when[/i] you'd use an array." +msgstr "Mas primeiro, vamos ver [i]quando[/i] você usaria um array." + +#: course/lesson-19-creating-arrays/lesson.tres:169 +msgid "When you use arrays" +msgstr "Quando usar arrays" + +#: course/lesson-19-creating-arrays/lesson.tres:171 +msgid "" +"In computer programming, we use arrays [i]all the time[/i].\n" +"\n" +"Precisely, you'll use them whenever you need to store a [i]list of things[/" +"i].\n" +"\n" +"You always need lists of things in games:\n" +"\n" +"- The player's party in an RPG.\n" +"- The items in the player's inventory.\n" +"- The high scores in an arcade game.\n" +"- The objects in the game world.\n" +"\n" +"All of those and many more rely on arrays." +msgstr "" +"Em programação, usamos arrays [i]o tempo todo[/i].\n" +"\n" +"Precisamente, você os vai usar eles sempre que precisar armazenar uma " +"[i]lista de coisas[/i].\n" +"\n" +"Você sempre precisa de listas de coisas em jogos:\n" +"\n" +"- O grupo de personagens em um RPG.\n" +"- Os itens no inventário do jogador.\n" +"- As pontuações mais altas em um jogo de arcade.\n" +"- Os objetos no mundo do jogo.\n" +"\n" +"Todos esses e muitos mais dependem de arrays." + +#: course/lesson-19-creating-arrays/lesson.tres:190 +msgid "Using arrays to follow a path" +msgstr "Usando arrays para seguir um caminho" + +#: course/lesson-19-creating-arrays/lesson.tres:192 +msgid "" +"Let's look at a widespread use of arrays in games: finding and following a " +"path.\n" +"\n" +"In games, you need allies or monsters to find their way to their target, " +"whether it's the player or some point of interest.\n" +"\n" +"To achieve that, we use [i]pathfinding algorithms[/i]. As the name suggests, " +"those algorithms find the path between two points and allow AIs to traverse " +"the game." +msgstr "" +"Vamos ver um uso bem comum de arrays em jogos: encontrar e seguir um caminho." +"\n" +"\n" +"Em jogos, você precisa que aliados ou monstros encontrem o caminho até o " +"alvo deles, seja o jogador ou algum ponto de interesse.\n" +"\n" +"Para conseguir isso, usamos [i]algoritmos de busca de caminho[/i] (chamado " +"de pathfinding). Como o nome sugere, esses algoritmos encontram o caminho " +"entre dois pontos e permitem que as IAs andem pelo jogo." + +#: course/lesson-19-creating-arrays/lesson.tres:216 +msgid "" +"Many of those algorithms use arrays of [code]Vector2[/code] coordinates to " +"represent the path.\n" +"\n" +"Take this turtle pet. It wants to follow the robot, but there are rocks in " +"the way.\n" +"\n" +"How can we tell it where to walk to reach the robot? With an array!" +msgstr "" +"Muitos desses algoritmos usam arrays de coordenadas do tipo[code]Vector2[/" +"code] para representar o caminho.\n" +"\n" +"Veja essa tartaruga de estimação. Ele quer seguir o robô, mas há pedras no " +"caminho.\n" +"\n" +"Como podemos dizer a ela para onde caminhar até chegar no robô? Com um array!" + +#: course/lesson-19-creating-arrays/lesson.tres:250 +msgid "" +"Every value in the array is a [code]Vector2[/code] and represents a cell the " +"turtle needs to walk through.\n" +"\n" +"Together, all the values in the array represent a path we can draw." +msgstr "" +"Cada valor no array é uma variável do tipo [code]Vector2[/code] e representa " +"a célula que a tartaruga precisa percorrer.\n" +"\n" +"Juntos, todos os valores no array representam um caminho que podemos " +"desenhar." + +#: course/lesson-19-creating-arrays/lesson.tres:272 +msgid "" +"In upcoming lessons, you will see how we can use arrays to store player " +"inventories or design attack combos.\n" +"\n" +"For now, let's practice creating arrays." +msgstr "" +"Nas próximas lições, você vai ver como podemos usar arrays para armazenar " +"inventários de jogadores ou criar combos de ataque.\n" +"\n" +"Por enquanto, vamos praticar a criação de arrays." + +#: course/lesson-19-creating-arrays/lesson.tres:282 +msgid "Walking to the robot" +msgstr "Andando até o robô" + +#: course/lesson-19-creating-arrays/lesson.tres:283 +msgid "" +"The turtle wants to meet the robot! But it cannot find it on its own.\n" +"\n" +"Fill the [code]turtle_path[/code] array with [code]Vector2[/code] " +"coordinates indicating where the turtle should move to avoid the obstacles " +"and arrive safely to the robot.\n" +"\n" +"The turtle can move up, down, left, or right. It cannot move diagonally.\n" +"\n" +"We recommend copying and pasting to fill the array with comma-separated " +"[code]Vector2[/code] values quickly." +msgstr "" +"A tartaruga quer conhecer o robô! Mas não consegue encontrá-lo por conta " +"própria.\n" +"\n" +"Preencha o array [code]turtle_path[/code] com as coordenadas [code]Vector2[/" +"code] indicando onde a tartaruga deve se mover para evitar os obstáculos e " +"chegar com segurança até o robô.\n" +"\n" +"A tartaruga pode se mover para cima, para baixo, para a esquerda ou para a " +"direita. Ele não pode se mover na diagonal.\n" +"\n" +"Recomendamos copiar e colar para preencher o array com valores " +"[code]Vector2[/code] separados por vírgulas." + +#: course/lesson-19-creating-arrays/lesson.tres:298 +msgid "" +"Help the turtle find its way to the robot! Give it a path to follow to reach " +"the robot." +msgstr "" +"Ajude a tartaruga a encontrar o caminho até o robô! Faça um caminho pra ela " +"seguir até alcançar o robô." + +#: course/lesson-19-creating-arrays/lesson.tres:303 +msgid "Selecting units" +msgstr "Selecionando unidades" + +#: course/lesson-19-creating-arrays/lesson.tres:304 +msgid "" +"In this tactical game, the player and computer can select multiple units at " +"once. You need to call the [code]select_units()[/code] function and pass it " +"an array of [code]Vector2[/code] coordinates to know which units to select.\n" +"\n" +"Each [code]Vector2[/code] in the array represents a cell with a unit.\n" +"\n" +"You can pass arrays in function calls as arguments. As an array is a value " +"type the computer recognizes, you can pass the whole array as a single " +"function argument.\n" +"\n" +"Select all units on the board by passing the correct array to the " +"[code]select_units()[/code] function." +msgstr "" +"Nesse jogo tático, o jogador e o computador podem selecionar várias unidades " +"ao mesmo tempo. Você precisa chamar a função [code]select_units()[/code] e " +"passar um array de coordenadas [code]Vector2[/code] para saber quais " +"unidades selecionar.\n" +"\n" +"Cada [code]Vector2[/code] no array representa uma célula com uma unidade.\n" +"\n" +"Você pode passar arrays em chamadas de função como argumentos. Como um array " +"é um tipo de valor que o computador reconhece, você pode passar o array " +"inteiro como um único argumento de função.\n" +"\n" +"Selecione todas as unidades no tabuleiro passando o array correto para a " +"função [code]select_units()[/code]." + +#: course/lesson-19-creating-arrays/lesson.tres:320 +msgid "Write an array to select all units on the board in this strategy game." +msgstr "" +"Escreva um array para selecionar todas as unidades no tabuleiro nesse jogo " +"de estratégia." + +#: course/lesson-19-creating-arrays/lesson.tres:324 +msgid "Creating arrays" +msgstr "Criando arrays" + +#~ msgid "As you can see, the code still works the same." +#~ msgstr "Como você pode ver, o código ainda funciona da mesma forma." diff --git a/i18n/pt_BR/lesson-2-your-first-error.po b/i18n/pt_BR/lesson-2-your-first-error.po new file mode 100644 index 00000000..b7beba52 --- /dev/null +++ b/i18n/pt_BR/lesson-2-your-first-error.po @@ -0,0 +1,185 @@ +# 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 , 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-27 07:50+0000\n" +"Last-Translator: Deolindo \n" +"Language-Team: Portuguese (Brazil) \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-2-your-first-error/lesson.tres:14 +msgid "" +"When you program, you are bound to run into errors. Tons of them.\n" +"\n" +"But you shouldn't worry! On the computer, [b]errors are a good thing[/b].\n" +"\n" +"You will encounter errors, and [i]that's okay[/i]: every programmer does. " +"Especially professionals.\n" +"\n" +"At school, maybe you learned that mistakes are a bad thing. When you code " +"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 "" +"Quando você programa, você está sujeito a cometer erros, um monte deles.\n" +"\n" +"Mas não se preocupe! No computador, [b]erros são coisas boas[/b].\n" +"\n" +"Você vai se deparar com erros, e [i]está tudo bem[/i]: todo programador " +"comete erros. Especialmente profissionais.\n" +"\n" +"Na escola, você pode ter aprendido que erros são coisas ruins. Quando você " +"programa alguma coisa, esse não é o caso: [b]os erros te ajudam a escrever " +"os programas corretamente[/b]." + +#: 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 "" +"Um erro de código se parece com isso aqui. É uma mensagem que fala pra você " +"que uma parte do seu código não está funcionando." + +#: course/lesson-2-your-first-error/lesson.tres:48 +msgid "Making errors friendlier" +msgstr "Tornando os erros mais amigáveis" + +#: course/lesson-2-your-first-error/lesson.tres:50 +msgid "" +"Error messages can look a bit cryptic. This is because they're designed by " +"programmers, for trained programmers.\n" +"\n" +"We added an error translator in this app that will help you get started.\n" +"\n" +"It shows you why an error happens and what the message means. It also gives " +"you some tips on how to fix it." +msgstr "" +"Mensagens de erro podem parecer um pouco enigmáticas. Isso ocorre porque " +"eles foram feito por programadores, para programadores que já são " +"treinados.\n" +"\n" +"Nós adicionamos um tradutor de erro nesse aplicativo que irá te ajudar a " +"começar.\n" +"\n" +"Ele mostra pra você o por que o erro está acontecendo e o que a mensagem " +"significa. Ele também te dá algumas dicas de como resolver o erro." + +#: course/lesson-2-your-first-error/lesson.tres:74 +msgid "" +"Error messages are designed on purpose by fellow programmers who came before " +"you. They anticipated you might have specific issues and wanted to help you " +"fix them.\n" +"\n" +"You shouldn't think of errors as failures. They are like mentors helping you " +"from the past. Importantly, errors won't break your computer. At least not " +"with GDScript because it's a pretty safe language.\n" +"\n" +"Ultimately, you want to fix all the errors in your program. Understanding " +"what is causing the errors, with the help of error messages, is key to " +"fixing them." +msgstr "" +"Mensagens de erro são mensagens criadas por programadores que vieram antes " +"de você. Eles anteciparam que você poderia ter alguns problemas específicos " +"e queriam te ajudar a solucioná-los.\n" +"\n" +"Você não deve pensar que esses erros são falhas que você cometeu. Eles são " +"como mentores que vieram do passado pra te ajudar. E o mais importante, " +"esses erros não vão quebrar seu computador. Pelo menos não com o GDScript, " +"que é uma linguagem bem segura.\n" +"\n" +"O objetivo é corrigir todos os erros do seu programa. Entender a causa " +"deles, com a ajuda das mensagens de erro, é a chave para corrigi-los." + +#: course/lesson-2-your-first-error/lesson.tres:86 +msgid "Are error messages a good or a bad thing in code?" +msgstr "Mensagens de erro são coisas boas ou ruins em um código?" + +#: course/lesson-2-your-first-error/lesson.tres:89 +msgid "" +"Yes, error messages are here to help you!\n" +"\n" +"Pay attention to them, and do your best to read and understand them. With " +"experience, you'll learn to make your code work more reliably thanks to " +"error messages." +msgstr "" +"Sim, as mensagens de erro estão aqui pra te ajudar!\n" +"\n" +"Preste atenção nelas e faça o seu melhor para ler e entender o que elas " +"significam. Com experiência, você vai aprender a fazer o seu código " +"funcionar de forma mais confiável graças às essas mensagens de erro." + +#: course/lesson-2-your-first-error/lesson.tres:92 +msgid "They're bad: error messages are always bad." +msgstr "Elas são ruins: mensagens de erro são sempre ruins." + +#: course/lesson-2-your-first-error/lesson.tres:92 +#: course/lesson-2-your-first-error/lesson.tres:93 +msgid "They're good: they're here to help." +msgstr "Eles são bons: eles estão aqui para ajudar." + +#: course/lesson-2-your-first-error/lesson.tres:102 +msgid "" +"Okay, let's see an error in action. Once again, click the [i]Practice[/i] " +"button below to face your first real error." +msgstr "" +"Certo, vamos ver um erro em ação agora. Mais uma vez, clique no botão " +"[i]Praticar[/i] logo abaixo para você encarar seu primeiro erro." + +#: course/lesson-2-your-first-error/lesson.tres:110 +msgid "Fix Your First Error" +msgstr "Conserte seu primeiro erro" + +#: course/lesson-2-your-first-error/lesson.tres:111 +msgid "" +"This code is incorrect and will cause an error when you try to run it.\n" +"\n" +"The code defines an empty function named [code]this_code_is_wrong[/code].\n" +"\n" +"To work, the function should use the [code]return[/code] keyword. But this " +"keyword is currently inside a comment, which the computer ignores.\n" +"\n" +"Test the current code by pressing the [i]Run[/i] button.\n" +"\n" +"Then, remove the comment sign (#) to make the code valid.\n" +"\n" +"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 "" +"Esse código está errado e vai causar um erro quando você tentar executar " +"ele.\n" +"\n" +"O código define uma função vazia nomeada [code]esse_codigo_esta_errado[/" +"code].\n" +"\n" +"Para funcionar, a função deve usar a palavra-chave [code]return[/code]. Mas " +"essa palavra-chave está, no momento, dentro de um comentário, e comentários " +"o computador ignora.\n" +"\n" +"Teste o código atual clicando no botão [i]Executar[/i].\n" +"\n" +"Após isso, remova o sinal de comentário (#) para fazer o código ser válido.\n" +"\n" +"Cuidado para não remover o espaço em branco antes da palavra-chave " +"[code]return[/code]! Caso contrário, isso vai causar outro erro. Você pode " +"tentar isso também se quiser ver como esse erro é." + +#: course/lesson-2-your-first-error/lesson.tres:131 +msgid "There's an error in this code. We need you to fix it!" +msgstr "Existe um erro nesse código. Precisamos que você conserte ele!" + +#: course/lesson-2-your-first-error/lesson.tres:135 +msgid "Your First Error" +msgstr "Seu primeiro erro" diff --git a/i18n/pt_BR/lesson-20-looping-over-arrays.po b/i18n/pt_BR/lesson-20-looping-over-arrays.po new file mode 100644 index 00000000..dd13d57c --- /dev/null +++ b/i18n/pt_BR/lesson-20-looping-over-arrays.po @@ -0,0 +1,311 @@ +# 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 , 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: 2022-03-26 17:50+0100\n" +"PO-Revision-Date: 2022-03-28 13:16+0000\n" +"Last-Translator: Alexandre Vinicius Gonçalves " +"\n" +"Language-Team: Portuguese (Brazil) \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.12-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-20-looping-over-arrays/lesson.tres:14 +msgid "" +"We used the [code]range()[/code] function in combination with [code]for[/" +"code] loops." +msgstr "" +"Usamos a função [code]range()[/code] em combinação com loops [code]for[/" +"code]." + +#: course/lesson-20-looping-over-arrays/lesson.tres:34 +msgid "" +"The [code]range()[/code] function produced an array that the [code]for[/" +"code] keyword could loop over.\n" +"\n" +"We can give [code]for[/code] loops [i]any[/i] array, and they will loop over " +"them just the same.\n" +"\n" +"Instead of using the [code]range()[/code] function, we could manually write " +"the numbers and get the same result." +msgstr "" +"A função [code]range()[/code] produziu um array no qual a palavra-chave " +"[code]for[/code] poderia fazer um loop.\n" +"\n" +"Podemos fornecer para os loops [code]for[/code] [i]qualquer[/i] array, e " +"eles farão um loop sobre eles da mesma forma.\n" +"\n" +"Ao invés de usar a função [code]range()[/code], poderíamos escrever " +"manualmente os números e obter o mesmo resultado." + +#: course/lesson-20-looping-over-arrays/lesson.tres:58 +msgid "" +"For each element inside the array, the [code]for[/code] loop extracts it, " +"stores it in the temporary variable named [code]number[/code], and executes " +"the loop's code once.\n" +"\n" +"Inside the loop, you can access the [code]number[/code] variable, which " +"changes on each [i]iteration[/i].\n" +"\n" +"The code works regardless of the array or where you store it. Often, you " +"will store arrays in variables for easy access." +msgstr "" +"Para cada elemento dentro do array, o loop [code]for[/code] o extrai, " +"armazena ele na variável temporária chamada [code]number[/code] e executa o " +"código do loop uma vez.\n" +"\n" +"Dentro do loop, você pode acessar a variável [code]number[/code], que muda a " +"cada [i]iteração[/i] (a cada vez que o loop recomeçar).\n" +"\n" +"O código funciona independentemente do array ou de onde você o armazena. " +"Frequentemente, você vai armazenar arrays em variáveis para facilitar o " +"acesso a eles." + +#: course/lesson-20-looping-over-arrays/lesson.tres:80 +msgid "What will this code print?" +msgstr "O que esse código vai imprimir na tela?" + +#: course/lesson-20-looping-over-arrays/lesson.tres:81 +msgid "" +"[code]var numbers = [0, 1, 2]\n" +"for number in numbers:\n" +" print(number)\n" +"[/code]" +msgstr "" +"[code]var numbers = [0, 1, 2]\n" +"for number in numbers:\n" +" print(number)\n" +"[/code]" + +#: course/lesson-20-looping-over-arrays/lesson.tres:86 +msgid "" +"Compared to previous examples, we store the array in the [code]numbers[/" +"code] variable. Using the [code]numbers[/code] variable in our [code]for[/" +"code] loop allows the computer to access the array of numbers like before.\n" +"\n" +"We have three numbers in the array: [code]0[/code], [code]1[/code], and " +"[code]2[/code].\n" +"\n" +"The loop extracts each of them sequentially and assigns it to the " +"[code]number[/code] temporary variable. As the loop processes each number, " +"the output will print [code]0[/code], then [code]1[/code], then [code]2[/" +"code], each on a separate line." +msgstr "" +"Comparado aos exemplos anteriores, armazenamos o array na variável " +"[code]numbers[/code]. Usar a variável [code]numbers[/code] em nosso loop " +"[code]for[/code] permite que o computador acesse o array de números como " +"antes.\n" +"\n" +"Temos três números no array: [code]0[/code], [code]1[/code] e [code]2[/code]." +"\n" +"\n" +"O loop extrai cada um deles sequencialmente e o coloca na variável " +"temporária [code]number[/code]. Como, dentro do loop, imprimimos o número, a " +"saída vai imprimir na tela [code]0[/code], depois [code]1[/code], depois " +"[code]2[/code], cada um em uma linha separada." + +#: course/lesson-20-looping-over-arrays/lesson.tres:91 +#: course/lesson-20-looping-over-arrays/lesson.tres:92 +msgid "0, 1, and 2" +msgstr "0, 1, e 2" + +#: course/lesson-20-looping-over-arrays/lesson.tres:91 +msgid "1, 2, and 3" +msgstr "1, 2, e 3" + +#: course/lesson-20-looping-over-arrays/lesson.tres:91 +msgid "0, 0, and 0" +msgstr "0, 0, e 0" + +#: course/lesson-20-looping-over-arrays/lesson.tres:99 +msgid "Making the turtle walk, with a loop" +msgstr "Fazendo a tartaruga se mover, com um loop" + +#: course/lesson-20-looping-over-arrays/lesson.tres:101 +msgid "" +"In the previous lesson, you made a turtle walk along a path by writing " +"[code]Vector2[/code] coordinates in an array." +msgstr "" +"Na lição anterior, você fez uma tartaruga andar por um caminho escrevendo as " +"coordenadas [code]Vector2[/code] em um array." + +#: course/lesson-20-looping-over-arrays/lesson.tres:121 +msgid "" +"It's a [code]for[/code] loop that makes the turtle walk along the path.\n" +"\n" +"The loop works like this: for each coordinate in the array, it moves the " +"turtle once to that cell." +msgstr "" +"É um loop [code]for[/code] que faz a tartaruga andar pelo caminho.\n" +"\n" +"O loop funciona assim: para cada coordenada no array, ele move a tartaruga " +"uma vez para aquela célula." + +#: course/lesson-20-looping-over-arrays/lesson.tres:143 +msgid "It's the same principle with unit selection." +msgstr "É o mesmo princípio com a seleção de unidades." + +#: course/lesson-20-looping-over-arrays/lesson.tres:163 +msgid "" +"For each coordinate in an array named [code]selected_units[/code], we check " +"if there is a unit in that cell. If so, we select it. \n" +"\n" +"In that case, we use an array, a loop, and a condition together." +msgstr "" +"Para cada coordenada em um array chamado [code]selected_units[/code], " +"verificamos se existe uma unidade naquela célula. Se sim, selecionamos " +"ela. \n" +"\n" +"Nesse caso, usamos um array, um loop e uma condição juntos." + +#: course/lesson-20-looping-over-arrays/lesson.tres:185 +msgid "" +"The code above uses several features you haven't learned yet:\n" +"\n" +"- In a condition, the [code]in[/code] keyword allows you to check if a value " +"exists [i]in[/i] an array.\n" +"- The array's [code]append()[/code] function appends a new value at the end " +"of the array.\n" +"\n" +"Notice the use of a period after the [code]selected_units[/code] variable, " +"to call the [code]append()[/code] function. It's because this function " +"exists only on arrays.\n" +"\n" +"When functions exist only on a specific value type, you write a dot after " +"the value to call the function on it.\n" +"\n" +"We'll revisit those two features again in the following lessons." +msgstr "" +"O código acima usa vários recursos que você ainda não aprendeu:\n" +"\n" +"- Em uma condição, a palavra-chave [code]in[/code] permite verificar se " +"existe um valor [i]dentro[/i] de um array.\n" +"- A função [code]append()[/code] do array adiciona um novo valor no final do " +"array.\n" +"\n" +"Observe o uso de um ponto final após a variável [code]selected_units[/code] " +"para chamar a função [code]append()[/code]. É porque essa função existe " +"apenas em arrays.\n" +"\n" +"Quando as funções existem apenas em um tipo de valor específico, você " +"escreve um ponto final após o valor para chamar a função nele.\n" +"\n" +"Vamos rever esses dois recursos novamente nas lições a seguir." + +#: course/lesson-20-looping-over-arrays/lesson.tres:204 +msgid "" +"The beauty of loops is that they work regardless of the size of your " +"arrays. \n" +"\n" +"The code just works whether you have one or ten thousand units to select. It " +"is all accomplished with only a couple lines of code.\n" +"\n" +"That's the power of computer programming.\n" +"\n" +"In the following practices, you will use arrays combined with [code]for[/" +"code] loops to achieve similar results." +msgstr "" +"A beleza dos loops é que eles funcionam independentemente do tamanho de seus " +"arrays. \n" +"\n" +"O código funciona igualmente se você tiver uma ou 10.000 unidades para " +"selecionar. E isso com apenas algumas linhas de código.\n" +"\n" +"Esse é o poder da programação.\n" +"\n" +"Nas práticas a seguir, você vai usar arrays combinadas com loops " +"[code]for[/code] para obter resultados semelhantes." + +#: course/lesson-20-looping-over-arrays/lesson.tres:218 +msgid "Move the robot along the path" +msgstr "Mova o robô ao longo do caminho" + +#: course/lesson-20-looping-over-arrays/lesson.tres:219 +msgid "" +"Our AI pathfinding algorithm provided a path for the robot to move to the " +"right edge of the grid. Your task is to use a [code]for[/code] loop to make " +"the robot move.\n" +"\n" +"To move the robot, call [i]its[/i] [code]move_to()[/code] function, like so: " +"[code]robot.move_to()[/code].\n" +"\n" +"The [code]move_to()[/code] function only exists on the robot, which is why " +"you need to access it this way." +msgstr "" +"Nosso algoritmo de busca de IA forneceu um caminho para o robô se mover para " +"a borda direita do grid. Sua tarefa é usar um loop [code]for[/code] para " +"fazer o robô se mover.\n" +"\n" +"Para mover o robô, chame a função [code]move_to()[/code] [i]dele[/i], assim: " +"[code]robot.move_to()[/code].\n" +"\n" +"A função [code]move_to()[/code] existe apenas no robô, e é por isso que você " +"precisa acessá-la dessa maneira." + +#: course/lesson-20-looping-over-arrays/lesson.tres:235 +msgid "" +"Our AI pathfinding algorithm is giving us a path to move the robot. Now, you " +"need to make the turtle move along the path." +msgstr "" +"Nosso algoritmo de busca de IA está nos dando um caminho para mover o robô. " +"Agora, você precisa fazer a tartaruga se mover ao longo do caminho." + +#: course/lesson-20-looping-over-arrays/lesson.tres:240 +msgid "Back to the drawing board" +msgstr "De volta à prancheta de planejamento" + +#: course/lesson-20-looping-over-arrays/lesson.tres:241 +msgid "" +"We want to draw many rectangles, something surprisingly common in games.\n" +"\n" +"However, writing this code by hand can get tedious. Instead, you could store " +"the size of your shapes in arrays and use a loop to draw them all in " +"batches.\n" +"\n" +"That's what you'll do in this practice.\n" +"\n" +"Use a [code]for[/code] loop to draw every rectangle in the " +"[code]rectangle_sizes[/code] array with the [code]draw_rectangle()[/code] " +"function.\n" +"\n" +"The rectangles shouldn't overlap or cross each other. To avoid that, you'll " +"need to call the [code]jump()[/code] function." +msgstr "" +"Queremos desenhar muitos retângulos, algo surpreendentemente comum em jogos." +"\n" +"\n" +"Ao escrever o código à mão, torna-se tedioso ao longo do tempo. Ao invés " +"disso, você geralmente vai armazenar o tamanho de suas formas em arrays e " +"usa um loop para desenhá-las em lotes.\n" +"\n" +"Isso é o que você vai fazer nessa prática.\n" +"\n" +"Use um loop [code]for[/code] para desenhar cada retângulo no array " +"[code]rectangle_sizes[/code] com a função [code]draw_rectangle()[/code].\n" +"\n" +"Os retângulos não devem se sobrepor ou se cruzar. Para evitar isso, você vai " +"precisar chamar a função [code]jump()[/code]." + +#: course/lesson-20-looping-over-arrays/lesson.tres:261 +msgid "" +"The drawing turtle makes its comeback. Fear not! Armed with loops, you'll " +"make it draw faster than ever before." +msgstr "" +"A tartaruga que desenha está de volta. Não tenha medo! Armado com loops, " +"você fará com que ela desenhe mais rápido do que nunca." + +#: course/lesson-20-looping-over-arrays/lesson.tres:265 +msgid "Looping over arrays" +msgstr "Fazendo loops dentro dos arrays" diff --git a/i18n/pt_BR/lesson-21-strings.po b/i18n/pt_BR/lesson-21-strings.po new file mode 100644 index 00000000..d0e38e6b --- /dev/null +++ b/i18n/pt_BR/lesson-21-strings.po @@ -0,0 +1,212 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-21-strings/lesson.tres:14 +msgid "" +"Throughout this course, we've mostly stored numbers in variables. But what " +"if we wanted to store a player's name?\n" +"\n" +"This is where strings help us.\n" +"\n" +"Strings are instrumental in games and applications. We use them to display " +"information such as the description of a spell or the name of a character." +msgstr "" +"Ao longo desse curso, armazenamos principalmente números em variáveis. Mas e " +"se quiséssemos armazenar o nome de um jogador?\n" +"\n" +"É aqui que as strings nos ajudam.\n" +"\n" +"Strings são fundamentais em jogos e aplicativos. Nós as usamos para exibir " +"informações como a descrição de um feitiço ou o nome de um personagem." + +#: course/lesson-21-strings/lesson.tres:36 +msgid "What are strings" +msgstr "O que são strings" + +#: course/lesson-21-strings/lesson.tres:38 +msgid "" +"A [code]String[/code] is a value type which holds text. To create a " +"[code]String[/code], you write text wrapped in quotation marks ([code]\"\"[/" +"code]). For example: [code]\"This is a text string.\"[/code]\n" +"\n" +"The quotation marks differentiate strings from other value types and " +"function names.\n" +"\n" +"You may remember we've used strings before in previous lessons." +msgstr "" +"Uma [code]String[/code] é um tipo de valor que contém texto. Para criar uma " +"[code]String[/code], você escreve o texto entre aspas ([code]\"\"[/code]). " +"Por exemplo: [code]\"Esta é uma string de texto.\"[/code]\n" +"\n" +"As aspas diferenciam strings de outros tipos de valores e nomes de funções.\n" +"\n" +"Você deve se lembrar que já usamos strings em lições anteriores." + +#: course/lesson-21-strings/lesson.tres:62 +msgid "" +"Under the hood, strings are arrays of characters. In fact, we can use a " +"[code]for[/code] loop to loop through the characters of a [code]String[/" +"code] as we would with any other array." +msgstr "" +"Na realidade, as strings são arrays de caracteres. Podemos usar um loop " +"[code]for[/code] para percorrer os caracteres de uma [code]String[/code] da " +"mesma forma que fazemos com os arrays normalmente." + +#: course/lesson-21-strings/lesson.tres:80 +msgid "Which of these are strings?" +msgstr "Quais dessas opções são strings?" + +#: course/lesson-21-strings/lesson.tres:83 +msgid "" +"[code]\"1\"[/code] and [code]\"name\"[/code] are strings.\n" +"\n" +"[code]\"1\"[/code] only contains a character and [i]doesn't[/i] represent " +"the number [code]1[/code].\n" +"\n" +"[code]\"name\"[/code] is made up of four different characters." +msgstr "" +"[code]\"1\"[/code] e [code]\"name\"[/code] são strings.\n" +"\n" +"[code]\"1\"[/code] contém apenas um caractere e [i]não[/i] representa o " +"número [code]1[/code].\n" +"\n" +"[code]\"name\"[/code] é composto por quatro caracteres diferentes." + +#: course/lesson-21-strings/lesson.tres:88 +msgid "1" +msgstr "1" + +#: course/lesson-21-strings/lesson.tres:88 +#: course/lesson-21-strings/lesson.tres:89 +msgid "\"1\"" +msgstr "\"1\"" + +#: course/lesson-21-strings/lesson.tres:88 +#: course/lesson-21-strings/lesson.tres:89 +msgid "\"name\"" +msgstr "\"name\"" + +#: course/lesson-21-strings/lesson.tres:96 +msgid "Why we use strings" +msgstr "Por quê usamos strings" + +#: course/lesson-21-strings/lesson.tres:118 +msgid "" +"Every piece of text you see in this app is a string that Godot is displaying " +"for us.\n" +"\n" +"Much like how [code]Vector2[/code] variables make calculations easier, " +"[code]string[/code] variables come with many helper functions and tricks we " +"can use.\n" +"\n" +"We can use arrays to store strings too. This is useful for chaining " +"animations. In this example, the [code]play_animation()[/code] plays a " +"specific animation." +msgstr "" +"Cada pedaço de texto que você vê nesse aplicativo é uma string que a Godot " +"está exibindo para nós.\n" +"\n" +"Assim como as variáveis [code]Vector2[/code] facilitam os cálculos, as " +"variáveis de [code]string[/code] vêm com muitas funções auxiliares e truques " +"que podemos usar.\n" +"\n" +"Podemos usar arrays para armazenar strings também. Isso é útil para encadear " +"animações. Nesse exemplo, o [code]play_animation()[/code] reproduz uma " +"animação específica." + +#: course/lesson-21-strings/lesson.tres:142 +msgid "" +"In the next few practices, we'll use strings in combination with different " +"concepts from earlier lessons." +msgstr "" +"Nas próximas práticas, vamos usar strings em combinação com diferentes " +"conceitos das lições anteriores." + +#: course/lesson-21-strings/lesson.tres:150 +msgid "Creating string variables" +msgstr "Criando variáveis do tipo string" + +#: course/lesson-21-strings/lesson.tres:151 +msgid "" +"Currently, the robot has a number stored in the [code]robot_name[/code] " +"variable. \n" +"\n" +"Change the [code]robot_name[/code] variable so that it's a string instead. " +"You can give it any name you'd like." +msgstr "" +"Atualmente, o robô tem um número armazenado na variável [code]robot_name[/" +"code]. \n" +"\n" +"Altere a variável [code]robot_name[/code] para que seja uma string. Você " +"pode dar o nome que quiser." + +#: course/lesson-21-strings/lesson.tres:163 +msgid "Give the robot a readable name using a string stored in a variable." +msgstr "" +"Dê ao robô um nome legível usando uma string armazenada em uma variável." + +#: course/lesson-21-strings/lesson.tres:168 +msgid "Using an array of strings to play a combo" +msgstr "Usando um array de strings para executar um combo" + +#: course/lesson-21-strings/lesson.tres:169 +msgid "" +"In this practice, we'll chain together animations using an array of strings. " +"You might find such combinations in fighting games.\n" +"\n" +"The robot has the following animation names:\n" +"\n" +"- [code]jab[/code] (makes the robot perform a quick punch)\n" +"- [code]uppercut[/code] (the robot uses a powerful jumping punch)\n" +"\n" +"Populate the combo array with animation names as strings.\n" +"\n" +"Then, for each action in the array, call the [code]play_animation()[/code] " +"function to play them.\n" +"\n" +"The array should contain three values, so the robot makes these three " +"attacks: two jabs followed by one uppercut." +msgstr "" +"Nessa prática, vamos encadear animações usando um array de strings. Você " +"pode encontrar esse tipo de combinações em jogos de luta.\n" +"\n" +"O robô tem animações com os seguintes nomes:\n" +"\n" +"- [code]jab[/code] (faz o robô dar um soco rápido)\n" +"- [code]uppercut[/code] (o robô usa um poderoso soco enquanto pula)\n" +"\n" +"Preencha o array de combos com os nomes das animação como strings.\n" +"\n" +"Em seguida, para cada ação no array, chame a função " +"[code]play_animation()[/code] para reproduzi-las.\n" +"\n" +"O array deve conter três valores, para que o robô faça esses três ataques: " +"dois \"jabs\" seguidos por um \"uppercut\"." + +#: course/lesson-21-strings/lesson.tres:190 +msgid "Define an array of strings to unleash a powerful combo." +msgstr "Defina um array de strings para liberar um combo poderoso." + +#: course/lesson-21-strings/lesson.tres:194 +msgid "Strings" +msgstr "Strings" diff --git a/i18n/pt_BR/lesson-22-functions-return-values.po b/i18n/pt_BR/lesson-22-functions-return-values.po new file mode 100644 index 00000000..4147283d --- /dev/null +++ b/i18n/pt_BR/lesson-22-functions-return-values.po @@ -0,0 +1,263 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-22-functions-return-values/lesson.tres:13 +msgid "" +"Until now, you learned that functions are sequences of instructions you give " +"a name and you can call any time.\n" +"\n" +"On top of that, functions can make calculations and [i]return[/i] new " +"values.\n" +"\n" +"Let's look at some examples to see why it's useful." +msgstr "" +"Até agora, você aprendeu que funções são sequências de instruções que você " +"dá um nome e pode chamar a qualquer momento.\n" +"\n" +"Além disso, as funções podem fazer cálculos e [i]retornar[/i] novos " +"valores.\n" +"\n" +"Vamos ver alguns exemplos para ver por que isso é útil." + +#: course/lesson-22-functions-return-values/lesson.tres:25 +msgid "Built-in functions that return a value" +msgstr "Funções internas prontas que retornam um valor" + +#: course/lesson-22-functions-return-values/lesson.tres:27 +msgid "" +"Many functions built into GDScript make calculations and return a new " +"value.\n" +"\n" +"For example, the [code]round()[/code] function takes a decimal number as an " +"argument and gives you back a new number rounded to the nearest digit." +msgstr "" +"Muitas funções já incorporadas no GDScript fazem cálculos e retornam um novo " +"valor.\n" +"\n" +"Por exemplo, a função [code]round()[/code] recebe um número decimal como " +"argumento e retorna um novo número arredondado para o dígito mais próximo." + +#: course/lesson-22-functions-return-values/lesson.tres:49 +msgid "" +"Imagine you have a game where you track the player's health as a percentage, " +"a decimal number going from [code]0.0[/code] to [code]100.0[/code].\n" +"\n" +"When displaying the health on the interface, you don't want to show the " +"decimal part. In that case, you may use the [code]round()[/code] function, " +"like so." +msgstr "" +"Imagine que você tem um jogo onde você acompanha a vida do jogador como uma " +"porcentagem, um número decimal que vai de [code]0.0[/code] até [code]100." +"0[/code].\n" +"\n" +"Ao exibir a vida na tela, você não quer mostrar a parte decimal do número. " +"Nesse caso, você pode usar a função [code]round()[/code], assim." + +#: course/lesson-22-functions-return-values/lesson.tres:71 +msgid "" +"Notice how we assign the result of the function call to a variable. Because " +"the [code]round()[/code] function returns a [i]new[/i] value, we need to " +"either store the result or use the value immediately.\n" +"\n" +"Above, we assigned it to a variable, but you could also do the following." +msgstr "" +"Observe como atribuímos o resultado da chamada de função a uma variável. " +"Como a função [code]round()[/code] retorna um [i]novo[/i] valor, precisamos " +"armazenar o resultado ou usar o valor imediatamente.\n" +"\n" +"Acima, nós o atribuímos a uma variável, mas você também pode fazer o " +"seguinte." + +#: course/lesson-22-functions-return-values/lesson.tres:93 +msgid "" +"You can assign the return value of a function call if you plan on using it " +"more than once." +msgstr "" +"Você pode atribuir o valor de retorno de uma chamada de função se planeja " +"usá-lo mais de uma vez." + +#: course/lesson-22-functions-return-values/lesson.tres:101 +msgid "A cooler example: lerp()" +msgstr "Um exemplo mais legal: lerp()" + +#: course/lesson-22-functions-return-values/lesson.tres:103 +msgid "" +"The [code]lerp()[/code] function, short for [i]linear interpolate[/i], " +"calculates and returns a weighted average between two values.\n" +"\n" +"It takes three arguments: the two values to average and a value between " +"[code]0.0[/code] and [code]1.0[/code] to skew the result.\n" +"\n" +"In game programming, it's used to animate things moving towards a target " +"with a single line of code." +msgstr "" +"A função [code]lerp()[/code], abreviação de [i]interpolação linear[/i], " +"calcula e retorna uma média entre dois valores.\n" +"\n" +"São necessários três argumentos: os dois valores para a média e um valor " +"entre [code]0.0[/code] e [code]1.0[/code] para distorcer o resultado.\n" +"\n" +"Em programação para jogos, isso é usado para animar coisas que se movem em " +"direção a um alvo com uma única linha de código." + +#: course/lesson-22-functions-return-values/lesson.tres:137 +msgid "" +"Every frame, the code calculates a position somewhere between the turtle and " +"the mouse cursor. The [code]lerp()[/code] function takes care of " +"everything.\n" +"\n" +"It's not the most robust approach for smooth movement, as you'll learn in " +"the future, but it's a helpful function nonetheless." +msgstr "" +"A cada frame, o código calcula uma posição em algum lugar entre a tartaruga " +"e o cursor do mouse. A função [code]lerp()[/code] faz isso tudo por ela " +"mesma.\n" +"\n" +"Não é a abordagem mais robusta para movimentos suaves, como você vai " +"aprender no futuro, mas ainda assim é uma função útil." + +#: course/lesson-22-functions-return-values/lesson.tres:147 +msgid "Writing a function that returns a value" +msgstr "Escrevendo uma função que retorna um valor" + +#: course/lesson-22-functions-return-values/lesson.tres:149 +msgid "" +"You can make [i]your[/i] functions return values.\n" +"\n" +"To make a function return a value, you use the [code]return[/code] keyword " +"followed by the value in question.\n" +"\n" +"In previous lessons, we had characters walking on grids.\n" +"\n" +"And for those practices, you were working directly with cell coordinates.\n" +"\n" +"Well, cell coordinates don't correspond to positions on the screen. To find " +"the center of any cell on the screen, we need to convert the cell's " +"coordinates to a position on the screen, in pixels." +msgstr "" +"Você pode fazer com que [i]suas[/i] funções retornem valores.\n" +"\n" +"Para fazer uma função retornar um valor, você usa a palavra-chave " +"[code]return[/code] seguida do valor em questão.\n" +"\n" +"Nas lições anteriores, tínhamos personagens andando em grades (ou " +"tabuleiros).\n" +"\n" +"E naquelas práticas, você estava trabalhando diretamente com as coordenadas " +"das células.\n" +"\n" +"Bem, as coordenadas das células não correspondem às posições na tela. Para " +"encontrar o centro de uma célula na tela, precisamos converter as " +"coordenadas da célula para uma posição na tela, em pixels." + +#: course/lesson-22-functions-return-values/lesson.tres:177 +msgid "" +"To do so, we use a function. The function does two things:\n" +"\n" +"1. First, it multiplies the cell coordinates by the cell size, which gives " +"us the position of the cell's top-left corner on the screen, in pixels.\n" +"2. Then, we add half of the cell size to get the center of the cell.\n" +"\n" +"The function returns the result, allowing us to store it in a variable." +msgstr "" +"Para fazer isso, usamos uma função. A função faz suas coisas:\n" +"\n" +"1. Primeiro, ela multiplica a coordenada da célula pelo tamanho de célula. " +"Isso nos dá a posição do canto superior esquerdo da célula na tela, em " +"pixels.\n" +"2. Então, nós adicionamos metade do tamanho da célula para calcular o centro " +"da célula.\n" +"\n" +"A função retorna um resultado, o que nos permite armazená-lo em uma variável." + +#: course/lesson-22-functions-return-values/lesson.tres:202 +msgid "" +"The [code]return[/code] keyword returns the value to the code calling the " +"function. You'll receive the result where you call the function." +msgstr "" +"A palavra-chave [code]return[/code] retorna o valor para o código que está " +"chamando a função. Você vai receber o resultado onde chamar a função." + +#: course/lesson-22-functions-return-values/lesson.tres:222 +msgid "" +"Some functions return values, and some do not. During practices, you can " +"learn which functions return a value using the documentation panel. It will " +"display if the practice requires using specific functions or variables.\n" +"\n" +"There, functions that start with the term [code]void[/code] do not return a " +"value. Any other term means the function does return a value. You'll learn " +"more about what other terms mean in a couple of lessons when we explore " +"value [i]types[/i].\n" +"\n" +"For now, let's practice returning values from functions!" +msgstr "" +"Algumas funções retornam valores e outras não. Você pode aprender quais " +"funções retornam um resultado através do painel de documentação na tela de " +"prática. Ele vai mostrar se a prática requer o uso de função ou variáveis " +"específicas.\n" +"\n" +"Lá, as funções que começam com o termo [code]void[/code] não retornam um " +"valor. Qualquer outro termo significa que a função retorna um valor. Você " +"vai aprender mais sobre o significado de outros termos mais pra frente " +"quando explorarmos [i]tipos[/i] de valor.\n" +"\n" +"Por enquanto, vamos praticar o retorno de valores de funções!" + +#: course/lesson-22-functions-return-values/lesson.tres:234 +msgid "Converting coordinates from the grid to the screen" +msgstr "Convertendo coordenadas do grid para a tela" + +#: course/lesson-22-functions-return-values/lesson.tres:235 +msgid "" +"Define a function that converts a position on a grid to the screen.\n" +"\n" +"The function takes a [code]Vector2[/code] cell coordinate as an argument. It " +"should return the corresponding [code]Vector2[/code] screen coordinates at " +"the center of the cell." +msgstr "" +"Defina uma função que converta uma posição de um grid para a tela.\n" +"\n" +"A função recebe as coordenadas de uma célula do tipo [code]Vector2[/code] " +"como argumento. Ela deve retornar as coordenadas de tela do tipo " +"[code]Vector2[/code] no centro da célula." + +#: course/lesson-22-functions-return-values/lesson.tres:249 +msgid "" +"We lost the function to convert grid coordinates, but we desperately need it " +"for our game! Make the turtle move again by coding it." +msgstr "" +"Perdemos a função de converter as coordenadas de grid, mas precisamos " +"desesperadamente dela para o nosso jogo! Faça a tartaruga se mover novamente " +"programando ela." + +#: course/lesson-22-functions-return-values/lesson.tres:253 +msgid "Functions that return a value" +msgstr "Funções que retornam um valor" + +#~ msgid "" +#~ "To do so, we use a function. It multiplies the cell coordinate by the " +#~ "cell size, adds half the cell size to the product, and returns the result." +#~ msgstr "" +#~ "Para fazer isso, usamos uma função. Ela multiplica a coordenada da célula " +#~ "pelo tamanho da célula, adiciona metade do tamanho da célula ao produto e " +#~ "retorna o resultado." diff --git a/i18n/pt_BR/lesson-23-append-to-arrays.po b/i18n/pt_BR/lesson-23-append-to-arrays.po new file mode 100644 index 00000000..eab82c63 --- /dev/null +++ b/i18n/pt_BR/lesson-23-append-to-arrays.po @@ -0,0 +1,313 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2022-06-16 15:17+0000\n" +"Last-Translator: Joel Gomes da Silva \n" +"Language-Team: Portuguese (Brazil) \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.13-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-23-append-to-arrays/lesson.tres:13 +msgid "" +"In previous lessons, you learned how to create arrays to store lists of " +"values and how to loop over them. It's nice, but you won't go far with only " +"that.\n" +"\n" +"The real strength of arrays is that you can add and remove values from them " +"at any time. It allows you to [i]queue[/i] or [i]stack[/i] data." +msgstr "" +"Nas lições anteriores, você aprendeu como criar arrays para armazenar listas " +"de valores e como fazer um loop sobre eles. É útil, mas você não vai longe " +"só com isso.\n" +"\n" +"A verdadeira força dos arrays é que você pode adicionar e remover valores " +"deles a qualquer momento. Ele permite você [i]enfileirar[/i] ou [i]empilhar[/" +"i] dados." + +#: course/lesson-23-append-to-arrays/lesson.tres:25 +msgid "For now, let's take another example." +msgstr "Por enquanto, vamos ver outro exemplo." + +#: course/lesson-23-append-to-arrays/lesson.tres:33 +msgid "Tracking orders in a restaurant management game" +msgstr "Rastreamento de pedidos em um jogo de gerenciamento de restaurante" + +#: course/lesson-23-append-to-arrays/lesson.tres:35 +msgid "" +"You're making a restaurant management game where customers place orders, and " +"you need to handle them as they come.\n" +"\n" +"In this game, customers order meals that end up in a queue. You need to " +"prepare them in the kitchen.\n" +"\n" +"In this example, we simulate orders arriving and getting completed over time." +msgstr "" +"Você está fazendo um jogo de gerenciamento de restaurante onde os clientes " +"fazem pedidos e você precisa lidar com eles à medida que eles chegam.\n" +"\n" +"Nesse jogo, os clientes pedem refeições que acabam em uma fila. Você precisa " +"prepará-las na cozinha.\n" +"\n" +"Nesse exemplo, simulamos pedidos chegando e sendo concluídos ao longo do " +"tempo." + +#: course/lesson-23-append-to-arrays/lesson.tres:59 +msgid "" +"How do you keep track of pending and completed orders? With an array!\n" +"\n" +"When a customer purchases a meal, you want to [i]append[/i] it to the array. " +"Then, as you complete a meal in the kitchen and serve it, you want to remove " +"it from the array.\n" +"\n" +"You can do that with the [code]append()[/code] and the [code]pop_front()[/" +"code] functions of the array, respectively.\n" +"\n" +"Try to read the code below before moving on. Don't worry if not everything " +"makes sense, as we'll break it all down." +msgstr "" +"Como você acompanha os pedidos pendentes e concluídos? Com um array!\n" +"\n" +"Quando um cliente compra uma refeição, você deseja [i]adiciona-la[/i] no " +"array. Então, ao completar uma refeição na cozinha e servi-la, você deseja " +"removê-la do array.\n" +"\n" +"Você pode fazer isso com as funções [code]append()[/code] e [code]pop_front()" +"[/code] do array, respectivamente.\n" +"\n" +"Tente ler o código abaixo antes de prosseguir. Não se preocupe se nem tudo " +"fizer sentido, porque vamos entrar em detalhes para explicar." + +#: course/lesson-23-append-to-arrays/lesson.tres:85 +msgid "" +"Notice how we call some functions by writing a dot after a variable name. " +"Like a given value type can have sub-variables, it can also have its own " +"functions.\n" +"\n" +"Functions like [code]append()[/code] and [code]pop_front()[/code] only exist " +"on arrays. That's why to call them, we need to access it from the array " +"using the dot: [code]array.append()[/code]." +msgstr "" +"Observe como chamamos algumas funções escrevendo um ponto final após o nome " +"de uma variável. Assim como um determinado tipo de valor pode ter sub-" +"variáveis, um array também pode ter suas próprias funções.\n" +"\n" +"Funções como [code]append()[/code] e [code]pop_front()[/code] só existem em " +"arrays. É por isso que para chamá-las, precisamos acessá-las no array usando " +"o ponto final: [code]array.append()[/code]." + +#: course/lesson-23-append-to-arrays/lesson.tres:97 +msgid "" +"Let's break down the code.\n" +"\n" +"We queue orders in the [code]waiting_orders[/code] array by appending them " +"to the array." +msgstr "" +"Vamos analisar em detalhes o código.\n" +"\n" +"Enfileiramos pedidos no array [code]waiting_orders[/code] anexando os " +"pedidos nele." + +#: course/lesson-23-append-to-arrays/lesson.tres:119 +msgid "" +"We can use a string to represent a meal when calling the [code]add_order()[/" +"code] function." +msgstr "" +"Podemos usar uma string para representar uma refeição ao chamar a função " +"[code]add_order()[/code]." + +#: course/lesson-23-append-to-arrays/lesson.tres:139 +msgid "" +"When completing an order, we remove it from the [code]waiting_orders[/code] " +"array by calling its [code]pop_front()[/code] function. This function gives " +"us the order back, which allows us to assign it to a temporary variable." +msgstr "" +"Ao concluir um pedido, nós o removemos do array [code]waiting_orders[/code] " +"chamando sua função [code]pop_front()[/code]. Essa função nos devolve o " +"pedido, o que nos permite atribuí-lo a uma variável temporária." + +#: course/lesson-23-append-to-arrays/lesson.tres:159 +msgid "" +"We can then append the order to our [code]completed_orders[/code] array." +msgstr "" +"Podemos então anexar o pedido ao nosso array [code]completed_orders[/code]." + +#: course/lesson-23-append-to-arrays/lesson.tres:179 +msgid "" +"We call arrays like [code]waiting_orders[/code] a [i]queue[/i]: the first " +"element we append to the array is the first one we remove." +msgstr "" +"Chamamos arrays como [code]waiting_orders[/code] de [i]queue[/i]: o primeiro " +"elemento que anexamos ao array é o primeiro que removemos." + +#: course/lesson-23-append-to-arrays/lesson.tres:187 +msgid "What does #... mean?" +msgstr "O que significa #...?" + +#: course/lesson-23-append-to-arrays/lesson.tres:189 +msgid "" +"We write [code]#...[/code] to represent ellipses in the code. It means " +"\"we're completing the function's code.\" We use that to break down code " +"examples and make them easier to learn from.\n" +"\n" +"The hash sign itself marks the start of a code comment. It's a line the " +"computer will ignore, which is why it typically appears in grey." +msgstr "" +"Escrevemos [code]#...[/code] para representar elipses no código. Significa " +"\"estamos completando o código da função\". Usamos isso para detalhar " +"exemplos de código e torná-los mais fáceis de aprender.\n" +"\n" +"O próprio sinal de hash (jogo da velha) marca o início de um comentário de " +"código. É uma linha que o computador vai ignorar, e é por isso que " +"normalmente aparece em cinza." + +#: course/lesson-23-append-to-arrays/lesson.tres:199 +msgid "Using arrays as stacks" +msgstr "Usando arrays como stacks (empilhamento de dados)" + +#: course/lesson-23-append-to-arrays/lesson.tres:201 +msgid "" +"Another common use of arrays is [i]stacks[/i] of data.\n" +"\n" +"Take a factory management game where you need to retrieve materials from " +"stacks of crates. They arrive at the factory piled up vertically, and you " +"need to take them from top to bottom." +msgstr "" +"Outro uso comum de arrays são [i]stacks[/i] (ou empilhamento) de dados.\n" +"\n" +"Imagine um jogo de gerenciamento de fábrica onde você precisa recuperar " +"materiais de um pilha de caixas. Elas chegam na fábrica empilhadas " +"verticalmente, e você precisa pegá-las de cima para baixo." + +#: course/lesson-23-append-to-arrays/lesson.tres:223 +msgid "" +"To take a crate from the back of the array, this time, we use the " +"[code]pop_back()[/code] array function.\n" +"\n" +"This function removes (pops) the last value from the array and returns it to " +"you.\n" +"\n" +"Here we pop the last value of the array and print what's left of the array " +"to demonstrate how the array gets smaller." +msgstr "" +"Para pegar uma caixa da parte de trás do array, dessa vez, usamos a função " +"array [code]pop_back()[/code].\n" +"\n" +"Essa função remove (a palavra 'pop' da função significa remover) o último " +"valor do array e o retorna para você.\n" +"\n" +"Aqui retiramos o último valor do array e imprimimos o que resta do array " +"para demonstrar como o array ficou menor." + +#: course/lesson-23-append-to-arrays/lesson.tres:247 +msgid "" +"Like [code]pop_front()[/code], the function returns the value removed from " +"the array. You will often store that value in a variable.\n" +"\n" +"The value in question could be the crate's content, which you can then use " +"to give resources to the player.\n" +"\n" +"In the following practices, you will use the [code]append()[/code], " +"[code]pop_front()[/code], and [code]pop_back()[/code] array functions." +msgstr "" +"Assim como [code]pop_front()[/code], a função retorna o valor removido do " +"array. Muitas vezes, você vai armazenar esse valor em uma variável.\n" +"\n" +"O valor em questão pode ser o conteúdo da caixa, que você pode usar para " +"fornecer recursos ao jogador.\n" +"\n" +"Nas práticas a seguir, você vai usar as funções do array [code]append()[/" +"code], [code]pop_front()[/code] e [code]pop_back()[/code]." + +#: course/lesson-23-append-to-arrays/lesson.tres:259 +msgid "Completing orders" +msgstr "Concluindo pedidos" + +#: course/lesson-23-append-to-arrays/lesson.tres:260 +msgid "" +"The [code]waiting_orders[/code] array will be filled over time.\n" +"\n" +"Your job is to move orders from the waiting list to the " +"[code]completed_orders[/code] list using the array's [code]append()[/code] " +"and [code]pop_front()[/code] functions.\n" +"\n" +"Remember that the array's [code]pop_front()[/code] function returns the " +"popped value, which allows you to store it in a variable and then pass it to " +"another function." +msgstr "" +"O array [code]waiting_orders[/code] vai ficar cheio com o tempo.\n" +"\n" +"Seu trabalho é mover pedidos da lista de espera para a lista " +"[code]completed_orders[/code] usando as funções [code]append()[/code] e " +"[code]pop_front()[/code] do array.\n" +"\n" +"Lembre-se de que a função [code]pop_front()[/code] do array retorna o valor " +"removido, que te permite armazená-lo em uma variável e depois passá-lo para " +"outra função." + +#: course/lesson-23-append-to-arrays/lesson.tres:277 +msgid "" +"Orders are piling up in the kitchen, and we need to clear them fast using " +"the array's [code]pop_front()[/code] function." +msgstr "" +"Os pedidos estão se acumulando na cozinha e precisamos completa-los " +"rapidamente usando a função [code]pop_front()[/code] do array." + +#: course/lesson-23-append-to-arrays/lesson.tres:282 +msgid "Clearing up the crates" +msgstr "Limpando as caixas" + +#: course/lesson-23-append-to-arrays/lesson.tres:283 +msgid "" +"Crates are piling up on the platform. Move them out of the way by popping " +"them from the [code]crates[/code] array.\n" +"\n" +"You need to remove them from top to bottom using the array's [code]pop_back()" +"[/code] function.\n" +"\n" +"Your code should remove all the crates in the array using a while loop.\n" +"\n" +"[b]Careful![/b] if you run a while loop carelessly, you can lock the " +"software.\n" +"\n" +"You can check if the [code]crates[/code] array still contains values by " +"writing [code]while crates:[/code]" +msgstr "" +"As caixas estão se acumulando na plataforma. Tire-as do caminho removendo " +"elas do array [code]crates[/code].\n" +"\n" +"Você precisa removê-las de cima para baixo usando a função " +"[code]pop_back()[/code] do array.\n" +"\n" +"Seu código deve remover todas as caixas do array usando um loop while.\n" +"\n" +"[b]Cuidado![/b] se você executar um loop while de forma descuidada, poderá " +"travar o aplicativo.\n" +"\n" +"Você pode checar se o array [code]crates[/code] ainda contém valores " +"escrevendo [code]while crates:[/code]" + +#: course/lesson-23-append-to-arrays/lesson.tres:303 +msgid "" +"Crates are piling up on the platform. Move them out of the way by popping " +"them from their array." +msgstr "" +"As caixas estão se acumulando na plataforma. Mova elas para fora do caminho, " +"tirando-as do array." + +#: course/lesson-23-append-to-arrays/lesson.tres:307 +msgid "Appending and popping values from arrays" +msgstr "Anexando e removendo valores de arrays" diff --git a/i18n/pt_BR/lesson-24-access-array-indices.po b/i18n/pt_BR/lesson-24-access-array-indices.po new file mode 100644 index 00000000..debd6143 --- /dev/null +++ b/i18n/pt_BR/lesson-24-access-array-indices.po @@ -0,0 +1,272 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2022-03-28 13:16+0000\n" +"Last-Translator: Alexandre Vinicius Gonçalves \n" +"Language-Team: Portuguese (Brazil) \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.12-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-24-access-array-indices/lesson.tres:14 +msgid "" +"You learned to loop over all the values in an array using the [code]for[/" +"code] keyword." +msgstr "" +"Você aprendeu a fazer um loop sobre todos os valores em um array usando a " +"palavra-chave [code]for[/code]." + +#: course/lesson-24-access-array-indices/lesson.tres:34 +msgid "" +"But what if you need to access the third item in the player's inventory? The " +"tenth item?\n" +"\n" +"There's a dedicated notation to access one element in an array by index.\n" +"\n" +"To do so, you use square brackets with a number inside the brackets." +msgstr "" +"Mas e se você precisar acessar o terceiro item no inventário do jogador? O " +"décimo item?\n" +"\n" +"Há uma notação dedicada para acessar um elemento em um array por índice.\n" +"\n" +"Para fazer isso, você usa colchetes com um número dentro dos colchetes." + +#: course/lesson-24-access-array-indices/lesson.tres:58 +msgid "Index zero is the [i]first[/i] element in the array." +msgstr "O índice zero é o [i]primeiro[/i] elemento no array." + +#: course/lesson-24-access-array-indices/lesson.tres:78 +msgid "" +"Index one is the [i]second[/i] element in the array, and so on.\n" +"\n" +"You would access the [i]fourth[/i] element in the [code]inventory[/code] " +"array like so." +msgstr "" +"O índice número um é o [i]segundo[/i] elemento no array e assim por diante.\n" +"\n" +"Você acessaria o [i]quarto[/i] elemento no array [code]inventory[/code] " +"assim." + +#: course/lesson-24-access-array-indices/lesson.tres:98 +msgid "" +"How would you access the [i]third[/i] item in the [code]inventory[/code] " +"array?" +msgstr "" +"Como você acessaria o [i]terceiro[/i] item no array [code]inventory[/code]?" + +#: course/lesson-24-access-array-indices/lesson.tres:101 +msgid "" +"Indices start at zero, so the index of the [i]third[/i] item is [code]2[/" +"code]. That's why you need to write [code]inventory[2][/code]." +msgstr "" +"Os índices começam em zero, então o índice do [i]terceiro[/i] item é " +"[code]2[/code]. É por isso que você precisa escrever [code]inventory[2][/" +"code]." + +#: course/lesson-24-access-array-indices/lesson.tres:102 +#: course/lesson-24-access-array-indices/lesson.tres:103 +msgid "inventory[2]" +msgstr "inventory[2]" + +#: course/lesson-24-access-array-indices/lesson.tres:102 +msgid "inventory[3]" +msgstr "inventory[3]" + +#: course/lesson-24-access-array-indices/lesson.tres:110 +msgid "Accessing the last values with negative indices" +msgstr "Acessando os últimos valores com índices negativos" + +#: course/lesson-24-access-array-indices/lesson.tres:112 +msgid "" +"What if you want to access the last or second-before-last item in the " +"[code]inventory[/code]?\n" +"\n" +"In that case, you can use negative indices. If you write [code]-1[/code] in " +"the brackets, you will get the last item in the array. You will get the " +"second-to-last item if you write [code]-2[/code]." +msgstr "" +"E se você quiser acessar o último ou penúltimo item no array " +"[code]inventory[/code]?\n" +"\n" +"Nesse caso, você pode usar índices negativos. Se você escrever [code]-1[/" +"code] nos colchetes, você vai obter o último item do array. Você vai obter o " +"penúltimo item se escrever [code]-2[/code]." + +#: course/lesson-24-access-array-indices/lesson.tres:134 +msgid "" +"That's very convenient when you need to quickly access elements from the end " +"of the list." +msgstr "" +"Isso é muito conveniente quando você precisa acessar rapidamente os " +"elementos do final da lista." + +#: course/lesson-24-access-array-indices/lesson.tres:142 +msgid "How would you access the third-to-last item in the inventory array?" +msgstr "Como você acessaria o antepenúltimo item no array inventory ?" + +#: course/lesson-24-access-array-indices/lesson.tres:145 +msgid "" +"When using negative indices, [code]-1[/code] means the [i]last[/i] element " +"in the array. Index [code]-2[/code] will be the second-to-last, thus " +"[code]-3[/code] will be the third-to-last.\n" +"\n" +"It can be little confusing as it seems to work differently from positive " +"indices. However, it's because there's no difference between index [code]0[/" +"code] and [code]-0[/code]: they both point to the first item in the array." +msgstr "" +"Ao usar índices negativos, [code]-1[/code] significa o [i]último[/i] " +"elemento no array. O índice [code]-2[/code] será o penúltimo, portanto " +"[code]-3[/code] será o antepenúltimo.\n" +"\n" +"Pode ser um pouco confuso, pois parece funcionar de maneira diferente dos " +"índices positivos. No entanto, é porque não há diferença entre o índice " +"[code]0[/code] e [code]-0[/code]: ambos apontam para o primeiro item no " +"array." + +#: course/lesson-24-access-array-indices/lesson.tres:148 +#: course/lesson-24-access-array-indices/lesson.tres:149 +msgid "inventory[-3]" +msgstr "inventory[-3]" + +#: course/lesson-24-access-array-indices/lesson.tres:148 +msgid "inventory[-2]" +msgstr "inventory[-2]" + +#: course/lesson-24-access-array-indices/lesson.tres:156 +msgid "You can't access non-existent indices" +msgstr "Você não pode acessar índices que não existem" + +#: course/lesson-24-access-array-indices/lesson.tres:158 +msgid "" +"There's a catch with this syntax: if you try to access an index that does " +"not exist, you will get an error. You have to be careful always to access " +"existing elements in the array.\n" +"\n" +"There are a couple of ways you can check for valid indices. One of them is " +"checking the array's size." +msgstr "" +"Há um problema com essa sintaxe: se você tentar acessar um índice que não " +"existe, receberá um erro. Você tem que ter cuidado sempre para acessar os " +"elementos existentes no array.\n" +"\n" +"Existem algumas maneiras de verificar se há índices válidos. Uma delas é " +"verificar o tamanho do array." + +#: course/lesson-24-access-array-indices/lesson.tres:170 +msgid "" +"[b]Checking the size of the array[/b]\n" +"\n" +"Arrays come with a member function named [code]size()[/code]. You can call " +"it on the array anytime to know its [i]current[/i] size." +msgstr "" +"[b]Verificando o tamanho do array[/b]\n" +"\n" +"Arrays vêm com uma função membro chamada [code]size()[/code]. Você pode " +"chamá-la no array a qualquer momento para saber seu tamanho [i]atual[/i]." + +#: course/lesson-24-access-array-indices/lesson.tres:192 +msgid "" +"The maximum index you can access in an array is [code]array.size() - 1[/" +"code]: it's the last item in the array." +msgstr "" +"O índice máximo que você pode acessar em um array é [code]array.size() - 1[/" +"code]: é o último item do array." + +#: course/lesson-24-access-array-indices/lesson.tres:212 +msgid "" +"In the following practices, you will use array indices to realign train " +"tracks and grab the correct item in an inventory." +msgstr "" +"Nas práticas a seguir, você vai usar índices de array para realinhar trilhos " +"de trem e pegar o item correto em um inventário." + +#: course/lesson-24-access-array-indices/lesson.tres:220 +msgid "Using the right items" +msgstr "Usando os itens certos" + +#: course/lesson-24-access-array-indices/lesson.tres:221 +msgid "" +"In our game, the player has an inventory that works as an array under the " +"hood.\n" +"\n" +"They want to equip a sword and a shield to buff their characters. Like " +"before, we need you to find them in the array.\n" +"\n" +"You need to access elements in the [code]inventory[/code] array by index to " +"do so.\n" +"\n" +"Call the [code]use_item()[/code] function with the item as an argument to " +"use an item. For example, you can use the first item by calling " +"[code]use_item(inventory[0])[/code]." +msgstr "" +"Em nosso jogo, o jogador tem um inventário que, na verdade, funciona como um " +"array.\n" +"\n" +"Eles querem usar uma espada e um escudo para aumentar a força de seus " +"personagens. Como antes, precisamos que você os encontre no array.\n" +"\n" +"Você precisa acessar os elementos no array [code]inventory[/code] usando " +"índice para fazer isso.\n" +"\n" +"Chame a função [code]use_item()[/code] com o item como um argumento para " +"usar um item. Por exemplo, você pode usar o primeiro item chamando a função " +"[code]use_item(inventory[0])[/code]." + +#: course/lesson-24-access-array-indices/lesson.tres:239 +msgid "Find the right items to use in the player's inventory." +msgstr "Encontre os itens certos para usar no inventário do jogador." + +#: course/lesson-24-access-array-indices/lesson.tres:244 +msgid "Realigning the train tracks" +msgstr "Realinhando os trilhos do trem" + +#: course/lesson-24-access-array-indices/lesson.tres:245 +msgid "" +"We have train tracks broken down into little chunks in our game. We use them " +"to make modular tracks and draw circuits of all shapes and sizes.\n" +"\n" +"However, several chunks are misaligned. You need to find them in the " +"[code]tracks[/code] array and pass them to the [code]align()[/code] " +"function.\n" +"\n" +"To do so, you need to access the array by index.\n" +"\n" +"This time, though, you need to access them with [i]negative indices[/i]." +msgstr "" +"Temos trilhos de trem divididos em pequenos pedaços em nosso jogo. Nós os " +"usamos para fazer trilhos modulares e desenhar circuitos de todas as formas " +"e tamanhos.\n" +"\n" +"No entanto, vários pedaços estão desalinhados. Você precisa encontrá-los no " +"array [code]tracks[/code] e passá-los para a função [code]align()[/code].\n" +"\n" +"Para fazer isso, você precisa acessar o array por índice.\n" +"\n" +"Desta vez, porém, você precisa acessá-los com [i]índices negativos[/i]." + +#: course/lesson-24-access-array-indices/lesson.tres:263 +msgid "" +"Some chunks of our train tracks are misaligned, and the train can't pass. " +"Find the faulty pieces and realign them." +msgstr "" +"Alguns pedaços de nossos trilhos de trem estão desalinhados e o trem não " +"pode passar. Encontre as peças defeituosas e realinhe elas." + +#: course/lesson-24-access-array-indices/lesson.tres:267 +msgid "Accessing values in arrays" +msgstr "Acessando valores em arrays" diff --git a/i18n/pt_BR/lesson-25-creating-dictionaries.po b/i18n/pt_BR/lesson-25-creating-dictionaries.po new file mode 100644 index 00000000..b2304f09 --- /dev/null +++ b/i18n/pt_BR/lesson-25-creating-dictionaries.po @@ -0,0 +1,319 @@ +# 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 , 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: 2022-03-26 17:50+0100\n" +"PO-Revision-Date: 2022-03-19 18:57+0000\n" +"Last-Translator: Alexandre Vinicius Gonçalves \n" +"Language-Team: Portuguese (Brazil) \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.12-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-25-creating-dictionaries/lesson.tres:14 +msgid "" +"In the last lesson, we used an array to represent a player's inventory.\n" +"\n" +"With just an array of item names, though, we can't easily keep track of the " +"amount of each item.\n" +"\n" +"Instead, we can bundle the item names and amounts into a single " +"[i]dictionary[/i].\n" +"\n" +"A dictionary is a data structure that allows you to map pairs of values. In " +"the pair, we call the first value a [i]key[/i] as we use it to access the " +"second.\n" +"\n" +"In other words, a dictionary has a list of [i]keys[/i], and each key points " +"to a [i]value[/i].\n" +"\n" +"To define a dictionary, we use curly brackets. A colon separates each key " +"and its value. A comma separates each key and value pair." +msgstr "" +"Na lição anterior, usamos um array para representar o inventário de um " +"jogador.\n" +"\n" +"Com apenas um array de nomes de itens, no entanto, não podemos acompanhar " +"facilmente a quantidade de cada item.\n" +"\n" +"Ao invés disso, podemos agrupar os nomes e valores dos itens em um único " +"[i]dicionário[/i].\n" +"\n" +"Um dicionário é uma estrutura de dados que permite mapear pares de valores. " +"No par, chamamos o primeiro valor de [i]chave[/i] enquanto o usamos para " +"acessar o segundo.\n" +"\n" +"Em outras palavras, um dicionário tem uma lista de [i]chaves[/i], e cada " +"chave aponta para um [i]valor[/i].\n" +"\n" +"Para definir um dicionário, usamos colchetes. O sinal de dois pontos separa " +"cada chave e seu valor. Uma vírgula separa cada par de chaves." + +#: course/lesson-25-creating-dictionaries/lesson.tres:42 +msgid "Dictionaries can hold any values" +msgstr "Os dicionários podem conter quaisquer valores" + +#: course/lesson-25-creating-dictionaries/lesson.tres:44 +msgid "" +"Dictionaries can map about any value to any other value.\n" +"\n" +"For example, we can use the name of an item as a key and the amount as the " +"corresponding value. This makes dictionaries excellent for keeping track of " +"a player's inventory." +msgstr "" +"Os dicionários podem mapear qualquer valor para qualquer outro valor.\n" +"\n" +"Por exemplo, podemos usar o nome de um item como chave e a quantidade como o " +"valor correspondente. Isso torna os dicionários excelentes para acompanhar o " +"inventário de um jogador." + +#: course/lesson-25-creating-dictionaries/lesson.tres:66 +msgid "" +"Here we matched the name (a string) to the amount (a number). But a key " +"could be a string, a number, or even a vector! \n" +"\n" +"Although we can have all of these different keys, keep in mind that every " +"key has to be [i]unique[/i]. That means we [i]couldn't[/i] have a dictionary " +"like the following." +msgstr "" +"Aqui combinamos o nome (uma string) com a quantidade (um número). Mas uma " +"chave pode ser uma string, um número ou até mesmo um vetor! \n" +"\n" +"Embora possamos ter todas essas chaves diferentes, lembre-se de que cada " +"chave deve ser [i]única[/i]. Isso significa que [i]não poderíamos[/i] ter um " +"dicionário como o desse exemplo aqui." + +#: course/lesson-25-creating-dictionaries/lesson.tres:88 +msgid "We would get the following error." +msgstr "Teríamos o seguinte erro." + +#: course/lesson-25-creating-dictionaries/lesson.tres:106 +msgid "In the above example, which key would cause an error?" +msgstr "No exemplo acima, qual chave causaria um erro?" + +#: course/lesson-25-creating-dictionaries/lesson.tres:109 +msgid "" +"The key [code]\"healing heart\"[/code] appears [b]twice[/b] in the " +"dictionary.\n" +"\n" +"In the above example, Godot wouldn't know whether to return [code]3[/code] " +"or [code]8[/code] when using [code]inventory[\"healing heart\"][/code]. This " +"is why keys need to be unique." +msgstr "" +"A chave [code]\"healing heart\"[/code] aparece [b]duas vezes[/b] no " +"dicionário.\n" +"\n" +"No exemplo acima, a Godot não saberia se deveria retornar [code]3[/code] ou " +"[code]8[/code] ao usar [code]inventory[\"healing heart\"][/code]. É por isso " +"que as chaves precisam ser exclusivas." + +#: course/lesson-25-creating-dictionaries/lesson.tres:112 +#: course/lesson-25-creating-dictionaries/lesson.tres:113 +msgid "\"healing heart\"" +msgstr "\"healing heart\"" + +#: course/lesson-25-creating-dictionaries/lesson.tres:112 +msgid "\"shield\"" +msgstr "\"shield\"" + +#: course/lesson-25-creating-dictionaries/lesson.tres:112 +msgid "\"sword\"" +msgstr "\"sword\"" + +#: course/lesson-25-creating-dictionaries/lesson.tres:120 +msgid "How dictionaries work under the hood" +msgstr "Como os dicionários funcionam" + +#: course/lesson-25-creating-dictionaries/lesson.tres:122 +msgid "" +"Dictionaries are also called mappings or [i]associative arrays[/i]. Under " +"the hood, they use arrays and several functions to efficiently store and " +"retrieve values across arrays.\n" +"\n" +"Precisely, dictionaries use a [i]hashing algorithm[/i]. Hashing algorithms " +"convert one value into another.\n" +"\n" +"In this case, hashing consists of converting a given key into a unique whole " +"number. The dictionary then uses that number as an array's index!\n" +"\n" +"That's how a dictionary works: when you give it a key, it converts it into a " +"unique index and uses that index to retrieve the corresponding value in the " +"computer's memory.\n" +"\n" +"That's also why you can't have the same key twice: it would map to the same " +"array index, causing you to overwrite an existing value." +msgstr "" +"Os dicionários também são chamados de mapeamentos ou [i]arrays associativos[/" +"i]. Os dicionários usam arrays e várias funções para armazenar e recuperar " +"valores entre arrays com eficiência.\n" +"\n" +"Precisamente, os dicionários usam um [i]algoritmo hash[/i]. Algoritmos hash " +"convertem um valor em outro.\n" +"\n" +"Nesse caso, hash consiste em converter uma determinada chave em um número " +"inteiro único. O dicionário então usa esse número como índice de um array!\n" +"\n" +"É assim que funciona um dicionário: quando você lhe dá uma chave, ele a " +"converte em um índice único e usa esse índice para recuperar o valor " +"correspondente na memória do computador.\n" +"\n" +"É por isso que você não pode ter a mesma chave duas vezes: ela mapearia para " +"o mesmo índice do array, fazendo com que você sobrescrevesse um valor " +"existente." + +#: course/lesson-25-creating-dictionaries/lesson.tres:138 +msgid "Accessing values" +msgstr "Acessando valores" + +#: course/lesson-25-creating-dictionaries/lesson.tres:140 +msgid "" +"We access the value of keys by writing the dictionary name, with the key in " +"between square brackets." +msgstr "" +"Acessamos o valor das chaves escrevendo o nome do dicionário, com a chave " +"entre colchetes." + +#: course/lesson-25-creating-dictionaries/lesson.tres:168 +msgid "How would you access how many gems the player has?" +msgstr "Como você acessaria quantas gemas o jogador tem?" + +#: course/lesson-25-creating-dictionaries/lesson.tres:171 +msgid "" +"We need to make sure the key is the same as we defined in the dictionary.\n" +"\n" +"In our case, [code]var item_count = inventory[\"gems\"][/code] is correct." +msgstr "" +"Precisamos ter certeza de que a chave é a mesma que definimos no " +"dicionário.\n" +"\n" +"No nosso caso, [code]var item_count = inventário[\"gems\"][/code] está " +"correto." + +#: course/lesson-25-creating-dictionaries/lesson.tres:174 +msgid "var item_count = inventory[\"gem\"]" +msgstr "var item_count = inventory[\"gem\"]" + +#: course/lesson-25-creating-dictionaries/lesson.tres:174 +#: course/lesson-25-creating-dictionaries/lesson.tres:175 +msgid "var item_count = inventory[\"gems\"]" +msgstr "var item_count = inventory[\"gems\"]" + +#: course/lesson-25-creating-dictionaries/lesson.tres:174 +msgid "var item_count = inventory[\"sword\"]" +msgstr "var item_count = inventory[\"sword\"]" + +#: course/lesson-25-creating-dictionaries/lesson.tres:182 +msgid "Changing values" +msgstr "Mudando valores" + +#: course/lesson-25-creating-dictionaries/lesson.tres:184 +msgid "" +"We can also change values directly, which is useful in our case for adding " +"or removing items from the player's inventory." +msgstr "" +"Também podemos alterar os valores diretamente, o que é útil no nosso caso " +"para adicionar ou remover itens do inventário do jogador." + +#: course/lesson-25-creating-dictionaries/lesson.tres:214 +msgid "" +"In the following practices, we'll use a dictionary to create a player " +"inventory and create a function to change the value of items." +msgstr "" +"Nas práticas a seguir, usaremos um dicionário para criar um inventário e " +"criaremos uma função para alterar o valor dos itens." + +#: course/lesson-25-creating-dictionaries/lesson.tres:222 +msgid "Creating an inventory using a dictionary" +msgstr "Criando um inventário usando um dicionário" + +#: course/lesson-25-creating-dictionaries/lesson.tres:223 +msgid "" +"Let's give some items to the player.\n" +"\n" +"We use a dictionary for the player's inventory. We defined the " +"[code]inventory[/code] variable for you, but it contains no items yet.\n" +"\n" +"Give the player the following items by adding the correct keys and values to " +"the dictionary:\n" +"\n" +"- Three \"healing heart\".\n" +"- Nine \"gems\".\n" +"- One \"sword\".\n" +"\n" +"The keys should be text strings, and the values whole numbers." +msgstr "" +"Vamos dar alguns itens ao jogador.\n" +"\n" +"Usamos um dicionário para o inventário do jogador. Definimos a variável " +"[code]inventory[/code] para você, mas ela ainda não contém itens.\n" +"\n" +"Dê ao jogador os seguintes itens adicionando as chaves e valores corretos ao " +"dicionário:\n" +"\n" +"- Três \"healing heart\".\n" +"- Nove \"gems\".\n" +"- Uma \"sword\".\n" +"\n" +"As chaves devem ser strings de texto e os valores devem ser números inteiros." + +#: course/lesson-25-creating-dictionaries/lesson.tres:244 +msgid "" +"Collecting items is fun, but we need a good way to store them. Write a " +"dictionary to display the player's items." +msgstr "" +"Coletar itens é divertido, mas precisamos de uma boa maneira de armazená-" +"los. Escreva um dicionário para exibir os itens do jogador." + +#: course/lesson-25-creating-dictionaries/lesson.tres:249 +msgid "Increasing item counts" +msgstr "Aumentando a quantidade de itens" + +#: course/lesson-25-creating-dictionaries/lesson.tres:250 +msgid "" +"We want to change the item counts in the player's inventory whenever the " +"player picks up or uses an item.\n" +"\n" +"We've started the [code]add_item()[/code] function for you.\n" +"\n" +"The [code]inventory[/code] dictionary should use the [code]item_name[/code] " +"parameter as the key to access its values, and we should increase the value " +"by [code]amount[/code].\n" +"\n" +"To test this practice, we'll use your [code]add_item()[/code] function to " +"increase the item count of Healing Heart, Gems, and Sword." +msgstr "" +"Queremos alterar a quantidade de itens no inventário do jogador sempre que o " +"jogador pegar ou usar um item.\n" +"\n" +"Iniciamos a função [code]add_item()[/code] para você.\n" +"\n" +"O dicionário [code]inventory[/code] deve usar o parâmetro [code]item_name[/" +"code] como chave para acessar seus valores, e devemos aumentar o valor " +"usando [code]amount[/code].\n" +"\n" +"Para testar essa prática, usaremos sua função [code]add_item()[/code] para " +"aumentar a contagem de itens de Healing Heart, Gems e Sword." + +#: course/lesson-25-creating-dictionaries/lesson.tres:266 +msgid "" +"The player might walk over a pick-up or find something in a chest, so we " +"need a way to change the item counts in our inventory." +msgstr "" +"O jogador pode passar por cima de um item ou encontrar algo em um baú, então " +"precisamos de uma maneira de alterar a contagem de itens em nosso inventário." + +#: course/lesson-25-creating-dictionaries/lesson.tres:270 +msgid "Creating Dictionaries" +msgstr "Criando Dicionários" diff --git a/i18n/pt_BR/lesson-26-looping-over-dictionaries.po b/i18n/pt_BR/lesson-26-looping-over-dictionaries.po new file mode 100644 index 00000000..508eb81f --- /dev/null +++ b/i18n/pt_BR/lesson-26-looping-over-dictionaries.po @@ -0,0 +1,206 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2022-03-28 13:16+0000\n" +"Last-Translator: Alexandre Vinicius Gonçalves \n" +"Language-Team: Portuguese (Brazil) \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.12-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:13 +msgid "" +"Like with arrays, you can loop over dictionaries. You can loop over both " +"their keys and values.\n" +"\n" +"Let's see how it works with two examples." +msgstr "" +"Assim como com os arrays, você pode fazer um loop sobre os dicionários. Você " +"pode fazer um loop sobre suas chaves e valores.\n" +"\n" +"Vamos ver como funciona com dois exemplos." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:23 +msgid "Displaying an inventory's content" +msgstr "Exibindo o conteúdo de um inventário" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:25 +msgid "" +"To display the player's inventory, you need to know what it contains. You " +"need the name and amount of each object.\n" +"\n" +"And from code, you can only achieve that by looping over the whole " +"dictionary and processing key-value pairs one by one.\n" +"\n" +"To get the list of keys in the dictionary, you can call its [code]keys()[/" +"code] member function." +msgstr "" +"Para exibir o inventário do jogador, você precisa saber o que esse " +"inventário contém. Você precisa do nome e quantidade de cada objeto.\n" +"\n" +"E a partir do código, você só pode conseguir isso fazendo um loop em todo o " +"dicionário e processando os pares de valores-chave um por um.\n" +"\n" +"Para obter a lista de chaves no dicionário, você pode chamar sua função " +"membro [code]keys()[/code]." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:49 +msgid "" +"But it's something we do so much that you don't need to call the function.\n" +"\n" +"Instead, you can directly type the variable name in a [code]for[/code] loop " +"after the [code]in[/code] keyword. The language understands that you " +"implicitly want to loop over the dictionary's keys." +msgstr "" +"Mas é algo que fazemos tanto que você não precisa chamar a função.\n" +"\n" +"Ao invés disso, você pode digitar diretamente o nome da variável em um loop " +"[code]for[/code] após a palavra-chave [code]in[/code]. A linguagem entende " +"que você deseja fazer um loop sobre as chaves do dicionário implicitamente." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:71 +msgid "" +"You can get the values with the syntax [code]dictionary[key][/code] as you " +"learned in the previous lesson.\n" +"\n" +"We can loop over the inventory keys, get the corresponding values, and " +"display all that information in the user interface." +msgstr "" +"Você pode obter os valores com a sintaxe [code]dictionary[key][/code] " +"conforme aprendeu na lição anterior.\n" +"\n" +"Podemos percorrer as chaves de inventário, obter os valores correspondentes " +"e exibir todas essas informações na interface do usuário." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:103 +msgid "" +"Instead of printing the key-value pairs to the output console, we can code " +"and call a dedicated function that displays items in the user interface." +msgstr "" +"Ao invés de imprimir os pares chave-valor no console de saída, podemos " +"programar e chamar uma função dedicada que exibe itens na interface do " +"usuário." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:131 +msgid "Mapping grid cells to units" +msgstr "Mapeando células de grid para unidades" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:133 +msgid "" +"We can also use a dictionary to map units to their position on a game " +"board.\n" +"\n" +"That's how you'd typically code a board game, a grid-based RPG, or a " +"tactical RPG.\n" +"\n" +"While we focused on [code]String[/code] keys so far, GDScript dictionaries " +"accept any value type as a key, allowing you to map anything to anything.\n" +"\n" +"The only limitation is that every key must be unique." +msgstr "" +"Também podemos usar um dicionário para mapear unidades para sua posição em " +"um tabuleiro de jogo.\n" +"\n" +"É assim que você normalmente programa um jogo de tabuleiro, um RPG baseado " +"em grid ou um RPG tático.\n" +"\n" +"Enquanto nos concentramos em chaves [code]String[/code] até agora, os " +"dicionários em GDScript aceitam qualquer tipo de valor como chave, " +"permitindo que você mapeie qualquer coisa para qualquer coisa.\n" +"\n" +"A única limitação é que cada chave deve ser única." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:159 +msgid "" +"Using a [code]for[/code] loop, you can use the key-value pairs to place " +"units on the board at the start of a game." +msgstr "" +"Usando um loop [code]for[/code], você pode usar os pares chave-valor para " +"colocar unidades no tabuleiro no início de um jogo." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:189 +msgid "" +"In the following practices, you will loop over dictionaries and process " +"their content." +msgstr "" +"Nas práticas a seguir, você vai fazer um loop nos dicionários e processar " +"seu conteúdo." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:197 +msgid "Displaying the inventory" +msgstr "Mostrando o inventário" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:198 +msgid "" +"We use a dictionary to represent the player's inventory in this game. The " +"dictionary keys are the name of items, and they map to the number of items " +"that the player owns.\n" +"\n" +"You need to loop over the dictionary and display the name and amount of " +"every item in the inventory.\n" +"\n" +"To do so, call the [code]display_item()[/code] function. It takes two " +"arguments: the item name and the amount." +msgstr "" +"Usamos um dicionário para representar o inventário do jogador nesse jogo. As " +"chaves do dicionário são o nome dos itens e mapeiam o número de itens que o " +"jogador possui.\n" +"\n" +"Você precisa percorrer o dicionário com um loop e exibir o nome e a " +"quantidade de cada item no inventário.\n" +"\n" +"Para fazer isso, chame a função [code]display_item()[/code]. São necessários " +"dois argumentos: o nome do item e a quantidade." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:218 +msgid "" +"We need to display the player's inventory on the screen but lack the code to " +"do so. Use a loop to display every item." +msgstr "" +"Precisamos exibir o inventário do jogador na tela, mas não temos o código " +"para isso. Use um loop para exibir cada item." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:223 +msgid "Placing units on the board" +msgstr "Colocando unidades no tabuleiro" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:224 +msgid "" +"We have a dictionary named [code]units[/code] that maps a cell position on " +"the grid to a unit to put there.\n" +"\n" +"Using a for loop and the [code]place_unit()[/code] function, place every " +"unit in the units dictionary at the desired position on the game board." +msgstr "" +"Temos um dicionário chamado [code]units[/code] que mapeia uma posição de " +"célula no grid para uma unidade a ser colocada lá.\n" +"\n" +"Usando um loop for e a função [code]place_unit()[/code], coloque cada " +"unidade no dicionário units na posição desejada no tabuleiro do jogo." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:242 +msgid "" +"We want to populate our game board with units at the start of every battle. " +"Loop over the dictionary to place units on the board." +msgstr "" +"Queremos preencher nosso tabuleiro de jogo com unidades no início de cada " +"batalha. Faça um loop sobre o dicionário para colocar as unidades no " +"tabuleiro." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:246 +msgid "Looping over dictionaries" +msgstr "Loop em dicionários" diff --git a/i18n/pt_BR/lesson-27-value-types.po b/i18n/pt_BR/lesson-27-value-types.po new file mode 100644 index 00000000..00de195e --- /dev/null +++ b/i18n/pt_BR/lesson-27-value-types.po @@ -0,0 +1,341 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2022-03-28 13:16+0000\n" +"Last-Translator: Alexandre Vinicius Gonçalves \n" +"Language-Team: Portuguese (Brazil) \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.12-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-27-value-types/lesson.tres:13 +msgid "" +"In your code, values have a particular [i]type[/i]. You have already learned " +"about several: whole numbers, decimal numbers, strings, 2D vectors, arrays, " +"and dictionaries.\n" +"\n" +"The computer uses the type of a value to know which operations and functions " +"you can use with them.\n" +"\n" +"As a result, it's essential to understand types: they are not fully " +"compatible with one another, and misusing them will cause errors." +msgstr "" +"Em seu código, os valores têm um [i]tipo[/i] específico. Você já aprendeu " +"sobre vários tipos: números inteiros, números decimais, strings, vetores 2D, " +"arrays e dicionários.\n" +"\n" +"O computador usa o tipo de um valor para saber quais operações e quais " +"funções você pode usar com eles.\n" +"\n" +"Logo, é essencial que você entenda os tipos: eles não são totalmente " +"compatíveis uns com os outros, e o uso indevido deles causará erros." + +#: course/lesson-27-value-types/lesson.tres:25 +msgid "A prime example" +msgstr "Um exemplo primordial" + +#: course/lesson-27-value-types/lesson.tres:27 +msgid "" +"You want to display the player's health in the interface. Your code tracks " +"health as a whole number, a value of type [code]int[/code] (short for " +"integer)." +msgstr "" +"Você deseja exibir a vida do jogador na tela. Seu código rastreia a vida " +"como um número inteiro, um valor do tipo [code]int[/code] (abreviação de " +"integer)." + +#: course/lesson-27-value-types/lesson.tres:47 +msgid "" +"However, to display it on the player's screen, the computer wants text: it " +"needs a value of type [code]String[/code].\n" +"\n" +"You can concatenate two strings with the [code]+[/code] operator." +msgstr "" +"No entanto, para exibir a vida na tela do jogador, o computador precisa de " +"texto: ele precisa de um valor do tipo [code]String[/code].\n" +"\n" +"Você pode concatenar duas strings com o operador [code]+[/code]." + +#: course/lesson-27-value-types/lesson.tres:69 +msgid "So the following code looks like it could work at first glance." +msgstr "Portanto, o código a seguir parece funcionar à primeira vista." + +#: course/lesson-27-value-types/lesson.tres:89 +msgid "But when running the code, we get this strange error." +msgstr "Mas ao executar o código, recebemos esse erro estranho." + +#: course/lesson-27-value-types/lesson.tres:109 +msgid "" +"It tells you you can't add values of type [code]String[/code] and [code]int[/" +"code]: they're incompatible.\n" +"\n" +"In that case, you need to convert the [code]health[/code] number into a " +"[code]String[/code]." +msgstr "" +"Ele diz que você não pode adicionar valores do tipo [code]String[/code] com " +"[code]int[/code]: eles são incompatíveis.\n" +"\n" +"Nesse caso, você precisa converter o número de [code]health[/code] em uma " +"[code]String[/code]." + +#: course/lesson-27-value-types/lesson.tres:119 +msgid "Converting values into strings" +msgstr "Convertendo valores em strings" + +#: course/lesson-27-value-types/lesson.tres:121 +msgid "" +"You can get the text representation of a value by calling the [code]str()[/" +"code] function (short for \"string\"). The function returns its argument as " +"a new [code]String[/code].\n" +"\n" +"You can use this function whenever you want to turn some number or vector " +"into text." +msgstr "" +"Você pode obter a representação de texto de um valor chamando a função " +"[code]str()[/code] (abreviação de \"string\"). A função retorna seu " +"argumento como um novo [code]String[/code].\n" +"\n" +"Você pode usar esta função sempre que quiser transformar algum número ou " +"vetor em texto." + +#: course/lesson-27-value-types/lesson.tres:143 +msgid "" +"In this case, it turns the number [code]100[/code] into the string " +"[code]\"100\"[/code]. Or whatever number [code]health[/code] is currently." +msgstr "" +"Nesse caso, ele transforma o número [code]100[/code] na string " +"[code]\"100\"[/code]. Ou qualquer número que a variável [code]health[/code] " +"tenha atualmente." + +#: course/lesson-27-value-types/lesson.tres:151 +msgid "Converting strings into numbers" +msgstr "Convertendo strings em números" + +#: course/lesson-27-value-types/lesson.tres:153 +msgid "" +"You can also convert strings into whole numbers or decimal numbers using " +"respectively the [code]int()[/code] and [code]float()[/code] functions.\n" +"\n" +"Those functions can convert what the player writes in a text field into a " +"number. For example, the number of potions to sell at once in a shop." +msgstr "" +"Você também pode converter strings em números inteiros ou números decimais " +"usando, respectivamente, as funções [code]int()[/code] e [code]float()[/" +"code].\n" +"\n" +"Essas funções podem converter o que o jogador escreve em um campo de texto " +"em número. Por exemplo, o número de poções para vender de uma vez em uma " +"loja." + +#: course/lesson-27-value-types/lesson.tres:173 +msgid "Some types are partially compatible" +msgstr "Alguns tipos são parcialmente compatíveis" + +#: course/lesson-27-value-types/lesson.tres:175 +msgid "" +"Most types are incompatible. For example, you can't directly add or multiply " +"an array with a number.\n" +"\n" +"However, some types are [i]partially[/i] compatible. For example, you can " +"multiply or divide a vector by a number. " +msgstr "" +"A maioria dos tipos são incompatíveis. Por exemplo, você não pode adicionar " +"ou multiplicar diretamente um array por um número.\n" +"\n" +"No entanto, alguns tipos são [i]parcialmente[/i] compatíveis. Por exemplo, " +"você pode multiplicar ou dividir um vetor por um número. " + +#: course/lesson-27-value-types/lesson.tres:197 +msgid "" +"It is possible because other developers defined that operation for you under " +"the hood.\n" +"\n" +"However, you cannot directly add or subtract a number to a vector. You'll " +"get an error. That's why, in earlier lessons, you had to access the sub-" +"variables of [code]position[/code] to add numbers to them." +msgstr "" +"É possível porque outros desenvolvedores definiram essa operação para você " +"antes.\n" +"\n" +"No entanto, você não pode adicionar ou subtrair diretamente um número em um " +"vetor. Você receberá um erro. É por isso que, nas lições anteriores, você " +"tinha que acessar as sub-variáveis de [code]position[/code] para adicionar " +"números a elas." + +#: course/lesson-27-value-types/lesson.tres:207 +msgid "A surprising result" +msgstr "Um resultado surpreendente" + +#: course/lesson-27-value-types/lesson.tres:209 +msgid "" +"Take the following division: [code]3/2[/code]. What result would you expect " +"to get? [code]1.5[/code]?" +msgstr "" +"Veja a seguinte divisão: [code]3/2[/code]. Que resultado você esperaria " +"obter? [code]1.5[/code]?" + +#: course/lesson-27-value-types/lesson.tres:229 +msgid "" +"Well, for the computer, the result of [code]3/2[/code] is [code]1[/code].\n" +"\n" +"Wait, what?!\n" +"\n" +"That's because, for the computer, the division of two whole numbers should " +"always result in a whole number.\n" +"\n" +"When you divide decimal numbers instead, you will get a decimal number as a " +"result." +msgstr "" +"Bem, para o computador, o resultado de [code]3/2[/code] é [code]1[/code].\n" +"\n" +"Espera aí, o que?!\n" +"\n" +"Isso porque, para o computador, a divisão de dois números inteiros deve " +"sempre resultar em um número inteiro.\n" +"\n" +"Ao dividir números decimais, você vai obter um número decimal como resultado." + +#: course/lesson-27-value-types/lesson.tres:255 +msgid "" +"Even if it's just a [code]0[/code], adding a decimal place tells the " +"computer we want decimal numbers.\n" +"\n" +"This shows you how mindful you need to be with types. Otherwise, you will " +"get unexpected results. It can get pretty serious: number errors can lead to " +"bugs like controls not working as intended or charging the wrong price to " +"players. " +msgstr "" +"Mesmo que seja apenas um [code]0[/code], adicionar uma casa decimal informa " +"ao computador que queremos números decimais.\n" +"\n" +"Isso mostra o quanto você precisa estar atento aos tipos. Caso contrário, " +"você obterá resultados inesperados. Pode ficar bem sério: erros de número " +"podem levar a bugs como controles que não funcionam como pretendido ou " +"cobram o preço errado dos jogadores. " + +#: course/lesson-27-value-types/lesson.tres:265 +msgid "Understanding and mastering types is a key skill for developers" +msgstr "" +"Compreender e dominar os tipos é uma habilidade fundamental para os " +"desenvolvedores" + +#: course/lesson-27-value-types/lesson.tres:267 +msgid "" +"Programming beginners often struggle due to the lack of understanding of " +"types.\n" +"\n" +"Languages like GDScript hide the types from you by default. As a result, if " +"you don't understand that some are incompatible, you can get stuck when " +"facing type-related errors.\n" +"\n" +"You'll want to keep that in mind in your learning journey. When writing " +"code, you will need to understand everything that's happening.\n" +"\n" +"That said, let's practice some type conversions." +msgstr "" +"Iniciantes de programação muitas vezes ficam confusos devido à falta de " +"compreensão dos tipos.\n" +"\n" +"Linguagens como GDScript ocultam os tipos de você por padrão. Como " +"resultado, se você não entender que alguns são incompatíveis, poderá ficar " +"perdido ao se deparar com erros relacionados com tipos.\n" +"\n" +"Você vai querer manter isso em mente em sua jornada de aprendizado. Ao " +"escrever códigos, você precisa entender tudo o que está acontecendo.\n" +"\n" +"Dito isso, vamos praticar algumas conversões de tipo." + +#: course/lesson-27-value-types/lesson.tres:281 +msgid "Displaying the player's health and energy" +msgstr "Exibindo a vida e a energia do jogador" + +#: course/lesson-27-value-types/lesson.tres:282 +msgid "" +"We want to display the player's energy in the user interface.\n" +"\n" +"Currently, our code has a type error. We're trying to display a whole number " +"while the [code]display_energy()[/code] function expects a string.\n" +"\n" +"Using the [code]str()[/code] function, clear the type error and make the " +"energy amount display on the interface.\n" +"\n" +"You can't change the [code]energy[/code] variable definition: setting it to " +"[code]\"80\"[/code] would break the rest of the game's code. You must " +"convert the value when calling [code]display_energy()[/code]." +msgstr "" +"Queremos exibir a energia do jogador na interface do usuário.\n" +"\n" +"Atualmente, nosso código tem um erro de tipo. Estamos tentando exibir um " +"número inteiro enquanto a função [code]display_energy()[/code] espera uma " +"string.\n" +"\n" +"Usando a função [code]str()[/code], arrume o erro de tipo e exiba a " +"quantidade de energia na interface.\n" +"\n" +"Você não pode alterar a definição da variável [code]energy[/code]: colocar " +"nela o valor [code]\"80\"[/code] quebraria o resto do código do jogo. Você " +"deve converter o valor ao chamar [code]display_energy()[/code]." + +#: course/lesson-27-value-types/lesson.tres:300 +msgid "" +"We want to display the player's energy in the interface but face a type " +"error. Use your new knowledge to fix it." +msgstr "" +"Queremos exibir a energia do jogador na interface, mas enfrentamos um erro " +"de tipo. Use seu novo conhecimento para corrigi-lo." + +#: course/lesson-27-value-types/lesson.tres:305 +msgid "Letting the player type numbers" +msgstr "Deixando o jogador digitar números" + +#: course/lesson-27-value-types/lesson.tres:306 +msgid "" +"In our game's shops, we want to let the player type numbers to select the " +"number of items they want to buy or sell.\n" +"\n" +"We need to know the number of items as an [code]int[/code], but the computer " +"reads the player's input as a [code]String[/code].\n" +"\n" +"Your task is to convert the player's input into numbers for the shop's code " +"to work.\n" +"\n" +"Using the [code]int()[/code] function, convert the player's input into a " +"whole number and store the result in the [code]item_count[/code] variable." +msgstr "" +"Nas lojas do nosso jogo, queremos permitir que o jogador digite números para " +"selecionar o número de itens que ele deseja comprar ou vender.\n" +"\n" +"Precisamos saber o número de itens como um [code]int[/code], mas o " +"computador lê a entrada do jogador como um [code]String[/code].\n" +"\n" +"Sua tarefa é converter a entrada do jogador em números para que o código da " +"loja funcione.\n" +"\n" +"Usando a função [code]int()[/code], converta a entrada do jogador em um " +"número inteiro e armazene o resultado na variável [code]item_count[/code]." + +#: course/lesson-27-value-types/lesson.tres:326 +msgid "" +"We want the player to choose the number of items they buy or sell in our " +"game's shops. But right now, all we get are type errors." +msgstr "" +"Queremos que o jogador escolha a quantidade de itens que compra ou vende nas " +"lojas do nosso jogo. Mas agora, tudo o que temos são erros de tipo." + +#: course/lesson-27-value-types/lesson.tres:330 +msgid "Value types" +msgstr "Tipos de valor" diff --git a/i18n/pt_BR/lesson-28-specifying-types.po b/i18n/pt_BR/lesson-28-specifying-types.po new file mode 100644 index 00000000..742379f8 --- /dev/null +++ b/i18n/pt_BR/lesson-28-specifying-types.po @@ -0,0 +1,293 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-28-specifying-types/lesson.tres:13 +msgid "" +"By default, GDScript is what we call a dynamically-typed language. That " +"means that you can just write variables, assign them a value with a number, " +"and assign them another value with a different type.\n" +"\n" +"Unlike in some other languages, in GDScript, the following code is valid." +msgstr "" +"Por padrão, GDScript é o que chamamos de linguagem tipada dinamicamente. " +"Isso significa que você pode apenas escrever variáveis, atribuir nelas um " +"valor com um número e atribuir nela outro valor com um tipo diferente.\n" +"\n" +"Ao contrário de algumas outras linguagens, no GDScript, o código a seguir é " +"válido." + +#: course/lesson-28-specifying-types/lesson.tres:35 +msgid "" +"But this feature often causes problems down the line. Let's take one example." +msgstr "" +"Mas esse recurso geralmente causa problemas no futuro. Vamos ver um exemplo." + +#: course/lesson-28-specifying-types/lesson.tres:43 +msgid "Cell size: decimal number, or 2D vector?" +msgstr "Tamanho da célula: número decimal ou vetor 2D?" + +#: course/lesson-28-specifying-types/lesson.tres:45 +msgid "" +"Games use grids all the time, be it for grid-based gameplay or to make " +"algorithms faster.\n" +"\n" +"When working with grids, you need to convert grid coordinates into positions " +"in the game world all the time. To do so, you give each cell a size in " +"pixels.\n" +"\n" +"You'll likely pick one of two types for that: [code]float[/code] or " +"[code]Vector2[/code], because pixel positions on the screen use " +"[code]Vector2[/code] coordinates.\n" +"\n" +"Either of those two values would be fine:" +msgstr "" +"Os jogos usam grades o tempo todo, seja para jogabilidade baseada em grid ou " +"para tornar os algoritmos mais rápidos.\n" +"\n" +"Ao trabalhar com uma grade, você precisa converter as coordenadas da grade " +"em posições no mundo do jogo o tempo todo. Para fazer isso, você dá a cada " +"célula um tamanho em pixels.\n" +"\n" +"Você provavelmente escolherá um dos dois tipos para isso: [code]float[/code] " +"ou [code]Vector2[/code], porque a posição dos pixels na tela usa coordenadas " +"[code]Vector2[/code].\n" +"\n" +"Qualquer um desses dois valores seria válido:" + +#: course/lesson-28-specifying-types/lesson.tres:71 +msgid "" +"Using a [code]Vector2[/code] could simplify some calculations. For example, " +"when converting grid coordinates to game world coordinates." +msgstr "" +"Usar um [code]Vector2[/code] pode simplificar alguns cálculos. Por exemplo, " +"quando for converter coordenadas de grid em coordenadas do mundo do jogo." + +#: course/lesson-28-specifying-types/lesson.tres:91 +msgid "" +"In this example, because both [code]cell[/code] and [code]cell_size[/code] " +"are [code]Vector2[/code] values, we can add them.\n" +"\n" +"However, if [code]cell_size[/code] is a [code]float[/code], we will get a " +"type error." +msgstr "" +"Nesse exemplo, como [code]cell[/code] e [code]cell_size[/code] são valores " +"de [code]Vector2[/code], podemos somar eles.\n" +"\n" +"No entanto, se [code]cell_size[/code] for um [code]float[/code], vamos ter " +"um erro de tipo." + +#: course/lesson-28-specifying-types/lesson.tres:123 +msgid "" +"Worse: due to dynamic typing, we won't get an error [i]right away[/i]. We " +"will only get the error when calling [code]grid_to_world(Vector2(1, 1))[/" +"code].\n" +"\n" +"And that's a big problem." +msgstr "" +"Pior: devido à tipagem dinâmica, não receberemos um erro [i]imediatamente[/" +"i]. Só obteremos o erro ao chamar [code]grid_to_world(Vector2(1, 1))[/" +"code].\n" +"\n" +"E isso é um grande problema." + +#: course/lesson-28-specifying-types/lesson.tres:135 +msgid "" +"Because we're learning, we only have small code examples in this course. But " +"your games' code will get long and split into many files. When coding, you " +"often forget about the code you wrote several weeks ago.\n" +"\n" +"And with a lot of code, it could take [i]hours[/i] of play before players " +"trigger a type error in your code." +msgstr "" +"Como estamos aprendendo, temos apenas pequenos exemplos de código nesse " +"curso. Mas os códigos dos seus jogos ficarão longos e divididos em muitos " +"arquivos. Ao programar, muitas vezes você esquece o código que escreveu " +"várias semanas atrás.\n" +"\n" +"E com muito código, pode levar [i]horas[/i] de jogo antes que os jogadores " +"acionem um erro de tipo no seu código." + +#: course/lesson-28-specifying-types/lesson.tres:145 +msgid "Using type hints" +msgstr "Usando dicas de tipo" + +#: course/lesson-28-specifying-types/lesson.tres:147 +msgid "" +"Fortunately, GDScript has optional [i]type hints[/i].\n" +"\n" +"Type hints let the computer know the value type you want for variables and " +"report errors before running the code.\n" +"\n" +"To specify the type a variable can accept, you can write a colon and a type " +"after the name when defining a new variable." +msgstr "" +"Felizmente, o GDScript tem [i]dicas de tipo (type hints)[/i] opcionais.\n" +"\n" +"As dicas de tipo permitem que o computador saiba o tipo de valor desejado " +"para variáveis e faz ele relatar erros antes de executar o código.\n" +"\n" +"Para especificar o tipo que uma variável pode aceitar, você pode escrever " +"dois pontos e um tipo após o nome quando for definir uma nova variável." + +#: course/lesson-28-specifying-types/lesson.tres:171 +msgid "" +"You could tell the computer you want [code]cell_size[/code] only to accept " +"[code]Vector2[/code] values like so." +msgstr "" +"Você pode dizer ao computador que deseja que [code]cell_size[/code] apenas " +"aceite valores de [code]Vector2[/code] assim." + +#: course/lesson-28-specifying-types/lesson.tres:191 +msgid "" +"If you try to replace the [code]cell_size[/code] with a value of another " +"type later, the computer will not let you." +msgstr "" +"Se você tentar substituir o [code]cell_size[/code] por um valor de outro " +"tipo posteriormente, o computador não vai permitir." + +#: course/lesson-28-specifying-types/lesson.tres:219 +msgid "Letting the computer figure it out" +msgstr "Deixando o computador descobrir por ele mesmo" + +#: course/lesson-28-specifying-types/lesson.tres:221 +msgid "" +"GDScript comes with a feature called [i]type inference[/i]. In many cases, " +"but not all, the computer can figure out the type of a variable for you.\n" +"\n" +"To do so, you write [code]:=[/code], without the type. The computer will set " +"the type using the value after the equal sign. We could make " +"[code]cell_size[/code] a variable of type [code]Vector2[/code] like so:" +msgstr "" +"O GDScript vem com um recurso chamado [i]inferência de tipo[/i]. Em muitos " +"casos, mas não em todos, o computador pode descobrir o tipo de uma variável " +"para você.\n" +"\n" +"Para fazer isso, você escreve [code]:=[/code], sem o tipo. O computador " +"definirá o tipo usando o valor após o sinal de igual. Poderíamos tornar " +"[code]cell_size[/code] uma variável do tipo [code]Vector2[/code] assim:" + +#: course/lesson-28-specifying-types/lesson.tres:243 +msgid "" +"This takes little typing, yet you get the benefits of using type hints, like " +"the computer reporting errors better and faster." +msgstr "" +"Isso exige pouca digitação, mas você obtém os benefícios de usar dicas de " +"tipo, como o computador relatando erros de forma melhor e mais rápida." + +#: course/lesson-28-specifying-types/lesson.tres:251 +msgid "Why bother to add hints?" +msgstr "Por que se preocupar em adicionar dicas?" + +#: course/lesson-28-specifying-types/lesson.tres:253 +msgid "" +"When you give the language hints like that, it will [i]prevent[/i] major " +"type errors. When you work in Godot, you will see that the computer can " +"report issues as you write the code. It makes the benefit even greater.\n" +"\n" +"Type hints can also help improve the readability of your code. It can help " +"to put more information directly in the code. As we saw, types are essential " +"when coding, and when using type hints, the computer will add them to the " +"engine's built-in code documentation system.\n" +"\n" +"There's an incredible third benefit for you: by using type hints, you will " +"learn types much faster. It's excellent for learning.\n" +"\n" +"In the following practices, you will write the correct type hints to make " +"the code error-free." +msgstr "" +"Quando você der dicas de linguagem assim, [i]previne[/i] os principais erros " +"de tipo. Ao trabalhar na Godot, você verá que o computador pode relatar " +"problemas enquanto você escreve o código. Isso torna o benefício ainda " +"maior.\n" +"\n" +"As dicas de tipo também podem ajudar a melhorar a legibilidade do seu código " +"e ajuda a por mais informação nele. Como vimos, os tipos são essenciais ao " +"programar e, ao usar dicas de tipo, o computador os adicionará ao sistema de " +"documentação de código integrado do mecanismo.\n" +"\n" +"Há um terceiro benefício incrível para você: usando dicas de tipo, você " +"aprenderá os tipos muito mais rápido. É excelente para aprender.\n" +"\n" +"Nas práticas a seguir, você vai escrever as dicas de tipo corretas para " +"tornar o código livre de erros." + +#: course/lesson-28-specifying-types/lesson.tres:267 +msgid "Add the correct type hints to variables" +msgstr "Adicione as dicas de tipo corretas nas variáveis" + +#: course/lesson-28-specifying-types/lesson.tres:268 +msgid "" +"Our variables get the correct values but not the right hints. Using your " +"type-fu, add the correct type names in the variable definitions.\n" +"\n" +"You need to write the type name between the colon and the equal sign.\n" +"\n" +"Note: You cannot use type inference in this practice. You need to write the " +"type name in full." +msgstr "" +"Nossas variáveis obtêm os valores corretos, mas não as dicas de tipo " +"corretas. Adicione os nomes de tipo corretos nas definições de variáveis.\n" +"\n" +"Você precisa escrever o nome do tipo entre os dois pontos e o sinal de " +"igual.\n" +"\n" +"Nota: Você não pode usar a inferência de tipo nessa prática. Você precisa " +"escrever o nome do tipo por completo." + +#: course/lesson-28-specifying-types/lesson.tres:284 +msgid "" +"Our variables have the wrong type hints, causing errors. Correct them to " +"make the code run." +msgstr "" +"Nossas variáveis têm as dicas de tipo erradas, causando erros. Corrija elas " +"para executar o código." + +#: course/lesson-28-specifying-types/lesson.tres:289 +msgid "Fix the values to match the type hints" +msgstr "Corrija os valores para corresponder às dicas de tipo" + +#: course/lesson-28-specifying-types/lesson.tres:290 +msgid "" +"It is the other way around in this practice: the type hints are fine, but " +"the values are not.\n" +"\n" +"Your task is to fix the values after the equal sign, so they match the type " +"hint of each variable." +msgstr "" +"É o contrário nesta prática: as dicas de tipo estão certas, mas os valores " +"não estão.\n" +"\n" +"Sua tarefa é corrigir os valores após o sinal de igual, para que " +"correspondam à dica de tipo de cada variável." + +#: course/lesson-28-specifying-types/lesson.tres:304 +msgid "" +"This time, it's the other way around: variables have the correct type hints " +"but the wrong values. Change the values to make the code run." +msgstr "" +"Dessa vez, é o contrário: as variáveis têm as dicas de tipo corretas, mas os " +"valores errados. Altere os valores para executar o código." + +#: course/lesson-28-specifying-types/lesson.tres:308 +msgid "Specifying types with type hints" +msgstr "Especificando tipos com dicas de tipo" diff --git a/i18n/pt_BR/lesson-3-standing-on-shoulders-of-giants.po b/i18n/pt_BR/lesson-3-standing-on-shoulders-of-giants.po new file mode 100644 index 00000000..03b930f0 --- /dev/null +++ b/i18n/pt_BR/lesson-3-standing-on-shoulders-of-giants.po @@ -0,0 +1,483 @@ +# 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 , 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-30 12:49+0000\n" +"Last-Translator: Deolindo \n" +"Language-Team: Portuguese (Brazil) \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 5.0-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:14 +msgid "" +"As programmers, we rely on a lot of code created by others before us.\n" +"\n" +"Every programming language comes with a wealth of features created by other " +"programmers to save you time.\n" +"\n" +"We call a bundle of code created by fellow developers a [i]library[/i].\n" +"\n" +"It's a bunch of code sitting there, waiting for you to use it.\n" +"\n" +"Game engines like Godot bundle many libraries together. They provide a " +"massive toolset to save you time when making games." +msgstr "" +"Como programador, nós contamos muito com códigos feitos por outros " +"programadores que vieram antes de nós.\n" +"\n" +"Toda linguagem de programação vem com uma grande variedade de recursos " +"criados por outros programadores que servem para ajudar a economizar seu " +"tempo.\n" +"\n" +"Nós chamamos esses códigos criados por outros programadores de " +"[i]biblioteca[/i].\n" +"\n" +"É um monte de código que estão guardados lá, esperando que você use eles.\n" +"\n" +"Motores de jogos (as engines) como a Godot juntam muitas bibliotecas. Elas " +"fornecem para você um conjunto enorme de ferramentas que te ajudam a " +"economizar tempo quando for fazer seus jogos." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:30 +msgid "You'll always use a lot of existing code" +msgstr "Você sempre vai usar muitos códigos que já estão prontos" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:32 +msgid "" +"When coding, you always use a lot of code from developers who came before " +"you.\n" +"\n" +"In a moment, you'll write your first code. You'll use [i]functions[/i] " +"created by the Godot developers.\n" +"\n" +"A function is a list of instructions with an exact name. We can tell the " +"computer to execute all the instructions in sequence with that name." +msgstr "" +"Quando você programa, você sempre usa um monte de código de desenvolvedores " +"que vieram antes de você.\n" +"\n" +"Daqui a pouco, você vai escrever seu primeiro código. Você vai usar " +"[i]funções[/i] criadas pelos desenvolvedores da Godot.\n" +"\n" +"Uma função é uma lista de instruções com um nome exato. Nós podemos falar " +"pro computador para executar todas as instruções em sequencia com aquele " +"nome." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:44 +msgid "Calling functions" +msgstr "Chamando funções" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:46 +msgid "" +"When you tell the computer to execute a function, we say you [i]call[/i] the " +"function.\n" +"\n" +"To call a function, you write its [i]exact[/i] name followed by an open and " +"closed parenthesis. To call the function named \"show\", you would write " +"[code]show()[/code]." +msgstr "" +"Quando você fala pro computador para ele executar uma função, nós dizemos " +"que você [i]chama[/i] a função.\n" +"\n" +"Para chamar uma função, você escrevo o nome [i]exato[/i] dela seguido por " +"uma abertura e um fechamento de parêntese. Para chamar uma função chamada " +"\"show\", você deve escrever [code]show()[/code]." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:58 +msgid "" +"In Godot, calling [code]show()[/code] makes something visible, like a " +"character or item. The complementary [code]hide()[/code] function hides the " +"entity.\n" +"\n" +"Once an entity is visible, calling [code]show()[/code] again doesn't have " +"any effect.\n" +"\n" +"Similarly, once you hide something, calling [code]hide()[/code] again " +"doesn't change anything.\n" +"\n" +"[i]Click the Run button on any example below to execute the code listing.[/i]" +msgstr "" +"Na Godot, chamar [code]show()[/code] faz com que algo fique visível, como um " +"personagem ou um item. Já a função [code]hide()[/code] esconde a entidade.\n" +"\n" +"Uma vez que a entidade está visível, chamar novamente [code]show()[/code] " +"não tem mais efeito nenhum.\n" +"\n" +"Da mesma forma, uma vez que você escondeu algo, chamar [code]hide()[/code] " +"novamente não muda nada.\n" +"\n" +"[i]Clique no botão Executar em qualquer exemplo abaixo para executar o " +"código listado.[/i]" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:84 +msgid "" +"In the code listing above, we write the function call [code]hide()[/code] in " +"a new function named [code]run()[/code] to execute the code. Creating a new " +"function is necessary to execute instructions in GDScript." +msgstr "" +"No código listado acima, nós escrevemos a chamada de função [code]hide()[/" +"code] em uma nova função chamada [code]run()[/code] para executar o código. " +"A criação de uma nova função é necessária para executar instruções no " +"GDScript." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:92 +msgid "Can you tell me more about that \"run()\" function?" +msgstr "Você pode me falar algo mais sobre aquela função \"run()\"?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:94 +msgid "" +"In GDScript, unlike in some other languages, we must write our code inside " +"of custom functions.\n" +"\n" +"You'll learn what functions are and how they work in great detail in the " +"course, but here's a quick look at them if you're curious.\n" +"\n" +"A function is a bundle of code you can execute anytime. It's a named list of " +"instructions.\n" +"\n" +"To define a function, you need to write the [code]func[/code] keyword, the " +"function's name, parentheses, and a colon: [code]func run():[/code] defines " +"a function named [code]run()[/code].\n" +"\n" +"You then go to the next line to write the function's body. That's the " +"instructions of the function.\n" +"\n" +"Notice how each instruction starts with a leading [code]Tab[/code] " +"character. The computer uses that to know which lines are part of the " +"function.\n" +"\n" +"Throughout the course, you'll see many functions called [code]run()[/code].\n" +"\n" +"Those are functions we created to give you interactive examples." +msgstr "" +"No GDScript, diferente de outras linguagens, nós precisamos escrever nossos " +"códigos dentro de uma função personalizada.\n" +"\n" +"Você vai aprender o que são funções e como elas funcionam em detalhes no " +"curso, mas aqui está um breve exemplo caso você esteja curioso.\n" +"\n" +"Uma função é um conjunto de códigos que você pode executar a qualquer " +"momento. É uma lista de instruções que contém um nome.\n" +"\n" +"Para definir uma função, você precisa escrever a palavra-chave [code]func[/" +"code], seguido pelo nome da função, o parêntese e o sinal de dois pontos: " +"[code]func run():[/code] define uma função chamada [code]run()[/code].\n" +"\n" +"Então você vai para a próxima linha para escrever o corpo da função. O corpo " +"é onde fica as instruções da função.\n" +"\n" +"Repare como cada instrução começa com um [code]caractere de tabulação " +"(espaço em branco na esquerda)[/code]. O computador usa isso para saber qual " +"linha faz parte da função.\n" +"\n" +"Ao longo do curso, você vai ver várias funções chamadas [code]run()[/code].\n" +"\n" +"Essas funções foram criadas por nós para dar a você exemplos interativos." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:116 +msgid "Function arguments" +msgstr "Argumentos de função" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:118 +msgid "" +"We use parentheses to call functions because you can give the function " +"[i]arguments[/i] inside the parentheses when calling it.\n" +"\n" +"Here's a [i]sprite[/i] standing straight. If we call the [code]rotate(0.3)[/" +"code] function, the character [i]sprite[/i] turns by 0.3 radians." +msgstr "" +"Nós usamos parênteses para chamar funções porque você pode colocar " +"[i]argumentos[/i] dentro dos parêntesis quando chamamos a função.\n" +"\n" +"Aqui temos um [i]sprite[/i] que está reto. Se chamarmos a função " +"[code]rotate(0.3)[/code], o [i]sprite[/i] do personagem vai girar 0.3 " +"radianos." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:140 +msgid "" +"The [code]0.3[/code] part between the parentheses is the function's " +"[i]argument[/i].\n" +"\n" +"Arguments are values (numbers, bits of text, and more) that change how the " +"function behaves.\n" +"\n" +"Arguments let you fine-tune the effect of the function call. They can be " +"optional at times, but functions often require arguments in order to work.\n" +"\n" +"For example, calling [code]rotate()[/code] without any argument would result " +"in an error. Without an argument, Godot doesn't know by [i]how much[/i] you " +"intend to rotate the [i]sprite[/i].\n" +"\n" +"Don't worry about memorizing what arguments each function requires or " +"accepts! As a programmer, the documentation will always be close by for you " +"to refer to.\n" +"\n" +"Finally, notice how we use a dot in the number [code]0.3[/code] above: you " +"need to use a dot like this to represent decimal numbers. You can't use " +"commas as they have a different purpose in code." +msgstr "" +"A parte [code]0.3[/code] entre o parêntese é o [i]argumento[/i] da função.\n" +"\n" +"Argumento são valores (números, a parte de um texto entre outras coisas) que " +"mudam o comportamento da função.\n" +"\n" +"Argumentos permitem que você ajuste o efeito da chamada da função. Eles às " +"vezes podem ser opcionais. mas geralmente as funções vão exigir argumentos " +"para poder funcionar.\n" +"\n" +"Por exemplo, chamando a função [code]rotate()[/code] sem nenhum argumento " +"pode resultar em um erro. Sem um argumento, a Godot não sabe [i]por quanto[/" +"i] você pretende rotacionar a [i]sprite[/i].\n" +"\n" +"Não se preocupe em memorizar quais argumentos cada função exige ou aceita! " +"Como programador(a), a documentação sempre estará por perto para você poder " +"se referenciar.\n" +"\n" +"Finalmente, repare que usamos um sinal de ponto no número [code]0.3[/code] " +"acima: você precisa usar o ponto para representar números decimais. Você não " +"pode usar vírgulas porque elas tem um propósito diferente em código." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:158 +msgid "What are radians?" +msgstr "O que é radiano?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:160 +msgid "" +"The value of [code]0.3[/code] is an angle in [i]radians[/i]. In daily life, " +"we're used to measuring angles in degrees. The radian is another scale " +"commonly used in video games and math.\n" +"\n" +"You can convert radians into degrees by multiplying them by 180 and dividing " +"them by PI:\n" +"\n" +"[code]degrees = radians * 180 / PI[/code]\n" +"\n" +"An angle of [code]PI[/code] radians corresponds to [code]180[/code] degrees. " +"And [code]2 * PI[/code] is a full turn: [code]360[/code] degrees.\n" +"\n" +"[b]How do radians work exactly?[/b]\n" +"\n" +"Radians are a way to measure angles based on the radius of a circle.\n" +"\n" +"To get the angle in radians, you take the circle's radius and wrap it around " +"the circle. That angle is [code]1[/code] radian because you are wrapping the " +"radius [code]1[/code] time around the circle.\n" +"\n" +"Because the perimeter of a circle is [code]2 * PI * radius[/code], a full " +"turn (360°) corresponds to [code]2 * PI[/code] radians: you need to wrap the " +"radius of a circle [code]2 * PI[/code] times around the circle to make a " +"full circle." +msgstr "" +"O valor [code]0.3[/code] é um ângulo em [i]radiano[/i]. No nosso dia a dia, " +"nós estamos acostumados a medir ângulos em graus. O radiano é uma outra " +"medida usada em jogos e na matemática.\n" +"\n" +"Você pode converter radiano em graus multiplicando o valor por 180 e depois " +"dividindo o resultado por PI:\n" +"\n" +"[code]graus = radiano * 180 / PI[/code]\n" +"\n" +"Um ângulo que possui [code]PI[/code] radiano corresponde a [code]180[/code] " +"graus. E [code]2 * PI[/code] é uma volta completa no círculo: [code]360[/" +"code] graus.\n" +"\n" +"[b]Como exatamente funciona o radiano?[/b]\n" +"\n" +"Radiano é um jeito de medir ângulos baseados no raio de um círculo.\n" +"\n" +"Para obter o ângulo em radiano, você pega o valor do raio do círculo e o " +"envolve ao redor do círculo. Esse ângulo é [code]1[/code] radiano porque " +"você está envolvendo o raio [code]1[/code] vez ao redor do círculo.\n" +"\n" +"Por causa que o perímetro do círculo é [code]2 * PI * raio[/code], uma volta " +"completa (360°) corresponde a [code]2 * PI[/code] radiano: você precisa " +"envolver o raio de um círculo [code]2 * PI[/code] vezes em volta do círculo " +"para fazer um círculo completo." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:182 +msgid "What does the code below do?" +msgstr "O que o código abaixo faz?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:183 +msgid "[code]show()[/code]" +msgstr "[code]show()[/code]" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:185 +msgid "" +"Both answers were right! Technically, the code calls the [code]show()[/code] " +"function. And doing so makes the game entity visible." +msgstr "" +"Ambas as respostas estavam corretas! Tecnicamente, o código chama a função " +"[code]show()[/code]. E fazendo isso, ela deixa a entidade do jogo visível." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:186 +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:187 +msgid "It calls the function named \"show.\"" +msgstr "Ele chama a função chamada \"show\"" + +#: 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 "Ele faz a entidade ficar visível (como um personagem ou uma sprite)." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:196 +msgid "" +"Another example: With the [code]move_local_x()[/code] function, you can move " +"the character to its left and right. The function takes one argument: a " +"number of pixels to offset the entity.\n" +"\n" +"The complementary function [code]move_local_y()[/code] makes the character " +"move up and down.\n" +"\n" +"This is one way to move a character in a game, although we'll see more " +"powerful ways to do this later." +msgstr "" +"Outro exemplo: com a função [code]move_local_x()[/code], você pode mover o " +"personagem para sua esquerda e direita. Essa função requer um argumento: o " +"número de pixels para deslocar a entidade.\n" +"\n" +"A função complementar [code]move_local_y()[/code] faz com que o personagem " +"se mova para cima e para baixo.\n" +"\n" +"Esse é apenas um jeito de mover um personagem dentro de um jogo. Veremos " +"mais tarde maneiras mais poderosas de fazer isso." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:218 +msgid "Why move_local_y(20) moves the character down" +msgstr "Por quê a função move_local_y(20) move o personagem para baixo" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:220 +msgid "" +"With positive values ([code]20[/code]), the code above moves the robot to " +"the right and down.\n" +"\n" +"This is probably different than what you studied at school: in math classes, " +"the horizontal axis points to the right, like here, but the vertical axis " +"points up.\n" +"\n" +"In video games, and generally in 2D computer graphics, the vertical axis " +"points down instead. So whenever you move something on the Y-axis with a " +"positive value, it'll move [i]down[/i]." +msgstr "" +"Com o valor positivo ([code]20[/code]), o código acima move o robô para a " +"direita e para baixo.\n" +"\n" +"Isso provavelmente é diferente do que você deve ter estudado na escola: nas " +"aulas de matemática, o eixo horizontal aponta para a direita, igual aqui, " +"mas o eixo vertical aponta para cima.\n" +"\n" +"Em jogos, e geralmente em computação gráfica em 2D, o eixo vertical aponta " +"para baixo ao invés de para cima. Então toda vez que você mover alguma coisa " +"no eixo Y com um valor positivo, ela vai se mover [i]para baixo[/i]." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:232 +msgid "How do you call a function?" +msgstr "Como você chama uma função?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:233 +msgid "What is the syntax you use to call a function in general?" +msgstr "Qual é a sintaxe que você geralmente usa para chamar uma função?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:235 +msgid "" +"To call a function, you need to write its exact name followed by an opening " +"and a closing parenthesis.\n" +"\n" +"If the function requires one or more [i]arguments[/i], you add them inside " +"the parentheses. Whether you need to do that or not depends on the function." +msgstr "" +"Para chamar uma função, você precisa escrever seu nome exato seguido por uma " +"abertura e fechamento de parêntesis.\n" +"\n" +"Se a função requer um ou mais [i]argumentos[/i], você adiciona eles dentro " +"do parêntese. Se você precisa ou não colocar argumentos vai depender da " +"função." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:238 +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:239 +msgid "You write its name followed by an opening and a closing parenthesis." +msgstr "" +"Você escreve o nome da função seguido por uma abertura e fechamento de " +"parêntesis." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:238 +msgid "You write its name followed by a colon." +msgstr "Você escreve o seu nome seguido por um sinal de dois pontos." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:238 +msgid "" +"You write a value, like a number, followed by an opening and a closing " +"parenthesis." +msgstr "" +"Você escreve um valor, como um número, seguido por uma abertura e fechamento " +"de parêntesis." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:246 +msgid "Make The Character Visible" +msgstr "Fazendo o personagem ficar visível" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:247 +msgid "" +"Our robot character's invisible! Call the [code]show()[/code] function to " +"make it appear.\n" +"\n" +"Please call [code]show()[/code] inside the [code]run()[/code] function, on " +"line [code]2[/code], and keep the [code]Tab[/code] character at the start of " +"the line. The computer needs that to understand your code." +msgstr "" +"Nosso personagem robô está invisível! Chame a função [code]show()[/code] " +"para fazer ele aparecer.\n" +"\n" +"Por favor, chame a função [code]show()[/code] dentro da função [code]run()[/" +"code] na linha número [code]2[/code] e mantenha o [code]caractere de " +"tabulação[/code] no começo da linha. O computar precisa disso para entender " +"seu código." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:259 +msgid "The robot's invisible! Call a function to bring it back." +msgstr "O robô está invisível! Chame uma função para trazer ele de volta." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:264 +msgid "Make the Robot Upright" +msgstr "Fazendo o robô ficar reto" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:265 +msgid "" +"The robot was turned by [code]-0.5[/code] radians. You need to make it " +"upright by calling the [code]rotate()[/code] function.\n" +"\n" +"Please call [code]rotate()[/code] inside the [code]run()[/code] function, on " +"line [code]2[/code], and keep the [code]Tab[/code] character at the start of " +"the line. The computer needs that to understand your code." +msgstr "" +"O robô foi rotacionado por [code]-0.5[/code] radiano. Você precisa deixar " +"ele reto chamando a função [code]rotate()[/code].\n" +"\n" +"Por favor, chame a função [code]rotate()[/code] dentro da função [code]run()" +"[/code] na linha número [code]2[/code] e mantenha o [code]caractere de " +"tabulação[/code] no começo da linha. O computar precisa disso para entender " +"seu código." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:277 +msgid "" +"The robot is turned sideways. Help it straighten up with a function call." +msgstr "" +"O robô está virado de lado. Ajude ele a se endireitar com uma chamada de " +"função." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:281 +msgid "We Stand on the Shoulders of Giants" +msgstr "Sobre os Ombros de Gigantes" diff --git a/i18n/pt_BR/lesson-4-drawing-a-rectangle.po b/i18n/pt_BR/lesson-4-drawing-a-rectangle.po new file mode 100644 index 00000000..0d177791 --- /dev/null +++ b/i18n/pt_BR/lesson-4-drawing-a-rectangle.po @@ -0,0 +1,311 @@ +# 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 , 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-30 12:49+0000\n" +"Last-Translator: Deolindo \n" +"Language-Team: Portuguese (Brazil) \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 5.0-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:14 +msgid "" +"We'll use code created by others like we did in the previous lesson. This " +"time, we'll solve a more complicated problem: drawing shapes." +msgstr "" +"Nós vamos usar códigos feitos por outros programadores assim como fizemos na " +"lição anterior. Dessa vez, vamos resolver um problema mais complicado: " +"desenhar formas." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:22 +msgid "Meet the turtle" +msgstr "Conheça a tartaruga" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:24 +msgid "" +"We present you: the turtle! We created the turtle to teach you how to call " +"functions." +msgstr "" +"Nós apresentamos a você: a tartaruga! Nós criamos a tartaruga para te " +"ensinar como chamar funções." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:44 +msgid "" +"The turtle is a little machine that moves forward, turns, and draws lines " +"along its path.\n" +"\n" +"To make it draw, you give it a list of instructions: on each code line, you " +"call one specific function.\n" +"\n" +"We prepared several functions for you:\n" +"\n" +"- [code]move_forward(pixels)[/code] makes the turtle move forward over a " +"given distance in [i]pixels[/i]. \n" +"- [code]turn_right(degrees)[/code] makes the turtle turn clockwise by a " +"precise amount of [i]degrees[/i].\n" +"- [code]turn_left(degrees)[/code] works the same as [code]turn_right(degrees)" +"[/code], except the turtle turns counter-clockwise.\n" +"\n" +"You'll use these functions the same way you used [code]rotate()[/code] " +"before.\n" +"\n" +"The turtle draws a white line as it moves. We'll use this line to draw " +"shapes.\n" +"\n" +"For example, to move the turtle 200 pixels, you would write " +"[code]move_forward(200)[/code]." +msgstr "" +"A tartaruga é uma pequena máquina se move para frente, gira e desenha uma " +"linha ao longo do seu caminho.\n" +"\n" +"Para fazê-la desenhar, você deve dar a ela uma lista de instruções: em cada " +"linha de código, você chama uma função específica.\n" +"\n" +"Nós preparamos várias funções para você:\n" +"\n" +"- [code]move_forward(pixels)[/code] faz com que a tartaruga se mova para " +"frente por uma determinada distancia em [i]pixels[/i]. \n" +"- [code]turn_right(degrees)[/code] faz com que a tartaruga gire em sentido " +"horário (para a direita) por uma determinada quantia em [i]graus[/i].\n" +"- [code]turn_left(degrees)[/code] funciona igual a função " +"[code]turn_right(degrees)[/code], exceto que dessa vez ela gira em sentido " +"anti-horário (para a esquerda).\n" +"\n" +"Você vai usar essas funções da mesma forma que você usou a função " +"[code]rotate()[/code] anteriormente.\n" +"\n" +"A tartaruga irá desenhar uma linha branca enquanto se move. Vamos usar essa " +"linha para desenhar formas.\n" +"\n" +"Por exemplo, para mover a tartaruga em 200 pixels, você deve escrever " +"[code]move_forward(200)[/code]." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:78 +msgid "" +"The functions [code]turn_left()[/code] and [code]turn_right()[/code] work " +"the same.\n" +"\n" +"To turn 45 degrees to the right, you would write [code]turn_right(45)[/" +"code].\n" +"\n" +"If we call [code]turn_right(45)[/code], the turtle turns 45 degrees to the " +"right before moving on to the next instruction." +msgstr "" +"As funções [code]turn_lef()[/code] e [code]turn_right()[/code] funcionam da " +"mesma forma.\n" +"\n" +"Para girar 45 graus para a direita, você deve escrever [code]turn_right(45)[/" +"code].\n" +"\n" +"Se chamarmos [code]turn_right(45)[/code], a tartaruga vai girar 45 graus " +"para a direita antes do código passar para a próxima instrução." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:102 +msgid "" +"Using these instructions, we can make any two-dimensional shape we like!\n" +"\n" +"Try to understand the example below. \n" +"\n" +"In the next practice, you'll use the functions we saw above to first draw a " +"corner, then a rectangle like this one." +msgstr "" +"Usando essas instruções, podemos fazer qualquer forma que seja bidimensional " +"que quisermos.\n" +"\n" +"Tente entender o exemplo abaixo.\n" +"\n" +"Na próxima seção de prática, você vai usar as funções que vimos acima para, " +"primeiro, desenhar um ângulo de 90 graus e depois uma retângulo como esse." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:124 +msgid "In the function call below, which part is the argument?" +msgstr "Na chamada de função abaixo, qual parte é o argumento?" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:125 +msgid "[code]move_forward(30)[/code]" +msgstr "[code]move_forward(30)[/code]" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:127 +msgid "" +"A function's arguments are all the values inside the parentheses. In this " +"case, there's only one, but there can be multiple separated by commas.\n" +"\n" +"In this case, [code]move_forward[/code] is the function's name and [code]30[/" +"code] is the argument.\n" +"\n" +"This function call will make the turtle move forward by [code]30[/code] " +"pixels." +msgstr "" +"Os argumentos de uma função são todos os valores dentro dos parênteses. " +"Nesse caso, há apenas um, mas pode haver vários separados por vírgulas.\n" +"\n" +"Neste caso, [code]move_forward[/code] é o nome da função e [code]30[/code] é " +"o argumento.\n" +"\n" +"Esta chamada de função fará a tartaruga avançar em [code]30[/code] pixels." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:132 +msgid "move_forward" +msgstr "move_forward" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:132 +#: course/lesson-4-drawing-a-rectangle/lesson.tres:133 +msgid "30" +msgstr "30" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:140 +msgid "Drawing a Corner" +msgstr "Desenhando um ângulo de 90 graus" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:141 +msgid "" +"In this practice, we'll tell the turtle to draw a corner.\n" +"\n" +"The corner is made up of two lines that are [code]200[/code] pixels long. " +"The lines are connected at each end by [code]90[/code] degrees, or right-" +"angle.\n" +"\n" +"The [code]move_forward()[/code] and [code]turn_right()[/code] functions to " +"the right draw a corner, but they're missing some arguments.\n" +"\n" +"Add the missing arguments so the turtle moves forward [code]200[/code] " +"pixels, turns right [code]90[/code] degrees, then moves forward again " +"[code]200[/code] pixels.\n" +"\n" +"We added the first argument for you so the turtle moves forward [code]200[/" +"code] pixels.\n" +"\n" +"In the following practices, we'll draw multiple corners to create " +"rectangles.\n" +"\n" +msgstr "" +"Nessa prática, Nós vamos falar para a tartaruga desenhar um ângulo de 90 " +"graus.\n" +"\n" +"Esse ângulo de 90 graus é feito por duas linhas de [code]200[/code] pixels " +"de comprimento. As linhas são conectadas no final de cada uma delas por " +"[code]90[/code] graus, formando um ângulo reto.\n" +"\n" +"As funções [code]move_forward()[/code] e [code]turn_right()[/code] que estão " +"na direita desenham um ângulo de 90 graus, mas estão faltando nelas alguns " +"parâmetros.\n" +"\n" +"Adicione os parâmetros que estão faltando para que a tartaruga mova para " +"frente em [code]200[/code] pixels, vire para direita [code]90[/code] graus e " +"mova para frente novamente em [code]200[/code] pixels.\n" +"\n" +"Nós adicionamos o primeiro parâmetro para você, assim a tartaruga vai mover " +"para frente em [code]200[/code] pixels.\n" +"\n" +"Nas próximas práticas, vamos desenhar vários ângulos de 90 graus para " +"criarmos retângulos.\n" +"\n" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:165 +msgid "" +"Use the turtle to draw a square's corner. You'll then build upon it to draw " +"a rectangle." +msgstr "" +"Use a tartaruga para desenhar um ângulo de 90 graus de um quadrado. Em " +"seguida, com o que você já fez, você vai desenhar um retângulo." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:170 +#: course/lesson-4-drawing-a-rectangle/lesson.tres:218 +msgid "Drawing a Rectangle" +msgstr "Desenhando um retângulo" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:171 +msgid "" +"Add the correct arguments to the functions [code]move_forward()[/code] and " +"[code]turn_right()[/code] to draw a rectangle with a width of [code]200[/" +"code] pixels, and a height of [code]120[/code] pixels.\n" +"\n" +"We wrote the first argument for you.\n" +"\n" +"In the next practice, you'll use the same functions to draw a bigger " +"rectangle." +msgstr "" +"Adicione os parâmetros corretos nas funções [code]move_forward()[/code] e " +"[code]turn_right()[/code] para desenhar um retângulo com uma largura de " +"[code]200[/code] pixels e altura de [code]120[/code] pixels.\n" +"\n" +"Nós escrevemos o primeiro parâmetro para você.\n" +"\n" +"Na próxima prática, você vai usar as mesmas funções para desenhar um " +"retângulo ainda maior." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:191 +msgid "" +"Based on your rectangle corner, you now need to draw a complete rectangle." +msgstr "" +"Com base no seu ângulo de 90 graus do retângulo, você precisa agora desenhar " +"um retângulo completo." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:196 +msgid "Drawing a Bigger Rectangle" +msgstr "Desenhando um Retângulo Ainda Maior" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:197 +msgid "" +"Write out calls to the functions [code]move_forward()[/code] and " +"[code]turn_right()[/code] to draw a rectangle with a width of 220 pixels, " +"and a height of 260 pixels.\n" +"\n" +"We wrote the first two lines for you.\n" +"\n" +"Be sure to write each instruction on a separate line.\n" +"\n" +"Every line should start with one [code]Tab[/code] character so the computer " +"understands it's part of the [code]draw_rectangle()[/code] function." +msgstr "" +"Escreva as chamadas das funções [code]move_forward()[/code] e " +"[code]turn_right()[/code] para desenhar um retângulo com uma largura de 220 " +"pixels e altura de 260 pixels.\n" +"\n" +"Nós escrevemos as duas primeiras linhas para você.\n" +"\n" +"Certifique-se de escrever cada instrução em uma linha separada.\n" +"\n" +"Toda linha deve começar com um [code]caractere de tabulação[/code] para que " +"o computador entenda que essas linhas fazem parte da função " +"[code]draw_rectangle()[/code]." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:214 +msgid "" +"At this point, you're ready to code entirely on your own. Call functions by " +"yourself to draw a complete rectangle." +msgstr "" +"A partir desse ponto, você está pronto para programar por si só. Chame você " +"mesmo as funções para desenhar um retângulo completo." + +#~ msgid "" +#~ "The function parameters are inside the parentheses in a function " +#~ "definition.\n" +#~ "\n" +#~ "The [code]func[/code] keyword tells the computer you're defining a new " +#~ "function, and [code]move_forward[/code] is the function's name." +#~ msgstr "" +#~ "Os parâmetros da função estão dentro dos parênteses numa definição de " +#~ "função.\n" +#~ "\n" +#~ "A palavra-chave [code]func[/code] diz ao computador que você está " +#~ "definindo uma nova função e [code]move_forward[/code] é o nome da função." + +#~ msgid "func" +#~ msgstr "func" + +#~ msgid "pixels" +#~ msgstr "pixels" diff --git a/i18n/pt_BR/lesson-5-your-first-function.po b/i18n/pt_BR/lesson-5-your-first-function.po new file mode 100644 index 00000000..91c1380c --- /dev/null +++ b/i18n/pt_BR/lesson-5-your-first-function.po @@ -0,0 +1,422 @@ +# 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 , 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-01 12:52+0000\n" +"Last-Translator: Deolindo \n" +"Language-Team: Portuguese (Brazil) \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 5.0-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-5-your-first-function/lesson.tres:14 +msgid "" +"So far, we have called existing functions that other developers wrote.\n" +"\n" +"In this lesson, we'll talk more about what functions are and see some " +"examples. Then, you will learn how to define your own functions." +msgstr "" +"Até agora, nós só chamamos funções existentes que outros programadores " +"escreveram.\n" +"\n" +"Nessa lição, vamos falar mais sobre o que são funções e ver mais exemplos. " +"Logo depois você vai aprender como definir suas próprias funções." + +#: course/lesson-5-your-first-function/lesson.tres:24 +msgid "Functions are named sequences of instructions" +msgstr "Funções são sequencias de instruções que possuem um nome" + +#: course/lesson-5-your-first-function/lesson.tres:26 +msgid "" +"Functions are [i]sequences of instructions[/i] we give a name. We call that " +"name an [i]identifier[/i].\n" +"\n" +"Using the identifier, we can get the computer to execute all the " +"instructions inside the function as many times as we need. This is what a " +"[i]function call[/i] does." +msgstr "" +"Funções são [i]sequencia de instruções[/i] que damos um nome. Nós chamamos " +"esse nome de [i]identificador[/i].\n" +"\n" +"Usando o identificador, nós fazemos com que o computador execute todas as " +"instruções dentro daquela função, quantas vezes a gente quiser. É isso que " +"uma [i]chamada de função[/i] faz." + +#: course/lesson-5-your-first-function/lesson.tres:36 +msgid "Learn more about identifiers" +msgstr "Aprenda mais sobre identificadores" + +#: course/lesson-5-your-first-function/lesson.tres:38 +msgid "" +"In computer programming, we talk about [i]identifiers[/i] rather than " +"\"names\".\n" +"\n" +"It is because a function name is a label the computer uses to precisely " +"[i]identify[/i] and refer to a function or other code elements.\n" +"\n" +"Identifiers are unique: you cannot reuse the same name in a given [i]space[/" +"i] in your code.\n" +"\n" +"If you try to name two functions the same, the computer will raise an error." +msgstr "" +"Na área de programação de computadores, nós chamamos de [i]identificadores[/" +"i] ao invés de \"nomes\".\n" +"\n" +"É porque um nome da função é um rótulo que o computador usa para " +"[i]identificar[/i] precisamente e se referir a uma função ou outros " +"elementos do código.\n" +"\n" +"Identificadores são únicos: você não pode reusar o mesmo nome em um " +"determinado [i]lugar[/i] do seu código.\n" +"\n" +"Se você tentar usar o mesmo nome em duas funções diferentes, o computador " +"vai gerar um erro." + +#: course/lesson-5-your-first-function/lesson.tres:54 +msgid "" +"If there is any code that you need to run multiple times, you can put it " +"inside a function and give it a name.\n" +"\n" +"The instructions inside a function can be any code you want, and they will " +"all run every time you call the function.\n" +"\n" +"Here's the example of a [code]move_and_rotate()[/code] function that moves " +"the turtle forward and then turns it 90°." +msgstr "" +"Se tiver qualquer código que você precisa executar várias vezes, você pode " +"colocar esse código dentro de uma função e dar a ela um nome.\n" +"\n" +"As instruções dentro da função podem ser qualquer código que você quiser, e " +"elas (as instruções) vão ser executadas toda vez que você chamar aquela " +"função.\n" +"\n" +"Aqui tem um exemplo de uma função chamada [code]move_and_rotate()[/code] que " +"move a tartaruga para frente e depois rotaciona ela em 90°." + +#: course/lesson-5-your-first-function/lesson.tres:78 +msgid "" +"The [code]move_and_rotate()[/code] function consists of two instructions, " +"each on a separate line. Both of those instructions call another familiar " +"function.\n" +"\n" +"You could write another function that calls [code]move_and_rotate()[/code] " +"four times to draw a square of length 200 pixels." +msgstr "" +"A função [code]move_and_rotate()[/code] consiste em duas instruções, cada " +"uma em uma linha separada. Ambas as instruções chama outra função bem " +"familiar.\n" +"\n" +"Você pode escrever outra função que faz a chamada da função " +"[code]move_and_rotate()[/code] mais quatro vezes para desenhar um quadrado " +"com o tamanho de 200 pixels." + +#: course/lesson-5-your-first-function/lesson.tres:100 +msgid "" +"Every time we call [code]move_and_rotate()[/code], the two functions " +"[code]move_forward(200)[/code] and [code]turn_right(90)[/code] are called in " +"sequence.\n" +"\n" +"In this simple example, it may not feel super useful. Here's a more useful " +"and realistic one: a function to draw any square.\n" +"\n" +"The following function uses [i]parameters[/i], which we will explore in the " +"next lesson.\n" +"\n" +"[i]Drag the slider to change the square's size.[/i]" +msgstr "" +"Todas as vezes que chamamos [code]move_and_rotate()[/code], as duas funções " +"[code]move_forward(200)[/code] e [code]turn_right(90)[/code] são chamadas em " +"sequência.\n" +"\n" +"Nesse exemplo simples, pode parecer que não é tão útil assim. Aqui está um " +"outro exemplo mais útil e realista: uma função que desenha qualquer " +"retângulo.\n" +"\n" +"Essa próxima função usa [i]parâmetros[/i], que vamos explorar na próxima " +"lição.\n" +"\n" +"[i]Arraste o slider para alterar o tamanho do quadrado.[/i]" + +#: course/lesson-5-your-first-function/lesson.tres:124 +msgid "How to define your own functions" +msgstr "Como definir suas próprias funções" + +#: course/lesson-5-your-first-function/lesson.tres:126 +msgid "" +"Let's break down how you define a function.\n" +"\n" +"A function definition starts with the [code]func[/code] keyword followed by " +"a space, the function's name, parentheses, and a colon." +msgstr "" +"Vamos ver em detalhes como você defini uma função.\n" +"\n" +"Uma definição de função começa com a palavra-chave [code]func[/code] seguida " +"de um espaço em branco, depois o nome da função, um parênteses e o sinal de " +"dois pontos." + +#: course/lesson-5-your-first-function/lesson.tres:148 +msgid "" +"The instructions inside the function [b]must[/b] all start with a leading " +"tab character. You can insert that tab character by pressing the [b]Tab[/b] " +"key.\n" +"\n" +"We call those leading tabs [i]indents[/i]. They're important: the computer " +"uses them to know which instructions are part of the same code block." +msgstr "" +"Todas as instruções dentro da função [b]devem[/b] começar com um caractere " +"de tabulação. Você pode inserir esse caractere de tabulação pressionando a " +"tecla [b]Tab[/b] no seu teclado.\n" +"\n" +"Nós chamamos esses caracteres de tabulação de [i]recuos[/i]. Eles são " +"importantes: o computador usa eles para saber quais instruções fazem parte " +"do mesmo bloco de código." + +#: course/lesson-5-your-first-function/lesson.tres:158 +msgid "Why do we use functions?" +msgstr "Por quê nós usamos funções?" + +#: course/lesson-5-your-first-function/lesson.tres:161 +msgid "" +"Functions are groups of instructions we reuse every time we call the " +"function.\n" +"\n" +"Because we give functions a name, they also allow us to name a set of " +"instructions, which is handy!" +msgstr "" +"Funções são grupos de instruções que reutilizamos toda vez que chamamos uma " +"função.\n" +"\n" +"Como damos um nome para as funções, elas também nos permitem nomear um " +"conjunto de instruções, o que é bem prático!" + +#: course/lesson-5-your-first-function/lesson.tres:164 +#: course/lesson-5-your-first-function/lesson.tres:165 +msgid "To reuse code multiple times. " +msgstr "Para reutilizar o código várias vezes. " + +#: course/lesson-5-your-first-function/lesson.tres:164 +#: course/lesson-5-your-first-function/lesson.tres:165 +msgid "To run multiple instructions in one go." +msgstr "Executar várias instruções de um vez só." + +#: course/lesson-5-your-first-function/lesson.tres:164 +#: course/lesson-5-your-first-function/lesson.tres:165 +msgid "To put a name on multiple lines of code." +msgstr "Para colocar um nome em várias linhas de código." + +#: course/lesson-5-your-first-function/lesson.tres:172 +msgid "Names in code have rules" +msgstr "Nomes dentro dos códigos possuem regras" + +#: course/lesson-5-your-first-function/lesson.tres:174 +msgid "" +"Function identifiers cannot contain spaces. In general, names in programming " +"languages cannot contain spaces.\n" +"\n" +"The computer uses spaces to detect the separation between different keywords " +"and identifiers.\n" +"\n" +"Instead of spaces, in GDScript, we use underscores (\"_\"). You saw this " +"already with functions like [code]move_forward()[/code] or " +"[code]move_local_x()[/code]. This is the convention we follow in GDScript.\n" +"\n" +"There's another convention programmers use in some other programming " +"languages.\n" +"\n" +"Instead of using underscores, they start words with capital letters except " +"for the first one. With that convention, you'd write function names like " +"[code]moveForward()[/code] or [code]moveLocalX()[/code]\n" +"\n" +"Identifiers also [i]have[/i] to start with a letter or an underscore; You " +"[i]can't[/i] begin with a number, but you can use numbers after the first " +"character." +msgstr "" +"Identificadores de função não podem conter espaços entre eles. No geral, " +"nomes em linguagens de programação não podem conter espaços entre eles.\n" +"\n" +"O computar usa esses espaços para detectar separações entre diferentes " +"palavras-chave e identificadores.\n" +"\n" +"Ao invés de espaços, no GDScript, nós usamos o símbolo de underscores " +"(\"_\"); Você já viu isso em funções como [code]move_forward()[/code] ou " +"[code]move_local_x()[/code]. Isso é uma convenção que seguimos no GDScript.\n" +"\n" +"Existe outra convenção que programadores usam em algumas outras linguagens " +"de programação.\n" +"\n" +"Ao invés de usar underscores, eles começam as palavras com letra maiúscula " +"exceto a primeira palavra. Com essa convenção, você escreveria nomes de " +"função dessa forma [code]moveForward()[/code] e [code]moveLocalX()[/code]\n" +"\n" +"Identificadores também [i]devem[/i] começar com uma letra ou um underscore; " +"você [i]não pode[/i] começar com um número, mas você pode usar números " +"depois do primeiro caractere do nome." + +#: course/lesson-5-your-first-function/lesson.tres:192 +msgid "Which of the following names are valid function names?" +msgstr "Quais desses nomes são válidos para nome de funções?" + +#: course/lesson-5-your-first-function/lesson.tres:193 +msgid "Note that it's fine to use capital letters." +msgstr "Perceba que está tudo bem em usar letras maiúsculas." + +#: course/lesson-5-your-first-function/lesson.tres:195 +msgid "" +"You can't name a function [code]move forward[/code] because it contains a " +"space. Names in code cannot contain spaces.\n" +"\n" +"They can't start with numbers either, which is why [code]45_degree_turn[/" +"code] is also invalid. \n" +"\n" +"However, having numbers elsewhere in a function name is fine. That's why " +"[code]make3NewCharacters[/code] works." +msgstr "" +"Você não pode nomear um função assim [code]move forward[/code] porque entre " +"os nomes existe um espaço. Nomes em códigos não podem ter espaços entre " +"eles.\n" +"\n" +"Eles também não podem iniciar com números, o que faz esse nome " +"[code]45_degree_turn[/code] também ser inválido.\n" +"\n" +"Entretanto, os nomes podem conter números em qualquer outra parte deles. O " +"nome [code]make3NewCharacters[/code] é válido." + +#: course/lesson-5-your-first-function/lesson.tres:200 +msgid "move forward" +msgstr "move forward" + +#: course/lesson-5-your-first-function/lesson.tres:200 +#: course/lesson-5-your-first-function/lesson.tres:201 +msgid "jump" +msgstr "jump" + +#: course/lesson-5-your-first-function/lesson.tres:200 +#: course/lesson-5-your-first-function/lesson.tres:201 +msgid "make3NewCharacters" +msgstr "make3NewCharacters" + +#: course/lesson-5-your-first-function/lesson.tres:200 +#: course/lesson-5-your-first-function/lesson.tres:201 +msgid "move_forward" +msgstr "move_forward" + +#: course/lesson-5-your-first-function/lesson.tres:200 +msgid "45_degree_turn" +msgstr "45_degree_turn" + +#: course/lesson-5-your-first-function/lesson.tres:208 +msgid "Instantly moving the turtle to a different position" +msgstr "Movendo a tartaruga instantaneamente para uma posição diferente" + +#: course/lesson-5-your-first-function/lesson.tres:210 +msgid "" +"In order to draw multiple squares in different positions, we introduce a new " +"function for our turtle to use.\n" +"\n" +"The [code]jump()[/code] function picks up the turtle and places it relative " +"to where it is.\n" +"\n" +"So calling [code]jump(-100, 50)[/code] moves the turtle by 100 pixels to the " +"[b]left[/b] and 50 pixels [b]down[/b] without drawing any lines." +msgstr "" +"Para desenhar vários quadrados em posições diferentes , vamos introduzir uma " +"nova função para nossa tartaruga usar.\n" +"\n" +"A função [code]jump()[/code] pega a tartaruga e a coloca em relação a onde " +"ela está.\n" +"\n" +"Então, chamar a função [code]jump(-100, 50)[/code] faz a tartaruga se mover " +"100 pixels para a [b]esquerda[/b] e 50 pixels [b]para baixo[/b] sem desenhar " +"nenhuma linha." + +#: course/lesson-5-your-first-function/lesson.tres:232 +msgid "A function to draw squares" +msgstr "Uma função para desenhar quadrados" + +#: course/lesson-5-your-first-function/lesson.tres:233 +msgid "" +"Code a function named [code]draw_square()[/code] to draw one square of " +"length 200 pixels. The function should take no parameters.\n" +"\n" +"Use the [code]move_forward()[/code] and [code]turn_right()[/code] functions " +"to instruct the turtle.\n" +"\n" +"In the following practice, you'll use the [code]draw_square()[/code] " +"function to draw multiple squares by calling your own function." +msgstr "" +"programe uma função chamada [code]draw_square()[/code] para desenhar um " +"quadrado de 200 pixels de comprimento. A função não deve ter nenhum " +"parâmetro.\n" +"\n" +"Use as funções [code]move_forward()[/code] e [code]turn_right()[/code] para " +"instruir a tartaruga.\n" +"\n" +"Na próxima prática, você vai usar a função [code]draw_square()[/code] para " +"desenhar vários quadrados chamando sua própria função." + +#: course/lesson-5-your-first-function/lesson.tres:246 +msgid "" +"Until now, you've had to write code by hand, and it's boring. It's time to " +"code a reusable function. You'll use it to draw multiple squares." +msgstr "" +"Até agora, você tinha que escrever código à mão, e isso é chato. É hora de " +"programar uma função reutilizável. Você vai usar ela para desenhar vários " +"quadrados." + +#: course/lesson-5-your-first-function/lesson.tres:251 +msgid "Drawing multiple squares" +msgstr "Desenhando vários quadrados" + +#: course/lesson-5-your-first-function/lesson.tres:252 +msgid "" +"You have a function to draw one square: [code]draw_square()[/code]. Use it " +"to draw three squares.\n" +"\n" +"We already created [code]draw_square()[/code] for you. Create a function " +"named [code]draw_three_squares[/code] that calls [code]draw_square()[/code] " +"three times.\n" +"\n" +"If you just call the function, all three squares will overlap. To stack them " +"diagonally, call [code]jump(300, 300)[/code] between two calls to " +"[code]draw_square()[/code].\n" +"\n" +"Calling [code]jump(300, 300)[/code] makes the turtle jump by 300 pixels to " +"the right and 300 pixels down without drawing any lines." +msgstr "" +"Você tem uma função para desenhar um quadrado: [code]draw_square()[/code]. " +"Use ela para desenhar três quadrados.\n" +"\n" +"Nós já criamos a função [code]draw_square()[/code] para você. Crie uma " +"função chamada [code]draw_three_squares[/code] que chama a função " +"[code]draw_square()[/code] três vezes.\n" +"\n" +"Se você apenas chamar a função, todos os três quadrados vão se sobrepor. " +"Para empilhá-los na diagonal, chame a função [code]jump(300, 300)[/code] " +"entre duas chamadas da função[code]draw_square()[/code].\n" +"\n" +"Chamar [code]jump(300, 300)[/code] faz a tartaruga pular 300 pixels para a " +"direita e 300 pixels para baixo sem desenhar nenhuma linha." + +#: course/lesson-5-your-first-function/lesson.tres:275 +msgid "" +"Now you created a function to draw squares, you can reuse it by calling it " +"multiple times." +msgstr "" +"Agora que você criou uma função para desenhar quadrados, você pode " +"reutilizar ela chamando ela várias vezes." + +#: course/lesson-5-your-first-function/lesson.tres:279 +msgid "Coding Your First Function" +msgstr "Programando sua Primeira Função" diff --git a/i18n/pt_BR/lesson-6-multiple-function-parameters.po b/i18n/pt_BR/lesson-6-multiple-function-parameters.po new file mode 100644 index 00000000..881bd3de --- /dev/null +++ b/i18n/pt_BR/lesson-6-multiple-function-parameters.po @@ -0,0 +1,541 @@ +# 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 , 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-01 12:52+0000\n" +"Last-Translator: Deolindo \n" +"Language-Team: Portuguese (Brazil) \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 5.0-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:14 +msgid "" +"In the previous part, you created a function to draw a square of a fixed " +"size.\n" +"\n" +"This function is a bit limiting. Instead, it would be much better if we had " +"a function to draw a square of [i]any[/i] size. Or better: any kind of " +"rectangle (a square is a specific kind of rectangle).\n" +"\n" +"In previous lessons, you used the [code]rotate()[/code] function and gave it " +"an [i]argument[/i]." +msgstr "" +"Na parte anterior, você criou uma função para desenhar um quadrado de " +"tamanho fixo.\n" +"\n" +"Essa função é um pouco limitada. Seria muito melhor se tivéssemos uma função " +"para desenhar um quadrado de [i]qualquer[/i] tamanho. Ou melhor: qualquer " +"tipo de retângulo (um quadrado é um tipo específico de retângulo).\n" +"\n" +"Nas lições anteriores, você usou a função [code]rotate()[/code] e deu a ela " +"um [i]parâmetro[/i]." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:38 +msgid "" +"Just like [code]rotate()[/code], we can also give our function " +"[i]parameters[/i]. Parameters are labels you give to values passed to the " +"function." +msgstr "" +"Assim como a função [code]rotate()[/code], também podemos dar à nossa função " +"[i]parâmetros[/i]. Os parâmetros são nomes que você dá aos valores que são " +"passados para a função." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:46 +msgid "Can I rotate in both directions?" +msgstr "Posso rotacionar em ambas as direções?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:48 +msgid "" +"The [code]radians[/code] can be a positive or negative number, which allows " +"you to rotate both clockwise and counter-clockwise." +msgstr "" +"O [code]radiano[/code] pode ser um número positivo ou negativo, o que te " +"permite girar no sentido horário e anti-horário." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:58 +msgid "" +"For now, please focus on the first line: [code]func rotate(radians)[/code].\n" +"\n" +"When you call [code]rotate(0.5)[/code], the computer binds the value " +"[code]0.5[/code] to the label [code]radians[/code].\n" +"\n" +"Wherever the computer sees the identifier [code]radians[/code] inside the " +"function, it replaces it with the [code]0.5[/code] value.\n" +"\n" +"The parameter name is always a label you use to refer to a [i]value[/i]. The " +"value in question can be a number, text, or anything else.\n" +"\n" +"For now, we'll stick to numbers as we have yet to see other value types." +msgstr "" +"Por enquanto, concentre-se na primeira linha: [code]func rotate(radiano)[/" +"code].\n" +"\n" +"Quando você chama a função [code]rotate(0.5)[/code], o computador vincula o " +"valor [code]0.5[/code] ao nome [code]radiano[/code].\n" +"\n" +"Sempre que o computador vê o identificador [code]radiano[/code] dentro da " +"função, ele substitui o nome pelo valor [code]0.5[/code].\n" +"\n" +"O nome do parâmetro é sempre um nome que você usa para se referir a um " +"[i]valor[/i]. O valor em questão pode ser um número, texto ou qualquer outra " +"coisa.\n" +"\n" +"Por enquanto, vamos continuar a usar números, pois ainda temos que ver " +"outros tipos de valores." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:74 +msgid "What is a function parameter?" +msgstr "O que é um parâmetro de uma função?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:77 +msgid "" +"A parameter is a label that represents a value.\n" +"\n" +"The value in question can change: it depends on what you put in parentheses " +"when calling a function." +msgstr "" +"Um parâmetro é um nome que representa um valor.\n" +"\n" +"O valor em questão pode mudar: depende do que você coloca entre parênteses " +"ao chamar uma função." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:80 +#: course/lesson-6-multiple-function-parameters/lesson.tres:81 +msgid "A label you give to a value the function receives." +msgstr "Um nome que você dá a um valor que a função recebe." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:80 +msgid "A number you use to make calculations." +msgstr "Um número que você usa para fazer cálculos." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:80 +msgid "The name of a function." +msgstr "O nome de uma função." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:88 +msgid "How to create functions with parameters" +msgstr "Como criar funções com parâmetros" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:90 +msgid "" +"You can give your function parameters when writing its [i]definition[/i] " +"(the line starting with the [code]func[/code] keyword).\n" +"\n" +"To do so, you add a name inside of the parentheses." +msgstr "" +"Você pode dar parâmetros para suas funções ao escrever sua [i]definição[/i] " +"(a linha que começa com a palavra-chave [code]func[/code]).\n" +"\n" +"Para fazer isso, você adiciona um nome dentro dos parênteses." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:112 +msgid "" +"You can give parameters any name. How you name functions and parameters is " +"up to you. \n" +"\n" +"Just remember that names cannot contain spaces. To write parameter names " +"with multiple words, you need to use underscores.\n" +"\n" +"The following function definition is exactly equivalent to the previous one." +msgstr "" +"Você pode dar qualquer nome aos parâmetros. Você decide como nomear suas " +"funções e parâmetros.\n" +"\n" +"Lembre-se de que os nomes não podem conter espaços. Para escrever nomes de " +"parâmetros com várias palavras, você precisa usar o sinal de underscore.\n" +"\n" +"A definição de função a seguir é exatamente equivalente à anterior." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:136 +msgid "" +"Parameters make your code easier to reuse.\n" +"\n" +"Here's an example with a function to draw any square. Use the slider to " +"change the value passed to the function and draw squares of different sizes." +msgstr "" +"Os parâmetros facilitam a reutilização do seu código.\n" +"\n" +"Aqui está um exemplo de uma função para desenhar qualquer quadrado. Use o " +"slider para alterar o valor passado para a função e desenhar quadrados de " +"tamanhos diferentes." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:156 +msgid "Which is the correct syntax for a function definition?" +msgstr "Qual é a sintaxe correta para uma definição de função?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:159 +msgid "" +"To define a function, you need to start with the [code]func[/code] keyword " +"followed by a space, the [code]function_name[/code], and optional parameters " +"inside parentheses.\n" +"\n" +"You must end the line with a colon, which defines a new code block. We'll " +"see moving forward that keywords other than [code]func[/code] require a " +"colon at the end of the line." +msgstr "" +"Para definir uma função, você precisa começar com a palavra-chave " +"[code]func[/code] seguida por um espaço, o [code]nome_da_função[/code] e " +"parâmetros opcionais dentro dos parênteses.\n" +"\n" +"Você deve terminar a linha com o sinal de dois pontos, que define um novo " +"bloco de código. Vamos ver mais pra frente que outras palavras-chave " +"diferentes de [code]func[/code] também vão exigir os dois pontos no final da " +"linha." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +#: course/lesson-6-multiple-function-parameters/lesson.tres:163 +msgid "func function_name(parameter_name):" +msgstr "func nome_da_função(nome_do_parâmetro):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +msgid "func (function_name): parameter_name" +msgstr "func (nome_da_função): nome_do_parâmetro" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +msgid "func function_name(parameter_name)" +msgstr "func nome_da_função(nome_do_parâmetro)" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +msgid "function_name(parameter_name):" +msgstr "nome_da_função(nome_do_parâmetro):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:170 +msgid "Functions can have multiple parameters" +msgstr "Funções podem ter vários parâmetros" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:172 +msgid "" +"You can use multiple parameters in a function. In fact, you can use as many " +"as you [i]need[/i].\n" +"\n" +"To separate the function parameters, you need to write a comma between them." +msgstr "" +"Você pode usar vários parâmetros em uma função. Na verdade, você pode usar " +"quantos parâmetros você [i]precisar[/i].\n" +"\n" +"Para separar os parâmetros da função, você precisa escrever uma vírgula " +"entre eles." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:192 +msgid "Must I write spaces between function parameters?" +msgstr "Devo escrever espaços entre os parâmetros da função?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:194 +msgid "" +"In a function definition, you must have a space between the [code]func[/" +"code] keyword and the function name.\n" +"\n" +"However, because we use the comma to separate parameters, it doesn't matter " +"if you use spaces between parameters. As long as you have the comma, either " +"syntax is correct.\n" +"\n" +"We often use spaces after the comma for readability." +msgstr "" +"Em uma definição de função, você deve ter um espaço entre a palavra-chave " +"[code]func[/code] e o nome da função.\n" +"\n" +"No entanto, como usamos a vírgula para separar os parâmetros, não importa se " +"você usa espaços entre os parâmetros. Contanto que você tenha a vírgula, " +"qualquer uma das sintaxes está correta.\n" +"\n" +"Nós costumamos a usar espaços após a vírgula para facilitar a leitura do " +"código." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:208 +msgid "" +"The following example defines a function that uses two parameters to move an " +"entity on both the X and Y axes." +msgstr "" +"O exemplo a seguir define uma função que usa dois parâmetros para mover uma " +"entidade nos eixos X e Y." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:226 +msgid "How should I name my functions and parameters?" +msgstr "De que forma eu devo nomear minhas funções e parâmetros?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:228 +msgid "" +"The names of functions, parameters, or other things in your code are " +"entirely up to you.\n" +"\n" +"They are written by us programmers for other programmers. You want to use " +"the names that make the most sense to you and fellow programmers.\n" +"\n" +"You could absolutely write single-letter names like in maths classes: " +"[code]a[/code], [code]b[/code], [code]f[/code].\n" +"\n" +"You can also write abbreviated names like [code]pos[/code] for position, " +"[code]bg[/code] for background, and so on.\n" +"\n" +"Many programmers do either or both of the above.\n" +"\n" +"At GDQuest, we favor complete and explicit names.\n" +"\n" +"We generally try to write code that is explicit and relatively easy to " +"read.\n" +"\n" +"Right now, you have to enter every letter when you code, so long names may " +"feel inconvenient.\n" +"\n" +"However, this is good for learning: it trains your fingers to [ignore]type " +"precisely.\n" +"\n" +"Then, after you finish this course, you will see that the computer assists " +"you a lot when you code real games with a feature called auto-completion.\n" +"\n" +"Based on a few characters you [ignore]type, it will offer you to complete " +"long names." +msgstr "" +"Os nomes de funções, parâmetros ou outras coisas em seu código dependem " +"inteiramente de você.\n" +"\n" +"Eles são escritos por nós programadores para outros programadores. Você vai " +"querer usar os nomes que fazem mais sentido para você e seus colegas " +"programadores.\n" +"\n" +"Você poderia muito bem escrever nomes de uma única letra como nas aulas de " +"matemática: [code]a[/code], [code]b[/code], [code]f[/code].\n" +"\n" +"Você também pode escrever nomes abreviados como [code]pos[/code] para " +"posição, [code]bg[/code] para background e assim por diante.\n" +"\n" +"Muitos programadores fazem uma ou ambas as opções acima.\n" +"\n" +"Na GDQuest, preferimos nomes completos e explícitos.\n" +"\n" +"Geralmente tentamos escrever código que seja explícito e relativamente fácil " +"de ler.\n" +"\n" +"No momento, você precisa digitar todas as letras ao programar, portanto, " +"nomes longos podem parecer inconvenientes.\n" +"\n" +"No entanto, isso é bom para aprender: ele treina seus dedos para " +"[ignore]digitar com precisão.\n" +"\n" +"Então, depois de terminar este curso, você verá que o computador o auxilia " +"muito na hora de programar jogos reais com um recurso chamado auto-" +"completar.\n" +"\n" +"Com base em alguns caracteres que você [ignore]digita, ele oferecerá nomes " +"longos completos." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:256 +msgid "When defining a function, parameters are..." +msgstr "Ao definir uma função, os parâmetros são..." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:259 +msgid "" +"You can define functions with or without parameters, depending on your needs." +msgstr "" +"Você pode definir funções com ou sem parâmetros, depende da suas " +"necessidades." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:260 +#: course/lesson-6-multiple-function-parameters/lesson.tres:261 +msgid "Optional" +msgstr "Opcional" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:260 +msgid "Mandatory" +msgstr "Obrigatório" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:268 +msgid "" +"What's the correct syntax to define a function with multiple parameters?" +msgstr "" +"Qual é a sintaxe correta para definir uma função com vários parâmetros?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:271 +msgid "" +"You always write the function parameters inside of the parentheses. To " +"define multiple parameters, you separate them with a comma." +msgstr "" +"Você sempre escreve os parâmetros da função dentro dos parênteses. Para " +"definir vários parâmetros, você separa eles com uma vírgula." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:272 +#: course/lesson-6-multiple-function-parameters/lesson.tres:273 +msgid "func function_name(parameter_1, parameter_2, ...):" +msgstr "func nome_da_função(parâmetro_1, parâmetro_2, ...):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:272 +msgid "func function_name(parameter_1 parameter_2 ...):" +msgstr "func nome_da_função(parâmetro_1 parâmetro_2 ...):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:272 +msgid "func function_name(): parameter_1, parameter_2, ..." +msgstr "func nome_da_função(): parâmetro_1, parâmetro_2, ..." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:282 +msgid "" +"Now it's your turn to create a function with multiple parameters: a function " +"to draw rectangles of any size." +msgstr "" +"Agora é sua vez de criar uma função com vários parâmetros: uma função para " +"desenhar retângulos de qualquer tamanho." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:290 +msgid "Drawing corners of different sizes" +msgstr "Desenhando ângulos de 90° de tamanhos diferentes" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:291 +msgid "" +"Before we create a rectangle of any size, let's first see how we can use " +"parameters to draw simpler shapes.\n" +"\n" +"Here we have an incomplete function that will draw corners with lines of any " +"length, but it's missing its [code]length[/code] parameter.\n" +"\n" +"The function will move the turtle forward an amount defined by the parameter " +"[code]length[/code], turn [code]90[/code] degrees, then move forward " +"[code]length[/code] pixels.\n" +"\n" +"Complete the [code]draw_corner()[/code] function so it uses the " +"[code]length[/code] parameter to draw corners." +msgstr "" +"Antes de criarmos um retângulo de qualquer tamanho, vamos primeiro ver como " +"podemos usar parâmetros para desenhar formas mais simples.\n" +"\n" +"Aqui temos uma função incompleta que irá desenhar ângulos de 90° com linhas " +"de qualquer comprimento, mas está faltando o parâmetro [code]length[/code].\n" +"\n" +"A função vai mover a tartaruga para frente pela quantidade definida pelo " +"parâmetro [code]length[/code], vai girar [code]90[/code] graus, então vai " +"mover para frente pela quantidade de [code]length[/code] pixels.\n" +"\n" +"Complete a função [code]draw_corner()[/code] para que ela use o parâmetro " +"[code]length[/code] para desenhar ângulos de 90°." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:309 +msgid "" +"Using function parameters, code a function you can reuse to draw corners " +"with lines of varying sizes." +msgstr "" +"Usando parâmetros de função, programe uma função que você pode reutilizar " +"para desenhar ângulos de 90° com linhas de tamanhos variados." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:314 +msgid "Using multiple parameters" +msgstr "Usando vários parâmetros" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:315 +msgid "" +"In this practice, we'll improve our [code]draw_corner()[/code] function so " +"the angle can also vary.\n" +"\n" +"Add the [code]angle[/code] parameter after the [code]length[/code] parameter " +"in the [code]draw_corner()[/code] function and use it to draw corners of " +"varying angles." +msgstr "" +"Neste exercício, vamos melhorar nossa função [code]draw_corner()[/code] para " +"que o ângulo também possa variar.\n" +"\n" +"Adicione o parâmetro [code]angle[/code] após o parâmetro [code]length[/code] " +"na função [code]draw_corner()[/code] e use ela para desenhar bordas de " +"ângulos variados." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:329 +msgid "With two parameters, code a function to draw corners with any angle." +msgstr "" +"Com dois parâmetros, programe uma função para desenhar ângulos de 90° com " +"qualquer ângulo." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:334 +msgid "Drawing squares of any size" +msgstr "Desenhando quadrados de qualquer tamanho" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:335 +msgid "" +"We want a function to draw squares of any size.\n" +"\n" +"We could use these squares as outlines when selecting units in a tactical " +"game, as a frame for items in an inventory, and more.\n" +"\n" +"Create a function named [code]draw_square()[/code] that takes one parameter: " +"the [code]length[/code] of the square's sides.\n" +"\n" +"[b]The turtle should face towards the right when starting or completing a " +"square.[/b]\n" +"\n" +"Be sure to call [b]turn_right(90)[/b] enough times in your function to do " +"so." +msgstr "" +"Queremos uma função para desenhar quadrados de qualquer tamanho.\n" +"\n" +"Poderíamos usar esses quadrados como contornos ao selecionar unidades em um " +"jogo tático, como moldura para itens em um inventário e muito mais.\n" +"\n" +"Crie uma função chamada [code]draw_square()[/code] que receba um parâmetro: " +"o [code]length[/code] (comprimento) dos lados do quadrado.\n" +"\n" +"[b]A tartaruga deve ficar virada para a direita ao iniciar ou completar um " +"quadrado.[/b]\n" +"\n" +"Certifique-se de chamar [b]turn_right(90)[/b] vezes suficientes em sua " +"função para fazer isso." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:352 +msgid "" +"In the previous lesson, your function would draw squares of a fixed size. " +"Using a parameter, code a function to draw squares of any size." +msgstr "" +"Na lição anterior, sua função podia desenhar quadrados de tamanho fixo. " +"Usando um parâmetro, programe uma função para desenhar quadrados de qualquer " +"tamanho." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:357 +msgid "Drawing rectangles of any size" +msgstr "Desenhando retângulos de qualquer tamanho" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:358 +msgid "" +"Let's make our square drawing function more flexible to include rectangles " +"of varying sizes.\n" +"\n" +"Your job is to code a function named [code]draw_rectangle()[/code] that " +"takes two parameters: the [code]length[/code] and the [code]height[/code] of " +"the rectangle.\n" +"\n" +"[b]The turtle should face towards the right when starting or completing a " +"rectangle.[/b]\n" +"\n" +"Note that we could still draw a square with [code]draw_rectangle()[/code] by " +"having the [code]length[/code] and [code]height[/code] equal the same value." +msgstr "" +"Vamos tornar nossa função de desenhar quadrados mais flexível para incluir " +"retângulos de tamanhos variados.\n" +"\n" +"Seu trabalho é programar uma função chamada [code]draw_rectangle()[/code] " +"que recebe dois parâmetros: o [code]length[/code] (comprimento) e o " +"[code]height[/code] (altura) do retângulo.\n" +"\n" +"[b]A tartaruga deve ficar voltada para a direita ao iniciar ou completar um " +"retângulo.[/b]\n" +"\n" +"Observe que ainda podemos desenhar um quadrado com [code]draw_rectangle()[/" +"code] fazendo com que [code]length[/code] e [code]height[/code] sejam iguais." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:381 +msgid "" +"With one parameter, you can make squares of any size. With two, you can draw " +"any rectangle! You'll do so in this practice." +msgstr "" +"Com um parâmetro, você pode fazer quadrados de qualquer tamanho. Com dois, " +"você pode desenhar qualquer retângulo! Você vai fazer isso nessa prática." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:385 +msgid "Your First Function Parameter" +msgstr "Seu Primeiro Parâmetro de Função" diff --git a/i18n/pt_BR/lesson-7-member-variables.po b/i18n/pt_BR/lesson-7-member-variables.po new file mode 100644 index 00000000..5cca9005 --- /dev/null +++ b/i18n/pt_BR/lesson-7-member-variables.po @@ -0,0 +1,434 @@ +# 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 , 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-01 12:52+0000\n" +"Last-Translator: Deolindo \n" +"Language-Team: Portuguese (Brazil) \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 5.0-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-7-member-variables/lesson.tres:14 +msgid "" +"In this lesson, we take a first look at variables.\n" +"\n" +"In games, you need to keep track of many values that change over time:\n" +"\n" +"- The player's score.\n" +"- Every character or enemy's health.\n" +"- The last checkpoint.\n" +"\n" +"And so much more. You need to store, retrieve, and update those values.\n" +"\n" +"We call those values [i]variables[/i]. Variables are labels you use to keep " +"track of values that vary over time. Here's an example of a variable " +"tracking a character or monster's health." +msgstr "" +"Nessa lição, vamos dar uma primeira olhada em variáveis.\n" +"\n" +"Nos jogos, você precisa acompanhar muitos valores que mudam ao longo do " +"tempo:\n" +"\n" +"- A pontuação do jogador.\n" +"- A vida de cada personagem ou inimigo.\n" +"- O último ponto de controle (checkpoint).\n" +"\n" +"E muito mais. Você precisa armazenar, recuperar e atualizar esses valores.\n" +"\n" +"Chamamos esses valores de [i]variáveis[/i]. Variáveis são nomes que você usa " +"para acompanhar os valores que variam ao longo do tempo. Aqui está um " +"exemplo de uma variável rastreando a vida de um personagem ou monstro." + +#: course/lesson-7-member-variables/lesson.tres:44 +msgid "" +"The line above defines a new variable named [code]health[/code] and assigns " +"it a starting value of [code]100[/code] (that's what the equal sign does, " +"more on that below).\n" +"\n" +"Function parameters, which you saw in the previous lesson, are another " +"example of variables." +msgstr "" +"A linha acima define uma nova variável chamada [code]health[/code] e atribui " +"nela um valor inicial de [code]100[/code] (é isso que o sinal de igual faz, " +"vamos falar mais sobre isso mais abaixo).\n" +"\n" +"Parâmetros de função, que você viu na lição anterior, são outro exemplo de " +"variáveis." + +#: course/lesson-7-member-variables/lesson.tres:56 +msgid "" +"In this lesson, we start using variables built into Godot. They're a " +"particular kind called [i]member variables[/i].\n" +"\n" +"Member variables are values attached to a game entity. They're useful " +"properties like the [code]position[/code], [code]rotation[/code], and " +"[code]scale[/code] of a character.\n" +"\n" +"In a previous lesson, we saw how we could use the [code]rotate()[/code] " +"function to rotate our character." +msgstr "" +"Nessa lição, vamos começar a usar variáveis que já estão incorporadas na " +"Godot. Elas são um tipo particular de variáveis chamadas [i]variáveis " +"membro[/i].\n" +"\n" +"Variáveis membro são valores anexados a uma entidade de um jogo. São " +"propriedades úteis como [code]position[/code], [code]rotation[/code] e " +"[code]scale[/code] de um personagem.\n" +"\n" +"Em uma lição anterior, vimos como poderíamos usar a função [code]rotate()[/" +"code] para rotacionar nosso personagem." + +#: course/lesson-7-member-variables/lesson.tres:80 +msgid "" +"This function increases or decreases the value of the entity's " +"[code]rotation[/code] member variable.\n" +"\n" +"Say we want to reset the rotation to [code]0[/code] and make the character " +"upright. Using the [code]rotate()[/code] function can prove difficult: you " +"need to know the character's exact current angle to cancel it out.\n" +"\n" +"It's much easier to use the member variable rather than the function.\n" +"\n" +"The following code assigns the value [code]0[/code] to the character's " +"rotation, resetting its angle and making it upright." +msgstr "" +"Esta função aumenta ou diminui o valor da variável membro [code]rotation[/" +"code] da entidade.\n" +"\n" +"Digamos que nós queremos redefinir a rotação para [code]0[/code] e deixar o " +"personagem na vertical. Usar a função [code]rotate()[/code] para isso pode " +"ser difícil: você precisaria saber o ângulo atual exato do personagem.\n" +"\n" +"É muito mais fácil usar a variável membro em vez da função.\n" +"\n" +"O código a seguir atribui o valor [code]0[/code] na rotação do personagem, " +"redefinindo seu ângulo e fazendo ele ficar na vertical." + +#: course/lesson-7-member-variables/lesson.tres:106 +msgid "" +"Notice how we use the equal sign ([code]=[/code]) to change the value of a " +"variable." +msgstr "" +"Observe como usamos o sinal de igual ([code]=[/code]) para mudar o valor de " +"uma variável." + +#: course/lesson-7-member-variables/lesson.tres:114 +msgid "What's a variable?" +msgstr "O que é uma variável?" + +#: course/lesson-7-member-variables/lesson.tres:117 +msgid "" +"Variables are labels you use to access values that change over time.\n" +"\n" +"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 "" +"Variáveis são nomes que você usa para acessar valores que mudam ao longo do " +"tempo.\n" +"\n" +"Você também pode usar as variáveis para colocar um nome em um valor que você " +"deseja reutilizar em todo o código. Isso torna seu código mais fácil de ler " +"e alterar." + +#: course/lesson-7-member-variables/lesson.tres:120 +#: course/lesson-7-member-variables/lesson.tres:121 +msgid "A label you use to keep track of a value that can change." +msgstr "Um nome que você usa para acompanhar um valor que pode mudar." + +#: course/lesson-7-member-variables/lesson.tres:120 +msgid "A function that varies over time." +msgstr "Uma função que varia ao longo do tempo." + +#: course/lesson-7-member-variables/lesson.tres:120 +msgid "A decimal number." +msgstr "Um número decimal." + +#: course/lesson-7-member-variables/lesson.tres:128 +msgid "Accessing sub-variables with the dot" +msgstr "Acessando sub-variáveis com o sinal de ponto final" + +#: course/lesson-7-member-variables/lesson.tres:130 +msgid "" +"In video games, you will see many member variables that have sub-values.\n" +"\n" +"For example, the [code]position[/code] we mentioned has two coordinates: " +"[code]x[/code] and [code]y[/code].\n" +"\n" +"It's the same for the [code]scale[/code]: it has [code]x[/code] and [code]y[/" +"code] sub-variables. They respectively control the horizontal and vertical " +"size of the game entity.\n" +"\n" +"To access those X and Y sub-components, you add a dot (\".\") after the " +"variable name.\n" +"\n" +"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 "" +"Nos jogos, você vai ver muitas variáveis membro que possuem sub-valores.\n" +"\n" +"Por exemplo, a [code]position[/code] que mencionamos tem duas coordenadas: " +"[code]x[/code] e [code]y[/code].\n" +"\n" +"É o mesmo para a [code]scale[/code]: tem as sub-variáveis [code]x[/code] e " +"[code]y[/code]. Elas controlam respectivamente o tamanho horizontal e " +"vertical da entidade do jogo.\n" +"\n" +"Para acessar esses subcomponentes X e Y, adicione um ponto final (\".\") " +"após o nome da variável.\n" +"\n" +"O código abaixo coloca a entidade em [code]180[/code] pixels no eixo x e " +"[code]120[/code] pixels no eixo y." + +#: course/lesson-7-member-variables/lesson.tres:158 +msgid "" +"Notice how we use the equal sign (\"=\") to assign the numbers on the right " +"to the sub-variables on the left.\n" +"\n" +"Unlike in maths, in computer programming, the equal sign (\"=\") does not " +"mean \"is equal to.\"\n" +"\n" +"Instead, it means \"assign the result of the expression on the right to the " +"variable on the left\". We assign values so often in code that we prefer to " +"reserve the equal sign for that." +msgstr "" +"Observe como usamos o sinal de igual (\"=\") para atribuir os números que " +"estão na direita para a sub-variável na esquerda.\n" +"\n" +"Ao contrário da matemática, na programação de computadores, o sinal de igual " +"(\"=\") não significa \"é igual a\".\n" +"\n" +"Em vez disso, significa \"atribuir o resultado da expressão da direita para " +"a variável da esquerda\". Nós atribuímos valores com tanta frequência no " +"código que preferimos reservar o sinal de igual para esse propósito." + +#: course/lesson-7-member-variables/lesson.tres:170 +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 +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" +"\n" +"In math, the y-axis is generally positive going up by convention.\n" +"\n" +"The convention is the [i]opposite[/i] in video games and many computer " +"applications: the y-axis is positive going down." +msgstr "" +"Observe que em jogos, assumindo que a posição do seu personagem começa em " +"(0, 0), o código acima move a entidade [code]180[/code] pixels para a " +"direita e [code]120[/code] pixels para baixo.\n" +"\n" +"Em matemática, o eixo y é geralmente positivo subindo, por convenção.\n" +"\n" +"A convenção em videogames é o [i]oposto[/i] e em muitos aplicativos de " +"computador também: o eixo y é positivo descendo." + +#: course/lesson-7-member-variables/lesson.tres:194 +msgid "Why does the Y-axis point downwards?" +msgstr "Por que o eixo Y aponta para baixo?" + +#: course/lesson-7-member-variables/lesson.tres:196 +msgid "" +"This may be confusing if you only saw the y-axis pointing up in math " +"classes. However, in math, axes go in any direction. They don't even have to " +"be perpendicular.\n" +"\n" +"On the computer, the position (0, 0) happens to correspond to the top-left " +"of your computer screen. It then makes sense for coordinates to be positive " +"when going towards the bottom-right corner.\n" +"\n" +"This leads to another question: why is position zero the top left of the " +"screen? This is due to computer and TV displays history: they would " +"calculate and display pixels starting from the top left corner and moving " +"towards the bottom right corner." +msgstr "" +"Isso pode ser confuso se você só viu o eixo y apontando para cima nas aulas " +"de matemática. No entanto, em matemática, os eixos vão em qualquer direção. " +"Eles nem precisam ser perpendiculares.\n" +"\n" +"No computador, a posição (0, 0) corresponde ao canto superior esquerdo do " +"seu monitor. Então, faz sentido que as coordenadas sejam positivas ao ir " +"para o canto inferior direito.\n" +"\n" +"Isso nós leva a outra pergunta: por que a posição zero é o canto superior " +"esquerdo da tela? Isso se deve a história de como eram feitos os monitores e " +"as TVs: eles calculam e exibem pixels começando no canto superior esquerdo e " +"se move em direção ao canto inferior direito." + +#: course/lesson-7-member-variables/lesson.tres:210 +msgid "" +"Let's look at one last example before moving on to the practice. The " +"following code makes the character 1.5 times its starting size." +msgstr "" +"Vamos ver um último exemplo antes de passar para a prática. O código a " +"seguir faz o personagem ficar 1,5 vezes maior do que seu tamanho inicial." + +#: course/lesson-7-member-variables/lesson.tres:228 +msgid "How do you access sub-variables?" +msgstr "Como você acessa sub-variáveis?" + +#: course/lesson-7-member-variables/lesson.tres:229 +msgid "" +"Variables often hold sub-values, like the [code]position[/code] has two sub-" +"variables: [code]x[/code] and [code]y[/code]. How would you access the " +"[code]x[/code], for example?" +msgstr "" +"As variáveis geralmente contêm sub-valores, igual a variável [code]position[/" +"code] que tem duas sub-variáveis: [code]x[/code] e [code]y[/code]. Como você " +"acessaria a sub-variável [code]x[/code], por exemplo?" + +#: course/lesson-7-member-variables/lesson.tres:231 +msgid "" +"To access a sub-variable, you need to write a dot between the parent " +"variable name and the sub-variable name.\n" +"\n" +"For example, to access the [code]x[/code] sub-variable of the " +"[code]position[/code] variable, you'll write [code]position.x[/code]." +msgstr "" +"Para acessar uma sub-variável, você precisa escrever um ponto final entre o " +"nome da variável pai e o nome da sub-variável.\n" +"\n" +"Por exemplo, para acessar a sub-variável [code]x[/code] da variável " +"[code]position[/code], você vai escrever [code]position.x[/code]." + +#: course/lesson-7-member-variables/lesson.tres:234 +#: course/lesson-7-member-variables/lesson.tres:235 +msgid "You write a dot (\".\") between the variable and the sub-variable name." +msgstr "" +"Você escreve um ponto final (\".\") entre a variável e o nome da sub-" +"variável." + +#: course/lesson-7-member-variables/lesson.tres:234 +msgid "" +"You write an arrow (\"->\") between the variable and the sub-variable name." +msgstr "" +"Você escreve uma seta (\"->\") entre a variável e o nome da sub-variável." + +#: course/lesson-7-member-variables/lesson.tres:234 +msgid "" +"You write a slash (\"/\") between the variable and the sub-variable name." +msgstr "" +"Você escreve uma barra (\"/\") entre a variável e o nome da sub-variável." + +#: course/lesson-7-member-variables/lesson.tres:244 +msgid "" +"In a future lesson, we'll explain why and how those variables have sub-" +"variables.\n" +"\n" +"For now, just know you can use the dot to access them.\n" +"\n" +"We'll tell you which variables have sub-components and what their names " +"are.\n" +"\n" +"In the next lessons, you'll create your own variables and do operations on " +"them to add or remove [code]score[/code], [code]health[/code], you name it.\n" +"\n" +"For now, let's practice accessing variables." +msgstr "" +"Em uma lição futura, nós vamos explicar o por que e como essas variáveis têm " +"sub-variáveis.\n" +"\n" +"Por enquanto, apenas saiba que você pode usar o ponto final para acessá-" +"las.\n" +"\n" +"Nós vamos te dizer quais variáveis têm subcomponentes e quais são seus " +"nomes.\n" +"\n" +"Nas próximas lições, você vai criar suas próprias variáveis e vai fazer " +"operações nelas para adicionar ou remover coisas como: [code]score[/code] " +"(pontos), [code]health[/code] (vida) ou qualquer outra coisa.\n" +"\n" +"Por enquanto, vamos praticar o acesso a variáveis." + +#: course/lesson-7-member-variables/lesson.tres:260 +msgid "Draw a rectangle at a precise position" +msgstr "Desenhe um retângulo em uma posição precisa" + +#: course/lesson-7-member-variables/lesson.tres:261 +msgid "" +"Draw a rectangle of 200 by 120 pixels at the X position of 120 pixels and Y " +"position of 100 pixels.\n" +"\n" +"You need to replace the numbers in the code editor to draw the correct " +"rectangle." +msgstr "" +"Desenhe um retângulo de 200 pixels de comprimento por 120 pixels de altura " +"na posição X de 120 pixels e na posição Y de 100 pixels.\n" +"\n" +"Você precisa substituir os números no editor de código para desenhar o " +"retângulo correto." + +#: course/lesson-7-member-variables/lesson.tres:275 +msgid "" +"Use the position member variable and its sub-variables to change the " +"rectangle's position." +msgstr "" +"Use a variável membro \"position\" e suas sub-variáveis para alterar a " +"posição do retângulo." + +#: course/lesson-7-member-variables/lesson.tres:280 +msgid "Draw squares at different positions" +msgstr "Desenhe quadrados em diferentes posições" + +#: course/lesson-7-member-variables/lesson.tres:281 +msgid "" +"Draw three squares of size 100 by 100 that are 100 pixels apart on the " +"horizontal axis. In other words, there should be a 100-pixel gap between two " +"squares.\n" +"\n" +"You should draw the squares starting at the position (100, 100). This means " +"you should position the first square at 100 on the X axis and 100 on the Y " +"axis.\n" +"\n" +"Remember you need to use the equal sign ([code]=[/code]) to change the value " +"of a variable, like the turtle's position.\n" +"\n" +"Write your code inside the [code]run()[/code] function so the computer can " +"recognize it.\n" +"\n" +"Use the provided [code]draw_rectangle()[/code] function to draw each square." +msgstr "" +"Desenhe três quadrados de tamanho 100 por 100, separados por 100 pixels no " +"eixo horizontal. Em outras palavras, deve haver um espaço de 100 pixels " +"entre os dois quadrados.\n" +"\n" +"Você deve desenhar os quadrados começando na posição (100, 100). Isso " +"significa que você deve posicionar o primeiro quadrado em 100 no eixo X e " +"100 no eixo Y.\n" +"\n" +"Lembre-se que você precisa usar o sinal de igual ([code]=[/code]) para " +"alterar o valor de uma variável, como a posição da tartaruga.\n" +"\n" +"Escreva seu código dentro da função [code]run()[/code] para que o computador " +"possa reconhecer o código.\n" +"\n" +"Use a função [code]draw_rectangle()[/code] para desenhar cada quadrado." + +#: course/lesson-7-member-variables/lesson.tres:299 +msgid "" +"Now you can place and draw one shape, but how about drawing several? In this " +"practice, you'll place three squares side by side to really get the hang of " +"properties." +msgstr "" +"Agora você pode colocar e desenhar uma forma, mas que tal desenhar várias? " +"Neste exercício, você colocará três quadrados lado a lado para realmente " +"pegar o jeito das propriedades." + +#: course/lesson-7-member-variables/lesson.tres:303 +msgid "Introduction to Member Variables" +msgstr "Introdução às variáveis membro" diff --git a/i18n/pt_BR/lesson-8-defining-variables.po b/i18n/pt_BR/lesson-8-defining-variables.po new file mode 100644 index 00000000..6f1240f8 --- /dev/null +++ b/i18n/pt_BR/lesson-8-defining-variables.po @@ -0,0 +1,325 @@ +# 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 , 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 \n" +"Language-Team: Portuguese (Brazil) \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-8-defining-variables/lesson.tres:13 +msgid "" +"In the previous lesson, you used a predefined member variable named " +"[code]position[/code].\n" +"\n" +"In your projects, you will need to define your own variables.\n" +"\n" +"Imagine that you need to track the player's health in your game.\n" +"\n" +"They may start with [code]5[/code] health points. When taking a hit, the " +"health should go down to [code]4[/code]. After another hit, it should be " +"[code]3[/code]. And so on.\n" +"\n" +"To keep track of that, you can create a variable named [code]health[/code] " +"to which you add and subtract points.\n" +"\n" +"The example below introduces the [code]print()[/code] function, which " +"outputs its argument to the output box on the left.\n" +"\n" +"Click the [i]run()[/i] button to instantly run the entire function, and " +"click the [i]step[/i] button to execute lines of code one by one.\n" +"\n" +"The [i]Debugger[/i] panel at the bottom shows the current value of the " +"[code]health[/code] variable." +msgstr "" +"Na lição anterior, você usou uma variável membro predefinida chamada " +"[code]position[/code].\n" +"\n" +"Em seus projetos, você vai precisar definir suas próprias variáveis.\n" +"\n" +"Imagine que você precisa acompanhar a vida do jogador no seu jogo.\n" +"\n" +"Ela pode começar com [code]5[/code] pontos. Ao receber um golpe, a vida cai " +"para [code]4[/code]. Depois de outro hit, deve ser [code]3[/code]. E assim " +"por diante.\n" +"\n" +"Para acompanhar isso, você pode criar uma variável chamada " +"[code]health[/code] que você pode usar para adicionar e subtrair pontos.\n" +"\n" +"O exemplo abaixo apresenta a função [code]print()[/code], que envia seu " +"parâmetro para a caixa de saída à esquerda.\n" +"\n" +"Clique no botão [i]executar()[/i] para executar instantaneamente a função " +"inteira, e clique no botão [i]passo[/i] para executar as linhas de código " +"uma a uma.\n" +"\n" +"O painel [i]Depurador[/i] na parte inferior mostra o valor atual da variável " +"[code]health[/code]." + +#: course/lesson-8-defining-variables/lesson.tres:47 +msgid "" +"After executing the first two lines of code, you will have a health variable " +"storing a value of [code]4[/code].\n" +"\n" +"Below, we'll break down how you define new variables and explain the " +"[code]print()[/code] function." +msgstr "" +"Depois de executar as duas primeiras linhas de código, você vai ter uma " +"variável de vida armazenando um valor de [code]4[/code] pontos.\n" +"\n" +"Abaixo, vamos detalhar como você define novas variáveis e explicaremos a " +"função [code]print()[/code]." + +#: course/lesson-8-defining-variables/lesson.tres:57 +msgid "Defining a variable" +msgstr "Definindo uma variável" + +#: course/lesson-8-defining-variables/lesson.tres:59 +msgid "" +"To use a variable, you must first define it so the computer registers its " +"name.\n" +"\n" +"To do so, you start a line of code with the [code]var[/code] keyword " +"followed by your desired variable name. Like [code]func[/code] stands for " +"[i]function[/i], [code]var[/code] stands for [i]variable[/i].\n" +"\n" +"Variables are case-sensitive, which means [code]health[/code] and " +"[code]Health[/code] are technically different variables. Be careful to use " +"the same capitalization wherever you refer to the same variable, or you " +"could be reading or writing to a different variable.\n" +"\n" +"The following line defines a [code]health[/code] variable pointing to no " +"value. You can think of it as creating a product label you have yet to stick " +"onto something." +msgstr "" +"Para usar uma variável, você deve primeiro defini-la para que o computador " +"registre seu nome.\n" +"\n" +"Para fazer isso, você inicia uma linha de código com a palavra-chave " +"[code]var[/code] seguida do nome desejado para a variável. Assim como " +"[code]func[/code] significa [i]função[/i], [code]var[/code] significa " +"[i]variável[/i].\n" +"\n" +"Variáveis são sensíveis a letras maiúsculas e minúsculas. Isso significa que " +"[code]health[/code] and [code]Health[/code] são tecnicamente duas variáveis " +"diferentes. Tome cuidado para usar a mesma capitalização quando for se " +"referir a uma variável, ou você pode acabar lendo ou escrevendo numa " +"variável diferente.\n" +"\n" +"A linha a seguir define uma variável [code]health[/code] que não possui " +"nenhum valor. Você pode pensar nisso como criar um rótulo de um produto que " +"você ainda precisa colar em algo (ou seja, você criou a variável e não " +"colocou nenhum valor nela ainda)." + +#: course/lesson-8-defining-variables/lesson.tres:85 +msgid "" +"Like with functions, a member variable's name must be unique inside a given " +"code file. Creating two variables next to each other with the same name will " +"cause an error." +msgstr "" +"Assim como as funções, o nome de uma variável membro deve ser exclusivo " +"dentro de um determinado arquivo de código. Criar duas variáveis próximas " +"uma da outra com o mesmo nome causará um erro." + +#: course/lesson-8-defining-variables/lesson.tres:105 +msgid "" +"To use a variable, you want to assign it a starting value. You can do so " +"using the equal sign (=).\n" +"\n" +"This code assigns the value [code]100[/code] to a new variable named " +"[code]health[/code]." +msgstr "" +"Para usar uma variável, você deve atribuir a ela um valor inicial. Você pode " +"fazer isso usando o sinal de igual (=).\n" +"\n" +"Esse código atribui o valor [code]100[/code] em uma nova variável chamada " +"[code]health[/code]." + +#: course/lesson-8-defining-variables/lesson.tres:127 +msgid "" +"After defining your variable, you can access its value by writing the " +"variable's name." +msgstr "" +"Depois de definir sua variável, você pode acessar seu valor escrevendo o " +"nome dela." + +#: course/lesson-8-defining-variables/lesson.tres:147 +msgid "" +"The code above will display the number [code]100[/code] to some output " +"window.\n" +"\n" +"Notice we don't use the [code]var[/code] keyword anymore as we only need it " +"to [i]define[/i] a variable.\n" +"\n" +"Also, once you define a variable, you can change its value anytime with the " +"equal sign." +msgstr "" +"O código acima exibirá o número [code]100[/code] em alguma janela de saída.\n" +"\n" +"Observe que não usamos mais a palavra-chave [code]var[/code] pois só " +"precisamos dela para [i]definir[/i] uma variável.\n" +"\n" +"Além disso, depois de definir uma variável, você pode alterar seu valor a " +"qualquer momento com o sinal de igual." + +#: course/lesson-8-defining-variables/lesson.tres:169 +msgid "About the print function" +msgstr "Sobre a função chamada print" + +#: course/lesson-8-defining-variables/lesson.tres:171 +msgid "" +"The [code]print()[/code] function is generally the first function you learn " +"in academic programming courses.\n" +"\n" +"It sends (\"prints\") the message or value you give it to some output " +"window, often a black window with plain white text." +msgstr "" +"A função [code]print()[/code] é geralmente a primeira função que você " +"aprende em cursos acadêmicos de programação.\n" +"\n" +"Ela (\"imprime na tela\") mensagens ou valores que você fornece para alguma " +"janela de saída, essa janela geralmente é uma tela preta com texto branco " +"simples." + +#: course/lesson-8-defining-variables/lesson.tres:183 +msgid "" +"Programmers often use [code]print()[/code] to quickly check the value of " +"their variables when their game runs.\n" +"\n" +"In the app, we made a special output window that captures calls to " +"[code]print()[/code] and displays a card to make it friendlier for you." +msgstr "" +"Os programadores costumam usar a função [code]print()[/code] para verificar " +"rapidamente o valor de suas variáveis quando o jogo é executado.\n" +"\n" +"No aplicativo, nós criamos uma janela de saída especial que captura chamadas " +"da função [code]print()[/code] e exibe um cartão na tela, para tornar as " +"coisas mais amigável para você." + +#: course/lesson-8-defining-variables/lesson.tres:205 +msgid "" +"Here, the verb [i]print[/i] means \"to send information to display on the " +"screen.\"\n" +"\n" +"The function \"prints\" things on your computer display; It does not relate " +"to printers." +msgstr "" +"Aqui, o verbo [i]print[/i] (imprimir em inglês) significa \"enviar " +"informações para serem exibidas na tela\".\n" +"\n" +"A função \"imprime\" coisas na tela do seu computador; Não tem nada a ver " +"com impressoras." + +#: course/lesson-8-defining-variables/lesson.tres:215 +msgid "Variables are like labels" +msgstr "Variáveis são como rótulos" + +#: course/lesson-8-defining-variables/lesson.tres:217 +msgid "" +"As we hinted above, in GDScript, variables work a bit like labels.\n" +"\n" +"Assigning a value to a variable is like taking your label (the variable) and " +"sticking it onto some item (the value)." +msgstr "" +"Como sugerimos acima, no GDScript, as variáveis funcionam um pouco como " +"rótulos.\n" +"\n" +"Atribuir um valor a uma variável é como pegar o rótulo dela (da variável) e " +"colá-lo em algum item (o valor)." + +#: course/lesson-8-defining-variables/lesson.tres:229 +msgid "" +"Like a supermarket has a database of product labels, the computer keeps a " +"list of all variables in your code.\n" +"\n" +"Given the variable name, the computer can look up the attached value.\n" +"\n" +"It has an important consequence. In GDScript, you can stick that label to " +"any other value." +msgstr "" +"Assim como um supermercado tem um banco de dados de rótulos dos produtos, o " +"computador mantém uma lista de todas as variáveis no seu código.\n" +"\n" +"Depois de dar um nome para a variável, o computador pode procurar o valor " +"anexado.\n" +"\n" +"Tem uma consequência importante nisso. No GDScript, você pode colar esse " +"rótulo em qualquer outro valor." + +#: course/lesson-8-defining-variables/lesson.tres:253 +msgid "" +"The above code is like taking a label from the appropriate item and sticking " +"it to the wrong thing:\n" +"\n" +"- At line 2, the [code]health[/code] variable holds a number.\n" +"- From line 3, [code]health[/code] holds text.\n" +"\n" +"The computer will let you do that! The code's syntax and \"grammar\" are " +"correct, but it's not good.\n" +"\n" +"Variable names should describe the value they contain, so a [code]health[/" +"code] variable with a text value will confuse your future self and other " +"coders. It can also cause errors in your game.\n" +"\n" +"Later on, we'll see how to avoid this issue with [i]variable types[/i]. For " +"now, let's practice creating variables!" +msgstr "" +"O código acima é como pegar um rótulo de um item que já estava certo e colá-" +"lo na coisa errada:\n" +"\n" +"- Na linha 2, a variável [code]health[/code] contém um número.\n" +"- A partir da linha 3, [code]health[/code] passar a ter um texto.\n" +"\n" +"O computador vai deixar você fazer isso! A sintaxe e a \"gramática\" do " +"código estão corretas, mas não são boas.\n" +"\n" +"É boa prática dar um nome que descreve bem o valor de uma variável. Uma " +"variável [code]health[/code] com um valor de texto pode confundir você e " +"outros programadores no futuro. Também pode causar erros no seu jogo.\n" +"\n" +"Mais tarde, veremos como evitar esse problema com [i]tipos de variável[/i]. " +"Por enquanto, vamos praticar a criação de variáveis!" + +#: course/lesson-8-defining-variables/lesson.tres:270 +msgid "Define a health variable" +msgstr "Defina uma variável de vida" + +#: course/lesson-8-defining-variables/lesson.tres:271 +msgid "" +"Define a variable named [code]health[/code] with a starting value of " +"[code]100[/code].\n" +"\n" +"You can define variables inside or outside functions. In this practice, you " +"shouldn't create a function." +msgstr "" +"Defina uma variável chamada [code]health[/code] com um valor inicial de " +"[code]100[/code].\n" +"\n" +"Você pode definir variáveis dentro ou fora das funções. Nesta prática, você " +"não deve criar uma função." + +#: course/lesson-8-defining-variables/lesson.tres:282 +msgid "" +"In this practice, you'll define your first variable and give it a specific " +"starting value." +msgstr "" +"Nesta prática, você vai definir sua primeira variável e dará a ela um valor " +"inicial específico." + +#: course/lesson-8-defining-variables/lesson.tres:286 +msgid "Defining Your Own Variables" +msgstr "Definindo Suas Próprias Variáveis" diff --git a/i18n/pt_BR/lesson-9-adding-and-subtracting.po b/i18n/pt_BR/lesson-9-adding-and-subtracting.po new file mode 100644 index 00000000..5b3f3825 --- /dev/null +++ b/i18n/pt_BR/lesson-9-adding-and-subtracting.po @@ -0,0 +1,219 @@ +# 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 , 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: 2022-03-07 21:03+0100\n" +"PO-Revision-Date: 2022-03-14 07:16+0000\n" +"Last-Translator: Alexandre Vinicius Gonçalves " +"\n" +"Language-Team: Portuguese (Brazil) \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.12-dev\n" +"Generated-By: Babel 2.9.1\n" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:14 +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 player is from losing the game.\n" +"\n" +"Health that changes adds tension to the game, especially if the player is" +" fighting with low health! It's a resource that that player should manage" +" carefully.\n" +"\n" +"The character's health might get low if an enemy attacks them or they " +"fall into a hole.\n" +"\n" +"We can create a function to represent damage in these cases." +msgstr "" +"O personagem do nosso jogo vai ter uma vida quando definirmos a variável " +"[code]health[/code]. Quanto maior a vida do personagem, mais longe o jogador " +"está de perder o jogo.\n" +"\n" +"Uma vida que varia adiciona tensão no jogo, especialmente se o jogador " +"estiver lutando com pouca vida! É um recurso que esse jogador deve gerenciar " +"com cuidado.\n" +"\n" +"A vida do personagem pode ficar baixa se um inimigo o atacar ou ele cair em " +"um buraco.\n" +"\n" +"Podemos criar uma função para representar o dano nesses casos." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:40 +msgid "" +"We pass the amount of damage the robot should take as a parameter.\n" +"\n" +"Line 2 subtracts [code]amount[/code] from [code]health[/code].\n" +"\n" +"Note the [code]-=[/code] syntax which achieves this. It's a shorthand we " +"often use.\n" +"\n" +"You can also use a longer form. Both of these lines have the same effect." +" They both subtract the value of [code]amount[/code] to the " +"[code]health[/code] variable:\n" +"\n" +"[code]health -= amount[/code]\n" +"[code]health = health - amount[/code]\n" +"\n" +"You may notice that the health of the robot can go below [code]0[/code]. " +"We'll see how to manage this in a future lesson using [i]conditions[/i]." +msgstr "" +"Nós passamos a quantidade de dano que o robô deve tomar como parâmetro.\n" +"\n" +"Na linha 2 subtraímos [code]amount[/code] de [code]health[/code].\n" +"\n" +"Observe a sintaxe [code]-=[/code]. É uma abreviação que costumamos usar.\n" +"\n" +"Você também pode usar uma forma mais longa. Ambas as linhas têm o mesmo " +"efeito. Ambas subtraem o valor de [code]amount[/code] para a variável " +"[code]health[/code]:\n" +"\n" +"[code]health -= amount[/code]\n" +"[code]health = health - amount[/code]\n" +"\n" +"Você pode notar que a vida do robô pode ficar abaixo de [code]0[/code]. " +"Veremos como gerenciar isso em uma lição futura usando [i]condições[/i]." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:61 +msgid "" +"The robot's health could increase instead if the player picks up an item " +"that heals them, or if they use a healing item." +msgstr "" +"A vida do robô pode aumentar se o jogador pegar um item que cure ele " +"imediatamente ou se usar um item de cura." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:81 +msgid "" +"Here again, the health can go beyond [code]100[/code].\n" +"\n" +"Also, once more, the short line [code]health += amount[/code] is " +"equivalent to the longer form [code]health = health + amount[/code]." +msgstr "" +"Aqui também, a vida pode ir além de [code]100[/code].\n" +"\n" +"Além disso, mais uma vez, a forma abreviada [code]health += amount[/code] é " +"equivalente à forma mais longa [code]health = health + amount[/code]." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:91 +msgid "Which of these would increase the health of the robot?" +msgstr "Qual dessas opções aumentaria a vida do robô?" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:94 +msgid "" +"Both of these lines increase the [code]health[/code] of the robot by " +"[code]amount[/code].\n" +"[code]\n" +"health += amount\n" +"health = health + amount\n" +"[/code]" +msgstr "" +"Ambas as linhas aumentam a variável [code]health[/code] (vida) do robô por " +"[code]amount[/code] (uma certa quantidade).\n" +"[code]\n" +"health+= amount\n" +"health= health+ amount\n" +"[/code]" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +msgid "health -= amount" +msgstr "health -= amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +#: course/lesson-9-adding-and-subtracting/lesson.tres:100 +msgid "health += amount" +msgstr "health += amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +#: course/lesson-9-adding-and-subtracting/lesson.tres:100 +msgid "health = health + amount" +msgstr "health = health + amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +msgid "health = health - amount" +msgstr "health = health - amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:109 +msgid "" +"In the following practices, you'll code the [code]take_damage()[/code] " +"and [code]heal()[/code] functions so the robot's health can decrease and " +"increase." +msgstr "" +"Nas práticas a seguir, você vai programar as funções " +"[code]take_damage()[/code] e [code]heal()[/code] para que a vida do robô " +"possa diminuir e aumentar." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:117 +msgid "Damaging the Robot" +msgstr "Fazendo o robô levar dano" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:118 +msgid "" +"In our game, the main character has a certain amount of " +"[code]health[/code]. When it gets hit, the health should go down by a " +"varying [code]amount[/code] of damage.\n" +"\n" +"Add to the [code]take_damage()[/code] function so it subtracts the " +"[code]amount[/code] to the predefined [code]health[/code] variable.\n" +"\n" +"The robot starts with 100 health and will take 50 damage." +msgstr "" +"Em nosso jogo, o personagem principal tem uma certa quantidade de " +"[code]health[/code]. Quando ele é atingido, a vida dele deve diminuir " +"[code]amount[/code] (uma certa quantidade) de dano.\n" +"\n" +"Adicione algo na função [code]take_damage()[/code] para que ela subtraia o " +"[code]amount[/code] da variável [code]health[/code] predefinida.\n" +"\n" +"O robô começa com 100 de vida e vai receber 50 de dano." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:134 +msgid "Learn how to deal damage to entities like our robot." +msgstr "Aprenda a causar dano em entidades no jogo como nosso robô." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:139 +msgid "Healing the Robot" +msgstr "Curando o robô" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:140 +msgid "" +"It's time to heal the robot up to full health!\n" +"\n" +"Write a function called [code]heal()[/code] that takes " +"[code]amount[/code] as a parameter.\n" +"\n" +"The function should add [code]amount[/code] to [code]health[/code].\n" +"\n" +"The robot starts with 50 health and will heal 50 to get it up to 100." +msgstr "" +"É hora de curar o robô até a vida máxima!\n" +"\n" +"Escreva uma função chamada [code]heal()[/code] que receba [code]amount[/code]" +" como parâmetro.\n" +"\n" +"A função deve adicionar o valor de [code]amount[/code] na variável " +"[code]health[/code].\n" +"\n" +"O robô começa com 50 de vida e cura 50 para chegar a 100." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:157 +msgid "" +"Our robot needs healing after that practice! Create a function to heal it" +" back to full health." +msgstr "" +"Nosso robô precisa de cura depois dessa prática! Crie uma função para curar " +"a vida dele de volta para o valor máximo." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:161 +msgid "Adding and Subtracting" +msgstr "Adicionando e Subtraindo" diff --git a/i18n/tr/application.po b/i18n/tr/application.po new file mode 100644 index 00000000..a4732b28 --- /dev/null +++ b/i18n/tr/application.po @@ -0,0 +1,872 @@ +# 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 , 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-10 17:11+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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" + +#: 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" + +#: 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" + +#: ui/UILesson.tscn:90 +msgid "Title" +msgstr "Başlık" + +#: ui/UILesson.tscn:125 +msgid "Practices" +msgstr "Alıştırmalar" + +#: ui/UINavigator.gd:365 ui/UINavigator.gd:350 +msgid "Go back in your navigation history" +msgstr "Gezinme geçmişinde geri git" + +#: ui/UINavigator.gd:368 ui/UINavigator.gd:353 +msgid "(no previous history)" +msgstr "(geçmiş kayıt bulunamadı)" + +#: ui/UINavigator.tscn:103 +msgid "CHRISTMAS SALE - 50% OFF" +msgstr "YENİ YIL SATIŞI - 50% İNDİRİM" + +#: ui/UINavigator.tscn:163 +msgid "CHRISTMAS SALE" +msgstr "YENİ YIL SATIŞI" + +#: ui/UIPractice.gd:154 ui/UIPractice.gd:220 ui/UIPractice.gd:144 +#: ui/UIPractice.gd:202 +#, python-format +msgid "Hint %s" +msgstr "İpucu %s" + +#: ui/UIPractice.gd:248 ui/UIPractice.gd:230 +msgid "Validating Your Code..." +msgstr "Kodun 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" + +#: ui/UIPractice.gd:301 ui/UIPractice.gd:286 +msgid "Running Your Code..." +msgstr "Kodun Ç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." + +#: 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ı" + +#: ui/UIPractice.gd:369 ui/UIPractice.gd:337 +msgid "Running Tests..." +msgstr "Testler Çalıştırılıyor..." + +#: ui/UIPractice.tscn:138 +msgid "Suggested Solution" +msgstr "Önerilen Çözüm" + +#: ui/UIPractice.tscn:189 +msgid "Use Solution" +msgstr "Çözümü Kullan" + +#: ui/UIPractice.tscn:207 +msgid "Leave unfinished practice?" +msgstr "Bitmemiş alıştırma kapatılsın mı?" + +#: ui/components/BigGreenButton.tscn:24 +msgid "Button" +msgstr "Düğme" + +#: ui/components/CodeEditor.tscn:144 +msgid "Run" +msgstr "Çalıştır" + +#: ui/components/CodeEditor.tscn:158 +msgid "Pause" +msgstr "Duraklat" + +#: ui/components/CodeEditor.tscn:173 ui/components/RunnableCodeExample.tscn:87 +#: ui/components/RunnableCodeExample.tscn:78 +msgid "Reset" +msgstr "Sıfırla" + +#: ui/components/CodeEditor.tscn:195 +msgid "Solution" +msgstr "Çözüm" + +#: ui/components/CodeEditor.tscn:209 ui/components/OutputConsole.tscn:43 +msgid "Output" +msgstr "Çıktı" + +#: ui/components/CodeEditor.tscn:224 +#: ui/components/popups/LessonDonePopup.tscn:198 +#: ui/components/popups/PracticeDonePopup.tscn:165 +msgid "Continue" +msgstr "Devam et" + +#: ui/components/DebuggerConsoleMonitoredVariable.tscn:20 +#: ui/components/OutputConsolePrintMessage.tscn:23 +msgid "Value" +msgstr "Değer" + +#: ui/components/GameView.tscn:72 +msgid "Paused" +msgstr "Duraklatıldı" + +#: ui/components/GlossaryPopup.tscn:37 +msgid "Term" +msgstr "Terim" + +#: ui/components/GlossaryPopup.tscn:53 +#: ui/components/popups/ErrorOverlayPopup.tscn:74 +msgid "Our error explanation." +msgstr "Bizim hata açıklamamız." + +#: ui/components/OutputConsoleErrorMessage.tscn:39 +msgid "ERROR:" +msgstr "HATA:" + +#: ui/components/OutputConsoleErrorMessage.tscn:47 +#: ui/components/ScrollableTextBox.tscn:43 +#: ui/screens/lesson/UIContentBlock.tscn:68 +msgid "Placeholder text" +msgstr "Yer tutucu metin" + +#: ui/components/OutputConsoleErrorMessage.tscn:62 +msgid "in" +msgstr "içinde" + +#: ui/components/OutputConsoleErrorMessage.tscn:68 +msgid "FileName" +msgstr "DosyaAdı" + +#: ui/components/OutputConsoleErrorMessage.tscn:75 +msgid "at" +msgstr "de" + +#: ui/components/OutputConsoleErrorMessage.tscn:82 +msgid "0:0" +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?" + +#: ui/components/OutputConsoleErrorMessage.tscn:101 +msgid "Explain" +msgstr "Açıkla" + +#: ui/components/Revealer.tscn:74 +msgid "Expand" +msgstr "Genişlet" + +#: ui/components/RunnableCodeExample.tscn:105 +#: ui/components/RunnableCodeExample.tscn:96 +msgid "run()" +msgstr "run()" + +#: ui/components/RunnableCodeExample.tscn:123 +msgid "step" +msgstr "adım" + +#: ui/components/RunnableCodeExampleDebugger.tscn:44 +msgid "Debugger" +msgstr "Hata ayıklayıcı" + +#: ui/components/SalePopup.tscn:121 +#, python-format +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" +"kullanarak [b]%50 indirim[/b] alın[/center]" + +#: ui/components/SalePopup.tscn:132 +msgid "Only until " +msgstr "geçerlilik süresi " + +#: ui/components/SalePopup.tscn:155 +msgid "CHECK OUT OUR COURSES" +msgstr "KURSLARIMIZA GÖZ ATIN" + +#: ui/components/SalePopup.tscn:180 +msgid "X" +msgstr "X" + +#: ui/components/popups/ConfirmPopup.tscn:115 +#: ui/components/popups/PracticeLeaveUnfinishedPopup.tscn:119 +msgid "Confirm" +msgstr "Onayla" + +#: ui/components/popups/ConfirmPopup.tscn:127 +#: ui/components/popups/PracticeLeaveUnfinishedPopup.tscn:131 +msgid "Cancel" +msgstr "İptal" + +#: ui/components/popups/ErrorOverlayPopup.tscn:46 +msgid "Original error message" +msgstr "Orjinal hata mesajı" + +#: ui/components/popups/ErrorOverlayPopup.tscn:65 +msgid "Why this happens" +msgstr "Bu neden oluyor" + +#: ui/components/popups/ErrorOverlayPopup.tscn:82 +msgid "How to fix this" +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." + +#: ui/components/popups/ErrorOverlayPopup.tscn:102 +msgid "" +"Sorry, we don't have this particular error message covered yet!\n" +"\n" +"Please, use the [b]Report[/b] button in the top-right corner to tell us more " +"about how you've got it, and we will try to improve our knowledge base for " +"the next version of the application.\n" +"\n" +"[center]Thank you![/center]" +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" +"\n" +"[center]Teşekkürler![/center]" + +#: ui/components/popups/ErrorOverlayPopup.tscn:128 +msgid "Hide" +msgstr "Gizle" + +#: ui/components/popups/ExternalErrorPopup.tscn:66 +msgid "Where do external errors come from?" +msgstr "Harici hatalar nereden geliyor?" + +#: ui/components/popups/ExternalErrorPopup.tscn:83 +msgid "" +"Lessons in this course are designed so you only need to edit the " +"[b]important bits[/b]. But there is much more code outside of what you see " +"that makes the project run.\n" +"\n" +"This means that sometimes changes you make can affect code you have no " +"control over. But don't worry, you can still fix all the issues yourself " +"with the code you [b]can[/b] edit!\n" +"\n" +"[i]This is like how game engines work too.[/i] There is a lot of hidden code " +"that they execute to ensure your project runs smoothly. And yet, an error in " +"your scripts can break them. We'll try to explain how to address each " +"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ı " +"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" +"\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!" + +#: ui/components/popups/ExternalErrorPopup.tscn:119 +msgid "Got it!" +msgstr "Anladım!" + +#: ui/components/popups/LessonDonePopup.tscn:133 +msgid "Lesson complete!" +msgstr "Ders tamamlandı!" + +#: ui/components/popups/LessonDonePopup.tscn:142 +msgid "" +"But there are still some practices\n" +"that you've skipped." +msgstr "" +"Ancak arada atladığın\n" +"alıştırmalar var." + +#: 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]" + +#: ui/components/popups/LessonDonePopup.tscn:183 +#: ui/components/popups/PracticeDonePopup.tscn:144 +msgid "Stay" +msgstr "Kal" + +#: ui/components/popups/PracticeDonePopup.tscn:89 +msgid "Well done!" +msgstr "Bu iyiydi!" + +#: ui/components/popups/PracticeDonePopup.tscn:98 +msgid "You completed the practice." +msgstr "Alıştırmayı tamamladın." + +#: 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]" + +#: ui/components/popups/PracticeListPopup.tscn:67 +msgid "Practice List" +msgstr "Alıştırma Listesi" + +#: ui/components/popups/PracticeListPopup.tscn:115 +#: ui/components/popups/SettingsPopup.tscn:244 +#: ui/components/popups/SettingsPopup.tscn:227 +msgid "Close" +msgstr "Kapat" + +#: ui/components/popups/ReportFormPopup.tscn:66 +msgid "Report an issue" +msgstr "Bir sorun bildir" + +#: ui/components/popups/ReportFormPopup.tscn:83 +msgid "" +"If you face an issue in the app, please click the link below to report it on " +"GitHub:\n" +"\n" +"[center][b][url=https://github.com/GDQuest/learn-gdscript/issues]GitHub.com " +"> GDQuest > learn-gdscript > Issues[/url][/b][/center]\n" +"\n" +"On that page, you can report any issues, whether something's not working or " +"there's an error in a lesson.\n" +"\n" +"You can generate a log to help us identify the problem. To do so, click " +"here: [b][url=download]generate error log[/url][/b].\n" +"\n" +"Please drag and drop the generated file onto your issue on GitHub to attach " +"it.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]What's GitHub[/font]\n" +"\n" +"GitHub is an online platform to host and manage open-source projects like " +"the GDScript Learn app. It helps developers organize their work and " +"collaborate online.\n" +"\n" +"You can use GitHub to study the source code of many open projects, report " +"issues, or even contribute code yourself.\n" +"\n" +"[font=res://ui/theme/fonts/font_title.tres]How to report an issue[/font]\n" +"\n" +"1. Click the link above to get to the [i]GitHub Issues[/i] page.\n" +"2. Click on the [i]New Issue[/i] button.\n" +"3. Fill out the form to tell us more about your problem.\n" +"\n" +"You will need a GitHub account to do so.\n" +"\n" +"Please add as much relevant information as possible, such as the kind of " +"device you're using to access the app, and maybe attach a screenshot or " +"video clip showcasing the issue.\n" +"\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" +"\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" +"\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" +"\n" +"Oluşturulan dosyayı eklemek için lütfen GitHub'daki sorun gönderisine " +"sürükleyip bırak.\n" +"\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ı " +"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" +"\n" +"[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" +"\n" +"Bunu yapmak için bir GitHub hesabına ihtiyacın olacak.\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" +"\n" +"[center]Açık kaynağa katkıda bulunduğun için teşekkür ederiz![/center]" + +#: ui/components/popups/ReportFormPopup.tscn:158 +msgid "OK" +msgstr "TAMAM" + +#: ui/components/popups/SettingsPopup.tscn:76 +#: ui/components/popups/SettingsPopup.tscn:79 +msgid "Configure the App" +msgstr "Uygulamayı Yapılandır" + +#: ui/components/popups/SettingsPopup.tscn:103 +#: ui/components/popups/SettingsPopup.tscn:106 +msgid "Language" +msgstr "Dil" + +#: ui/components/popups/SettingsPopup.tscn:123 +#: ui/components/popups/SettingsPopup.tscn:126 +msgid "Text Size" +msgstr "Metin Boyutu" + +#: ui/components/popups/SettingsPopup.tscn:151 +#: ui/components/popups/SettingsPopup.tscn:154 +msgid "Sample text" +msgstr "Örnek metin" + +#: ui/components/popups/SettingsPopup.tscn:164 +#: ui/components/popups/SettingsPopup.tscn:167 +msgid "Scroll sensitivity" +msgstr "Kaydırma hassasiyeti" + +#: ui/components/popups/SettingsPopup.tscn:190 +#: ui/components/popups/SettingsPopup.tscn:193 +msgid "Framerate cap" +msgstr "Kare hızı sınırı" + +#: ui/components/popups/SettingsPopup.tscn:212 +msgid "Lower contrast" +msgstr "Düşük zıtlık" + +#: ui/components/popups/SettingsPopup.tscn:259 +#: ui/components/popups/SettingsPopup.tscn:242 +msgid "Apply" +msgstr "Uygula" + +#: ui/screens/course_outliner/CourseLessonDetails.gd:93 +msgid "Open Lesson" +msgstr "Dersi Aç" + +#: ui/screens/course_outliner/CourseLessonDetails.gd:95 +msgid "Continue Lesson" +msgstr "Derse Devam Et" + +#: ui/screens/course_outliner/CourseLessonDetails.gd:97 +msgid "Start Lesson" +msgstr "Dersi Başlat" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:35 +msgid "Lesson Title Goes Here" +msgstr "Ders Başlığı Buraya Gelecek" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:48 +msgid "Lesson read" +msgstr "Ders metni okundu" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:56 +msgid "0%" +msgstr "%0" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:79 +msgid "Quizzes completed" +msgstr "Sınavlar tamamlandı" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:87 +#: ui/screens/course_outliner/CourseLessonDetails.tscn:108 +msgid "0 / 0" +msgstr "0 / 0" + +#: ui/screens/course_outliner/CourseLessonDetails.tscn:100 +msgid "Practices completed" +msgstr "Alıştırmalar tamamlandı" + +#: ui/screens/course_outliner/CourseLessonItem.tscn:36 +msgid "Lesson 0" +msgstr "Ders 0" + +#: ui/screens/course_outliner/CourseLessonItem.tscn:44 +msgid "Lesson Title" +msgstr "Ders Başlığı" + +#: ui/screens/course_outliner/CourseOutliner.tscn:44 +msgid "Course Index - " +msgstr "Ders Dizini - " + +#: ui/screens/course_outliner/CourseOutliner.tscn:51 +msgid "Course Title Goes Here" +msgstr "Ders Adı Buraya Gelecek" + +#: ui/screens/course_outliner/CourseOutliner.tscn:83 +msgid "Reset Progress" +msgstr "İlerlemeyi Sıfırla" + +#: ui/screens/course_outliner/CourseOutliner.tscn:98 +msgid "Confirm Resetting Progress" +msgstr "Sıfırlama İşlemini Onayla" + +#: ui/screens/end_screen/EndScreen.tscn:229 +msgid "Congratulations!" +msgstr "Tebrikler!" + +#: ui/screens/end_screen/EndScreen.tscn:236 +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. 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:256 +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 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" +msgstr "" +"Learn to Code From Zero, with Godot (Sıfırdan Kodlama Öğrenin, Godot ile)" + +#: ui/screens/end_screen/EndScreen.tscn:284 +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 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/SponsorlessEndScreen.tscn:203 +msgid "" +"You completed Learn GDScript From Zero. You now have the basics you need to " +"make games with the Godot game engine.\n" +"\n" +"You can keep learning with the free series [url=https://docs.godotengine.org/" +"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. " +"Godot oyun motoru ile oyunlar yapmak için gereken temel bilgilere artık " +"sahipsin.\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)." + +#: ui/screens/end_screen/SponsorlessEndScreen.tscn:216 +msgid "This is an Open-Source project!" +msgstr "Bu bir Açık-Kaynak projedir!" + +#: ui/screens/end_screen/SponsorlessEndScreen.tscn:223 +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 " +"(Github repository)[/url]." +msgstr "" +"Godot gibi, bu uygulama ve kurs ücretsiz ve açık-kaynak'tır.\n" +"\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]." + +#: ui/screens/lesson/UIBaseQuiz.tscn:56 +msgid "[b]Question[/b]" +msgstr "[b]Soru[/b]" + +#: ui/screens/lesson/UIBaseQuiz.tscn:80 ui/screens/lesson/UIBaseQuiz.tscn:169 +msgid "Explanation" +msgstr "Açıklama" + +#: ui/screens/lesson/UIBaseQuiz.tscn:107 +msgid "Skip" +msgstr "Atla" + +#: ui/screens/lesson/UIBaseQuiz.tscn:119 +msgid "Submit" +msgstr "Gönder" + +#: ui/screens/lesson/UIBaseQuiz.tscn:150 +msgid "You're right!" +msgstr "Doğru bildin!" + +#: ui/screens/lesson/UIBaseQuiz.tscn:160 +msgid "Answers here" +msgstr "Cevabını buraya yaz" + +#: ui/screens/lesson/UIContentBlock.tscn:47 +msgid "Placeholder heading" +msgstr "Yer tutucu başlık" + +#: ui/screens/lesson/UIPracticeButton.tscn:52 +msgid "Practice title" +msgstr "Alıştırma başlığı" + +#: ui/screens/lesson/UIPracticeButton.tscn:77 +msgid "next" +msgstr "sonraki" + +#: ui/screens/lesson/UIPracticeButton.tscn:100 +msgid "Practice" +msgstr "Alıştırma" + +#: ui/screens/lesson/UIPracticeButton.tscn:110 +msgid "You are here" +msgstr "Buradasın" + +#: ui/screens/lesson/quizzes/QuizAnswerButton.tscn:40 +msgid "Answer label" +msgstr "Cevap etiketi" + +#: ui/screens/lesson/quizzes/UIQuizChoice.gd:26 +msgid "(select all that apply)" +msgstr "(geçerli olanların tümünü seç)" + +#: ui/screens/practice/PracticeHint.tscn:8 +msgid "Show Hint" +msgstr "İpucu Göster" + +#: ui/screens/practice/PracticeInfoPanel.gd:144 +#: ui/screens/practice/PracticeInfoPanel.gd:143 +msgid "Method descriptions" +msgstr "Yöntem açıklamaları" + +#: ui/screens/practice/PracticeInfoPanel.gd:160 +#: ui/screens/practice/PracticeInfoPanel.gd:159 +msgid "Property descriptions" +msgstr "Özellik açıklamaları" + +#: ui/screens/practice/PracticeInfoPanel.tscn:63 +msgid "Summary - Lesson Name" +msgstr "Özet - Ders Adı" + +#: ui/screens/practice/PracticeInfoPanel.tscn:106 +msgid "Goals" +msgstr "Hedefler" + +#: ui/screens/practice/PracticeInfoPanel.tscn:119 +msgid "Hints" +msgstr "İpuçları" + +#: ui/screens/practice/PracticeInfoPanel.tscn:126 +msgid "Checks" +msgstr "Kontroller" + +#: ui/screens/practice/PracticeInfoPanel.tscn:134 +msgid "Documentation" +msgstr "Dökümantasyon" + +#: ui/screens/practice/PracticeInfoPanel.tscn:175 +msgid "Open Practice List" +msgstr "Alıştırma Listesini Aç" + +#: ui/screens/practice/PracticeTestDisplay.tscn:40 +#: ui/screens/practice/PracticeTestDisplay.tscn:42 +msgid "Test text" +msgstr "Test metni" + +#: 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 +msgid "START" +msgstr "BAŞLA" + +#: ui/screens/welcome_screen/WelcomeScreen.tscn:645 +msgid "SELECT LESSON" +msgstr "DERS SEÇ" + +#: ui/screens/welcome_screen/WelcomeScreen.tscn:659 +msgid "OPTIONS" +msgstr "SEÇENEKLER" + +#: ui/screens/welcome_screen/WelcomeScreen.tscn:693 +msgid "QUIT" +msgstr "ÇIKIŞ" + +#: ui/components/popups/ExternalErrorPopup.tscn:83 +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 what " +"you see that makes the project run.\n" +"\n" +"This means that sometimes changes that you make can affect code that you " +"have no control over. But don't worry, you can still fix all the issues " +"yourself with the code you [b]can[/b] edit!\n" +"\n" +"[i]This is kind of like game engines work too.[/i] There is a lot of hidden " +"code that they execute to make sure your projects runs smoothly. And yet, an " +"error in your scripts can break them. We'll try to explain how to address " +"each 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ı " +"sağlayan çok daha fazla kod var.\n" +"\n" +"Bu, bazen yaptığın değişikliklerin, üzerinde kontrolün olmayan kodları " +"etkileyebileceği anlamına gelir. Ancak endişelenme, [b]düzenleyebileceğin[/" +"b] kod ile tüm sorunları kendin düzeltebilirsin!\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, komut dosyalarındaki bir hata onları bozabilir. Karşılaştığın her bir " +"hatayı nasıl ele alacağını açıklamaya çalışacağız. Çabuk, hata mesajının " +"yanındaki [b]Açıkla[/b] düğmesine tıkla!" + +#~ msgid "Connected to the server." +#~ msgstr "Sunucuya bağlanıldı." + +#, fuzzy +#~ msgid "" +#~ "Can't reach the server. The server might be down, or your internet may be " +#~ "down." +#~ msgstr "Sunucuya ulaşılamıyor. Sunucu veya internetiniz kapalı olabilir." + +#~ msgid "Can't reach the server. The tests will be less precise." +#~ msgstr "Sunucuya ulaşılamıyor. Testler daha az hassas olacaktır." + +#~ msgid "That's it... for now!" +#~ msgstr "Şimdilik bu kadar!" + +#, fuzzy +#~ msgid "" +#~ "Thanks for participating in the beta test.\n" +#~ "\n" +#~ "We hope you enjoyed what's available so far.\n" +#~ "\n" +#~ "We wish we had a lot more to give you already, but creating this app took " +#~ "time. A [i]lot[/i] of time.\n" +#~ "\n" +#~ "The good news is: now we figured out many of the more challenging parts, " +#~ "moving forward, we can shift our focus onto new lessons and practices." +#~ msgstr "" +#~ "Beta testine katıldığınız için teşekkür ederiz.\n" +#~ "\n" +#~ "Umarız şu ana kadar mevcut olan içeriği beğenmişsinizdir.\n" +#~ "\n" +#~ "Size verebileceğimiz çok daha fazla şey olmasını isterdik, ancak bu " +#~ "uygulamayı oluşturmak zaman aldı. [i]Çok fazla[/i] zaman.\n" +#~ "\n" +#~ "İyi haber şu: Artık zorlu kısımların çoğunu çözdük, ileriye dönük olarak " +#~ "odağımızı yeni derslere ve uygulamalar olarak belirledik." + +#, fuzzy +#~ msgid "" +#~ "[font=res://ui/theme/fonts/font_title.tres]What's coming next[/font]\n" +#~ "\n" +#~ "We have plans for many more lessons and improvements.\n" +#~ "\n" +#~ "You can find our plan for future releases on our [url=https://github.com/" +#~ "GDQuest/learn-gdscript#roadmap]roadmap[/url]." +#~ msgstr "" +#~ "[font=res://ui/theme/fonts/font_title.tres]Sırada ne var[/font]\n" +#~ "\n" +#~ "Daha birçok ders ve iyileştirme için planlarımız var.\n" +#~ "\n" +#~ "Gelecek sürümler için planımızı [url=https://github.com/GDQuest/learn-" +#~ "gdscript#roadmap]yol haritamızda[/url] bulabilirsiniz." diff --git a/i18n/tr/classref_database.po b/i18n/tr/classref_database.po new file mode 100644 index 00000000..afc833f2 --- /dev/null +++ b/i18n/tr/classref_database.po @@ -0,0 +1,187 @@ +# 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 , 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: 2022-03-26 17:50+0100\n" +"PO-Revision-Date: 2023-07-10 17:11+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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" + +#. Reference: show +#: ./course/documentation.csv:2 +msgid "shows the current scene" +msgstr "geçerli sahneyi gösterir" + +#. Reference: hide +#: ./course/documentation.csv:3 +msgid "hides the current scene" +msgstr "geçerli sahneyi gizler" + +#. Reference: rotate +#: ./course/documentation.csv:4 +msgid "" +"Applies a rotation to the node, in radians, starting from its current " +"rotation." +msgstr "" +"Düğüme, geçerli dönüşünden başlayarak radyan cinsinden bir dönüş uygular." + +#. Reference: move_forward +#: ./course/documentation.csv:5 +msgid "Moves the turtle in the direction it's facing by some pixels." +msgstr "Kaplumbağayı baktığı yönde birkaç piksel hareket ettirir." + +#. Reference: turn_right +#: ./course/documentation.csv:6 +msgid "Rotates the turtle to the right by some degrees." +msgstr "Kaplumbağayı birkaç derece sağa döndürür." + +#. Reference: turn_left +#: ./course/documentation.csv:7 +msgid "Rotates the turtle to the left by some degrees." +msgstr "Kaplumbağayı birkaç derece sola döndürür." + +#. Reference: jump +#: ./course/documentation.csv:8 +msgid "Offsets the turtle's position by the given x and y amounts of pixels." +msgstr "" +"Kaplumbağanın konumunu verilen x ve y piksel miktarları kadar değiştirir." + +#. Reference: draw_rectangle +#: ./course/documentation.csv:9 +msgid "Makes the turtle draw a rectangle starting at its current position." +msgstr "" +"Kaplumbağanın geçerli konumundan başlayarak bir dikdörtgen çizmesini sağlar." + +#. Reference: position.x +#: ./course/documentation.csv:10 +msgid "The position of the entity on the horizontal axis." +msgstr "Varlığın yatay eksendeki konumu." + +#. Reference: position.y +#: ./course/documentation.csv:11 +msgid "The position of the entity on the vertical axis." +msgstr "Varlığın dikey eksen üzerindeki konumu." + +#. Reference: move_local_x +#: ./course/documentation.csv:12 +msgid "" +"Applies a local translation on the node's X axis based on the " +"[code]Node._process[/code]'s [code]delta[/code]. If [code]scaled[/code] " +"is false, normalizes the movement." +msgstr "" +"[code]Node._process[/code]'in [code]delta[/code]'sını temel alarak düğümün X " +"eksenine yerel bir yer değiştirme uygular. [code]scaled[/code] değeri false " +"ise, hareketi normalize eder." + +#. Reference: board_size +#: ./course/documentation.csv:13 +msgid "" +"Stores how many cells make up the width ([code]board_size.x[/code]) and " +"height ([code]board_size.y[/code]) of the board." +msgstr "" +"Panonun genişliğini ([code]board_size.x[/code]) ve yüksekliğini " +"([code]board_size.y[/code]) kaç hücrenin oluşturduğunu depolar." + +#. Reference: cell +#: ./course/documentation.csv:14 +msgid "" +"The cell position of the robot on the board. [code]Vector2(0, 0)[/code] " +"is the square cell in the top left of the board." +msgstr "" +"Robotun tahta üzerindeki hücre konumu. [code]Vector2(0, 0)[/code] tahtanın " +"sol üst köşesindeki kare hücredir." + +#. Reference: range +#: ./course/documentation.csv:15 +msgid "Creates a list of numbers from [code]0[/code] to [code]length - 1[/code]." +msgstr "" +"[code]0[/code] ile [code]length- 1[/code] (uzunuk -1) arasında bir sayı " +"listesi oluşturur." + +#. Reference: play_animation +#: ./course/documentation.csv:16 +msgid "Orders the robot to play an animation." +msgstr "Robota bir animasyon oynatmasını emreder." + +#. Reference: select_units +#: ./course/documentation.csv:17 +msgid "Selects units in the cell coordinates passed as the function's argument." +msgstr "" +"Fonksiyonun değişkeni olarak gönderilen hücre koordinatlarındaki birimleri " +"seçer." + +#. Reference: robot.move_to +#: ./course/documentation.csv:18 +msgid "Queues a move animation towards the target cell." +msgstr "Hedef hücreye doğru bir hareket animasyonunu sıraya ekler." + +#. Reference: array.append +#: ./course/documentation.csv:19 +msgid "Adds the value passed as an argument at the back of the array." +msgstr "Değişken olarak gönderilen değeri, dizinin (array) sonuna ekler." + +#. Reference: array.pop_front +#: ./course/documentation.csv:20 +msgid "Removes the first value from the array and returns it." +msgstr "Dizideki (array) ilk değeri çıkarır ve geri döndürür." + +#. Reference: array.pop_back +#: ./course/documentation.csv:21 +msgid "Removes the last value from the array and returns it." +msgstr "Dizideki (array) son değeri çıkarır ve geri döndürür." + +#. Reference: str +#: ./course/documentation.csv:22 +msgid "" +"Returns the argument converted into a [code]String[/code]. Works with the" +" majority of value types." +msgstr "" +"Verilen değeri [code]String[/code] (dize) haline dönüştürüp geri döndürür. " +"Değer tiplerinin çoğunluğunda işe yarar." + +#. Reference: int +#: ./course/documentation.csv:23 +msgid "" +"Returns the argument converted into an [code]int[/code] (whole number) " +"[i]if possible[/i]. Supports converting decimal numbers, strings, and " +"booleans. Useful to convert player text input into numbers." +msgstr "" +"Verilen değeri, [i] eğer mümkünse[/i], bir [code]int[/code] (tam sayı) " +"olarak dönüştürüp geri döndürür. Ondalık sayıları, dizeleri, ve " +"mantıksalları dönüştürmeyi destekler. Oyuncudan gelen yazı girdilerini " +"sayılara dönüştürmek için kullanışlıdır." + +#. Reference: place_unit +#: ./course/documentation.csv:24 +msgid "" +"Creates a new unit matching the type parameter and places it at the " +"desired cell position on the game grid." +msgstr "" +"Tip değişkenlerine uygun yeni bir birim oluşturur ve bunu oyun ızgarası " +"(grid) üzerinde istenilen hücre konumuna yerleştirir." + +#. Reference: display_item +#: ./course/documentation.csv:25 +msgid "Creates a new item and displays it in the inventory." +msgstr "" +"Yeni bir öğe yaratır ve bunu envanter içinde (inventory, demirbaş listesi) " +"gösterir." + +#. Reference: add_item +#: ./course/documentation.csv:26 +msgid "Increases the item count by amount." +msgstr "Öğe sayısını girilen değer kadar arttırır." diff --git a/i18n/tr/error_database.po b/i18n/tr/error_database.po new file mode 100644 index 00000000..15e2256f --- /dev/null +++ b/i18n/tr/error_database.po @@ -0,0 +1,834 @@ +# 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 , 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-10 17:11+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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" + +#. Reference: IN_EXPECTED_AFTER_IDENTIFIER +#: script_checking/error_database.csv:40 +msgid "" +"You get this error when the name between the [code]for[/code] and [code]in[/" +"code] is not a valid variable name, or you are missing the [code]in[/code] " +"keyword.\n" +"\n" +"In a [code]for[/code] loop, the [code]in[/code] keyword only accepts a valid " +"temporary variable name to assign values in each loop iteration. The loop " +"creates a new variable with the desired name and assigns each element of the " +"array to it." +msgstr "" +"Bu hatayı alıyorsan, [code]for[/code] ve [code]in[/code] arasındaki isim " +"geçerli bir değişken ismi değildir, yada [code]in[/code] kelimesini " +"unutmuşsundur.\n" +"\n" +"Bir [code]for[/code] döngüsünde, döngünün her bir yinelemesinde kullanmak " +"için, [code]in[/code] kelimesi sadece geçici değişken isimlerini kabul eder. " +"Bu şekilde döngü, istenilen isimde yeni bir değişken oluşturur ve dizinin " +"öğelerini tek tek buna atama yapar." + +#. Reference: IN_EXPECTED_AFTER_IDENTIFIER +#: script_checking/error_database.csv:40 +msgid "" +"To fix this error, you need to ensure that the name between the [code]for[/" +"code] and [code]in[/code] keywords is a valid variable name with no " +"punctuation or spaces.\n" +"\n" +"For example, this code is invalid: [code]for cell_position.x in " +"cell_positions_array:[/code] because [code]cell_position.x[/code] isn't a " +"valid variable name.\n" +"\n" +"To access the [code]x[/code] sub-component of the variable, you need to do " +"that inside of the loop's body:\n" +"\n" +"[code]for cell_position in cell_positions_array:\n" +" cell_position.x += 1.0[/code]" +msgstr "" +"Bu hatayı düeltmek için, [code]for[/code] ve [code]in[/code] kelimeleri " +"arasına, içinde noktalama işareti yada boşluk bulunmayan, geçerli bir " +"değişken ismi girdiğinden emin olmalısın.\n" +"\n" +"Örneğin, bu kod hatalıdır: [code]for cell_position.x in " +"cell_positions_array:[/code]. Çünkü [code]cell_position.x[/code] geçerli bir " +"değişken ismi değildir.\n" +"\n" +"Bir dğeişkenin [code]x[/code] alt-elemanına erişmek için, döngünün " +"içerisinde aşağıdaki gibi kullanmalısın.\n" +"\n" +"[code]for cell_position in cell_positions_array: # \"for hücre_konumu in " +"hücre_konumları_disizi\" anlamında\n" +" cell_position.x += 1.0[/code]" + +#. Reference: ASSIGNING_TO_EXPRESSION +#: script_checking/error_database.csv:47 +msgid "" +"If you get this error, you are most likely trying to assign a value to " +"something other than a variable, which is impossible. You can only assign " +"values to variables.\n" +"\n" +"Another possibility is that you want to check for equality in a condition " +"but wrote a single = instead of ==." +msgstr "" +"Bu hatayı alırsan, büyük ihtimalle değişken olmayan bir şeylere bir değer " +"atamaya çalışıyorsun demektir, ve bu mümkün değildir. Sadece değişkenlere " +"değere atayabilirsin.\n" +"\n" +"Bir diğer olasılık ise, bir koşul işleminde eşitliği test etmek istemiş, ama " +"\"==\" yerine \"=\" yazmışsındır." + +#. Reference: ASSIGNING_TO_EXPRESSION +#: script_checking/error_database.csv:47 +msgid "" +"If you want to assign a value to a variable, double-check that what you have " +"on the left side of the = sign is a variable and not a function.\n" +"\n" +"You also need to ensure the syntax is correct. For example, there shouldn't " +"be parentheses on the left side of the equal sign.\n" +"\n" +"In the case of a condition, ensure that you are using two equal signs to " +"check for equality (==)." +msgstr "" +"Eğer bir değişkene değer atamak istiyorsan, \"=\" işaretinin sol tarafına " +"bir fonksiyon (yada değer) yazmak yerine bir değişken ismi yazdığını iki " +"kere kontrol etmelisin.\n" +"\n" +"Ayrıca doğru şekilde yazdığından da emin olmalısın. Örneğin, eşitliğin sol " +"tarafında parantezler olmamalıdır.\n" +"\n" +"Bir koşul yazıyorsan, iki tane eşittir işareti (==) kullandığından emin " +"olmalısın." + +#. Reference: CYCLIC_REFERENCE +#: script_checking/error_database.csv:57 +msgid "" +"A cyclic reference is when a class references itself, directly or " +"indirectly.\n" +"\n" +"It has two possible causes:\n" +"\n" +"1. You used the class name in the class itself.\n" +"2. Your code refers to another class that refers to this class, causing an " +"endless reference cycle.\n" +"\n" +"Either way, due to how GDScript works in Godot 3, unfortunately,you cannot " +"do this. Godot 4 should solve this problem, but you need to work around it " +"in the meantime." +msgstr "" +"Dönüşsel bir başvuru, bir sınıfın doğrudan yada dolaylı bir şekilde " +"kendisine başvuru yapmasıdır.\n" +"\n" +"İki olası sebebi vardır:\n" +"\n" +"1. Sınıfın ismini, sınıfın kendi içinde kullanmışsındır.\n" +"2. Sınıfın içinde kullandığın başka bir sınıf, tekrardan bu sınıfa başvuru " +"yapıyordur, bu şekilde sonu olmayan bir başvuru döngüsüne sebep oluyordur.\n" +"\n" +"Her iki durumda da, GDScript'in Godot 3 içinde çalışma şeklinden dolayı, " +"bunu yapamazsın. Godot 4 bunu belk çözecektir, ama şimdilik sorunu başka " +"şekilde çözmeye çalışmalısın." + +#. Reference: CYCLIC_REFERENCE +#: script_checking/error_database.csv:57 +msgid "" +"Erase the type hint in the error line, and the problem should disappear. \n" +"\n" +"At GDQuest, when we face this error, we remove the type hints on lines " +"causing cyclic references. It solves the problem in the vast majority of " +"cases." +msgstr "" +"Hatada belirtilen satırdaki tipi silersen, sorunun düzelmesi gerek.\n" +"\n" +"GDQuest'te, bir sorunla karşılaşınca, dönüşsel başvuruya sebep olan tip " +"tanımlarını sileriz. Sorunlarımızın büyük çoğunluğu bu şekilde çözülüyor." + +#. Reference: INVALID_INDENTATION +#: script_checking/error_database.csv:64 +msgid "" +"The indentation of your code (the number of tab characters at the start of " +"the line) is incorrect.\n" +"\n" +"You are missing one or more tabs, or you inserted too many.\n" +"\n" +"The computer uses those leading tab characters on code lines to know which " +"lines of code are part of a code block, like a function." +msgstr "" +"Kodunun girinti miktarı yanlış. (satır başındaki sekme karakterlerinin " +"sayısı)\n" +"\n" +"Bir yada daha fazla sekme karakteri eksik, ya da çok fazla kullandın.\n" +"\n" +"Bilgisayar, kod satırlarının başındaki o sekme karakterlerini kullanarak, " +"hangi satırların yazdığın kodun (mesela fonksiyonun) gövdesine ait olduğunu " +"almaya çalışır." + +#. Reference: INVALID_INDENTATION +#: script_checking/error_database.csv:64 +msgid "" +"If the line of code with the error is right after a line ending with a " +"colon, like a function definition, you need one extra indent level compared " +"to the previous line.\n" +"\n" +"In other words, your line should have one more leading tab character than " +"the function definition." +msgstr "" +"Eğer hata kodunun gösterdiği satır, iki nokta üstüste ile biten bir satırdan " +"sonra ise (mesela bir fonksiyon tanımı gibi), önceki satırdan bir seviye " +"içeriye girinti yapman gerekir.\n" +"\n" +"Başka bir deyişle, kodu yazdığın satıra, fonksiyon tanımından bir tane daha " +"fazla sekme karakteri koymalısın." + +#. Reference: UNEXPECTED_CHARACTER +#: script_checking/error_database.csv:73 +msgid "" +"You get this error when you wrote something that is syntactically invalid, " +"or you are missing something to complete this line or previous lines of " +"code.\n" +"\n" +"You need to be extremely precise when you write code for the computer. This " +"kind of error is easy to get as all it takes is one wrong character.\n" +"\n" +"Note that this error can appear [b]after[/b] the line causing it due to how " +"the computer reads and analyzes your code." +msgstr "" +"Bu hatayı alıyorsan, yazım kurallarına uymayan bir şey yazmışsındır, ya da " +"bu satırdaki veya önceki satırdan devam eden kodu tamamlamak için gereken " +"bir şey eksiktir.\n" +"\n" +"Bilgisayar için bir kod yazarken son derece kesin olmalısın. Bu tarz bir " +"hatayı almak çok kolaydır, çünkü tek gereken bir tane hatalı karakterdir.\n" +"\n" +"Ayrıca şuna dikkat et: bu hata, sebebi olan kod satırından [b]sonra[/b] " +"geliyormuş gibi görünebilir, çünkü bilgisayar yazdığın kodu bu şekilde " +"okuyup analiz eder." + +#. Reference: UNEXPECTED_CHARACTER +#: script_checking/error_database.csv:73 +msgid "" +"The way to solve this kind of error is highly contextual. The error message " +"should tell you which character or element it's missing.\n" +"\n" +"If the error says \"expected,\" then you're likely missing something in one " +"of the [b]previous[/b] code lines. It could be a punctuation mark, a " +"parenthesis, or something else.\n" +"\n" +"If it says \"unterminated,\" you are missing some character at the end of an " +"expression, like a closing bracket. In this case, it most likely comes from " +"the line with the error." +msgstr "" +"Böyle bir hatanın çözümü büyük oranda içeriğe bağlıdır. Hata mesajı sana, " +"hangi karakter yada öğenin eksik olduğunu söylüyor olmalıdır.\n" +"\n" +"Eğer hata \"expected\" (beklenen) diyorsa, [b]önceki[/b] satırların birinde " +"bir şeyleri atlamış olmalısın. Bir noktalama işareti, bir parantez, ya da " +"bşka bir şey.\n" +"\n" +"Eğer \"unterminated\" (sonlandırılmadı) diyorsa, bir ifadenin sonunda olması " +"gereken bir karakteri unutmuşsundur (mesela kapalı parantez) Bu durumda, " +"sorun genelde hata mesajında verilen satırdadır." + +#. Reference: UNEXPECTED_CHARACTER_IN_KEYWORD +#: script_checking/error_database.csv:76 +msgid "" +"This error tells you that you are missing a parenthesis (or sometimes a " +"comma or a path).\n" +"\n" +"Three keywords in GDScript work like function calls and require parentheses: " +"[code]yield()[/code], [code]preload()[/code], and [code]assert()[/code]." +msgstr "" +"Bu hata, bir parantez (ya da virgül veya bir yol) eksik yazdığını söyler.\n" +"\n" +"GDScript'te üç tane kelime fonksiyon çağırısı gibi çalışır ve paranteze " +"ihtiyaç duyar: [code]yield()[/code], [code]preload()[/code], ve " +"[code]assert()[/code]." + +#. Reference: UNEXPECTED_CHARACTER_IN_KEYWORD +#: script_checking/error_database.csv:76 +msgid "" +"To address the error, you want to add the missing opening parenthesis, the " +"closing parenthesis, or the comma." +msgstr "" +"Bu hatayı gidermek için, eksik olan açık parantez, kapalı parantez, ya da " +"virgülü eklemek isteyebilirsin." + +#. Reference: UNEXPECTED_CHARACTER_IN_EXPORT_HINT +#: script_checking/error_database.csv:77 +msgid "" +"This error tells you you are missing some parenthesis, a comma, or some " +"value in your export hint." +msgstr "" +"Bu hata, bir kaç parantezi, bir virgülü, ye da dışa aktarım (export) " +"ipucundaki bi değeri unuttuğunu söyler." + +#. Reference: UNEXPECTED_CHARACTER_IN_EXPORT_HINT +#: script_checking/error_database.csv:77 +msgid "" +"You need to read the error message and add the missing character or value it " +"requests." +msgstr "" +"Hata mesajını okumalı ve sana söylediği eksik olan karakteri ya da değeri " +"eklemelisin." + +#. Reference: MISPLACED_IDENTIFIER +#: script_checking/error_database.csv:86 +msgid "" +"This error happens in several cases:\n" +"\n" +"1. You wrote an identifier (variable or function name) in the wrong place.\n" +"2. You wrote a keyword like [code]var[/code], [code]func[/code], [code]for[/" +"code], or [code]signal[/code], and you did not follow it by a name.\n" +"3. You wrote a function definition but forgot the parentheses before the " +"colon." +msgstr "" +"Bu hata bir kaç farklı durumda oluşabilir:\n" +"\n" +"1. Bir tanımlayıcıyı (değişken yada fonksiyon ismi) yanlış yerde kullandın.\n" +"2. [code]var[/code], [code]func[/code], [code]for[/code], ya da " +"[code]signal[/code] gibi bir anahtar kelime yazdın, ama bunun devamına bir " +"isim eklemedin.\n" +"3. Bir fonksiyon tanımı yazdın ama iki nokta üstüste'den önce parantezleri " +"eklemedin." + +#. Reference: MISPLACED_IDENTIFIER +#: script_checking/error_database.csv:86 +msgid "" +"If the error tells you it expected something, you likely forgot to write a " +"name after a keyword like [code]var[/code], [code]func[/code], [code]for[/" +"code], or [code]signal[/code], making your code invalid. Or you forgot " +"parentheses in a function definition. You can address the error by adding " +"the missing name or parentheses.\n" +"\n" +"If the error says you have something unexpected, you are likely missing a " +"keyword like [code]var[/code], [code]func[/code], [code]for[/code], etc.\n" +"\n" +"Another possibility is that you need to write a colon at the end of a " +"function definition, [code]for[/code] loop, or a line starting with " +"[code]if[/code], [code]elif[/code], or [code]else[/code]." +msgstr "" +"Eğer bir hata sana bir şey beklediğini (expected) söylüyorsa, " +"[code]var[/code], [code]func[/code], [code]for[/code], ya da " +"[code]signal[/code] gibi bir anahtar kelimeden sonra bir isim yazmayı " +"unuttuğun için kod geçersiz hale gelmiştir. Ya da fonksiyon tanımlarken " +"parantezleri unutmuşsundur. Eksik olan ismi yada parantezleri ekleyerek " +"hatayı giderebilirsin.\n" +"\n" +"Eğer hata sana beklenmedik bir şey yaptığını söylerse (unexpected), " +"[code]var[/code], [code]func[/code], [code]for[/code] vb. anahtar bir " +"kelimeyi unutmuşsundur.\n" +"\n" +"Bir diğer olasılık ise, şunları yazarken en sonda iki nokta üstüste'yi " +"eklemen gerekmesidir: fonksiyon tanımlarken, ya da [code]for[/code] döngüsü, " +"[code]if[/code], [code]elif[/code], ve ya [code]else[/code] ile başlayan " +"satırlarda." + +#. Reference: MISPLACED_TYPE_IDENTIFIER +#: script_checking/error_database.csv:91 +msgid "" +"This error tells you that you are missing a type somewhere. A type can be " +"[code]int[/code], [code]float[/code], [code]String[/code], [code]Array[/" +"code], [code]Vector2[/code], and many identifiers representing a data " +"structure.\n" +"\n" +"Most of the time, this error occurs when you wrote a colon after a variable " +"name but did not follow it with a type name.\n" +"\n" +"It also occurs when you write an arrow ([code]->[/code]) after the " +"parentheses of a function definition but do not follow it with a type name." +msgstr "" +"Bu hata, bir yerlerde bir tip tanımını unuttuğunu söyler. Bir tip, " +"[code]int[/code], [code]float[/code], [code]String[/code], [code]Array[/code]" +", [code]Vector2[/code], ve bunlar gibi veri yapılarını temsil eden daha pek " +"çok tanımlayıcı olabilir.\n" +"\n" +"Çoğunlukla, bu hatayı aldığında, bir değişken isminden sonra iki nokta " +"üstüste yazmış, ama bunun devamında bir tip ismi belirtmemişsindir.\n" +"\n" +"Bu durum ayrıca, fonksiyon tanımlerken parantezden sonra bir ok " +"([code]->[/code]) yazmış ama bunu bir tip ismi ile bitirmemişsindir (" +"fonksiyonun dönüş tipi)." + +#. Reference: MISPLACED_TYPE_IDENTIFIER +#: script_checking/error_database.csv:91 +msgid "" +"To solve this, you need to write the name of the type after the colon, arrow " +"(in the case of function return types), inside parentheses (for export " +"types), or after the [code]as[/code] keyword." +msgstr "" +"Bunu çözmek için, iki nokta üstüste ve ok'tan (fonksiyon bir dönüş tipine " +"sahipse) sonra, parantezlerin içinde (dışa aktarım, export, tipleri için), " +"ve ya [code]as[/code] anahtar kelimesinden sonra, ilgili tip ismini " +"yazmalısın." + +#. Reference: NONEXISTENT_IDENTIFIER +#: script_checking/error_database.csv:100 +msgid "" +"The variable, function name, or class name you are trying to use does not " +"exist.\n" +"\n" +"You most often get this error when you make typos. Maybe you swapped two " +"letters, forgot a letter... sometimes, it's hard to spot.\n" +"\n" +"The other cause for this error is that you didn't define the variable, " +"function, or class you're trying to access." +msgstr "" +"Kullanmaya çalıştığın değişken, fonksiyon ismi, ve ya sınıf ismi tanımlı " +"değil.\n" +"\n" +"Bu hatayı aldığında genellikle yazım hatası yapmışsındır. Belki iki harfin " +"yeri değişti, yada bir harfi unuttun... bunu farketmek çoğunlukla zordur.\n" +"\n" +"Bu hatanın bir diğer sebebi de, erişmeye çalıştığın değişkeni, fonksiyonu, " +"ya da sınıfı tanımlamamış olmandır." + +#. Reference: NONEXISTENT_IDENTIFIER +#: script_checking/error_database.csv:100 +msgid "" +"To solve this error, triple-check that there is no typo in the line.\n" +"\n" +"If you can, try to go to the variable or function definition, double-click " +"the name, copy it, and paste it where you see the error.\n" +"\n" +"If you don't see any typo, then you need to ensure that you defined the " +"variable, function, or class you are referring to." +msgstr "" +"Bu hatayı çözmek için, tüm satırları yazım hataları için üç kere kontrol " +"etmelisin.\n" +"\n" +"Münkünse, ilgili değişken yada fonksiyon tanımına git, ismine çift tıkla, " +"kopyala, ve hatayı daha iyi görebileceğin boş bir alana yapıştır.\n" +"\n" +"Eğer bir yazım hatası göremiyorsan, ilgili değişkeni, fonksiyonu, ya da " +"sınıfı tanımladığından emin olmalısın." + +#. Reference: MISPLACED_KEYWORD +#: script_checking/error_database.csv:105 +msgid "" +"You can only use keywords like [code]break[/code] or [code]continue[/code] " +"in a loop. Outside a loop, they are invalid.\n" +"\n" +"The [code]continue[/code] keyword means \"jump to the next iteration of the " +"loop.\" And the [code]break[/code] keyword means \"end the loop right now " +"and jump to the first line of code after the loop block." +msgstr "" +"[code]break[/code] ve ya [code]continue[/code] gibi bazı anahtar kelimeleri " +"sadece bir döngünün içinde kulanabilirsin. Bunlar döngü dıında geçersizdir.\n" +"\n" +"[code]continue[/code] anahtar kelimesi \"döngünün sonraki yinelemesine " +"sıçra\" anlamına gelir. Ve [code]break[/code] anahtar kelimesi \"döngüyü " +"hemen şimdi bitir ve döngü gövdesinin bittiği ilk satıra zıpla\" " +"anlamındadır." + +#. Reference: MISPLACED_KEYWORD +#: script_checking/error_database.csv:105 +msgid "" +"If you wrote one of these keywords outside a loop, you need to remove it.\n" +"\n" +"If you are trying to use it inside a loop, your indentation is most likely " +"at fault. You may need to insert one or more leading tab characters to the " +"keyword." +msgstr "" +"Eğer bu anahtar kelimelerden birini döngü dışında yazmışsan, hemen kaldırman " +"gerekir.\n" +"\n" +"Eğer zaten döngü içinde kullandıysan, bu durumda kodun girinti miktarı " +"hatalıdır. Kelimenin olduğu satır başına bir yada iki tane daha sekme " +"karakteri eklemelisin." + +#. Reference: EXPECTED_CONSTANT_EXPRESSION +#: script_checking/error_database.csv:110 +msgid "" +"When the computer talks about a constant expression, it expects a fixed " +"value, a fixed calculation, or the name of an existing constant.\n" +"\n" +"In other words, it wants something that can never change. This is why the " +"computer will reject function calls and variables where it needs a constant " +"expression." +msgstr "" +"Bilgisayar sana sabit bir ifadeden bahsediyorsa (constant), senden " +"sabitlenmiş bir değer, sabit bir hesaplama, ya da ar olan bir sabitin ismini " +"istiyor demektir.\n" +"\n" +"Diğer bir deyişle, hiç değişmeyecek bir şey istiyor demektir. Bilgisayarın, " +"sabit ifadeler beklediği fonksiyon çağrıları yada değişkenleri geri çevirme " +"sebebi bundandır." + +#. Reference: EXPECTED_CONSTANT_EXPRESSION +#: script_checking/error_database.csv:110 +msgid "" +"You need to replace function calls or variables with a constant value like a " +"whole number, decimal number, string, vector, a predefined array, etc.\n" +"\n" +"You can also use arithmetic operators like multiplications (*), additions " +"(+), and so on." +msgstr "" +"Fonksiyon çağrısı ya da değişkenleri şunlar gibi sabit değerlerle " +"değiştirmelisin: bir tam sayı, ondalıklı sayı, dize, vektör, ön tanımlı " +"dizi, vb.\n" +"\n" +"Bunlarla çarpma(*), toplama(+) ve benzeri aritmetik işlemleri de " +"kullanabilirsin." + +#. Reference: INVALID_CLASS_DECLARATION +#: script_checking/error_database.csv:115 +msgid "" +"When defining a new class, you need to follow a specific pattern. You must " +"write the name in plain text, starting with a letter.\n" +"\n" +"We typically write class names in PascalCase: with a capital letter at the " +"start of every word that composes the class name." +msgstr "" +"Yeni bir sınıf tanımlarken, belirli bir kalıbı takip etmelisin. Bir harf ile " +"başlayan düz metin bir isim yazmalısın (ingilizce harflerle)\n" +"\n" +"Sınıf isimlerinde, özgün olarak PascalCase kullanırız: sınıf ismini " +"oluşturan her kelime, ilk harfi büyük olacak şekilde birleşir." + +#. Reference: INVALID_CLASS_DECLARATION +#: script_checking/error_database.csv:115 +msgid "" +"To fix this error, replace whatever you put after the 'extends' or " +"'class_name' keyword by a name without spaces and starting with a capital " +"letter.\n" +"\n" +"You can optionally use numbers in the name, but not in the first position." +msgstr "" +"Bu hatayı düzeltmek için, 'extends' ya da 'class_name' anahtar " +"kelimelerinden sonra her ne yazdıysan, ilk harfi büyük olan ve boşluk " +"içermeyen bir isimle değiştirmelisin.\n" +"\n" +"İsteğe bağlı olarak ismin içinde numralar kullanabilirsin, ama kesinlikle " +"ilk başta olmasınlar (bir harf ile başlamalı)." + +#. Reference: DUPLICATE_DECLARATION +#: script_checking/error_database.csv:120 +msgid "" +"You are trying to define a function or variable that already exists; You " +"can't do that.\n" +"\n" +"Perhaps the function or variable already exists in the current code file, " +"but it may also be in a parent class that this GDScript code extends." +msgstr "" +"Zaten var olan bir fonksiyon yada değişkeni tanımlamaya çalışıyorsun. Bunu " +"yapamazsın.\n" +"\n" +"Bu kod dosyasında bulunan fonksiyon ya da değişken, belki de bu GDScript " +"kodunun içe aktarıp genişlettiği (extends) ana sınıfın içerisinde de " +"tanımlanmıştır." + +#. Reference: DUPLICATE_DECLARATION +#: script_checking/error_database.csv:120 +msgid "" +"In the app, your code extends some built-in Godot code that's not visible to " +"you.\n" +"\n" +"When that happens, you need to either rename your function or variable to " +"one that will not collide with an existing one or remove this line of code." +msgstr "" +"Uygulama içinde, senin yazdığın kod, senin göremediğin ama Godot içinde " +"gömülü gelen kodları içe aktarıp genişletir (extends).\n" +"\n" +"Bu olduğunda, yazdığın fonksiyon yada değişken ismini, var olanlarla " +"çakışmayacak şekilde değiştirmeli, veya bu kod satırını tamamen silmelisin." + +#. Reference: DUPLICATE_SIGNAL_DECLARATION +#: script_checking/error_database.csv:125 +msgid "" +"You are trying to define a signal that already exists; You can't do that.\n" +"\n" +"Perhaps the signal already exists in the current code file, but it may also " +"be in a parent class that this GDScript code extends." +msgstr "" +"Zaten var olan bir sinyali (signal) yeniden tanımlamaya çalışıyorsun. Bunu " +"yapamazsın.\n" +"\n" +"Yazdığın kod dosyasındaki bu sinyal, belki de bu GDScript kodunun içe " +"aktarıp genişlettiği (extends) ana sınıfta da vardır." + +#. Reference: DUPLICATE_SIGNAL_DECLARATION +#: script_checking/error_database.csv:125 +msgid "" +"In the app, your code extends some built-in Godot code that's not visible to " +"you.\n" +"\n" +"When that happens, you need to either rename your signal to one that will " +"not collide with an existing one or remove this line of code." +msgstr "" +"Uygulama içinde, senin yazdığın kod, senin göremediğin ama Godot içinde " +"gömülü gelen kodları içe aktarıp genişletir (extends).\n" +"\n" +"Bu olduğunda, yazdığın fonksiyon yada değişken ismini, var olanlarla " +"çakışmayacak şekilde değiştirmeli, ya da bu kod satırını tamamen silmelisin." + +#. Reference: SIGNATURE_MISMATCH +#: script_checking/error_database.csv:130 +msgid "" +"The function you're trying to define exists in a parent class, so your " +"definition overrides the parent class's function.\n" +"\n" +"When you override a parent class's function, the new function must match the " +"parent. The new function should have the same number and type of parameters " +"as the parent class.\n" +"\n" +"For example, if the parent has two arguments, you need your new function " +"also to have two arguments. If you use type hints in your function " +"definitions, the argument types must match the parent class." +msgstr "" +"Tanımlayama çalıştığın fonksiyon, ana sınıf içinde zaten tanımlı durumda, " +"yani senin tanımlaman, ana sınıftaki fonksiyonun üzerine yazıyor.\n" +"\n" +"Ana sınıfın bir fonksiyonunun üzerine yazacaksan, yeni fonksiyonu ana " +"sınıftaki ile eşdeğer olmalıdır. Yeni fonksiyonun paramatrelerinin sayısı ve " +"tipleri, ana sınıfın fonksiyonu ile aynı olmalıdır.\n" +"\n" +"Örneğin, ana sınıfta iki tane girilen değer varsa, senin fonksiyonun da iki " +"girilen değişken kullanmalıdır. Fonksiyon tanımında tip belirteçleri " +"kullanıyorsan, girdi değişkenleri ana sınıftakilerle aynı tipte olmalıdır." + +#. Reference: SIGNATURE_MISMATCH +#: script_checking/error_database.csv:130 +msgid "" +"You need to check the parent class's function and its definition in the code " +"reference. Then, you need to edit your function definition to have the same " +"number and type of parameters as the parent class." +msgstr "" +"Ana sınıfın fonksiyonunu ve nasıl tanımlandığını, kod başvuru kaynaklarından " +"kontrol etmelisin. Sonra, fonksiyon tanımını, girdi değişkenlerinin sayıları " +"ve tipleri ana sınıftaki ile aynı olacak şekilde yeniden düzenlemelisin." + +#. Reference: INVALID_ARGUMENTS +#: script_checking/error_database.csv:131 +msgid "" +"This whole class of errors has to do with calling functions with either the " +"wrong number of arguments or the wrong kind of argument. You will need to " +"use the error message to see what is going wrong." +msgstr "" +"Bu hata sınıfı, fonksiyonları, ya yanlış sayıda girdi değişkeni ile " +"çağırmak, ya da yanlış girdi değişkeni tipi kullanmak ile ilgilidir. Hata " +"mesajının kendisini okuyup neyin yanlış olduğunu görmen gerekiyor." + +#. Reference: INVALID_ARGUMENTS +#: script_checking/error_database.csv:131 +msgid "" +"You need to either remove, add, or change the values you're trying to pass " +"to the function to solve this issue. To know exactly how many arguments you " +"need, you need to check the code reference. It will show you the function " +"definition and the mandatory arguments." +msgstr "" +"Bunu çözmek için, ya fonksiyona gönderdiğin değişkenlere ekleme yapmalı, ya " +"bunlardan bir kaçını çıkarmalı, ya da bunların değerlerini değiştirmelisin. " +"Tam olarak kaç tane girdi değişkeni gerektiğini görmek için kod başvuru " +"kaynaklarına bakmak gerekiyor. Bunlar sana fonksiyonun nasıl tanımlandığını " +"ve gerekli olan girdi değşkenlerini gösterecektir." + +#. Reference: TYPE_MISMATCH +#: script_checking/error_database.csv:142 +msgid "" +"All the values in your code have a specific type. That type can be a whole " +"number (int), a decimal number (float), text (String), and so on. There are " +"tons of possible types, and you can even define your own!\n" +"\n" +"When you make any operation, the computer compares the types you are using.\n" +"\n" +"Some types are compatible, and some are not. For example, you cannot " +"directly add a whole number to a text string. You first need to convert the " +"number into text.\n" +"\n" +"You'll need to read the error message to see what is not matching because " +"there are many possible cases." +msgstr "" +"Kodundaki bütün değerler, belirli bir tipe sahiptir. Bunlar bir tam sayı " +"(int), bir ondalık sayı (float), bir dize (String), ve benzeri olabilirler. " +"Mümkün olan tonlarca farklı tip var, ve hatta kendine ait bir tip " +"tanımlayabilirsin.\n" +"\n" +"Bir işlem yaptığında, bilgisayar kullandığın bu tipleri karşılaştırır.\n" +"\n" +"Bazı tipler uyumludur, bazıları uyumsuz. Örnek olarak, bir tam sayı ile bir " +"dizeyi doğrudan toplayamazsın. İlk önce sayıyı bir dizeye çevirmen gerekir.\n" +"\n" +"Bu konuda o kadar çok olasılık var ki, nelerin uyuşmadığını görmek için hata " +"mesajını okuman gerekiyor." + +#. Reference: TYPE_MISMATCH +#: script_checking/error_database.csv:142 +msgid "" +"If the error mentions the assigned value type not matching the variable, the " +"problem is on the right side of the equal sign (=).\n" +"\n" +"If the error talks about the return type not matching the function, then it " +"is the value after the return keyword that is problematic.\n" +"\n" +"If the computer talks about an invalid operand, then the issue is that the " +"operation does not exist for the type you're trying to use. For example, " +"while you can add two 2D vectors, you can't add a whole number or text to a " +"2D vector." +msgstr "" +"Eğer hata, atamaya çalıştığın değerin, değişken ile uyuşmadığını söylüyorsa, " +"sorun eşitlik (=) işaretinin sağ tarafındadır.\n" +"\n" +"Eğer hata, geri dönüş tipinin fonksiyon ile uyuşmadığını söylerse, bu " +"durumda sorun \"return\" anahtar kelimesinden sonra yazılan değerdedir.\n" +"\n" +"Eğer bilgisayar, geçersiz bir işlenen (operand) var diyorsa, böyle bir " +"işlemin kullanmaya çalıştığın tip için tanımlı olmadığı anlamındadır. " +"Örneğin, iki tane 2D vektörü birbirine ekleyebilirken, bir 2D vektörü ile " +"bir sayı ya da yazıyı toplayamazsın." + +#. Reference: TYPE_CANNOT_BE_INFERRED +#: script_checking/error_database.csv:147 +msgid "" +"GDScript supports type inference. The computer will automatically recognize " +"the type of value you are working with. In some cases, though, it can't " +"figure it out.\n" +"\n" +"When that happens, you need to specify the type yourself or remove type " +"inference altogether for this variable." +msgstr "" +"GDScript, tip çıkarımı yapabilir. Bilgisayar, üzerinde çalıştığın değer " +"tipini kendiliğinden tanıyabilir. Yine de bazı durumlarda bunu başaramaz.\n" +"\n" +"Bu olduğunda, ilgili tip tanımını kendin yapabilir veya bu değişken için tip " +"çıkarımını tümüyle kaldırabilirsin." + +#. Reference: TYPE_CANNOT_BE_INFERRED +#: script_checking/error_database.csv:147 +msgid "" +"The simplest way to solve this error is to remove types for this variable or " +"this function's arguments. Otherwise, you can manually specify the value " +"type after the colon.\n" +"\n" +"We recommend specifying the type whenever possible to reap the typing " +"system's benefits." +msgstr "" +"Bu hatayı çözmenin en kolay yolu, bu değişkenden ya da fonksiyonun girdi " +"değişkenlerinden tipleri kaldırmak. Aksi durumda, iki nokta üstüsteden sonra " +"tip değerini elle girerek tanımlamalısın.\n" +"\n" +"Tip sisteminin nimetlerinden yararlanmak için, mümkün olduğu kadar tipleri " +"belirtmeni tavsiye ediyoruz." + +#. Reference: RETURN_VALUE_MISMATCH +#: script_checking/error_database.csv:153 +msgid "" +"There is an issue with the return value of your function. There are two main " +"cases here:\n" +"\n" +"1. Your function is a void function, thus it should not return a value. This " +"includes functions with the '-> void' syntax and class constructors " +"('_init()').\n" +"2. You specified a return type for your function, but you are not returning " +"a value in all possible branches (if, elif, and else blocks) or at the end." +msgstr "" +"Fonksiyonunun dönüş değerinde bir sorun var. Burada iki durum söz konusu:\n" +"\n" +"1. Fonksiyonun bir boş (void) fonksiyondur, ve herhangi bir değer " +"döndürmemelidir. Bu tip fonksiyonlar, '-> void' söz yazımı ile tanımlanan " +"fonksiyonlar ile sınıf yapıcılardır ('_init()').\n" +"2. Fonksiyonun için bir dönüş tipi tanımladın, ama gerekli tüm kollardan (" +"if, elif, ve else kalıpları) yada en sonda bir değer geri döndürmüyorsun." + +#. Reference: RETURN_VALUE_MISMATCH +#: script_checking/error_database.csv:153 +msgid "" +"When your function is 'void', you should never return a value. You can use " +"the 'return' keyword to end the function early, but you should never write " +"anything after that.\n" +"\n" +"When you use a return type, you must always return something at the end of " +"the function or in every branch (if, elif, and else block) of the function." +msgstr "" +"fonksiyonun 'void' ise, geriye bir değer döndürmemelisin. 'return' anahtar " +"kelimesini, fonksiyonu erken sonlandırmak için kullanabilirsin, ama bunun " +"arkasına hiç bir şey yazmamalısın.\n" +"\n" +"Bir dönüş tipi kullanıyorsan, ya fonksiyon bitiminde ya da fonksiyonun her " +"bir kolunda (if, elif, and else) aynı şekilde dönüş yapmalısın." + +#. Reference: INVALID_NO_CATCH +#: script_checking/error_database.csv:154 +msgid "" +"Godot was unable to load your script, yet the language checker found nothing " +"wrong." +msgstr "" +"Godot, betik dosyanı yüklemeyi başaramadı, ama yine de dil kontrolcüsü " +"herhangi bir sorun tespit edemedi." + +#. Reference: INVALID_NO_CATCH +#: script_checking/error_database.csv:154 +msgid "" +"Please click on the \"report\" button at the top and please let us know." +msgstr "Lütfen yukarıdaki \"bildir\" düğmesine tıkla ve bize haber ver." + +#. Reference: RECURSIVE_FUNCTION +#: script_checking/error_database.csv:155 +msgid "You called a function inside itself. This will loop forever." +msgstr "" +"Bir fonksiyonu kendi içerisinde çağırdın. Bu sonsuz döngüye sebep olacak." + +#. Reference: RECURSIVE_FUNCTION +#: script_checking/error_database.csv:155 +msgid "" +"There are valid reasons for using recursive functions, but none of them are " +"part of this course, so this cannot be a valid solution." +msgstr "" +"Özçağrılı (recursive) fonksiyonlar kullanmak için geçerli pek çok sebep var, " +"ama bunların hiç biri bu kursun parçası değil, bu nedenle çözümün geçerli " +"bir çözüm değil." + +#. Reference: UNEXPECTED_EOL +#: script_checking/error_database.csv:157 +msgid "" +"The computer reached the end of the line of code, but the line had a syntax " +"error.\n" +"The most common case is when you forget to close a string: you have opening " +"quotes, but you forget to add a matching closing quote." +msgstr "" +"Bilgisayar, kodun son satırına ulaştı, ama bu satırda yazım hatası var.\n" +"En yaygın durum, yukarıda bir yerlerde bir dizeyi kapatmayı unutmandır: " +"başlangıç tırnak işaretini koyarsın, ama karşılık gelen kapanış tırnağını " +"unutursun." + +#. Reference: UNEXPECTED_EOL +#: script_checking/error_database.csv:157 +msgid "" +"Double-check that you are not missing a quote character or that the quote " +"character you used to start the string is the same as the one you used to " +"close the string." +msgstr "" +"Tırnak işareti karakterini unutmadığını, ya da başlayan ve kapatanın aynı " +"olduğunu iki defa kontrol et. (tek, çift ve ters tırnak işaretleri)." + +#. Reference: CANT_GET_INDEX +#: script_checking/error_database.csv:160 +msgid "The sub-variable you are trying to access does not exist." +msgstr "Kullanmaya çalıştığın alt-değişken tanımlı değil." + +#. Reference: CANT_GET_INDEX +#: script_checking/error_database.csv:160 +msgid "" +"You probably have a typo in the name of the sub-variable that you are trying " +"to access.\n" +"\n" +"Ensure that you don't have a capital letter where you should have a " +"lowercase letter and vice versa." +msgstr "" +"Muhtemelen, kullanmaya çalıştığın alt-değişkenin isminde bir yazım hatası " +"yaptın.\n" +"\n" +"Küçük harf kullanman gereken yerde büyük harf kullanmadığına, ya da tam " +"tersi, emin ol." diff --git a/i18n/tr/glossary_database.po b/i18n/tr/glossary_database.po new file mode 100644 index 00000000..39983bef --- /dev/null +++ b/i18n/tr/glossary_database.po @@ -0,0 +1,644 @@ +# 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 , 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-10 17:11+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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" + +#. Reference: member function +#: course/glossary.csv:6 +msgid "member function" +msgstr "üye fonksiyon" + +#. Reference: member function +#: course/glossary.csv:6 +msgid "member functions" +msgstr "üye fonksiyonlar" + +#. Reference: member function +#: course/glossary.csv:6 +msgid "" +"Member functions are functions attached to a specific value type, like " +"arrays, strings, or dictionaries. We also call them methods.\n" +"\n" +"For example, arrays have member functions like [code]array.append()[/code].\n" +"\n" +"You can only call the function on an array, using the access operator " +"([code].[/code]) to access it, as shown above." +msgstr "" +"Üye fonksiyonlar, diziler (array), dizeler (string), ve sözlükler " +"(dictionary) gibi belirli bir değer tipine bağlanmış fonksiyonlardır. " +"Bunlara ayrıca metodlar da denilir.\n" +"\n" +"Örneğin, dizilerin [code]array.append()[/code] (ekleme yapma) gibi üye " +"fonksiyonları vardır.\n" +"\n" +"Böyle bir fonksiyonu çalıştırmak için, mesela bir dizi üzerinden erişirken, " +"yukarıda görüldüğü gibi bir erişim işleci kullanılır ([code].[/code], nokta " +"işareti)." + +#. Reference: member variable +#: course/glossary.csv:9 +msgid "member variable" +msgstr "üye değişken" + +#. Reference: member variable +#: course/glossary.csv:9 +msgid "member variables" +msgstr "üye değişkenler" + +#. Reference: member variable +#: course/glossary.csv:9 +msgid "" +"Member variables are variables attached to a specific value type, like a " +"vector's [code]x[/code] and [code]y[/code] sub-variables. We also call them " +"[i]properties[/i] or [i]fields[/i] of the vector.\n" +"\n" +"To access a member variable, you must first write the value's name followed " +"by the access operator ([code].[/code]). For example, [code]position.x[/" +"code]." +msgstr "" +"Üye değişkenler, belirli bir değer tipine bağlanmış değişkenlerdir; örneğin " +"bir vektörün (vector) [code]x[/code] ve [code]y[/code] alt-değişkenleri " +"gibi. Bunları ayrıca değer tipinin, mesela vektörün, [i]özellikleri[/i] veya " +"[i]alanları[/i] olarakta isimlendiririz.\n" +"\n" +"Bir üye değişkene erişmek için, önce ana değişken ismini ve ardından erişim " +"işlecini ([code].[/code], nokta işareti) yazmanız gerekir. Örneğin " +"[code]position.x[/code]." + +#. Reference: parameter +#: course/glossary.csv:12 +msgid "parameter" +msgstr "alınan değişken, parametre" + +#. Reference: parameter +#: course/glossary.csv:12 +msgid "parameters" +msgstr "Alınan değişkenler, Parametreler" + +#. Reference: parameter +#: course/glossary.csv:12 +msgid "" +"A parameter is a variable you create as part of a function definition.\n" +"\n" +"It allows you to reuse the function more by having values that vary in the " +"function's body." +msgstr "" +"Bir alınan değişken (parametre), bir fonksiyonun tanımının parçası olarak " +"oluşturulan bir değişkendir.\n" +"\n" +"Bu bize, fonksiyon içinde değişebilen farklı değerler ile fonksiyonu farklı " +"şekillerde yeniden kullanmayı sağlar." + +#. Reference: radian +#: course/glossary.csv:17 +msgid "radian" +msgstr "radyan" + +#. Reference: radian +#: course/glossary.csv:17 +msgid "radians" +msgstr "radyan" + +#. Reference: radian +#: course/glossary.csv:17 +msgid "" +"A radian is a unit of measurement of angles based on the circle's " +"circumference.\n" +"\n" +"We tend to use degrees more in our daily lives, but in computer programming, " +"and especially in games, radians are common.\n" +"\n" +"An angle of [code]2 * PI[/code] radians corresponds to 360 degrees. And an " +"angle of [code]PI[/code] radians corresponds to 180 degrees." +msgstr "" +"Bir radyan, bir dairenin çevresini temel alan bir açı ölçme birimidir.\n" +"\n" +"Günlük hayatımızda daha çok \"derece\" kullanmaya meyilliyiz, ama bilgisayar " +"programcılığında, ve özellikle oyunlarda, radyan daha yaygındır.\n" +"\n" +"[code]2 * PI[/code] radyanlık bir açı 360 dereceye karşılık gelir. Ve " +"[code]PI[/code] radyanlık açı da 180 derecedir." + +#. Reference: type +#: course/glossary.csv:20 +msgid "type" +msgstr "tip" + +#. Reference: type +#: course/glossary.csv:20 +msgid "types" +msgstr "tipler" + +#. Reference: type +#: course/glossary.csv:20 +msgid "" +"In computer programming, a type is the class of a value. For example, whole " +"numbers like [code]3[/code], [code]11[/code], and [code]255462[/code] are " +"all of type [code]int[/code] (short for integer).\n" +"\n" +"The computer uses types to determine which operations are valid between two " +"values and when they're undefined." +msgstr "" +"Bilgisayar programcılığında, bir tip, bir değerin sınıfıdır. Mesela, " +"[code]3[/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ğunu, ve " +"bunların ne zaman tanımsız olduğunu belirlerlerken tipleri kullanır." + +#. Reference: iteration +#: course/glossary.csv:23 +msgid "iteration" +msgstr "yineleme" + +#. Reference: iteration +#: course/glossary.csv:23 +msgid "iterations" +msgstr "yinelemeler" + +#. Reference: iteration +#: course/glossary.csv:23 +msgid "" +"In computer code, an iteration is one repetition of some process or code. We " +"typically use the term with loops, where one iteration is one run of the " +"loop's code.\n" +"\n" +"When talking of algorithms, an iteration can mean a full pass of the " +"algorithm on a data set." +msgstr "" +"Bilgisayar kodunda, bir yineleme, bir işlem yada kodun bir kere " +"tekrarlamasıdır. Bu terimi genellikle döngülerde kullanırız; bir yineleme " +"döngüdeki kodun bir kere çalışmasıdır.\n" +"\n" +"Algoritmalardan bahsederken, bir yineleme, bir veri kümesi üzerinde " +"algoritmanın bir tam geçiş yapması anlamını taşıyabilir." + +#. Reference: vector +#: course/glossary.csv:28 +msgid "vector" +msgstr "vektör" + +#. Reference: vector +#: course/glossary.csv:28 +msgid "vectors" +msgstr "vektörler" + +#. Reference: vector +#: course/glossary.csv:28 +msgid "" +"In math, a vector is a list of numbers. In games, we often use 2D and 3D " +"vectors: respectively, lists of two and three numbers.\n" +"\n" +"We use that to represent a direction and magnitude or intensity in space. " +"For example, you can use a vector to represent the direction and speed at " +"which a character or a vehicle moves.\n" +"\n" +"Vectors can seem daunting at first because they are pretty abstract, but as " +"you will see, they'll simplify code tremendously." +msgstr "" +"Matematikte, bir vektör (vector) bir numara listesidir. Oyunlarda, " +"genellikle 2D ve 3D vektörleri kullanırız; yani iki ve üç numaralık listeler." +"\n" +"\n" +"Bunları, yön ve büyüklüğü ya da uzaysal yoğunluğu betimlemek için " +"kullanırız. Örneğin, bir karakter yada aracın hareket yönünü ve hızını " +"betimlerken bir vektör kullanırız.\n" +"\n" +"Vektörler, oldukça soyut olduklarından, ilk başta biraz caydırıcı " +"olabilirler, ama ilerde göreceğiniz gibi, kodumuzu dehşet seviyede " +"basitleştirirler." + +#. Reference: argument +#: course/glossary.csv:37 +msgid "argument" +msgstr "girilen değişken, argüman" + +#. Reference: argument +#: course/glossary.csv:37 +msgid "arguments" +msgstr "girilen değişkenlerler, argümanlar" + +#. Reference: argument +#: course/glossary.csv:37 +msgid "" +"An argument is a value that you pass to a function when calling the " +"function. For example, in the call [code]rotate(0.5)[/code], the value " +"[code]0.5[/code] in the parentheses is an argument.\n" +"\n" +"A function can receive no arguments, one argument, or multiple arguments. " +"Arguments can be mandatory or optional.\n" +"\n" +"When a function takes multiple arguments, you separate the values with " +"commas, like in this function call: [code]jump(50, 100)[/code]\n" +"\n" +"When [i]calling[/i] a function, we name the values passed in parentheses " +"[i]arguments[/i].\n" +"\n" +"When writing a function definition, however, we talk about function " +"[i]parameters[/i]. In the following example, the names [code]x[/code] and " +"[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, " +"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ı " +"olabilirler.\n" +"\n" +"Bir fonksiyon çoklu değerler bekliyorsa, değerleri virgül ile ayırmalısınız; " +"mesela bu çağrıda olduğu gibi [code]jump(50, 100)[/code]\n" +"\n" +"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 " +"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." + +#. Reference: array +#: course/glossary.csv:44 +msgid "array" +msgstr "dizi" + +#. Reference: array +#: course/glossary.csv:44 +msgid "arrays" +msgstr "diziler" + +#. Reference: array +#: course/glossary.csv:44 +msgid "" +"An array is a list of values. In GDScript, arrays can contain [i]any[/i] " +"types of value.\n" +"\n" +"To create an array, you write comma-separated values in square brackets: " +"[code]var three_numbers = [1, 2, 3][/code]\n" +"\n" +"In games, we use arrays all the time to store lists of characters in a " +"party, lists of items in inventory, lists of spells the player unlocked, and " +"so on. They're everywhere.\n" +"\n" +"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" +"\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" +"\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 " +"yerdeler.\n" +"\n" +"Diziler, bilgisayar programcılığının en temel değer tiplerinden biridir. " +"Dizileri, belkide her tür programlama dilinde bulabilirsin." + +#. Reference: assign +#: course/glossary.csv:45 +msgid "assign" +msgstr "atama" + +#. Reference: assign +#: course/glossary.csv:45 +msgid "" +"Assigning a value to a variable means that you store a value inside the " +"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." + +#. Reference: dictionary +#: course/glossary.csv:52 +msgid "dictionary" +msgstr "sözlük" + +#. Reference: dictionary +#: course/glossary.csv:52 +msgid "dictionaries" +msgstr "sözlükler" + +#. Reference: dictionary +#: course/glossary.csv:52 +msgid "" +"A dictionary is a data structure that maps values with key-value pairs. When " +"you give the dictionary a key, it finds and gives you back the corresponding " +"value.\n" +"\n" +"In GDScript, keys can be many things. We often use text strings or numbers, " +"but you're not limited to that. A [code]Vector2[/code] can also be a valid " +"key, which is handy to map a grid cell to a unit or an item in a grid-based " +"game.\n" +"\n" +"You will often use dictionaries to associate bits of data in your games. For " +"example, we could use them to associate an equipment's name with its weapon " +"stats in a database.\n" +"\n" +"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, " +"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" +"\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 " +"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." + +#. Reference: for loop +#: course/glossary.csv:59 +msgid "for loop" +msgstr "for döngüsü" + +#. Reference: for loop +#: course/glossary.csv:59 +msgid "for loops" +msgstr "for döngüleri" + +#. Reference: for loop +#: course/glossary.csv:59 +msgid "" +"A for loop instructs the computer to repeat a set of instructions once for " +"each value in an array.\n" +"\n" +"In each loop iteration, the compiler extracts one value from the array and " +"gives you access to it in the loop's body.\n" +"\n" +"For loops run code a limited amount of times: one per value in the array. It " +"is different from while loops that keep repeating code until a condition is " +"met.\n" +"\n" +"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" +"\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" +"\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." + +#. Reference: function +#: course/glossary.csv:64 +msgid "function" +msgstr "fonksiyon" + +#. Reference: function +#: course/glossary.csv:64 +msgid "functions" +msgstr "fonksiyonlar" + +#. Reference: function +#: course/glossary.csv:64 +msgid "" +"A function is a group of code instructions you give a name. When you define " +"a function, you can call it any time to run all the instructions it " +"contains.\n" +"\n" +"You can modify a function's behavior with parameters. Parameters are " +"variable names that you write in the function definition. You can then use " +"them in the function's body to make your code adapt to different cases.\n" +"\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" +"\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" +"\n" +"Ayrıca fonksiyonlar, isteğe bağlı olarak, geriye değer döndürebilirler." + +#. Reference: increment +#: course/glossary.csv:65 +msgid "increment" +msgstr "artış" + +#. Reference: increment +#: course/glossary.csv:65 +msgid "increments" +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." + +#. Reference: instruction +#: course/glossary.csv:68 +msgid "instruction" +msgstr "talimat" + +#. Reference: instruction +#: course/glossary.csv:68 +msgid "instructions" +msgstr "talimatlar" + +#. Reference: instruction +#: course/glossary.csv:68 +msgid "" +"In computer programming, instructions are a single operation the computer " +"recognizes and can execute.\n" +"\n" +"For example, a function call, an addition, or assigning a value to a " +"variable." +msgstr "" +"Bilgisayar programcılığında, talimatlar, bilgisayarın tanıdığı ve " +"çalıştırabileceği tekil işlemlerdir.\n" +"\n" +"Örneğin, bir fonksiyon çağırma, toplama işlemi yapma, ya da bir değişkene " +"değer atamak gibi." + +#. Reference: variable +#: course/glossary.csv:77 +msgid "variable" +msgstr "değişken" + +#. Reference: variable +#: course/glossary.csv:77 +msgid "variables" +msgstr "değişkenler" + +#. Reference: variable +#: course/glossary.csv:77 +msgid "" +"Variables are a tool to give a name to values you want to store in your code " +"and change over time.\n" +"\n" +"For example, a character's health: when the character takes a hit, you want " +"it to go down. When healing, you want the health to go back up.\n" +"\n" +"You can create a variable named [code]health[/code] to represent the " +"health.\n" +"\n" +"Then, every time you write the keyword [code]health[/code] in your code, the " +"computer will fetch the corresponding value in its memory for you.\n" +"\n" +"Variables work a bit like product labels in a supermarket. They are names " +"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" +"\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" +"\n" +"Sağlığı temsil etmesi için [code]health[/code](sağlık) isminde bir değişken " +"oluşturabilirsin.\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" +"\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." + +#. Reference: while loop +#: course/glossary.csv:84 +msgid "while loop" +msgstr "while döngüsü" + +#. Reference: while loop +#: course/glossary.csv:84 +msgid "while loops" +msgstr "while döngüleri" + +#. Reference: while loop +#: course/glossary.csv:84 +msgid "" +"A while loop instructs the computer to keep running code based on a " +"condition. While the condition is true, the loop keeps running.\n" +"\n" +"When coding while loops, you must be careful: they will keep running " +"infinitely and freeze your game if you get the condition wrong.\n" +"\n" +"That's why we recommend using the safer for loop whenever you can.\n" +"\n" +"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 " +"ç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" +"\n" +"Münkün olduğunca daha güvenli olan for döngüsünü kullanmanı ö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." + +#. Reference: body +#: course/glossary.csv:85 +msgid "body" +msgstr "gövde" + +#. Reference: body +#: course/glossary.csv:85 +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." + +#. Reference: return +#: course/glossary.csv:88 +msgid "return" +msgstr "geri döndürme (return)" + +#. Reference: return +#: course/glossary.csv:88 +msgid "" +"Returning a value is the process of sending a value to the place where you " +"call a function.\n" +"\n" +"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 " +"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." + +#. Reference: library +#: course/glossary.csv:89 +msgid "library" +msgstr "kütüphane" + +#. Reference: library +#: course/glossary.csv:89 +msgid "libraries" +msgstr "kütüphaneler" + +#. Reference: library +#: course/glossary.csv:89 +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 " +"toplanmış, değerli ve tekrar kullanılabilir kod yığınlarıdır. Tüm " +"programcılar kod kütüphaneleri kullanırlar." + +#. Reference: sprite +#: course/glossary.csv:90 +msgid "sprite" +msgstr "grafik öğe" + +#. Reference: sprite +#: course/glossary.csv:90 +msgid "sprites" +msgstr "grafik öğeler" + +#. Reference: sprite +#: course/glossary.csv:90 +msgid "" +"In computer graphics, a sprite is an image you display on the screen. We " +"generally use this word to talk about moving images, like a character, a " +"monster, or an item falling on the ground." +msgstr "" +"Bilgisayar grafiklerinde (çizimler, görseller), bir grafik öğe, ekranda " +"gösterilen bir imgedir. Bu kelimeyi genellikle hareketli imgeler için " +"kullanırız; bir karakter, bir canavar, ya da yere düşen bir nesne." diff --git a/i18n/tr/lesson-1-what-code-is-like.po b/i18n/tr/lesson-1-what-code-is-like.po new file mode 100644 index 00000000..21fcf039 --- /dev/null +++ b/i18n/tr/lesson-1-what-code-is-like.po @@ -0,0 +1,455 @@ +# 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 , 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-10 17:52+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-1-what-code-is-like/lesson.tres:14 +msgid "" +"Learning to program can be daunting.\n" +"\n" +"Yet, you want to make video games, so [b]there is no way around learning to " +"program[/b]. [i]Every[/i] video game is a computer program." +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." + +#: course/lesson-1-what-code-is-like/lesson.tres:24 +msgid "Telling the computer what to do" +msgstr "Bilgisayara ne yapacağını söylemek" + +#: course/lesson-1-what-code-is-like/lesson.tres:26 +msgid "" +"Programming is the process of writing precise instructions that tell a " +"computer how to perform a task.\n" +"\n" +"A game's instructions are, for example: moving a character, drawing a life " +"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" +"\n" +"Örneğin, bir oyunun yönergeleri şunlar olabilir: bir karakteri hareket " +"ettirmek, bir hayat çubuğu çizmek, veya 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." + +#: course/lesson-1-what-code-is-like/lesson.tres:58 +msgid "" +"Programming languages are different from natural ones like English or " +"Spanish. The computer does not think. Unlike us, it can't [i]interpret[/i] " +"what you tell it.\n" +"\n" +"You can't tell it something vague like \"draw a circle.\"\n" +"\n" +"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 " +"[i]yorumlayamaz[/i].\n" +"\n" +"Ona, \"bir daire çiz\" gibi belirsiz bir şey söylemezsin.\n" +"\n" +"Hangi daire? Nerede/Nereye? Hangi rente 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" + +#: course/lesson-1-what-code-is-like/lesson.tres:72 +msgid "" +"To draw a filled circle, the computer needs to know exact drawing " +"coordinates, the radius, the thickness, and color you want.\n" +"\n" +"The code to do so [i]may[/i] look like this.\n" +"\n" +"[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" +"\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. " +"(draw_circle)[/i]" + +#: course/lesson-1-what-code-is-like/lesson.tres:96 +msgid "" +"In the following lessons, you'll learn how this code works.\n" +"\n" +"For now, we want to give you a sense of what computer code looks like. In " +"this example, everything matters: each parenthesis, capital letter, period, " +"and comma.\n" +"\n" +"The computer always does [b]exactly[/b] what you tell it to. No more, no " +"less. It [i]blindly[/i] follows every instruction.\n" +"\n" +"[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" +"\n" +"Şimdilik, sana 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" +"\n" +"[b]Programla yaparken, tüm yetki sendedir, ve istediğin [i]herhangi bir " +"şeyi[/i] yapmakta özgürsündür.[/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?" + +#: course/lesson-1-what-code-is-like/lesson.tres:113 +msgid "" +"Computers don't understand natural languages like English. To make them do " +"anything, you need to give them precise instructions they understand, using " +"a programming language." +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." + +#: 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" + +#: course/lesson-1-what-code-is-like/lesson.tres:114 +msgid "Using prose in plain English" +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" + +#: course/lesson-1-what-code-is-like/lesson.tres:124 +msgid "" +"In this course, you'll learn the GDScript programming language (the name " +"stands for \"Godot script\").\n" +"\n" +"This is a language by game developers for game developers. You can use it " +"within the Godot game engine to create games and applications.\n" +"\n" +"SEGA used the Godot engine to create the remake of Sonic Colors Ultimate. " +"Engineers at Tesla use it for their cars' dashboards." +msgstr "" +"Bu kursta GDScript programlama dilini öğreneceksin (\"Godot script\"in " +"kısaltması).\n" +"\n" +"Bu, oyun geliştiricileri tarafından oyun geliştiricileri için geliştirilmiş " +"bir dildir. Onu, oyunlar ve uygulamalar geliştirirken, Godot oyun motoru " +"içerisinde kullanabilirsin.\n" +"\n" +"SEGA, Sonic Colors Ultimate'ın yeniden yapımını yaratmak için Godot motorunu " +"kullandı. Tesla'daki mühendisler onu, arabalarının gösterge panelleri için " +"kullanıyor." + +#: course/lesson-1-what-code-is-like/lesson.tres:148 +msgid "" +"GDScript is an excellent language to get started with programming because " +"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." + +#: course/lesson-1-what-code-is-like/lesson.tres:156 +msgid "Most programming languages are similar" +msgstr "Çoğu programlama dilleri birbirine benzer" + +#: course/lesson-1-what-code-is-like/lesson.tres:158 +msgid "" +"Don't be afraid of being locked in. The concepts you learn in your first " +"programming language will apply to all the others.\n" +"\n" +"Most languages have more similarities than differences. Once you learn one, " +"it takes much less time to become productive with the next one.\n" +"\n" +"Here's an example of the same code in three languages: GDScript, JavaScript, " +"and Python.\n" +"\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" +"\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" +"\n" +"İşte aynı kodun üç dilde birer örneği: GDScript, JavaScript ve Python.\n" +"\n" +"Aralarındaki benzerlikleri ve farklılıkları yakalamayı dene." + +#: course/lesson-1-what-code-is-like/lesson.tres:184 +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?" + +#: course/lesson-1-what-code-is-like/lesson.tres:192 +msgid "Are programming languages all completely different?" +msgstr "Programlama dillerinin tümü tamamen farklı mıdırlar?" + +#: course/lesson-1-what-code-is-like/lesson.tres:193 +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?" + +#: course/lesson-1-what-code-is-like/lesson.tres:195 +msgid "" +"Most programming languages build upon the same ideas of how to program. As a " +"result, they're mostly similar.\n" +"\n" +"It's not to say all languages are the same, though. Some offer a really " +"unique syntax and require a completely different mindset compared to " +"GDScript.\n" +"\n" +"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" +"\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 " +"şekli gerektirir.\n" +"\n" +"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:200 +#: course/lesson-1-what-code-is-like/lesson.tres:201 +msgid "No, they have many similarities" +msgstr "Hayır, birçok benzerliğe sahiptirler" + +#: course/lesson-1-what-code-is-like/lesson.tres:200 +msgid "Yes, they are completely different" +msgstr "Evet, bütünüyle farklıdırlar" + +#: course/lesson-1-what-code-is-like/lesson.tres:208 +msgid "This is a course for beginners" +msgstr "Bu, yeni başlayanlar için bir kurstur" + +#: course/lesson-1-what-code-is-like/lesson.tres:210 +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." + +#: course/lesson-1-what-code-is-like/lesson.tres:230 +msgid "" +"We designed it for [i]absolute beginners[/i], but if you already know " +"another language, it can be a fun way to get started with Godot.\n" +"\n" +"We will give you the coding foundations you need to start making games and " +"applications with Godot.\n" +"\n" +"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" +"\n" +"Godot ile oyunlar ve uygulamalar yapmaya başlamak için ihtiyaç duyacağın " +"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." + +#: course/lesson-1-what-code-is-like/lesson.tres:242 +msgid "Learning to make games takes practice" +msgstr "Oyun yapmayı öğrenmek alıştırma gerektirir" + +#: course/lesson-1-what-code-is-like/lesson.tres:244 +msgid "" +"Creating games is more accessible than ever, but it still takes a lot of " +"work and practice.\n" +"\n" +"Do not expect any single course or book to turn you into a professional. " +"[b]Programming is something you learn through practice.[/b]\n" +"\n" +"If something doesn't make immediate sense, don't stress it too much! Keep " +"learning and come back to it later.\n" +"\n" +"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" +"\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" +"\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" +"\n" +"Sürecin keyfini çıkar ve her küçük başarıyı kutla. Bir oyun geliştiricisi " +"olarak, öğrenimin hiç bitmeyecek." + +#: course/lesson-1-what-code-is-like/lesson.tres:258 +msgid "What and how you'll learn" +msgstr "Neyi ve nasıl öğreneceksin" + +#: course/lesson-1-what-code-is-like/lesson.tres:260 +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:" + +#: course/lesson-1-what-code-is-like/lesson.tres:290 +msgid "" +"Along the way, we'll teach you:\n" +"\n" +"- Some of the mindset you need as a developer. Too many programming courses " +"skip that essential part.\n" +"- How to write GDScript code.\n" +"- Essential programming foundations to get you started.\n" +"\n" +"As you go through the course, you will have many questions. We will answer " +"them the best we can as we go.\n" +"\n" +"But there is so much to cover that we have to take a few shortcuts. We don't " +"want to [i]overwhelm[/i] you with information. We also want to respect the " +"pace at which our brains memorize things.\n" +"\n" +"We broke down the course into short lessons and practices. If we put too " +"much into each part, you'd learn slower.\n" +"\n" +"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" +"\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" +"- 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" +"\n" +"Ancak öğretilmesi gereken o kadar çok şey var ki bazı kestirmelere " +"başvurmamız gerekiyor. Seni 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" +"\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." + +#: course/lesson-1-what-code-is-like/lesson.tres:310 +msgid "Programming is a skill" +msgstr "Programlama bir beceridir" + +#: course/lesson-1-what-code-is-like/lesson.tres:312 +msgid "" +"Programming is a skill, so to get good at it, you must practice. It is why " +"we built this app.\n" +"\n" +"Each lesson is followed by an interactive practice to use what you learned.\n" +"\n" +"Speaking of which, it's time to look at the practice screen!\n" +"\n" +"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" +"\n" +"Her dersi, öğrendiklerini kullanman için etkileşimli bir alıştırma takip " +"eder.\n" +"\n" +"Lafı açılmışken, alıştırma ekranına bakma vakti geldi!\n" +"\n" +"Devam etmek için, aşağıdaki [i]Alıştırma[/i] düğmesine tıkla. Sana, " +"alıştırmaların nasıl işlediğine dair kısa bir özet sunacak." + +#: course/lesson-1-what-code-is-like/lesson.tres:326 +msgid "Try Your First Code" +msgstr "İlk Kodunu Dene" + +#: course/lesson-1-what-code-is-like/lesson.tres:327 +msgid "" +"We prepared a code sample for you. For this practice, you don't need to " +"change anything.\n" +"\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" +"\n" +"Kodu denemek için, kod düzenleyicisinin altındaki [i]Çalıştır[/i] düğmesine " +"tıkla." + +#: course/lesson-1-what-code-is-like/lesson.tres:339 +msgid "Run your first bit of code and see the result." +msgstr "İlk kod parçanı çalıştır ve sonucu gör." + +#: course/lesson-1-what-code-is-like/lesson.tres:343 +msgid "What Code is Like" +msgstr "Kod Neye Benzer" + +#: course/lesson-1-what-code-is-like/lesson.tres:58 +msgid "" +"Programming languages are different from natural ones like English or " +"Spanish. The computer does not think. Unlike us,it can't [i]interpret[/i] " +"what you tell it.\n" +"\n" +"You can't tell it something vague like \"draw a circle.\"\n" +"\n" +"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ırlar. Bilgisayar düşünmez. Bizden farklı olarak, ona söylediklerini " +"[i]yorumlayamaz[/i].\n" +"\n" +"Ona, \"bir daire çiz\" gibi belirsiz bir şey söyleyemezsin.\n" +"\n" +"Hangi daire? Nerede/Nereye? Hangi renk olmalı? Ne kadar büyük olmalı?" + +#: course/lesson-1-what-code-is-like/lesson.tres:260 +msgid "" +"In this free course, you will learn the foundations you need to start coding " +"things like those." +msgstr "" +"Bu ücretsiz kursta, şunlara benzer, kodlamaya başlamak için ihtiyaç " +"duyacağın temelleri öğreneceksin." diff --git a/i18n/tr/lesson-10-the-game-loop.po b/i18n/tr/lesson-10-the-game-loop.po new file mode 100644 index 00000000..b104b892 --- /dev/null +++ b/i18n/tr/lesson-10-the-game-loop.po @@ -0,0 +1,264 @@ +# 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 , 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-14 21:12+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-10-the-game-loop/lesson.tres:14 +msgid "" +"As we've seen, Godot has functions that do certain actions. For example, the " +"[code]show()[/code] and [code]hide()[/code] functions change the visibility " +"of things.\n" +"\n" +"We can also create our own functions to make custom effects like adding or " +"removing health to a character.\n" +"\n" +"Godot also has special functions we can customize or add to.\n" +"\n" +"Take the [code]_process()[/code] function." +msgstr "" +"Şimdiye kadar gördüğümüz gibi, Godot'un belirli eylemleri gerçekleştiren " +"kendi fonksiyonları var. Örneğin, [code]show()[/code] (göster) ve " +"[code]hide()[/code] (gizle) fonksiyonları nesnelerin görünürlüğünü " +"değiştirir.\n" +"\n" +"Ayrıca, bir karaktere sağlık eklemek veya çıkarmak gibi özel yapım etkiler " +"oluşturmak için, kendi fonksiyonlarımızı da oluşturabiliriz.\n" +"\n" +"Godot ayrıca, özelleştirebileceğimiz veya üzerine ekleyebileceğimiz özel " +"fonksiyonlara da sahiptir.\n" +"\n" +"[code]_process()[/code] fonksiyonunu ele alalım." + +#: course/lesson-10-the-game-loop/lesson.tres:40 +msgid "" +"The [code]_process()[/code] function gets its name because it does " +"calculations or continuous actions.\n" +"\n" +"It's like a juice factory that [b]processes[/b] juice bottles: the bottles " +"are always moving along a conveyor belt, while different machines operate on " +"them." +msgstr "" +"[code]_process()[/code] (işleme) fonksiyonu, hesaplamalar veya sürekli " +"eylemler yaptığı için bu adı almıştır.\n" +"\n" +"Tıpkı, meyve suyu şişelerini [b]işleyen[/b] bir meyve suyu fabrikası gibi: " +"şişeler, farklı makineler tarafından üzerlerinde işlem yapılırken, her zaman " +"bir taşıma bandı boyunca hareket eder." + +#: course/lesson-10-the-game-loop/lesson.tres:52 +msgid "" +"It's similar in Godot, but this function can run [b]hundreds of times a " +"second[/b]." +msgstr "" +"Bu Godot için de benzerdir, ancak bu fonksiyon, [b]bir saniyede yüzlerce kez " +"çalışabilir[/b]." + +#: course/lesson-10-the-game-loop/lesson.tres:60 +msgid "How many parameters does this function take?" +msgstr "Bu fonksiyonun kaç tane alınan değişkeni var?" + +#: course/lesson-10-the-game-loop/lesson.tres:61 +msgid "" +"[code]\n" +"func _process(delta):\n" +"[/code]" +msgstr "" +"[code]\n" +"func _process(delta):\n" +"[/code]" + +#: course/lesson-10-the-game-loop/lesson.tres:65 +msgid "" +"The [code]_process()[/code] function takes one parameter: [code]delta[/" +"code].\n" +"\n" +"We'll look at what [code]delta[/code] is in the next lesson, as well as show " +"how to use it." +msgstr "" +"[code]_process()[/code] fonksiyonunun bir tane alınan değeri var: " +"[code]delta[/code].\n" +"\n" +"Bir sonraki derste [code]delta[/code] 'nın (küçük miktar) ne olduğuna tekrar " +"bakacağız ve nasıl kullanılacağını göstereceğiz." + +#: course/lesson-10-the-game-loop/lesson.tres:68 +#: course/lesson-10-the-game-loop/lesson.tres:69 +msgid "1" +msgstr "1" + +#: course/lesson-10-the-game-loop/lesson.tres:68 +msgid "2" +msgstr "2" + +#: course/lesson-10-the-game-loop/lesson.tres:78 +msgid "" +"The [code]_process()[/code] function won't do anything until we add " +"something to it.\n" +"\n" +"You might notice the underscore [code]_[/code] in front of the function " +"name. This is a convention programmers use to coordinate work, and it'll " +"only make sense once you have experience coding in Godot.\n" +"\n" +"For now, all you need to know is that if the function exists in your code, " +"and it is called precisely [code]_process[/code], then Godot will " +"automatically run it every [i]frame[/i].\n" +"\n" +"When Godot draws on the screen, we call that a frame." +msgstr "" +"[code]_process()[/code] fonksiyonu, biz ona bir şey ekleyene kadar hiçbir " +"şey yapmayacaktır.\n" +"\n" +"Fonksiyon adının önündeki alt çizgiyi, [code]_[/code], fark etmişsindir. Bu, " +"programcıların işleri uyumlu çalıştırmak için kullandıkları bir gelenektir, " +"ve ancak Godot'ta kodlama deneyimin olduğunda anlam kazanacaktır.\n" +"\n" +"Şimdilik bilmen gereken tek şey, bu fonksiyon kodunda mevcutsa, ve tam " +"olarak [code]_process[/code] ismiyle çağrılırsa, o zaman Godot, bunu her " +"oyun karesinde, [i]frame[/i], otomatik olarak çalıştıracaktır.\n" +"\n" +"Godot ekrana çizim yaptığında, buna bir çerçeve, yada oyun karesi (frame), " +"diyoruz." + +#: course/lesson-10-the-game-loop/lesson.tres:92 +msgid "Is this the same for other engines?" +msgstr "Bu diğer motorlar için de aynı mı?" + +#: course/lesson-10-the-game-loop/lesson.tres:94 +msgid "" +"Other game engines might use different names like [code]_update()[/code]." +msgstr "" +"Diğer oyun motorları, [code]_update()[/code] (güncelle) gibi farklı isimler " +"kullanabilir." + +#: course/lesson-10-the-game-loop/lesson.tres:102 +msgid "Why is the _process() function useful?" +msgstr "_process() fonksiyonu neden yararlıdır?" + +#: course/lesson-10-the-game-loop/lesson.tres:104 +msgid "" +"It's perhaps better to see the [code]_process()[/code] function in action.\n" +"\n" +"Take the following example." +msgstr "" +"[code]_process()[/code] fonksiyonunu çalışırken görmek belki daha iyi " +"olacaktır.\n" +"\n" +"Aşağıdaki örneği ele alalım." + +#: course/lesson-10-the-game-loop/lesson.tres:126 +msgid "" +"When you click the button [code]set_process(true)[/code], you activate " +"processing on the robot.\n" +"\n" +"From there, every frame, Godot runs the [code]_process()[/code] function.\n" +"\n" +"Since we wrote a [code]rotate()[/code] instruction, Godot is rotating the " +"character by [code]0.05[/code] radians [b]many[/b] times a second." +msgstr "" +"[code]set_process(true)[/code] (\"ayarla_işlem(doğru)\") düğmesine " +"tıklarsan, robot üzerinde işlem yapmayı etkinleştirirsin.\n" +"\n" +"Bundan sonra Godot, her karede [code]_process()[/code] fonksiyonunu " +"çalıştırır.\n" +"\n" +"Bir [code]rotate()[/code] (döndür) komutu yazdığımız için, Godot, karakteri, " +"saniyede [b]birçok kez[/b] [code]0,05[/code] radyan kadar döndürüyor." + +#: course/lesson-10-the-game-loop/lesson.tres:138 +msgid "How often does the _process() function run?" +msgstr "_process() fonksiyonu ne sıklıkla çalışır?" + +#: course/lesson-10-the-game-loop/lesson.tres:141 +msgid "" +"The faster your computer, the more times [code]_process()[/code] will run.\n" +"\n" +"Godot will try and run [code]_process()[/code] as quickly as it can. This " +"makes sure any movement or animations look smooth and fluid." +msgstr "" +"Bilgisayarın ne kadar hızlıysa, [code]_process()[/code] o kadar çok " +"çalışacaktır.\n" +"\n" +"Godot, [code]_process()[/code] fonksiyonunu olabildiğince hızlı çalıştırmayı " +"deneyecektir. Bu, herhangi bir hareketin veya hareketli görüntünün " +"(animasyon) pürüzsüz ve akıcı görünmesini sağlar." + +#: course/lesson-10-the-game-loop/lesson.tres:144 +msgid "Once a second." +msgstr "Saniyede bir kez." + +#: course/lesson-10-the-game-loop/lesson.tres:144 +#: course/lesson-10-the-game-loop/lesson.tres:145 +msgid "Multiple times a second." +msgstr "Saniyede bir çok kez." + +#: course/lesson-10-the-game-loop/lesson.tres:154 +msgid "" +"In the practice, you'll learn how to use the process function to rotate and " +"move a character yourself." +msgstr "" +"Bu uygulamada, bir karakteri döndürmen ve taşıman için, bu \"_process\" " +"fonksiyonunu nasıl kullanacağını öğreneceksin." + +#: course/lesson-10-the-game-loop/lesson.tres:162 +msgid "Rotating a Character Continuously" +msgstr "Bir Karakteri Sürekli Döndürme" + +#: course/lesson-10-the-game-loop/lesson.tres:163 +msgid "" +"Make the robot rotate slowly by adding to the [code]_process()[/code] " +"function.\n" +"\n" +"A rotation speed of about [code]0.05[/code] each frame should do." +msgstr "" +"[code]_process()[/code] fonksiyonuna ekleme yaparak, robotun yavaşça " +"dönmesini (rotate) sağla.\n" +"\n" +"Her karede yaklaşık [code]0,05[/code] dönüş hızı yeterli olacaktır." + +#: course/lesson-10-the-game-loop/lesson.tres:180 +msgid "Creating Circular Movement" +msgstr "Dairesel Hareket Oluşturmak" + +#: course/lesson-10-the-game-loop/lesson.tres:181 +msgid "" +"Make the robot move in a large circle slowly by rotating it and " +"simultaneously moving it along its x direction.\n" +"\n" +"To do this, add the [code]rotate()[/code] and [code]move_local_x()[/code] " +"functions to [code]_process()[/code].\n" +"\n" +"Use a rotation speed of [code]0.05[/code] radians per frame, and move the " +"robot [code]5[/code] pixels per frame." +msgstr "" +"Robotu, aynı anda hem yavaşça döndürerek ve hem de kendi yerel x yönü (bize " +"göre olan x yönü değil) boyunca hareket ettirerek, büyük bir daire içinde " +"yavaşça hareket etmesini sağla.\n" +"\n" +"Bunu yapmak için, [code]rotate()[/code] (döndür) ve " +"[code]move_local_x()[/code] (yerel x üzerinde ilerlet) fonksiyonlarını " +"[code]_process()[/code] öğesine ekle.\n" +"\n" +"Kare başına [code]0,05[/code] radyan dönüş hızı kullan, ve robotu kare " +"başına [code]5[/code] piksel hareket ettir." + +#: course/lesson-10-the-game-loop/lesson.tres:199 +msgid "The Game Loop" +msgstr "Oyun Döngüsü" diff --git a/i18n/tr/lesson-11-time-delta.po b/i18n/tr/lesson-11-time-delta.po new file mode 100644 index 00000000..955fbd08 --- /dev/null +++ b/i18n/tr/lesson-11-time-delta.po @@ -0,0 +1,448 @@ +# 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 , 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-14 21:12+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-11-time-delta/lesson.tres:14 +msgid "" +"We've seen how we can use our character's [code]_process()[/code] function " +"to make it move continuously." +msgstr "" +"Bir karakterin [code]_process()[/code] fonksiyonu ile, onu nasıl sürekli " +"hareket ettirebileceğimizi gördük." + +#: course/lesson-11-time-delta/lesson.tres:34 +msgid "" +"But it's not just our character that has a [code]_process()[/code] function; " +"Almost everything in the game has a [code]_process()[/code] function!\n" +"\n" +"Dozens of times per second, Godot runs every [code]_process()[/code] " +"function in the game to update the game world.\n" +"\n" +"After that, it displays an image of the game world on the screen. We call " +"that image a [b]frame[/b].\n" +"\n" +"Godot then moves on to calculating the next frame.\n" +"\n" +"As this happens dozens of times per second, you get the illusion of " +"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" +"\n" +"Godot, oyun dünyasını güncellemek için, oyundaki her [code]_process()[/code] " +"fonksiyonunu saniyede defalarca kez çalıştırır.\n" +"\n" +"Bunun ardından, oyun dünyasının bir görüntüsünü ekranda gösterir. Bu " +"görüntüye, [b]bir oyun karesi[/b] (veya çerçevesi, frame) diyoruz.\n" +"\n" +"Godot, bunu bitirince, bir sonraki kareyi hesaplamaya geçer.\n" +"\n" +"Bu saniyede onlarca kez gerçekleştiğinden, bir hareket yanılsaması elde " +"edersin. Bu, geleneksel animasyonun (hareketli görüntü, çizgi film) çalışma " +"şekline benzer." + +#: course/lesson-11-time-delta/lesson.tres:50 +msgid "This sounds like Frames Per Second..." +msgstr "" +"Bu kulağa Saniyedeki Kare Sayısı (Frames per Second, fps) gibi geliyor..." + +#: course/lesson-11-time-delta/lesson.tres:52 +msgid "" +"You may have heard of frames per second, or FPS for short. Games often run " +"at 60 frames per second. \n" +"\n" +"It means that everything in the game updates 60 times each second.\n" +"\n" +"The number varies while playing, depending on the game and the device it " +"runs on.\n" +"\n" +"On powerful computers, you may get frame rates in the hundreds or thousands " +"of frames per second." +msgstr "" +"Saniye başına kare sayısını ya da kısaca FPS'yi (frames per second) duymuş " +"olabilirsin. Oyunlar genellikle saniyede 60 kare hızında çalışır.\n" +"\n" +"Bu, oyundaki her şeyin, her saniye 60 kez güncellendiği anlamına gelir.\n" +"\n" +"Bu sayı, oyuna ve üzerinde çalıştığı cihaza bağlı olarak, oyun sırasında " +"değişir.\n" +"\n" +"Güçlü bilgisayarlarda, saniyede yüzlerce veya binlerce kare hızı elde " +"edebilirsin." + +#: course/lesson-11-time-delta/lesson.tres:68 +msgid "Let's look at the [code]_process()[/code] function in more detail." +msgstr "" +"Hadi şimdi, [code]_process()[/code] fonksiyonuna daha ayrıntılı olarak " +"bakalım." + +#: course/lesson-11-time-delta/lesson.tres:76 +msgid "What parameter does the _process() function take?" +msgstr "_process() fonksiyonu hangi alınan değişkenlere (parametre) sahiptir?" + +#: course/lesson-11-time-delta/lesson.tres:77 +msgid "" +"[code]\n" +"func _process(delta):\n" +"\trotate(0.05)\n" +"[/code]" +msgstr "" +"[code]\n" +"func _process(delta):\n" +"\trotate(0.05)\n" +"[/code]" + +#: course/lesson-11-time-delta/lesson.tres:82 +msgid "" +"The [code]_process()[/code] function has one parameter named [code]delta[/" +"code]." +msgstr "" +"[code]_process()[/code] fonksiyonunun, [code]delta[/code] (küçük değişim) " +"adında bir tek alınan değişkeni vardır." + +#: course/lesson-11-time-delta/lesson.tres:83 +msgid "rotate" +msgstr "rotate" + +#: course/lesson-11-time-delta/lesson.tres:83 +msgid "0.05" +msgstr "0.05" + +#: course/lesson-11-time-delta/lesson.tres:83 +#: course/lesson-11-time-delta/lesson.tres:84 +msgid "delta" +msgstr "delta" + +#: course/lesson-11-time-delta/lesson.tres:91 +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 +msgid "" +"Depending on the game, the computer, and what the game engine needs to " +"calculate, frames take more or less time to display.\n" +"\n" +"There will always be milliseconds variations from frame to frame.\n" +"\n" +"That is why the [code]_process()[/code] function receives a [code]delta[/" +"code] parameter.\n" +"\n" +"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" +"This is because different computers run differently, so a fast computer will " +"have more frames per second than a slow computer.\n" +"\n" +"If we ignore [code]delta[/code], the game experience will vary, depending on " +"the computer. Delta helps to make the game experience consistent for " +"everyone." +msgstr "" +"Oyuna, bilgisayara ve oyun motorunun neyi hesaplaması gerektiğine bağlı " +"olarak, karelerin görüntülenmesi daha fazla veya daha az zaman alır.\n" +"\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" +"\n" +"Delta bir zaman farkını temsil eder. Önceki kareden bu yana, saniye " +"cinsinden geçen süredir.\n" +"\n" +"[code]delta[/code] alınan değişkeni, bize Godot'nun [b]önceki kareyi[/b] " +"tamamlamasının ne kadar sürdüğünü söyler.\n" +"\n" +"Bunu, kareler arasındaki değişikliklerin, oyunun davranışını güvenilmez hale " +"getirmemesini sağlamak için kullanabiliriz.\n" +"\n" +"Bunun nedeni farklı bilgisayarların farklı çalışmasıdır, yani hızlı bir " +"bilgisayar, yavaş bir bilgisayara göre saniyede daha fazla kareye sahip " +"olacaktır.\n" +"\n" +"Eğer [code]delta[/code] 'yı görmezden gelirsek, oyun deneyimi, bilgisayara " +"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 +msgid "What do we know about delta?" +msgstr "Delta hakkında ne biliyoruz?" + +#: course/lesson-11-time-delta/lesson.tres:118 +msgid "" +"[code]delta[/code] is the time it took Godot to complete the previous frame " +"in seconds.\n" +"\n" +"It's very small because frames happen many times a second.\n" +"\n" +"It varies each frame because Godot needs to process more or less each frame." +msgstr "" +"[code]delta[/code] Godot'nun bir önceki kareyi tamamlaması için geçen süreyi " +"saniye cinsinden ifade eder.\n" +"\n" +"Çok küçüktür, çünkü kareler saniyede birçok kez gerçekleşir.\n" +"\n" +"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 +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 +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 +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 +msgid "Multiplying by delta" +msgstr "Delta ile çarpmak" + +#: course/lesson-11-time-delta/lesson.tres:133 +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" +"\n" +"To apply [code]delta[/code], you need to [i]multiply[/i] your speed values " +"by it." +msgstr "" +"[code]_process()[/code] içinde gelen [code]delta[/code], saniye cinsinden " +"bir zaman farkıdır. Genellikle çok küçük bir ondalık sayı olacaktır.\n" +"\n" +"[code]delta[/code]'yı uygulamak için, [i]hız değerleri[/i] ile çarpman " +"gerekir." + +#: course/lesson-11-time-delta/lesson.tres:155 +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" +"\n" +"Oyununu tutarlı ve adil kılmak için bu çok önemlidir." + +#: course/lesson-11-time-delta/lesson.tres:165 +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 +msgid "" +"At the top of the lesson, we made the robot rotate a fixed amount every " +"frame: [code]0.05[/code] radians.\n" +"\n" +"In the example above, we now [i]multiply[/i] the argument by the very small " +"[code]delta[/code] value, a value way below [code]1.0[/code]. It makes the " +"robot turn at a constant speed over time.\n" +"\n" +"However, multiplying by a number below [code]1.0[/code] like [code]delta[/" +"code] makes the result smaller.\n" +"\n" +"To compensate for that and make the robot turn fast enough, we use a larger " +"number than before, [code]3.0[/code] instead of [code]0.05[/code].\n" +"\n" +"Those numbers have two different [i]units[/i]: [code]0.05[/code] is an " +"[i]angle[/i] in radians, while [code]3.0[/code] is an [i]angular speed[/i] " +"in radians per second.\n" +"\n" +"When you multiply a speed by a time delta, it gives you an angle.\n" +"\n" +"Don't worry if it's a little confusing for now. It'll eventually click as " +"you deal with speed, acceleration, and motion in your game projects." +msgstr "" +"Dersin başında, robotun her karede sabit bir miktarda dönmesini sağladık: " +"[code]0.05[/code] radyan.\n" +"\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" +"\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" +"\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 " +"cinsinden bir [i]açısal hız[/i] 'dır.\n" +"\n" +"Bir hızı, bir zaman deltası ile çarptığında, sana bir açı verir.\n" +"\n" +"Ş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 +msgid "Why the time between frames matters" +msgstr "Oyun kareleri arasındaki süre neden önemli" + +#: course/lesson-11-time-delta/lesson.tres:189 +msgid "" +"The time it takes to display a new frame varies.\n" +"\n" +"If you don't take that time into account in your code, your game will have " +"gameplay issues and bugs. Godot provides that time to the [code]_process()[/" +"code] function through the [code]delta[/code] parameter.\n" +"\n" +"In the example below, the top robot moves using [code]delta[/code]. As a " +"result, it moves at a fixed speed.\n" +"\n" +"The bottom robot moves over a constant distance every frame, [i]without[/i] " +"taking [code]delta[/code] into account. It will move faster or slower than " +"the top robot on [i]your[/i] computer.\n" +"\n" +"The bottom robot will move [i]differently for everyone[/i]!" +msgstr "" +"Yeni bir karenin görüntülenmesi için geçen süre değişir.\n" +"\n" +"Kodunda bu süreyi dikkate almazsan, oyununda oynanış sorunları ve hatalar " +"olacaktır. Godot bu zamanı, [code]_process()[/code] fonksiyonuna " +"[code]delta[/code] alınan değişkeni aracılığıyla sağlar.\n" +"\n" +"Aşağıdaki örnekte, üstteki robot [code]delta[/code] kullanarak hareket " +"ediyor. Sonuç olarak, sabit bir hızda hareket eder.\n" +"\n" +"Alttaki robot ise, [code] delta[/code] hesaba [i]alınmadan[/i], her karede " +"sabit bir mesafe boyunca hareket eder. [i]Bilgisayarında[/i], üstteki " +"robottan daha hızlı veya daha yavaş hareket edecektir.\n" +"\n" +"Alttaki robot, [i]herkes için farklı[/i] hareket edecektir!" + +#: course/lesson-11-time-delta/lesson.tres:217 +msgid "" +"Multiplying time-sensitive values by [code]delta[/code] makes them [b]time-" +"dependent[/b] rather than [b]frame-dependent[/b].\n" +"\n" +"Thanks to that, we get reliable movement over time.\n" +"\n" +"Without [code]delta[/code], frame times vary from computer to computer and " +"during gameplay. Because of that, the movement will differ for every player, " +"making the game inconsistent and messy." +msgstr "" +"Zamana duyarlı değerleri [code]delta[/code] ile çarpmak, onları [b]kareye " +"bağlı[/b] olmaktan çıkarıp, [b]zamana bağlı[/b] hale getirir.\n" +"\n" +"Bu sayede, güvenilir bir zamansal hareket elde ediyoruz.\n" +"\n" +"[code]delta[/code] olmadan, kare süreleri bilgisayardan bilgisayara ve oyun " +"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 +msgid "What does this mean?" +msgstr "Bu ne anlama geliyor?" + +#: course/lesson-11-time-delta/lesson.tres:230 +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 +msgid "" +"The [code]*[/code] symbol means we're multiplying [code]rotation_speed[/" +"code] by [code]delta[/code] time." +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 +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 +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 +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 +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 +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 +msgid "Rotating Using Delta" +msgstr "Delta Kullanarak Döndürmek" + +#: course/lesson-11-time-delta/lesson.tres:252 +msgid "" +"At the moment, the rotation of the robot is frame-dependent.\n" +"\n" +"Add [code]delta[/code] to make the rotational speed time-dependent.\n" +"\n" +"The robot should rotate [code]2[/code] radians per second." +msgstr "" +"Şu anda robotun dönüşü oyun-karesine-bağlı durumda.\n" +"\n" +"Dönüş hızını zamana-bağlı hale getirmek için [code]delta[/code] ekle.\n" +"\n" +"Robot saniyede [code]2[/code] radyan dönmelidir." + +#: course/lesson-11-time-delta/lesson.tres:271 +msgid "Moving in a Circle Using Delta" +msgstr "Delta Kullanarak, Daire Şeklinde Hareket Etmek" + +#: course/lesson-11-time-delta/lesson.tres:272 +msgid "" +"In this practice, make the robot move in a smooth circle using delta.\n" +"\n" +"To get this movement, the robot should rotate [code]2[/code] radians per " +"second and move [code]100[/code] pixels per second towards clockwise.\n" +"\n" +"[b]Note:[/b] Please write the values in the parentheses when calling the " +"functions. If you define extra variables, we will not be able to check your " +"practice." +msgstr "" +"Bu uygulamada, delta kullanarak, robotun düzgün bir daire çizmesini sağla.\n" +"\n" +"Bu hareketi elde etmek için, robotun, saat yönünde, saniyede [code]2[/code] " +"radyan dönmesi (rotate) ve saniyede [code]100[/code] piksel hareket etmesi " +"(move_local_x) gerekir.\n" +"\n" +"[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 +msgid "Time Delta" +msgstr "Küçük Zaman Değişimi (Time Delta)" diff --git a/i18n/tr/lesson-12-using-variables.po b/i18n/tr/lesson-12-using-variables.po new file mode 100644 index 00000000..7aaf803f --- /dev/null +++ b/i18n/tr/lesson-12-using-variables.po @@ -0,0 +1,302 @@ +# 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 , 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: 2022-03-26 17:50+0100\n" +"PO-Revision-Date: 2023-07-11 00:13+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-12-using-variables/lesson.tres:14 +msgid "" +"In this lesson, we'll make our code easier to follow and understand at a " +"glance.\n" +"\n" +"Take a look at this example." +msgstr "" +"Bu derste, kodumuzu takip etmeyi ve bir bakışta anlamayı kolaylaştıracağız.\n" +"\n" +"Bu örneğe bir göz at." + +#: course/lesson-12-using-variables/lesson.tres:34 +msgid "In the above example, what does the number 4 mean?" +msgstr "Yukarıdaki örnekte, 4 sayısı ne anlama geliyor?" + +#: course/lesson-12-using-variables/lesson.tres:37 +msgid "The code above rotates the character [code]4[/code] radians per second." +msgstr "Yukarıdaki kod, karakterini saniyede [code]4[/code] radyan döndürür." + +#: course/lesson-12-using-variables/lesson.tres:38 +#: course/lesson-12-using-variables/lesson.tres:39 +msgid "It's how fast the character rotates." +msgstr "Karakterin ne kadar hızlı döndüğüdür." + +#: course/lesson-12-using-variables/lesson.tres:38 +msgid "It's how far the character moves in pixels." +msgstr "Karakterin, piksel cinsinden ne kadar uzağa hareket ettiğidir." + +#: course/lesson-12-using-variables/lesson.tres:38 +msgid "It's how long the rotation takes." +msgstr "Dönme hareketinin ne kadar sürdüğüdür." + +#: course/lesson-12-using-variables/lesson.tres:48 +msgid "" +"We can guess what a number represents by looking at the function names, " +"but it's harder to recall what this number does by quickly looking at the" +" code.\n" +"\n" +"We've seen how different functions have their own names. Using these " +"names communicates to developers what the functions do." +msgstr "" +"Fonksiyon isimlerine bakarak, bir sayının neyi temsil ettiğini tahmin " +"edebiliriz, ancak koda hızlıca bakarak bu sayının ne işe yaradığını " +"hatırlamak oldukça zordur.\n" +"\n" +"Farklı fonksiyonların nasıl kendi isimleri olduğunu gördük. Bu isimleri " +"kullanmak, geliştiricilere fonksiyonların ne yaptığını bildirir." + +#: course/lesson-12-using-variables/lesson.tres:70 +msgid "" +"As we learned in lesson 8, we can also assign labels to numbers to help " +"us remember what they do.\n" +"\n" +"We call these labels [i]variables[/i].\n" +"\n" +"[b]A variable is a label for a value we can save, change, and read " +"later.[/b]\n" +"\n" +"Let's recap how to define a variable." +msgstr "" +"Ders 8'de öğrendiğimiz gibi, ne işe yaradıklarını hatırlamamıza yardımcı " +"olması için sayılara da etiketler atayabiliriz.\n" +"\n" +"Bu etiketlere, [i]değişkenler[/i] diyoruz.\n" +"\n" +"[b]Değişken, bir değer için kaydedebileceğimiz, değiştirebileceğimiz ve daha " +"sonra okuyabileceğimiz bir etikettir.[/b]\n" +"\n" +"Bir değişkenin nasıl tanımlanacağını özetleyelim." + +#: course/lesson-12-using-variables/lesson.tres:96 +msgid "" +"We improve the first example to make it clear what the number " +"[code]4[/code] does." +msgstr "" +"İlk örneğimizi, [code]4[/code] sayısının ne işe yaradığını netleştirmek için " +"geliştirelim." + +#: course/lesson-12-using-variables/lesson.tres:116 +msgid "" +"Labeling a value makes the code easier for us to read now [i]and[/i] in " +"the future." +msgstr "" +"Bir değeri etiketlemek, kodu şimdi [i]ve[/i] gelecekte okumamızı " +"kolaylaştırır." + +#: course/lesson-12-using-variables/lesson.tres:124 +msgid "In the above example, which line defines the angular speed variable?" +msgstr "" +"Yukarıdaki örnekte, hangi satır açısal hız değişkenini (angular speed) " +"tanımlıyor?" + +#: course/lesson-12-using-variables/lesson.tres:127 +msgid "" +"We create the [code]angular_speed[/code] variable, then assign it the " +"value of [code]4[/code]." +msgstr "" +"Önce [code]angular_speed[/code] değişkenini oluşturup, sonra bu değişkene " +"[code]4[/code] değerini atıyoruz." + +#: course/lesson-12-using-variables/lesson.tres:128 +#: course/lesson-12-using-variables/lesson.tres:129 +msgid "var angular_speed = 4" +msgstr "var angular_speed = 4" + +#: course/lesson-12-using-variables/lesson.tres:128 +msgid "func _process(delta):" +msgstr "func _process(delta):" + +#: course/lesson-12-using-variables/lesson.tres:128 +msgid "rotate(angular_speed * delta)" +msgstr "rotate(angular_speed * delta)" + +#: course/lesson-12-using-variables/lesson.tres:138 +msgid "" +"If we define variables outside of functions, we can re-use them in " +"different functions.\n" +"\n" +"Because any function can use variables we define outside of them, we call" +" these variables [b]script-wide[/b].\n" +"\n" +"Here we use the [code]angular_speed[/code] script-wide variable in both " +"the [code]_process()[/code] function and the " +"[code]set_angular_speed()[/code] function." +msgstr "" +"Eğer değişkenleri, fonksiyonların dışında tanımlarsak, onları farklı " +"fonksiyonlarda tekrar kullanabiliriz.\n" +"\n" +"Herhangi bir fonksiyon, kendisinin dışında tanımladığımız değişkenleri " +"kullanabileceği için, bu değişkenlere [b]betik-genelinde (script-wide)[/b] " +"adını veriyoruz.\n" +"\n" +"Burada hem [code]_process()[/code] fonksiyonunda hem de " +"[code]set_angular_speed()[/code] (ayarla_açısal_hız) fonksiyonunda, " +"[code]angular_speed[/code] (açısal_hız) isimli betik-genelinde değişkenini " +"kullanıyoruz." + +#: course/lesson-12-using-variables/lesson.tres:162 +msgid "" +"We can also define variables inside of functions.\n" +"\n" +"We align the variable assignment by indenting to make it part of the " +"function body. Make sure to create the variable before using it!\n" +"\n" +"If we define a variable inside of a function, only that function can use " +"it." +msgstr "" +"Değişkenleri, fonksiyonların içinde de tanımlayabiliriz.\n" +"\n" +"Değişken atamasını fonksiyon gövdesinin bir parçası haline getirmek için, " +"girinti yaparak hizalıyoruz. Kullanmadan önce değişkeni oluşturduğundan emin " +"ol!\n" +"\n" +"Bir değişkeni, bir fonksiyonun içinde tanımlarsak, bunu yalnızca o fonksiyon " +"kullanabilir." + +#: course/lesson-12-using-variables/lesson.tres:186 +msgid "" +"The [code]angular_speed[/code] variable only exists inside " +"[code]_process()[/code], because we defined it there. The " +"[code]set_angular_speed()[/code] function can't use it.\n" +"\n" +"Trying to use it there will result in an error.\n" +"\n" +"Here's what this error might look like." +msgstr "" +"[code]angular_speed[/code] değişkeni, yalnızca [code]_process()[/code] " +"içerisinde mevcuttur, çünkü onu orada tanımladık. " +"[code]set_angular_speed()[/code] fonksiyonu bunu kullanamaz.\n" +"\n" +"Orada kullanmaya çalışmak bir hatayla sonuçlanacaktır.\n" +"\n" +"Bu hata şu şekilde görünebilir." + +#: course/lesson-12-using-variables/lesson.tres:208 +msgid "Where can we define variables?" +msgstr "Değişkenleri nerede tanımlayabiliriz?" + +#: course/lesson-12-using-variables/lesson.tres:211 +msgid "" +"Functions can use any variables defined outside of functions. These " +"variables are [b]script-wide[/b].\n" +"\n" +"If we define a variable inside of a function, only that function can use " +"it." +msgstr "" +"Fonksiyonlar, fonksiyonların dışında tanımlanan değişkenleri kullanabilir. " +"Bu değişkenler [b]betik-genelinde[/b]dir.\n" +"\n" +"Bir fonksiyonun içinde bir değişken tanımlarsak, bunu yalnızca o fonksiyon " +"kullanabilir." + +#: course/lesson-12-using-variables/lesson.tres:214 +#: course/lesson-12-using-variables/lesson.tres:215 +msgid "Outside of functions." +msgstr "Fonksiyonların dışında." + +#: course/lesson-12-using-variables/lesson.tres:214 +#: course/lesson-12-using-variables/lesson.tres:215 +msgid "Inside of functions." +msgstr "Fonksiyonların içinde." + +#: course/lesson-12-using-variables/lesson.tres:224 +msgid "" +"Variables are also great at grouping values that control how a character " +"behaves.\n" +"\n" +"Grouping them in this way allows us to easily change them." +msgstr "" +"Değişkenler, bir karakterin nasıl davranacağını kontrol eden değerleri " +"gruplamak için de harikadır.\n" +"\n" +"Bu şekilde gruplandırmak, bunları kolayca değiştirebilmemizi sağlar." + +#: course/lesson-12-using-variables/lesson.tres:246 +msgid "" +"In the following practices, we'll define variables and use them with some" +" familiar functions to make our code more readable." +msgstr "" +"Sıradaki uygulamalarda, kodumuzu daha okunabilir hale getirmek için, " +"değişkenler tanımlayacak ve bunları bazı tanıdık fonksiyonlarla birlikte " +"kullanacağız." + +#: course/lesson-12-using-variables/lesson.tres:254 +msgid "Clarifying Code Using Variables" +msgstr "Değişkenler Kullanarak Kodu Netleştirmek" + +#: course/lesson-12-using-variables/lesson.tres:255 +msgid "" +"Let's give the [code]4[/code] here a label so we know what it does.\n" +"\n" +"Create a variable called [code]angular_speed[/code] outside of the " +"[code]_process()[/code] function to make it script-wide. This allows us " +"to use it in other functions too.\n" +"\n" +"Then, replace the [code]4[/code] with [code]angular_speed[/code]." +msgstr "" +"Buradaki [code]4[/code] sayısına bir etiket verelim ki ne işe yaradığını " +"bilelim.\n" +"\n" +"Betik-genelinde olması için [code]_process()[/code] fonksiyonunun dışında " +"[code]angular_speed[/code] (açısal_hız) adında bir değişken oluştur. Bu, onu " +"diğer fonksiyonlarda da kullanmamızı sağlar.\n" +"\n" +"Ardından, [code]4[/code] değerini [code]angular_speed[/code] ile değiştir." + +#: course/lesson-12-using-variables/lesson.tres:269 +msgid "" +"Using variables to store number values makes code easier to read. Tidy up" +" this function by storing a value in a variable." +msgstr "" +"Sayısal değerleri saklamak için değişkenleri kullanmak kodun okunmasını " +"kolaylaştırır. Bir değeri bir değişkende saklayarak bu fonksiyonu düzelt." + +#: course/lesson-12-using-variables/lesson.tres:274 +msgid "Fixing an Out of Scope Error" +msgstr "Bir Kapsam Dışı (Out of Scope) Hatasını Düzeltmek" + +#: course/lesson-12-using-variables/lesson.tres:275 +msgid "" +"There's something wrong with the code here. Can you see what it is?\n" +"\n" +"Run the code and read the error.\n" +"\n" +"Correct the code so it works as intended." +msgstr "" +"Buradaki kodda bir sorun var. Ne olduğunu görebiliyor musun?\n" +"\n" +"Kodu çalıştır ve hatayı oku. (Açıkla tuşunu kullanabilirsin)\n" +"\n" +"Amaçlandığı gibi çalışması için kodu düzelt." + +#: course/lesson-12-using-variables/lesson.tres:293 +msgid "Uh oh! There's something wrong here. Can you fix it?" +msgstr "Eyvah! Burada bir sorun var. Düzeltebilir misin?" + +#: course/lesson-12-using-variables/lesson.tres:297 +msgid "Using Variables to Make Code Easier to Read" +msgstr "Kodu Kolay Okunur Yapmak için Değişkenleri Kullanmak" diff --git a/i18n/tr/lesson-13-conditions.po b/i18n/tr/lesson-13-conditions.po new file mode 100644 index 00000000..0e585035 --- /dev/null +++ b/i18n/tr/lesson-13-conditions.po @@ -0,0 +1,441 @@ +# 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 , 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 \n" +"Language-Team: Turkish \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-13-conditions/lesson.tres:14 +msgid "" +"In previous lessons, we decreased and increased a character's health, but " +"there was no limit to how much health they could have." +msgstr "" +"Önceki derslerde, bir karakterin sağlığını azaltıp artırıyorduk, ancak ne " +"kadar sağlığa sahip olabilecekleri konusunda bir sınır yoktu." + +#: course/lesson-13-conditions/lesson.tres:34 +msgid "" +"As a result, the player could increase their character's health " +"indefinitely, which we do not want." +msgstr "" +"Sonuç olarak, oyuncu karakterinin sağlığını sınırısz olarak arttırabilir, ki " +"biz bunu istemiyoruz." + +#: course/lesson-13-conditions/lesson.tres:52 +msgid "What happens to health when we damage our character?" +msgstr "Karakterimize zarar verdiğimizde, sağlığa (health) ne olur?" + +#: course/lesson-13-conditions/lesson.tres:53 +msgid "" +"Suppose our character has [code]100[/code] health.\n" +"\n" +"What would the value of health be if we called [code]take_damage(25)[/code] " +"[b]five times[/b]?" +msgstr "" +"Karakterimizin [code]100[/code] sağlığına sahip olduğunu varsayalım.\n" +"\n" +"[code]take_damage(25)[/code] çağrısını [b]beş kez[/b] yapsaydık sağlık " +"değeri (health) ne olurdu?" + +#: course/lesson-13-conditions/lesson.tres:57 +msgid "" +"Calling [code]take_damage(25)[/code] five times would subtract a total of " +"[code]125[/code] from [code]100[/code].\n" +"\n" +"100\n" +"75\n" +"50\n" +"25\n" +"0\n" +"-25" +msgstr "" +"[code]take_damage(25)[/code] 'in beş kez çağrılması, toplamda " +"[code]125[/code] değerini [code]100[/code] değerinden çıkaracaktır.\n" +"\n" +"100\n" +"75\n" +"50\n" +"25\n" +"0\n" +"-25" + +#: course/lesson-13-conditions/lesson.tres:65 +#: course/lesson-13-conditions/lesson.tres:66 +msgid "-25" +msgstr "-25" + +#: course/lesson-13-conditions/lesson.tres:65 +msgid "25" +msgstr "25" + +#: course/lesson-13-conditions/lesson.tres:65 +msgid "0" +msgstr "0" + +#: course/lesson-13-conditions/lesson.tres:75 +msgid "" +"We can use conditions to run actions [b]selectively[/b].\n" +"\n" +"Conditions make your code branch into two paths: if the condition is met, " +"the computer will run the corresponding instructions. Otherwise, those " +"instructions will not run at all." +msgstr "" +"Eylemleri [b]seçerek[/b] çalıştırmak için koşulları kullanabiliriz\n" +"\n" +"Koşullar, kodunu iki yola ayrırır: koşul doğrulanırsa, bilgisayar ilgili " +"talimatları çalıştırır. Aksi takdirde, bu talimatlar hiç çalışmayacaktır." + +#: course/lesson-13-conditions/lesson.tres:87 +msgid "" +"Video games and other computer programs are full of conditions. For example, " +"game input largely relies on conditions: [i]if[/i] the player presses the " +"button on a gamepad, the character jumps." +msgstr "" +"Video oyunları ve diğer bilgisayar programları koşullarla doludur. Örneğin, " +"oyun girdisi büyük ölçüde koşullara dayanır: [i]eğer[/i] oyuncu, oyun " +"kolundaki düğmeye basarsa, karakter zıplar." + +#: course/lesson-13-conditions/lesson.tres:107 +msgid "" +"When the computer checks a condition, this is called [b]to evaluate[/b] a " +"condition. All conditions [b]evaluate[/b] to either [code]true[/code] or " +"[code]false[/code].\n" +"\n" +"Either the player is pressing the button, or not. Either the character is " +"touching an enemy, or not.\n" +"\n" +"In our case, [i]if[/i] the health goes over a maximum value, we want to " +"reset it to the maximum.\n" +"\n" +"To define a condition, we use the [code]if[/code] keyword. We write a line " +"starting with [code]if[/code], [ignore]type the condition to evaluate, and " +"end the line with a colon." +msgstr "" +"Bilgisayar bir koşulu kontrol ettiğinde, buna [b]bir koşulu[/b] " +"değerlendirmek denir. Tüm koşullar, ya [code]true[/code] (doğru) ya da " +"[code]false[/code] (yanlış) olarak [b]değerlendirilir[/b] .\n" +"\n" +"Oyuncu düğmeye basıyor, ya da basmıyor. Karakter bir düşmana dokunuyor, ya " +"da dokunmuyor.\n" +"\n" +"Bizim durumumuzda, [i]eğer[/i] sağlık, izi verilen en yüksek değerin üzerine " +"çıkarsa, bunu en yüksek değere geri değiştirmek istiyoruz.\n" +"\n" +"Bir koşul tanımlamak için [code]if[/code] (eğer) anahtar sözcüğünü " +"kullanırız. Satırı yazmaya, [code]if[/code] ile başlıyoruz, " +"değerlendirilecek koşulu yazıyoruz, ve satırı iki nokta üst üste ile " +"bitiriyoruz." + +#: course/lesson-13-conditions/lesson.tres:133 +msgid "" +"Notice the [code]>[/code] comparison sign. We read this symbol as \"greater " +"than\".\n" +"\n" +"We've seen how function definitions use a colon at the end of the first line " +"and nest content inside.\n" +"\n" +"In GDScript, this syntax is a recurring pattern for all code blocks.\n" +"\n" +"The computer knows which instructions belong to the condition because they " +"are indented." +msgstr "" +"[code]>[/code] karşılaştırma işaretine dikkat et. Bu sembolü \"büyüktür\" " +"olarak okuruz.\n" +"\n" +"Fonksiyon tanımlarının, ilk satırın sonunda iki nokta üst üste kullandığını, " +"ve talimatların içine nasıl yerleştirildiğini gördük.\n" +"\n" +"GDScript'te bu sözdizimi tüm kod kalıpları için yinelenen bir modeldir.\n" +"\n" +"Bilgisayar, satırda girintili oldukları için, hangi talimatların koşula ait " +"olduğunu bilir." + +#: course/lesson-13-conditions/lesson.tres:157 +msgid "Comparisons" +msgstr "Karşılaştırmalar" + +#: course/lesson-13-conditions/lesson.tres:159 +msgid "" +"In the above example, we used the [code]>[/code] syntax to mean \"greater " +"than\".\n" +"\n" +"We can compare numbers in other ways too.\n" +"\n" +"[code]>[/code] means \"greater than\"\n" +"[code]<[/code] means \"less than\"\n" +"[code]==[/code] means \"equal to\"\n" +"[code]!=[/code] means \"not equal to\"\n" +"\n" +"Here's how we might use these in [code]if[/code] statements.\n" +msgstr "" +"Yukarıdaki örnekte, \"büyüktür\" anlamına gelmek üzere [code]>[/code] " +"işaretini kullandık.\n" +"\n" +"Sayıları başka şekillerde de karşılaştırabiliriz.\n" +"\n" +"[code]>[/code] \"büyüktür\" anlamına gelir\n" +"[code]<[/code] \"küçüktür\" anlamına gelir\n" +"[code]==[/code] \"eşittir\" anlamına gelir\n" +"[code]!=[/code] \"eşit değil\" anlamına gelir\n" +"\n" +"İşte bunları [code]if[/code] ifadelerinde nasıl kullanabileceğimize dair bir " +"kaç örnek.\n" + +#: course/lesson-13-conditions/lesson.tres:187 +msgid "What does \"pass\" do in the code?" +msgstr "Kodun içindeki \"pass\" ne işe yarar?" + +#: course/lesson-13-conditions/lesson.tres:189 +msgid "" +"The [code]pass[/code] keyword prevents errors in our code when a line cannot " +"be empty.\n" +"\n" +"For example, we must have a line of code after a function definition or an " +"[code]if[/code] block. When you don't know what to write yet, you can use " +"the [code]pass[/code] keyword as a placeholder, and Godot won't give any " +"errors.\n" +"\n" +"In the previous example, if there was nothing below the [code]if[/code] " +"lines, Godot would give us an \"Expected an indented block after 'if' \" " +"error." +msgstr "" +"[code]pass[/code] anahtar kelimesi, bir satırın boş olmaması gerektiğinde, " +"kodumuzda hata oluşmasını önler.\n" +"\n" +"Örneğin, bir fonksiyon tanımından veya [code]if[/code] kalıbından sonra bir " +"kod satırına sahip olmalıyız. Henüz ne yazacağını bilmiyorsan, " +"[code]pass[/code] anahtar sözcüğünü yer tutucu olarak kullanabilirsin, " +"böylece Godot herhangi bir hata vermeyecektir.\n" +"\n" +"Önceki örnekte, [code]if[/code] satırlarının altında hiçbir şey olmasaydı, " +"Godot bize, \"Expected an indented block after 'if' \" yani \"'if' den sonra " +"girintili bir gövde bekleniyor\" hatası verecekti." + +#: course/lesson-13-conditions/lesson.tres:201 +msgid "Which of these statements are true?" +msgstr "Bu ifadelerden hangileri doğrudur?" + +#: course/lesson-13-conditions/lesson.tres:204 +msgid "" +"The comparison [code]3 > 1[/code] means \"three is greater than one\" which " +"is [b]true[/b].\n" +"The comparison [code]2 < 3[/code] means \"two is less than three\" which is " +"[b]true[/b].\n" +"The comparison [code]1 != 3[/code] means \"one is not equal to three\" which " +"is [b]true[/b].\n" +"\n" +"The comparison [code]2 == 1[/code] means \"two is equal to one\" which is " +"[b]false[/b].\n" +"The comparison [code]3 < 1[/code] means \"three is less than one\" which is " +"[b]false[/b]." +msgstr "" +"[code]3 > 1[/code] karşılaştırması, \"üç birden büyüktür\" anlamına gelir ki " +"bu [b]doğrudur[/b].\n" +"[code]2 < 3[/code] karşılaştırması, \"iki üçten küçüktür\" anlamına gelir ki " +"bu [b]doğrudur[/b].\n" +"[code]1 != 3[/code] karşılaştırması, \"bir üçe eşit değildir\" anlamına " +"gelir ki bu [b]doğrudur[/b].\n" +"\n" +"[code]2 == 1[/code] karşılaştırması, \"iki bire eşittir\" anlamına gelir ki " +"bu [b]yanlıştır[/b].\n" +"[code]3 < 1[/code] karşılaştırması, \"üç birden küçüktür\" anlamına gelir ki " +"bu [b]yanlıştır[/b]." + +#: course/lesson-13-conditions/lesson.tres:210 +#: course/lesson-13-conditions/lesson.tres:211 +msgid "3 > 1" +msgstr "3 > 1" + +#: course/lesson-13-conditions/lesson.tres:210 +msgid "2 == 1" +msgstr "2 == 1" + +#: course/lesson-13-conditions/lesson.tres:210 +#: course/lesson-13-conditions/lesson.tres:211 +msgid "2 < 3" +msgstr "2 < 3" + +#: course/lesson-13-conditions/lesson.tres:210 +#: course/lesson-13-conditions/lesson.tres:211 +msgid "1 != 3" +msgstr "1 != 3" + +#: course/lesson-13-conditions/lesson.tres:210 +msgid "3 < 1" +msgstr "3 < 1" + +#: course/lesson-13-conditions/lesson.tres:218 +msgid "Or else..." +msgstr "Ya değilse..." + +#: course/lesson-13-conditions/lesson.tres:220 +msgid "" +"The [code]if[/code] keyword comes with a complementary [code]else[/code] " +"keyword.\n" +"\n" +"You can write an [code]else[/code] block after an [code]if[/code] block, " +"like so." +msgstr "" +"[code]if[/code] anahtar kelimesi, tamamlayıcı bir [code]else[/code] anahtar " +"kelimesi ile birlikte gelir.\n" +"\n" +"Bir [code]if[/code] kalıbından sonra, aşağıdaki gibi bir [code]else[/code] " +"kalıbı yazabilirsin." + +#: course/lesson-13-conditions/lesson.tres:242 +msgid "" +"The [code]else[/code] block will run whenever the condition above it isn't " +"met." +msgstr "" +"[code]else[/code] gövdesi, üstteki koşul karşılanmadığında çalışacaktır." + +#: course/lesson-13-conditions/lesson.tres:252 +msgid "" +"In the following practices, we'll use conditions and improve the way our " +"character's health changes so it has limits." +msgstr "" +"Sıradaki alıştırmalarda, koşulları kullanacağız ve karakterimizin sağlığının " +"değişme şeklini geliştireceğiz, böylece sınırları olacak." + +#: course/lesson-13-conditions/lesson.tres:260 +msgid "Using Comparisons" +msgstr "Karşılaştırmaları Kullanmak" + +#: course/lesson-13-conditions/lesson.tres:261 +msgid "" +"This series of [code]if[/code] statements is all wrong. Change the " +"comparisons so each comparison matches the instruction below it.\n" +"\n" +"Keep the values and statements as they are; only change the comparison " +"signs.\n" +"\n" +"As a reminder, the comparison signs are:\n" +"[code]\n" +"> greater than\n" +"< less than\n" +"== equal to\n" +"!= not equal to\n" +"[/code]\n" +"\n" +"The line [code]health < 5:[/code] means \"health is less than 5\".\n" +"\n" +"Because [code]health = 100[/code], this is false so [code]print(\"health is " +"greater than five.\")[/code] won't run." +msgstr "" +"Bu [code]if[/code] ifadeleri dizisinin tamamı yanlıştır. Karşılaştırmaları " +"değiştir, ki böylece her karşılaştırma bir altındaki komutla eşleşsin.\n" +"\n" +"Değerleri ve ifadeleri olduğu gibi koru; sadece karşılaştırma işaretlerini " +"değiştir.\n" +"\n" +"Bir hatırlatma olarak, karşılaştırma işaretleri şunlardı:\n" +"[code]\n" +"> büyüktür\n" +"< küçüktür\n" +"== eşittir\n" +"!= eşit değil\n" +"[/code]\n" +"\n" +"[code]health < 5:[/code] satırı, \"sağlık 5'ten az\" anlamına gelir.\n" +"\n" +"Mesela, [code]health = 100[/code] olduğu için, bu karşılaştırma yanlıştır ve " +"[code]print(\"health is greater than five.\")[/code] çalışmayacaktır.\n" +"\n" +"ifadeler:\n" +"\"health is greater than five.\" - \"sağlık, 5'ten büyüktür\".\n" +"\"One is less than health.\" - \"bir, sağlıktan küçüktür\".\n" +"\"health is equal to health\" - \"sağlık, sağlığa eşittir\".\n" +"\"health is not equal to seven.\" - \"sağlık, yediye eşit değildir\"." + +#: course/lesson-13-conditions/lesson.tres:297 +msgid "" +"Comparing values allows us to make decisions in code. But there's something " +"wrong with these statements.." +msgstr "" +"Değerleri karşılaştırmak, kod içinde kararlar vermemizi sağlar. Ama bu " +"ifadelerde yanlış olan bir şey var." + +#: course/lesson-13-conditions/lesson.tres:302 +msgid "Limiting Healing" +msgstr "İyileşmeyi Sınırlamak" + +#: course/lesson-13-conditions/lesson.tres:303 +msgid "" +"We have a heal function that adds an amount to the character's health.\n" +"\n" +"Add to the function so the character's health is never greater than " +"[code]80[/code]." +msgstr "" +"Karakterin sağlığına bir miktar ekleme yapan (amount) bir iyileştirme " +"fonksiyonumuz var.\n" +"\n" +"Karakterin sağlığının hiçbir zaman [code]80[/code] değerinden büyük olmaması " +"için fonksiyona ekleme yap." + +#: course/lesson-13-conditions/lesson.tres:315 +msgid "" +"As much as we might like, we don't want our robot to have too much health. " +"Limit how much healing the robot can take." +msgstr "" +"Ne kadar çok hoş olsa da, robotumuzun aşırı fazla sağlığının olmasını " +"istemiyoruz. Robotun ne kadar iyileşme alabileceğini sınırla." + +#: course/lesson-13-conditions/lesson.tres:320 +msgid "Preventing Health from Going Below Zero" +msgstr "Sağlığın Sıfırın Altına Düşmesini Önlemek" + +#: course/lesson-13-conditions/lesson.tres:321 +msgid "" +"When the robot takes damage, its health can be negative.\n" +"\n" +"We might want to display the health number on screen, like in Japanese " +"RPGs.\n" +"\n" +"We don't want negative numbers. We want to stop at zero instead.\n" +"\n" +"Calling the function should reduce [code]health[/code] by [code]amount[/" +"code].\n" +"\n" +"If [code]health[/code] goes below [code]0[/code], set it to [code]0[/code] " +"again." +msgstr "" +"Robot hasar aldığında, sağlığı negatif olabilir.\n" +"\n" +"Japon RPG'lerinde (rol yapma oyunları) olduğu gibi, sağlık değerini ekranda " +"görüntülemek isteyebiliriz.\n" +"\n" +"Negatif sayılar istemiyoruz. Bunun yerine sıfırda durmak istiyoruz.\n" +"\n" +"Fonksiyonun çağrılması, sağlığı, [code]health[/code], verilen miktarda, " +"[code]amount[/code], azaltmalıdır.\n" +"\n" +"Eğer [code]health[/code], [code]0[/code]'ın altına düşerse, tekrar " +"[code]0[/code] olarak ayarla." + +#: course/lesson-13-conditions/lesson.tres:339 +msgid "" +"Having a negative health value doesn't make a lot of sense. Make sure the " +"robot's health can't go below zero." +msgstr "" +"Negatif bir sağlık değerine sahip olmak pek mantıklı değil. Robotun " +"sağlığının sıfırın altına düşemeyeceğinden emin ol." + +#: course/lesson-13-conditions/lesson.tres:343 +msgid "Conditions" +msgstr "Koşullar" diff --git a/i18n/tr/lesson-14-multiplying.po b/i18n/tr/lesson-14-multiplying.po new file mode 100644 index 00000000..f2302378 --- /dev/null +++ b/i18n/tr/lesson-14-multiplying.po @@ -0,0 +1,324 @@ +# 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 , 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-14 21:12+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-14-multiplying/lesson.tres:14 +msgid "" +"Our robot's health is always between [code]0[/code] and [code]100[/code].\n" +"\n" +"But as our robot fights, we want to increase its strength and toughness.\n" +"\n" +"When a character levels up, it might deal more damage to enemies, gain new " +"abilities or, in our case, gain more health." +msgstr "" +"Robotumuzun sağlığı her zaman [code]0[/code] ve [code]100[/code] arasındadır." +"\n" +"\n" +"Ancak robotumuz savaştıkça, gücünü ve dayanıklılığını artırmak istiyoruz.\n" +"\n" +"Bir karakter seviye atladığında, düşmanlara daha fazla hasar verebilir, yeni " +"yetenekler kazanabilir, veya bizim durumumuzda daha fazla sağlık kazanabilir." + +#: course/lesson-14-multiplying/lesson.tres:28 +msgid "" +"We define a [code]level[/code] variable to keep track of the level of the " +"robot. It starts at level one.\n" +"\n" +"When the robot has defeated enough enemies, we call the [code]level_up()[/" +"code] function to increment the robot's level." +msgstr "" +"Robotun seviyesini takip etmek için bir [code]level[/code] (seviye) " +"değişkeni tanımlıyoruz. Robot, birinci seviyeden başlıyor.\n" +"\n" +"Robot yeterince düşman yendiğinde, robotun seviyesini artırmak için " +"[code]level_up()[/code] (seviye_atla) fonksiyonunu çağırıyoruz." + +#: course/lesson-14-multiplying/lesson.tres:50 +msgid "" +"As we briefly saw in the last lesson, our robot could have a range of " +"variables that could increase when it levels up." +msgstr "" +"Son derste kısaca gördüğümüz gibi, robotumuz seviye atladığında artabilecek " +"bir sürü değişkene sahip olabilir." + +#: course/lesson-14-multiplying/lesson.tres:70 +msgid "" +"In this lesson, we'll just focus on increasing the robot's [code]max_health[/" +"code].\n" +"\n" +"The variable [code]max_health[/code] is the maximum amount the robot's " +"[code]health[/code] can be. We change our [code]heal()[/code] function to " +"use this variable." +msgstr "" +"Bu derste, sadece robotun [code]max_health[/code] (en_yüksek_sağlık) " +"değerini artırmaya odaklanacağız.\n" +"\n" +"[code]max_health[/code] değişkeni, robotun [code]sağlığının[/code] " +"olabileceği en yüksek miktardır. [code]heal()[/code] fonksiyonumuzu, bu " +"değişkeni kullanacak şekilde değiştiriyoruz." + +#: course/lesson-14-multiplying/lesson.tres:92 +msgid "" +"We could add [code]5[/code] to the [code]max_health[/code] every time the " +"robot levels up." +msgstr "" +"Robot her seviye atladığında, [code]max_health[/code] değerine [code]5[/code]" +" ekleyebiliriz." + +#: course/lesson-14-multiplying/lesson.tres:112 +msgid "" +"This would increase [code]max_health[/code] the same amount every time.\n" +"\n" +"If we graphed [code]max_health[/code], it'd look something like this." +msgstr "" +"Bunu yapmak, [code]max_health[/code] değerini her seferinde aynı miktarda " +"artıracaktır.\n" +"\n" +"Eğer [code]max_health[/code] için bir çizelge yaparsak, şöyle bir şey ortaya " +"çıkacaktır." + +#: course/lesson-14-multiplying/lesson.tres:134 +msgid "" +"This growth is [b]linear[/b].\n" +"\n" +"In our case, we want a feeling of more and more power as the robot levels " +"up.\n" +"\n" +"We want a graph like this." +msgstr "" +"Bu büyüme [b]doğrusaldır[/b].\n" +"\n" +"Bizim durumumuzda, robot seviye atladıkça çok daha fazla güç hissi istiyoruz." +"\n" +"\n" +"Bunun gibi bir çizelge istiyoruz." + +#: course/lesson-14-multiplying/lesson.tres:158 +msgid "" +"This growth is [b]exponential[/b].\n" +"\n" +"With each level, more [code]max_health[/code] is added than the previous " +"level up.\n" +"\n" +"To get the exponential growth, we multiply the [code]max_health[/code] by an " +"amount greater than [code]1[/code] each time the robot levels up.\n" +"\n" +"To multiply values together, we use [code]*[/code]." +msgstr "" +"Bu büyüme [b]üsteldir[/b].\n" +"\n" +"Her seviyede, [code]max_health[/code] üzerine bir önceki seviyeye göre daha " +"fazla ekleme yapılır.\n" +"\n" +"Üstel büyümeyi elde etmek için, robot her seviye atladığında " +"[code]max_health[/code] değerini [code]1[/code]'den büyük bir miktarla " +"çarpıyoruz.\n" +"\n" +"Değerleri birbiriyle çarpmak için [code]*[/code] (yıldız) işaretini " +"kullanırız." + +#: course/lesson-14-multiplying/lesson.tres:172 +msgid "What is the value of damage?" +msgstr "Hasar miktarı ne kadardır?" + +#: course/lesson-14-multiplying/lesson.tres:173 +msgid "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"[/code]" +msgstr "" +"[code]\n" +"var seviye= 5\n" +"var güç = 3\n" +"\n" +"func hasar_hesapla():\n" +"\tvar hasar = güç * seviye\n" +"[/code]" + +#: course/lesson-14-multiplying/lesson.tres:181 +msgid "" +"We multiply [code]power[/code] by [code]level[/code] using [code]*[/code] to " +"get the result of [code]15[/code]." +msgstr "" +"[code]15[/code] sonucunu elde etmek için [code]*[/code] kullanarak " +"[code]güç[/code] ile [code]seviye[/code]'yi ile çarpıyoruz." + +#: course/lesson-14-multiplying/lesson.tres:182 +#: course/lesson-14-multiplying/lesson.tres:183 +msgid "15" +msgstr "15" + +#: course/lesson-14-multiplying/lesson.tres:182 +msgid "9" +msgstr "9" + +#: course/lesson-14-multiplying/lesson.tres:182 +msgid "10" +msgstr "10" + +#: course/lesson-14-multiplying/lesson.tres:192 +msgid "" +"We can use [code]*=[/code] in the same way as [code]-=[/code] and [code]+=[/" +"code]." +msgstr "" +"[code]*=[/code] ifadesini, [code]-=[/code] ve [code]+=[/code] ile aynı " +"şekilde kullanabiliriz." + +#: course/lesson-14-multiplying/lesson.tres:200 +msgid "What is the value of damage now?" +msgstr "Hasar miktarı, bu defa ne kadar olur?" + +#: course/lesson-14-multiplying/lesson.tres:201 +msgid "" +"[code]\n" +"var level = 5\n" +"var power = 3\n" +"\n" +"func calculate_damage():\n" +"\tvar damage = power * level\n" +"\tdamage *= 2\n" +"[/code]" +msgstr "" +"[code]\n" +"var seviye= 5\n" +"var güç = 3\n" +"\n" +"func hasar_hesapla():\n" +"\tvar hasar = güç * seviye\n" +"\thasar *= 2\n" +"[/code]" + +#: course/lesson-14-multiplying/lesson.tres:210 +msgid "" +"The value of [code]damage[/code] starts as [code]15[/code].\n" +"\n" +"Then, [code]damage *= 2[/code] multiplies it by [code]2[/code] to get " +"[code]30[/code]." +msgstr "" +"[code]hasar[/code]'ın değeri, [code] 15[/code] olarak başlar.\n" +"\n" +"Ardından, [code]hasar *= 2[/code] satırı, bunu [code]2[/code] ile çarparak " +"[code]30[/code] verir." + +#: course/lesson-14-multiplying/lesson.tres:213 +#: course/lesson-14-multiplying/lesson.tres:214 +msgid "30" +msgstr "30" + +#: course/lesson-14-multiplying/lesson.tres:213 +msgid "13" +msgstr "13" + +#: course/lesson-14-multiplying/lesson.tres:213 +msgid "25" +msgstr "25" + +#: course/lesson-14-multiplying/lesson.tres:223 +msgid "" +"Let's level up our robot and add exponential growth to [code]max_health[/" +"code]." +msgstr "" +"Hadi robotumuzun seviyesini yükseltelim ve [code]max_health[/code]'e üstel " +"büyüme ekleyelim." + +#: course/lesson-14-multiplying/lesson.tres:243 +msgid "" +"In the practices, you'll increase the robot's [code]max_health[/code] and " +"add a special ability to our robot to make it extra tough at high levels." +msgstr "" +"Alıştırmalarda, robotun [code]max_health[/code] değerini artıracak ve onu " +"yüksek seviyelerde daha da zorlu hale getirecek özel bir yetenek " +"ekleyeceksin." + +#: course/lesson-14-multiplying/lesson.tres:251 +msgid "Increasing maximum health exponentially" +msgstr "En yüksek sağlığın katlanarak artırılması" + +#: course/lesson-14-multiplying/lesson.tres:252 +msgid "" +"Let's make the robot stronger when it levels up.\n" +"\n" +"Add to the [code]level_up()[/code] function so it does the following:\n" +"\n" +"- Increases [code]level[/code] by one.\n" +"- Increases [code]max_health[/code] by 10%." +msgstr "" +"Hadi şimdi, seviye atladığında robotu daha güçlü yapalım.\n" +"\n" +"[code]level_up()[/code] fonksiyonuna aşağıdakileri yaptıracak şekilde ekleme " +"yap:\n" +"\n" +"- seviyesini, [code]level[/code], bir artırır.\n" +"- en yüksek sağlık seviyesini, [code]max_health[/code], %10 artırır." + +#: course/lesson-14-multiplying/lesson.tres:270 +msgid "" +"We want our robot to increase in strength as it levels up. Let's increase " +"its health exponentially!" +msgstr "" +"Robotumuzun, seviye atladıkça gücününde artmasını istiyoruz. Sağlığını " +"katlayarak artıralım!" + +#: course/lesson-14-multiplying/lesson.tres:275 +msgid "Reducing damage at higher levels" +msgstr "Daha yüksek seviyelerde hasarı azaltmak" + +#: course/lesson-14-multiplying/lesson.tres:276 +msgid "" +"When our robot's [code]level[/code] is [code]3[/code] or more, we want it to " +"take a lot less damage.\n" +"\n" +"Add to the [code]take_damage()[/code] function so the following happens:\n" +"\n" +"- [code]if[/code] the robot's [code]level[/code] is greater than [code]2[/" +"code], reduce the damage [code]amount[/code] by 50%\n" +"\n" +"The robot is level 3. An enemy is going to attack for 10 damage. This damage " +"should reduce to 5." +msgstr "" +"Robotumuzun seviyesi, [code]level[/code], [code] 3[/code] veya daha fazla " +"olduğunda, çok daha az hasar alsın istiyoruz.\n" +"\n" +"[code]take_damage()[/code] fonksiyonuna, aşağıdakileri gerçekleştirmek için " +"ekleme yap:\n" +"\n" +"- eğer, [code]if[/code], robotun seviyesi, [code]level[/code], [code]2[/code]" +"'den büyükse, hasar miktarını, [code]amount[/code], %50 oranında azalt\n" +"\n" +"Robot seviyesi 3. Bir düşman, 10 hasar vermek için saldırmak üzere. Bu " +"hasarın miktarı 5'e düşmeli." + +#: course/lesson-14-multiplying/lesson.tres:299 +msgid "" +"At higher levels, we want our robot to be super tough and take even less " +"damage!" +msgstr "" +"Daha yüksek seviyelerde, robotumuzun çok sağlam olmasını ve daha da az hasar " +"almasını istiyoruz!" + +#: course/lesson-14-multiplying/lesson.tres:303 +msgid "Multiplying" +msgstr "Çarpma Yapmak" diff --git a/i18n/tr/lesson-15-modulo.po b/i18n/tr/lesson-15-modulo.po new file mode 100644 index 00000000..6d4cb681 --- /dev/null +++ b/i18n/tr/lesson-15-modulo.po @@ -0,0 +1,349 @@ +# 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 , 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 \n" +"Language-Team: Turkish \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-16-2d-vectors.po b/i18n/tr/lesson-16-2d-vectors.po new file mode 100644 index 00000000..12c8a5d2 --- /dev/null +++ b/i18n/tr/lesson-16-2d-vectors.po @@ -0,0 +1,305 @@ +# 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 , 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-14 21:12+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-16-2d-vectors/lesson.tres:14 +msgid "" +"Suppose we want to increase the size of the robot when it levels up.\n" +"\n" +"As you may recall, we do this by using the following code." +msgstr "" +"Robotun seviyesi yükseldiğinde, boyutunun artmasını istediğimizi varsayalım." +"\n" +"\n" +"Hatırlarsan, bunu aşağıdaki kodu kullanarak yapıyoruz." + +#: course/lesson-16-2d-vectors/lesson.tres:36 +msgid "" +"As we talked about in lesson 7, the [code]scale[/code] variable has two sub-" +"variables to it: [code]x[/code] and [code]y[/code].\n" +"\n" +"This is because [code]scale[/code] is a [code]Vector2[/code], which stands " +"for two-dimensional vector. A [code]Vector2[/code] represents 2D coordinates." +msgstr "" +"7. derste bahsetmiştik, ölçekleme değişkeninin, [code]scale[/code], iki alt " +"değişkeni var: [code]x[/code] ve [code]y[/code].\n" +"\n" +"Bunun nedeni, [code]scale[/code]'in iki-boyutlu vektör anlamına gelen bir " +"[code]Vector2[/code] nesnesi olmasıdır. Bir [code]Vector2[/code] 2B " +"koordinatları temsil eder. (2B:2-Boyut, ingilizcesi 2D:2-Dimension)." + +#: course/lesson-16-2d-vectors/lesson.tres:46 +msgid "What are vectors?" +msgstr "Vektörler neyin nesidir?" + +#: course/lesson-16-2d-vectors/lesson.tres:48 +msgid "" +"A vector, in physics, is a quantity with a magnitude and a direction. For " +"example, a force applied to some object, the velocity (speed and direction) " +"of a character, and so on.\n" +"\n" +"We often represent this quantity with an arrow.\n" +"\n" +"In Godot, 2D vectors are a common value type named [code]Vector2[/code],\n" +"\n" +"Unlike plain numbers, they store [i]two[/i] decimal numbers: one for the X " +"coordinate and one for the Y coordinate." +msgstr "" +"Fizikte, bir vektör, bir büyüklüğü ve bir yönü olan bir niceliktir. Örneğin, " +"bir nesneye uygulanan bir kuvvet, bir karakterin hızı (sürati ve yönü), ve " +"benzeri.\n" +"\n" +"Böyle bir niceliği, genellikle bir okla temsil ederiz.\n" +"\n" +"Godot'ta, 2B vektörler [code]Vector2[/code] adlı yaygın bir değer tipidir.\n" +"\n" +"Düz sayıların aksine, içlerinde [i]iki[/i] ondalık sayı depolarlar: biri X " +"eksenindeki değeri ve diğeri Y eksenindeki değeri için." + +#: course/lesson-16-2d-vectors/lesson.tres:72 +msgid "" +"So far, you've come across two variables in the course which are vectors. " +"Which are they?" +msgstr "" +"Şimdiye kadar, kurs sırasında birer vektör olan iki değişkenle karşılaştın. " +"Bunlar hangileriydi?" + +#: course/lesson-16-2d-vectors/lesson.tres:75 +msgid "" +"Both [code]scale[/code] and [code]position[/code] have [code]x[/code] and " +"[code]y[/code] sub-variables, so Godot uses a [code]Vector2[/code] to store " +"their values." +msgstr "" +"Hem [code]scale[/code] (ölçek) hem de [code]position[/code] (konum), " +"[code]x[/code] ve [code]y[/code] alt değişkenlerine sahiptir, bu nedenle " +"Godot, bunların değerlerini depolamak için bir [code]Vector2[/code] kullanır." + +#: course/lesson-16-2d-vectors/lesson.tres:76 +#: course/lesson-16-2d-vectors/lesson.tres:77 +msgid "scale" +msgstr "scale (ölçek)" + +#: course/lesson-16-2d-vectors/lesson.tres:76 +#: course/lesson-16-2d-vectors/lesson.tres:77 +msgid "position" +msgstr "position (konum)" + +#: course/lesson-16-2d-vectors/lesson.tres:76 +msgid "health" +msgstr "health (sağlık)" + +#: course/lesson-16-2d-vectors/lesson.tres:76 +msgid "speed" +msgstr "speed (hız)" + +#: course/lesson-16-2d-vectors/lesson.tres:84 +msgid "Vectors are great for games" +msgstr "Vektörler oyunlar için harikadır" + +#: course/lesson-16-2d-vectors/lesson.tres:86 +msgid "" +"Vectors are [i]essential[/i] in video games.\n" +"\n" +"They allow you to represent a character's movement speed and direction, " +"calculate the distance to a target, and more, with little code.\n" +"\n" +"Take this turtle AI below. You've probably seen games where enemies move " +"like this.\n" +"\n" +"This is done with just seven lines of pure vector calculation code.\n" +"\n" +"The code is a bit too difficult for now, so we'll spare you the details, but " +"this turtle gives you a glimpse of what 2D vectors can do for you and your " +"game projects." +msgstr "" +"Vektörler video oyunları için [i]gerekli[/i]'dir.\n" +"\n" +"Bir karakterin hareket hızını ve yönünü temsil etmene, bir hedefe olan " +"mesafesini hesaplamana, ve daha fazlasını çok az kodla yapmana olanak tanır." +"\n" +"\n" +"Aşağıdaki kaplumbağa YZ'sini ele al (yapay zeka). Muhtemelen düşmanların bu " +"şekilde hareket ettiği oyunlar görmüşsündür.\n" +"\n" +"Bu, sadece yedi satırlık saf vektör hesaplama kodu ile yapılabiliyor.\n" +"\n" +"Kodu anlaman şimdilik biraz zor, bu yüzden ayrıntıları atlayacağız, ancak bu " +"kaplumbağa sana 2B vektörlerin, senin için ve oyun projelerin için neler " +"yapabileceğine dair bir fikir veriyordur." + +#: course/lesson-16-2d-vectors/lesson.tres:114 +msgid "" +"We scale the robot again, this time by adding to it directly using a " +"[code]Vector2[/code]. The following code has the same effect as the previous " +"example." +msgstr "" +"Robotu tekrar ölçeklendiriyoruz, ama bu sefer bir [code]Vector2[/code] " +"kullanarak ona doğrudan ekleme yapıyoruz. Aşağıdaki kod, önceki örnekle aynı " +"etkiye sahiptir." + +#: course/lesson-16-2d-vectors/lesson.tres:134 +msgid "" +"Notice how we use parentheses and two arguments inside parentheses, just " +"like other function calls.\n" +"\n" +"We call this a [i]constructor function call[/i]. You can think of it as a " +"special kind of function that creates a particular type of value.\n" +"\n" +"The code [code]Vector2(0.2, 0.2)[/code] constructs a new [code]Vector2[/" +"code] value with its [code]x[/code] set to [code]0.2[/code] and its [code]y[/" +"code] set to [code]0.2[/code], respectively." +msgstr "" +"Parantezleri ve parantez içindeki iki bağımsız değişkeni nasıl " +"kullandığımıza dikkat et, diğer fonksiyon çağrılarında yaptığımıza benziyor." +"\n" +"\n" +"Buna [i]oluşturucu fonksiyon çağrısı [/i] diyoruz. Bunu, belirli bir değer " +"tipini oluşturan özel bir fonksiyon türü olarak düşünebilirsin.\n" +"\n" +"[code]Vector2(0.2, 0.2)[/code] kodu, sırasıyla [code]x[/code] üyesinde " +"[code]0.2[/code] ve [code]y[/code] üyesinde [code]0.2[/code] değerleri olan " +"yeni bir [code]Vector2[/code] değeri oluşturur." + +#: course/lesson-16-2d-vectors/lesson.tres:146 +msgid "Using vectors to change the position" +msgstr "Konumu değiştirmek için vektörleri kullanmak" + +#: course/lesson-16-2d-vectors/lesson.tres:148 +msgid "" +"We can add and subtract vectors to [code]position[/code] because it's a " +"vector. If we wanted to move our robot to a new relative position, we would " +"add a [code]Vector2[/code] to its [code]position[/code]." +msgstr "" +"[code]position[/code] (konum) değişkenine vektör ekleyip çıkarabiliriz çünkü " +"o da bir vektördür. Robotumuzu yeni bir göreceli konuma taşımak isteseydik, " +"[code]position[/code] değişkenine bir [code]Vector2[/code] eklerdik." + +#: course/lesson-16-2d-vectors/lesson.tres:166 +msgid "How would you move the robot 50 pixels to the left?" +msgstr "Robotu 50 piksel sola nasıl hareket ettirirsin?" + +#: course/lesson-16-2d-vectors/lesson.tres:169 +msgid "" +"[code]position -= Vector2(50, 0)[/code] subtracts [code]50[/code] to the sub-" +"variable [code]x[/code], and [code]0[/code] to [code]y[/code].\n" +"\n" +"[code]position.x -= Vector2(50, 0)[/code] tries to subtract a 2D vector to " +"the sub-variable [code]x[/code], which is a decimal number. The value types " +"are incompatible. If you try to do this, you will get an error." +msgstr "" +"[code]position -= Vector2(50, 0)[/code], [code]x[/code] alt-değişkeninden " +"[code]50[/code] ve [code]y[/code] alt-değişkeninden [code]0[/code] çıkartır." +"\n" +"\n" +"[code]position.x -= Vector2(50, 0)[/code], bir ondalık sayı olan " +"[code]x[/code] alt-değişkeninden bir 2B vektör çıkarmaya çalışır. Değer " +"tipleri uyumsuzdur. Bunu yapmaya çalışırsan bir hata alırsın." + +#: course/lesson-16-2d-vectors/lesson.tres:172 +#: course/lesson-16-2d-vectors/lesson.tres:173 +msgid "position -= Vector2(50, 0)" +msgstr "position -= Vector2(50, 0)" + +#: course/lesson-16-2d-vectors/lesson.tres:172 +msgid "position.x -= Vector2(50, 0)" +msgstr "position.x -= Vector2(50, 0)" + +#: course/lesson-16-2d-vectors/lesson.tres:182 +msgid "" +"In the next few practices, you'll use vectors to change scale and position " +"values." +msgstr "" +"Sıradaki birkaç uygulamada, ölçek ve konum değerlerini değiştirmek için " +"vektörleri kullanacaksın." + +#: course/lesson-16-2d-vectors/lesson.tres:190 +msgid "Increasing scale using vectors" +msgstr "Vektörler kullanarak ölçeği artırmak" + +#: course/lesson-16-2d-vectors/lesson.tres:191 +msgid "" +"Add a line of code to the [code]level_up()[/code] function to increase the " +"[code]scale[/code] of the robot by [code]Vector2(0.2, 0.2)[/code] every time " +"it levels up." +msgstr "" +"Robotun ölçeğini, [code]scale[/code], her seviye atladığında [code]Vector2(" +"0.2, 0.2)[/code] kadar artırmak için, [code]level_up()[/code] fonksiyonuna " +"bir kod satırı ekle." + +#: course/lesson-16-2d-vectors/lesson.tres:202 +msgid "" +"To visually show our robot has gained in strength, let's increase its size " +"every time it levels up. Nothing could go wrong!" +msgstr "" +"Robotumuzun güçlendiğini görsel olarak göstermek için, her seviye " +"atladığında boyutunu artıralım. Hiçbir şey yanlış gidemez!" + +#: course/lesson-16-2d-vectors/lesson.tres:207 +msgid "Resetting size and position using vectors" +msgstr "Vektörler kullanarak boyut ve konumu sıfırlamak" + +#: course/lesson-16-2d-vectors/lesson.tres:208 +msgid "" +"The robot's level has increased a lot, and so has its size!\n" +"\n" +"Let's fix this by resetting the robot's [code]scale[/code] and " +"[code]position[/code] values.\n" +"\n" +"Create a function named [code]reset_robot()[/code] that sets the " +"[code]scale[/code] and [code]position[/code] of the robot.\n" +"\n" +"The [code]x[/code] and [code]y[/code] sub-variables of the robot's " +"[code]scale[/code] need to be [code]1.0[/code].\n" +"\n" +"The robot's [code]position[/code] needs to be [code]Vector2(0, 0)[/code].\n" +"\n" +"As in the previous practice, make sure to use vectors when dealing with " +"scale and position." +msgstr "" +"Robotun seviyesi çok arttı ve boyutu da çok büyüdü!\n" +"\n" +"Robotun ölçek, [code]scale[/code], ve konum, [code]position[/code], " +"değerlerini sıfırlayarak bunu düzeltelim.\n" +"\n" +"Robotun [code]scale[/code] ve [code]position[/code] değerlerini ayarlayan " +"[code]reset_robot()[/code] isminde bir fonksiyon oluştur.\n" +"\n" +"Robotun [code]scale[/code] değişkeninin [code] x[/code] ve [code]y[/code] " +"alt-değişkenlerinin [code]1.0[/code] olması gerekir.\n" +"\n" +"Robotun [code]position[/code] değerinin, [code] Vector2(0, 0)[/code] olması " +"gerekir.\n" +"\n" +"Önceki uygulamada olduğu gibi, ölçek ve konum ile uğraşırken vektörleri " +"kullandığından emin ol." + +#: course/lesson-16-2d-vectors/lesson.tres:227 +msgid "" +"Perhaps increasing the scale every level was a bad idea! Let's restore the " +"robot to the correct size." +msgstr "" +"Belki de ölçeği her seviye atlamada artırmak kötü bir fikirdi! Robotu doğru " +"boyutuna geri getirelim." + +#: course/lesson-16-2d-vectors/lesson.tres:231 +msgid "2D Vectors" +msgstr "2B Vektörler" diff --git a/i18n/tr/lesson-17-while-loops.po b/i18n/tr/lesson-17-while-loops.po new file mode 100644 index 00000000..4a386294 --- /dev/null +++ b/i18n/tr/lesson-17-while-loops.po @@ -0,0 +1,329 @@ +# 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 , 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 \n" +"Language-Team: Turkish \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-17-while-loops/lesson.tres:14 +msgid "" +"You've seen that you can use functions to [i]reuse[/i] code. In this lesson, " +"you'll learn about [b]loops[/b]. Loops help you [i]repeat[/i] code.\n" +"\n" +"To illustrate how loops work, let's take a game board split into a grid.\n" +"\n" +"Our robot can move to neighboring cells by changing a [code]Vector2[/code] " +"variable named [code]cell[/code]. It represents the current cell the robot " +"is in.\n" +"\n" +"When we increase [code]cell.x[/code], the robot moves to the right.\n" +"\n" +"Note that we delay the robot's movement in the app to help you visualize how " +"it moves. The following code would normally move the robot instantly." +msgstr "" +"Fonksiyonları, kodunu [i]yeniden kullanmak[/i] için kullanabileceğini " +"gördün. Bu derste, [b]döngüler[/b] hakkında bilgi edineceksin. Döngüler, " +"kodunu [i]tekrarlamana[/i] yardımcı olur.\n" +"\n" +"Döngülerin nasıl çalıştığını göstermek için, ızgaraya bölünmüş bir oyun " +"tahtasını ele alalım.\n" +"\n" +"Robotumuz, hücre, [code]cell[/code], isimli bir [code]Vector2[/code] " +"değişkenini değiştirerek komşu hücrelere geçebilir. Bu, robotun içinde " +"bulunduğu mevcut hücreyi temsil eder.\n" +"\n" +"[code]cell.x[/code] değerini arttırdığımızda robot sağa doğru hareket eder.\n" +"\n" +"Nasıl hareket ettiğini görselleştirmene yardımcı olmak için uygulamada " +"robotun hareketini yavaşlattığımızı unutma. Aşağıdaki kod normalde robotu " +"anında hareket ettirecektir." + +#: course/lesson-17-while-loops/lesson.tres:42 +msgid "We can move diagonally by adding a [code]Vector2[/code] directly." +msgstr "Doğrudan bir [code]Vector2[/code] ekleyerek çapraz hareket edebiliriz." + +#: course/lesson-17-while-loops/lesson.tres:62 +msgid "" +"The above code works for a pre-defined board with a size of [code]Vector2(3, " +"3)[/code], but the [code]move_to_end()[/code] function wouldn't work if the " +"size of the board was different. \n" +"\n" +"The robot would either stop before the end or go too far.\n" +"\n" +"To implement a general solution for all board sizes, we can repeat the " +"robot's movement until it gets to the end.\n" +"\n" +"For code that repeats, we can use [i]loops[/i]." +msgstr "" +"Yukarıdaki kod, [code]Vector2(3, 3)[/code] boyutunda önceden tanımlanmış bir " +"tahta için çalışır, ancak [code]move_to_end()[/code] (ilerle_sona) " +"fonksiyonu, tahtanın boyutu farklı olsaydı çalışmazdı.\n" +"\n" +"Robot ya sona varmadan duracak ya da çok ileri gidecekti.\n" +"\n" +"Tüm tahta boyutları için genel bir çözüm bulmak için, robotun hareketini " +"sona gelene kadar tekrarlayabiliriz.\n" +"\n" +"Tekrar eden kodlar için [i]döngüleri[/i] kullanabiliriz." + +#: course/lesson-17-while-loops/lesson.tres:76 +msgid "Using while loops to repeat code" +msgstr "Kodu yinelemek için \"while\" döngülerini kullanmak" + +#: course/lesson-17-while-loops/lesson.tres:78 +msgid "" +"You can use a [code]while[/code] loop to make the computer repeat a block of " +"code until you meet a specific condition or decide to break from the loop.\n" +"\n" +"Here's how we use a [code]while[/code] loop." +msgstr "" +"Belirli bir koşulu karşılayana kadar, veya döngüden çıkmaya karar verene " +"kadar, bilgisayarın bir kod parçasını yinelemesini sağlamak için bir " +"[code]while[/code] (-iken) döngüsü kullanabilirsin.\n" +"\n" +"İşte bir [code]while[/code] döngüsünü nasıl kullandığımızın örneği." + +#: course/lesson-17-while-loops/lesson.tres:100 +msgid "" +"We use the variable [code]number[/code] to keep track of how many loops the " +"[code]while[/code] loop completes.\n" +"\n" +"Each time we go through the [code]while[/code] loop, we add [code]1[/code] " +"to [code]number[/code].\n" +"\n" +"The [code]while[/code] loop keeps running for as long as the condition is " +"true. In this case, it keeps running while [code]number[/code] is less than " +"[code]4[/code].\n" +"\n" +"You can see that the following code is executed four times in the console." +msgstr "" +"[code]while[/code] döngüsünün, kaç döngü yaptığını takip etmek için " +"[code]number[/code] (sayı) değişkenini kullanıyoruz.\n" +"\n" +"[code]while[/code] döngüsününün her tekrarında, [code]number[/code] " +"değişkenine [code]1[/code] ekleriz.\n" +"\n" +"[code]while[/code] döngüsü, koşul doğru olduğu sürece çalışmaya devam eder. " +"Bu durumda, [code]number[/code] değeri, [code]4[/code] sayısından küçük " +"olduğu sürece çalışmaya devam eder.\n" +"\n" +"Aşağıdaki çıktı ekranında, kodun dört kez çalıştırıldığını görebilirsin." + +#: course/lesson-17-while-loops/lesson.tres:126 +msgid "" +"Let's apply this to our [code]move_to_end()[/code] function.\n" +"\n" +"This time, we compare the number of loops to the board's width. We go " +"through the loop until we reach the width of the board.\n" +"\n" +"Note that we move the robot until its position is one less than the board's " +"width because we are counting tiles from [code]0[/code].\n" +"\n" +"A board of [code]3[/code] by [code]3[/code] cells would have cell " +"coordinates going from [code]0[/code] to [code]2[/code] on both the X and Y " +"axes." +msgstr "" +"Hadi bunu [code]move_to_end()[/code] fonksiyonumuza uygulayalım.\n" +"\n" +"Bu kez, döngü sayısını tahtanın genişliğiyle karşılaştırıyoruz. Tahtanın " +"genişliğine ulaşana kadar döngüyü yineliyoruz.\n" +"\n" +"Kareleri saymaya [code]0[/code]'danbaşladığımız için, robotun konumu " +"tahtanın genişliğinden bir eksik olana kadar hareket ettirdiğimizi unutma.\n" +"\n" +"[code]3[/code] 'e [code]3[/code] hücrelerden oluşan bir tahtanın hücre " +"konumları, hem X hem de Y eksenlerinde [code]0[/code] ile [code]2[/code] " +"arasında değişecektir." + +#: course/lesson-17-while-loops/lesson.tres:160 +msgid "While loops can cause issues" +msgstr "While döngüleri, sorunlara neden olabilir" + +#: course/lesson-17-while-loops/lesson.tres:162 +msgid "" +"If you're not careful, your [code]while[/code] loop can run infinitely. In " +"that case, the application will freeze.\n" +"\n" +"Take a look at this code example." +msgstr "" +"Eğer dikkatli olmazsan, [code]while[/code] döngüsü sonsuza kadar " +"çalışabilir. Bu durumda uygulama donacaktır.\n" +"\n" +"Bu kod örneğine bir göz at." + +#: course/lesson-17-while-loops/lesson.tres:182 +msgid "What would happen if the computer tried to run the code above?" +msgstr "Bilgisayar yukarıdaki kodu çalıştırmayı denerse ne olur?" + +#: course/lesson-17-while-loops/lesson.tres:185 +msgid "" +"Because we don't increment [code]number[/code] within the [code]while[/code] " +"loop, it always stays at [code]0[/code].\n" +"\n" +"As a result, the number is always lower than [code]10[/code], so we never " +"break out of the loop.\n" +"\n" +"Since there's no way to exit the [code]while[/code] loop, the computer will " +"attempt to draw squares infinitely, which will freeze the program.\n" +"\n" +"When programs stop responding on your computer, it's often due to an " +"infinite loop!" +msgstr "" +"[code]while[/code] döngüsü içinde [code]number[/code] değişkenini " +"arttırmadığımız için, her zaman [code]0[/code] değerinde kalır.\n" +"\n" +"Sonuç olarak, sayı her zaman [code]10[/code] 'dan küçüktür, bu nedenle " +"döngüden asla çıkamayız.\n" +"\n" +"[code]while[/code] döngüsünden çıkmanın bir yolu olmadığından da, bilgisayar " +"sonsuza kadar kare çizmeye çalışacak ve bu da programı donduracaktır.\n" +"\n" +"Bilgisayarında programlar yanıt vermeyi durdurduğunda, bunun nedeni " +"genellikle sonsuz bir döngüdür!" + +#: course/lesson-17-while-loops/lesson.tres:192 +#: course/lesson-17-while-loops/lesson.tres:193 +msgid "It would draw squares infinitely until the program is terminated" +msgstr "Program sonlandırılmazsa, sonsuza kadar kareler çizecek" + +#: course/lesson-17-while-loops/lesson.tres:192 +msgid "It would draw 10 squares" +msgstr "10 tane kare çizecek" + +#: course/lesson-17-while-loops/lesson.tres:192 +msgid "It would draw 20 squares" +msgstr "20 tane kare çizecek" + +#: course/lesson-17-while-loops/lesson.tres:200 +msgid "When to use while loops" +msgstr "While döngüleri ne zaman kullanılır" + +#: course/lesson-17-while-loops/lesson.tres:202 +msgid "" +"At first, you will not need [code]while[/code] loops often. Even the code we " +"show here has more efficient alternatives.\n" +"\n" +"Also, there's a safer kind of loop, [code]for[/code] loops, which we'll look " +"at in the next lesson.\n" +"\n" +"Yet, [code]while[/code] loops have important intermediate to advanced-level " +"uses, so you at least need to know they exist and how to use them.\n" +"\n" +"We use [code]while[/code] loops every time we need to loop an unknown number " +"of times.\n" +"\n" +"For example, games run in a loop that typically generates sixty images per " +"second until the user closes the game. This is possible thanks to " +"[code]while[/code] loops.\n" +"\n" +"There are other good uses for [code]while[/code] loops:\n" +"\n" +"- Reading and processing a file, like a text document, line by line.\n" +"- Processing a constant stream of data, like someone recording audio with a " +"microphone.\n" +"- Reading code and converting it into instructions the computer " +"understands.\n" +"- Various intermediate to advanced-level algorithms, like finding paths " +"around a map for AI." +msgstr "" +"Başlangıçta, [code]while[/code] döngülerine çok sık ihtiyaç duymayacaksın. " +"Burada gösterdiğimiz kodun bile daha verimli alternatifleri var.\n" +"\n" +"Ayrıca, bir sonraki derste inceleyeceğimiz gibi, [code]for[/code] döngüleri " +"gibi daha güvenli bir döngü türü de var.\n" +"\n" +"Yine de, [code]while[/code] döngülerinin orta ve ileri düzeyde önemli " +"kullanımları vardır, bu nedenle en azından var olduklarını ve nasıl " +"kullanılacaklarını bilmen gerekir.\n" +"\n" +"Bilinmeyen bir sayıda yinelemeye ihtiyaç duyduğumuz her seferde " +"[code]while[/code] döngülerini kullanırız.\n" +"\n" +"Örneğin oyunlar, kullanıcı oyunu kapatana kadar genellikle saniyede altmış " +"görüntü üreten bir döngü içinde çalışır. Bunu yapmak, [code]while[/code] " +"döngüleri sayesinde mümkündür.\n" +"\n" +"[code]while[/code] döngülerinin başka iyi kullanımları da var:\n" +"\n" +"- Metin belgesi gibi bir dosyanın, satır satır okuyup işlemek.\n" +"- Mikrofonla ses kaydı yapan biri gibi, sürekli bir veri akışını işlemek.\n" +"- Bir kodu okumak ve içindekileri bilgisayarın anlayacağı talimatlara " +"dönüştürmek.\n" +"- Yapay zeka için bir haritanın etrafındaki yolları bulmak gibi çeşitli orta " +"ve ileri düzey algoritmalar." + +#: course/lesson-17-while-loops/lesson.tres:227 +msgid "" +"Let's practice some [code]while[/code] loops, as they're useful to know. " +"It's also an excellent opportunity to practice 2D vectors.\n" +"\n" +"Then, we'll move on to the safer [code]for[/code] loops in the following " +"lesson." +msgstr "" +"Hadi bir kaç [code]while[/code] döngüsü üzerinde pratik yapalım, çünkü " +"bunları bilmek faydalıdır. Bu aynı zamanda 2B vektörlerle pratik yapmak için " +"de mükemmel bir fırsat.\n" +"\n" +"Ardından, bir sonraki derste, daha güvenli olan[code]for[/code] döngülerine " +"geçeceğiz." + +#: course/lesson-17-while-loops/lesson.tres:237 +msgid "Moving to the end of a board" +msgstr "Bir tahtanın sonuna gitmek" + +#: course/lesson-17-while-loops/lesson.tres:238 +msgid "" +"Our robot has decided to stand at the top of the board.\n" +"\n" +"Complete the [code]move_to_bottom()[/code] function so the robot moves to " +"the bottom of the board.\n" +"\n" +"The board size is determined by the [code]Vector2[/code] [code]board_size[/" +"code].\n" +"\n" +"The robot's current cell is [code]Vector2(2, 0)[/code]. \n" +"\n" +"Make sure to use a [code]while[/code] loop so the function works for any " +"board size." +msgstr "" +"Robotumuz, tahtanın en tepesinde durmaya karar verdi.\n" +"\n" +"Robotun, tahtanın en altına doğru hareket etmesi için, " +"[code]move_to_bottom()[/code] (ilerle_en_alta) fonksiyonunu tamamla.\n" +"\n" +"Tahtanın boyutu [code]Vector2[/code] tipinde [code]board_size[/code] " +"(tahta_boyu) tarafından belirlenir.\n" +"\n" +"Robotun şu an durduğu hücrenin, cell, konum değeri [code]Vector2(2, " +"0)[/code].\n" +"\n" +"Fonksiyonun, herhangi bir tahta boyutuyla çalışması için [code]while[/code] " +"döngüsünü kullandığından emin ol." + +#: course/lesson-17-while-loops/lesson.tres:256 +msgid "" +"Use a while loop to have our robot move from the top of the board to the " +"bottom." +msgstr "" +"Robotumuzun tahtanın en üstünden en altına doğru hareket etmesini sağlamak " +"için bir while döngüsü kullan." + +#: course/lesson-17-while-loops/lesson.tres:260 +msgid "Introduction to While Loops" +msgstr "While Döngülerine Giriş" diff --git a/i18n/tr/lesson-18-for-loops.po b/i18n/tr/lesson-18-for-loops.po new file mode 100644 index 00000000..0d2d0085 --- /dev/null +++ b/i18n/tr/lesson-18-for-loops.po @@ -0,0 +1,319 @@ +# 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 , 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 \n" +"Language-Team: Turkish \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-18-for-loops/lesson.tres:14 +msgid "" +"In the last lesson, we looked at [code]while[/code] loops. We found they " +"were useful if we don't know how many times we should repeat code. \n" +"\n" +"However, they could result in infinite loops if we're not careful.\n" +"\n" +"The loop below never ends because we never increment [code]number[/code]." +msgstr "" +"Son derste, [code]while[/code] döngülerine bakmıştık. Kodu kaç kez " +"tekrarlamamız gerektiğini bilmediğimiz durumlarda yararlı olduklarını " +"gördük. \n" +"\n" +"Ancak, dikkatli olmazsak sonsuz döngülere neden olabiliyorlar.\n" +"\n" +"Aşağıdaki döngü asla sona ermez çünkü [code]number[/code] değişkenini " +"arttırmıyoruz." + +#: course/lesson-18-for-loops/lesson.tres:38 +msgid "" +"There's a safer and often easier kind of loop: the [code]for[/code] loop.\n" +"\n" +"We'll look at it in this lesson.\n" +"\n" +"Unlike [code]while[/code] loops, [code]for[/code] loops don't run " +"infinitely, so it's much less likely that you'll get bugs in your game. " +"[b]We recommend favoring for loops over while loops because of this[/b].\n" +"\n" +"Let's change the code above to use a [code]for[/code] loop instead.\n" +"\n" +"The loop below will change the [code]cell[/code] three times." +msgstr "" +"Daha güvenli ve genellikle daha kolay bir döngü türü vardır: [code]for[/code]" +" (... için) döngüsü.\n" +"\n" +"Bu derste buna bakacağız.\n" +"\n" +"[code]while[/code] döngülerinin aksine, [code]for[/code] döngüleri sonsuza " +"kadar çalışmaz, bu nedenle oyununda hata oluşma olasılığı çok daha düşüktür. " +"[b]Bu nedenle while döngüleri yerine for döngülerini tercih etmeni " +"öneririz[/b].\n" +"\n" +"Yukarıdaki kodu, [code]for[/code] döngüsünü kullanacak şekilde değiştirelim." +"\n" +"\n" +"Aşağıdaki döngü hücre değişkenini, [code]cell[/code], üç kez değiştirecektir." + +#: course/lesson-18-for-loops/lesson.tres:66 +msgid "Let's explain what's going on here." +msgstr "Burada neler olduğunu açıklayalım." + +#: course/lesson-18-for-loops/lesson.tres:74 +msgid "The range() function" +msgstr "range() fonksiyonu" + +#: course/lesson-18-for-loops/lesson.tres:76 +msgid "" +"Godot has the helper function [code]range()[/code]. Calling [code]range(n)[/" +"code] creates a list of numbers from [code]0[/code] to [code]n - 1[/code]. \n" +"\n" +"So calling [code]range(3)[/code] outputs the list of numbers [code][0, 1, 2]" +"[/code], and [code]range(5)[/code] outputs [code][0, 1, 2, 3, 4][/code]." +msgstr "" +"Godot, [code]range()[/code] yardımcı fonksiyonu ile gelir. " +"[code]range(n)[/code] çağrısı, [code]0[/code] ile [code]n - 1[/code] " +"arasında tam sayılardan oluşan bir liste oluşturur.\n" +"\n" +"Yani, [code]range(3)[/code] çağrısı [code][0, 1, 2][/code] sayı listesi, ve " +"[code]range(5)[/code] çağrısı [code][0, 1, 2, 3, 4][/code] sayı listesi " +"çıktılarını verir." + +#: course/lesson-18-for-loops/lesson.tres:86 +msgid "What list of numbers would range(6) create?" +msgstr "range(6) hangi sayı listesini oluşturur?" + +#: course/lesson-18-for-loops/lesson.tres:87 +msgid "What would [code]print(range(6))[/code] print to the console?" +msgstr "[code]print(range(6))[/code] çağrısı, ekrana ne yazdırırdı?" + +#: course/lesson-18-for-loops/lesson.tres:89 +msgid "" +"The function [code]range(n)[/code] creates a list of numbers from [code]0[/" +"code] to [code]n - 1[/code]. The output list will start with [code]0[/code] " +"and end with [code]5[/code].\n" +"\n" +"So calling [code]range(6)[/code] will output a list of six numbers which are " +"[code][0, 1, 2, 3, 4, 5][/code].\n" +msgstr "" +"[code]range(n)[/code] fonksiyonu, [code]0[/code] ile [code]n - 1[/code] " +"arasında bir sayı listesi oluşturur. Çıktı listesi [code]0[/code] ile " +"başlayacak ve [code]5[/code] ile bitecektir.\n" +"\n" +"Bu nedenle [code]range(6)[/code] çağrısı, [code][0, 1, 2, 3, 4, 5][/code] " +"şeklinde altı sayıdan oluşan bir liste çıktısı verecektir.\n" + +#: course/lesson-18-for-loops/lesson.tres:93 +#: course/lesson-18-for-loops/lesson.tres:94 +msgid "[0, 1, 2, 3, 4, 5]" +msgstr "[0, 1, 2, 3, 4, 5]" + +#: course/lesson-18-for-loops/lesson.tres:93 +msgid "[1, 2, 3, 4, 5, 6]" +msgstr "[1, 2, 3, 4, 5, 6]" + +#: course/lesson-18-for-loops/lesson.tres:93 +msgid "[0, 1, 2, 3, 4, 5, 6]" +msgstr "[0, 1, 2, 3, 4, 5, 6]" + +#: course/lesson-18-for-loops/lesson.tres:101 +msgid "How for loops work" +msgstr "for döngüleri nasıl çalışır" + +#: course/lesson-18-for-loops/lesson.tres:103 +msgid "" +"In a [code]for[/code] loop, the computer takes each value inside a list, " +"stores it in a temporary variable, and executes the code in the loop once " +"per value." +msgstr "" +"Bir [code]for[/code] döngüsünde, bilgisayar bir liste içindeki her değeri " +"alır, geçici bir değişkende saklar ve döngüdeki kodu değer başına bir kez " +"çalıştırır." + +#: course/lesson-18-for-loops/lesson.tres:123 +msgid "" +"In the above example, for each item in the list [code][0, 1, 2][/code], " +"Godot sets [code]number[/code] to the item, then executes the code in the " +"[code]for[/code] loop.\n" +"\n" +"We'll explain arrays more throughly in the next lesson, but notice that " +"[code]number[/code] is just a temporary variable. You create it when " +"defining the loop, and the loop takes care of changing its value. Also, you " +"can name this variable anything you want.\n" +"\n" +"This code behaves the same as the previous example:" +msgstr "" +"Yukarıdaki örnekte Godot, [code][0, 1, 2][/code] listesindeki her bir öğe " +"için, [code]number[/code] (sayı) değişkenini o öğeye ayarlar, ve ardından " +"[code]for[/code] döngüsündeki kodu çalıştırır.\n" +"\n" +"Dizileri bir sonraki derste daha ayrıntılı olarak açıklayacağız, ancak " +"[code]number[/code] değişkeninin sadece geçici bir değişken olduğuna dikkat " +"et. Onu, döngüyü tanımlarken oluşturursun, ve onun değerini değiştirmek " +"döngünün görevi olur. Ayrıca, bu değişkene istediğin ismi verebilirsin.\n" +"\n" +"Bu kod, önceki örnekle aynı şekilde davranır:" + +#: course/lesson-18-for-loops/lesson.tres:147 +msgid "" +"In both examples, we print the value of the temporary variable we created: " +"[code]number[/code] in the first example and [code]element[/code] in the " +"second.\n" +"\n" +"As Godot moves through the loop, it assigns each value of the array to that " +"variable. First, it sets the variable to [code]0[/code], then to [code]1[/" +"code], and finally, to [code]2[/code].\n" +"\n" +"We can break down the instructions the loop runs. You can see how a loop is " +"a shortcut to code that otherwise gets very long." +msgstr "" +"Her iki örnekte de, oluşturduğumuz geçici değişkenin değerini yazdırıyoruz: " +"ilk örnekte [code]number[/code] (sayı) ve ikincisinde [code]element[/code] " +"(öğe).\n" +"\n" +"Godot döngüyü yinelerken, dizinin her bir değerini o değişkene atar. İlk " +"olarak değişkeni [code]0[/code], ardından [code]1[/code] ve son olarak " +"[code]2[/code] olarak ayarlar.\n" +"\n" +"Döngünün çalıştırdığı talimatları parçalara ayırabiliriz. Bir döngünün, " +"başka şekilde olsa çok uzun olacak bir kod için, bir kısayol olduğunu " +"görebilirsin." + +#: course/lesson-18-for-loops/lesson.tres:171 +msgid "" +"We can put whatever code we like in the loop's code block, including other " +"function calls like [code]draw_rectangle()[/code]." +msgstr "" +"Döngünün kod gövdesine, [code]draw_rectangle()[/code] gibi diğer fonksiyon " +"çağrıları da dahil olmak üzere, istediğimiz kodu koyabiliriz." + +#: course/lesson-18-for-loops/lesson.tres:179 +msgid "Using a for loop instead of a while loop" +msgstr "while döngüsü yerine, for döngüsü kullanmak" + +#: course/lesson-18-for-loops/lesson.tres:181 +msgid "" +"Here's our old [code]move_to_end()[/code] function which used a [code]while[/" +"code] loop." +msgstr "" +"İşte bizim [code]while[/code] döngüsü kullanan eski " +"[code]move_to_end()[/code] fonksiyonumuz." + +#: course/lesson-18-for-loops/lesson.tres:201 +msgid "" +"If we use a [code]for[/code] loop instead, the code becomes a little simpler." +msgstr "" +"Eğer bunun yerine [code]for[/code] döngüsü kullanırsak, kod biraz daha basit " +"hale gelir." + +#: course/lesson-18-for-loops/lesson.tres:221 +msgid "" +"Rather than constantly checking if the robot reached the end of the board, " +"with the [code]for[/code] loop, we take the board's width beforehand, then " +"move the robot a set amount of times.\n" +"\n" +"The function still works the same. You can execute it below." +msgstr "" +"Robotun tahtanın sonuna ulaşıp ulaşmadığını sürekli kontrol etmek yerine, " +"[code]for[/code] döngüsü kullanarak, tahtanın genişliğini başlarken alıyor, " +"ardından robotu belirli sayıda hareket ettiriyoruz.\n" +"\n" +"Fonksiyon hala aynı şekilde çalışmaktadır. Aşağıda çalıştırabilirsin." + +#: course/lesson-18-for-loops/lesson.tres:243 +msgid "" +"In the practices, we'll use [code]for[/code] loops in different ways to get " +"you used to using them." +msgstr "" +"Alıştırmalarda, [code]for[/code] döngülerini farklı şekillerde kullanarak " +"bunları kullanmaya alışmanı sağlayacağız." + +#: course/lesson-18-for-loops/lesson.tres:251 +msgid "Using a for loop to move to the end of the board" +msgstr "Tahtanın sonuna gitmek için bir for döngüsü kullanmak" + +#: course/lesson-18-for-loops/lesson.tres:252 +msgid "" +"Once again, the robot has decided to stand at the top of the board.\n" +"\n" +"This time, use a [code]for[/code] loop in the [code]move_to_bottom()[/code] " +"function to have it move to the bottom of the board.\n" +"\n" +"The board size is determined by the [code]Vector2[/code] variable " +"[code]board_size[/code].\n" +"\n" +"The robot's starting cell is [code]Vector2(2, 0)[/code]." +msgstr "" +"Robot, bir kez daha, tahtanın tepesinde durmaya karar verdi.\n" +"\n" +"Bu kez, tahtanın altına hareket etmesini sağlamak için " +"[code]move_to_bottom()[/code] fonksiyonunda bir [code]for[/code] döngüsü " +"kullan.\n" +"\n" +"Tahtanın boyutu, [code]Vector2[/code] tipindeki [code]board_size[/code] " +"değişkeni tarafından belirleniyor.\n" +"\n" +"Robotun konumu olan\"cell\" değişkenin, başlangıç değeri olarak " +"[code]Vector2(2, 0)[/code]." + +#: course/lesson-18-for-loops/lesson.tres:268 +msgid "" +"Use a for loop to have our robot move from the top of the board to the " +"bottom." +msgstr "" +"Robotumuzun tahtanın üstünden altına doğru hareket etmesini sağlamak için " +"bir for döngüsü kullan." + +#: course/lesson-18-for-loops/lesson.tres:273 +msgid "Improving code with a for loop" +msgstr "Kodu, bir for döngüsü ile iyileştirmek" + +#: course/lesson-18-for-loops/lesson.tres:274 +msgid "" +"Use a [code]for[/code] loop to remove the duplicate code in the [code]run()[/" +"code] function.\n" +"\n" +"In this practice, we revisit the turtle and drawing rectangles.\n" +"\n" +"With our new knowledge of [code]for[/code] loops, we can condense this code " +"to take up less space and make it easier to modify.\n" +"\n" +"The turtle should draw three squares in a horizontal line. The squares " +"should be 100 pixels apart." +msgstr "" +"[code]run()[/code] fonksiyonundaki tekrarlanan kodu kaldırmak için bir " +"[code]for[/code] döngüsü kullan.\n" +"\n" +"Bu alıştırmada kaplumbağa ve dikdörtgen çizme konusunu tekrar ele alıyoruz.\n" +"\n" +"[code]for[/code] döngüleri hakkındaki yeni bilgilerimizle, bu kodu daha az " +"yer kaplayacak ve daha kolay değiştirilebilecek şekilde kısaltabiliriz.\n" +"\n" +"Kaplumbağa yatay bir çizgide üç kare çizmelidir. Kareler 100 piksel aralıklı " +"olmalıdır." + +#: course/lesson-18-for-loops/lesson.tres:297 +msgid "" +"In the past we had to copy and paste code to draw multiple rectangles. Let's " +"revisit previous code and improve it with a for loop." +msgstr "" +"Geçmişte, birden fazla dikdörtgen çizmek için kodu kopyalayıp yapıştırarak " +"çoğaltmamız gerekiyordu. Önceki kodu tekrar gözden geçirelim ve bir for " +"döngüsü ile geliştirelim." + +#: course/lesson-18-for-loops/lesson.tres:301 +msgid "Introduction to For Loops" +msgstr "For Döngülerine Giriş" diff --git a/i18n/tr/lesson-19-creating-arrays.po b/i18n/tr/lesson-19-creating-arrays.po new file mode 100644 index 00000000..43825db2 --- /dev/null +++ b/i18n/tr/lesson-19-creating-arrays.po @@ -0,0 +1,303 @@ +# 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 , 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-14 21:12+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-19-creating-arrays/lesson.tres:13 +msgid "" +"The [code]range()[/code] function we saw in the previous lesson outputs a " +"list of numbers. For example, calling [code]range(3)[/code] produces the " +"list of numbers [code][0, 1, 2][/code]." +msgstr "" +"Önceki derste gördüğümüz [code]range()[/code] fonksiyonu, bir sayı listesi " +"çıktısı verir. Örneğin, [code]range(3)[/code] çağrısı, [code][0, 1, 2][/code]" +" sayı listesini üretir." + +#: course/lesson-19-creating-arrays/lesson.tres:33 +msgid "" +"A list of values, numbers or otherwise, has a precise name in code: we call " +"it an [i]array[/i]. So we can say calling the [code]range()[/code] function " +"produces an [i]array[/i] of numbers.\n" +"\n" +"We could directly write and use that array inside our [code]for[/code] loop " +"instead of the [code]range()[/code] function. You can run the next function " +"step-by-step to see how it works." +msgstr "" +"Sayı ya da başka tipte değerlerden oluşan bir listenin kodlamada özel bir " +"ismi var: buna [i]dizi[/i] diyoruz. Yani, [code]range()[/code] fonksiyonunu " +"çağırmanın sayılardan oluşan bir [i]dizi[/i] ürettiğini söyleyebiliriz.\n" +"\n" +"Böyle diziyi, [code]range()[/code] fonksiyonu yerine, doğrudan " +"[code]for[/code] döngümüzün içine yazabilir ve kullanabiliriz. Nasıl " +"çalıştığını görmek için bir sonraki fonksiyonu adım adım çalıştırabilirsin." + +#: course/lesson-19-creating-arrays/lesson.tres:55 +msgid "" +"As you can see, the code still works the same. Notice that when we create a " +"[code]for[/code] loop, we also create a local variable to which the loop " +"assigns one value per iteration. Above, we named it [code]number[/code] " +"because the array we loop over contains three numbers (0, 1, and 2).\n" +"\n" +"But we could name it anything we'd like!" +msgstr "" +"Gördüğün gibi, kod hala aynı şekilde çalışıyor. Bir [code]for[/code] döngüsü " +"oluşturduğumuzda, döngünün her yineleme için yeni bir değer atadığı bir " +"yerel değişken de oluşturduğumuza dikkat et. Yukarıda, üzerinde döngü " +"yaptığımız dizi üç sayı (0, 1 ve 2) içerdiği için bu değişkene " +"[code]number[/code] adını verdik.\n" +"\n" +"Ama ona istediğimiz ismi verebilirdik!" + +#: course/lesson-19-creating-arrays/lesson.tres:77 +msgid "" +"If we \"unwrap\" the [code]for[/code] loop above, we'd get the following " +"code with the exact same behaviour:" +msgstr "" +"Eğer yukarıdaki [code]for[/code] döngüsünü \"açarsak\", tamamen aynı " +"davranışa sahip aşağıdaki kodu elde ederiz:" + +#: course/lesson-19-creating-arrays/lesson.tres:95 +msgid "The syntax of arrays" +msgstr "Dizilerin sözdizimi" + +#: course/lesson-19-creating-arrays/lesson.tres:97 +msgid "We write arrays this way in GDScript." +msgstr "GDScript'te, dizileri bu şekilde yazıyoruz." + +#: course/lesson-19-creating-arrays/lesson.tres:117 +msgid "" +"You start with an opening square bracket. Then, you write comma-separated " +"values that compose the array. Finally, you need a closing square bracket to " +"complete the array.\n" +"\n" +"Here are a couple of valid arrays. Notice how you can mix values, and how " +"they don't need to follow one another." +msgstr "" +"Açılan köşeli parantez ile başlarsın. Ardından, diziyi oluşturan değerleri, " +"virgülle ayırıp yazarsın. Son olarak, diziyi tamamlamak için bir kapanan " +"köşeli paranteze ihtiyacın var.\n" +"\n" +"İşte birkaç tane geçerli dizi örneği. Değerleri karışık verebileceğine ve " +"sıralı olmaları gerekmediğine dikkat et." + +#: course/lesson-19-creating-arrays/lesson.tres:139 +msgid "" +"Because arrays themselves are a value type, just like numbers or " +"[code]Vector2[/code], we can assign arrays to variables to reaccess them " +"later.\n" +"\n" +"That'll come in handy in the next lesson, where we'll use those variables in " +"loops." +msgstr "" +"Dizilerin kendileri de, tıpkı sayılar ve [code]Vector2[/code] gibi bir değer " +"tipi olduğundan, bunlara daha sonra yeniden erişmek için değişkenlere " +"atayabiliriz.\n" +"\n" +"Bu değişkenler, onları döngülerin içinde kullanacağımız sonraki dersimizde " +"çok işimize yarayacak." + +#: course/lesson-19-creating-arrays/lesson.tres:161 +msgid "But first, let's see [i]when[/i] you'd use an array." +msgstr "Ama önce bir diziyi [i]ne zaman[/i] kullanacağınızı görelim." + +#: course/lesson-19-creating-arrays/lesson.tres:169 +msgid "When you use arrays" +msgstr "Dizileri ne zaman kullanırsın" + +#: course/lesson-19-creating-arrays/lesson.tres:171 +msgid "" +"In computer programming, we use arrays [i]all the time[/i].\n" +"\n" +"Precisely, you'll use them whenever you need to store a [i]list of things[/" +"i].\n" +"\n" +"You always need lists of things in games:\n" +"\n" +"- The player's party in an RPG.\n" +"- The items in the player's inventory.\n" +"- The high scores in an arcade game.\n" +"- The objects in the game world.\n" +"\n" +"All of those and many more rely on arrays." +msgstr "" +"Bilgisayar programlamada, [i]dizilerini her zaman[/i] kullanırız.\n" +"\n" +"Kesin olmak gerekirse, [i]bir şeylerin listesi[/i]'ni saklaman gerektiğinde " +"bunları kullanacaksın.\n" +"\n" +"Oyunlarda her zaman listelere ihtiyaç duyarsın:\n" +"\n" +"- Bir RPG'de (rol yapma oyunu) oyuncunun takımı.\n" +"- Oyuncunun deposundaki eşyalar.\n" +"- Bir arcade (salon tarzı) oyunundaki yüksek skorlar.\n" +"- Oyun dünyası içindeki nesneler.\n" +"\n" +"Bunların hepsi ve daha fazlası dizilere bel bağlar." + +#: course/lesson-19-creating-arrays/lesson.tres:190 +msgid "Using arrays to follow a path" +msgstr "Bir yolu takip etmek için dizileri kullanmak" + +#: course/lesson-19-creating-arrays/lesson.tres:192 +msgid "" +"Let's look at a widespread use of arrays in games: finding and following a " +"path.\n" +"\n" +"In games, you need allies or monsters to find their way to their target, " +"whether it's the player or some point of interest.\n" +"\n" +"To achieve that, we use [i]pathfinding algorithms[/i]. As the name suggests, " +"those algorithms find the path between two points and allow AIs to traverse " +"the game." +msgstr "" +"Dizilerin, oyunlardaki yaygın bir kullanımına bakalım: bir yolu bulmak ve " +"onu takip etmek.\n" +"\n" +"Oyunlarda, müttefik oyuncular veya canavarların, hedeflerine giden yolu, " +"mesela oyuncuya yada ilgi çekici bir noktaya doğru, bulmalarına ihtiyacın " +"vardır.\n" +"\n" +"Bunu başarmak için [i]yol-bulma algoritmaları [/i] kullanıyoruz. Adından da " +"anlaşılacağı gibi, bu algoritmalar iki nokta arasındaki yolu bulur, ve " +"AI'ların (yapay zeka, Artificial Intelligence) oyunda dolaşmasına olanak " +"sağlar." + +#: course/lesson-19-creating-arrays/lesson.tres:216 +msgid "" +"Many of those algorithms use arrays of [code]Vector2[/code] coordinates to " +"represent the path.\n" +"\n" +"Take this turtle pet. It wants to follow the robot, but there are rocks in " +"the way.\n" +"\n" +"How can we tell it where to walk to reach the robot? With an array!" +msgstr "" +"Bu algoritmaların çoğu, yolu temsil etmek için [code]Vector2[/code] tipinde " +"konum dizilerini kullanır.\n" +"\n" +"Bu evcil kaplumbağayı ele alalım. Robotu takip etmek istiyor ama önünde " +"kayalar var.\n" +"\n" +"Robota ulaşmak için nereden yürümesi gerektiğini nasıl söyleyebiliriz? Bir " +"dizi ile!" + +#: course/lesson-19-creating-arrays/lesson.tres:250 +msgid "" +"Every value in the array is a [code]Vector2[/code] and represents a cell the " +"turtle needs to walk through.\n" +"\n" +"Together, all the values in the array represent a path we can draw." +msgstr "" +"Dizideki her değer bir [code]Vector2[/code] değeridir ve kaplumbağanın " +"geçmesi gereken bir hücreyi temsil eder.\n" +"\n" +"Birlikte, dizideki değerlerin tümü bize, çizebileceğimiz bir yolu gösterir." + +#: course/lesson-19-creating-arrays/lesson.tres:272 +msgid "" +"In upcoming lessons, you will see how we can use arrays to store player " +"inventories or design attack combos.\n" +"\n" +"For now, let's practice creating arrays." +msgstr "" +"İlerleyen derslerde, oyuncunun eşya deposunu tutmak veya birleşik saldırılar " +"tasarlamak için dizileri nasıl kullanabileceğimizi göreceksin.\n" +"\n" +"Ama şimdilik, dizi oluşturma alıştırması yapalım." + +#: course/lesson-19-creating-arrays/lesson.tres:282 +msgid "Walking to the robot" +msgstr "Robota doğru yürümek" + +#: course/lesson-19-creating-arrays/lesson.tres:283 +msgid "" +"The turtle wants to meet the robot! But it cannot find it on its own.\n" +"\n" +"Fill the [code]turtle_path[/code] array with [code]Vector2[/code] " +"coordinates indicating where the turtle should move to avoid the obstacles " +"and arrive safely to the robot.\n" +"\n" +"The turtle can move up, down, left, or right. It cannot move diagonally.\n" +"\n" +"We recommend copying and pasting to fill the array with comma-separated " +"[code]Vector2[/code] values quickly." +msgstr "" +"Kaplumbağa, robotla tanışmak istiyor! Ama onu kendi başına bulamaz.\n" +"\n" +"[code]turtle_path[/code] dizisini, kaplumbağanın engellerden kaçınmak ve " +"robota güvenli bir şekilde ulaşmak için nereye hareket etmesi gerektiğini " +"gösteren [code]Vector2[/code] koordinatlarıyla doldur.\n" +"\n" +"Kaplumbağa yukarı, aşağı, sola veya sağa hareket edebilir. Ancak çapraz " +"hareket edemez.\n" +"\n" +"Diziyi virgülle ayrılmış [code]Vector2[/code] değerleriyle hızlı bir şekilde " +"doldurmak için, kopyala-yapıştır yapmanı öneririz." + +#: course/lesson-19-creating-arrays/lesson.tres:298 +msgid "" +"Help the turtle find its way to the robot! Give it a path to follow to reach " +"the robot." +msgstr "" +"Kaplumbağanın robota giden yolu bulmasına yardım et! Robota ulaşmak için, " +"izlemesi gereken bir yol ver." + +#: course/lesson-19-creating-arrays/lesson.tres:303 +msgid "Selecting units" +msgstr "Birimlerin seçilmesi" + +#: course/lesson-19-creating-arrays/lesson.tres:304 +msgid "" +"In this tactical game, the player and computer can select multiple units at " +"once. You need to call the [code]select_units()[/code] function and pass it " +"an array of [code]Vector2[/code] coordinates to know which units to select.\n" +"\n" +"Each [code]Vector2[/code] in the array represents a cell with a unit.\n" +"\n" +"You can pass arrays in function calls as arguments. As an array is a value " +"type the computer recognizes, you can pass the whole array as a single " +"function argument.\n" +"\n" +"Select all units on the board by passing the correct array to the " +"[code]select_units()[/code] function." +msgstr "" +"Bu taktiksel oyunda, oyuncu ve bilgisayar aynı anda birden fazla birim " +"seçebilir. Hangi birimlerin seçileceğini bilmek için, " +"[code]select_units()[/code] fonksiyonunu çağırman ve ona [code]Vector2[/code]" +" konumlarında oluşan bir dizi vermen gerekiyor.\n" +"\n" +"Dizideki her bir [code]Vector2[/code] değeri, bir hücreyi temsil eder.\n" +"\n" +"Dizileri fonksiyon çağrılarında girilen değişken olarak geçirebilirsin. Bir " +"dizi, bilgisayarın tanıdığı bir değer tipi olduğundan, tüm diziyi tek bir " +"girdi değişkeni olarak geçirebilirsin.\n" +"\n" +"[code]select_units()[/code] fonksiyonuna doğru diziyi geçirerek panodaki tüm " +"birimleri seç. (birimlerin durduğu hücrelerin konum sayılarını, diğer " +"sayılara bakıp çıkarabilirsin)." + +#: course/lesson-19-creating-arrays/lesson.tres:320 +msgid "Write an array to select all units on the board in this strategy game." +msgstr "Bu strateji oyununda, tüm birimleri seçmek için bir dizi yaz." + +#: course/lesson-19-creating-arrays/lesson.tres:324 +msgid "Creating arrays" +msgstr "Diziler oluşturmak" diff --git a/i18n/tr/lesson-2-your-first-error.po b/i18n/tr/lesson-2-your-first-error.po new file mode 100644 index 00000000..48e253ac --- /dev/null +++ b/i18n/tr/lesson-2-your-first-error.po @@ -0,0 +1,187 @@ +# 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 , 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-10 17:52+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-2-your-first-error/lesson.tres:14 +msgid "" +"When you program, you are bound to run into errors. Tons of them.\n" +"\n" +"But you shouldn't worry! On the computer, [b]errors are a good thing[/b].\n" +"\n" +"You will encounter errors, and [i]that's okay[/i]: every programmer does. " +"Especially professionals.\n" +"\n" +"At school, maybe you learned that mistakes are a bad thing. When you code " +"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" +"\n" +"Ama merak etme! 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" +"\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." + +#: 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." + +#: course/lesson-2-your-first-error/lesson.tres:48 +msgid "Making errors friendlier" +msgstr "Hataları, dost canlısı yapmak" + +#: course/lesson-2-your-first-error/lesson.tres:50 +msgid "" +"Error messages can look a bit cryptic. This is because they're designed by " +"programmers, for trained programmers.\n" +"\n" +"We added an error translator in this app that will help you get started.\n" +"\n" +"It shows you why an error happens and what the message means. It also gives " +"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" +"\n" +"Bu uygulamaya, başlamana 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." + +#: course/lesson-2-your-first-error/lesson.tres:74 +msgid "" +"Error messages are designed on purpose by fellow programmers who came before " +"you. They anticipated you might have specific issues and wanted to help you " +"fix them.\n" +"\n" +"You shouldn't think of errors as failures. They are like mentors helping you " +"from the past. Importantly, errors won't break your computer. At least not " +"with GDScript because it's a pretty safe language.\n" +"\n" +"Ultimately, you want to fix all the errors in your program. Understanding " +"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 " +"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" +"\n" +"Eninde sonunda, programındaki tüm hataları düzeltmek isteyeceksin. Hata " +"bildirimlerinin yardımıyla, hataların sebebini anlamak, onları düzeltmenin " +"anahtarıdır." + +#: course/lesson-2-your-first-error/lesson.tres:86 +msgid "Are error messages a good or a bad thing in code?" +msgstr "Kodundaki hata bildirimleri iyi mi, yoksa kötü mü?" + +#: course/lesson-2-your-first-error/lesson.tres:89 +msgid "" +"Yes, error messages are here to help you!\n" +"\n" +"Pay attention to them, and do your best to read and understand them. With " +"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" +"\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." + +#: course/lesson-2-your-first-error/lesson.tres:92 +msgid "They're bad: error messages are always bad." +msgstr "Onlar kötü: hata mesajları her zaman kötüdür." + +#: course/lesson-2-your-first-error/lesson.tres:92 +#: course/lesson-2-your-first-error/lesson.tres:93 +msgid "They're good: they're here to help." +msgstr "Onlar iyi: bize yardım etmek için buradalar." + +#: course/lesson-2-your-first-error/lesson.tres:102 +msgid "" +"Okay, let's see an error in action. Once again, click the [i]Practice[/i] " +"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ş." + +#: course/lesson-2-your-first-error/lesson.tres:110 +msgid "Fix Your First Error" +msgstr "İlk Hatanı Düzelt" + +#: course/lesson-2-your-first-error/lesson.tres:111 +msgid "" +"This code is incorrect and will cause an error when you try to run it.\n" +"\n" +"The code defines an empty function named [code]this_code_is_wrong[/code].\n" +"\n" +"To work, the function should use the [code]return[/code] keyword. But this " +"keyword is currently inside a comment, which the computer ignores.\n" +"\n" +"Test the current code by pressing the [i]Run[/i] button.\n" +"\n" +"Then, remove the comment sign (#) to make the code valid.\n" +"\n" +"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" +"\n" +"Bu kod içerisinde, [code]this_code_is_wrong[/code] (anlamı \"bu kod hatalı\")" +" isimli boş bir fonksiyonu tanımlıyor.\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" +"\n" +"Sonra, kodu geçerli yapmak için yorum işaretini (#) sil.\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." + +#: 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!" + +#: course/lesson-2-your-first-error/lesson.tres:135 +msgid "Your First Error" +msgstr "İlk Hatan" diff --git a/i18n/tr/lesson-20-looping-over-arrays.po b/i18n/tr/lesson-20-looping-over-arrays.po new file mode 100644 index 00000000..b41fabcd --- /dev/null +++ b/i18n/tr/lesson-20-looping-over-arrays.po @@ -0,0 +1,313 @@ +# 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 , 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: 2022-03-26 17:50+0100\n" +"PO-Revision-Date: 2023-07-14 21:12+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-20-looping-over-arrays/lesson.tres:14 +msgid "" +"We used the [code]range()[/code] function in combination with " +"[code]for[/code] loops." +msgstr "" +"[code]range()[/code] fonksiyonunu, [code]for[/code] döngüleri ile birlikte " +"kullanmıştık." + +#: course/lesson-20-looping-over-arrays/lesson.tres:34 +msgid "" +"The [code]range()[/code] function produced an array that the " +"[code]for[/code] keyword could loop over.\n" +"\n" +"We can give [code]for[/code] loops [i]any[/i] array, and they will loop " +"over them just the same.\n" +"\n" +"Instead of using the [code]range()[/code] function, we could manually " +"write the numbers and get the same result." +msgstr "" +"[code]range()[/code] fonksiyonu, [code]for[/code] anahtar kelimesinin " +"üzerinde döngü kurabileceği bir dizi üretiyor.\n" +"\n" +"[code]for[/code] döngülerine, [i]herhangi bir[/i] dizi verirsek, bunlar " +"üzerinde de aynı şekilde döngü kurulacaktır.\n" +"\n" +"[code]range()[/code] fonksiyonunu kullanmak yerine, sayıları elle yazabilir " +"ve aynı sonucu elde edebilirdik." + +#: course/lesson-20-looping-over-arrays/lesson.tres:58 +msgid "" +"For each element inside the array, the [code]for[/code] loop extracts it," +" stores it in the temporary variable named [code]number[/code], and " +"executes the loop's code once.\n" +"\n" +"Inside the loop, you can access the [code]number[/code] variable, which " +"changes on each [i]iteration[/i].\n" +"\n" +"The code works regardless of the array or where you store it. Often, you " +"will store arrays in variables for easy access." +msgstr "" +"Bir dizinin içindeki her bir öğe için, [code]for[/code] döngüsü bu öğeyi " +"alır, [code]number[/code] isimli geçici değişkende saklar, ve döngü kodunu " +"bir kez çalıştırır.\n" +"\n" +"Döngünün içinde, her [i]yinelemede[/i] değişen bu [code]number[/code] " +"değişkenine erişebilirsin.\n" +"\n" +"Kod, diziden veya onu nerede sakladığına bakmadan çalışır. Genellikle, kolay " +"erişim için dizileri değişkenlerde saklarsın." + +#: course/lesson-20-looping-over-arrays/lesson.tres:80 +msgid "What will this code print?" +msgstr "Bu kod ne yazdıracak?" + +#: course/lesson-20-looping-over-arrays/lesson.tres:81 +msgid "" +"[code]var numbers = [0, 1, 2]\n" +"for number in numbers:\n" +" print(number)\n" +"[/code]" +msgstr "" +"[code]var numbers = [0, 1, 2]\n" +"for number in numbers:\n" +" print(number)\n" +"[/code]" + +#: course/lesson-20-looping-over-arrays/lesson.tres:86 +msgid "" +"Compared to previous examples, we store the array in the " +"[code]numbers[/code] variable. Using the [code]numbers[/code] variable in" +" our [code]for[/code] loop allows the computer to access the array of " +"numbers like before.\n" +"\n" +"We have three numbers in the array: [code]0[/code], [code]1[/code], and " +"[code]2[/code].\n" +"\n" +"The loop extracts each of them sequentially and assigns it to the " +"[code]number[/code] temporary variable. As the loop processes each " +"number, the output will print [code]0[/code], then [code]1[/code], then " +"[code]2[/code], each on a separate line." +msgstr "" +"Önceki örneklerle karşılaştırırsak, diziyi [code]numbers[/code] değişkeninde " +"saklıyoruz. [code]for[/code] döngümüzde [code]numbers[/code] değişkenini " +"kullanmak, bilgisayarın sayı dizisine daha önce olduğu gibi erişmesini " +"sağlar.\n" +"\n" +"Dizide üç tane sayımız var: [code]0[/code], [code]1[/code], ve " +"[code]2[/code].\n" +"\n" +"Döngü bunların her birini sırayla çıkarır ve [code]number[/code] geçici " +"değişkenine atar. Döngü her bir sayıyı işledikçe, çıktıya, her biri ayrı bir " +"satırda olacak şekilde, ilk başta [code]0[/code], sonra [code]1[/code], ve " +"en son [code]2[/code] yazdırılır." + +#: course/lesson-20-looping-over-arrays/lesson.tres:91 +#: course/lesson-20-looping-over-arrays/lesson.tres:92 +msgid "0, 1, and 2" +msgstr "0, 1 ve 2" + +#: course/lesson-20-looping-over-arrays/lesson.tres:91 +msgid "1, 2, and 3" +msgstr "1, 2 ve 3" + +#: course/lesson-20-looping-over-arrays/lesson.tres:91 +msgid "0, 0, and 0" +msgstr "0, 0 ve 0" + +#: course/lesson-20-looping-over-arrays/lesson.tres:99 +msgid "Making the turtle walk, with a loop" +msgstr "Kaplumbağayı, bir döngü kullanarak yürütmek" + +#: course/lesson-20-looping-over-arrays/lesson.tres:101 +msgid "" +"In the previous lesson, you made a turtle walk along a path by writing " +"[code]Vector2[/code] coordinates in an array." +msgstr "" +"Bir önceki derste, [code]Vector2[/code] konumlarını bir diziye yazarak, bir " +"kaplumbağanın bir yol boyunca yürümesini sağladın." + +#: course/lesson-20-looping-over-arrays/lesson.tres:121 +msgid "" +"It's a [code]for[/code] loop that makes the turtle walk along the path.\n" +"\n" +"The loop works like this: for each coordinate in the array, it moves the " +"turtle once to that cell." +msgstr "" +"Kaplumbağanın yol boyunca yürümesini sağlayan, bir [code]for[/code] " +"döngüsüdür.\n" +"\n" +"Döngü şu şekilde çalışır: dizideki her konum için, kaplumbağayı o hücreye " +"taşır." + +#: course/lesson-20-looping-over-arrays/lesson.tres:143 +msgid "It's the same principle with unit selection." +msgstr "Birimlerin seçiminde de aynı ilke geçerli." + +#: course/lesson-20-looping-over-arrays/lesson.tres:163 +msgid "" +"For each coordinate in an array named [code]selected_units[/code], we " +"check if there is a unit in that cell. If so, we select it. \n" +"\n" +"In that case, we use an array, a loop, and a condition together." +msgstr "" +"[code]selected_units[/code] (seçili_birimler) adlı dizideki her konum için, " +"o hücrede bir birimin olup olmadığını kontrol ederiz. Eğer varsa, onu " +"seçeriz.\n" +"\n" +"Bu durumda, bir dizi, bir döngü ve bir koşulu birlikte kullanırız." + +#: course/lesson-20-looping-over-arrays/lesson.tres:185 +msgid "" +"The code above uses several features you haven't learned yet:\n" +"\n" +"- In a condition, the [code]in[/code] keyword allows you to check if a " +"value exists [i]in[/i] an array.\n" +"- The array's [code]append()[/code] function appends a new value at the " +"end of the array.\n" +"\n" +"Notice the use of a period after the [code]selected_units[/code] " +"variable, to call the [code]append()[/code] function. It's because this " +"function exists only on arrays.\n" +"\n" +"When functions exist only on a specific value type, you write a dot after" +" the value to call the function on it.\n" +"\n" +"We'll revisit those two features again in the following lessons." +msgstr "" +"Yukarıdaki kod, henüz öğrenmediğin birkaç özelliği kullanıyor:\n" +"\n" +"- Bir koşul yazımında, [code]in[/code] anahtar kelimesi, bir değerin, bir " +"dizinin [i]içinde[/i] var olup olmadığını kontrol etmeni sağlar.\n" +"- Dizinin [code]append()[/code] üye fonksiyonu, dizinin sonuna yeni bir " +"değer ekler.\n" +"\n" +"[code]append()[/code] fonksiyonunu çağırmak için, [code]selected_units[/code]" +" değişkeninden sonra bir nokta kullanıldığına dikkat et. Bunun nedeni, bu " +"fonksiyonun yalnızca dizilerde bulunmasıdır.\n" +"\n" +"Fonksiyonlar, eğer yalnızca belirli bir değer tipinde mevcut ise, fonksiyonu " +"bu değer üzerinden çağırmak için, değerden sonra bir nokta yazarsın.\n" +"\n" +"Bu iki özelliği, ilerleyen derslerde tekrar gözden geçireceğiz." + +#: course/lesson-20-looping-over-arrays/lesson.tres:204 +msgid "" +"The beauty of loops is that they work regardless of the size of your " +"arrays. \n" +"\n" +"The code just works whether you have one or ten thousand units to select." +" It is all accomplished with only a couple lines of code.\n" +"\n" +"That's the power of computer programming.\n" +"\n" +"In the following practices, you will use arrays combined with " +"[code]for[/code] loops to achieve similar results." +msgstr "" +"Döngülerin güzelliği, dizilerinizin boyutundan bağımsız olarak çalışmasıdır." +"\n" +"\n" +"Kod, seçilecek bir veya on bin birimin olsa da çalışır. Tüm bunlar sadece " +"birkaç satır kod ile gerçekleştirilir.\n" +"\n" +"Bu bilgisayar programcılığının gücüdür.\n" +"\n" +"Sıradaki alıştırmalarda, benzer sonuçlar elde etmek için, [code]for[/code] " +"döngüleriyle birlikte dizileri kullanacaksın." + +#: course/lesson-20-looping-over-arrays/lesson.tres:218 +msgid "Move the robot along the path" +msgstr "Robotu , verilen yol boyunca hareket ettir" + +#: course/lesson-20-looping-over-arrays/lesson.tres:219 +msgid "" +"Our AI pathfinding algorithm provided a path for the robot to move to the" +" right edge of the grid. Your task is to use a [code]for[/code] loop to " +"make the robot move.\n" +"\n" +"To move the robot, call [i]its[/i] [code]move_to()[/code] function, like " +"so: [code]robot.move_to()[/code].\n" +"\n" +"The [code]move_to()[/code] function only exists on the robot, which is " +"why you need to access it this way." +msgstr "" +"Yapay zeka yol bulma algoritmamız, robotun ızgaranın sağ kenarına gitmesi " +"için bir yol verdi. Senin görevin, robotu hareket ettirmek için bir " +"[code]for[/code] döngüsü kullanmak.\n" +"\n" +"Robotu hareket ettirmek için, onun [i]kendi[/i] [code]move_to()[/code] " +"fonksiyonunu şu şekilde çağır: [code]robot.move_to()[/code].\n" +"\n" +"[code]move_to()[/code] fonksiyonu sadece robot üzerinde mevcuttur, bu yüzden " +"bu şekilde erişmen gerekiyor." + +#: course/lesson-20-looping-over-arrays/lesson.tres:235 +msgid "" +"Our AI pathfinding algorithm is giving us a path to move the robot. Now, " +"you need to make the turtle move along the path." +msgstr "" +"Yapay zeka yol bulma algoritmamız bize robotu hareket ettirmek için bir yol " +"verdi. Şimdi, kaplumbağayı, bu yol boyunca hareket ettirmen gerekiyor." + +#: course/lesson-20-looping-over-arrays/lesson.tres:240 +msgid "Back to the drawing board" +msgstr "Çizim tahtasına geri dönüş" + +#: course/lesson-20-looping-over-arrays/lesson.tres:241 +msgid "" +"We want to draw many rectangles, something surprisingly common in games.\n" +"\n" +"However, writing this code by hand can get tedious. Instead, you could " +"store the size of your shapes in arrays and use a loop to draw them all " +"in batches.\n" +"\n" +"That's what you'll do in this practice.\n" +"\n" +"Use a [code]for[/code] loop to draw every rectangle in the " +"[code]rectangle_sizes[/code] array with the [code]draw_rectangle()[/code]" +" function.\n" +"\n" +"The rectangles shouldn't overlap or cross each other. To avoid that, " +"you'll need to call the [code]jump()[/code] function." +msgstr "" +"Oyunlarda, şaşırtıcı derecede yaygın olan, çok sayıda dikdörtgen çizmek " +"istiyoruz.\n" +"\n" +"Ancak bu kodu elle yazmak sıkıntılı olabilir. Bunun yerine, şekillerinin " +"boyutlarını dizilerde saklayabilir, ve hepsini toplu olarak çizmek için bir " +"döngü kullanabilirsin.\n" +"\n" +"Bu uygulamada yapacağın şey tam da bu.\n" +"\n" +"[code]draw_rectangle()[/code] fonksiyonu ile [code]rectangle_sizes[/code] " +"dizisindeki her bir dikdörtgeni çizmek için bir [code]for[/code] döngüsü " +"kullan.\n" +"\n" +"Dikdörtgenler üst üste gelmemeli veya birbirini kesmemelidir. Bunu önlemek " +"için [code]jump()[/code] fonksiyonunu da çağırman gerek. (Ayrıca, " +"Vector2'nin x ve y değerlerini tuttuğunu hatırla)." + +#: course/lesson-20-looping-over-arrays/lesson.tres:261 +msgid "" +"The drawing turtle makes its comeback. Fear not! Armed with loops, you'll" +" make it draw faster than ever before." +msgstr "" +"Çizim kaplumbağası aramıza dönüyor. Ama korkma! Döngülerle donanmış olarak, " +"her zamankinden daha hızlı çizmesini sağlayacaksın." + +#: course/lesson-20-looping-over-arrays/lesson.tres:265 +msgid "Looping over arrays" +msgstr "Diziler üzerinde döngü kurmak" diff --git a/i18n/tr/lesson-21-strings.po b/i18n/tr/lesson-21-strings.po new file mode 100644 index 00000000..2051e050 --- /dev/null +++ b/i18n/tr/lesson-21-strings.po @@ -0,0 +1,219 @@ +# 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 , 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-13 20:14+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-21-strings/lesson.tres:14 +msgid "" +"Throughout this course, we've mostly stored numbers in variables. But what " +"if we wanted to store a player's name?\n" +"\n" +"This is where strings help us.\n" +"\n" +"Strings are instrumental in games and applications. We use them to display " +"information such as the description of a spell or the name of a character." +msgstr "" +"Şimdiye kadar, değişkenlerin içinde çoğunlukla sayıları sakladık. Peki ya " +"bir oyuncunun ismini saklamak istersek?\n" +"\n" +"İşte bu noktada dizeler bize yardımcı olur.\n" +"\n" +"Dizeler oyunlarda ve uygulamalarda önemli bir yere sahiptir. Bunları bir " +"büyü açıklaması veya bir karakterin ismi gibi bilgileri görüntülemek için " +"kullanırız." + +#: course/lesson-21-strings/lesson.tres:36 +msgid "What are strings" +msgstr "Dizeler nedir" + +#: course/lesson-21-strings/lesson.tres:38 +msgid "" +"A [code]String[/code] is a value type which holds text. To create a " +"[code]String[/code], you write text wrapped in quotation marks ([code]\"\"[/" +"code]). For example: [code]\"This is a text string.\"[/code]\n" +"\n" +"The quotation marks differentiate strings from other value types and " +"function names.\n" +"\n" +"You may remember we've used strings before in previous lessons." +msgstr "" +"Bir [code]dize[/code], metin değerleri tutan bir değer tipidir. Bir " +"[code]dize[/code] oluşturmak için, tırnak işaretleri ([code]\"\"[/code]) " +"içine alınmış bir metin yazarsın. Örneğin: [code]\"Bu bir metin dizedir.\"" +"[/code]\n" +"\n" +"Tırnak işaretleri, dizeleri diğer değer tiplerinden ve fonksiyon " +"isimlerinden ayırır.\n" +"\n" +"Daha önceki derslerde dizeleri kullandığımızı hatırlayabilirsin. (hmm, " +"galiba o kısmı kaldırmıştık)." + +#: course/lesson-21-strings/lesson.tres:62 +msgid "" +"Under the hood, strings are arrays of characters. In fact, we can use a " +"[code]for[/code] loop to loop through the characters of a [code]String[/" +"code] as we would with any other array." +msgstr "" +"Kaputun altında, stringler karakter dizileridir. Aslında, bir " +"[code]for[/code] döngüsünü kullanarak [code]dizenin[/code] karakterleri " +"içinden, diğer dizilerde olduğu gibi, döngü yapabiliriz." + +#: course/lesson-21-strings/lesson.tres:80 +msgid "Which of these are strings?" +msgstr "Bunlardan hangileri birer dizedir?" + +#: course/lesson-21-strings/lesson.tres:83 +msgid "" +"[code]\"1\"[/code] and [code]\"name\"[/code] are strings.\n" +"\n" +"[code]\"1\"[/code] only contains a character and [i]doesn't[/i] represent " +"the number [code]1[/code].\n" +"\n" +"[code]\"name\"[/code] is made up of four different characters." +msgstr "" +"[code]\"1\"[/code] ve [code]\"isim\"[/code] birer dizedir.\n" +"\n" +"[code]\"1\"[/code] yalnızca bir karakter içerir, ve bu [code]1[/code] " +"sayısını[i]temsil etmez[/i].\n" +"\n" +"[code]\"isim\"[/code] dört farklı karakterden oluşur." + +#: course/lesson-21-strings/lesson.tres:88 +msgid "1" +msgstr "1" + +#: course/lesson-21-strings/lesson.tres:88 +#: course/lesson-21-strings/lesson.tres:89 +msgid "\"1\"" +msgstr "\"1\"" + +#: course/lesson-21-strings/lesson.tres:88 +#: course/lesson-21-strings/lesson.tres:89 +msgid "\"name\"" +msgstr "\"isim\"" + +#: course/lesson-21-strings/lesson.tres:96 +msgid "Why we use strings" +msgstr "Neden dizeleri kullanıyoruz" + +#: course/lesson-21-strings/lesson.tres:118 +msgid "" +"Every piece of text you see in this app is a string that Godot is displaying " +"for us.\n" +"\n" +"Much like how [code]Vector2[/code] variables make calculations easier, " +"[code]string[/code] variables come with many helper functions and tricks we " +"can use.\n" +"\n" +"We can use arrays to store strings too. This is useful for chaining " +"animations. In this example, the [code]play_animation()[/code] plays a " +"specific animation." +msgstr "" +"Bu uygulamada gördüğün her yazı parçası, Godot'nun bizim için görüntülediği " +"bir dizedir.\n" +"\n" +"Tıpkı [code]Vector2[/code] değişkenlerinin hesaplamaları kolaylaştırması " +"gibi, [code]dize[/code] değişkenleri de kullanabileceğimiz birçok yardımcı " +"fonksiyon ve püf noktasıyla birlikte gelir.\n" +"\n" +"Dizeleri saklamak için, yine dizileri kullanabiliriz. Bu, zincirleme " +"animasyonlar (hareketli görüntü) için kullanışlıdır. Bu örnekte, " +"[code]play_animation()[/code] belirli bir animasyonu oynatır." + +#: course/lesson-21-strings/lesson.tres:142 +msgid "" +"In the next few practices, we'll use strings in combination with different " +"concepts from earlier lessons." +msgstr "" +"Önümüzdeki birkaç alıştırmada, dizeleri daha önceki derslerde gördüğümüz " +"farklı kavramlarla birlikte kullanacağız." + +#: course/lesson-21-strings/lesson.tres:150 +msgid "Creating string variables" +msgstr "Dize değişkenleri oluşturmak" + +#: course/lesson-21-strings/lesson.tres:151 +msgid "" +"Currently, the robot has a number stored in the [code]robot_name[/code] " +"variable. \n" +"\n" +"Change the [code]robot_name[/code] variable so that it's a string instead. " +"You can give it any name you'd like." +msgstr "" +"Şu anda, robotun [code]robot_name[/code] (robot_isim) değişkeninde, bir " +"numara tutuluyor.\n" +"\n" +"Bunun yerine, [code]robot_name[/code] değişkenini, bir dize olacak şekilde " +"değiştir. İstediğin herhangi bir ismi verebilirsin." + +#: course/lesson-21-strings/lesson.tres:163 +msgid "Give the robot a readable name using a string stored in a variable." +msgstr "" +"Bir değişkende tutulan bir dizeyi kullanarak, robota okunabilir bir isim ver." + +#: course/lesson-21-strings/lesson.tres:168 +msgid "Using an array of strings to play a combo" +msgstr "Dizelerden oluşan bir dizi kullanarak, birleşik hareket (combo) yapmak" + +#: course/lesson-21-strings/lesson.tres:169 +msgid "" +"In this practice, we'll chain together animations using an array of strings. " +"You might find such combinations in fighting games.\n" +"\n" +"The robot has the following animation names:\n" +"\n" +"- [code]jab[/code] (makes the robot perform a quick punch)\n" +"- [code]uppercut[/code] (the robot uses a powerful jumping punch)\n" +"\n" +"Populate the combo array with animation names as strings.\n" +"\n" +"Then, for each action in the array, call the [code]play_animation()[/code] " +"function to play them.\n" +"\n" +"The array should contain three values, so the robot makes these three " +"attacks: two jabs followed by one uppercut." +msgstr "" +"Bu alıştırmada, bir dizeler dizisi kullanarak, hareketli görüntüleri " +"(animasyon) birbirine zincirleyeceğiz. Bu tür birleşik hareketleri dövüş " +"oyunlarında bulabilirsin.\n" +"\n" +"Robot, aşağıdaki animasyon isimlerine sahiptir:\n" +"\n" +"- [code]jab[/code] (yumruk, robotun hızlı bir yumruk atmasını sağlar)\n" +"- [code]uppercut[/code] (aparkat, robot güçlü bir zıplama yumruğu kullanır)\n" +"\n" +"Animasyon isimlerini dize şeklinde kullanıp, birleşik hareket dizisini, " +"combo, doldur.\n" +"\n" +"Ardından, dizideki her eylem için [code]play_animation()[/code] " +"(oynat_animayson) fonksiyonunu çağırarak bunları oynat.\n" +"\n" +"Robotun şu üç saldırıyı yapması için, dizinin içinde üç tane değer olmalıdır:" +" iki yumruk ve ardından bir aparkat." + +#: course/lesson-21-strings/lesson.tres:190 +msgid "Define an array of strings to unleash a powerful combo." +msgstr "" +"Güçlü bir birleşik hareket ortaya çıkarmak için bir dize dizisi tanımla." + +#: course/lesson-21-strings/lesson.tres:194 +msgid "Strings" +msgstr "Dizeler" diff --git a/i18n/tr/lesson-22-functions-return-values.po b/i18n/tr/lesson-22-functions-return-values.po new file mode 100644 index 00000000..cfdd98ba --- /dev/null +++ b/i18n/tr/lesson-22-functions-return-values.po @@ -0,0 +1,253 @@ +# 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 , 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-14 21:12+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-22-functions-return-values/lesson.tres:13 +msgid "" +"Until now, you learned that functions are sequences of instructions you give " +"a name and you can call any time.\n" +"\n" +"On top of that, functions can make calculations and [i]return[/i] new " +"values.\n" +"\n" +"Let's look at some examples to see why it's useful." +msgstr "" +"Şimdiye kadar fonksiyonların, bir isim verdiğin ve istediğin zaman " +"çağırabileceğin sıralı talimatlar olduğunu öğrendin.\n" +"\n" +"Buna ek olarak, fonksiyonlar, hesaplamalar yapabilir ve geriye yeni değerler " +"[i]döndürebilirler[/i].\n" +"\n" +"Bunun ne yararı olduğunu görmek için bazı örneklere bakalım." + +#: course/lesson-22-functions-return-values/lesson.tres:25 +msgid "Built-in functions that return a value" +msgstr "Bir değer döndüren yerleşik fonksiyonlar" + +#: course/lesson-22-functions-return-values/lesson.tres:27 +msgid "" +"Many functions built into GDScript make calculations and return a new " +"value.\n" +"\n" +"For example, the [code]round()[/code] function takes a decimal number as an " +"argument and gives you back a new number rounded to the nearest digit." +msgstr "" +"GDScript'in içinde yerleşik olarak gelen birçok fonksiyon, hesaplamalar " +"yapar ve geriye yeni bir değer döndürür.\n" +"\n" +"Örneğin, [code]round()[/code] (yuvarla) fonksiyonu, girdi değişken olarak " +"ondalık bir sayı alır ve geriye, bunun en yakın basamağına yuvarlanmış yeni " +"bir sayı verir." + +#: course/lesson-22-functions-return-values/lesson.tres:49 +msgid "" +"Imagine you have a game where you track the player's health as a percentage, " +"a decimal number going from [code]0.0[/code] to [code]100.0[/code].\n" +"\n" +"When displaying the health on the interface, you don't want to show the " +"decimal part. In that case, you may use the [code]round()[/code] function, " +"like so." +msgstr "" +"Oyuncunun sağlığını yüzde olarak takip ettiğin bir oyunun olduğunu düşün; " +"[code]0.0[/code] ile [code]100.0[/code] arasında değişen ondalık bir sayı.\n" +"\n" +"Sağlığı arayüzde görüntülerken, ondalık kısmı göstermek istemezsin. Bu " +"durumda, [code]round()[/code] fonksiyonunu aşağıdaki gibi kullanabilirsin." + +#: course/lesson-22-functions-return-values/lesson.tres:71 +msgid "" +"Notice how we assign the result of the function call to a variable. Because " +"the [code]round()[/code] function returns a [i]new[/i] value, we need to " +"either store the result or use the value immediately.\n" +"\n" +"Above, we assigned it to a variable, but you could also do the following." +msgstr "" +"Fonksiyon çağrısının sonucunu bir değişkene atama şeklimize dikkat et. " +"[code]round()[/code] fonksiyonu [i]yeni[/i] bir değeri dönderdiği için, " +"sonucu saklamamız ya da değeri hemen kullanmamız gerekir.\n" +"\n" +"Yukarıda bunu bir değişkene atadık, ancak aşağıdakileri de yapabilirsin." + +#: course/lesson-22-functions-return-values/lesson.tres:93 +msgid "" +"You can assign the return value of a function call if you plan on using it " +"more than once." +msgstr "" +"Eğer birden fazla kez kullanmayı planlıyorsan, bir fonksiyon çağrısının " +"dönüş değerini bir değişkene atayabilirsin." + +#: course/lesson-22-functions-return-values/lesson.tres:101 +msgid "A cooler example: lerp()" +msgstr "Daha havalı bir örnek: lerp()" + +#: course/lesson-22-functions-return-values/lesson.tres:103 +msgid "" +"The [code]lerp()[/code] function, short for [i]linear interpolate[/i], " +"calculates and returns a weighted average between two values.\n" +"\n" +"It takes three arguments: the two values to average and a value between " +"[code]0.0[/code] and [code]1.0[/code] to skew the result.\n" +"\n" +"In game programming, it's used to animate things moving towards a target " +"with a single line of code." +msgstr "" +"[i]linear interpolate[/i] (doğrusal ara değer hesaplama) ifadesinin " +"kısaltması olan [code]lerp()[/code] fonksiyonu, iki değer arasında ağırlıklı " +"bir ortalama hesaplayıp döndürür.\n" +"\n" +"Üç girdi değişkeni alır: arası bulunacak iki değer ve sonuca eğim vermek " +"için [code]0.0[/code] ile [code]1.0[/code] arasında bir değer.\n" +"\n" +"Oyun programlamada, bir hedefe doğru hareket eden şeyleri, tek bir kod " +"satırıyla canlandırmak için kullanılır." + +#: course/lesson-22-functions-return-values/lesson.tres:137 +msgid "" +"Every frame, the code calculates a position somewhere between the turtle and " +"the mouse cursor. The [code]lerp()[/code] function takes care of " +"everything.\n" +"\n" +"It's not the most robust approach for smooth movement, as you'll learn in " +"the future, but it's a helpful function nonetheless." +msgstr "" +"Kod, her oyun karesinde, kaplumbağa ile fare imleci arasında bir yerde bir " +"konum hesaplar. [code] lerp()[/code] fonksiyonu her şeyi halleder.\n" +"\n" +"İleride öğreneceğin gibi, pürüzsüz bir hareket için en sağlam yaklaşım bu " +"değildir, ancak yine de yararlı bir fonksiyondur." + +#: course/lesson-22-functions-return-values/lesson.tres:147 +msgid "Writing a function that returns a value" +msgstr "Değer döndüren bir fonksiyon yazmak" + +#: course/lesson-22-functions-return-values/lesson.tres:149 +msgid "" +"You can make [i]your[/i] functions return values.\n" +"\n" +"To make a function return a value, you use the [code]return[/code] keyword " +"followed by the value in question.\n" +"\n" +"In previous lessons, we had characters walking on grids.\n" +"\n" +"And for those practices, you were working directly with cell coordinates.\n" +"\n" +"Well, cell coordinates don't correspond to positions on the screen. To find " +"the center of any cell on the screen, we need to convert the cell's " +"coordinates to a position on the screen, in pixels." +msgstr "" +"Sen de [i]kendi[/i] fonksiyonlarından değerler döndürebilirsin.\n" +"\n" +"Bir fonksiyonun bir değer döndürmesini sağlamak için, [code]return[/code] " +"anahtar kelimesini ve ardından söz konusu değeri kullanırsın.\n" +"\n" +"Önceki derslerde, ızgaralar üzerinde yürüyen karakterlerimiz vardı.\n" +"\n" +"Ve onların alıştırmalarında, doğrudan hücre koordinatlarıyla çalışıyordun.\n" +"\n" +"Aslına bakarsan, hücre konumları ekran üzerindeki konumlara tam olarak " +"karşılık gelmez. Ekrandaki herhangi bir hücrenin merkezini bulmak için, " +"hücrenin konumunu ekrandaki bir konuma, piksel cinsinden, dönüştürmemiz " +"gerekir." + +#: course/lesson-22-functions-return-values/lesson.tres:177 +msgid "" +"To do so, we use a function. The function does two things:\n" +"\n" +"1. First, it multiplies the cell coordinates by the cell size, which gives " +"us the position of the cell's top-left corner on the screen, in pixels.\n" +"2. Then, we add half of the cell size to get the center of the cell.\n" +"\n" +"The function returns the result, allowing us to store it in a variable." +msgstr "" +"Bunu yapmak için bir fonksiyon kullanırız. Fonksiyon iki şey yapar:\n" +"\n" +"1. İlk olarak, hücre koordinatlarını hücre boyu ile çarpar, bu da bize " +"hücrenin ekrandaki sol üst köşesinin konumunu piksel cinsinden verir.\n" +"2. Ardından, hücrenin merkezini elde etmek için hücre boyunun yarısını " +"ekleriz.\n" +"\n" +"Fonksiyon geriye bir sonuç döndürerek bunu bir değişkende saklamamızı sağlar." + +#: course/lesson-22-functions-return-values/lesson.tres:202 +msgid "" +"The [code]return[/code] keyword returns the value to the code calling the " +"function. You'll receive the result where you call the function." +msgstr "" +"[code]return[/code] anahtar kelimesi, değeri, fonksiyonu çağıran koda " +"döndürür. Sonucu, fonksiyonu çağırdığın yerde alırsın." + +#: course/lesson-22-functions-return-values/lesson.tres:222 +msgid "" +"Some functions return values, and some do not. During practices, you can " +"learn which functions return a value using the documentation panel. It will " +"display if the practice requires using specific functions or variables.\n" +"\n" +"There, functions that start with the term [code]void[/code] do not return a " +"value. Any other term means the function does return a value. You'll learn " +"more about what other terms mean in a couple of lessons when we explore " +"value [i]types[/i].\n" +"\n" +"For now, let's practice returning values from functions!" +msgstr "" +"Bazı fonksiyonlar değer döndürür, ve bazıları döndürmez. Alıştırmalar " +"sırasında, dokümantasyon panelini kullanarak hangi fonksiyonların değer " +"döndürdüğünü öğrenebilirsin. Eğer alıştırma, belirli fonksiyonların veya " +"değişkenlerin kullanılmasını gerektiriyorsa görüntülenecektir.\n" +"\n" +"Burada, [code]void[/code] terimiyle başlayan fonksiyonlar bir değer " +"döndürmez. Başka herhangi bir terim, fonksiyonun bir değer döndürdüğü " +"anlamına gelir. Diğer terimlerin ne anlama geldiği hakkında daha fazla " +"bilgiyi birkaç ders sonra değer [i]tipleri[/i] incelerken öğreneceksin.\n" +"\n" +"Şimdilik, fonksiyonlardan değer döndürme alıştırması yapalım!" + +#: course/lesson-22-functions-return-values/lesson.tres:234 +msgid "Converting coordinates from the grid to the screen" +msgstr "Konumları ızgaradan alıp ekrana uygun dönüştürmek" + +#: course/lesson-22-functions-return-values/lesson.tres:235 +msgid "" +"Define a function that converts a position on a grid to the screen.\n" +"\n" +"The function takes a [code]Vector2[/code] cell coordinate as an argument. It " +"should return the corresponding [code]Vector2[/code] screen coordinates at " +"the center of the cell." +msgstr "" +"Izgara üzerindeki bir konumu, ekrana uygun dönüştüren bir fonksiyon tanımla." +"\n" +"\n" +"Fonksiyon, girdi değişkeni olarak bir [code]Vector2[/code] hücre konumu " +"alacak. Bu hücrenin ekrandaki merkezine karşılık gelen [code]Vector2[/code] " +"konumları döndürmelidir." + +#: course/lesson-22-functions-return-values/lesson.tres:249 +msgid "" +"We lost the function to convert grid coordinates, but we desperately need it " +"for our game! Make the turtle move again by coding it." +msgstr "" +"Izgara konumlarını dönüştüren fonksiyonu kazara kaybettik, ancak oyunumuz " +"için buna çok ihtiyacımız var! Kaplumbağayı kodlayarak tekrar hareket " +"etmesini sağla." + +#: course/lesson-22-functions-return-values/lesson.tres:253 +msgid "Functions that return a value" +msgstr "Değer döndüren fonksiyonlar" diff --git a/i18n/tr/lesson-23-append-to-arrays.po b/i18n/tr/lesson-23-append-to-arrays.po new file mode 100644 index 00000000..88ad53b5 --- /dev/null +++ b/i18n/tr/lesson-23-append-to-arrays.po @@ -0,0 +1,316 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-07-14 21:12+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-23-append-to-arrays/lesson.tres:13 +msgid "" +"In previous lessons, you learned how to create arrays to store lists of " +"values and how to loop over them. It's nice, but you won't go far with only " +"that.\n" +"\n" +"The real strength of arrays is that you can add and remove values from them " +"at any time. It allows you to [i]queue[/i] or [i]stack[/i] data." +msgstr "" +"Önceki derslerde, değer listelerini saklamak için diziler oluşturmayı ve " +"bunlar üzerinde nasıl döngü yapacağını öğrendin. Bu güzel, ancak sadece " +"bununla çok fazla ileri gidemezsin.\n" +"\n" +"Dizilerin gerçek gücü, onlara istediğin zaman değer ekleyip çıkarabilmendir. " +"Bu sayede [i]arkasına ekleme[/i] (queue) veya [i]üstüste yığma[/i] (stack) " +"şeklinde veri ekleyebilirsin." + +#: course/lesson-23-append-to-arrays/lesson.tres:25 +msgid "For now, let's take another example." +msgstr "Şimdilik, hadi başka bir örneği ele alalım." + +#: course/lesson-23-append-to-arrays/lesson.tres:33 +msgid "Tracking orders in a restaurant management game" +msgstr "Bir lokanta yönetimi oyununda siparişleri takip etmek" + +#: course/lesson-23-append-to-arrays/lesson.tres:35 +msgid "" +"You're making a restaurant management game where customers place orders, and " +"you need to handle them as they come.\n" +"\n" +"In this game, customers order meals that end up in a queue. You need to " +"prepare them in the kitchen.\n" +"\n" +"In this example, we simulate orders arriving and getting completed over time." +msgstr "" +"Müşterilerin sipariş verdiği bir lokanta yönetimi oyunu yapıyorsun, ve " +"siparişler geldikçe onlarla ilgilenmen gerekiyor.\n" +"\n" +"Bu oyunda, müşterilerin verdikleri yemek siparişleri bir sıraya alınıyor. " +"Onları mutfakta hazırlaman gerekiyor.\n" +"\n" +"Bu örnekte, zaman içinde gelen ve tamamlanan siparişlerin benzeşimini " +"yapıyoruz (simülasyon)." + +#: course/lesson-23-append-to-arrays/lesson.tres:59 +msgid "" +"How do you keep track of pending and completed orders? With an array!\n" +"\n" +"When a customer purchases a meal, you want to [i]append[/i] it to the array. " +"Then, as you complete a meal in the kitchen and serve it, you want to remove " +"it from the array.\n" +"\n" +"You can do that with the [code]append()[/code] and the [code]pop_front()[/" +"code] functions of the array, respectively.\n" +"\n" +"Try to read the code below before moving on. Don't worry if not everything " +"makes sense, as we'll break it all down." +msgstr "" +"Bekleyen ve tamamlanan siparişleri nasıl takip edersin? Bir dizi ile!\n" +"\n" +"Bir müşteri bir yemek satın aldığında, yemeği diziye [i]eklemek[/i] " +"istersin. Daha sonra, mutfakta bir yemeği tamamlayıp servis edince, onu " +"diziden [i]çıkarmak[/i] istersin.\n" +"\n" +"Bunu sırasıyla dizinin [code]append()[/code] (arkaya_ekle) ve " +"[code]pop_front()[/code] (çıkart_baştaki) fonksiyonları ile yapabilirsin.\n" +"\n" +"Devam etmeden önce aşağıdaki kodu okumaya çalış. Her şey mantıklı gelmiyorsa " +"endişelenme, çünkü hepsini açıklayacağız." + +#: course/lesson-23-append-to-arrays/lesson.tres:85 +msgid "" +"Notice how we call some functions by writing a dot after a variable name. " +"Like a given value type can have sub-variables, it can also have its own " +"functions.\n" +"\n" +"Functions like [code]append()[/code] and [code]pop_front()[/code] only exist " +"on arrays. That's why to call them, we need to access it from the array " +"using the dot: [code]array.append()[/code]." +msgstr "" +"Farkettiysen bazı fonksiyonları, değişken adından sonra nokta yazarak " +"çağırıyoruz. Belirli bir değer tipinin alt-değişkenleri olabileceği gibi, " +"kendi fonksiyonları da olabilir.\n" +"\n" +"[code]append()[/code] ve [code]pop_front()[/code] gibi fonksiyonlar sadece " +"diziler üzerinde mevcuttur. Bu yüzden, onları çağırmak için nokta kullanarak " +"dizi üzeriden erişmemiz gerekir: [code]array.append()[/code]." + +#: course/lesson-23-append-to-arrays/lesson.tres:97 +msgid "" +"Let's break down the code.\n" +"\n" +"We queue orders in the [code]waiting_orders[/code] array by appending them " +"to the array." +msgstr "" +"Hadi kodu parçalarına ayıralım.\n" +"\n" +"Siparişleri [code]waiting_orders[/code] (bekleniyor_sipariş) dizisine " +"ekleyerek sıraya koyuyoruz." + +#: course/lesson-23-append-to-arrays/lesson.tres:119 +msgid "" +"We can use a string to represent a meal when calling the [code]add_order()[/" +"code] function." +msgstr "" +"[code]add_order()[/code] (ekle_sipariş) fonksiyonunu çağırırken, bir yemeği " +"temsil etmesi için bir dize kullanabiliriz." + +#: course/lesson-23-append-to-arrays/lesson.tres:139 +msgid "" +"When completing an order, we remove it from the [code]waiting_orders[/code] " +"array by calling its [code]pop_front()[/code] function. This function gives " +"us the order back, which allows us to assign it to a temporary variable." +msgstr "" +"Bir siparişi tamamlarken, [code]pop_front()[/code] fonksiyonunu çağırarak " +"onu [code]waiting_orders[/code] dizisinden kaldırırız. Bu fonksiyon bize " +"siparişi geri verir, bu da onu geçici bir değişkene atamamızı sağlar." + +#: course/lesson-23-append-to-arrays/lesson.tres:159 +msgid "" +"We can then append the order to our [code]completed_orders[/code] array." +msgstr "" +"Daha sonra siparişi [code]completed_orders[/code] (tamamlanan_siparişler) " +"dizimize ekleyebiliriz." + +#: course/lesson-23-append-to-arrays/lesson.tres:179 +msgid "" +"We call arrays like [code]waiting_orders[/code] a [i]queue[/i]: the first " +"element we append to the array is the first one we remove." +msgstr "" +"[code]waiting_orders[/code] gibi dizilere bir [i]queue[/i] (sıra) ismini " +"veriyoruz: diziye eklediğimiz ilk eleman, çıkardığımız ilk elemandır." + +#: course/lesson-23-append-to-arrays/lesson.tres:187 +msgid "What does #... mean?" +msgstr "#... ne anlama geliyor?" + +#: course/lesson-23-append-to-arrays/lesson.tres:189 +msgid "" +"We write [code]#...[/code] to represent ellipses in the code. It means " +"\"we're completing the function's code.\" We use that to break down code " +"examples and make them easier to learn from.\n" +"\n" +"The hash sign itself marks the start of a code comment. It's a line the " +"computer will ignore, which is why it typically appears in grey." +msgstr "" +"Koddaki boşlukları temsil etmek için [code]#...[/code] yazıyoruz. Bu, " +"\"fonksiyonun kodunu tamamlıyoruz\" anlamına gelir. Bunu kod örneklerini " +"parçalamak ve öğrenmeyi kolaylaştırmak için kullanırız. (burada, daha önce " +"verdiğimiz parçaya eklemek yapıyoruz).\n" +"\n" +"Kare işaretinin kendisi, bir kod yorumunun başlangıcını işaret eder. " +"Bilgisayarın görmezden geleceği bir satırdır, bu yüzden genellikle gri " +"renkte görünür." + +#: course/lesson-23-append-to-arrays/lesson.tres:199 +msgid "Using arrays as stacks" +msgstr "Dizileri, yığınlar olarak kullanmak" + +#: course/lesson-23-append-to-arrays/lesson.tres:201 +msgid "" +"Another common use of arrays is [i]stacks[/i] of data.\n" +"\n" +"Take a factory management game where you need to retrieve materials from " +"stacks of crates. They arrive at the factory piled up vertically, and you " +"need to take them from top to bottom." +msgstr "" +"Dizilerin bir diğer yaygın kullanımı veriyi [i]yığın[/i] yapmak şeklindedir." +"\n" +"\n" +"Yığın halindeki sandıklardan malzeme alman gereken bir fabrika yönetimi " +"oyununu ele alalım. Fabrikaya dikey olarak üstüste yığılmış olarak gelirler " +"ve onları yukarıdan aşağıya doğru alman gerekir." + +#: course/lesson-23-append-to-arrays/lesson.tres:223 +msgid "" +"To take a crate from the back of the array, this time, we use the " +"[code]pop_back()[/code] array function.\n" +"\n" +"This function removes (pops) the last value from the array and returns it to " +"you.\n" +"\n" +"Here we pop the last value of the array and print what's left of the array " +"to demonstrate how the array gets smaller." +msgstr "" +"Dizinin arkasındaki bir sandığı almak için, bu kez [code]pop_back()[/code] " +"(çıkar_arkadaki) dizi fonksiyonunu kullanıyoruz.\n" +"\n" +"Bu fonksiyon dizideki son değeri çıkarır ve size geri döndürür.\n" +"\n" +"Burada dizinin son değerini atıyoruz ve dizinin küçüldüğünü göstermek için " +"diziden kalanları yazdırıyoruz." + +#: course/lesson-23-append-to-arrays/lesson.tres:247 +msgid "" +"Like [code]pop_front()[/code], the function returns the value removed from " +"the array. You will often store that value in a variable.\n" +"\n" +"The value in question could be the crate's content, which you can then use " +"to give resources to the player.\n" +"\n" +"In the following practices, you will use the [code]append()[/code], " +"[code]pop_front()[/code], and [code]pop_back()[/code] array functions." +msgstr "" +"[code]pop_front()[/code] gibi, bu fonksiyon da diziden kaldırılan değeri " +"döndürür. Bu değeri genellikle bir değişkende saklarsın.\n" +"\n" +"Söz konusu değer, daha sonra oyuncuya kaynak vermek için kullanabileceğin " +"bir sandığın içeriği olabilir.\n" +"\n" +"Sıradaki alıştırmalarda, [code]append()[/code], [code]pop_front()[/code], ve " +"[code]pop_back()[/code] dizi fonksiyonlarını kullanacaksın." + +#: course/lesson-23-append-to-arrays/lesson.tres:259 +msgid "Completing orders" +msgstr "Siparişleri tamamlamak" + +#: course/lesson-23-append-to-arrays/lesson.tres:260 +msgid "" +"The [code]waiting_orders[/code] array will be filled over time.\n" +"\n" +"Your job is to move orders from the waiting list to the " +"[code]completed_orders[/code] list using the array's [code]append()[/code] " +"and [code]pop_front()[/code] functions.\n" +"\n" +"Remember that the array's [code]pop_front()[/code] function returns the " +"popped value, which allows you to store it in a variable and then pass it to " +"another function." +msgstr "" +"[code]waiting_orders[/code] (bekleniyor_siparişler) dizisi zaman içinde " +"doldurulacaktır.\n" +"\n" +"Görevin, dizinin [code]append()[/code] (ekle_arkaya) ve " +"[code]pop_front()[/code] (çıkar_öndeki) fonksiyonlarını kullanarak " +"siparişleri bekleme listesinden alıp [code]completed_orders[/code] " +"(tamamlanan_siparişler) listesine taşımaktır.\n" +"\n" +"Dizinin [code]pop_front()[/code] fonksiyonunun çıkarılan değeri geri " +"döndürdüğünü unutma, bu da onu bir değişkende saklamana ve daha sonra başka " +"bir fonksiyona aktarmana olanak tanır." + +#: course/lesson-23-append-to-arrays/lesson.tres:277 +msgid "" +"Orders are piling up in the kitchen, and we need to clear them fast using " +"the array's [code]pop_front()[/code] function." +msgstr "" +"Siparişler mutfakta birikiyor, ve dizinin [code]pop_front()[/code] " +"fonksiyonunu kullanarak bunları hızlı bir şekilde temizlememiz gerekiyor." + +#: course/lesson-23-append-to-arrays/lesson.tres:282 +msgid "Clearing up the crates" +msgstr "Sandıkları düzenlemek" + +#: course/lesson-23-append-to-arrays/lesson.tres:283 +msgid "" +"Crates are piling up on the platform. Move them out of the way by popping " +"them from the [code]crates[/code] array.\n" +"\n" +"You need to remove them from top to bottom using the array's [code]pop_back()" +"[/code] function.\n" +"\n" +"Your code should remove all the crates in the array using a while loop.\n" +"\n" +"[b]Careful![/b] if you run a while loop carelessly, you can lock the " +"software.\n" +"\n" +"You can check if the [code]crates[/code] array still contains values by " +"writing [code]while crates:[/code]" +msgstr "" +"Sandıklar birikmeye başladı. Onları [code]crates[/code] (sandıklar) " +"dizisinden kaldırıp yolu temizle.\n" +"\n" +"Dizinin [code]pop_back()[/code] fonksiyonunu kullanarak bunları yukarıdan " +"aşağıya doğru kaldırman gerekir.\n" +"\n" +"Kodun, bir while döngüsü kullanarak dizideki tüm kasaları kaldırmalıdır.\n" +"\n" +"[b]Dikkatli ol![/b] while döngüsünü dikkatsizce çalıştırırsanız yazılımı " +"kilitleyebilirsin.\n" +"\n" +"[code]crates[/code] dizisinin içinde, hala bir değer olup olmadığını (yani " +"boş olmadığını) [code]while crates:[/code] yazarak kontrol edebilirsin" + +#: course/lesson-23-append-to-arrays/lesson.tres:303 +msgid "" +"Crates are piling up on the platform. Move them out of the way by popping " +"them from their array." +msgstr "" +"Sandıklar birikmeye başladı. Onları dizildikleri yerden kaldırıp yoldan çek." + +#: course/lesson-23-append-to-arrays/lesson.tres:307 +msgid "Appending and popping values from arrays" +msgstr "Dizilere değer eklemek ve dizilerden değer çıkarmak" diff --git a/i18n/tr/lesson-24-access-array-indices.po b/i18n/tr/lesson-24-access-array-indices.po new file mode 100644 index 00000000..94a59b09 --- /dev/null +++ b/i18n/tr/lesson-24-access-array-indices.po @@ -0,0 +1,275 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-07-13 20:14+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-24-access-array-indices/lesson.tres:14 +msgid "" +"You learned to loop over all the values in an array using the [code]for[/" +"code] keyword." +msgstr "" +"[code]for[/code] anahtar kelimesini kullanarak bir dizideki tüm değerler " +"üzerinde döngü yapmayı öğrendin." + +#: course/lesson-24-access-array-indices/lesson.tres:34 +msgid "" +"But what if you need to access the third item in the player's inventory? The " +"tenth item?\n" +"\n" +"There's a dedicated notation to access one element in an array by index.\n" +"\n" +"To do so, you use square brackets with a number inside the brackets." +msgstr "" +"Peki ya oyuncunun envanterindeki üçüncü öğeye erişmeniz gerekiyorsa? Ya " +"onuncu eşyaya?\n" +"\n" +"Bir dizideki bir elemana, yer numarasına (dizin, indeks) göre erişmek için " +"özel bir gösterim vardır.\n" +"\n" +"Bunu yapmak için köşeli parantezler ve parantezlerin içinde bir sayı " +"kullanırsın." + +#: course/lesson-24-access-array-indices/lesson.tres:58 +msgid "Index zero is the [i]first[/i] element in the array." +msgstr "Sıfır (0) dizini, dizideki [i]ilk[/i] elemandır." + +#: course/lesson-24-access-array-indices/lesson.tres:78 +msgid "" +"Index one is the [i]second[/i] element in the array, and so on.\n" +"\n" +"You would access the [i]fourth[/i] element in the [code]inventory[/code] " +"array like so." +msgstr "" +"Birinci dizin dizideki [i]ikinci[/i] elemandır ve bu böyle devam eder.\n" +"\n" +"[code]inventory[/code] dizisindeki [i]dördüncü[/i] elemana şu şekilde " +"erişirdin." + +#: course/lesson-24-access-array-indices/lesson.tres:98 +msgid "" +"How would you access the [i]third[/i] item in the [code]inventory[/code] " +"array?" +msgstr "[code]inventory[/code] dizisinin [i]üçüncü[/i] öğesine nasıl erişirsin?" + +#: course/lesson-24-access-array-indices/lesson.tres:101 +msgid "" +"Indices start at zero, so the index of the [i]third[/i] item is [code]2[/" +"code]. That's why you need to write [code]inventory[2][/code]." +msgstr "" +"Dizinler sıfırdan başlar, bu nedenle [i]üçüncü[/i] öğenin indeksi " +"[code]2[/code]'dir. Bu nedenle [code]inventory[2][/code] yazman gerekir." + +#: course/lesson-24-access-array-indices/lesson.tres:102 +#: course/lesson-24-access-array-indices/lesson.tres:103 +msgid "inventory[2]" +msgstr "inventory[2]" + +#: course/lesson-24-access-array-indices/lesson.tres:102 +msgid "inventory[3]" +msgstr "inventory[3]" + +#: course/lesson-24-access-array-indices/lesson.tres:110 +msgid "Accessing the last values with negative indices" +msgstr "Sondaki değerlere negatif dizinler ile erişim" + +#: course/lesson-24-access-array-indices/lesson.tres:112 +msgid "" +"What if you want to access the last or second-before-last item in the " +"[code]inventory[/code]?\n" +"\n" +"In that case, you can use negative indices. If you write [code]-1[/code] in " +"the brackets, you will get the last item in the array. You will get the " +"second-to-last item if you write [code]-2[/code]." +msgstr "" +"Peki ya [code]inventory[/code] (envanter) dizisideki son veya sondan bir " +"önceki öğeye erişmek istiyorsan?\n" +"\n" +"Bu durumda, negatif dizinler kullanabilirsin. Parantez içine [code]-1[/code] " +"yazarsan, dizideki son öğeyi alırsın. [code] -2[/code] yazarsan, sondan " +"ikinci öğeyi elde edersin." + +#: course/lesson-24-access-array-indices/lesson.tres:134 +msgid "" +"That's very convenient when you need to quickly access elements from the end " +"of the list." +msgstr "" +"Listenin öğelerine sondan başlayıp hızlı bir şekilde erişmen gerektiğinde bu " +"çok kullanışlıdır." + +#: course/lesson-24-access-array-indices/lesson.tres:142 +msgid "How would you access the third-to-last item in the inventory array?" +msgstr "inventory dizisindeki sondan üçüncü öğeye nasıl erişirsin?" + +#: course/lesson-24-access-array-indices/lesson.tres:145 +msgid "" +"When using negative indices, [code]-1[/code] means the [i]last[/i] element " +"in the array. Index [code]-2[/code] will be the second-to-last, thus " +"[code]-3[/code] will be the third-to-last.\n" +"\n" +"It can be little confusing as it seems to work differently from positive " +"indices. However, it's because there's no difference between index [code]0[/" +"code] and [code]-0[/code]: they both point to the first item in the array." +msgstr "" +"Negatif dizinler kullanıldığında, [code]-1[/code] dizideki [i]son[/i] eleman " +"anlamına gelir. [code]-2[/code] dizini sondan ikinci, dolayısıyla " +"[code]-3[/code]'de sondan üçüncü olacaktır.\n" +"\n" +"Pozitif dizinlerden farklı çalışıyormuş gibi göründüğü için biraz kafa " +"karıştırıcı olabilir. Ancak, bunun nedeni [code]0[/code] ve [code]-0[/code] " +"dizinleri arasında bir fark olmamasıdır: ikisi de sıfırdır yani her ikisi de " +"dizideki ilk öğeye işaret eder." + +#: course/lesson-24-access-array-indices/lesson.tres:148 +#: course/lesson-24-access-array-indices/lesson.tres:149 +msgid "inventory[-3]" +msgstr "inventory[-3]" + +#: course/lesson-24-access-array-indices/lesson.tres:148 +msgid "inventory[-2]" +msgstr "inventory[-2]" + +#: course/lesson-24-access-array-indices/lesson.tres:156 +msgid "You can't access non-existent indices" +msgstr "Var olmayan dizinlere erişemezsin" + +#: course/lesson-24-access-array-indices/lesson.tres:158 +msgid "" +"There's a catch with this syntax: if you try to access an index that does " +"not exist, you will get an error. You have to be careful always to access " +"existing elements in the array.\n" +"\n" +"There are a couple of ways you can check for valid indices. One of them is " +"checking the array's size." +msgstr "" +"Bu sözdiziminde bir tuzak vardır: var olmayan bir dizine erişmeye çalışırsan " +"hata alırsını. Dizideki mevcut öğelere erişme konusunda her zaman dikkatli " +"olmalısın.\n" +"\n" +"Geçerli dizinleri kontrol etmenin birkaç yolu vardır. Bunlardan biri dizi " +"boyutunu kontrol etmektir." + +#: course/lesson-24-access-array-indices/lesson.tres:170 +msgid "" +"[b]Checking the size of the array[/b]\n" +"\n" +"Arrays come with a member function named [code]size()[/code]. You can call " +"it on the array anytime to know its [i]current[/i] size." +msgstr "" +"[b]Dizi boyutunu kontrol etme[/b]\n" +"\n" +"Diziler, [code]size()[/code] (boyut) adlı bir üye fonksiyon ile birlikte " +"gelir. Bu fonksiyonu dizinin [i]mevcut[/i] boyutunu öğrenmek için istediğin " +"zaman çağırabilirsin." + +#: course/lesson-24-access-array-indices/lesson.tres:192 +msgid "" +"The maximum index you can access in an array is [code]array.size() - 1[/" +"code]: it's the last item in the array." +msgstr "" +"Bir dizide erişebileceğin en büyük dizin numarası [code]dizi.size() - " +"1[/code]: yani dizideki son öğedir. (Dizi 5 elemanlı ise, son öğe 4 dizin " +"numaralıdır)." + +#: course/lesson-24-access-array-indices/lesson.tres:212 +msgid "" +"In the following practices, you will use array indices to realign train " +"tracks and grab the correct item in an inventory." +msgstr "" +"Sıradaki alıştırmalarda, tren raylarını yeniden hizalamak ve bir " +"envanterdeki doğru öğeyi almak için dizinleri kullanacaksın." + +#: course/lesson-24-access-array-indices/lesson.tres:220 +msgid "Using the right items" +msgstr "Doğru öğeleri kullanmak" + +#: course/lesson-24-access-array-indices/lesson.tres:221 +msgid "" +"In our game, the player has an inventory that works as an array under the " +"hood.\n" +"\n" +"They want to equip a sword and a shield to buff their characters. Like " +"before, we need you to find them in the array.\n" +"\n" +"You need to access elements in the [code]inventory[/code] array by index to " +"do so.\n" +"\n" +"Call the [code]use_item()[/code] function with the item as an argument to " +"use an item. For example, you can use the first item by calling " +"[code]use_item(inventory[0])[/code]." +msgstr "" +"Oyunumuzda, oyuncunun aslında bir dizi olarak çalışan bir envanteri " +"(inventory) vardır.\n" +"\n" +"Karakterini güçlendirmek için bir kılıç ve bir kalkan kuşanmak istiyor. Daha " +"önce olduğu gibi, onları dizi içinde bulman gerekiyor.\n" +"\n" +"Bunu yapmak için [code]inventory[/code] dizisindeki öğelere dizinine göre " +"erişmen gerekir.\n" +"\n" +"Bir öğeyi kullanmak için [code]use_item()[/code] fonksiyonunu, öğeyi girilen " +"değişken olarak kullanıp çağır. Örneğin, fonksiyonu " +"[code]use_item(inventory[0])[/code] şeklinde çağırarak ilk öğeyi " +"kullanabilirsin." + +#: course/lesson-24-access-array-indices/lesson.tres:239 +msgid "Find the right items to use in the player's inventory." +msgstr "Oyuncunun envanterinde kullanılacak doğru öğeleri bul." + +#: course/lesson-24-access-array-indices/lesson.tres:244 +msgid "Realigning the train tracks" +msgstr "Tren raylarını yeniden hizalamak" + +#: course/lesson-24-access-array-indices/lesson.tres:245 +msgid "" +"We have train tracks broken down into little chunks in our game. We use them " +"to make modular tracks and draw circuits of all shapes and sizes.\n" +"\n" +"However, several chunks are misaligned. You need to find them in the " +"[code]tracks[/code] array and pass them to the [code]align()[/code] " +"function.\n" +"\n" +"To do so, you need to access the array by index.\n" +"\n" +"This time, though, you need to access them with [i]negative indices[/i]." +msgstr "" +"Oyunumuzda küçük parçalara ayrılmış tren raylarımız var. Bunları kolay " +"takılan (modüler) raylar yapmak ve her şekil ve boyutta yollar çizmek için " +"kullanıyoruz.\n" +"\n" +"Ancak, birkaç parça yanlış hizalanmış. Bunları [code]tracks[/code] (raylar) " +"dizisinde bulman ve [code]align()[/code] (hizala) fonksiyonuna aktarman " +"gerekir.\n" +"\n" +"Bunu yapmak için öğelere dizinlerine göre erişmen gerekir.\n" +"\n" +"Ancak bu kez, bunlara [i]negatif dizin numaraları[/i] ile erişmen gerekir." + +#: course/lesson-24-access-array-indices/lesson.tres:263 +msgid "" +"Some chunks of our train tracks are misaligned, and the train can't pass. " +"Find the faulty pieces and realign them." +msgstr "" +"Tren raylarımızın bazı parçaları yanlış hizalanmış ve tren geçemiyor. Hatalı " +"parçaları bul ve yeniden hizala." + +#: course/lesson-24-access-array-indices/lesson.tres:267 +msgid "Accessing values in arrays" +msgstr "Dizilerdeki değerlere erişmek" diff --git a/i18n/tr/lesson-25-creating-dictionaries.po b/i18n/tr/lesson-25-creating-dictionaries.po new file mode 100644 index 00000000..6b16440a --- /dev/null +++ b/i18n/tr/lesson-25-creating-dictionaries.po @@ -0,0 +1,324 @@ +# 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 , 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: 2022-03-26 17:50+0100\n" +"PO-Revision-Date: 2023-07-14 21:12+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-25-creating-dictionaries/lesson.tres:14 +msgid "" +"In the last lesson, we used an array to represent a player's inventory.\n" +"\n" +"With just an array of item names, though, we can't easily keep track of " +"the amount of each item.\n" +"\n" +"Instead, we can bundle the item names and amounts into a single " +"[i]dictionary[/i].\n" +"\n" +"A dictionary is a data structure that allows you to map pairs of values. " +"In the pair, we call the first value a [i]key[/i] as we use it to access " +"the second.\n" +"\n" +"In other words, a dictionary has a list of [i]keys[/i], and each key " +"points to a [i]value[/i].\n" +"\n" +"To define a dictionary, we use curly brackets. A colon separates each key" +" and its value. A comma separates each key and value pair." +msgstr "" +"Son derste, bir oyuncunun envanterini temsil etmek için bir dizi kullandık.\n" +"\n" +"Bununla birlikte, yalnızca bir dizi öğe adıyla, her bir öğeden kaç tane " +"olduğunu kolayca takip edemeyiz.\n" +"\n" +"Bunun yerine, öğe adlarını ve miktarlarını tek bir [i]sözlükte[/i] " +"(dictionary) bir araya getirebiliriz.\n" +"\n" +"Bir sözlük, değer çiftlerini eşlemene olanak tanıyan bir veri yapısıdır. Bu " +"çifti, birinci değeri bir [i]anahtar[/i] (yada adres) olarak kullanıp " +"ikinciye erişmek için kullanırız.\n" +"\n" +"Başka bir deyişle, bir sözlük bir çeşit [i]anahtarlar[/i] listesidir ve her " +"bir anahtar bir [i]değere[/i] işaret eder.\n" +"\n" +"Bir sözlüğü tanımlamak için süslü parantezler kullanırız, \"{\" ve \"}\". " +"Her anahtarı ve değerini, iki nokta üst üste işareti ayırır. Ve virgül de, " +"her bir anahtar-değer çiftini ayırır." + +#: course/lesson-25-creating-dictionaries/lesson.tres:42 +msgid "Dictionaries can hold any values" +msgstr "Sözlükler herhangi bir değeri tutabilir" + +#: course/lesson-25-creating-dictionaries/lesson.tres:44 +msgid "" +"Dictionaries can map about any value to any other value.\n" +"\n" +"For example, we can use the name of an item as a key and the amount as " +"the corresponding value. This makes dictionaries excellent for keeping " +"track of a player's inventory." +msgstr "" +"Sözlükler herhangi bir değeri, başka herhangi bir değerle eşleyebilir.\n" +"\n" +"Örneğin, bir öğenin adını anahtar olarak ve kaç tane olduğunu da karşılık " +"gelen değer olarak kullanabiliriz. Bu, sözlükleri, bir oyuncunun envanterini " +"takip etmek için mükemmel yapar." + +#: course/lesson-25-creating-dictionaries/lesson.tres:66 +msgid "" +"Here we matched the name (a string) to the amount (a number). But a key " +"could be a string, a number, or even a vector! \n" +"\n" +"Although we can have all of these different keys, keep in mind that every" +" key has to be [i]unique[/i]. That means we [i]couldn't[/i] have a " +"dictionary like the following." +msgstr "" +"Burada isimi (bir dize) miktarla (bir sayı) eşleştirdik. Ancak bir anahtar, " +"bir dize, bir sayı, ve hatta bir vektör olabilir!\n" +"\n" +"Bu farklı anahtarların tümüne kullanabiliyor olsak da, her anahtarın " +"[i]benzersiz[/i] olması gerektiğini unutma. Bunun anlamı, aşağıdaki gibi bir " +"sözlüğe sahip [i]olamayacağımızdır[/i]." + +#: course/lesson-25-creating-dictionaries/lesson.tres:88 +msgid "We would get the following error." +msgstr "" +"Böyle bir durumda aşağıdaki hatayı alırız. (tekrarlanan anahtar bulundu)." + +#: course/lesson-25-creating-dictionaries/lesson.tres:106 +msgid "In the above example, which key would cause an error?" +msgstr "Yukarıdaki örnekte, anahtarlarda hangisi hataya sebep olur?" + +#: course/lesson-25-creating-dictionaries/lesson.tres:109 +msgid "" +"The key [code]\"healing heart\"[/code] appears [b]twice[/b] in the " +"dictionary.\n" +"\n" +"In the above example, Godot wouldn't know whether to return " +"[code]3[/code] or [code]8[/code] when using [code]inventory[\"healing " +"heart\"][/code]. This is why keys need to be unique." +msgstr "" +"[code]\"healing heart\"[/code] anahtarı, sözlükte [b]iki kez[/b] görünüyor.\n" +"\n" +"Yukarıdaki örnekte Godot, öğelere erişirken [code]inventory[\"healing heart\"" +"][/code] kullanırsan, geriye [code]3[/code] mü yoksa [code]8[/code] mi " +"döndüreceğini bilemez. Bu nedenle anahtarların benzersiz olması gerekir." + +#: course/lesson-25-creating-dictionaries/lesson.tres:112 +#: course/lesson-25-creating-dictionaries/lesson.tres:113 +msgid "\"healing heart\"" +msgstr "\"healing heart\"" + +#: course/lesson-25-creating-dictionaries/lesson.tres:112 +msgid "\"shield\"" +msgstr "\"shield\"" + +#: course/lesson-25-creating-dictionaries/lesson.tres:112 +msgid "\"sword\"" +msgstr "\"sword\"" + +#: course/lesson-25-creating-dictionaries/lesson.tres:120 +msgid "How dictionaries work under the hood" +msgstr "Sözlükler, kaputun altında, nasıl çalışır" + +#: course/lesson-25-creating-dictionaries/lesson.tres:122 +msgid "" +"Dictionaries are also called mappings or [i]associative arrays[/i]. Under" +" the hood, they use arrays and several functions to efficiently store and" +" retrieve values across arrays.\n" +"\n" +"Precisely, dictionaries use a [i]hashing algorithm[/i]. Hashing " +"algorithms convert one value into another.\n" +"\n" +"In this case, hashing consists of converting a given key into a unique " +"whole number. The dictionary then uses that number as an array's index!\n" +"\n" +"That's how a dictionary works: when you give it a key, it converts it " +"into a unique index and uses that index to retrieve the corresponding " +"value in the computer's memory.\n" +"\n" +"That's also why you can't have the same key twice: it would map to the " +"same array index, causing you to overwrite an existing value." +msgstr "" +"Sözlüklere, eşlemeler (mappings) veya [i]ilişkisel diziler[/i] de denir. " +"Kaputun altında, diziler arasındaki değerleri verimli bir şekilde depolamak " +"ve almak için dizileri ve çeşitli fonksiyonları kullanırlar.\n" +"\n" +"Tam olarak, sözlükler [i]karma (hashing) algoritması[/i] kullanır. Karma " +"algoritmalar bir değeri başka bir değere dönüştürür.\n" +"\n" +"Bu durumda, karma oluşturma, belirli bir anahtarı benzersiz bir tam sayıya " +"dönüştürme işlemini içerir. Sözlük daha sonra bu sayıyı bir dizi için dizin " +"sayısı olarak kullanır!\n" +"\n" +"Bir sözlük böyle çalışır: ona bir anahtar verdiğinde, onu benzersiz bir " +"dizin sayısına dönüştürür, ve bilgisayarın belleğinden karşılık gelen değeri " +"almak için bu dizini kullanır.\n" +"\n" +"Aynı anahtara iki kez sahip olamamanızın nedeni de budur: aynı dizin sayısı " +"ile eşlenir, ve varolan bir değerin üzerine yazmana neden olur." + +#: course/lesson-25-creating-dictionaries/lesson.tres:138 +msgid "Accessing values" +msgstr "Değerlere erişmek" + +#: course/lesson-25-creating-dictionaries/lesson.tres:140 +msgid "" +"We access the value of keys by writing the dictionary name, with the key " +"in between square brackets." +msgstr "" +"Anahtar kelimelerin gösterdiği değerlere, köşeli parantez arasına anahtar " +"kelime gelecek şekilde sözlük adını yazarak erişiyoruz." + +#: course/lesson-25-creating-dictionaries/lesson.tres:168 +msgid "How would you access how many gems the player has?" +msgstr "" +"Yukarıdaki \"inventory\" içinde, oyuncunun ne kadar mücevheri (gems) " +"olduğuna nasıl erişirdin?" + +#: course/lesson-25-creating-dictionaries/lesson.tres:171 +msgid "" +"We need to make sure the key is the same as we defined in the dictionary." +"\n" +"\n" +"In our case, [code]var item_count = inventory[\"gems\"][/code] is correct." +msgstr "" +"Anahtarın, sözlükte tanımladığımız ile aynı olduğundan emin olmalıyız.\n" +"\n" +"Bizim durumumuzda, [code]var item_count = inventory[\"gems\"][/code] " +"doğrudur." + +#: course/lesson-25-creating-dictionaries/lesson.tres:174 +msgid "var item_count = inventory[\"gem\"]" +msgstr "var item_count = inventory[\"gem\"]" + +#: course/lesson-25-creating-dictionaries/lesson.tres:174 +#: course/lesson-25-creating-dictionaries/lesson.tres:175 +msgid "var item_count = inventory[\"gems\"]" +msgstr "var item_count = inventory[\"gems\"]" + +#: course/lesson-25-creating-dictionaries/lesson.tres:174 +msgid "var item_count = inventory[\"sword\"]" +msgstr "var item_count = inventory[\"sword\"]" + +#: course/lesson-25-creating-dictionaries/lesson.tres:182 +msgid "Changing values" +msgstr "Değerleri değiştirmek" + +#: course/lesson-25-creating-dictionaries/lesson.tres:184 +msgid "" +"We can also change values directly, which is useful in our case for " +"adding or removing items from the player's inventory." +msgstr "" +"Ayrıca, değerleri doğrudan değiştirebiliriz, bu da bizim durumumuzda, " +"oyuncunun envanterine öğe eklemek veya çıkarmak için kullanışlıdır." + +#: course/lesson-25-creating-dictionaries/lesson.tres:214 +msgid "" +"In the following practices, we'll use a dictionary to create a player " +"inventory and create a function to change the value of items." +msgstr "" +"Sıradaki alıştırmalarda, bir oyuncu envanteri oluşturmak için bir sözlük " +"kullanacağız, ve öğelerin değerini değiştirmek için bir fonksiyon " +"oluşturacağız." + +#: course/lesson-25-creating-dictionaries/lesson.tres:222 +msgid "Creating an inventory using a dictionary" +msgstr "Sözlük kullanarak bir envanter oluşturmak" + +#: course/lesson-25-creating-dictionaries/lesson.tres:223 +msgid "" +"Let's give some items to the player.\n" +"\n" +"We use a dictionary for the player's inventory. We defined the " +"[code]inventory[/code] variable for you, but it contains no items yet.\n" +"\n" +"Give the player the following items by adding the correct keys and values" +" to the dictionary:\n" +"\n" +"- Three \"healing heart\".\n" +"- Nine \"gems\".\n" +"- One \"sword\".\n" +"\n" +"The keys should be text strings, and the values whole numbers." +msgstr "" +"Hadi oyuncumuza bazı eşyalar verelim.\n" +"\n" +"Oyuncunun envanteri için bir sözlük kullanıyoruz. [code]inventory[/code] " +"değişkenini sizin için tanımladık, ancak henüz öğe içermiyor.\n" +"\n" +"Sözlüğe doğru anahtarları ve değerleri ekleyerek, oyuncuya aşağıdaki öğeleri " +"ver:\n" +"\n" +"- Üç tane iyileştirici kalp, \"healing heart\".\n" +"- Dokuz tane mücevher, \"gems\".\n" +"- Bir tane kılıç, \"sword\".\n" +"\n" +"Anahtarlar birer metin dizesi, ve değerler de birer tam sayı olmalıdır." + +#: course/lesson-25-creating-dictionaries/lesson.tres:244 +msgid "" +"Collecting items is fun, but we need a good way to store them. Write a " +"dictionary to display the player's items." +msgstr "" +"Eşyaları toplamak eğlencelidir, ancak onları saklamak için iyi bir yola " +"ihtiyacımız var. Oyuncunun öğelerini görüntülemek için bir sözlük yaz." + +#: course/lesson-25-creating-dictionaries/lesson.tres:249 +msgid "Increasing item counts" +msgstr "Öğe sayılarını artırmak" + +#: course/lesson-25-creating-dictionaries/lesson.tres:250 +msgid "" +"We want to change the item counts in the player's inventory whenever the " +"player picks up or uses an item.\n" +"\n" +"We've started the [code]add_item()[/code] function for you.\n" +"\n" +"The [code]inventory[/code] dictionary should use the " +"[code]item_name[/code] parameter as the key to access its values, and we " +"should increase the value by [code]amount[/code].\n" +"\n" +"To test this practice, we'll use your [code]add_item()[/code] function to" +" increase the item count of Healing Heart, Gems, and Sword." +msgstr "" +"Oyuncu bir öğeyi aldığında veya kullandığında, oyuncunun envanterindeki öğe " +"sayılarını değiştirmek istiyoruz.\n" +"\n" +"[code]add_item()[/code] (ekle_öğe) fonksiyonunu senin için başlattık.\n" +"\n" +"Önceden tanımlı [code]inventory[/code] (envanter) sözlüğünün değerlerine " +"erişmek için anahtar olarak [code]item_name[/code] (öğe_ismi) alınan " +"değişkenini kullanmalı, ve ilgili değeri [code]amount[/code] (miktar) kadar " +"artırmalıyız.\n" +"\n" +"Bu uygulamayı test etmek için [code]add_item()[/code] fonksiyonunu " +"kullanarak Şifalı Kalp (\"healing heart\"), Mücevherler (\"gems\") ve Kılıç (" +"\"sword\") öğe sayısını artıracağız." + +#: course/lesson-25-creating-dictionaries/lesson.tres:266 +msgid "" +"The player might walk over a pick-up or find something in a chest, so we " +"need a way to change the item counts in our inventory." +msgstr "" +"Oyuncu, yerdeki alınabilir bir eşyanın üzerinden geçebilir, veya bir " +"sandıkta bir şey bulabilir, bu yüzden envanterimizdeki eşya sayılarını " +"değiştirmenin bir yoluna ihtiyacımız var." + +#: course/lesson-25-creating-dictionaries/lesson.tres:270 +msgid "Creating Dictionaries" +msgstr "Sözlükler Oluşturmak" diff --git a/i18n/tr/lesson-26-looping-over-dictionaries.po b/i18n/tr/lesson-26-looping-over-dictionaries.po new file mode 100644 index 00000000..d5491e72 --- /dev/null +++ b/i18n/tr/lesson-26-looping-over-dictionaries.po @@ -0,0 +1,206 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-07-14 21:12+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-26-looping-over-dictionaries/lesson.tres:13 +msgid "" +"Like with arrays, you can loop over dictionaries. You can loop over both " +"their keys and values.\n" +"\n" +"Let's see how it works with two examples." +msgstr "" +"Dizilerde olduğu gibi, sözlükler üzerinde de döngü oluşturabilirsin. Hem " +"anahtarların hem de değerlerin üzerinde döngü oluşturabilirsin.\n" +"\n" +"İki örnekle nasıl çalıştığını görelim." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:23 +msgid "Displaying an inventory's content" +msgstr "Bir envanterin içeriğini görüntülemek" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:25 +msgid "" +"To display the player's inventory, you need to know what it contains. You " +"need the name and amount of each object.\n" +"\n" +"And from code, you can only achieve that by looping over the whole " +"dictionary and processing key-value pairs one by one.\n" +"\n" +"To get the list of keys in the dictionary, you can call its [code]keys()[/" +"code] member function." +msgstr "" +"Oyuncunun envanterini görüntülemek için, neleri içerdiğini bilmen gerekir. " +"Her nesnenin adına ve miktarına ihtiyacın vardır.\n" +"\n" +"Ve kodun içinde, bunu yalnızca sözlüğün tamamı üzerinde döngü oluşturarak, " +"ve anahtar-değer çiftlerini tek tek işleyerek başarabilirsin.\n" +"\n" +"Sözlükteki anahtarların listesini almak için [code]keys()[/code] (anahtarlar)" +" üye fonksiyonunu çağırabilirsin." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:49 +msgid "" +"But it's something we do so much that you don't need to call the function.\n" +"\n" +"Instead, you can directly type the variable name in a [code]for[/code] loop " +"after the [code]in[/code] keyword. The language understands that you " +"implicitly want to loop over the dictionary's keys." +msgstr "" +"Ancak bu o kadar çok yaptığımız bir şey ki, bu fonksiyonu çağırmana gerek " +"yok.\n" +"\n" +"Bunun yerine, [code]for[/code] döngüsünde, [code]in[/code] (içinde) anahtar " +"sözcüğünden sonra doğrudan değişkenin adını yazabilirsin. Dil, dolaylı " +"olarak sözlüğün anahtarları üzerinde döngü yapmak istediğini anlar." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:71 +msgid "" +"You can get the values with the syntax [code]dictionary[key][/code] as you " +"learned in the previous lesson.\n" +"\n" +"We can loop over the inventory keys, get the corresponding values, and " +"display all that information in the user interface." +msgstr "" +"Önceki derste öğrendiğin gibi [code]sözlük_değişkeni[anahtar][/code] " +"sözdizimi ile değerleri alabilirsin.\n" +"\n" +"Envanter anahtarları üzerinde döngü yapabilir, karşılık gelen değerleri " +"alabilir, ve tüm bu bilgileri kullanıcı arayüzünde görüntüleyebiliriz." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:103 +msgid "" +"Instead of printing the key-value pairs to the output console, we can code " +"and call a dedicated function that displays items in the user interface." +msgstr "" +"Anahtar-değer çiftlerini çıktı penceresine yazdırmak yerine, bu öğeleri " +"kullanıcı arayüzünde görüntüleyen özel bir fonksiyon kodlayıp çağırabiliriz." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:131 +msgid "Mapping grid cells to units" +msgstr "Izgara hücrelerini birimlere eşlemek" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:133 +msgid "" +"We can also use a dictionary to map units to their position on a game " +"board.\n" +"\n" +"That's how you'd typically code a board game, a grid-based RPG, or a " +"tactical RPG.\n" +"\n" +"While we focused on [code]String[/code] keys so far, GDScript dictionaries " +"accept any value type as a key, allowing you to map anything to anything.\n" +"\n" +"The only limitation is that every key must be unique." +msgstr "" +"Birimleri, bir oyun tahtasındaki konumlarına eşlemek için bir sözlük de " +"kullanabiliriz.\n" +"\n" +"Genellikle bir masa oyununu, ızgara tabanlı bir RPG'yi, veya taktiksel bir " +"RPG'yi bu şekilde kodlarsın.\n" +"\n" +"Şimdiye kadar dize tipinde ([code]String[/code]) anahtarlarına odaklanmış " +"olsak da, GDScript sözlükleri herhangi bir değer tipini anahtar olarak kabul " +"edebilir, ve herhangi bir şeyi herhangi başka bir şeyle eşlemene olanak " +"tanır.\n" +"\n" +"Tek sınırlama, her anahtarın benzersiz olması gerektiğidir." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:159 +msgid "" +"Using a [code]for[/code] loop, you can use the key-value pairs to place " +"units on the board at the start of a game." +msgstr "" +"Oyunun başında birimleri tahtaya yerleştirmek için, [code]for[/code] " +"döngüsünü ile anahtar-değer çiftlerini kullanabilirsin." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:189 +msgid "" +"In the following practices, you will loop over dictionaries and process " +"their content." +msgstr "" +"Sıradaki alıştırmalarda, sözlükler üzerinde döngü oluşturacak ve " +"içeriklerini işleyeceksin." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:197 +msgid "Displaying the inventory" +msgstr "Envanteri görüntülemek" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:198 +msgid "" +"We use a dictionary to represent the player's inventory in this game. The " +"dictionary keys are the name of items, and they map to the number of items " +"that the player owns.\n" +"\n" +"You need to loop over the dictionary and display the name and amount of " +"every item in the inventory.\n" +"\n" +"To do so, call the [code]display_item()[/code] function. It takes two " +"arguments: the item name and the amount." +msgstr "" +"Bu oyunda, oyuncunun envanterini temsil etmek için bir sözlük kullanıyoruz " +"(inventory). Sözlüğün anahtarları öğelerin isimleridir ve oyuncunun sahip " +"olduğu öğe sayılarıyla eşlenir.\n" +"\n" +"Sözlüğün üzerinde döngü yapman ve envanterdeki her öğenin adını ve miktarını " +"görüntülemen gerekiyor.\n" +"\n" +"Bunu yapmak için [code]display_item()[/code] (görüntüle_öğe) fonksiyonunu " +"çağır. Bu fonksiyon iki girdi değişkeni gerektirir: öğenin ismi ve miktarı." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:218 +msgid "" +"We need to display the player's inventory on the screen but lack the code to " +"do so. Use a loop to display every item." +msgstr "" +"Oyuncunun envanterini ekranda göstermemiz gerekiyor, ancak bunu yapmak için " +"kodumuz yok. Her öğeyi görüntülemek için bir döngü kullan." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:223 +msgid "Placing units on the board" +msgstr "Birimleri tahtaya yerleştirmek" + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:224 +msgid "" +"We have a dictionary named [code]units[/code] that maps a cell position on " +"the grid to a unit to put there.\n" +"\n" +"Using a for loop and the [code]place_unit()[/code] function, place every " +"unit in the units dictionary at the desired position on the game board." +msgstr "" +"[code]units[/code] adında (birimler), ızgaradaki bir hücre konumunu, oraya " +"koyacağımız bir birimle eşleyen bir sözlüğümüz var.\n" +"\n" +"Bir for döngüsü ve [code]place_unit()[/code] (yerleştir_birim) fonksiyonunu " +"kullanarak, birimler sözlüğündeki her birimi oyun tahtasında istenen konuma " +"yerleştir." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:242 +msgid "" +"We want to populate our game board with units at the start of every battle. " +"Loop over the dictionary to place units on the board." +msgstr "" +"Her savaşın başında, oyun tahtamızı birimlerle doldurmak istiyoruz. " +"Birimleri tahtaya yerleştirmek için sözlüğün üzerinde döngü yap." + +#: course/lesson-26-looping-over-dictionaries/lesson.tres:246 +msgid "Looping over dictionaries" +msgstr "Sözlükler üzerinde döngü kurmak" diff --git a/i18n/tr/lesson-27-value-types.po b/i18n/tr/lesson-27-value-types.po new file mode 100644 index 00000000..d22494ec --- /dev/null +++ b/i18n/tr/lesson-27-value-types.po @@ -0,0 +1,341 @@ +# 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 , 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: 2022-06-12 11:07+0200\n" +"PO-Revision-Date: 2023-07-14 21:12+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-27-value-types/lesson.tres:13 +msgid "" +"In your code, values have a particular [i]type[/i]. You have already learned " +"about several: whole numbers, decimal numbers, strings, 2D vectors, arrays, " +"and dictionaries.\n" +"\n" +"The computer uses the type of a value to know which operations and functions " +"you can use with them.\n" +"\n" +"As a result, it's essential to understand types: they are not fully " +"compatible with one another, and misusing them will cause errors." +msgstr "" +"Kodunun içinde, her değerin belirli bir [i]tipi[/i] vardır. Birkaç tanesi " +"hakkında zaten bilgi edindin: tam sayılar, ondalık sayılar, dizeler, 2B " +"vektörler, diziler ve sözlükler.\n" +"\n" +"Bilgisayar, bunlarla hangi işlemleri yapabileceğin ve hangi fonksiyonları " +"kullanabileceğini bilmek için değer tiplerini kullanır.\n" +"\n" +"Sonuç olarak, değer tiplerini anlamak önemlidir: birbirleriyle tam olarak " +"uyumlu değildirler ve bunları yanlış kullanmak hatalara neden olur." + +#: course/lesson-27-value-types/lesson.tres:25 +msgid "A prime example" +msgstr "En iyi örnek" + +#: course/lesson-27-value-types/lesson.tres:27 +msgid "" +"You want to display the player's health in the interface. Your code tracks " +"health as a whole number, a value of type [code]int[/code] (short for " +"integer)." +msgstr "" +"Oyuncunun sağlığını arayüzde görüntülemek istiyorsun. Yazdığın kod, sağlık " +"durumunu [code]int[/code] (integer'ın kısaltması) tipinde bir değer olan tam " +"sayı olarak izler." + +#: course/lesson-27-value-types/lesson.tres:47 +msgid "" +"However, to display it on the player's screen, the computer wants text: it " +"needs a value of type [code]String[/code].\n" +"\n" +"You can concatenate two strings with the [code]+[/code] operator." +msgstr "" +"Ancak, oyuncunun ekranında görüntülemek için, bilgisayar bir metin ister: " +"[code]Dize[/code] tipinde bir değere ihtiyacı vardır.\n" +"\n" +"İki dizeyi [code]+[/code] işleciyle birleştirebilirsin." + +#: course/lesson-27-value-types/lesson.tres:69 +msgid "So the following code looks like it could work at first glance." +msgstr "Bu yüzden aşağıdaki kod, ilk bakışta işe yarayabilecek gibi görünüyor." + +#: course/lesson-27-value-types/lesson.tres:89 +msgid "But when running the code, we get this strange error." +msgstr "Ancak kodu çalıştırınca, bu garip hatayı alıyoruz." + +#: course/lesson-27-value-types/lesson.tres:109 +msgid "" +"It tells you you can't add values of type [code]String[/code] and [code]int[/" +"code]: they're incompatible.\n" +"\n" +"In that case, you need to convert the [code]health[/code] number into a " +"[code]String[/code]." +msgstr "" +"Bu sana, [code]String(dize)[/code] ve [code]int(tam sayı)[/code] tipinde " +"değerleri birbirine ekleyemeyeceğini söyler: bunlar uyumsuzdur.\n" +"\n" +"Bu durumda, [code]health[/code] sayısını bize [code]String[/code] tipine " +"dönüştürmen gerekir." + +#: course/lesson-27-value-types/lesson.tres:119 +msgid "Converting values into strings" +msgstr "Değerleri dizelere dönüştürmek" + +#: course/lesson-27-value-types/lesson.tres:121 +msgid "" +"You can get the text representation of a value by calling the [code]str()[/" +"code] function (short for \"string\"). The function returns its argument as " +"a new [code]String[/code].\n" +"\n" +"You can use this function whenever you want to turn some number or vector " +"into text." +msgstr "" +"[code]str()[/code] fonksiyonunu (\"string\" ifadesinin kısaltması) çağırarak " +"bir değerin metin karşılığını alabilirsin. Fonksiyon, girdi değişkenini yeni " +"bir [code]String[/code] olarak döndürür.\n" +"\n" +"Bir sayıyı veya vektörü metne dönüştürmek istediğinde bu fonksiyonu " +"kullanabilirsin." + +#: course/lesson-27-value-types/lesson.tres:143 +msgid "" +"In this case, it turns the number [code]100[/code] into the string " +"[code]\"100\"[/code]. Or whatever number [code]health[/code] is currently." +msgstr "" +"Bu durumda, [code]100[/code] sayısını [code]\"100\"[/code] dizesine çevirir. " +"Veya şu anda [code]health[/code] değeri her ne ise." + +#: course/lesson-27-value-types/lesson.tres:151 +msgid "Converting strings into numbers" +msgstr "Dizeleri sayılara dönüştürmek" + +#: course/lesson-27-value-types/lesson.tres:153 +msgid "" +"You can also convert strings into whole numbers or decimal numbers using " +"respectively the [code]int()[/code] and [code]float()[/code] functions.\n" +"\n" +"Those functions can convert what the player writes in a text field into a " +"number. For example, the number of potions to sell at once in a shop." +msgstr "" +"Ayrıca, [code]int()[/code] ve [code]float()[/code] fonksiyonlarını " +"kullanarak dizeleri sırasıyla tam sayılara veya ondalık sayılara " +"dönüştürebilirsin.\n" +"\n" +"Bu fonksiyonlar, oyuncunun bir metin girişi alanına yazdıklarını bir sayıya " +"dönüştürebilir. Örneğin, bir dükkanda bir kerede satılacak iksir sayısı." + +#: course/lesson-27-value-types/lesson.tres:173 +msgid "Some types are partially compatible" +msgstr "Bazı tipler kısmen uyumludur" + +#: course/lesson-27-value-types/lesson.tres:175 +msgid "" +"Most types are incompatible. For example, you can't directly add or multiply " +"an array with a number.\n" +"\n" +"However, some types are [i]partially[/i] compatible. For example, you can " +"multiply or divide a vector by a number. " +msgstr "" +"Çoğu değer tipi birbiriyle uyumsuzdur. Örneğin, bir dizi ile bir sayı " +"doğrudan toplayamaz veya çarpamazsın.\n" +"\n" +"Ancak, bazı tipler [i]kısmen[/i] uyumludur. Örneğin, bir vektörü bir sayı " +"ile çarpabilir veya bölebilirsin. " + +#: course/lesson-27-value-types/lesson.tres:197 +msgid "" +"It is possible because other developers defined that operation for you under " +"the hood.\n" +"\n" +"However, you cannot directly add or subtract a number to a vector. You'll " +"get an error. That's why, in earlier lessons, you had to access the sub-" +"variables of [code]position[/code] to add numbers to them." +msgstr "" +"Bu işlem mümkündür, çünkü diğer geliştiriciler bu işlemi sizin için sistemin " +"içinde tanımladılar.\n" +"\n" +"Ancak, bir vektöre doğrudan sayı ekleyemez veya çıkaramazsın. Bir hata " +"alırsın. Bu nedenle, önceki derslerde, vektörlere sayı eklemek için " +"[code]position[/code] (konum) değişkeninin alt-değişkenlerine (x ve y) " +"erişmen gerekiyordu." + +#: course/lesson-27-value-types/lesson.tres:207 +msgid "A surprising result" +msgstr "Şaşırtıcı bir sonuç" + +#: course/lesson-27-value-types/lesson.tres:209 +msgid "" +"Take the following division: [code]3/2[/code]. What result would you expect " +"to get? [code]1.5[/code]?" +msgstr "" +"Şu bölme işlemini ele alalım: [code]3/2[/code]. Nasıl bir sonuç almayı " +"beklersin? [code]1.5[/code]?" + +#: course/lesson-27-value-types/lesson.tres:229 +msgid "" +"Well, for the computer, the result of [code]3/2[/code] is [code]1[/code].\n" +"\n" +"Wait, what?!\n" +"\n" +"That's because, for the computer, the division of two whole numbers should " +"always result in a whole number.\n" +"\n" +"When you divide decimal numbers instead, you will get a decimal number as a " +"result." +msgstr "" +"Aslında, bilgisayar için, [code]3/2[/code]'in sonucu [code]1[/code]'dir.\n" +"\n" +"Bekle, ne?!\n" +"\n" +"Bunun nedeni, bilgisayar için iki tam sayının bölünmesinin her zaman bir tam " +"sayı ile sonuçlanması gerektiğidir.\n" +"\n" +"Bunun yerine ondalık sayıları böldüğünde, sonuç olarak ondalık bir sayı elde " +"edersin." + +#: course/lesson-27-value-types/lesson.tres:255 +msgid "" +"Even if it's just a [code]0[/code], adding a decimal place tells the " +"computer we want decimal numbers.\n" +"\n" +"This shows you how mindful you need to be with types. Otherwise, you will " +"get unexpected results. It can get pretty serious: number errors can lead to " +"bugs like controls not working as intended or charging the wrong price to " +"players. " +msgstr "" +"Yalnızca bir [code]0[/code] olsa bile, ondalık basamak eklemek bilgisayara " +"ondalık sayılar istediğimizi söyler.\n" +"\n" +"Bu, değer tipleri ile ne kadar dikkatli olman gerektiğini gösterir. Aksi " +"takdirde, beklenmedik sonuçlar alırsın. Bu sorun oldukça ciddi olabilir: " +"sayı hataları, oyun tuşlarının amaçlandığı gibi çalışmaması veya " +"oyunculardan yanlış ücretlendirme talep etmek gibi hatalara neden olabilir. " + +#: course/lesson-27-value-types/lesson.tres:265 +msgid "Understanding and mastering types is a key skill for developers" +msgstr "" +"Değer tiplerini anlamak ve bunlara hakim olmak, geliştiriciler için önemli " +"bir beceridir" + +#: course/lesson-27-value-types/lesson.tres:267 +msgid "" +"Programming beginners often struggle due to the lack of understanding of " +"types.\n" +"\n" +"Languages like GDScript hide the types from you by default. As a result, if " +"you don't understand that some are incompatible, you can get stuck when " +"facing type-related errors.\n" +"\n" +"You'll want to keep that in mind in your learning journey. When writing " +"code, you will need to understand everything that's happening.\n" +"\n" +"That said, let's practice some type conversions." +msgstr "" +"Programlamaya yeni başlayanlar, genellikle değer tiplerini eksik anlamak ile " +"mücadele ederler.\n" +"\n" +"GDScript gibi diller, varsayılan olarak tipleri sizden gizler. Sonuç olarak, " +"bazılarının uyumsuz olduğunu anlamazsan, bir tip ile ilgili hatalarla " +"karşılaştığınız takılıp kalabilirsin.\n" +"\n" +"Öğrenme yolculuğun boyunca bunu aklınızda tutmak isteyeceksin. Kod yazarken, " +"olan her şeyi anlaman gerekir.\n" +"\n" +"Bunu da söylediğimize göre, artık bazı tipleri dönüştürme alıştırması " +"yapalım." + +#: course/lesson-27-value-types/lesson.tres:281 +msgid "Displaying the player's health and energy" +msgstr "Oyuncunun sağlığını ve enerjisini göstermek" + +#: course/lesson-27-value-types/lesson.tres:282 +msgid "" +"We want to display the player's energy in the user interface.\n" +"\n" +"Currently, our code has a type error. We're trying to display a whole number " +"while the [code]display_energy()[/code] function expects a string.\n" +"\n" +"Using the [code]str()[/code] function, clear the type error and make the " +"energy amount display on the interface.\n" +"\n" +"You can't change the [code]energy[/code] variable definition: setting it to " +"[code]\"80\"[/code] would break the rest of the game's code. You must " +"convert the value when calling [code]display_energy()[/code]." +msgstr "" +"Oyuncunun enerjisini kullanıcı arayüzünde göstermek istiyoruz.\n" +"\n" +"Şu anda kodumuzda bir değer tipi hatası var. [code]display_energy()[/code] " +"(göster_enerji) fonksiyonu bir dize bekliyor ama biz bir tam sayı " +"görüntülemeye çalışıyoruz.\n" +"\n" +"[code]str()[/code] fonksiyonunu kullanarak, yazım hatasını temizle ve enerji " +"miktarının arayüzde görüntülenmesini sağla.\n" +"\n" +"[code]energy[/code] değişken tanımını sakın değiştirme: (hile yapıp) [code]" +"\"80\"[/code] olarak ayarlamak oyunun kodunun geri kalanını bozar. " +"[code]display_energy()[/code] fonksiyonunu çağırırken verdiğin değeri " +"dönüştürmelisin." + +#: course/lesson-27-value-types/lesson.tres:300 +msgid "" +"We want to display the player's energy in the interface but face a type " +"error. Use your new knowledge to fix it." +msgstr "" +"Arayüzde oyuncunun enerjisini göstermek istiyoruz ancak bir yazım hatasıyla " +"karşılaşıyoruz. Düzeltmek için yeni bilgini kullan." + +#: course/lesson-27-value-types/lesson.tres:305 +msgid "Letting the player type numbers" +msgstr "Oyuncunun sayı yazmasına izin vermek" + +#: course/lesson-27-value-types/lesson.tres:306 +msgid "" +"In our game's shops, we want to let the player type numbers to select the " +"number of items they want to buy or sell.\n" +"\n" +"We need to know the number of items as an [code]int[/code], but the computer " +"reads the player's input as a [code]String[/code].\n" +"\n" +"Your task is to convert the player's input into numbers for the shop's code " +"to work.\n" +"\n" +"Using the [code]int()[/code] function, convert the player's input into a " +"whole number and store the result in the [code]item_count[/code] variable." +msgstr "" +"Oyunumuzun mağazalarında oyuncunun, satın almak veya satmak istediği öğe " +"sayısını seçmek için, sayı yazmasına izin vermek istiyoruz.\n" +"\n" +"Öğelerin sayısını [code]int[/code] olarak bilmemiz gerekir, ancak bilgisayar " +"oyuncunun girişini [code]dize[/code] olarak okur.\n" +"\n" +"Görevin, oyuncunun girdisini, mağaza kodunun çalışması için sayılara " +"dönüştürmektir.\n" +"\n" +"[code]int()[/code] fonksiyonunu kullanarak, oyuncunun girişini bir tam " +"sayıya dönüştür ve sonucu [code]item_count[/code] değişkeninde sakla." + +#: course/lesson-27-value-types/lesson.tres:326 +msgid "" +"We want the player to choose the number of items they buy or sell in our " +"game's shops. But right now, all we get are type errors." +msgstr "" +"Oyuncunun, oyunumuzun mağazalarında satın aldığı veya sattığı eşya sayısını " +"seçmesini istiyoruz. Ancak şu anda aldığımız tek şey değer tipi hataları." + +#: course/lesson-27-value-types/lesson.tres:330 +msgid "Value types" +msgstr "Değer Tipleri" diff --git a/i18n/tr/lesson-28-specifying-types.po b/i18n/tr/lesson-28-specifying-types.po new file mode 100644 index 00000000..dcf18df7 --- /dev/null +++ b/i18n/tr/lesson-28-specifying-types.po @@ -0,0 +1,302 @@ +# 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 , 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-14 21:12+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-28-specifying-types/lesson.tres:13 +msgid "" +"By default, GDScript is what we call a dynamically-typed language. That " +"means that you can just write variables, assign them a value with a number, " +"and assign them another value with a different type.\n" +"\n" +"Unlike in some other languages, in GDScript, the following code is valid." +msgstr "" +"GDScript, varsayılan olarak, dinamik-yazımlı dediğimiz bir dildir. Bu, " +"değişkenleri öylece yazabileceğin, onlara bir sayı gibi bir değer verip, " +"sonra onlara farklı tipte başka bir değer atayabileceğin anlamına gelir.\n" +"\n" +"Diğer bazı dillerden farklı olarak, GDScript'te aşağıdaki kod geçerlidir." + +#: course/lesson-28-specifying-types/lesson.tres:35 +msgid "" +"But this feature often causes problems down the line. Let's take one example." +msgstr "" +"Ancak bu özellik genellikle daha sonra sorunlara neden olur. Bir örnek " +"verelim." + +#: course/lesson-28-specifying-types/lesson.tres:43 +msgid "Cell size: decimal number, or 2D vector?" +msgstr "Hücre boyutu: ondalık sayı mı, yoksa 2B vektör mü?" + +#: course/lesson-28-specifying-types/lesson.tres:45 +msgid "" +"Games use grids all the time, be it for grid-based gameplay or to make " +"algorithms faster.\n" +"\n" +"When working with grids, you need to convert grid coordinates into positions " +"in the game world all the time. To do so, you give each cell a size in " +"pixels.\n" +"\n" +"You'll likely pick one of two types for that: [code]float[/code] or " +"[code]Vector2[/code], because pixel positions on the screen use " +"[code]Vector2[/code] coordinates.\n" +"\n" +"Either of those two values would be fine:" +msgstr "" +"Oyunlar, ızgara-tabanlı bir oyun için, veya algoritmaları daha hızlı hale " +"getirmek için, her zaman ızgaraları kullanır.\n" +"\n" +"Izgaralarla çalışırken her zaman, ızgara koordinatlarını oyun dünyasındaki " +"konumlara dönüştürmen gerekir. Bunu yapmak için, her hücreye piksel " +"cinsinden bir boyut verirsin.\n" +"\n" +"Bunun için muhtemelen iki tipten birini seçeceksin: [code]float[/code] (" +"ondalık sayı) veya [code]Vector2[/code], çünkü ekrandaki piksel konumları " +"[code]Vector2[/code] kullanır.\n" +"\n" +"Bu değerlerin ikisi de işimizi görür:" + +#: course/lesson-28-specifying-types/lesson.tres:71 +msgid "" +"Using a [code]Vector2[/code] could simplify some calculations. For example, " +"when converting grid coordinates to game world coordinates." +msgstr "" +"[code]Vector2[/code] kullanmak bazı hesaplamaları basitleştirebilir. " +"Örneğin, ızgara konumlarını oyun dünyası konumlarına dönüştürürken." + +#: course/lesson-28-specifying-types/lesson.tres:91 +msgid "" +"In this example, because both [code]cell[/code] and [code]cell_size[/code] " +"are [code]Vector2[/code] values, we can add them.\n" +"\n" +"However, if [code]cell_size[/code] is a [code]float[/code], we will get a " +"type error." +msgstr "" +"Bu örnekte, hem [code]cell[/code] (hücre) hem de [code]cell_size[/code] " +"(hücre_boyu), [code]Vector2[/code] tipinde olduğundan, bunları ekleyebiliriz." +"\n" +"\n" +"Ancak, [code]cell_size[/code] bir [code]float[/code] olursa, bir tip hatası " +"alırız." + +#: course/lesson-28-specifying-types/lesson.tres:123 +msgid "" +"Worse: due to dynamic typing, we won't get an error [i]right away[/i]. We " +"will only get the error when calling [code]grid_to_world(Vector2(1, 1))[/" +"code].\n" +"\n" +"And that's a big problem." +msgstr "" +"Daha da kötüsü: dinamik yazma nedeniyle, bu hatayı [i]hemen[/i] almayacağız. " +"Hatayı, ancak [code]grid_to_world(Vector2(1, 1))[/code] gibi bir fonksiyon " +"çağrısı yaparsak alacağız.\n" +"\n" +"Ve bu büyük bir sorun." + +#: course/lesson-28-specifying-types/lesson.tres:135 +msgid "" +"Because we're learning, we only have small code examples in this course. But " +"your games' code will get long and split into many files. When coding, you " +"often forget about the code you wrote several weeks ago.\n" +"\n" +"And with a lot of code, it could take [i]hours[/i] of play before players " +"trigger a type error in your code." +msgstr "" +"Henüz öğrenme aşamasında olduğumuz için, bu derste sadece küçük kod " +"örneklerimiz var. Ancak oyun kodların uzayacak ve bir sürü dosyaya " +"bölünecektir. Kodlama yaparken, genellikle, birkaç hafta önce yazdığın kodu " +"unutursun.\n" +"\n" +"Ve kodlar arttıkça, oyuncuların kod içindeki bir tip hatasını tetiklemesi " +"için [i]saatlerce[/i] oynaması gerekebilir." + +#: course/lesson-28-specifying-types/lesson.tres:145 +msgid "Using type hints" +msgstr "Tip belirteçlerini kullanmak" + +#: course/lesson-28-specifying-types/lesson.tres:147 +msgid "" +"Fortunately, GDScript has optional [i]type hints[/i].\n" +"\n" +"Type hints let the computer know the value type you want for variables and " +"report errors before running the code.\n" +"\n" +"To specify the type a variable can accept, you can write a colon and a type " +"after the name when defining a new variable." +msgstr "" +"Neyse ki GDScript, isteğe bağlı [i]tipi belirteçleri[/i]'ne sahip.\n" +"\n" +"Tip belirteçleri bilgisayara, kodu çalıştırmadan önce, değişkenler için " +"istediğin değer tipi bilgisini verir ve geriye hataları bildirmesini sağlar." +"\n" +"\n" +"Bir değişkenin kabul edebileceği değer tipini belirtmek için, yeni bir " +"değişken tanımlarken, isimden sonra iki nokta üst üste ve ardına tipi " +"yazabilirsin." + +#: course/lesson-28-specifying-types/lesson.tres:171 +msgid "" +"You could tell the computer you want [code]cell_size[/code] only to accept " +"[code]Vector2[/code] values like so." +msgstr "" +"Bilgisayara, [code]cell_size[/code] değişkeninin yalnızca " +"[code]Vector2[/code] tipindeki değerleri kabul etmesini şöyle " +"söyleyebilirsin." + +#: course/lesson-28-specifying-types/lesson.tres:191 +msgid "" +"If you try to replace the [code]cell_size[/code] with a value of another " +"type later, the computer will not let you." +msgstr "" +"Eğer daha sonra, [code]cell_size[/code] değerini başka değer tipinde bir " +"değerle değiştirmeye çalışırsan, bilgisayar sana izin vermez." + +#: course/lesson-28-specifying-types/lesson.tres:219 +msgid "Letting the computer figure it out" +msgstr "Anlama işini bilgisayara bırakmak" + +#: course/lesson-28-specifying-types/lesson.tres:221 +msgid "" +"GDScript comes with a feature called [i]type inference[/i]. In many cases, " +"but not all, the computer can figure out the type of a variable for you.\n" +"\n" +"To do so, you write [code]:=[/code], without the type. The computer will set " +"the type using the value after the equal sign. We could make " +"[code]cell_size[/code] a variable of type [code]Vector2[/code] like so:" +msgstr "" +"GDScript, [i]tip çıkarımı[/i] (type inference) isimli bir özellikle birlikte " +"gelir. Her zaman değil ama çoğu durumda, bilgisayar senin için bir " +"değişkenin tipini bulabilir.\n" +"\n" +"Bunu yapmak için, tip olmadan [code]:=[/code] yazarsınız. Bilgisayar, " +"eşittir işaretinden sonraki değeri kullanarak tip ayarını yapar. " +"[code]cell_size[/code] değişkenini, şu şekilde [code]Vector2[/code] tipinde " +"bir değişken yapabiliriz:" + +#: course/lesson-28-specifying-types/lesson.tres:243 +msgid "" +"This takes little typing, yet you get the benefits of using type hints, like " +"the computer reporting errors better and faster." +msgstr "" +"Bu azıcık daha yazma gerektirir (fazladan iki nokta üstüste), ancak " +"bilgisayarın hataları daha iyi ve daha hızlı bildirmesi gibi, tip " +"belirteçlerini kullanmanın avantajlarından yararlanırsın." + +#: course/lesson-28-specifying-types/lesson.tres:251 +msgid "Why bother to add hints?" +msgstr "Neden belirteçler eklemek için uğraşıyoruz?" + +#: course/lesson-28-specifying-types/lesson.tres:253 +msgid "" +"When you give the language hints like that, it will [i]prevent[/i] major " +"type errors. When you work in Godot, you will see that the computer can " +"report issues as you write the code. It makes the benefit even greater.\n" +"\n" +"Type hints can also help improve the readability of your code. It can help " +"to put more information directly in the code. As we saw, types are essential " +"when coding, and when using type hints, the computer will add them to the " +"engine's built-in code documentation system.\n" +"\n" +"There's an incredible third benefit for you: by using type hints, you will " +"learn types much faster. It's excellent for learning.\n" +"\n" +"In the following practices, you will write the correct type hints to make " +"the code error-free." +msgstr "" +"Dile bu şekilde belirteçler verdiğinde, başlıca tip hatalarını " +"[i]önleyecektir[/i]. Godot ile çalışırken, sen daha kodu yazarken " +"bilgisayarın sorunları bildirebildiğini göreceksin. Bu, bunun faydasını daha " +"da büyük hale getirir.\n" +"\n" +"Tip belirteçleri, kodun okunabilirliğini artırmaya da yardımcı olabilir. " +"Koda, doğrudan daha fazla bilgi koymana yardımcı olabilir. Gördüğümüz gibi " +"tipler, kodlama yaparken çok önemli, ve tip belirteçlerini kullanırken " +"bilgisayar bunları, motorun yerleşik kod belgelendirme sistemine " +"ekleyecektir.\n" +"\n" +"Senin için inanılmaz bir üçüncü avantaj var: tip belirteçlerini kullanarak, " +"tipleri çok daha hızlı öğrenirsin. Öğrenmek için harika.\n" +"\n" +"Sıradaki uygulamalarda, kodu hatasız hale getirmek için doğru tip " +"belirteçlerini yazacaksın." + +#: course/lesson-28-specifying-types/lesson.tres:267 +msgid "Add the correct type hints to variables" +msgstr "Değişkenlere doğru tip belirteçlerini eklemek" + +#: course/lesson-28-specifying-types/lesson.tres:268 +msgid "" +"Our variables get the correct values but not the right hints. Using your " +"type-fu, add the correct type names in the variable definitions.\n" +"\n" +"You need to write the type name between the colon and the equal sign.\n" +"\n" +"Note: You cannot use type inference in this practice. You need to write the " +"type name in full." +msgstr "" +"Değişkenlerimiz doğru değerleri alıyor, ancak belirteçleri doğru değil. tip-" +"fu yeteneğini kullanarak, değişken tanımlarına doğru tip isimlerini ekle. (" +"tam sayı \"int\", ondalık sayı \"float\", dize için \"String\", vektörü " +"hatırlarsın)\n" +"\n" +"Tip adını iki nokta üst üste ve eşittir işareti arasına yazman gerekir. (iki " +"nokta üstüste işaretinin solunda boşluk olmasın).\n" +"\n" +"Not: Bu uygulamada tip çıkarımını kullanamazsın. Tip adını tam olarak yazman " +"gerek." + +#: course/lesson-28-specifying-types/lesson.tres:284 +msgid "" +"Our variables have the wrong type hints, causing errors. Correct them to " +"make the code run." +msgstr "" +"Değişkenlerimizin tip belirteçleri yanlış, ve bu hatalara neden oluyor. " +"Kodun çalışmasını sağlamak için bunları düzelt." + +#: course/lesson-28-specifying-types/lesson.tres:289 +msgid "Fix the values to match the type hints" +msgstr "Değerleri, tip belirteçleri ile eşleşecek şekilde düzeltmek" + +#: course/lesson-28-specifying-types/lesson.tres:290 +msgid "" +"It is the other way around in this practice: the type hints are fine, but " +"the values are not.\n" +"\n" +"Your task is to fix the values after the equal sign, so they match the type " +"hint of each variable." +msgstr "" +"Bu alıştırmada, önceki alıştırmanın tam tersi geçerli: tip belirteçleri " +"doğru yerlerinde, ancak değerler yanlış.\n" +"\n" +"Görevin, eşittir işaretinden sonraki değerleri düzeltmek, böylece değişkenin " +"tip belirteçi ile eşleşsinler." + +#: course/lesson-28-specifying-types/lesson.tres:304 +msgid "" +"This time, it's the other way around: variables have the correct type hints " +"but the wrong values. Change the values to make the code run." +msgstr "" +"Bu sefer tam tersi: değişkenler tip belirteçleri doğru, ancak değerleri " +"yanlış. Kodun çalışmasını sağlamak için değerleri değiştir." + +#: course/lesson-28-specifying-types/lesson.tres:308 +msgid "Specifying types with type hints" +msgstr "Değer tiplerini, tip belirteçleri ile belirtmek" diff --git a/i18n/tr/lesson-3-standing-on-shoulders-of-giants.po b/i18n/tr/lesson-3-standing-on-shoulders-of-giants.po new file mode 100644 index 00000000..78163160 --- /dev/null +++ b/i18n/tr/lesson-3-standing-on-shoulders-of-giants.po @@ -0,0 +1,482 @@ +# 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 , 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-10 21:52+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-3-standing-on-shoulders-of-giants/lesson.tres:14 +msgid "" +"As programmers, we rely on a lot of code created by others before us.\n" +"\n" +"Every programming language comes with a wealth of features created by other " +"programmers to save you time.\n" +"\n" +"We call a bundle of code created by fellow developers a [i]library[/i].\n" +"\n" +"It's a bunch of code sitting there, waiting for you to use it.\n" +"\n" +"Game engines like Godot bundle many libraries together. They provide a " +"massive toolset to save you time when making games." +msgstr "" +"Programcılar olarak, bizden önce gelen başkalarının yazdığı bir sürü koda " +"bağlı durumdayız.\n" +"\n" +"Her programlama dili, size zaman kazandırmak amacıyla, diğer programcılar " +"tarafından yazılmış bol miktarda özellik ile gelir.\n" +"\n" +"Bu tarz, meslektaş geliştiriciler tarafından yazılmış kod paketlerini " +"[i]kütüphane[/i] olarak isimlendiriyoruz.\n" +"\n" +"Bunlar, oturup sizin onları kullanmanı bekleyen kod yığınlarıdır.\n" +"\n" +"Godot gibi oyun motorları bir çok kütüphane ile birlikte gelir. Sana, oyun " +"yaparken zaman kazandırmak amacıyla devasa bir alet takımı sunar." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:30 +msgid "You'll always use a lot of existing code" +msgstr "Her zaman, sürüyle hazırda bekleyen kod kullanacaksın" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:32 +msgid "" +"When coding, you always use a lot of code from developers who came before " +"you.\n" +"\n" +"In a moment, you'll write your first code. You'll use [i]functions[/i] " +"created by the Godot developers.\n" +"\n" +"A function is a list of instructions with an exact name. We can tell the " +"computer to execute all the instructions in sequence with that name." +msgstr "" +"Kodlama yaparken, her zaman, senden önce gelen geliştiricilerden kalma çok " +"fazla kod kullanacaksın.\n" +"\n" +"Kısa sürede, ilk kodunu yazmış olacaksın. Godot geliştiricileri tarafından " +"yazılmış [i]fonksiyonlar[/i] kullanacaksın.\n" +"\n" +"Bir fonksiyon, belirli bir isim altında toplanmış talimatlar listesidir. " +"Bilgisayara, bu isme sahip tüm talimatları sırayla çalıştırmasını " +"söyleyebiliriz." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:44 +msgid "Calling functions" +msgstr "Fonksiyonları çağırma" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:46 +msgid "" +"When you tell the computer to execute a function, we say you [i]call[/i] the " +"function.\n" +"\n" +"To call a function, you write its [i]exact[/i] name followed by an open and " +"closed parenthesis. To call the function named \"show\", you would write " +"[code]show()[/code]." +msgstr "" +"Bilgisayara bir fonksiyonu çalıştırmasını söylediğinde, fonksiyonu " +"[i]çağırdın[/i] diyebiliriz.\n" +"\n" +"Bir fonksiyonu çağırmak için, onun [i]tam[/i] ismini ve ardından açık ve " +"kapalı parantezleri yazarsın. \"show\" (göster) isimli fonksiyonu çağırmak " +"için, [code]show()[/code] yazman gerekir." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:58 +msgid "" +"In Godot, calling [code]show()[/code] makes something visible, like a " +"character or item. The complementary [code]hide()[/code] function hides the " +"entity.\n" +"\n" +"Once an entity is visible, calling [code]show()[/code] again doesn't have " +"any effect.\n" +"\n" +"Similarly, once you hide something, calling [code]hide()[/code] again " +"doesn't change anything.\n" +"\n" +"[i]Click the Run button on any example below to execute the code listing.[/i]" +msgstr "" +"Godot'ta [code]show()[/code] çağırmak bir şeyi görünür yapar; mesela bir " +"karakter ya da öğe. Karşılık gelen [code]hide()[/code] ise bir varlığı " +"gizler.\n" +"\n" +"Bir varlık bir kez görünür olduğunda, tekrar [code]show()[/code] kullanmanın " +"bir etkisi olmaz.\n" +"\n" +"Aynı şekilde, bir şeyi gizlediğinde, tekrar [code]hide()[/code] kullanmak " +"bir şeyi değiştirmez.\n" +"\n" +"[i]Aşağıdaki örneklerden herhangi birinde kod listesini işlemek için " +"çalıştır, \"run()\", tuşuna bas.[/i] (Sıfırlamak için \"Reset\")" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:84 +msgid "" +"In the code listing above, we write the function call [code]hide()[/code] in " +"a new function named [code]run()[/code] to execute the code. Creating a new " +"function is necessary to execute instructions in GDScript." +msgstr "" +"Yukarıdaki kod listesinde, [code]hide()[/code] fonksiyon çağırmasını, kodu " +"çağırmak için [code]run()[/code] isimli yeni bir fonksiyonun içinde yazdık. " +"GDScript'te talimatları işlemek için yeni bir fonksiyon oluşturmak " +"gereklidir." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:92 +msgid "Can you tell me more about that \"run()\" function?" +msgstr "Bana \"run()\" fonksiyonu hakkında daha başka ne söyleyebilirsin?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:94 +msgid "" +"In GDScript, unlike in some other languages, we must write our code inside " +"of custom functions.\n" +"\n" +"You'll learn what functions are and how they work in great detail in the " +"course, but here's a quick look at them if you're curious.\n" +"\n" +"A function is a bundle of code you can execute anytime. It's a named list of " +"instructions.\n" +"\n" +"To define a function, you need to write the [code]func[/code] keyword, the " +"function's name, parentheses, and a colon: [code]func run():[/code] defines " +"a function named [code]run()[/code].\n" +"\n" +"You then go to the next line to write the function's body. That's the " +"instructions of the function.\n" +"\n" +"Notice how each instruction starts with a leading [code]Tab[/code] " +"character. The computer uses that to know which lines are part of the " +"function.\n" +"\n" +"Throughout the course, you'll see many functions called [code]run()[/code].\n" +"\n" +"Those are functions we created to give you interactive examples." +msgstr "" +"GDScript'te, diğer bazı dillerden farklı olarak, kodlarımızı özel " +"fonksiyonların içine yazmamız gerekir.\n" +"\n" +"Fonksiyonların ne olduklarını ve nasıl çalıştıklarını, kurs boyunca detaylı " +"olarak öğreneceksin, ama şimdilik merakını gidermek için hızlıca bir göz " +"atalım.\n" +"\n" +"Bir fonksiyon, herhangi bir zamanda çalıştırabileceğin kod yığınlarıdır. " +"Talimat listelerinin isim verilmiş halidir.\n" +"\n" +"Bir fonksiyonu tanımlamak için, önce [code]func[/code] kelimesi, fonksiyonun " +"ismi, parantezler, ve iki nokta üstüste yazman gerekir: [code]func " +"run():[/code] kod parçası [code]run()[/code] isminde bir fonksiyonu tanımlar." +"\n" +"\n" +"Daha sonra, fonksiyonun gövdesini yazmak için sonraki satıra geçersin. Bu da " +"fonksiyonun talimatlarıdır.\n" +"\n" +"Dikkatle bakarsan her talimatın başında bir [code]Sekme[/code] (içe doğru " +"girinti) karakteri görürsün. Bilgisayar bunu, hangi satırların fonksiyona " +"ait olduğunu anlamak için kullanır.\n" +"\n" +"Kurs boyunca, [code]run()[/code] çağrısı yapan pek çok fonksiyon göreceksin." +"\n" +"\n" +"Bunlar, sana etkileşimli örnekler sunmak için oluşturduğumuz fonksiyonlardır." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:116 +msgid "Function arguments" +msgstr "Fonksiyon girdi değişkenleri (argümanları)" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:118 +msgid "" +"We use parentheses to call functions because you can give the function " +"[i]arguments[/i] inside the parentheses when calling it.\n" +"\n" +"Here's a [i]sprite[/i] standing straight. If we call the [code]rotate(0.3)[/" +"code] function, the character [i]sprite[/i] turns by 0.3 radians." +msgstr "" +"Fonksiyonları çağırırken parantezler kullanıyoruz, çünkü bu şekilde onları " +"çağırırken parantez içinde [i]girdi değişkenleri[/i] verebiliriz.\n" +"\n" +"Bu örnekte bir [i]grafik öğe[/i] dik şekilde duruyor. Eğer [code]rotate(0." +"3)[/code] fonksiyon çağrısı yaparsak, karakterimizin [i]grafik öğesi[/i] 0.3 " +"radyan kadar dönecektir. (\"run()\" tuşuna bir çok kez basabilirsin)." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:140 +msgid "" +"The [code]0.3[/code] part between the parentheses is the function's " +"[i]argument[/i].\n" +"\n" +"Arguments are values (numbers, bits of text, and more) that change how the " +"function behaves.\n" +"\n" +"Arguments let you fine-tune the effect of the function call. They can be " +"optional at times, but functions often require arguments in order to work.\n" +"\n" +"For example, calling [code]rotate()[/code] without any argument would result " +"in an error. Without an argument, Godot doesn't know by [i]how much[/i] you " +"intend to rotate the [i]sprite[/i].\n" +"\n" +"Don't worry about memorizing what arguments each function requires or " +"accepts! As a programmer, the documentation will always be close by for you " +"to refer to.\n" +"\n" +"Finally, notice how we use a dot in the number [code]0.3[/code] above: you " +"need to use a dot like this to represent decimal numbers. You can't use " +"commas as they have a different purpose in code." +msgstr "" +"Parantez içindeki [code]0.3[/code] kısmı fonksiyonun [i]girdi " +"değişkeni[/i]dir.\n" +"\n" +"Girdi değişkenleri, fonksiyonun nasıl çalışacağını değiştiren değerlerdir (" +"sayılar, bir parça yazı, ya da daha fazlası).\n" +"\n" +"Girdi değişkenleri, fonksiyon çağırmanın yapacağı etkiyi ince ayarlamana " +"yardımcı olur. Arada isteğe bağlı olurlar, ama genellikle fonksiyonların " +"çalışması için gereklidirler.\n" +"\n" +"Örneğin, [code]rotate()[/code] çağrısını değişken girdisi olmadan yapmak " +"hata ile sonuçlanır. Girdi değişkeni olmadan Godot, [i]grafik öğe[/i]nin [i]" +"ne kadar[/i] dönmesini amaçladığını bilemez.\n" +"\n" +"Her fonksiyona ne gerektiği ya da ne kabul ettiğini hafızanda tutmaya " +"çalışma. Bir programcı olarak, ihtiyaç duyunca bakacağın belgelendirmeler " +"her zaman sana yakın bir yerde olacaktır.\n" +"\n" +"Son olarak, yukarıdaki [code]0.3[/code] sayısında nokta kullandığımıza " +"dikkat et: ondalık sayıları belirtmek için bu şekilde nokta kullanıyoruz. " +"Ondalık sayılar için virgül kullanmıyoruz çünkü kod içinde onun çok daha " +"farklı amaçları var." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:158 +msgid "What are radians?" +msgstr "Radyan nedir?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:160 +msgid "" +"The value of [code]0.3[/code] is an angle in [i]radians[/i]. In daily life, " +"we're used to measuring angles in degrees. The radian is another scale " +"commonly used in video games and math.\n" +"\n" +"You can convert radians into degrees by multiplying them by 180 and dividing " +"them by PI:\n" +"\n" +"[code]degrees = radians * 180 / PI[/code]\n" +"\n" +"An angle of [code]PI[/code] radians corresponds to [code]180[/code] degrees. " +"And [code]2 * PI[/code] is a full turn: [code]360[/code] degrees.\n" +"\n" +"[b]How do radians work exactly?[/b]\n" +"\n" +"Radians are a way to measure angles based on the radius of a circle.\n" +"\n" +"To get the angle in radians, you take the circle's radius and wrap it around " +"the circle. That angle is [code]1[/code] radian because you are wrapping the " +"radius [code]1[/code] time around the circle.\n" +"\n" +"Because the perimeter of a circle is [code]2 * PI * radius[/code], a full " +"turn (360°) corresponds to [code]2 * PI[/code] radians: you need to wrap the " +"radius of a circle [code]2 * PI[/code] times around the circle to make a " +"full circle." +msgstr "" +"[code]0.3[/code] değeri [i]radyan[/i] cinsinden bir açıdır. Günlük hayatta, " +"açıları genelde derece ile ölçeriz. Radyan ise matematikte ve bilgisayar " +"oyunlarında sıkça kullanılan başka bir ölçü birimidir.\n" +"\n" +"Radyan değerleri derece değerine çevirmek için 180 ile çarpıp PI sayısı ile " +"böleriz.\n" +"\n" +"[code]derece = radyan* 180 / PI[/code]\n" +"\n" +"Bir başka deyişle, bir [code]PI[/code] radyanlık açı [code]180[/code] " +"derecelik açıya karşılık gelir. [code]2 * PI[/code] radyan ise bir tam dönüş " +"demektir: [code]360[/code] derece.\n" +"\n" +"[b]Radyan tam olarak nasıl işliyor?[/b]\n" +"\n" +"Radyan, bir dairenin yarıçapı üzerinden açı ölçmek için bir yoldur.\n" +"\n" +"Açıyı radyan cinsinden bulmak için, dairenin yarıçap uzunluğunu al ve bunu " +"dairenin etrafına sar. Bunun açısı [code]1[/code] radyan olacaktır çünkü " +"yarıçapı daire etrafına sadece [code]1[/code] kez sardın.\n" +"\n" +"Bir dairenin çevre uzunluğu [code]2 * PI * yarıçap[/code] olduğu için, bir " +"tam dönüş miktarı [code]2 * PI[/code] radyana karşılık gelir: dairenin " +"tamamını kaplamak için, dairenin yarıçap uzunluğunu dairenin üzerine [code]2 " +"* PI[/code] kere sarman gerekir." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:182 +msgid "What does the code below do?" +msgstr "Aşağıdaki kod ne yapıyor?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:183 +msgid "[code]show()[/code]" +msgstr "[code]show()[/code]" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:185 +msgid "" +"Both answers were right! Technically, the code calls the [code]show()[/code] " +"function. And doing so makes the game entity visible." +msgstr "" +"Her iki cevapta doğrudur. Teknik olarak kod, [code]show()[/code] " +"fonksiyonunu çağırır. Ve bunu yapmak oyun varlığını görünür yapar." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:186 +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:187 +msgid "It calls the function named \"show.\"" +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." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:196 +msgid "" +"Another example: With the [code]move_local_x()[/code] function, you can move " +"the character to its left and right. The function takes one argument: a " +"number of pixels to offset the entity.\n" +"\n" +"The complementary function [code]move_local_y()[/code] makes the character " +"move up and down.\n" +"\n" +"This is one way to move a character in a game, although we'll see more " +"powerful ways to do this later." +msgstr "" +"Başka bir örnek: [code]move_local_x()[/code] fonksiyonu (hareket_yerel_x) " +"ile, bir karakteri sola ve sağa hareket ettirebilirsin. Fonksiyonun bir tane " +"girdi değişkeni var: varlığı kaydırmak için gereken piksel (benek yada nokta " +"da denir) sayısı.\n" +"\n" +"Bunu tamlayan [code]move_local_y()[/code] (hareket_yerel_y) fonksiyonu ise " +"karakteri aşağı ve yukarı hareket ettirir.\n" +"\n" +"Bu bir karakteri oyun içinde hareket ettirmenin sadece bir yoludur. " +"İlerledikçe bunu yapmanın daha etkili yollarını göreceksin." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:218 +msgid "Why move_local_y(20) moves the character down" +msgstr "Neden move_local_y(20) karakteri \"aşağı\" hareket ettiriyor" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:220 +msgid "" +"With positive values ([code]20[/code]), the code above moves the robot to " +"the right and down.\n" +"\n" +"This is probably different than what you studied at school: in math classes, " +"the horizontal axis points to the right, like here, but the vertical axis " +"points up.\n" +"\n" +"In video games, and generally in 2D computer graphics, the vertical axis " +"points down instead. So whenever you move something on the Y-axis with a " +"positive value, it'll move [i]down[/i]." +msgstr "" +"Pozitif değerler ([code]20[/code]) ile, yukarıdaki kod robotu aşağı ve sağa " +"hareket ettiriyor.\n" +"\n" +"Bu muhtemelen okulda gördüğünden farklı gelmiştir: matematik derslerinde, " +"yatay eksen sağa ve dikey eksen yukarıya bakar.\n" +"\n" +"Bilgisayar oyunlarında, ve genellikle 2D bilgisayar grafiklerinde, dikey " +"eksen ters yöndedir ve aşağıya bakar. Yani, ne zaman bir şeyi Y-ekseninde " +"pozitif bir değer ile hareket ettirirsen, bu onu [i]aşağı[/i] götürecektir." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:232 +msgid "How do you call a function?" +msgstr "Bir fonksiyonu nasıl çağırırsın?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:233 +msgid "What is the syntax you use to call a function in general?" +msgstr "Bir fonksiyonu çağırmak için kullanılan genel söz dizimi nedir?" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:235 +msgid "" +"To call a function, you need to write its exact name followed by an opening " +"and a closing parenthesis.\n" +"\n" +"If the function requires one or more [i]arguments[/i], you add them inside " +"the parentheses. Whether you need to do that or not depends on the function." +msgstr "" +"Bir fonkyionu çağırmak için, önce tam ismi sonra açık ve kapalı parantezler " +"yazılır.\n" +"\n" +"Eğer fonksiyona girdi [i]değişkenleri[/i] gerekiyorsa, bunlar parantez içine " +"eklenir. Bunun gerekip gerekmediği tamamen fonksiyona bağlıdır." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:238 +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:239 +msgid "You write its name followed by an opening and a closing parenthesis." +msgstr "" +"Fonksiyon ismini yazıp ardından açık parantez ve sonra kapalı parantez " +"eklersin." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:238 +msgid "You write its name followed by a colon." +msgstr "Fonksiyon ismini yazar ve sonra iki nokta üstste koyarsın." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:238 +msgid "" +"You write a value, like a number, followed by an opening and a closing " +"parenthesis." +msgstr "" +"Önce bir değer, mesela bir sayı, yazar sonra açık parantez ve kapalı " +"parantez eklersin." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:246 +msgid "Make The Character Visible" +msgstr "Karakteri Görünür Yap" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:247 +msgid "" +"Our robot character's invisible! Call the [code]show()[/code] function to " +"make it appear.\n" +"\n" +"Please call [code]show()[/code] inside the [code]run()[/code] function, on " +"line [code]2[/code], and keep the [code]Tab[/code] character at the start of " +"the line. The computer needs that to understand your code." +msgstr "" +"Robot karakterimiz şu an görünmez durumda. [code]show()[/code] (göster) " +"fonksiyonunu çağırıp görünmesini sağla.\n" +"\n" +"Lütfen [code]show()[/code] çağırmasını [code]run()[/code] fonksiyonunun " +"içinde, [code]2[/code]. satırda yap, satır başındaki [code]Sekme[/code] " +"karakterini silme. Bilgisayar kodunu anlamak için buna ihtiyaç duyuyor." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:259 +msgid "The robot's invisible! Call a function to bring it back." +msgstr "Robot görünmez oldu! Onu geri getirmek için fonksiyonu çağır." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:264 +msgid "Make the Robot Upright" +msgstr "Robotu Yukarı Döndür" + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:265 +msgid "" +"The robot was turned by [code]-0.5[/code] radians. You need to make it " +"upright by calling the [code]rotate()[/code] function.\n" +"\n" +"Please call [code]rotate()[/code] inside the [code]run()[/code] function, on " +"line [code]2[/code], and keep the [code]Tab[/code] character at the start of " +"the line. The computer needs that to understand your code." +msgstr "" +"Robotumuz [code]-0.5[/code] radyan dönmüş durumda. [code]rotate()[/code] " +"(döndür) fonksiyonunu çağırarak onun tekrar yukarı yönde durmasını sağla.\n" +"\n" +"[code]rotate()[/code] çağrısını, [code]run()[/code] fonksiyonu içinde, " +"[code]2[/code]. satırda yap, ve [code]Sekme[/code] karakterini silmediğinden " +"emin ol. Bilgisayar kodunu anlamak için buna ihtiyaç duyuyor." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:277 +msgid "" +"The robot is turned sideways. Help it straighten up with a function call." +msgstr "Robot yan döndü. Onu doğrultmak için bir fonksiyon çağrısı kullan." + +#: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:281 +msgid "We Stand on the Shoulders of Giants" +msgstr "Devlerin Omuzlarında Yükseliyoruz" diff --git a/i18n/tr/lesson-4-drawing-a-rectangle.po b/i18n/tr/lesson-4-drawing-a-rectangle.po new file mode 100644 index 00000000..17d0328f --- /dev/null +++ b/i18n/tr/lesson-4-drawing-a-rectangle.po @@ -0,0 +1,290 @@ +# 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 , 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-10 21:52+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-4-drawing-a-rectangle/lesson.tres:14 +msgid "" +"We'll use code created by others like we did in the previous lesson. This " +"time, we'll solve a more complicated problem: drawing shapes." +msgstr "" +"Daha önceki derslerde olduğu gibi, başkalarının yazdığı kodları " +"kullanacağız. Ama bu sefer, daha karmaşık bir sorunu çözeceğiz: şekilleri " +"çizdirmek." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:22 +msgid "Meet the turtle" +msgstr "Kaplumbağa ile tanış" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:24 +msgid "" +"We present you: the turtle! We created the turtle to teach you how to call " +"functions." +msgstr "" +"Ve karşınızda: kablumbağa! Bu kaplumbağayı, sana fonksiyon çağırmalarını " +"öğretmek için tasarladık." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:44 +msgid "" +"The turtle is a little machine that moves forward, turns, and draws lines " +"along its path.\n" +"\n" +"To make it draw, you give it a list of instructions: on each code line, you " +"call one specific function.\n" +"\n" +"We prepared several functions for you:\n" +"\n" +"- [code]move_forward(pixels)[/code] makes the turtle move forward over a " +"given distance in [i]pixels[/i]. \n" +"- [code]turn_right(degrees)[/code] makes the turtle turn clockwise by a " +"precise amount of [i]degrees[/i].\n" +"- [code]turn_left(degrees)[/code] works the same as [code]turn_right(degrees)" +"[/code], except the turtle turns counter-clockwise.\n" +"\n" +"You'll use these functions the same way you used [code]rotate()[/code] " +"before.\n" +"\n" +"The turtle draws a white line as it moves. We'll use this line to draw " +"shapes.\n" +"\n" +"For example, to move the turtle 200 pixels, you would write " +"[code]move_forward(200)[/code]." +msgstr "" +"Kaplumbağamız, sadece ileri hareket eden, dönebilen, ve gittiği yol boyunca " +"çizgi çizebilen küçük bir makine.\n" +"\n" +"Çizim yapması için ona bir talimatlar listesi vermen gerekli: her bir kod " +"satırında, belirli bir fonksiyon çağıracaksın.\n" +"\n" +"Senin için bir sürü fonksiyon hazırladık.\n" +"\n" +"- [code]move_forward(piksel_sayısı)[/code] kaplumbağayı verilen [i]piksel[/i]" +" miktarı kadar mesafede ileri hareket ettirir.\n" +"- [code]turn_right(derece)[/code] kaplumbağayı tam verilen [i]açı ölçüsü[/i] " +"nde saat yönünde (sağa) çevirir.\n" +"- [code]turn_left(derece)[/code] ise [code]turn_right(derece)[/code] gibi " +"çalışır, ama farklı olarak kaplumbağa saat yönünün tersine (sola) döner.\n" +"\n" +"Bu fonksiyonları, daha önce [code]rotate()[/code] ile yaptığın gibi aynı " +"şekilde kullanacaksın.\n" +"\n" +"Örneğin, kaplumbağayı 200 piksel hareket ettirmek için, " +"[code]move_forward(200)[/code] kullanılır.\n" +"\n" +"Kaplumbağa hareket ederken beyaz bir çizgi çiziyor. Bu çizgiyi, şekiller " +"çizmek için kullanacağız." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:78 +msgid "" +"The functions [code]turn_left()[/code] and [code]turn_right()[/code] work " +"the same.\n" +"\n" +"To turn 45 degrees to the right, you would write [code]turn_right(45)[/" +"code].\n" +"\n" +"If we call [code]turn_right(45)[/code], the turtle turns 45 degrees to the " +"right before moving on to the next instruction." +msgstr "" +"[code]turn_left()[/code] (dön_sol)ve [code]turn_right()[/code] (dön_sağ) " +"fonksiyonları aynı şekilde çalışıyor.\n" +"\n" +"45 derece sağa dönmek için, [code]turn_right(45)[/code] yazmalısın.\n" +"\n" +"Eğer [code]turn_right(45)[/code] çağrısını kullanırsak, kaplumbağa, sonraki " +"talimata geçmeden önce, 45 derece sağa dönecektir." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:102 +msgid "" +"Using these instructions, we can make any two-dimensional shape we like!\n" +"\n" +"Try to understand the example below. \n" +"\n" +"In the next practice, you'll use the functions we saw above to first draw a " +"corner, then a rectangle like this one." +msgstr "" +"Bu talimatları kullanarak, iki boyutlu şekillerden istediğimizi " +"oluşturabiliriz.\n" +"\n" +"Aşağıdaki örneği anlamaya çalış.\n" +"\n" +"Sıradaki alıştırmada, yukarıda gördüğümüz fonksiyonları kullanarak önce bir " +"köşe çizecek, sonra buna benzer bir dikdörtgen oluşturacağız." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:124 +msgid "In the function call below, which part is the argument?" +msgstr "" +"Aşağıdaki fonksiyon çağrısında, hangisi bir girdi değişkenidir (argüman)?" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:125 +msgid "[code]move_forward(30)[/code]" +msgstr "[code]move_forward(30)[/code]" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:127 +msgid "" +"A function's arguments are all the values inside the parentheses. In this " +"case, there's only one, but there can be multiple separated by commas.\n" +"\n" +"In this case, [code]move_forward[/code] is the function's name and [code]30[/" +"code] is the argument.\n" +"\n" +"This function call will make the turtle move forward by [code]30[/code] " +"pixels." +msgstr "" +"Bir fonksiyonun girdi değişkenleri, parantez içindeki bütün değerlerdir. Bu " +"durumda, elimizde sadece bir tane var, ama virgül ile ayrılmış bir çoğu " +"olabilirdi.\n" +"\n" +"Bu durum için, [code]move_forward[/code] fonksiyonun ismi, [code]30[/code] " +"ise girdi değişkenidir.\n" +"\n" +"Bu fonksiyon çağrısı, kaplumbağanın [code]30[/code] piksel kadar ileri " +"hareket etmesini sağlar." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:132 +msgid "move_forward" +msgstr "move_forward" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:132 +#: course/lesson-4-drawing-a-rectangle/lesson.tres:133 +msgid "30" +msgstr "30" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:140 +msgid "Drawing a Corner" +msgstr "Bir Köşe Çizmek" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:141 +msgid "" +"In this practice, we'll tell the turtle to draw a corner.\n" +"\n" +"The corner is made up of two lines that are [code]200[/code] pixels long. " +"The lines are connected at each end by [code]90[/code] degrees, or right-" +"angle.\n" +"\n" +"The [code]move_forward()[/code] and [code]turn_right()[/code] functions to " +"the right draw a corner, but they're missing some arguments.\n" +"\n" +"Add the missing arguments so the turtle moves forward [code]200[/code] " +"pixels, turns right [code]90[/code] degrees, then moves forward again " +"[code]200[/code] pixels.\n" +"\n" +"We added the first argument for you so the turtle moves forward [code]200[/" +"code] pixels.\n" +"\n" +"In the following practices, we'll draw multiple corners to create " +"rectangles.\n" +"\n" +msgstr "" +"Bu alıştırmada, kaplumbağaya bir köşe çizmesini söyleyeceğiz.\n" +"\n" +"Bu köşe, [code]200[/code] piksel uzunluğundaki iki çizgiden oluşuyor. " +"Çizgiler birbirlerine birer uçlarından [code]90[/code] derecelik açı ile (" +"dik açı) ile bağlılar.\n" +"\n" +"Sağdaki [code]move_forward()[/code] ve [code]turn_right()[/code] " +"fonksiyonları bir köşe çizecekler, ama girdi değişkenleri eksik durumda.\n" +"\n" +"Kablumbağanın ileriye [code]200[/code] piksel gitmesi, sağa [code]90[/code] " +"derece dönmesi, ve sonra tekrar [code]200[/code] piksel ilerlemesi için, " +"eksik olan girdi değişkenlerini ekleyin.\n" +"\n" +"İlk girdi değişkenini senin için biz ekledik, bu sayede kaplumbağa " +"[code]200[/code] piksel ileri gidecektir.\n" +"\n" +"Sıradaki alıştırmalarda, dikdörtgenler çizmek için çoklu köşeler çizeceğiz.\n" +"\n" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:165 +msgid "" +"Use the turtle to draw a square's corner. You'll then build upon it to draw " +"a rectangle." +msgstr "" +"Kaplumbağayı kullanarak karenin bir köşesini çiz. Daha sonra, aynı şeklide " +"devam edip bir dikdörtgen çizeceksin." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:170 +#: course/lesson-4-drawing-a-rectangle/lesson.tres:218 +msgid "Drawing a Rectangle" +msgstr "Bir Dikdörtgen Çizmek" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:171 +msgid "" +"Add the correct arguments to the functions [code]move_forward()[/code] and " +"[code]turn_right()[/code] to draw a rectangle with a width of [code]200[/" +"code] pixels, and a height of [code]120[/code] pixels.\n" +"\n" +"We wrote the first argument for you.\n" +"\n" +"In the next practice, you'll use the same functions to draw a bigger " +"rectangle." +msgstr "" +"[code]move_forward()[/code] ve [code]turn_right()[/code] fonksiyonlarına " +"doğru değerleri girerek, genişliği [code]200[/code] piksel ve yüksekliği " +"[code]120[/code] piksel olan bir dikdörtgen çiz.\n" +"\n" +"İlk girdi değişkenini senin için yazdık.\n" +"\n" +"Sıradaki alıştırmada, aynı fonksiyonları kullanarak daha büyük bir " +"dikdörtgen çizeceksin." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:191 +msgid "" +"Based on your rectangle corner, you now need to draw a complete rectangle." +msgstr "" +"Dikdörtgenin köşesinden yola çıkarak, şimdi dikdörtgenin tamamını çizmelisin." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:196 +msgid "Drawing a Bigger Rectangle" +msgstr "Daha Büyük bir Dikdörtgen Çizmek" + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:197 +msgid "" +"Write out calls to the functions [code]move_forward()[/code] and " +"[code]turn_right()[/code] to draw a rectangle with a width of 220 pixels, " +"and a height of 260 pixels.\n" +"\n" +"We wrote the first two lines for you.\n" +"\n" +"Be sure to write each instruction on a separate line.\n" +"\n" +"Every line should start with one [code]Tab[/code] character so the computer " +"understands it's part of the [code]draw_rectangle()[/code] function." +msgstr "" +"[code]move_forward()[/code] and [code]turn_right()[/code] fonksiyonlarına " +"gerekli çağrıları yaparak, genişliği 220 piksel ve yüksekliği 260 piksel " +"olan bir dikdörtgen çiz.\n" +"\n" +"İlk iki senin satırı biz yazdık.\n" +"\n" +"Her bir talimatı ayrı satırda yazdığından emin ol.\n" +"\n" +"Bilgisayarın, yazdığın kodun [code]draw_rectangle()[/code] fonksiyonunun " +"parçası olduğunu anlaması için, satırın başında bir [code]Sekme[/code] " +"karakteri olmalı (genelde klavyenin en solunda üstünde iki yönlü ok olan " +"tuş)." + +#: course/lesson-4-drawing-a-rectangle/lesson.tres:214 +msgid "" +"At this point, you're ready to code entirely on your own. Call functions by " +"yourself to draw a complete rectangle." +msgstr "" +"Bu noktada, artık tamamen kendi başına kodlama yapabilecek kadar hazırsın. " +"Tam bir dikdörtgen çizmek için, fonksiyonları kendin yazarak çağır." diff --git a/i18n/tr/lesson-5-your-first-function.po b/i18n/tr/lesson-5-your-first-function.po new file mode 100644 index 00000000..ceff6561 --- /dev/null +++ b/i18n/tr/lesson-5-your-first-function.po @@ -0,0 +1,420 @@ +# 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 , 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-10 21:52+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-5-your-first-function/lesson.tres:14 +msgid "" +"So far, we have called existing functions that other developers wrote.\n" +"\n" +"In this lesson, we'll talk more about what functions are and see some " +"examples. Then, you will learn how to define your own functions." +msgstr "" +"Şimdiye kadar, diğer geliştiricilerin yazdığı fonksiyonları çağırıyorduk.\n" +"\n" +"Bu derste, fonksiyonların ne oldukları hakkında konuşup birkaç örnek " +"göreceğiz. Daha sonra, kendi fonksiyonlarınızı nasıl tanımlayacağını " +"öğreneceksin." + +#: course/lesson-5-your-first-function/lesson.tres:24 +msgid "Functions are named sequences of instructions" +msgstr "Fonksiyonlar, isimlendirilmiş talimatlar dizisidir" + +#: course/lesson-5-your-first-function/lesson.tres:26 +msgid "" +"Functions are [i]sequences of instructions[/i] we give a name. We call that " +"name an [i]identifier[/i].\n" +"\n" +"Using the identifier, we can get the computer to execute all the " +"instructions inside the function as many times as we need. This is what a " +"[i]function call[/i] does." +msgstr "" +"Fonksiyonlar, onlara bir isim verdiğimiz [i]talimatlar dizisi[/i]dir. Bu " +"isme bir [i]tanımlayıcı[/i] diyoruz.\n" +"\n" +"Bir tanımlayıcı kullanarak, bize gerektiği zaman ve sayıda, bilgisayarın, " +"bir fonksiyonun içindeki talimatları çalıştırmasını sağlayabiliriz. Buna bir " +"[i]fonksiyonu çağırmak[/i] denir." + +#: course/lesson-5-your-first-function/lesson.tres:36 +msgid "Learn more about identifiers" +msgstr "Tanımlayıcılar hakkında fazlasını öğren" + +#: course/lesson-5-your-first-function/lesson.tres:38 +msgid "" +"In computer programming, we talk about [i]identifiers[/i] rather than " +"\"names\".\n" +"\n" +"It is because a function name is a label the computer uses to precisely " +"[i]identify[/i] and refer to a function or other code elements.\n" +"\n" +"Identifiers are unique: you cannot reuse the same name in a given [i]space[/" +"i] in your code.\n" +"\n" +"If you try to name two functions the same, the computer will raise an error." +msgstr "" +"Bilgisayar programcılığında, \"isim\"lerden çok [i]tanımlayıcılar[/i]dan " +"bahsederiz.\n" +"\n" +"Bunun nedeni, bir fonksiyonun isminin, bilgisayar tarafından, bir fonksiyonu " +"veya onun içindeki kod elemanlarını kesin bir şekilde [i]tanımlamak[/i] için " +"kullanılan bir etiket olmasıdır.\n" +"\n" +"Tanımlayıcılar eşsizdir: aynı kod [i]alanında[/i] aynı ismi başka amaçla " +"kullanamazsın.\n" +"\n" +"Eğer iki fonksiyona aynı ismi vermeyi denersen, bilgisayar sana hata " +"verecektir." + +#: course/lesson-5-your-first-function/lesson.tres:54 +msgid "" +"If there is any code that you need to run multiple times, you can put it " +"inside a function and give it a name.\n" +"\n" +"The instructions inside a function can be any code you want, and they will " +"all run every time you call the function.\n" +"\n" +"Here's the example of a [code]move_and_rotate()[/code] function that moves " +"the turtle forward and then turns it 90°." +msgstr "" +"Eğer birden fazla sefer çalıştırman gereken bir kodun varsa, bunu bir " +"fonksiyonun içine koyup ona bir isim verirsin.\n" +"\n" +"Fonksiyonun içindeki talimatlar, istediğin herhangi bir kod olabilir, ve " +"fonksiyonu her çağırdığında hepsi çalışacaktır.\n" +"\n" +"Bir örnek olarak, kaplumbağayı önce ileri hareket ettirip sonra 90° döndüren " +"[code]move_and_rotate()[/code] (hareket_ettir_ve_döndür) fonksiyonunu " +"verebiliriz." + +#: course/lesson-5-your-first-function/lesson.tres:78 +msgid "" +"The [code]move_and_rotate()[/code] function consists of two instructions, " +"each on a separate line. Both of those instructions call another familiar " +"function.\n" +"\n" +"You could write another function that calls [code]move_and_rotate()[/code] " +"four times to draw a square of length 200 pixels." +msgstr "" +"[code]move_and_rotate()[/code] fonksiyonu, ayrı satırlarda iki tane talimat " +"içeriyor. Bu talimatların her ikisi de, oldukça tanıdık başka bir fonksiyonu " +"çağırıyor.\n" +"\n" +"[code]move_and_rotate()[/code] fonksiyonunu dört kere kullanarak 200 piksel " +"uzunluğunda bir kare çizdiren tamamen başka bir fonksiyonda yazabilirdin." + +#: course/lesson-5-your-first-function/lesson.tres:100 +msgid "" +"Every time we call [code]move_and_rotate()[/code], the two functions " +"[code]move_forward(200)[/code] and [code]turn_right(90)[/code] are called in " +"sequence.\n" +"\n" +"In this simple example, it may not feel super useful. Here's a more useful " +"and realistic one: a function to draw any square.\n" +"\n" +"The following function uses [i]parameters[/i], which we will explore in the " +"next lesson.\n" +"\n" +"[i]Drag the slider to change the square's size.[/i]" +msgstr "" +"[code]move_and_rotate()[/code] fonksiyonunu her çağırdığımızda, " +"[code]move_forward(200)[/code] ve [code]turn_right(90)[/code] fonksiyonları " +"sırasıyla çağırılır.\n" +"\n" +"Bu basit örnekte, bu sana süper kullanışlı gelmeyebilir. O halde işte sana " +"daha kullanışlı ve gerçekçi olan: bir kare çizdiren fonksiyon.\n" +"\n" +"Aşağıdaki fonksiyon, [i]alınan değişkenler[/i] (parametre) kullanıyor, ki " +"bunu sonraki derste işleyeceğiz.\n" +"\n" +"[i]Ayar çubuğunu kaydırarak karenin boyutunu değiştir.[/i]" + +#: course/lesson-5-your-first-function/lesson.tres:124 +msgid "How to define your own functions" +msgstr "Kendi fonksiyonunu nasıl tanımlarsın" + +#: course/lesson-5-your-first-function/lesson.tres:126 +msgid "" +"Let's break down how you define a function.\n" +"\n" +"A function definition starts with the [code]func[/code] keyword followed by " +"a space, the function's name, parentheses, and a colon." +msgstr "" +"Hadi kendi fonksiyonunu nasıl tanımlayacağına bir göz atalım.\n" +"\n" +"Bir fonksiyon tanımı, [code]func[/code] anahtar kelimesi ile başlayıp, bir " +"boşluk, fonksiyonun ismi, aç-kapa parantezleri, ve iki nokta üstüste ile " +"biter." + +#: course/lesson-5-your-first-function/lesson.tres:148 +msgid "" +"The instructions inside the function [b]must[/b] all start with a leading " +"tab character. You can insert that tab character by pressing the [b]Tab[/b] " +"key.\n" +"\n" +"We call those leading tabs [i]indents[/i]. They're important: the computer " +"uses them to know which instructions are part of the same code block." +msgstr "" +"Fonksiyonun içindeki talimatların hepsi, satır başında en az bir sekme " +"karakteri ile başlamak [b]zorundadır[/b]. Bir sekme karakterini klavyede " +"[b]Sekme[/b] tuşuna (en solda iki yönlü iki ok) basarak ekleyebilirsiniz.\n" +"\n" +"Bu başa eklediğimiz sekme karakterlerine [i]girinti[/i] diyoruz. Bunlar çok " +"önemli: bilgisayar bunları kullanarak, hangi talimatların aynı kod bölümüne " +"ait olduklarını bilmek için kullanıyor." + +#: course/lesson-5-your-first-function/lesson.tres:158 +msgid "Why do we use functions?" +msgstr "Fonksiyonları neden kullanıyoruz?" + +#: course/lesson-5-your-first-function/lesson.tres:161 +msgid "" +"Functions are groups of instructions we reuse every time we call the " +"function.\n" +"\n" +"Because we give functions a name, they also allow us to name a set of " +"instructions, which is handy!" +msgstr "" +"Fonksiyonlar, bunları her çağırdımızda tekrar kullandığımız talimatlar " +"gurubudur.\n" +"\n" +"Fonksiyonlara bir isim verdiğimiz için, bu bize bir talimatlar dizisini " +"isimlendirme olanağı da veriyor, ki bu çok kullanışlı!" + +#: course/lesson-5-your-first-function/lesson.tres:164 +#: course/lesson-5-your-first-function/lesson.tres:165 +msgid "To reuse code multiple times. " +msgstr "Kodu bir çok defa yeniden kullanmak için. " + +#: course/lesson-5-your-first-function/lesson.tres:164 +#: course/lesson-5-your-first-function/lesson.tres:165 +msgid "To run multiple instructions in one go." +msgstr "Tek seferde bir sürü talimatı çalıştırmak için." + +#: course/lesson-5-your-first-function/lesson.tres:164 +#: course/lesson-5-your-first-function/lesson.tres:165 +msgid "To put a name on multiple lines of code." +msgstr "Çoklu kod satırlarına bir isim koymak için." + +#: course/lesson-5-your-first-function/lesson.tres:172 +msgid "Names in code have rules" +msgstr "Kod içindeki isimlerin bir kuralı var" + +#: course/lesson-5-your-first-function/lesson.tres:174 +msgid "" +"Function identifiers cannot contain spaces. In general, names in programming " +"languages cannot contain spaces.\n" +"\n" +"The computer uses spaces to detect the separation between different keywords " +"and identifiers.\n" +"\n" +"Instead of spaces, in GDScript, we use underscores (\"_\"). You saw this " +"already with functions like [code]move_forward()[/code] or " +"[code]move_local_x()[/code]. This is the convention we follow in GDScript.\n" +"\n" +"There's another convention programmers use in some other programming " +"languages.\n" +"\n" +"Instead of using underscores, they start words with capital letters except " +"for the first one. With that convention, you'd write function names like " +"[code]moveForward()[/code] or [code]moveLocalX()[/code]\n" +"\n" +"Identifiers also [i]have[/i] to start with a letter or an underscore; You " +"[i]can't[/i] begin with a number, but you can use numbers after the first " +"character." +msgstr "" +"Fonksiyon tanımlayıcılar boşluk içeremez. Genel olarak, programlama " +"dillerindeki isimler boşluk içeremezler.\n" +"\n" +"Bilgisayar, farklı anahtar kelimeler ve tanımlayıcıları birbirinden ayırt " +"etmek için boşluk karakterini kullanır.\n" +"\n" +"GDScript'te, boşlukların yerine alt çizgi (\"_\") kullanıyoruz. Bunu zaten " +"[code]move_forward()[/code] ya da [code]move_local_x()[/code] " +"fonsiyonlarında gördün. GDScript'te takip ettiğimiz düzen budur.\n" +"\n" +"Programcıların, bazı diğer programlama dillerinde kullandığı bir başka düzen " +"daha var.\n" +"\n" +"Alt çizgi kullanmak yerine, ilk harf hariç, kelimelerin ilk harflerini büyük " +"yazarak birleştirirler. Bu düzene uyacak olursak, fonksiyon isimlerini " +"[code]moveForward()[/code] ya da [code]moveLocalX()[/code] şeklinde yazardın." +"\n" +"\n" +"Ayrıca, tanımlayıcılar bir harf ve ya alt çizgi ile başlamak " +"[i]zorundadır[/i]. Bir numara ile [i]başlayamazsın[/i], ama ilk harften " +"sonra numaralar kullanabilirsin." + +#: course/lesson-5-your-first-function/lesson.tres:192 +msgid "Which of the following names are valid function names?" +msgstr "Bu isimlerden hangileri, geçerli birer fonksiyon ismidir?" + +#: course/lesson-5-your-first-function/lesson.tres:193 +msgid "Note that it's fine to use capital letters." +msgstr "Büyük harf kullanmanın sorun olmadığına dikkat et." + +#: course/lesson-5-your-first-function/lesson.tres:195 +msgid "" +"You can't name a function [code]move forward[/code] because it contains a " +"space. Names in code cannot contain spaces.\n" +"\n" +"They can't start with numbers either, which is why [code]45_degree_turn[/" +"code] is also invalid. \n" +"\n" +"However, having numbers elsewhere in a function name is fine. That's why " +"[code]make3NewCharacters[/code] works." +msgstr "" +"Bir fonksiyona, [code]move forward[/code] ismini veremezsin çünkü içinde " +"boşluk var. Kodun içindeki isimler boşluk içeremez.\n" +"\n" +"İsimler, numaralarla da başlayamazlar, bu nedenle [code]45_degree_turn[/code]" +" de geçersizdir.\n" +"\n" +"Ancak ismin diğer yerlerinde numara olmasında sorun yoktur. " +"[code]make3NewCharacters[/code] isminin işe yaramasının sebebi bu." + +#: course/lesson-5-your-first-function/lesson.tres:200 +msgid "move forward" +msgstr "move forward" + +#: course/lesson-5-your-first-function/lesson.tres:200 +#: course/lesson-5-your-first-function/lesson.tres:201 +msgid "jump" +msgstr "jump" + +#: course/lesson-5-your-first-function/lesson.tres:200 +#: course/lesson-5-your-first-function/lesson.tres:201 +msgid "make3NewCharacters" +msgstr "make3NewCharacters" + +#: course/lesson-5-your-first-function/lesson.tres:200 +#: course/lesson-5-your-first-function/lesson.tres:201 +msgid "move_forward" +msgstr "move_forward" + +#: course/lesson-5-your-first-function/lesson.tres:200 +msgid "45_degree_turn" +msgstr "45_degree_turn" + +#: course/lesson-5-your-first-function/lesson.tres:208 +msgid "Instantly moving the turtle to a different position" +msgstr "Kaplumbağayı hızlıca farklı bir konuma taşımak" + +#: course/lesson-5-your-first-function/lesson.tres:210 +msgid "" +"In order to draw multiple squares in different positions, we introduce a new " +"function for our turtle to use.\n" +"\n" +"The [code]jump()[/code] function picks up the turtle and places it relative " +"to where it is.\n" +"\n" +"So calling [code]jump(-100, 50)[/code] moves the turtle by 100 pixels to the " +"[b]left[/b] and 50 pixels [b]down[/b] without drawing any lines." +msgstr "" +"Farklı konumlarda bir sürü kare çizmek için, kaplumbağamızın kullanacağı " +"yeni bir fonksiyon tanıtıyoruz.\n" +"\n" +"[code]jump()[/code] (zıpla) fonksiyonu kaplumbağayı alıp, bulunduğu yere " +"yakın başka bir yere taşır.\n" +"\n" +"Yani [code]jump(-100, 50)[/code] çağırması, kaplumbağayı, hiç bir çizgi " +"çizmeden, 100 piksel [b]sola[/b] ve 50 piksel [b]aşağıya[/b] taşıyor." + +#: course/lesson-5-your-first-function/lesson.tres:232 +msgid "A function to draw squares" +msgstr "Kare çizen bir fonksiyon" + +#: course/lesson-5-your-first-function/lesson.tres:233 +msgid "" +"Code a function named [code]draw_square()[/code] to draw one square of " +"length 200 pixels. The function should take no parameters.\n" +"\n" +"Use the [code]move_forward()[/code] and [code]turn_right()[/code] functions " +"to instruct the turtle.\n" +"\n" +"In the following practice, you'll use the [code]draw_square()[/code] " +"function to draw multiple squares by calling your own function." +msgstr "" +"200 piksel uzunluğunda bir kare çizen, [code]draw_square()[/code] (çiz_kare) " +"isimli bir fonksiyon kodla. Fonksiyon, hiç bir girdi değişkeni almasın.\n" +"\n" +"Kaplumbağaya talimat vermek için, [code]move_forward()[/code] ve " +"[code]turn_right()[/code] fonksiyonlarını kullan.\n" +"\n" +"Sıradaki alıştırmada, çoklu kareler çizmek için kendi fonksiyonunu " +"çağırırken, [code]draw_square()[/code] fonksiyonunu kullanacaksın." + +#: course/lesson-5-your-first-function/lesson.tres:246 +msgid "" +"Until now, you've had to write code by hand, and it's boring. It's time to " +"code a reusable function. You'll use it to draw multiple squares." +msgstr "" +"Şimdiye kadar, kodları elle yazman gerekiyordu, ve bu biraz sıkıcı. Yeniden " +"kullanılabilir bir fonksiyon yazmanın zamanı geldi. Çoklu kareler çizmek " +"bunu kullanacaksın." + +#: course/lesson-5-your-first-function/lesson.tres:251 +msgid "Drawing multiple squares" +msgstr "Çoklu kareler çizmek" + +#: course/lesson-5-your-first-function/lesson.tres:252 +msgid "" +"You have a function to draw one square: [code]draw_square()[/code]. Use it " +"to draw three squares.\n" +"\n" +"We already created [code]draw_square()[/code] for you. Create a function " +"named [code]draw_three_squares[/code] that calls [code]draw_square()[/code] " +"three times.\n" +"\n" +"If you just call the function, all three squares will overlap. To stack them " +"diagonally, call [code]jump(300, 300)[/code] between two calls to " +"[code]draw_square()[/code].\n" +"\n" +"Calling [code]jump(300, 300)[/code] makes the turtle jump by 300 pixels to " +"the right and 300 pixels down without drawing any lines." +msgstr "" +"Elinde bir tane kare çizebilen bir fonksiyon var: [code]draw_square()[/code]" +". Bunu kullanarak üç tane kare çiz.\n" +"\n" +"[code]draw_square()[/code] fonksiyonunu senin için biz oluşturduk. Senin " +"işin, üç defa [code]draw_square()[/code] çağrısı yapan, " +"[code]draw_three_squares[/code] (çiz_üç_kare) isimli bir fonksiyon " +"oluşturmak.\n" +"\n" +"Eğer fonksiyonu öylesine çağırırsan, üç kare birbiri üzerine gelecektir. " +"Bunları köşegen doğrultusunda istiflemek için, her iki " +"[code]draw_square()[/code] çağrısı arasına bir [code]jump(300, 300)[/code] " +"çağırmalısın.\n" +"\n" +"[code]jump(300, 300)[/code] çağrısı, kaplumbağayı alıp, herhangi bir çizgi " +"çizmeden 300 piksel sağa ve 300 piksel aşağıya zıplatır." + +#: course/lesson-5-your-first-function/lesson.tres:275 +msgid "" +"Now you created a function to draw squares, you can reuse it by calling it " +"multiple times." +msgstr "" +"Şimdi, kare çizen bir fonksiyon oluşturduğuna göre, artık bunu bir çok kere " +"çağırarak defalarca kullanabilirsin." + +#: course/lesson-5-your-first-function/lesson.tres:279 +msgid "Coding Your First Function" +msgstr "İlk Fonksiyonunu Kodlamak" diff --git a/i18n/tr/lesson-6-multiple-function-parameters.po b/i18n/tr/lesson-6-multiple-function-parameters.po new file mode 100644 index 00000000..8ef003fb --- /dev/null +++ b/i18n/tr/lesson-6-multiple-function-parameters.po @@ -0,0 +1,540 @@ +# 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 , 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-10 21:52+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-6-multiple-function-parameters/lesson.tres:14 +msgid "" +"In the previous part, you created a function to draw a square of a fixed " +"size.\n" +"\n" +"This function is a bit limiting. Instead, it would be much better if we had " +"a function to draw a square of [i]any[/i] size. Or better: any kind of " +"rectangle (a square is a specific kind of rectangle).\n" +"\n" +"In previous lessons, you used the [code]rotate()[/code] function and gave it " +"an [i]argument[/i]." +msgstr "" +"Önceki bölümde, sabit boyutlu bir kare çizdiren bir foksiyon yazdın.\n" +"\n" +"Bu fonksiyon biraz kısıtlayıcı. Bunun yerine, [i]herhangi[/i] bir boyutta " +"bir kare çizdiren bir fonksiyonumuz olsa çok daha iyi oludu. Veya daha iyisi:" +" herhangi bir dik dörtgen çizdiren (kare, aslında özel bir dikdörtgen " +"çeşididir).\n" +"\n" +"Önceki derslerde, [code]rotate()[/code] fonksiyonunu kullandın ve ona [i]" +"girdi değişkenleri[/i] (argüman) verdin." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:38 +msgid "" +"Just like [code]rotate()[/code], we can also give our function " +"[i]parameters[/i]. Parameters are labels you give to values passed to the " +"function." +msgstr "" +"[code]rotate()[/code] için olduğu gibi, kendi fonksiyonumuza da [i]alınan " +"değişkenler[/i] (parametre) verebiliriz. Alınan değişkenler, fonksiyonumuza " +"gönderdiğimiz değerlere verdiğimiz etiketlerdir." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:46 +msgid "Can I rotate in both directions?" +msgstr "Her iki yönde de çevirebilir miyim?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:48 +msgid "" +"The [code]radians[/code] can be a positive or negative number, which allows " +"you to rotate both clockwise and counter-clockwise." +msgstr "" +"[code]Radyan[/code] pozitif yada negatif bir sayı olabilir, bu şekilde hem " +"saat yönünde hem de saat yönünün tersine çevirebilirsin." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:58 +msgid "" +"For now, please focus on the first line: [code]func rotate(radians)[/code].\n" +"\n" +"When you call [code]rotate(0.5)[/code], the computer binds the value " +"[code]0.5[/code] to the label [code]radians[/code].\n" +"\n" +"Wherever the computer sees the identifier [code]radians[/code] inside the " +"function, it replaces it with the [code]0.5[/code] value.\n" +"\n" +"The parameter name is always a label you use to refer to a [i]value[/i]. The " +"value in question can be a number, text, or anything else.\n" +"\n" +"For now, we'll stick to numbers as we have yet to see other value types." +msgstr "" +"Şimdilik, lütfen ilk satıra odaklan: [code]func rotate(radians)[/code].\n" +"\n" +"[code]rotate(0.5)[/code] çağrısı yaptığında, bilgisayar, [code]0.5[/code] " +"değerini alıp, [code]radians[/code] etiketine bağlar.\n" +"\n" +"Bilgisayar, [code]radians[/code] tanımlayıcısını gördüğü her yerde, bunu " +"[code]0.5[/code] değeri ile değiştirir.\n" +"\n" +"Alınan değişkenin ismi her zaman, bir [i]değere[/i] işaret etmek için " +"kullandığın bir etikettir. Söz konusu değer, bir numara, yazı, yada herhangi " +"bir şey olabilir.\n" +"\n" +"Biz, şimdilik, diğer değer tiplerini henüz işlemediğimiz için, numaralara " +"bağlı kalacağız." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:74 +msgid "What is a function parameter?" +msgstr "Bir fonksiyonun alınan değişkeni (parametresi) nedir?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:77 +msgid "" +"A parameter is a label that represents a value.\n" +"\n" +"The value in question can change: it depends on what you put in parentheses " +"when calling a function." +msgstr "" +"Bir alınan değişken, bir değeri temsil eden bir etikettir.\n" +"\n" +"Söz konusu değer değişebilir: fonksiyonu çağırırken, parantez içine ne " +"koyduğuna bağlıdır." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:80 +#: course/lesson-6-multiple-function-parameters/lesson.tres:81 +msgid "A label you give to a value the function receives." +msgstr "Fonksiyonun aldığı bir değere verdiğin etikettir." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:80 +msgid "A number you use to make calculations." +msgstr "Hesaplama yapmak için kullandığın bir sayıdır." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:80 +msgid "The name of a function." +msgstr "Bir fonksiyonun ismidir." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:88 +msgid "How to create functions with parameters" +msgstr "Alınan değişkenleri olan bir fonksiyon oluşturmak" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:90 +msgid "" +"You can give your function parameters when writing its [i]definition[/i] " +"(the line starting with the [code]func[/code] keyword).\n" +"\n" +"To do so, you add a name inside of the parentheses." +msgstr "" +"Bir fonksiyonun alınan değişkenlerini, onun [i]tanımını[/i] yazarken " +"verirsin ([code]func[/code] anahtar kelimesi ile başlayan satır).\n" +"\n" +"Bunun için, parantez içerisinde bir isim verirsin." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:112 +msgid "" +"You can give parameters any name. How you name functions and parameters is " +"up to you. \n" +"\n" +"Just remember that names cannot contain spaces. To write parameter names " +"with multiple words, you need to use underscores.\n" +"\n" +"The following function definition is exactly equivalent to the previous one." +msgstr "" +"Alınan değişkenlere herhangi bir isim verebilirsin. Fonksiyonlara ve alınan " +"değişkenlerine nasıl isim vereceğin sana kalmış.\n" +"\n" +"Hatırlaman gereken, isimlerin içinde boşluk bulunamaz. Çoklu kelimelerden " +"oluşan bir alınan değişken ismi yazmak için, kelimelerin arasına alt çizgi " +"koyman gerekir.\n" +"\n" +"Aşağıdaki fonksiyon tanımı, daha önceki ile tamamen aynıdır." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:136 +msgid "" +"Parameters make your code easier to reuse.\n" +"\n" +"Here's an example with a function to draw any square. Use the slider to " +"change the value passed to the function and draw squares of different sizes." +msgstr "" +"Alınan değişkenler, kodun tekrar kullanılmasını çok kolaylaştırır.\n" +"\n" +"İşte sana, herhangi bir kare çizebilen bir fonksiyon örneği. Fonksiyona " +"gönderilen değeri değiştirmek için kaydırma çubuğunu kullan ve farklı " +"boyutlarda kareler çiz." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:156 +msgid "Which is the correct syntax for a function definition?" +msgstr "Fonksiyon tanımlaması için, hangisi doğru yazım şeklidir?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:159 +msgid "" +"To define a function, you need to start with the [code]func[/code] keyword " +"followed by a space, the [code]function_name[/code], and optional parameters " +"inside parentheses.\n" +"\n" +"You must end the line with a colon, which defines a new code block. We'll " +"see moving forward that keywords other than [code]func[/code] require a " +"colon at the end of the line." +msgstr "" +"Bir fonksiyon tanımlamak için, [code]func[/code] anahtar kelimesi ile " +"başlayıp boşluk bırakman, [code]fonksiyon_ismi[/code] yazman, ve isteğe " +"bağlı alınan değişken isimlerini parantez içerisinde vermen gerekir.\n" +"\n" +"Satırın en sonuna iki nokta üstüste koymalısın, bu şekilde bir kod bölgesi " +"tanımlarsın. İleride, [code]func[/code] haricinde başka ahantar " +"kelimelerinde, satır sonunda iki nokta üstüste istediklerini göreceğiz." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +#: course/lesson-6-multiple-function-parameters/lesson.tres:163 +msgid "func function_name(parameter_name):" +msgstr "func fonksiyon_ismi(alınan_değişken_ismi):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +msgid "func (function_name): parameter_name" +msgstr "func (fonksiyon_ismi): alınan_değişken_ismi" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +msgid "func function_name(parameter_name)" +msgstr "func fonksiyon_ismi (alınan_değişken_ismi)" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:162 +msgid "function_name(parameter_name):" +msgstr "fonksiyon_ismi (alınan_değişken_ismi):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:170 +msgid "Functions can have multiple parameters" +msgstr "Fonksiyonlar, birden fazla alınan değişkene sahip olabilirler" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:172 +msgid "" +"You can use multiple parameters in a function. In fact, you can use as many " +"as you [i]need[/i].\n" +"\n" +"To separate the function parameters, you need to write a comma between them." +msgstr "" +"Bir fonksiyonun içinde, birden fazla alınan değişken kullanabilirsin. " +"Aslında, sana [i]gerektiği[/i] kadar çok miktarda kullanabilirsin.\n" +"\n" +"Fonksiyonun alınan değişkenlerini birbirinden ayırmak için, aralarına virgül " +"yazman gerekir." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:192 +msgid "Must I write spaces between function parameters?" +msgstr "Fonksiyon parametreleri arasına boşluk koymalı mıyım?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:194 +msgid "" +"In a function definition, you must have a space between the [code]func[/" +"code] keyword and the function name.\n" +"\n" +"However, because we use the comma to separate parameters, it doesn't matter " +"if you use spaces between parameters. As long as you have the comma, either " +"syntax is correct.\n" +"\n" +"We often use spaces after the comma for readability." +msgstr "" +"Bir fonksiyonun tanımında, [code]func[/code] anahtar kelimesi ile " +"fonksiyonun ismi arasına boşluk koyman gerekir.\n" +"\n" +"Ancak, alınan değişkenleri birbirinden ayırmak için virgül kullandığımız " +"için, aralara boşluk koyman bir şeyi değiştirmez. Virgüller olduğu sürece, " +"iki yazım şekli de geçerlidir (isimlerin içine koymadığın sürece).\n" +"\n" +"Sıklıkla, okunailirliği arttırmak için, virgülden sonra boşluk koyarız." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:208 +msgid "" +"The following example defines a function that uses two parameters to move an " +"entity on both the X and Y axes." +msgstr "" +"Aşağıdaki örnek, bir varlığı, hem X hemde Y eksenlerinde hareket ettirmek " +"için, iki alınan değişkeni olan bir fonksiyon tanımlar." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:226 +msgid "How should I name my functions and parameters?" +msgstr "Fonksiyonlarıma ve alınan değişkenlerine nasıl isim vermeliyim?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:228 +msgid "" +"The names of functions, parameters, or other things in your code are " +"entirely up to you.\n" +"\n" +"They are written by us programmers for other programmers. You want to use " +"the names that make the most sense to you and fellow programmers.\n" +"\n" +"You could absolutely write single-letter names like in maths classes: " +"[code]a[/code], [code]b[/code], [code]f[/code].\n" +"\n" +"You can also write abbreviated names like [code]pos[/code] for position, " +"[code]bg[/code] for background, and so on.\n" +"\n" +"Many programmers do either or both of the above.\n" +"\n" +"At GDQuest, we favor complete and explicit names.\n" +"\n" +"We generally try to write code that is explicit and relatively easy to " +"read.\n" +"\n" +"Right now, you have to enter every letter when you code, so long names may " +"feel inconvenient.\n" +"\n" +"However, this is good for learning: it trains your fingers to [ignore]type " +"precisely.\n" +"\n" +"Then, after you finish this course, you will see that the computer assists " +"you a lot when you code real games with a feature called auto-completion.\n" +"\n" +"Based on a few characters you [ignore]type, it will offer you to complete " +"long names." +msgstr "" +"Kodunda bulunan fonksiyonların, alınan değişkenlerinin, ve diğer şeylerin " +"isimleri tamamen sana kalmış\n" +"\n" +"Bunlar, biz programcılar tarafından, diğer programcılar için yazılır. " +"Kullanmak istediğin isimlerin, sen ve meslektaş programcılar için en anlamlı " +"olanlardan olmasını istersin.\n" +"\n" +"Matematikte kullanılan, [code]a[/code], [code]b[/code], [code]f[/code] gibi " +"tek harflik bir isim bile kullanabilirdin.\n" +"\n" +"Hatta, konum için [code]pos[/code] (position), arka plan için [code]bg[/code]" +" (background), ve buna benzer kısaltılmış isimlerde yazabilirsin.\n" +"\n" +"Bir çok programcı bunların ikisini de yapıyor.\n" +"\n" +"GDQuest'te, bütün ve belirgin isimler tercih ederiz.\n" +"\n" +"Genel olarak, yazdığımız kodun belirgin ve okuması kolay olmasına çabalarız\n" +"\n" +"Şu an için, kodlama yaparken, her harfi tek tek girmen gerekiyor, ve uzun " +"isimler biraz zahmetli gelebilir.\n" +"\n" +"Ancak bu, öğrenmek için çok iyidir: parmaklarını, kusursuz kesinlikte " +"yazabilmek için eğitmeye yarar.\n" +"\n" +"Ayrıca, bu kursu bitirdikten sonra göreceksin, gerçek oyunlar kodlarken " +"bilgisayar sana, kendi-tamamlama (auto-complete) özelliği ile yardımcı olur." +"\n" +"\n" +"Sen bir kaç karakter yazınca, tamamlayabileceği uzun isimlerin listesini " +"seçmen için gösterir." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:256 +msgid "When defining a function, parameters are..." +msgstr "Bir fonksiyon tanımlarken, alınan değişkenler..." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:259 +msgid "" +"You can define functions with or without parameters, depending on your needs." +msgstr "" +"İhtiyacına bağlı olarak, fonksiyon tanımlarında alınan değişkenleri " +"kullanırsın ya da kullanmazsın." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:260 +#: course/lesson-6-multiple-function-parameters/lesson.tres:261 +msgid "Optional" +msgstr "İsteğe bağlıdır" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:260 +msgid "Mandatory" +msgstr "Zorunludur" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:268 +msgid "" +"What's the correct syntax to define a function with multiple parameters?" +msgstr "" +"Birden fazla alınan değişkeni olan bir fonksiyon tanımlamanın doğru yazım " +"şekli nedir?" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:271 +msgid "" +"You always write the function parameters inside of the parentheses. To " +"define multiple parameters, you separate them with a comma." +msgstr "" +"Fonkiyonun alınan değişkenlerini, her zaman parantez içierisinde yazarsın. " +"Birden çok alınan değer tanımlamak için de, bunları virgül ile ayırırsın." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:272 +#: course/lesson-6-multiple-function-parameters/lesson.tres:273 +msgid "func function_name(parameter_1, parameter_2, ...):" +msgstr "func fonksiyon_ismi(alinan_deger_1, alinan_deger_2, ...):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:272 +msgid "func function_name(parameter_1 parameter_2 ...):" +msgstr "func fonksiyon_ismi(alinan_deger_1 alinan_deger_2 ...):" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:272 +msgid "func function_name(): parameter_1, parameter_2, ..." +msgstr "func fonksiyon_ismi(): alinan_deger_1, alinan_deger_2, ..." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:282 +msgid "" +"Now it's your turn to create a function with multiple parameters: a function " +"to draw rectangles of any size." +msgstr "" +"Birde fazla alınan değeri olan bir fonksiyon oluşturma sırası sende: " +"herhangi bir boyda dikdörtgenler çizebilen bir fonksiyon." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:290 +msgid "Drawing corners of different sizes" +msgstr "Farklı boyutlarda köşeler çizmek" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:291 +msgid "" +"Before we create a rectangle of any size, let's first see how we can use " +"parameters to draw simpler shapes.\n" +"\n" +"Here we have an incomplete function that will draw corners with lines of any " +"length, but it's missing its [code]length[/code] parameter.\n" +"\n" +"The function will move the turtle forward an amount defined by the parameter " +"[code]length[/code], turn [code]90[/code] degrees, then move forward " +"[code]length[/code] pixels.\n" +"\n" +"Complete the [code]draw_corner()[/code] function so it uses the " +"[code]length[/code] parameter to draw corners." +msgstr "" +"Herhangi bir boyda dikdörtgenler çizmeye başlamadan önce, alınan " +"değişkenleri kullanarak basit şekilleri nasıl yapacağımıza bir göz atalım.\n" +"\n" +"Bu tamamlanmamış fonksiyon, her uzunlukta çigilerle bir köşe çizebiliyor, " +"ama [code]length[/code] (uzunluk) alınan değişkeni eksik durumda.\n" +"\n" +"Fonksiyon, kaplumbağayı, alınan değişken [code]length[/code] miktarı kadar " +"ileri götürecek, [code]90[/code] derece döndürecek, ve [code]length[/code] " +"piksel kadar daha ileri götürecek.\n" +"\n" +"[code]draw_corner()[/code] fonksiyonunu düzenleyerek, köşeleri çizmek için " +"[code]length[/code] alınan değişkenini kullanmasını sağla." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:309 +msgid "" +"Using function parameters, code a function you can reuse to draw corners " +"with lines of varying sizes." +msgstr "" +"Fonksiyonun alınan değişkenlerini kullanarak, değişen boylarda çizgiler " +"kullanarak bir köşe çizebilen bir fonksiyon kodla." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:314 +msgid "Using multiple parameters" +msgstr "Birden çok alınan değişken kullanmak" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:315 +msgid "" +"In this practice, we'll improve our [code]draw_corner()[/code] function so " +"the angle can also vary.\n" +"\n" +"Add the [code]angle[/code] parameter after the [code]length[/code] parameter " +"in the [code]draw_corner()[/code] function and use it to draw corners of " +"varying angles." +msgstr "" +"Bu alıştırmada, [code]draw_corner()[/code] fonksiyonumuzu, dönüş açısınında " +"değişebildiği bir şekilde geliştireceğiz.\n" +"\n" +"[code]draw_corner()[/code] fonksiyonunda, [code]length[/code] alınan " +"değişkeninden sonra, [code]angle[/code] (açı) isimli alınan değişkeni ekle, " +"ve bunu değişen açılarda köşeler çizmek için kullan." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:329 +msgid "With two parameters, code a function to draw corners with any angle." +msgstr "" +"İki tane alınan değişken kullanarak, herhangi bir açıda köşe çizen bir " +"fonksiyon kodla." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:334 +msgid "Drawing squares of any size" +msgstr "Herhangi bir boyda kareler çizmek" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:335 +msgid "" +"We want a function to draw squares of any size.\n" +"\n" +"We could use these squares as outlines when selecting units in a tactical " +"game, as a frame for items in an inventory, and more.\n" +"\n" +"Create a function named [code]draw_square()[/code] that takes one parameter: " +"the [code]length[/code] of the square's sides.\n" +"\n" +"[b]The turtle should face towards the right when starting or completing a " +"square.[/b]\n" +"\n" +"Be sure to call [b]turn_right(90)[/b] enough times in your function to do " +"so." +msgstr "" +"Herhangi boyda kareler çizdiren bir fonksiyon istiyoruz.\n" +"\n" +"Bir taktik tabanlı oyun içinde seçili birliklerin çevresine kareler çizmek, " +"depodaki öğeleri bir çerçeve içine almak, ve daha fazlası için bu kareleri " +"kullanabiliriz.\n" +"\n" +"[code]draw_square[/code] isminde, bir tane alınan değişkeni olan bir " +"fonksiyon yaz: [code]length[/code] değişkeni karenin kenar uzunluğu olacak.\n" +"\n" +"[b]Başlarken, yada kareyi çizmeyi bitirdiğinde, kaplumbağa sağa doğru " +"bakıyor olmalı.[/b]\n" +"\n" +"Bunun için, fonksiyon içinde, gerektiği kadar sayıda [b]turn_right(90)[/b] " +"çağrısı yapmalısın." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:352 +msgid "" +"In the previous lesson, your function would draw squares of a fixed size. " +"Using a parameter, code a function to draw squares of any size." +msgstr "" +"Önceki derste, fonksiyonun sabit boyda kareler çizdirmişti. Alınan " +"değişkenleri kullanarak, her boyda kareler çizdiren bir fonksiyon kodla." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:357 +msgid "Drawing rectangles of any size" +msgstr "Her boyda dikdörtgenler çizmek" + +#: course/lesson-6-multiple-function-parameters/lesson.tres:358 +msgid "" +"Let's make our square drawing function more flexible to include rectangles " +"of varying sizes.\n" +"\n" +"Your job is to code a function named [code]draw_rectangle()[/code] that " +"takes two parameters: the [code]length[/code] and the [code]height[/code] of " +"the rectangle.\n" +"\n" +"[b]The turtle should face towards the right when starting or completing a " +"rectangle.[/b]\n" +"\n" +"Note that we could still draw a square with [code]draw_rectangle()[/code] by " +"having the [code]length[/code] and [code]height[/code] equal the same value." +msgstr "" +"Hadi şimdi, kare çizen fonksiyonumuzu biraz esnetelim ve her boyda " +"dikdörtgenler çizebilsin.\n" +"\n" +"Senin işin, iki tane alınan değişkeni olan [code]draw_rectangle()[/code] " +"isminde bir fonksiyon kodlamak: dikdörtgenin uzunluğu, [code]length[/code], " +"ve yüksekliği, [code]height[/code].\n" +"\n" +"[b]Kaplumbağa, başlarken ve çizmeyi bitirdiğinde, sağa doğru bakmalıdır.[/b]" +"\n" +"\n" +"Eğer dikkatli bakarsak, [code]length[/code] ve [code]height[/code] " +"değerlerini aynı verirsek, [code]draw_rectangle()[/code] kullanarak bir kare " +"çizdirebiliriz." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:381 +msgid "" +"With one parameter, you can make squares of any size. With two, you can draw " +"any rectangle! You'll do so in this practice." +msgstr "" +"Tek bir alınan değişken ile, her boyda kareler yapabilirsin. İki tanesi ile, " +"dikdörtgenler çizebilirsin! Bu alıştırmada bunu yapacaksın." + +#: course/lesson-6-multiple-function-parameters/lesson.tres:385 +msgid "Your First Function Parameter" +msgstr "İlk Fonsiyon Alınan Değişkenin (Parametre)" diff --git a/i18n/tr/lesson-7-member-variables.po b/i18n/tr/lesson-7-member-variables.po new file mode 100644 index 00000000..f5adc731 --- /dev/null +++ b/i18n/tr/lesson-7-member-variables.po @@ -0,0 +1,429 @@ +# 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 , 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-11 00:13+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-7-member-variables/lesson.tres:14 +msgid "" +"In this lesson, we take a first look at variables.\n" +"\n" +"In games, you need to keep track of many values that change over time:\n" +"\n" +"- The player's score.\n" +"- Every character or enemy's health.\n" +"- The last checkpoint.\n" +"\n" +"And so much more. You need to store, retrieve, and update those values.\n" +"\n" +"We call those values [i]variables[/i]. Variables are labels you use to keep " +"track of values that vary over time. Here's an example of a variable " +"tracking a character or monster's health." +msgstr "" +"Bu ders, değişkenlere ilk bakışımız olacak.\n" +"\n" +"Oyunlarda, zamanla değişen pek çok değeri takip etmen gerekir.\n" +"\n" +"- Oyuncunun puanı.\n" +"- Her karakter ya da düşmanın can miktarı.\n" +"- Son kayıt noktası.\n" +"\n" +"Ve çok daha fazlası. Bunların değerlerini bir yerde kaydetmen, ordan alıp " +"kullanman, ve güncelleyip değiştirmen gerekir.\n" +"\n" +"Bu tür değerlere [i]değişken[/i] adını veriyoruz. Değişkenler, zaman içinde " +"değişen değerleri takip etmek için kullanacağın etiketlerdir. Mesela bu " +"örnekteki değişken, bir karakter ya da canavarın sağlığını takip eder." + +#: course/lesson-7-member-variables/lesson.tres:44 +msgid "" +"The line above defines a new variable named [code]health[/code] and assigns " +"it a starting value of [code]100[/code] (that's what the equal sign does, " +"more on that below).\n" +"\n" +"Function parameters, which you saw in the previous lesson, are another " +"example of variables." +msgstr "" +"Yukarıdaki satır, [code]health[/code] (sağlık) isimli bir değişken " +"tanımlıyor ve buna, [code]100[/code] başlangıç değerini atıyor (eşitlik " +"işaretinin amacı bu, aşağıda fazlasını göreceksin).\n" +"\n" +"Önceki derste gördüğün, bir fonksiyonun alınan değişkenleri de birer " +"değişken örneğidir." + +#: course/lesson-7-member-variables/lesson.tres:56 +msgid "" +"In this lesson, we start using variables built into Godot. They're a " +"particular kind called [i]member variables[/i].\n" +"\n" +"Member variables are values attached to a game entity. They're useful " +"properties like the [code]position[/code], [code]rotation[/code], and " +"[code]scale[/code] of a character.\n" +"\n" +"In a previous lesson, we saw how we could use the [code]rotate()[/code] " +"function to rotate our character." +msgstr "" +"Bu derste, Godot içine gömülü olan değişkenleri kullanmaya başlıyoruz. " +"Bunların isimleri özel olarak [i]üye değişkenler[/i]'dir.\n" +"\n" +"Üye değişkenler, bir oyun varlığına iliştirilmiş değerlerdir. Bir karakterin " +"konumu, [code]position[/code], dönme miktarı, [code]rotation[/code], ve " +"ölçeklendirmesi, [code]scale[/code], gibi yararlı özelliklerdir.\n" +"\n" +"Önceki derste, [i]rotate()[/i] fonksiyonu ile karakterimizi nasıl " +"döndürebileceğimizi gördük." + +#: course/lesson-7-member-variables/lesson.tres:80 +msgid "" +"This function increases or decreases the value of the entity's " +"[code]rotation[/code] member variable.\n" +"\n" +"Say we want to reset the rotation to [code]0[/code] and make the character " +"upright. Using the [code]rotate()[/code] function can prove difficult: you " +"need to know the character's exact current angle to cancel it out.\n" +"\n" +"It's much easier to use the member variable rather than the function.\n" +"\n" +"The following code assigns the value [code]0[/code] to the character's " +"rotation, resetting its angle and making it upright." +msgstr "" +"Bu fonksiyon, bir varlığın [code]rotation[/code] (dönme) üye değişkeninin " +"değerini arttırıp azaltır.\n" +"\n" +"Diyelim ki, karekterin dönmesini [code]0[/code] yapmak ve yukarı doğru " +"durmasını sağlamak istiyoruz. Bu amaçla sürekli [code]rotate()[/code] " +"fonksiyonunu kullanmak zor olacaktır: Karakterin dönmesini sıfırlamak için, " +"şimdiki tam dönme açısını bilmek zorundasın.\n" +"\n" +"Fonksiyon yerine bir üye değişken kullanmak çok daha kolaydır.\n" +"\n" +"Aşağıdaki kod, karakterin dönüşüne [code]0[/code] değerini veriyor, ve onun " +"açısını sıfırlayıp yukarı bakmasını sağlıyor." + +#: course/lesson-7-member-variables/lesson.tres:106 +msgid "" +"Notice how we use the equal sign ([code]=[/code]) to change the value of a " +"variable." +msgstr "" +"Değişkenin değerini değiştirmek için, eşittir işaretini, ([code]=[/code]) " +"nasıl kullandığımıza dikkat et." + +#: course/lesson-7-member-variables/lesson.tres:114 +msgid "What's a variable?" +msgstr "Bir değişken, nedir?" + +#: course/lesson-7-member-variables/lesson.tres:117 +msgid "" +"Variables are labels you use to access values that change over time.\n" +"\n" +"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" +"\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 " +"hale getirirsin." + +#: course/lesson-7-member-variables/lesson.tres:120 +#: course/lesson-7-member-variables/lesson.tres:121 +msgid "A label you use to keep track of a value that can change." +msgstr "Değişebilen bir değeri takip etmek için kullandığın bir etiket." + +#: course/lesson-7-member-variables/lesson.tres:120 +msgid "A function that varies over time." +msgstr "Zaman içinde değişen bir fonksiyon." + +#: course/lesson-7-member-variables/lesson.tres:120 +msgid "A decimal number." +msgstr "Bir ondalık sayı." + +#: course/lesson-7-member-variables/lesson.tres:128 +msgid "Accessing sub-variables with the dot" +msgstr "Alt değişkenlere nokta ile erişmek" + +#: course/lesson-7-member-variables/lesson.tres:130 +msgid "" +"In video games, you will see many member variables that have sub-values.\n" +"\n" +"For example, the [code]position[/code] we mentioned has two coordinates: " +"[code]x[/code] and [code]y[/code].\n" +"\n" +"It's the same for the [code]scale[/code]: it has [code]x[/code] and [code]y[/" +"code] sub-variables. They respectively control the horizontal and vertical " +"size of the game entity.\n" +"\n" +"To access those X and Y sub-components, you add a dot (\".\") after the " +"variable name.\n" +"\n" +"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 "" +"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" +"\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" +"\n" +"Aşağıdaki kod, varlığı, x ekseninde [code]200[/code] ve y ekseninde " +"[code]250[/code] piksel uzaklığa yerleştirir." + +#: course/lesson-7-member-variables/lesson.tres:158 +msgid "" +"Notice how we use the equal sign (\"=\") to assign the numbers on the right " +"to the sub-variables on the left.\n" +"\n" +"Unlike in maths, in computer programming, the equal sign (\"=\") does not " +"mean \"is equal to.\"\n" +"\n" +"Instead, it means \"assign the result of the expression on the right to the " +"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" +"\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 " +"bunun için ayırmayı tercih ederiz." + +#: course/lesson-7-member-variables/lesson.tres:170 +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 +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" +"\n" +"In math, the y-axis is generally positive going up by convention.\n" +"\n" +"The convention is the [i]opposite[/i] in video games and many computer " +"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" +"\n" +"Matematikte, genelde, y-ekseni yukarı doğru pozitif artacak şekildedir.\n" +"\n" +"Video oyunlarında ve birçok bilgisayar uygulamasında bunun [i]tersi[/i] " +"geçerlidir: y-ekseni aşağıya doğru pozitif artar." + +#: course/lesson-7-member-variables/lesson.tres:194 +msgid "Why does the Y-axis point downwards?" +msgstr "Y-ekseni neden aşağıyı gösteriyor?" + +#: course/lesson-7-member-variables/lesson.tres:196 +msgid "" +"This may be confusing if you only saw the y-axis pointing up in math " +"classes. However, in math, axes go in any direction. They don't even have to " +"be perpendicular.\n" +"\n" +"On the computer, the position (0, 0) happens to correspond to the top-left " +"of your computer screen. It then makes sense for coordinates to be positive " +"when going towards the bottom-right corner.\n" +"\n" +"This leads to another question: why is position zero the top left of the " +"screen? This is due to computer and TV displays history: they would " +"calculate and display pixels starting from the top left corner and moving " +"towards the bottom right corner." +msgstr "" +"Eğer matematik derslerinde y-ekseninin sadece yukarı baktığını gördüysen, bu " +"sana kafa karıştırıcı gelebilir. Ancak, matematikte, eksenler herhangi bir " +"yöne gidebilir. Hatta birbirine dik olmaları bile gerekmez.\n" +"\n" +"Bilgisayarda, (0, 0) konumu, bilgisayar ekranının sol üst köşesine karşılık " +"gelir. Bu yüzden sağ alt köşeye doğru giderken koordinatların pozitif olması " +"mantıklıdır.\n" +"\n" +"Bu da başka bir soruya yol açmaktadır: sıfır konumu neden ekranın sol üst " +"köşesidir? Bunun nedeni bilgisayar ve TV ekranlarının geçmişidir: " +"piksellerin hesabını, sol üst köşeden başlayarak sağ alt köşeye doğru " +"yaparlardı." + +#: course/lesson-7-member-variables/lesson.tres:210 +msgid "" +"Let's look at one last example before moving on to the practice. The " +"following code makes the character 1.5 times its starting size." +msgstr "" +"Alıştırmaya geçmeden önce son bir örneğe bakalım. Aşağıdaki kod, karakteri, " +"başlangıç boyutunun 1.5 katı yapar." + +#: course/lesson-7-member-variables/lesson.tres:228 +msgid "How do you access sub-variables?" +msgstr "Alt değişkenlere nasıl erişirsin?" + +#: course/lesson-7-member-variables/lesson.tres:229 +msgid "" +"Variables often hold sub-values, like the [code]position[/code] has two sub-" +"variables: [code]x[/code] and [code]y[/code]. How would you access the " +"[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?" + +#: course/lesson-7-member-variables/lesson.tres:231 +msgid "" +"To access a sub-variable, you need to write a dot between the parent " +"variable name and the sub-variable name.\n" +"\n" +"For example, to access the [code]x[/code] sub-variable of the " +"[code]position[/code] variable, you'll write [code]position.x[/code]." +msgstr "" +"Bir alt-değişkene erişmek için, ana değişkenin ismi ile alt-değişkenin ismi " +"arasına bir nokta koyman gerekir.\n" +"\n" +"Örneğin, [code]position[/code] değişkeninin [code]x[/code] alt-değişkenine " +"erişmek için, [code]position.x[/code] yazacaksın." + +#: course/lesson-7-member-variables/lesson.tres:234 +#: course/lesson-7-member-variables/lesson.tres:235 +msgid "You write a dot (\".\") between the variable and the sub-variable name." +msgstr "Değişken ve alt-değişken ismi arasına bir nokta (\".\") yazarsın." + +#: course/lesson-7-member-variables/lesson.tres:234 +msgid "" +"You write an arrow (\"->\") between the variable and the sub-variable name." +msgstr "Değişken ile alt-değişken ismi arasına bir ok (\"->\") yazarsın." + +#: course/lesson-7-member-variables/lesson.tres:234 +msgid "" +"You write a slash (\"/\") between the variable and the sub-variable name." +msgstr "Değişken ve alt-değişken ismi arasına bir eğik çizgi (\"/\") yazarsın." + +#: course/lesson-7-member-variables/lesson.tres:244 +msgid "" +"In a future lesson, we'll explain why and how those variables have sub-" +"variables.\n" +"\n" +"For now, just know you can use the dot to access them.\n" +"\n" +"We'll tell you which variables have sub-components and what their names " +"are.\n" +"\n" +"In the next lessons, you'll create your own variables and do operations on " +"them to add or remove [code]score[/code], [code]health[/code], you name it.\n" +"\n" +"For now, let's practice accessing variables." +msgstr "" +"İleri bir derste, bu değişkenlerin neden ve nasıl alt-değişkenlere sahip " +"olduğunu açıklayacağız.\n" +"\n" +"Şimdilik, onlara erişmek için noktayı kullanabileceğini bilsen yeter.\n" +"\n" +"Hangi değişkenlerin alt-bileşenleri olduğunu ve bunların isimlerinin ne " +"olduğunu sana söyleyeceğiz.\n" +"\n" +"Sonraki derslerde, kendi değişkenlerini oluşturacak, ve [code]score[/code] " +"(puan), [code]health[/code] (sağlık) değerleri eklemek veya kaldırmak için " +"üzerlerinde işlemler yapacaksın.\n" +"\n" +"Şimdilik, hadi değişkenlere erişme alıştırması yapalım." + +#: course/lesson-7-member-variables/lesson.tres:260 +msgid "Draw a rectangle at a precise position" +msgstr "Kesin bir konuma bir dikdörtgen çiz" + +#: course/lesson-7-member-variables/lesson.tres:261 +msgid "" +"Draw a rectangle of 200 by 120 pixels at the X position of 120 pixels and Y " +"position of 100 pixels.\n" +"\n" +"You need to replace the numbers in the code editor to draw the correct " +"rectangle." +msgstr "" +"X konumu 120 piksel ve Y konumu 100 piksel olan, 200'e 120 boyutlarında bir " +"dikdörtgen çiz.\n" +"\n" +"Doğru dikdörtgeni çizmek için, sayıları kod düzenleyicide yerleştirmen " +"gerekiyor." + +#: course/lesson-7-member-variables/lesson.tres:275 +msgid "" +"Use the position member variable and its sub-variables to change the " +"rectangle's position." +msgstr "" +"Dikdörtgenin konumunu değiştirmek için, \"position\" üye değişkeni ile onun " +"alt değişkenlerini kullan." + +#: course/lesson-7-member-variables/lesson.tres:280 +msgid "Draw squares at different positions" +msgstr "Farklı konumlarda kareler çiz" + +#: course/lesson-7-member-variables/lesson.tres:281 +msgid "" +"Draw three squares of size 100 by 100 that are 100 pixels apart on the " +"horizontal axis. In other words, there should be a 100-pixel gap between two " +"squares.\n" +"\n" +"You should draw the squares starting at the position (100, 100). This means " +"you should position the first square at 100 on the X axis and 100 on the Y " +"axis.\n" +"\n" +"Remember you need to use the equal sign ([code]=[/code]) to change the value " +"of a variable, like the turtle's position.\n" +"\n" +"Write your code inside the [code]run()[/code] function so the computer can " +"recognize it.\n" +"\n" +"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" +"\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" +"\n" +"Kaplumbağanın konumu gibi bir değişkenin değerini değiştirmek için, eşittir " +"işaretini ([code]=[/code]) kullanman gerektiğini unutma.\n" +"\n" +"Bilgiayarın tanıyabilmesi için, kodunu, [code]run()[/code] fonksiyonu içine " +"yaz.\n" +"\n" +"Her bir kareyi çizmek için, sana verdiğimiz [code]draw_rectangle()[/code] " +"fonksiyonunu kullan." + +#: course/lesson-7-member-variables/lesson.tres:299 +msgid "" +"Now you can place and draw one shape, but how about drawing several? In this " +"practice, you'll place three squares side by side to really get the hang of " +"properties." +msgstr "" +"Şimdi bir şekli konumlandırabilir ve çizebilirsin, peki ya bir kaç tane " +"çizmeye ne dersin? Bu alıştırmada, özellikleri gerçekten kavramak için üç " +"kareyi yan yana yerleştireceksin." + +#: course/lesson-7-member-variables/lesson.tres:303 +msgid "Introduction to Member Variables" +msgstr "Üye Değişkenlere Giriş" diff --git a/i18n/tr/lesson-8-defining-variables.po b/i18n/tr/lesson-8-defining-variables.po new file mode 100644 index 00000000..b11a59bb --- /dev/null +++ b/i18n/tr/lesson-8-defining-variables.po @@ -0,0 +1,323 @@ +# 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 , 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-14 21:11+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-8-defining-variables/lesson.tres:13 +msgid "" +"In the previous lesson, you used a predefined member variable named " +"[code]position[/code].\n" +"\n" +"In your projects, you will need to define your own variables.\n" +"\n" +"Imagine that you need to track the player's health in your game.\n" +"\n" +"They may start with [code]5[/code] health points. When taking a hit, the " +"health should go down to [code]4[/code]. After another hit, it should be " +"[code]3[/code]. And so on.\n" +"\n" +"To keep track of that, you can create a variable named [code]health[/code] " +"to which you add and subtract points.\n" +"\n" +"The example below introduces the [code]print()[/code] function, which " +"outputs its argument to the output box on the left.\n" +"\n" +"Click the [i]run()[/i] button to instantly run the entire function, and " +"click the [i]step[/i] button to execute lines of code one by one.\n" +"\n" +"The [i]Debugger[/i] panel at the bottom shows the current value of the " +"[code]health[/code] variable." +msgstr "" +"Önceki derste, [code]position[/code] adında önceden tanımlanmış bir üye " +"değişken kullandın.\n" +"\n" +"Projelerinde kendi değişkenlerini tanımlaman gerekecek.\n" +"\n" +"Oyununda, oyuncuların sağlığını takip etmen gerektiğini düşün.\n" +"\n" +"[code]5[/code] sağlık puanı ile başlayabilirler. Bir darbe aldıklarında, " +"sağlık puanı [code]4[/code]'e düşmelidir. Başka bir darbeden sonra, " +"[code]3[/code]'a düşmelidir. Ve bu böyle devam eder.\n" +"\n" +"Bunun takibini yapmak için, puan ekleyip çıkardığın [code]health[/code] " +"adında bir değişken oluşturabilirsin.\n" +"\n" +"Aşağıdaki örnek, girdi değişkenini soldaki çıktı kutusuna yazdıran " +"[code]print()[/code] fonksiyonunu tanıtmaktadır.\n" +"\n" +"Bütün fonksiyonu tek seferde çağırmak için[i]run()[/i] (çalıştır) düğmesine, " +"kod satırlarını tek tek yürütmek için [i]step[/i] (adım) düğmesine tıkla.\n" +"\n" +"Alttaki [i]hata ayıklama[/i] (Debugger) paneli [code]health[/code] " +"değişkeninin şimdiki değerini gösterir." + +#: course/lesson-8-defining-variables/lesson.tres:47 +msgid "" +"After executing the first two lines of code, you will have a health variable " +"storing a value of [code]4[/code].\n" +"\n" +"Below, we'll break down how you define new variables and explain the " +"[code]print()[/code] function." +msgstr "" +"Kodun ilk iki satırını çalıştırdıktan sonra, [code]4[/code] değerini " +"saklayan bir sağlık değişkenin olacaktır.\n" +"\n" +"Aşağıda, yeni değişkenleri nasıl tanımlayacağını ve [code]print()[/code] " +"fonksiyonunu açıklayacağız." + +#: course/lesson-8-defining-variables/lesson.tres:57 +msgid "Defining a variable" +msgstr "Bir değişken tanımlamak" + +#: course/lesson-8-defining-variables/lesson.tres:59 +msgid "" +"To use a variable, you must first define it so the computer registers its " +"name.\n" +"\n" +"To do so, you start a line of code with the [code]var[/code] keyword " +"followed by your desired variable name. Like [code]func[/code] stands for " +"[i]function[/i], [code]var[/code] stands for [i]variable[/i].\n" +"\n" +"Variables are case-sensitive, which means [code]health[/code] and " +"[code]Health[/code] are technically different variables. Be careful to use " +"the same capitalization wherever you refer to the same variable, or you " +"could be reading or writing to a different variable.\n" +"\n" +"The following line defines a [code]health[/code] variable pointing to no " +"value. You can think of it as creating a product label you have yet to stick " +"onto something." +msgstr "" +"Bir değişkeni kullanmak için, önce onu tanımlaman gerekir, böylece " +"bilgisayar onun ismini kaydeder.\n" +"\n" +"Bunu yapmak için, bir kod satırına [code]var[/code] anahtar kelimesi ile " +"başlar ve ardından istediğin değişken ismini yazarsın. [code]func[/code] " +"isminin[i]fonksiyonu[/i] (function) temsil etmesi gibi, [code]var[/code] " +"ismi de [i]değişken[/i] (variable) anlamına gelir.\n" +"\n" +"Değişkenler büyük/küçük harfe duyarlıdır, yani [code]health[/code] ve " +"[code]Health[/code] teknik olarak farklı değişkenlerdir. Aynı değişkeni " +"işaret ettiğin her yerde, aynı harf büyüklüğü kullanımına dikkat et, aksi " +"takdirde farklı bir değişkeni okuyor veya yazıyor olabilirsin.\n" +"\n" +"Aşağıdaki satır, hiçbir değere işaret etmeyen bir [code]health[/code] " +"değişkeni tanımlar. Bunu, henüz bir şeyin üzerine yapıştırmadığın bir ürün " +"etiketi oluşturmak gibi düşünebilirsin." + +#: course/lesson-8-defining-variables/lesson.tres:85 +msgid "" +"Like with functions, a member variable's name must be unique inside a given " +"code file. Creating two variables next to each other with the same name will " +"cause an error." +msgstr "" +"Aynı Fonksiyonlar gibi, belirli bir kod dosyası içinde, bir üye değişkenin " +"ismi benzersiz olmalıdır. Aynı isme sahip iki değişkeni yan yana oluşturmak " +"hataya neden olur." + +#: course/lesson-8-defining-variables/lesson.tres:105 +msgid "" +"To use a variable, you want to assign it a starting value. You can do so " +"using the equal sign (=).\n" +"\n" +"This code assigns the value [code]100[/code] to a new variable named " +"[code]health[/code]." +msgstr "" +"Bir değişkeni kullanmak için, ona bir başlangıç değeri atamak istersin. Bunu " +"eşittir işaretini (=) kullanarak yapabilirsin.\n" +"\n" +"Bu kod, [code]100[/code] değerini, [code]health[/code] adlı yeni bir " +"değişkene atar." + +#: course/lesson-8-defining-variables/lesson.tres:127 +msgid "" +"After defining your variable, you can access its value by writing the " +"variable's name." +msgstr "" +"Değişkenini tanımladıktan sonra, değişkenin ismini yazarak değerine " +"erişebilirsin." + +#: course/lesson-8-defining-variables/lesson.tres:147 +msgid "" +"The code above will display the number [code]100[/code] to some output " +"window.\n" +"\n" +"Notice we don't use the [code]var[/code] keyword anymore as we only need it " +"to [i]define[/i] a variable.\n" +"\n" +"Also, once you define a variable, you can change its value anytime with the " +"equal sign." +msgstr "" +"Yukarıdaki kod, [code]100[/code] sayısını bir çıktı penceresinde " +"gösterecektir.\n" +"\n" +"[code]var[/code] anahtar sözcüğünü, daha sonra kullanmadığımıza dikkat et, " +"çünkü buna yalnızca bir değişkeni [i]tanımlamak[/i] için ihtiyacımız var.\n" +"\n" +"Ayrıca, bir değişkeni tanımladıktan sonra, eşittir işareti ile değerini " +"istediğin zaman değiştirebilirsin." + +#: course/lesson-8-defining-variables/lesson.tres:169 +msgid "About the print function" +msgstr "Yazdırma (print) fonksiyonu hakkında" + +#: course/lesson-8-defining-variables/lesson.tres:171 +msgid "" +"The [code]print()[/code] function is generally the first function you learn " +"in academic programming courses.\n" +"\n" +"It sends (\"prints\") the message or value you give it to some output " +"window, often a black window with plain white text." +msgstr "" +"[code]print()[/code] fonksiyonu genellikle, akademik programlama derslerinde " +"öğrenilen ilk fonksiyondur.\n" +"\n" +"Verdiğin mesajı veya değeri, genellikle düz beyaz metin içeren siyah bir " +"pencereye (ekrana), bir çıktı olarak gönderir (\"yazdırır\")." + +#: course/lesson-8-defining-variables/lesson.tres:183 +msgid "" +"Programmers often use [code]print()[/code] to quickly check the value of " +"their variables when their game runs.\n" +"\n" +"In the app, we made a special output window that captures calls to " +"[code]print()[/code] and displays a card to make it friendlier for you." +msgstr "" +"Programcılar, oyunları çalışırken, değişkenlerinin değerini hızlıca kontrol " +"etmek için genellikle [code]print()[/code] kullanırlar.\n" +"\n" +"Uygulama içinde senin için, [code]print()[/code] fonksiyonuna yapılan " +"çağrıları yakalayıp, daha arkadaş canlısı bir hale getirmek için, bir çıktı " +"penceresi yaptık." + +#: course/lesson-8-defining-variables/lesson.tres:205 +msgid "" +"Here, the verb [i]print[/i] means \"to send information to display on the " +"screen.\"\n" +"\n" +"The function \"prints\" things on your computer display; It does not relate " +"to printers." +msgstr "" +"Burada, [i]print[/i] (yazdır) fiili \"ekranda görüntülenmek üzere bilgi " +"göndermek\" anlamına gelmektedir.\n" +"\n" +"Bu fonksiyon, bilgisayarının ekranına bir şeyler \"yazdırır\"; yazıcılarla " +"ilgisi yoktur." + +#: course/lesson-8-defining-variables/lesson.tres:215 +msgid "Variables are like labels" +msgstr "Değişkenler etiketler gibidir" + +#: course/lesson-8-defining-variables/lesson.tres:217 +msgid "" +"As we hinted above, in GDScript, variables work a bit like labels.\n" +"\n" +"Assigning a value to a variable is like taking your label (the variable) and " +"sticking it onto some item (the value)." +msgstr "" +"Yukarıda işaret ettiğimiz gibi, GDScript'te, değişkenler biraz etiketlere " +"benzer çalışır.\n" +"\n" +"Bir değişkene değer atamak, etiketini (değişken) alıp bir öğenin (değer) " +"üzerine yapıştırmak gibidir." + +#: course/lesson-8-defining-variables/lesson.tres:229 +msgid "" +"Like a supermarket has a database of product labels, the computer keeps a " +"list of all variables in your code.\n" +"\n" +"Given the variable name, the computer can look up the attached value.\n" +"\n" +"It has an important consequence. In GDScript, you can stick that label to " +"any other value." +msgstr "" +"Bir süpermarketin ürün etiketlerinden oluşan bir veritabanına sahip olması " +"gibi, bilgisayar da kodun içindeki tüm değişkenlerin bir listesini tutar.\n" +"\n" +"Bir değişkenin adı verildiğinde, bilgisayar onunla ilişkili değeri " +"arayabilir.\n" +"\n" +"Bunun önemli bir sonucu vardır. GDScript'te, bu etiketi başka herhangi bir " +"değere yapıştırabilirsin." + +#: course/lesson-8-defining-variables/lesson.tres:253 +msgid "" +"The above code is like taking a label from the appropriate item and sticking " +"it to the wrong thing:\n" +"\n" +"- At line 2, the [code]health[/code] variable holds a number.\n" +"- From line 3, [code]health[/code] holds text.\n" +"\n" +"The computer will let you do that! The code's syntax and \"grammar\" are " +"correct, but it's not good.\n" +"\n" +"Variable names should describe the value they contain, so a [code]health[/" +"code] variable with a text value will confuse your future self and other " +"coders. It can also cause errors in your game.\n" +"\n" +"Later on, we'll see how to avoid this issue with [i]variable types[/i]. For " +"now, let's practice creating variables!" +msgstr "" +"Yukarıdaki kod, uygun bir üründen etiketini alıp, yanlış bir şeye " +"yapıştırmak gibidir:\n" +"\n" +"- 2. satırda, [code]health[/code] değişkeni bir sayı tutuyor.\n" +"- 3. satırdan itibaren, [code]health[/code] metin tutmaya başlıyor.\n" +"\n" +"Bilgisayar bunu yapmana izin verir! Çünkü kodun sözdizimi ve \"dilbilgisi\" " +"doğrudur, ama bu iyi bir şey değil.\n" +"\n" +"Değişkenlerin isimleri, içerdikleri değeri tanımlamalıdır, bu nedenle metin " +"içeriği olan bir [code]health[/code] değişkeni gelecekteki senin ve diğer " +"kodlayıcıların kafasını karıştıracaktır. Ayrıca oyununda hatalara da neden " +"olabilir.\n" +"\n" +"İleride, [i]değişken tipleri[/i] ile bu sorundan nasıl kaçınacağımızı " +"göreceğiz. Şimdilik, değişkenleri oluşturma alıştırması yapalım!" + +#: course/lesson-8-defining-variables/lesson.tres:270 +msgid "Define a health variable" +msgstr "Bir sağlık değişkeni tanımla" + +#: course/lesson-8-defining-variables/lesson.tres:271 +msgid "" +"Define a variable named [code]health[/code] with a starting value of " +"[code]100[/code].\n" +"\n" +"You can define variables inside or outside functions. In this practice, you " +"shouldn't create a function." +msgstr "" +"Başlangıç değeri [code]100[/code] olan, [code]health[/code] isminde bir " +"değişken tanımla.\n" +"\n" +"Değişkenleri fonksiyonların içinde veya dışında tanımlayabilirsin. Bu " +"uygulamada, bir fonksiyon oluşturmamalısın." + +#: course/lesson-8-defining-variables/lesson.tres:282 +msgid "" +"In this practice, you'll define your first variable and give it a specific " +"starting value." +msgstr "" +"Bu uygulamada, ilk değişkenini tanımlayacak ve ona belirli bir başlangıç " +"değeri vereceksin." + +#: course/lesson-8-defining-variables/lesson.tres:286 +msgid "Defining Your Own Variables" +msgstr "Kendi Değişkenlerini Tanımlamak" diff --git a/i18n/tr/lesson-9-adding-and-subtracting.po b/i18n/tr/lesson-9-adding-and-subtracting.po new file mode 100644 index 00000000..83c81f80 --- /dev/null +++ b/i18n/tr/lesson-9-adding-and-subtracting.po @@ -0,0 +1,222 @@ +# 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 , 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: 2022-03-26 17:50+0100\n" +"PO-Revision-Date: 2023-07-11 00:13+0000\n" +"Last-Translator: Yılmaz Durmaz \n" +"Language-Team: Turkish \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-9-adding-and-subtracting/lesson.tres:14 +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 player is from losing the game.\n" +"\n" +"Health that changes adds tension to the game, especially if the player is" +" fighting with low health! It's a resource that that player should manage" +" carefully.\n" +"\n" +"The character's health might get low if an enemy attacks them or they " +"fall into a hole.\n" +"\n" +"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" +"\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" +"\n" +"Bu durumlar için hasarı temsil edecek bir fonksiyon oluşturabiliriz." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:40 +msgid "" +"We pass the amount of damage the robot should take as a parameter.\n" +"\n" +"Line 2 subtracts [code]amount[/code] from [code]health[/code].\n" +"\n" +"Note the [code]-=[/code] syntax which achieves this. It's a shorthand we " +"often use.\n" +"\n" +"You can also use a longer form. Both of these lines have the same effect." +" They both subtract the value of [code]amount[/code] to the " +"[code]health[/code] variable:\n" +"\n" +"[code]health -= amount[/code]\n" +"[code]health = health - amount[/code]\n" +"\n" +"You may notice that the health of the robot can go below [code]0[/code]. " +"We'll see how to manage this in a future lesson using [i]conditions[/i]." +msgstr "" +"Robotun alması gereken hasar miktarını, alınan değişken (parametre) olarak " +"geçiyoruz.\n" +"\n" +"Satır 2, hasar miktarını, [code]amount[/code], sağlık toplamından, " +"[code]health[/code], çıkarır.\n" +"\n" +"Bunu sağlayan [code]-=[/code] sözdizimine dikkat et. Sıklıkla kullandığımız " +"bir kısaltmadır.\n" +"\n" +"Daha uzun bir şeklini de kullanabilirsin. Aşağıdaki satırların her ikisi de " +"aynı etkiye sahiptir. Her ikisi de [code]amount[/code] değerini, " +"[code]health[/code] değişkeninden çıkartır:\n" +"\n" +"[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." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:61 +msgid "" +"The robot's health could increase instead if the player picks up an item " +"that heals them, or if they use a healing item." +msgstr "" +"Bunun tersine, oyuncu, onları iyileştiren bir eşya toplayınca, veya " +"iyileştirici bir eşya kullanırsa, robotun sağlığı artabilir." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:81 +msgid "" +"Here again, the health can go beyond [code]100[/code].\n" +"\n" +"Also, once more, the short line [code]health += amount[/code] is " +"equivalent to the longer form [code]health = health + amount[/code]." +msgstr "" +"Benzer şekilde, sağlık [code]100[/code] değerinin ötesine geçebilir.\n" +"\n" +"Ayrıca, bir kez daha, [code]health += amount[/code] kısa satırı, [code]" +"health = health + amount[/code] uzun yazım şekline eşdeğerdir." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:91 +msgid "Which of these would increase the health of the robot?" +msgstr "Bunlardan hangisi, robotun sağlığını yükseltir?" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:94 +msgid "" +"Both of these lines increase the [code]health[/code] of the robot by " +"[code]amount[/code].\n" +"[code]\n" +"health += amount\n" +"health = health + amount\n" +"[/code]" +msgstr "" +"Bu satırların her ikisi de, robotun sağlığını, [code]health[/code], verilen " +"miktarda, [code]amount[/code] artırır.\n" +"[code]\n" +"health += amount\n" +"health = health + amount\n" +"[/code]" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +msgid "health -= amount" +msgstr "health -= amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +#: course/lesson-9-adding-and-subtracting/lesson.tres:100 +msgid "health += amount" +msgstr "health += amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +#: course/lesson-9-adding-and-subtracting/lesson.tres:100 +msgid "health = health + amount" +msgstr "health = health + amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:99 +msgid "health = health - amount" +msgstr "health = health - amount" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:109 +msgid "" +"In the following practices, you'll code the [code]take_damage()[/code] " +"and [code]heal()[/code] functions so the robot's health can decrease and " +"increase." +msgstr "" +"Sıradaki uygulamada, [code]take_damage()[/code] (al_hasar) ve " +"[code]heal()[/code] (iyileş) fonksiyonlarını kodlayacaksın, ve bu sayede " +"robotun sağlığı azalabilir ve artabilir." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:117 +msgid "Damaging the Robot" +msgstr "Robota Hasar Vermek" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:118 +msgid "" +"In our game, the main character has a certain amount of " +"[code]health[/code]. When it gets hit, the health should go down by a " +"varying [code]amount[/code] of damage.\n" +"\n" +"Add to the [code]take_damage()[/code] function so it subtracts the " +"[code]amount[/code] to the predefined [code]health[/code] variable.\n" +"\n" +"The robot starts with 100 health and will take 50 damage." +msgstr "" +"Oyunumuzda, ana karakterin belirli bir miktarda sağlığı var, " +"[code]health[/code]. Hasar alırsa sağlığı, hasara bağlı değişen bir " +"miktarda, [code]amount[/code], azalmalıdır.\n" +"\n" +"[code]take_damage()[/code] fonksiyonuna ekleme yaparak, [code]amount[/code] " +"miktarını, önceden tanımlı [code]health[/code] değişkeninden çıkarmasını " +"sağla.\n" +"\n" +"Robot 100 sağlıkla başlayacak, ve 50 hasar alacak." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:134 +msgid "Learn how to deal damage to entities like our robot." +msgstr "Robotumuz gibi varlıklara nasıl hasar vereceğinizi öğren." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:139 +msgid "Healing the Robot" +msgstr "Robotu İyileştirmek" + +#: course/lesson-9-adding-and-subtracting/lesson.tres:140 +msgid "" +"It's time to heal the robot up to full health!\n" +"\n" +"Write a function called [code]heal()[/code] that takes " +"[code]amount[/code] as a parameter.\n" +"\n" +"The function should add [code]amount[/code] to [code]health[/code].\n" +"\n" +"The robot starts with 50 health and will heal 50 to get it up to 100." +msgstr "" +"Şimdi de, robotu tam sağlığına kavuşturmanın zamanı!\n" +"\n" +"Alınan değişken olarak [code]amount[/code] (miktar) kullanan, " +"[code]heal()[/code] (iyileştir) adında bir fonksiyon yaz.\n" +"\n" +"Bu fonksiyon, [code]amount[/code] değerini alıp sağlığa, [code]health[/code]" +", eklemelidir.\n" +"\n" +"Robot, 50 sağlıkla başlayıp, 50 iyileşme alarak 100 sağlığa kavuşmalı." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:157 +msgid "" +"Our robot needs healing after that practice! Create a function to heal it" +" back to full health." +msgstr "" +"Robotumuzun bu alıştırmadan sonra iyileşmeye ihtiyacı var! Onu tam sağlığına " +"kavuşturmak için bir fonksiyon oluştur." + +#: course/lesson-9-adding-and-subtracting/lesson.tres:161 +msgid "Adding and Subtracting" +msgstr "Ekleme ve Çıkartma Yapma"