diff --git a/es/application.po b/es/application.po index cc2b93c2..d4ce7ebe 100644 --- a/es/application.po +++ b/es/application.po @@ -9,16 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2024-12-12 14:39+0100\n" -"PO-Revision-Date: 2023-12-09 20:17+0100\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-15 09:00+0000\n" +"Last-Translator: gallegonovato \n" +"Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.9-rc\n" "Generated-By: Babel 2.9.0\n" -"X-Generator: Poedit 3.3.1\n" #: resources/QuizInputField.gd:17 msgid "You need to type a whole number for this answer. Example: 42" @@ -145,6 +146,8 @@ msgid "" "Learn GDScript From Zero is an open source project by [color=#FFD500]" "[url=https://www.gdquest.com/]GDQUEST.COM[/url][/color]" msgstr "" +"Learn GDScript From Zero es un proyecto de código abierto de " +"[color=#FFD500][url=https://www.gdquest.com/]GDQUEST.COM[/url][/color]" #: ui/components/GameView.tscn:72 msgid "Paused" diff --git a/fa/error_database.po b/fa/error_database.po index f057f333..8f6e71e6 100644 --- a/fa/error_database.po +++ b/fa/error_database.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-12-09 20:05+0100\n" -"PO-Revision-Date: 2024-12-08 16:00+0000\n" +"PO-Revision-Date: 2024-12-29 00:21+0000\n" "Last-Translator: Atur \n" "Language-Team: Persian \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.9-dev\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #. Reference: IN_EXPECTED_AFTER_IDENTIFIER @@ -590,6 +590,9 @@ msgid "" "code reference. Then, you need to edit your function definition to have " "the same number and type of parameters as the parent class." msgstr "" +"باید تابع کلاس سرپرست و تعریف آن در بازبرد کد را بررسی کنید. سپس، باید تعریف " +"تابع خود را بویرایید تا همان اندازه و گونه‌های پارامتر کلاس سرپرست را داشته " +"باشد." #. Reference: INVALID_ARGUMENTS #: ./script_checking/error_database.csv:131 @@ -598,6 +601,9 @@ msgid "" "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 "" +"همه‌ی خطاهای این کلاس مربوط به فراخواندن تابع‌ها با شمار نادرستی از آرگومان‌ها " +"یا گونهٔ نادرستی از آرگومان می‌باشد. باید پیام خطا را برای فهمیدن وضعیت به‌کار " +"ببرید." #. Reference: INVALID_ARGUMENTS #: ./script_checking/error_database.csv:131 @@ -607,6 +613,10 @@ msgid "" "arguments you need, you need to check the code reference. It will show " "you the function definition and the mandatory arguments." msgstr "" +"برای حل کردن این مشکل، باید ارزشی که در کوشش دادن آن به تابع‌اید را بزدایید، " +"دگرگون کنید یا به شمار آن بیفزایید. برای دانستن اینکه چند آرگومان نیاز دارید،" +" باید بازبرد کد را بررسی کنید. تعریف تابع و آرگومان‌های الزامی را به شما نشان " +"خواهد داد." #. Reference: TYPE_MISMATCH #: ./script_checking/error_database.csv:142 @@ -625,6 +635,18 @@ msgid "" "You'll need to read the error message to see what is not matching because" " there are many possible cases." msgstr "" +"همه‌ی ارزش‌های درون کد شما دارای گونه‌ای ویژه‌اند. آن گونه می‌تواند یک شماره‌ی " +"صحیح (int)، شماره‌ی اعشاری (float)، نوشتار (string) و... باشد. گونه‌های شدنی " +"بسیاری هستند، حتا می‌توانید گونه‌های خودتان هم تعریف کنید!\n" +"\n" +"هنگامی که هرگونه عملیاتی را انجام می‌دهید، رایانه گونه‌هایی که به‌کار می‌برید را " +"مقایسه می‌کند.\n" +"\n" +"برخی گونه‌ها سازگارند و برخی ناسازگار. برای نمونه، نمی‌توانید یک شماره‌ی صحیح " +"را به یک رشته‌ی نوشتاری بیفزایید. نخست باید شماره را به نوشتار تبدیل کنید.\n" +"\n" +"باید برای دیدن چیزی که مطابقت ندارد پیام خطا را بخوانید، چون حالت‌های شدنی " +"بسیاری هست." #. Reference: TYPE_MISMATCH #: ./script_checking/error_database.csv:142 @@ -640,6 +662,16 @@ msgid "" "example, while you can add two 2D vectors, you can't add a whole number " "or text to a 2D vector." msgstr "" +"اگر خطا به یکی نبودن گونهٔ ارزش واگذاشته با متغیر اشاره دارد، اشکال در پهلوی " +"راست نشانهٔ برابر (=) است.\n" +"\n" +"اگر خطا به یکی نبودن گونهٔ برگشت با تابع اشاره دارد، اشکال از ارزشی‌ست که پس " +"از کلیدواژهٔ برگشت (return) آمده است.\n" +"\n" +"اگر رایانه دربارهٔ یک عملوند (operand) می‌گوید، به این معنا است که عملیات برای " +"گونه‌ای که در کوشش به کار بردن آن‌اید وجود ندارد. برای نمونه، با اینکه می‌" +"توانید دو بردار دوبعدی را به هم بیفزایید، نمی‌توانید یک شمارهٔ صحیح را به یک " +"نوشتار یا بردار دوبعدی بیفزایید." #. Reference: TYPE_CANNOT_BE_INFERRED #: ./script_checking/error_database.csv:147 @@ -651,6 +683,12 @@ msgid "" "When that happens, you need to specify the type yourself or remove type " "inference altogether for this variable." msgstr "" +"جی.دی.اسکریپت از استنباط گونه پشتیبانی می‌کند. رایانه به شیوهٔ خودکار گونهٔ " +"ارزشی که با آن کار می‌کنید را خواهد شناخت. با این همه، گاهی، نمی‌تواند چنین " +"کند.\n" +"\n" +"هنگامی نتواند، نیاز دارید تا گونه را خودتان تعیین کنید یا استنباط گونه را " +"تماما برای این متغیر بزدایید." #. Reference: TYPE_CANNOT_BE_INFERRED #: ./script_checking/error_database.csv:147 @@ -662,6 +700,11 @@ msgid "" "We recommend specifying the type whenever possible to reap the typing " "system's benefits." msgstr "" +"ساده‌ترین راه برای حل کردن این خطا زدودن گونه‌ها برای آرگومان‌های این متغیر یا " +"تابع است. وگرنه، می‌توانید به روش دستی گونهٔ ارزش را پس از دونقطه تعیین کنید.\n" +"\n" +"ما تعیین کردن گونه را هرجایی که شدنی‌ست، برای بهره‌وری از همهٔ توانایی‌های سامانهٔ" +" تایپ را پیشنهاد می‌کنیم." #. Reference: RETURN_VALUE_MISMATCH #: ./script_checking/error_database.csv:153 @@ -676,6 +719,13 @@ msgid "" "returning a value in all possible branches (if, elif, and else blocks) or" " at the end." msgstr "" +"خطایی در ارزش برگشتی تابع شما هست. می‌تواند دو دلیل داشته باشد:\n" +"\n" +"۱. تابع شما از گونهٔ ووید (void) است، بنابراین نباید ارزشی را برگرداند. تابع‌" +"هایی که دارای نحو «-> void» و سازنده‌های کلاس ('_init()')اند را در بر می‌گیرد." +"\n" +"۲. گونهٔ برگشتی‌ای برای تابع خود تعیین کردید، ولی دارید ارزشی در همهٔ شاخه‌های " +"ممکن (آجرهای if، else و elif) یا در پایان را برنمی‌گردانید." #. Reference: RETURN_VALUE_MISMATCH #: ./script_checking/error_database.csv:153 @@ -688,6 +738,12 @@ msgid "" "of the function or in every branch (if, elif, and else block) of the " "function." msgstr "" +"هنگامی که تابع‌تان «void» است، هرگز نباید ارزشی را برگردانید. می‌توانید " +"کلید‌واژهٔ «return» را برای پایان دادن زودهنگام به تابع به کار ببرید. ولی هرگز " +"نباید چیزی پس از آن بنویسید.\n" +"\n" +"هنگامی که گونهٔ برگشتی‌ای را به کار می‌برید، باید همیشه چیزی را در پایان تابع " +"یا در هر شاخهٔ (آجرهای if، elif و else) تابع برگردانید." #. Reference: INVALID_NO_CATCH #: ./script_checking/error_database.csv:154 @@ -695,6 +751,8 @@ msgid "" "Godot was unable to load your script, yet the language checker found " "nothing wrong." msgstr "" +"گودوت در بار کردن اسکریپت شما ناتوان بود، با این همه، وارس زبان چیز نادرستی " +"نیافت." #. Reference: INVALID_NO_CATCH #: ./script_checking/error_database.csv:154 @@ -713,6 +771,8 @@ 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 "" +"دلیل‌های معتبری برای به‌کارگیری تابع‌های بازگشتی هست، ولی هیچکدام‌شان پاره‌ای از " +"این دوره نیستند، پس این نمی‌تواند راه حل معتبری باشد." #. Reference: UNEXPECTED_EOL #: ./script_checking/error_database.csv:157 @@ -722,6 +782,9 @@ msgid "" "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 "" +"رایانه به آخرین خط کد رسید،‌ ولی خط دارای یک خطای نحوی بود.\n" +"به احتمال فراوان فراموش کردید رشته‌ای را ببندید: گفتاورد باز دارید، ولی " +"یادتان رفت که یک گفتاورد بسته مطابق با آن بیفزایید." #. Reference: UNEXPECTED_EOL #: ./script_checking/error_database.csv:157 @@ -730,11 +793,14 @@ msgid "" " character you used to start the string is the same as the one you used " "to close the string." msgstr "" +"دوباره بررسی کنید که نویسهٔ گفتاوردی را از جا نینداخته‌اید یا نویسهٔ گفتاوردی " +"که برای آغازیدن رشته به کار بردید با آنی که برای پایان دادن به کار بردید " +"یکسان است." #. Reference: CANT_GET_INDEX #: ./script_checking/error_database.csv:160 msgid "The sub-variable you are trying to access does not exist." -msgstr "" +msgstr "زیرمتغیری که در کوشش دسترسی به آن‌اید وجود ندارد." #. Reference: CANT_GET_INDEX #: ./script_checking/error_database.csv:160 @@ -745,3 +811,7 @@ msgid "" "Ensure that you don't have a capital letter where you should have a " "lowercase letter and vice versa." msgstr "" +"احتمالا در نام زیرمتغیری که در کوشش دسترسی به آن‌اید نادرستی نگارشی‌ای هست.\n" +"\n" +"مطمئن شوید جایی که باید وات (حرف) کوچک داشته باشید، وات بزرگ و جایی که وات " +"بزرگ نیاز دارید وات کوچک ندارید." diff --git a/fa/glossary_database.po b/fa/glossary_database.po index 1d8fb439..42ce715e 100644 --- a/fa/glossary_database.po +++ b/fa/glossary_database.po @@ -9,24 +9,27 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-29 00:21+0000\n" +"Last-Translator: Atur \n" +"Language-Team: Persian \n" "Language: fa\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.10-dev\n" "Generated-By: Babel 2.10.1\n" #. Reference: member function #: ./course/glossary.csv:6 msgid "member function" -msgstr "" +msgstr "تابع عضو" #. Reference: member function #: ./course/glossary.csv:6 msgid "member functions" -msgstr "" +msgstr "تابع‌های عضو" #. Reference: member function #: ./course/glossary.csv:6 @@ -40,16 +43,23 @@ msgid "" "You can only call the function on an array, using the access operator " "([code].[/code]) to access it, as shown above." msgstr "" +"تابع‌های عضو تابع‌هایی‌اند که به یک گونهٔ ارزش معین پیوست خورده‌اند، مانند " +"آرایه‌ها، رشته‌ها یا دیکشنری‌ها. به آنها روش یا مِتُد نیز گفته می‌شود.\n" +"\n" +"برای نمونه، آرایه‌ها تابع‌های عضوی مانند [code]array.append()[/code] دارند.\n" +"\n" +"تابع را تنها می‌توان روی آرایه‌ها و با به‌کارگیری عملگر دسترسی ([code].[/code]) " +"برای دسترسی به آن، همانگونه که در بالا می‌بینید فراخواند." #. Reference: member variable #: ./course/glossary.csv:9 msgid "member variable" -msgstr "" +msgstr "متغیر عضو" #. Reference: member variable #: ./course/glossary.csv:9 msgid "member variables" -msgstr "" +msgstr "متغیرهای عضو" #. Reference: member variable #: ./course/glossary.csv:9 @@ -62,16 +72,22 @@ msgid "" "followed by the access operator ([code].[/code]). For example, " "[code]position.x[/code]." msgstr "" +"متغیرهای عضو متغیرهایی‌اند که به یک گونهٔ ارزش معین پیوست خورده‌اند، مانند " +"زیرمتغیرهای [code]x[/code] و [code]y[/code] بردارها. به آنها [i]ویژگی[/i] یا " +"[i]میدان[/i] بردار نیز گفته می‌شود.\n" +"\n" +"برای دسترسی به متغیرهای عضو، باید نخست نام ارزش را نوشته و آن را با عملگر " +"دسترسی([code].[/code]) دنبال کنید. برای نمونه، [code]position.x[/code]." #. Reference: parameter #: ./course/glossary.csv:12 msgid "parameter" -msgstr "" +msgstr "پارامتر" #. Reference: parameter #: ./course/glossary.csv:12 msgid "parameters" -msgstr "" +msgstr "پارامترها" #. Reference: parameter #: ./course/glossary.csv:12 @@ -81,16 +97,20 @@ msgid "" "It allows you to reuse the function more by having values that vary in " "the function's body." msgstr "" +"پارامترها متغیری‌اند که آن را بعنوان پاره‌ای از تعریف تابع‌ها می‌سازید.\n" +"\n" +"به شما اجازه می‌دهند تا تابع را بخاطر داشتن ارزش‌هایی که در بدن تابع تفاوت " +"دارند، چندین بار به کار ببرید." #. Reference: radian #: ./course/glossary.csv:17 msgid "radian" -msgstr "" +msgstr "رادیان" #. Reference: radian #: ./course/glossary.csv:17 msgid "radians" -msgstr "" +msgstr "رادیان‌ها" #. Reference: radian #: ./course/glossary.csv:17 @@ -104,16 +124,23 @@ msgid "" "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 "" +"رادیان یکای سنجش زاویه‌ها بر پایهٔ محیط دایره است.\n" +"\n" +"ما در زندگی روزانه بیشتر درجه را به کار می‌بریم، ولی در برنامه‌نویسی رایانه‌ای، " +"به‌ویژه در بازی‌ها، رادیان‌ها رواج یافته‌اند.\n" +"\n" +" [code]2 * PI[/code] رادیان برابر با ۳۶۰ درجه و [code]PI[/code] رادیان برابر " +"با ۱۸۰ درجه است." #. Reference: type #: ./course/glossary.csv:20 msgid "type" -msgstr "" +msgstr "گونه" #. Reference: type #: ./course/glossary.csv:20 msgid "types" -msgstr "" +msgstr "گونه‌ها" #. Reference: type #: ./course/glossary.csv:20 @@ -126,16 +153,22 @@ msgid "" "The computer uses types to determine which operations are valid between " "two values and when they're undefined." msgstr "" +"در برنامه‌نویسی رایانه‌ای،‌ گونه‌ها ردهٔ ارزش‌ها اند. برای نمونه،‌ شماره‌های صحیح " +"مانند [code]3[/code]، [code]11[/code] و [code]255462[/code] همه از گونهٔ " +"[code]int[/code] (کوتاه‌شدهٔ integer به معنای شمارهٔ صحیح) اند.\n" +"\n" +"رایانه گونه‌ها را به کار می‌گیرد تا مشخص کند کدام عملیات‌ها میان دو ارزش معتبر " +"بوده و کدام‌ها تعریف‌نشده‌اند." #. Reference: iteration #: ./course/glossary.csv:23 msgid "iteration" -msgstr "" +msgstr "تکرار" #. Reference: iteration #: ./course/glossary.csv:23 msgid "iterations" -msgstr "" +msgstr "تکرارها" #. Reference: iteration #: ./course/glossary.csv:23 @@ -147,16 +180,21 @@ msgid "" "When talking of algorithms, an iteration can mean a full pass of the " "algorithm on a data set." msgstr "" +"در کدنویسی رایانه‌ای، تکرارها بازانجامش برخی فرایند‌ها یا کداند. بیشتر واژهٔ " +"چرخه را به کار رفته می‌شود، که هر تکرار یک بار اجرای کد چرخه است.\n" +"\n" +"در پهنهٔ الگوریتم‌ها، تکرار می‌تواند معنای یک گذشت کامل الگوریتم روی دادگان را " +"بدهد." #. Reference: vector #: ./course/glossary.csv:28 msgid "vector" -msgstr "" +msgstr "بُردار" #. Reference: vector #: ./course/glossary.csv:28 msgid "vectors" -msgstr "" +msgstr "بُردارها" #. Reference: vector #: ./course/glossary.csv:28 @@ -171,16 +209,25 @@ msgid "" "Vectors can seem daunting at first because they are pretty abstract, but " "as you will see, they'll simplify code tremendously." msgstr "" +"در ریاضیات، بردارها فهرستی از شماره‌ها اند. در بازی‌ها، بیشتر زمان‌ها بردارهای " +"دوبعدی و سه‌بعدی، به ترتیب، برای فهرست‌های دو و سه‌تایی شماره‌ها به کار می‌روند.\n" +"\n" +"ما این شماره‌ها را برای نمایاندن یک سو و بزرگی یا شدت در فضا به کار می‌بریم. " +"برای نمونه، می‌توانید بُرداری را برای نمایاندن تندی و سویی که ترابَر یا شخصیتی " +"به آن می‌رود به کار ببرید.\n" +"\n" +"بردارها بخاطر انتزاعی بودنشان می‌توانند تا اندازه‌ای دلهره‌آور به نظر برسند، " +"ولی همانگونه که خواهید دید، کد را بسیار ساده خواهند ساخت." #. Reference: argument #: ./course/glossary.csv:37 msgid "argument" -msgstr "" +msgstr "آرگومان" #. Reference: argument #: ./course/glossary.csv:37 msgid "arguments" -msgstr "" +msgstr "آرگومان‌ها" #. Reference: argument #: ./course/glossary.csv:37 @@ -202,6 +249,21 @@ msgid "" "[i]parameters[/i]. In the following example, the names [code]x[/code] and" " [code]y[/code] are [i]parameters[/i]." msgstr "" +"آرگومان‌ها ارزشی‌اند که هنگام فراخواندن تابعی آنها را می‌دهید. برای نمونه،‌ در " +"فراخوان [code]rotate(0.5)[/code]، ارزش [code]0.5[/code] درون کمانک‌ها یک " +"آرگومان است.\n" +"\n" +"تابع‌ها می‌توانند هیچ آرگومان، یک آرگومان یا چندین آرگومان را دریافت کنند. " +"آرگومان‌ها می‌توانند دلبخواهی یا اجباری باشند.\n" +"\n" +"زمانی که تابعی چندین آرگومان دریافت می‌کند، ارزش‌ها را با کاما (ویرگول انگلیسی)" +" جدا می‌کنیم، مانند این فراخوان تابع: [code]jump(50, 100)[/code]\n" +"\n" +"هنگام [i]فراخواندن[/i] تابعی، ارزشی که درون کمانک‌ها داده می‌شود را [i]آرگومان" +"[/i] می‌خوانیم.\n" +"\n" +"ولی هنگام نوشتن تعریف تابع‌ها،‌ [i]پارامترها[/i] را به کار می‌بریم. در نمونهٔ " +"زیر، نام‌های [code]x[/code] و [code]y[/code] [i]پارامتر[/i]اند." #. Reference: array #: ./course/glossary.csv:44 diff --git a/ko/lesson-1-what-code-is-like.po b/ko/lesson-1-what-code-is-like.po index 9e0a2a95..632d5647 100644 --- a/ko/lesson-1-what-code-is-like.po +++ b/ko/lesson-1-what-code-is-like.po @@ -9,16 +9,16 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-10-06 07:34+0200\n" -"PO-Revision-Date: 2022-09-25 18:19+0000\n" -"Last-Translator: Bandal \n" -"Language-Team: Korean \n" +"PO-Revision-Date: 2024-12-24 17:00+0000\n" +"Last-Translator: Minho Yun \n" +"Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.14.1\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.9.1\n" #: course/lesson-1-what-code-is-like/lesson.tres:14 @@ -35,7 +35,7 @@ msgstr "" #: course/lesson-1-what-code-is-like/lesson.tres:24 msgid "Telling the computer what to do" -msgstr "컴퓨터에게 할 일을 알려주기" +msgstr "컴퓨터에게 할 일을 지시하기" #: course/lesson-1-what-code-is-like/lesson.tres:26 msgid "" @@ -45,11 +45,11 @@ msgid "" "A game's instructions are, for example: moving a character, drawing a life " "bar, or playing a sound." msgstr "" -"프로그래밍이란 컴퓨터가 읽고 작업할 수 있도록 정확한 명령을 작성하는 과정입니" -"다.\n" +"프로그래밍이란 컴퓨터가 읽고 작업할 수 있도록 정확한 명령을 작성하는 " +"과정입니다.\n" "\n" -"게임에 필요한 명령을 예로 들자면, 캐릭터를 움직이고, 라이프 바를 그리며, 소리" -"를 재생하는 것을 들 수 있겠습니다." +"게임에 필요한 명령을 예로 들자면, 캐릭터를 움직이고, 체력 바를 그리며, " +"소리를 재생하는 것을 들 수 있겠습니다." #: course/lesson-1-what-code-is-like/lesson.tres:38 msgid "" @@ -57,10 +57,9 @@ msgid "" "specialized language to tell the computer what to do." msgstr "" "이 모든 것을 해내기 위해서는 반드시 [b]프로그래밍 언어[/b], 즉 컴퓨터에게 할 " -"일을 알려주기 위한 전용 언어를 배워야만 합니다." +"일을 지시하기 위한 전용 언어를 배워야만 합니다." #: course/lesson-1-what-code-is-like/lesson.tres:58 -#, fuzzy 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] " @@ -70,9 +69,9 @@ msgid "" "\n" "Which circle? Where? Which color should it be? How big should it be?" msgstr "" -"프로그래밍 언어는 영어나 스페인어같은 자연어와 성질이 다릅니다. 컴퓨터는 생각" -"하지 않습니다. 인간과 달리, 컴퓨터는 당신이 하는 말을 [i]해석[/i]할 수 없습니" -"다.\n" +"프로그래밍 언어는 영어나 스페인어와 같은 자연어와는 성질이 다릅니다. " +"컴퓨터는 그 자체로 생각하지 않습니다. 우리 인간과 달리, 컴퓨터는 당신이 하는 " +"말을 [i]해석[/i]할 수 없습니다.\n" "\n" "애매모호하게 그저 \"원을 그려라\"라고 명령할 수 없다는 뜻입니다.\n" "\n" @@ -80,7 +79,7 @@ msgstr "" #: course/lesson-1-what-code-is-like/lesson.tres:70 msgid "The computer needs exact instructions" -msgstr "컴퓨터에겐 정확한 명령이 필요하다" +msgstr "컴퓨터에게는 정확하게 명령해야 한다" #: course/lesson-1-what-code-is-like/lesson.tres:72 msgid "" @@ -112,13 +111,13 @@ msgid "" "[b]When you program, you're the one in charge, and you're free to do " "[i]anything[/i] you want.[/b]" msgstr "" -"이번 수업에선, 이 코딩이 어떻게 작동하는지를 배울 것입니다.\n" +"이번 수업에선, 이 코드가 어떻게 작동하는지를 배울 것입니다.\n" "\n" -"일단, 컴퓨터 코드가 어떻게 생겼는지를 대략적으로 보여드리겠습니다. 괄호, 대문" -"자, 쉼표, 마침표. 예시에 보이는 것처럼, 모든 것이 중요합니다.\n" +"일단, 컴퓨터 코드가 어떻게 생겼는지를 대략적으로 보여드리겠습니다. 이 " +"예시에서는 괄호, 대문자, 쉼표, 마침표 등, 모든 것이 중요합니다.\n" "\n" -"컴퓨터는 지시받은 명령만을 [b]정확히[/b] 수행합니다. 그 이상도 그 이하도 없" -"이, 받은 명령을 [i]맹목적으로[/i] 따릅니다.\n" +"컴퓨터는 지시받은 명령만을 [b]정확히[/b] 수행합니다. 그 이상도 그 이하도 " +"없이, 받은 명령을 [i]맹목적으로[/i] 따릅니다.\n" "\n" "[b]프로그래밍에 있어서, 책임자는 자기 자신이고 원하는 건 [i]뭐든지[/i] 할 수 " "있습니다.[/b]" @@ -133,9 +132,9 @@ msgid "" "anything, you need to give them precise instructions they understand, using " "a programming language." msgstr "" -"컴퓨터는 영어같은 자연어를 이해하지 못합니다. 컴퓨터에게 일을 시키기 위해서" -"는 프로그래밍 언어를 사용하여 이들이 이해할 수 있는 정확한 명령을 작성해야 합" -"니다." +"컴퓨터는 영어 같은 자연어를 이해하지 못합니다. 컴퓨터에게 일을 시키기 " +"위해서는 프로그래밍 언어를 통해 이들이 이해할 수 있는 정확한 명령을 지시해야 " +"합니다." #: course/lesson-1-what-code-is-like/lesson.tres:114 #: course/lesson-1-what-code-is-like/lesson.tres:115 @@ -144,14 +143,13 @@ msgstr "프로그래밍 언어와 정확한 명령어를 사용한다" #: course/lesson-1-what-code-is-like/lesson.tres:114 msgid "Using prose in plain English" -msgstr "산문을 영어로 작성한다" +msgstr "영어로 지시한다" #: course/lesson-1-what-code-is-like/lesson.tres:122 msgid "You'll learn to code with GDScript" msgstr "GDScript로 코딩을 배워보자" #: course/lesson-1-what-code-is-like/lesson.tres:124 -#, fuzzy msgid "" "In this course, you'll learn the GDScript programming language (the name " "stands for \"Godot script\").\n" @@ -165,14 +163,19 @@ msgid "" "\n" "Engineers at Tesla also used it for their cars' dashboards." msgstr "" -"이 강좌에선 GDScript 프로그래밍 언어에 대해 배울 것입니다(이름은 \"고도 스크" -"립트\"라는 뜻입니다.)\n" +"이 강좌에선 GDScript 프로그래밍 언어에 대해 배울 것입니다(이름은 " +"\"고도 스크립트\"라는 뜻입니다.)\n" "\n" "GDScript는 게임 개발자가 게임 개발자를 위해 제작한 언어로, 고도 게임 엔진을 " "통해 게임과 앱을 만드는 데 사용할 수 있습니다.\n" "\n" -"SEGA는 고도 엔진을 사용해서 소닉 컬러즈 얼티밋을 리메이크했고, 테슬라의 엔지" -"니어들은 차량의 계기판을 만드는 데에 엔진을 이용합니다." +"[ignore][url=https://store.steampowered.com/app/1637320/Dome_Keeper/]Dome " +"Keeper[/url] 와 [ignore]" +"[url=https://store.steampowered.com/app/1942280/Brotato/]Brotato[/url] 와 " +"같은 게임들에서 사용되었습니다.\n" +"\n" +"또한, 테슬라의 엔지니어들도 차량의 계기판을 만드는 데에 이 언어를 " +"사용했습니다." #: course/lesson-1-what-code-is-like/lesson.tres:150 msgid "" @@ -180,13 +183,13 @@ msgid "" "it's specialized. Unlike some other languages, it doesn't have an " "[i]overwhelming[/i] amount of features for you to learn." msgstr "" -"GDScript는 프로그래밍에 입문하기 좋은 언어입니다. 게임 제작 전문 언어이기 때" -"문에, 타 언어와 달리 GDScript는 [i]넘쳐흐르는[/i] 수많은 기능들을 모조리 배" -"울 필요가 없습니다." +"GDScript는 특수한 언어이기 때문에 프로그래밍에 입문하기 좋은 언어입니다. " +"다른 언어와는 달리 GDScript는 배워야 할 기능들이 [i]압도적으로[/i] 많지는 " +"않습니다." #: course/lesson-1-what-code-is-like/lesson.tres:158 msgid "Most programming languages are similar" -msgstr "프로그래밍 언어는 서로 비슷하다" +msgstr "대부분의 프로그래밍 언어는 서로 비슷하다" #: course/lesson-1-what-code-is-like/lesson.tres:160 msgid "" @@ -201,14 +204,14 @@ msgid "" "\n" "Try to spot the similarities and differences." msgstr "" -"한 언어에 고착될까봐 걱정하지 마세요. 첫 프로그래밍 언어에서 배우는 개념은 다" -"른 언어에도 똑같이 적용됩니다.\n" +"GDScript 에만 익숙하게 되버릴까 걱정하지 마세요. 첫 프로그래밍 언어에서 " +"배우는 개념은 다른 언어에도 똑같이 적용됩니다.\n" "\n" -"언어들 사이엔 보통 차이점보단 공통점이 더 많습니다. 그래서 하나를 배워놓으" -"면, 다음 언어에 숙달되는 데에 더 적은 시간이 들어갑니다.\n" +"언어들 사이엔 보통 차이점보다는 공통점이 더 많습니다. 하나를 배워놓으면, " +"다음 언어에 숙달되는 데에 더 적은 시간이 들어갑니다.\n" "\n" -"여기에 세 가지 언어로 작성된 코드 예시가 있습니다. 각각 GDScript, " -"JavaScript, Python입니다.\n" +"여기에 GDScript, JavaScript, Python 세 가지 언어로 작성된 코드 예시가 " +"있습니다.\n" "\n" "직접 공통점과 차이점을 찾아보세요." @@ -239,11 +242,11 @@ msgid "" "However, languages like GDScript, Python, JavaScript, C++, C#, and many " "others build upon a similar programming philosophy." msgstr "" -"많은 프로그래밍 언어들은 같은 프로그래밍 방법론을 바탕으로 만들어졌습니다. 그" -"래서 이들은 서로 비슷합니다.\n" +"많은 프로그래밍 언어들은 같은 프로그래밍 방법론을 바탕으로 만들어졌습니다. " +"그래서 이들은 서로 비슷합니다.\n" "\n" -"물론 모든 언어가 똑같다는 말은 아닙니다. 몇몇 언어들은 독특한 구문체계를 갖추" -"고 있어 GDSCript와 완전히 다른 접근법이 필요합니다.\n" +"물론 모든 언어가 똑같다는 말은 아닙니다. 몇몇 언어들은 독특한 구문체계를 " +"갖추고 있어 GDScript와 완전히 다른 접근법이 필요합니다.\n" "\n" "한편, GDScript, Python, JavaScript, C++, C#, 그 외 수많은 언어들은 모두 같은 " "프로그래밍 철학을 기반으로 만들어졌습니다." @@ -265,9 +268,8 @@ msgstr "초보자를 위한 강좌" msgid "" "If you want to learn to make games or code but don't know where to start, " "this course should be perfect." -msgstr "" -"게임을 만들거나 코드를 짜고 싶지만 무엇부터 시작해야 할 지 모르겠다면, 이 강" -"좌가 완벽한 해답이 될 것입니다." +msgstr "게임을 만들거나 코드를 짜고 싶지만 어디서부터 시작해야 할 지 모르겠다면, 이 " +"강좌가 완벽한 해답이 될 것입니다." #: course/lesson-1-what-code-is-like/lesson.tres:232 msgid "" @@ -280,18 +282,17 @@ msgid "" "Please be patient. It will take time before you can make your first complete " "game alone." msgstr "" -"우리는 [i]아무것도 모르는 입문자[/i]를 위해 이 강좌를 만들었습니다만, 이미 다" -"른 언어를 알고 계시다면 고도를 시작하는 흥미로운 계기가 될 지도 모릅니다.\n" +"우리는 [i]아무것도 모르는 입문자[/i]를 위해 이 강좌를 만들었지만, 이미 다른 " +"언어를 알고 계시다면 고도를 시작하는 흥미로운 계기가 될 지도 모릅니다.\n" "\n" -"고도 엔진을 사용해 게임과 앱을 만드실 수 있도록, 우리가 코딩의 기초를 쌓아드" -"리겠습니다.\n" +"고도 엔진을 사용해 게임과 앱을 만드실 수 있도록, 우리가 코딩의 기초를 " +"쌓아드리겠습니다.\n" "\n" -"인내심을 가지세요. 여러분의 첫 게임이 완성될 때까지 많은 과정을 거치셔야 합니" -"다." +"인내심을 가지세요. 여러분의 첫 게임이 완성될 때까지는 시간이 필요합니다." #: course/lesson-1-what-code-is-like/lesson.tres:244 msgid "Learning to make games takes practice" -msgstr "게임을 만드려면 연습이 필요하다" +msgstr "게임을 만드려면 실습이 필요하다" #: course/lesson-1-what-code-is-like/lesson.tres:246 msgid "" @@ -324,16 +325,13 @@ msgid "What and how you'll learn" msgstr "무엇을 어떻게 배워야 하는가" #: course/lesson-1-what-code-is-like/lesson.tres:262 -#, fuzzy msgid "" "In this free course, you will learn the foundations you need to start coding " "things like these:" -msgstr "" -"이번 무료 강좌에서는, 이런 것들을 만들어낼 수 있도록 코딩의 기초를 배울 것입" -"니다." +msgstr "이번 무료 강좌에서는, 이런 것들을 만들어낼 수 있도록 코딩의 기초를 배울 " +"것입니다." #: course/lesson-1-what-code-is-like/lesson.tres:292 -#, fuzzy msgid "" "Along the way, we'll teach you:\n" "\n" @@ -362,22 +360,22 @@ msgstr "" "-GDScript 코드를 작성하는 법.\n" "-시작하는 데 필수적인 프로그래밍 기초.\n" "\n" -"강좌를 듣다 보면 분명 많은 의문이 생길 것입니다. 그 모든 질문에 최대한 답해드" -"리겠습니다.\n" +"강좌를 듣다 보면 분명 많은 의문이 생길 것입니다. 그 모든 질문에 최대한 " +"답해드리겠습니다.\n" "\n" "다만 배울 것이 너무 많으므로 때론 지름길을 택할 것입니다. 너무 많은 정보로 " -"[i]부담[/i]드리고 싶지 않고, 우리의 뇌가 정보를 기록하는 속도도 존중하고 싶으" -"니까요.\n" +"[i]부담[/i]드리고 싶지 않고, 우리의 뇌가 정보를 기록하는 속도도 존중하고 " +"싶으니까요.\n" "\n" "각 부분에 너무 많은 걸 넣으면 진행이 느려질 수 있으므로, 강좌를 짧은 수업과 " "실습으로 쪼개놓았습니다.\n" "\n" -"만약 어떻게 해도 의문이 해결되지 않아 속이 타신다면, 언제든지 [url=https://" -"discord.gg/87NNb3Z]우리 디스코드 채널[/url]에 가입하세요." +"만약 어떻게 해도 의문이 해결되지 않아 속이 타신다면, 언제든지 " +"[url=https://discord.gg/87NNb3Z]우리 디스코드 채널[/url]에 가입하세요." #: course/lesson-1-what-code-is-like/lesson.tres:312 msgid "Is this for Godot 4?" -msgstr "" +msgstr "이 강좌는 고도 4를 위한 것인가?" #: course/lesson-1-what-code-is-like/lesson.tres:314 msgid "" @@ -385,6 +383,9 @@ msgid "" "While we initially designed this series for Godot 3, the foundations of " "GDScript are still the same in Godot 4." msgstr "" +"이 무료 강좌에서 배울 내용은 고도 4에서 완전히 호환됩니다. 원래는 고도 3를 " +"위해 이 강좌를 디자인했지만, GDScript 의 기초는 여전히 고도 4에서도 " +"동일합니다." #: course/lesson-1-what-code-is-like/lesson.tres:322 msgid "Programming is a skill" @@ -423,10 +424,10 @@ msgid "" "\n" "To test the code, click the [i]Run[/i] button below the code editor." msgstr "" -"여러분을 위해 코드 예제를 준비했습니다. 이번 실습에선 딱히 건드릴 필요가 없습" -"니다.\n" +"여러분을 위해 코드 예제를 준비했습니다. 이번 실습에선 딱히 건드릴 필요가 " +"없습니다.\n" "\n" -"코드를 시험하려면 에디터 밑에 있는 [i]실행[/i] 단추를 누르세요." +"코드를 테스트하려면 에디터 밑에 있는 [i]실행[/i] 버튼을 누르세요." #: course/lesson-1-what-code-is-like/lesson.tres:351 msgid "Run your first bit of code and see the result." @@ -434,4 +435,4 @@ msgstr "첫 코드를 실행하고 결과를 관찰해보세요." #: course/lesson-1-what-code-is-like/lesson.tres:355 msgid "What Code is Like" -msgstr "코드에 대하여" +msgstr "코드란" diff --git a/ko/lesson-2-your-first-error.po b/ko/lesson-2-your-first-error.po index c458b29b..e6ab5444 100644 --- a/ko/lesson-2-your-first-error.po +++ b/ko/lesson-2-your-first-error.po @@ -9,8 +9,8 @@ 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: 2024-07-07 09:09+0000\n" -"Last-Translator: Godoto \n" +"PO-Revision-Date: 2024-12-24 17:00+0000\n" +"Last-Translator: Minho Yun \n" "Language-Team: Korean \n" "Language: ko\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.7-dev\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.9.1\n" #: course/lesson-2-your-first-error/lesson.tres:14 @@ -76,7 +76,6 @@ msgstr "" "는 방법에 대한 팁도 함께 표시됩니다." #: course/lesson-2-your-first-error/lesson.tres:74 -#, fuzzy 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 " @@ -90,20 +89,22 @@ msgid "" "what is causing the errors, with the help of error messages, is key to " "fixing them." msgstr "" -"오류는 이전에 활약했던 동료 프로그래머들이 남긴 메시지입니다. 그들은 당신이 " -"마주할 여러 문제들을 예상했습니다.\n" +"오류 메시지는 여러분보다 앞서 온 동료 프로그래머가 의도적으로 디자인한 " +"것입니다. 그들은 여러분에게 특정 문제가 있을 것으로 예상하고 여러분이 문제를 " +"해결하도록 돕고자 했습니다.\n" "\n" -"오류를 실패라고 단정지어선 안 됩니다. 오류는 과거에서 도움을 주는 조언자입니" -"다. 무엇보다도 오류가 발생한다고 컴퓨터가 망가지지는 않습니다. 최소한 " -"GDScript는 제법 안전한 언어이므로 문제가 발생할 일은 거의 없습니다." +"오류를 실패로 생각해서는 안 됩니다. 오류는 과거로부터 여러분을 도와주는 " +"멘토와 같은 존재입니다. 중요한 것은 오류로 인해 컴퓨터가 고장 나지 않는다는 " +"것입니다. 적어도 GDScript는 매우 안전한 언어이기 때문입니다.\n" +"\n" +"궁극적으로 프로그램의 모든 오류를 수정하고 싶을 것입니다. 오류 메시지를 통해 " +"오류의 원인을 파악하는 것이 오류를 수정하는 핵심입니다." #: course/lesson-2-your-first-error/lesson.tres:86 -#, fuzzy msgid "Are error messages a good or a bad thing in code?" msgstr "코드 속에서 발생한 오류는 좋은가, 나쁜가?" #: course/lesson-2-your-first-error/lesson.tres:89 -#, fuzzy msgid "" "Yes, error messages are here to help you!\n" "\n" @@ -117,7 +118,6 @@ msgstr "" "당신이 작성한 코드는 더욱 믿음직해질 것입니다." #: course/lesson-2-your-first-error/lesson.tres:92 -#, fuzzy msgid "They're bad: error messages are always bad." msgstr "나쁘다: 오류는 언제나 나쁜 것이다." diff --git a/ko/lesson-3-standing-on-shoulders-of-giants.po b/ko/lesson-3-standing-on-shoulders-of-giants.po index 1751b500..2f943ce4 100644 --- a/ko/lesson-3-standing-on-shoulders-of-giants.po +++ b/ko/lesson-3-standing-on-shoulders-of-giants.po @@ -9,8 +9,8 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-10-06 07:34+0200\n" -"PO-Revision-Date: 2024-07-07 09:09+0000\n" -"Last-Translator: Godoto \n" +"PO-Revision-Date: 2024-12-24 17:00+0000\n" +"Last-Translator: Minho Yun \n" "Language-Team: Korean \n" "Language: ko\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.7-dev\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.9.1\n" #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:14 @@ -50,7 +50,7 @@ msgstr "" #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:30 msgid "You'll always use a lot of existing code" -msgstr "항상 기존 코드를 많이 사용하게 됩니다" +msgstr "항상 기존에 존재하는 수 많은 코드를 사용하게 됩니다" #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:32 msgid "" @@ -84,6 +84,12 @@ msgid "" "closed parenthesis. To call the function named \"show\", you would write " "[code]show()[/code]." msgstr "" +"컴퓨터에게 함수를 실행하라고 지시할 때, 우리는 함수를 [i]호출[/i] 한다고 " +"합니다.\n" +"\n" +"함수를 호출하기 위해, [i]정확한[/i] 함수명 뒤에 괄호를 열고 닫는 방식으로 " +"작성합니다. \"show\" 라는 함수를 호출하려면, [code]show()[/code] 라고 " +"작성해야 합니다." #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:58 msgid "" @@ -99,6 +105,16 @@ msgid "" "\n" "[i]Click the Run button on any example below to execute the code listing.[/i]" msgstr "" +"Godot에서 [code]show()[/code]를 호출하면 캐릭터나 아이템과 같은 것이 " +"표시됩니다. 또 하나의 [code]hide()[/code] 함수는 개체를 숨깁니다.\n" +"\n" +"일단 개체가 보이면, [code]show()[/code]를 다시 호출해도 아무런 효과가 " +"없습니다.\n" +"\n" +"마찬가지로, 일단 무언가를 숨기면, [code]hide()[/code]를 다시 호출해도 " +"아무것도 바뀌지 않습니다.\n" +"\n" +"[i]아래 예제 중 하나를 실행 버튼을 클릭하여 코드 목록을 실행하십시오.[/i]" #: course/lesson-3-standing-on-shoulders-of-giants/lesson.tres:84 msgid "" diff --git a/tr/application.po b/tr/application.po index 7d21fff3..25bf9d11 100644 --- a/tr/application.po +++ b/tr/application.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: 2024-12-12 14:39+0100\n" -"PO-Revision-Date: 2023-12-11 10:03+0000\n" +"PO-Revision-Date: 2024-12-13 22:36+0000\n" "Last-Translator: Yılmaz Durmaz \n" -"Language-Team: Turkish \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.3-dev\n" +"X-Generator: Weblate 5.9-rc\n" "Generated-By: Babel 2.9.1\n" #: resources/QuizInputField.gd:17 @@ -146,6 +146,9 @@ msgid "" "Learn GDScript From Zero is an open source project by [color=#FFD500]" "[url=https://www.gdquest.com/]GDQUEST.COM[/url][/color]" msgstr "" +"Learn GDScript From Zero (Sıfırdan GDScript Öğrenin), " +"[color=#FFD500][url=https://www.gdquest.com/]GDQUEST.COM[/url][/color] " +"tarafından hazırlanmış açık kaynaklı bir projedir" #: ui/components/GameView.tscn:72 msgid "Paused" @@ -705,7 +708,6 @@ msgid "This is an Open-Source project!" msgstr "Bu bir Açık-Kaynak projedir!" #: ui/screens/end_screen/SponsorlessEndScreen.tscn:231 -#, fuzzy msgid "" "Like Godot, this app and course is free and open-source. \n" "\n" @@ -713,11 +715,11 @@ msgid "" "[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" +"Godot gibi, bu uygulama ve kurs da ü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 deposu)[/url]." +"[url=https://github.com/GDQuest/learn-gdscript]Learn GDScript From Zero (" +"Github deposu)[/url]." #: ui/screens/end_screen/thumbnails/CourseThumbnail.tscn:41 msgid "Early Access release: 2024/01/30" @@ -845,6 +847,8 @@ msgstr "ÇIKIŞ" msgid "" "An open source project by [url=https://www.gdquest.com/]GDQuest.com[/url]" msgstr "" +"[url=https://www.gdquest.com/]GDQuest.com[/url] tarafından hazırlanmış açık " +"kaynaklı bir proje" #~ msgid "" #~ "You completed Learn GDScript From Zero. You now have the basics you need " diff --git a/uk/application.po b/uk/application.po index 887aa520..81d74d30 100644 --- a/uk/application.po +++ b/uk/application.po @@ -9,17 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2024-12-12 14:39+0100\n" -"PO-Revision-Date: 2024-12-02 02:16+0000\n" +"PO-Revision-Date: 2024-12-13 20:00+0000\n" "Last-Translator: Олександр Пилипчук \n" -"Language-Team: Ukrainian \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 5.9-dev\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.9-rc\n" "Generated-By: Babel 2.10.1\n" #: resources/QuizInputField.gd:17 @@ -145,6 +145,8 @@ msgid "" "Learn GDScript From Zero is an open source project by [color=#FFD500]" "[url=https://www.gdquest.com/]GDQUEST.COM[/url][/color]" msgstr "" +"Learn GDScript From Zero – це проєкт з відкритим кодом від " +"[color=#FFD500][url=https://www.gdquest.com/]GDQUEST.COM[/url][/color]" #: ui/components/GameView.tscn:72 msgid "Paused" @@ -694,7 +696,6 @@ msgid "This is an Open-Source project!" msgstr "Це проєкт із відкритим сирцевим кодом!" #: ui/screens/end_screen/SponsorlessEndScreen.tscn:231 -#, fuzzy msgid "" "Like Godot, this app and course is free and open-source. \n" "\n" @@ -704,9 +705,9 @@ msgid "" msgstr "" "Як і Godot, цей застосунок і курс безплатні і мають відкритий сирцевий код.\n" "\n" -"Ви можете знайти сирцевий код програми та покращити переклад тут: " -"[url=\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero " -"(репозиторій Github)[/url]." +"Ви можете знайти сирцевий код програми та покращити переклад тут: [url=" +"\"https://github.com/GDQuest/learn-gdscript\"]Learn GDScript From Zero (" +"репозиторій на Github)[/url]." #: ui/screens/end_screen/thumbnails/CourseThumbnail.tscn:41 msgid "Early Access release: 2024/01/30" @@ -834,3 +835,4 @@ msgstr "ВИХІД" msgid "" "An open source project by [url=https://www.gdquest.com/]GDQuest.com[/url]" msgstr "" +"Проєкт з відкритим кодом від [url=https://www.gdquest.com/]GDQuest.com[/url]" diff --git a/uk/lesson-10-the-game-loop.po b/uk/lesson-10-the-game-loop.po index 767b739a..baccc1aa 100644 --- a/uk/lesson-10-the-game-loop.po +++ b/uk/lesson-10-the-game-loop.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-19 23:00+0000\n" +"Last-Translator: Олександр Пилипчук \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.9.2-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-10-the-game-loop/lesson.tres:14 @@ -31,6 +35,16 @@ msgid "" "\n" "Take the [code]_process()[/code] function." msgstr "" +"Як ми вже бачили, в Godot є функції, які виконують певні дії. Наприклад, " +"[code]show()[/code] і [code]hide()[/code] змінюють видимість об'єктів.\n" +"\n" +"Також ми можемо створювати власні функції, що надають потрібні нам ефекти, " +"наприклад, знижують або відновлюють здоров'я персонажа.\n" +"\n" +"В Godot також є особливі функції, які ми можемо налаштовувати та " +"використовувати в наших скриптах.\n" +"\n" +"Розгляньмо функцію [code]_process()[/code]." #: course/lesson-10-the-game-loop/lesson.tres:40 msgid "" @@ -41,16 +55,24 @@ msgid "" "bottles are always moving along a conveyor belt, while different machines" " operate on them." msgstr "" +"Функція [code]_process()[/code] має таку назву тому, що вона виконує " +"обчислення чи неперервні дії.\n" +"\n" +"Вона схожа на фабрику соку, яка виконує [b]процес обробки[/b] пляшок соку: " +"пляшки постійно рухаються по конвеєру, а різні машини здійснюють операції " +"над ними." #: 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 "" +"В Godot відбувається щось схоже, але ця функція може виконуватися [b]сотні " +"разів за секунду[/b]." #: course/lesson-10-the-game-loop/lesson.tres:60 msgid "How many parameters does this function take?" -msgstr "" +msgstr "Скільки параметрів приймає ця функція?" #: course/lesson-10-the-game-loop/lesson.tres:61 msgid "" @@ -58,6 +80,9 @@ msgid "" "func _process(delta):\n" "[/code]" msgstr "" +"[code]\n" +"func _process(delta):\n" +"[/code]" #: course/lesson-10-the-game-loop/lesson.tres:65 msgid "" @@ -67,15 +92,19 @@ msgid "" "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] приймає один параметр: [code]delta[/code].\n" +"\n" +"Що таке [code]delta[/code] ми розглянемо в наступному уроці, а також " +"покажемо, як використовувати цей параметр." #: course/lesson-10-the-game-loop/lesson.tres:68 #: course/lesson-10-the-game-loop/lesson.tres:69 msgid "1" -msgstr "" +msgstr "1" #: course/lesson-10-the-game-loop/lesson.tres:68 msgid "2" -msgstr "" +msgstr "2" #: course/lesson-10-the-game-loop/lesson.tres:78 msgid "" @@ -92,18 +121,32 @@ msgid "" "\n" "When Godot draws on the screen, we call that a frame." msgstr "" +"Функція [code]_process()[/code] не буде нічого робити, поки ми не додамо в " +"неї що-небудь.\n" +"\n" +"Можливо, ви помітити підкреслення [code]_[/code] перед назвою функції. Цей " +"символ є частиною домовленості розробників для координації робіт, він набуде " +"для вас сенсу після того, як у вас з'явиться досвід програмування в Godot.\n" +"\n" +"Все що вам потрібно знати зараз – якщо у вашому коді є функція [code]" +"_process[/code], то Godot буде автоматично запускати її для кожного [i]кадру" +"[/i]. \n" +"\n" +"Коли Godot малює на екрані, ми називаємо це кадром." #: course/lesson-10-the-game-loop/lesson.tres:92 msgid "Is this the same for other engines?" -msgstr "" +msgstr "Чи так само на інших рушіях?" #: course/lesson-10-the-game-loop/lesson.tres:94 msgid "Other game engines might use different names like [code]_update()[/code]." msgstr "" +"Інші ігрові рушії з цією ж метою можуть використовувати функції з іншими " +"назвами, наприклад [code]_update()[/code]." #: course/lesson-10-the-game-loop/lesson.tres:102 msgid "Why is the _process() function useful?" -msgstr "" +msgstr "Чим корисна функція _process()?" #: course/lesson-10-the-game-loop/lesson.tres:104 msgid "" @@ -112,6 +155,10 @@ msgid "" "\n" "Take the following example." msgstr "" +"Щоб відповісти на це питання, погляньмо на функцію [code]_process()[/code] в " +"дії.\n" +"\n" +"Розгляньмо такий приклад." #: course/lesson-10-the-game-loop/lesson.tres:126 msgid "" @@ -124,10 +171,18 @@ msgid "" "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] ви активуєте подальше " +"виконання процесу для робота.\n" +"\n" +"Після цього для кожного кадру Godot запускає функцію [code]_process()[/code]." +"\n" +"\n" +"Оскільки ми написали інструкцію [code]rotate()[/code], Godot повертає " +"персонажа на [code]0.05[/code] радіан [b]багато[/b] разів на секунду." #: course/lesson-10-the-game-loop/lesson.tres:138 msgid "How often does the _process() function run?" -msgstr "" +msgstr "Як часто виконується функція _process()?" #: course/lesson-10-the-game-loop/lesson.tres:141 msgid "" @@ -137,25 +192,32 @@ msgid "" "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 "" +"Що швидший ваш комп'ютер, то частіше виконуватиметься [code]_process()[/code]" +".\n" +"\n" +"Godot намагається виконати [code]_process()[/code] якомога швидше. Завдяки " +"цьому будь-який рух або анімація виглядають плавними." #: course/lesson-10-the-game-loop/lesson.tres:144 msgid "Once a second." -msgstr "" +msgstr "Раз на секунду." #: course/lesson-10-the-game-loop/lesson.tres:144 #: course/lesson-10-the-game-loop/lesson.tres:145 msgid "Multiple times a second." -msgstr "" +msgstr "Кілька разів на секунду." #: 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 "" +"У вправі ви навчитеся використовувати функцію process для обертання та " +"переміщення персонажа." #: course/lesson-10-the-game-loop/lesson.tres:162 msgid "Rotating a Character Continuously" -msgstr "" +msgstr "Неперервне обертання персонажа" #: course/lesson-10-the-game-loop/lesson.tres:163 msgid "" @@ -164,10 +226,14 @@ msgid "" "\n" "A rotation speed of about [code]0.05[/code] each frame should do." msgstr "" +"Змусьте робота повільно обертатися, змінивши функцію [code]_process()[/code]." +"\n" +"\n" +"Швидкості обертання [code]0.05[/code] радіан на кадр вистачить." #: course/lesson-10-the-game-loop/lesson.tres:180 msgid "Creating Circular Movement" -msgstr "" +msgstr "Створення колового руху" #: course/lesson-10-the-game-loop/lesson.tres:181 msgid "" @@ -180,7 +246,15 @@ msgid "" "Use a rotation speed of [code]0.05[/code] radians per frame, and move the" " robot [code]5[/code] pixels per frame." msgstr "" +"Змусьте робота повільно рухатися великим колом, обертаючи його й одночасно " +"переміщуючи вздовж напрямку x.\n" +"\n" +"Для цього додайте в [code]_process()[/code] функції [code]rotate()[/code] і " +"[code]move_local_x()[/code].\n" +"\n" +"Використовуйте швидкість обертання [code]0.05[/code] радіана на кадр и " +"переміщуйте робота на [code]5[/code] пікселів на кадр." #: course/lesson-10-the-game-loop/lesson.tres:199 msgid "The Game Loop" -msgstr "" +msgstr "Ігровий цикл" diff --git a/uk/lesson-11-time-delta.po b/uk/lesson-11-time-delta.po index 984ab212..b6cf0a19 100644 --- a/uk/lesson-11-time-delta.po +++ b/uk/lesson-11-time-delta.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-21 20:00+0000\n" +"Last-Translator: Олександр Пилипчук \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-11-time-delta/lesson.tres:14 @@ -23,6 +27,8 @@ msgid "" "We've seen how we can use our character's [code]_process()[/code] " "function to make it move continuously." msgstr "" +"[/code]Ми бачили, як можна використати функцію [code]_process()[/code] " +"нашого персонажа, щоб змусити його рухатися неперервно." #: course/lesson-11-time-delta/lesson.tres:34 msgid "" @@ -41,10 +47,23 @@ msgid "" "As this happens dozens of times per second, you get the illusion of " "movement. This is similar to how traditional animation works." msgstr "" +"Але не лише наш персонаж має функцію [code]_process()[/code]; майже все у " +"грі має функцію [code]_process()[/code]!\n" +"\n" +"Десятки разів на секунду Godot запускає кожну функцію [code]_process()[/code]" +" у грі, щоб оновити ігровий світ.\n" +"\n" +"Після цього виводить зображення ігрового світу на екран. Ми називаємо це " +"зображення [b]кадром[/b].\n" +"\n" +"Потім Godot переходить до обчислення наступного кадра.\n" +"\n" +"Оскільки оновлення кадру відбувається десятки разів на секунду, створюється " +"ілюзія руху. Це схоже на те, як працює традиційна анімація." #: course/lesson-11-time-delta/lesson.tres:50 msgid "This sounds like Frames Per Second..." -msgstr "" +msgstr "Це схоже на кількість кадрів на секунду..." #: course/lesson-11-time-delta/lesson.tres:52 msgid "" @@ -59,14 +78,24 @@ msgid "" "On powerful computers, you may get frame rates in the hundreds or " "thousands of frames per second." msgstr "" +"Можливо, ви чули про частоту кадрів на секунду, або, скорочено, FPS. Часто " +"ігри працюють зі швидкістю 60 кадрів на секунду.\n" +"\n" +"Це означає, що все у грі оновлюється 60 разів на секунду.\n" +"\n" +"Під час гри це число змінюється залежно від характеристик гри та пристрою, " +"на якому її запущено.\n" +"\n" +"На потужних комп'ютерах частота кадрів може становити сотні чи тисячі кадрів " +"за секунду." #: course/lesson-11-time-delta/lesson.tres:68 msgid "Let's look at the [code]_process()[/code] function in more detail." -msgstr "" +msgstr "Розгляньмо функцію [code]_process()[/code] докладніше." #: course/lesson-11-time-delta/lesson.tres:76 msgid "What parameter does the _process() function take?" -msgstr "" +msgstr "Який параметр приймає функція _process()?" #: course/lesson-11-time-delta/lesson.tres:77 msgid "" @@ -75,29 +104,35 @@ msgid "" "\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] приймає один параметр, названий [code]delta[/" +"code] (дельта)." #: course/lesson-11-time-delta/lesson.tres:83 msgid "rotate" -msgstr "" +msgstr "rotate" #: course/lesson-11-time-delta/lesson.tres:83 msgid "0.05" -msgstr "" +msgstr "0.05" #: course/lesson-11-time-delta/lesson.tres:83 #: course/lesson-11-time-delta/lesson.tres:84 msgid "delta" -msgstr "" +msgstr "delta" #: course/lesson-11-time-delta/lesson.tres:91 msgid "Frames take varying amounts of time to calculate" -msgstr "" +msgstr "Кадри вимагають різного обсягу часу на обчислення" #: course/lesson-11-time-delta/lesson.tres:93 msgid "" @@ -122,10 +157,30 @@ msgid "" " on the computer. Delta helps to make the game experience consistent for " "everyone." msgstr "" +"Залежно від гри, комп'ютера та обсягу обчислень, які має зробити ігровий " +"рушій, приготування кадру до показу може зайняти більше або менше часу.\n" +"\n" +"Завжди є різниця на кілька мілісекунд від кадру до кадру.\n" +"\n" +"Саме тому функція [code]_process()[/code] приймає параметр [code]delta[/" +"code].\n" +"\n" +"Дельта позначає проміжок часу. Тобто, це час, у секундах, що пройшов від " +"початку опрацювання попереднього кадру.\n" +"\n" +"Ми можемо використати його, щоб гарантувати, що відмінність між кадрами не " +"зіпсує враження від гри.\n" +"\n" +"Це пов'язано з тим, що різні комп'ютери працюють по-різному, тому на " +"швидкому комп'ютері буде більше кадрів на секунду, ніж на повільному.\n" +"\n" +"Якщо ми знехтуємо [code]delta[/code], враження від гри відрізнятимуться, " +"залежно від комп'ютера. Дельта допомагає зробити ігровий процес однаковим " +"для всіх." #: course/lesson-11-time-delta/lesson.tres:113 msgid "What do we know about delta?" -msgstr "" +msgstr "Що ми знаємо про параметр delta?" #: course/lesson-11-time-delta/lesson.tres:116 msgid "" @@ -137,25 +192,32 @@ msgid "" "It varies each frame because Godot needs to process more or less each " "frame." msgstr "" +"[code]delta[/code] — цей час, у секундах, який Godot має для завершення " +"попереднього кадру.\n" +"\n" +"Це значення дуже мале, оскільки за одну секунду з'являється багато кадрів.\n" +"\n" +"Значення delta відрізняється від кадру до кадру, оскільки Godot опрацьовує " +"кожен із них за різний час." #: course/lesson-11-time-delta/lesson.tres:121 #: course/lesson-11-time-delta/lesson.tres:122 msgid "It's a value in seconds." -msgstr "" +msgstr "Це значення в секундах." #: course/lesson-11-time-delta/lesson.tres:121 #: course/lesson-11-time-delta/lesson.tres:122 msgid "It varies each frame." -msgstr "" +msgstr "Воно відрізняється для кожного кадру." #: course/lesson-11-time-delta/lesson.tres:121 #: course/lesson-11-time-delta/lesson.tres:122 msgid "It's the time it took Godot to complete the previous frame." -msgstr "" +msgstr "Це час, за який Godot завершує попередній кадр." #: course/lesson-11-time-delta/lesson.tres:129 msgid "Multiplying by delta" -msgstr "" +msgstr "Множення на дельту" #: course/lesson-11-time-delta/lesson.tres:131 msgid "" @@ -165,6 +227,11 @@ msgid "" "To apply [code]delta[/code], you need to [i]multiply[/i] your speed " "values by it." msgstr "" +"[code]Delta[/code], яку ви отримуєте у функції [code]_process()[/code] — це " +"проміжок часу в секундах. Зазвичай її задають дуже малим десятковим дробом.\n" +"\n" +"Щоб застосувати параметр [code]delta[/code], вам потрібно [i]помножити[/i] " +"на нього всі значення швидкості." #: course/lesson-11-time-delta/lesson.tres:153 msgid "" @@ -173,10 +240,14 @@ msgid "" "\n" "That's essential to make your game consistent and fair." msgstr "" +"Множенням на [code]delta[/code] ви робите рух [i]залежним від часу[/i] (time-" +"dependent), і усуваєте його [i]залежність від кадру[/i] (frame-dependent).\n" +"\n" +"Це важливо для того, щоб ваша гра була послідовною та справедливою." #: course/lesson-11-time-delta/lesson.tres:163 msgid "Why do we use the number 3.0 in this example?" -msgstr "" +msgstr "Чому в цьому прикладі ми використовуємо число 3.0?" #: course/lesson-11-time-delta/lesson.tres:165 msgid "" @@ -203,10 +274,33 @@ msgid "" "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 "" +"На початку уроку ми зробили так, щоб робот повертався на фіксоване значення (" +"[code]0.05[/code] радіан) щокадру.\n" +"\n" +"У прикладі вище ми [i]помножили[/i] аргумент на дуже маленьке значення [code]" +"delta[/code], суттєво менше, ніж [code]1.0[/code]. Завдяки цьому робот " +"повертається з постійною швидкістю.\n" +"\n" +"Однак множення на число, менше від [code]1.0[/code], таке як [code]delta[/" +"code], робить результат меншим.\n" +"\n" +"Щоб компенсувати це і зробити обертання робота досить швидким, слід " +"використати числа, більші від тих, що ми використовували раніше, [code]3.0[/" +"code] замість [code]0.05[/code].\n" +"\n" +"Ці числа мають дві різні [i]одиниці вимірювання[/i]: [code]0,05[/code] — це " +"[i]кут[/i] у радианах, а [code]3.0[/code] — це [i]кутова швидкість[/i] в " +"радіанах за секунду.\n" +"\n" +"Коли ви множите швидкість на дельту часу, ви отримуєте кут.\n" +"\n" +"Не хвилюйтеся, якщо зараз це дещо бентежить. Зрештою, розуміння до вас " +"прийде після того, як ви розберетеся зі швидкістю, прискоренням і рухом у " +"ваших ігрових проєктах." #: course/lesson-11-time-delta/lesson.tres:185 msgid "Why the time between frames matters" -msgstr "" +msgstr "Чому різниця в часі між кадрами має значення" #: course/lesson-11-time-delta/lesson.tres:187 msgid "" @@ -226,6 +320,21 @@ msgid "" "\n" "The bottom robot will move [i]differently for everyone[/i]!" msgstr "" +"Час, потрібний для показу нового кадру, варіюється.\n" +"\n" +"Якщо ви не врахуєте це в коді, ваша гра матиме геймплейні проблеми та баги. " +"В Godot функція [code]_process()[/code] отримує цей час у параметрі [code]" +"delta[/code].\n" +"\n" +"У прикладі нижче верхній робот рухається із застосуванням [code]delta[/code]" +". Тому він рухається з однаковою швидкістю.\n" +"\n" +"Нижній робот рухається на однакову відстань щокадру, [i]без[/i] використання " +"[code]delta[/code] в обчисленнях. З цієї причини він рухатиметься швидше або " +"повільніше ніж верхній робот, залежно від характеристик[i]вашого[/i] " +"комп'ютера.\n" +"\n" +"Нижній робот буде рухатися [i]у всіх по-різному[/i]!" #: course/lesson-11-time-delta/lesson.tres:215 msgid "" @@ -238,45 +347,59 @@ msgid "" "and during gameplay. Because of that, the movement will differ for every " "player, making the game inconsistent and messy." msgstr "" +"Множення чутливих до часу значень на [code]delta[/code] зробить їх [b]" +"залежними від часу[/b], на противагу початковій їх [b]залежності від кадрів" +"[/b].\n" +"\n" +"Це дасть нам змогу отримати вірогідний рух протягом усього часу.\n" +"\n" +"Без [code]delta[/code], час, який гравець проводить у кадрі, відрізнявся б " +"від комп'ютера до комп'ютера і протягом гри. З цієї причини швидкість " +"пересування була б різною для кожного з гравців, що зробило б гру " +"непередбачуваною та безладною." #: course/lesson-11-time-delta/lesson.tres:227 msgid "What does this mean?" -msgstr "" +msgstr "Що це означає?" #: course/lesson-11-time-delta/lesson.tres:228 msgid "[code]rotation_speed * delta[/code]" -msgstr "" +msgstr "[code]rotation_speed * delta[/code]" #: course/lesson-11-time-delta/lesson.tres:230 msgid "" "The [code]*[/code] symbol means we're multiplying " "[code]rotation_speed[/code] by [code]delta[/code] time." msgstr "" +"Символ [code]*[/code] означає множення [code]rotation_speed[/code] на [code]" +"delta[/code] часу." #: course/lesson-11-time-delta/lesson.tres:231 #: course/lesson-11-time-delta/lesson.tres:232 msgid "We're multiplying rotation_speed by delta." -msgstr "" +msgstr "Ми множимо rotation_speed на delta." #: course/lesson-11-time-delta/lesson.tres:231 msgid "We're dividing delta by rotation_speed." -msgstr "" +msgstr "Ми ділимо delta на rotation_speed." #: course/lesson-11-time-delta/lesson.tres:231 msgid "We're adding rotation_speed to delta." -msgstr "" +msgstr "Ми додаємо rotation_speed до delta." #: course/lesson-11-time-delta/lesson.tres:231 msgid "We're subtracting delta from rotation_speed." -msgstr "" +msgstr "Ми віднімаємо delta від rotation_speed." #: course/lesson-11-time-delta/lesson.tres:241 msgid "In the next practice, we'll use delta to make rotating time-dependent." msgstr "" +"У наступній вправі ми використаємо дельту, щоб зробити обертання залежним " +"від часу." #: course/lesson-11-time-delta/lesson.tres:249 msgid "Rotating Using Delta" -msgstr "" +msgstr "Обертання з використанням дельти" #: course/lesson-11-time-delta/lesson.tres:250 msgid "" @@ -286,10 +409,15 @@ msgid "" "\n" "The robot should rotate [code]2[/code] radians per second." msgstr "" +"Зараз швидкість обертання робота залежить від швидкості розрахунку кадрів.\n" +"\n" +"Додайте [code]delta[/code], щоб швидкість обертання залежала від часу.\n" +"\n" +"Робот має повертатися на [code]2[/code] радіани за секунду." #: course/lesson-11-time-delta/lesson.tres:269 msgid "Moving in a Circle Using Delta" -msgstr "" +msgstr "Переміщення по колу з урахуванням дельти" #: course/lesson-11-time-delta/lesson.tres:270 msgid "" @@ -302,7 +430,16 @@ msgid "" "functions. If you define extra variables, we will not be able to check " "your practice." msgstr "" +"У цій вправі вам потрібно змусити робота рухатися плавно по колу, за " +"допомогою дельти.\n" +"\n" +"Робот має повертатися за годинниковою стрілкою на [code]2[/code] радіани за " +"секунду і переміщуватися на [code]100[/code] пікселів за секунду.\n" +"\n" +"[b]Примітка:[/b] Будь ласка, під час виклику функцій пишіть значення в " +"круглих дужках. Якщо ви визначите додаткові змінні, ми не зможемо перевірити " +"ваш розв'язок." #: course/lesson-11-time-delta/lesson.tres:288 msgid "Time Delta" -msgstr "" +msgstr "Дельта часу" diff --git a/uk/lesson-12-using-variables.po b/uk/lesson-12-using-variables.po index 326c04e1..91d155cd 100644 --- a/uk/lesson-12-using-variables.po +++ b/uk/lesson-12-using-variables.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-24 17:00+0000\n" +"Last-Translator: Олександр Пилипчук \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-12-using-variables/lesson.tres:14 @@ -25,27 +29,32 @@ msgid "" "\n" "Take a look at this example." msgstr "" +"У цьому уроці ми зробимо наш код простішим і зрозумілим з першого погляду.\n" +"\n" +"Розгляньте цей приклад." #: course/lesson-12-using-variables/lesson.tres:34 msgid "In the above example, what does the number 4 mean?" -msgstr "" +msgstr "Що в наведеному вище прикладі означає число 4?" #: course/lesson-12-using-variables/lesson.tres:37 msgid "The code above rotates the character [code]4[/code] radians per second." msgstr "" +"У наведеному вище коді персонаж обертається зі швидкістю [code]4[/code] " +"радіани за секунду." #: 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 "" +msgstr "Це те, наскільки швидко обертається персонаж." #: course/lesson-12-using-variables/lesson.tres:38 msgid "It's how far the character moves in pixels." -msgstr "" +msgstr "Це відстань, на яку переміщається персонаж у пікселях." #: course/lesson-12-using-variables/lesson.tres:38 msgid "It's how long the rotation takes." -msgstr "" +msgstr "Це скільки часу триває обертання." #: course/lesson-12-using-variables/lesson.tres:48 msgid "" @@ -56,6 +65,11 @@ msgid "" "We've seen how different functions have their own names. Using these " "names communicates to developers what the functions do." msgstr "" +"Ми можемо здогадатися, що означає число, подивившись на назви функцій, але " +"за швидкого перегляду коду призначення цього числа пригадати важче.\n" +"\n" +"Ми бачили, що різні функції мають власні назви. Завдяки цим назвам " +"розробники розуміють, що роблять функції." #: course/lesson-12-using-variables/lesson.tres:70 msgid "" @@ -69,41 +83,57 @@ msgid "" "\n" "Let's recap how to define a variable." msgstr "" +"Як ми дізналися в уроці 8, ми також можемо призначати етикетки числам, що " +"допоможе нам запам’ятати, що вони роблять. \n" +"\n" +"Ми називаємо ці етикетки [i]змінними[/i]. \n" +"\n" +"[b]Змінна — це етикетка для значення, яке ми можемо зберегти, змінити та " +"прочитати пізніше.[/b] \n" +"\n" +"Давайте повторимо, як визначити змінну." #: 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 "" +"Ми вдосконалюємо перший приклад, щоб було зрозуміло, що робить число [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 "" +"Позначання значень робить код легшим для читання зараз [i]і[/i] в " +"майбутньому." #: course/lesson-12-using-variables/lesson.tres:124 msgid "In the above example, which line defines the angular speed variable?" msgstr "" +"Який рядок у наведеному вище прикладі визначає змінну для кутової швидкості?" #: 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 "" +"Ми створюємо змінну [code]angular_speed[/code], а потім присвоюємо їй " +"значення [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 "" +msgstr "var angular_speed = 4" #: course/lesson-12-using-variables/lesson.tres:128 msgid "func _process(delta):" -msgstr "" +msgstr "func _process(delta):" #: course/lesson-12-using-variables/lesson.tres:128 msgid "rotate(angular_speed * delta)" -msgstr "" +msgstr "rotate(angular_speed * delta)" #: course/lesson-12-using-variables/lesson.tres:138 msgid "" @@ -117,6 +147,15 @@ msgid "" "the [code]_process()[/code] function and the " "[code]set_angular_speed()[/code] function." msgstr "" +"Якщо ми визначаємо змінні поза функціями, ми можемо повторно використовувати " +"їх у різних функціях.\n" +"\n" +"Оскільки будь-яка функція може використовувати змінні, які ми визначаємо " +"поза ними, ми називаємо ці змінні [b]скриптовими[/b].\n" +"\n" +"Тут ми використовуємо скриптову змінну [code]angular_speed[/code] як у " +"функції [code]_process()[/code], так і у функції [code]set_angular_speed()" +"[/code]." #: course/lesson-12-using-variables/lesson.tres:162 msgid "" @@ -128,6 +167,13 @@ msgid "" "If we define a variable inside of a function, only that function can use " "it." msgstr "" +"Ми також можемо визначати змінні всередині функцій.\n" +"\n" +"Ми вирівнюємо присвоєння значення змінній відступом, щоб зробити його " +"частиною тіла функції. Не забудьте створити змінну перед її використанням!\n" +"\n" +"Якщо ми визначаємо змінну всередині функції, то використовувати її зможе " +"лише ця функція." #: course/lesson-12-using-variables/lesson.tres:186 msgid "" @@ -139,10 +185,17 @@ msgid "" "\n" "Here's what this error might look like." msgstr "" +"Змінна [code]angular_speed[/code] існує лише всередині [code]_process()" +"[/code], оскільки ми її там визначили. Функція [code]set_angular_speed()" +"[/code] не може її використовувати.\n" +"\n" +"Спроба використати її там призведе до помилки.\n" +"\n" +"Ось як може виглядати ця помилка." #: course/lesson-12-using-variables/lesson.tres:208 msgid "Where can we define variables?" -msgstr "" +msgstr "Де ми можемо оголошувати змінні?" #: course/lesson-12-using-variables/lesson.tres:211 msgid "" @@ -152,16 +205,21 @@ msgid "" "If we define a variable inside of a function, only that function can use " "it." msgstr "" +"Функції можуть використовувати будь-які змінні, оголошені поза функціями. Ці " +"змінні [b]рівня сценарію[/b].\n" +"\n" +"Якщо ми оголошуємо змінну всередині функції, використовувати її зможе лише " +"ця функція." #: course/lesson-12-using-variables/lesson.tres:214 #: course/lesson-12-using-variables/lesson.tres:215 msgid "Outside of functions." -msgstr "" +msgstr "Поза функціями." #: course/lesson-12-using-variables/lesson.tres:214 #: course/lesson-12-using-variables/lesson.tres:215 msgid "Inside of functions." -msgstr "" +msgstr "Всередині функцій." #: course/lesson-12-using-variables/lesson.tres:224 msgid "" @@ -170,16 +228,21 @@ msgid "" "\n" "Grouping them in this way allows us to easily change them." msgstr "" +"Змінні також чудово групують значення, які контролюють поведінку персонажа.\n" +"\n" +"Групуючи їх у такий спосіб, ми можемо легко їх змінювати." #: 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 "" +"У наступних практиках ми визначимо змінні та використаємо їх із деякими " +"знайомими функціями, щоб зробити наш код більш читабельним." #: course/lesson-12-using-variables/lesson.tres:254 msgid "Clarifying Code Using Variables" -msgstr "" +msgstr "Пояснення коду за допомогою змінних" #: course/lesson-12-using-variables/lesson.tres:255 msgid "" @@ -191,16 +254,25 @@ msgid "" "\n" "Then, replace the [code]4[/code] with [code]angular_speed[/code]." msgstr "" +"Давайте позначимо [code]4[/code] тут, щоб ми знали, що він робить. \n" +"\n" +"Створіть змінну під назвою [code]angular_speed[/code] поза функцією [code]" +"_process()[/code], щоб зробити її загальною для сценарію. Це дозволяє нам " +"використовувати його в інших функціях. \n" +"\n" +"Потім замініть [code]4[/code] на [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 "" +"Використання змінних для зберігання числових значень полегшує читання коду. " +"Наведіть порядок у цій функції, зберігаючи значення у змінній." #: course/lesson-12-using-variables/lesson.tres:274 msgid "Fixing an Out of Scope Error" -msgstr "" +msgstr "Виправлення помилки поза межами області видимості" #: course/lesson-12-using-variables/lesson.tres:275 msgid "" @@ -210,11 +282,16 @@ msgid "" "\n" "Correct the code so it works as intended." msgstr "" +"Тут щось не так із кодом. Ви бачите, що це?\n" +"\n" +"Запустіть код і прочитайте помилку.\n" +"\n" +"Виправте код, щоб він працював належним чином." #: course/lesson-12-using-variables/lesson.tres:293 msgid "Uh oh! There's something wrong here. Can you fix it?" -msgstr "" +msgstr "ой, ой! Тут щось не так. Ви можете це виправити?" #: course/lesson-12-using-variables/lesson.tres:297 msgid "Using Variables to Make Code Easier to Read" -msgstr "" +msgstr "Використання змінних для полегшення читання коду" diff --git a/uk/lesson-13-conditions.po b/uk/lesson-13-conditions.po index 251143a4..1cf5f88a 100644 --- a/uk/lesson-13-conditions.po +++ b/uk/lesson-13-conditions.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-21 23:09+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-13-conditions/lesson.tres:14 @@ -23,16 +27,20 @@ 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 "" +"У попередніх уроках ми зменшували та збільшували здоров’я персонажа, але не " +"було обмежень щодо того, скільки здоров’я він міг мати." #: 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 "" +"У результаті гравець може збільшувати здоров’я свого персонажа на " +"невизначений термін, чого ми не хочемо." #: course/lesson-13-conditions/lesson.tres:52 msgid "What happens to health when we damage our character?" -msgstr "" +msgstr "Що відбувається зі здоров'ям, коли ми псуємо свій характер?" #: course/lesson-13-conditions/lesson.tres:53 msgid "" @@ -41,6 +49,10 @@ msgid "" "What would the value of health be if we called " "[code]take_damage(25)[/code] [b]five times[/b]?" msgstr "" +"Припустимо, у нашого персонажа [code]100[/code] здоров'я.\n" +"\n" +"Якою буде цінність здоров’я, якщо ми викликаємо [code]take_damage(25)[/code] " +"[b]п’ять разів[/b]?" #: course/lesson-13-conditions/lesson.tres:57 msgid "" @@ -54,19 +66,28 @@ msgid "" "0\n" "-25" msgstr "" +"Виклик [code]take_damage(25)[/code] п’ять разів призведе до віднімання [code]" +"125[/code] із [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 "" +msgstr "-25" #: course/lesson-13-conditions/lesson.tres:65 msgid "25" -msgstr "" +msgstr "25" #: course/lesson-13-conditions/lesson.tres:65 msgid "0" -msgstr "" +msgstr "0" #: course/lesson-13-conditions/lesson.tres:75 msgid "" @@ -76,6 +97,11 @@ msgid "" " the computer will run the corresponding instructions. Otherwise, those " "instructions will not run at all." msgstr "" +"Ми можемо використовувати умови для виконання дій [b]вибірково[/b]. \n" +"\n" +"Умови роблять ваш код розгалуженим на два шляхи: якщо умова виконана, комп’" +"ютер виконає відповідні інструкції. Інакше ці інструкції не виконуватимуться " +"взагалі." #: course/lesson-13-conditions/lesson.tres:87 msgid "" @@ -83,6 +109,9 @@ msgid "" "example, game input largely relies on conditions: [i]if[/i] the player " "presses the button on a gamepad, the character jumps." msgstr "" +"Відеоігри та інші комп'ютерні програми повні умов. Наприклад, введення в гру " +"значною мірою залежить від умов: [i]якщо[/i] гравець натискає кнопку на " +"геймпаді, персонаж стрибає." #: course/lesson-13-conditions/lesson.tres:107 msgid "" @@ -100,6 +129,18 @@ msgid "" "line starting with [code]if[/code], [ignore]type the condition to " "evaluate, and end the line with a colon." msgstr "" +"Коли комп’ютер перевіряє умову, це називається [b]оцінкою[/b] умови. Усі " +"умови [b]оцінюються[/b] як [code]true[/code] або [code]false[/code]. \n" +"\n" +"Гравець або натискає кнопку, або ні. Або персонаж торкається ворога, або ні. " +"\n" +"\n" +"У нашому випадку, [i]якщо[/i] здоров’я перевищує максимальне значення, ми " +"хочемо скинути його до максимуму. \n" +"\n" +"Щоб визначити умову, ми використовуємо ключове слово [code]if[/code]. Ми " +"пишемо рядок, починаючи з [code]if[/code], [ignore]вводимо умову для оцінки " +"та закінчуємо рядок двокрапкою." #: course/lesson-13-conditions/lesson.tres:133 msgid "" @@ -114,10 +155,20 @@ msgid "" "The computer knows which instructions belong to the condition because " "they are indented." msgstr "" +"Зверніть увагу на знак порівняння [code]>[/code]. Ми читаємо цей символ як «" +"більше ніж». \n" +"\n" +"Ми бачили, як визначення функцій використовують двокрапку в кінці першого " +"рядка та вкладають вміст усередину. \n" +"\n" +"У GDScript цей синтаксис є повторюваним шаблоном для всіх блоків коду. \n" +"\n" +"Комп’ютер знає, які інструкції належать до умови, оскільки вони мають " +"відступ." #: course/lesson-13-conditions/lesson.tres:157 msgid "Comparisons" -msgstr "" +msgstr "Порівняння" #: course/lesson-13-conditions/lesson.tres:159 msgid "" @@ -133,10 +184,21 @@ msgid "" "\n" "Here's how we might use these in [code]if[/code] statements.\n" msgstr "" +"У наведеному вище прикладі ми використали синтаксис [code]>[/code] для " +"значення «більше ніж». \n" +"\n" +"Ми можемо порівнювати числа й іншими способами. \n" +"\n" +"[code]>[/code] означає \"більше ніж\" \n" +"[code]<[/code] означає \"менше ніж\" \n" +"[code]==[/code] означає \"дорівнює\" \n" +"[code]!=[/code] означає \"не дорівнює\" \n" +"\n" +"Ось як ми можемо використовувати їх у операторах [code]if[/code].\n" #: course/lesson-13-conditions/lesson.tres:187 msgid "What does \"pass\" do in the code?" -msgstr "" +msgstr "Що робить \"pass\" у коді?" #: course/lesson-13-conditions/lesson.tres:189 msgid "" @@ -152,10 +214,20 @@ msgid "" "lines, Godot would give us an \"Expected an indented block after 'if' \" " "error." msgstr "" +"Ключове слово [code]pass[/code] запобігає помилкам у нашому коді, коли рядок " +"не може бути порожнім. \n" +"\n" +"Наприклад, ми повинні мати рядок коду після визначення функції або блоку " +"[code]if[/code]. Якщо ви ще не знаєте, що писати, ви можете використовувати " +"ключове слово [code]pass[/code] як заповнювач, і Godot не видаватиме жодних " +"помилок. \n" +"\n" +"У попередньому прикладі, якщо під рядками [code]if[/code] нічого не було, " +"Godot видасть нам помилку «Очікується блок із відступом після 'if'»." #: course/lesson-13-conditions/lesson.tres:201 msgid "Which of these statements are true?" -msgstr "" +msgstr "Які з цих тверджень вірні?" #: course/lesson-13-conditions/lesson.tres:204 msgid "" @@ -171,33 +243,43 @@ msgid "" "The comparison [code]3 < 1[/code] means \"three is less than one\" which " "is [b]false[/b]." msgstr "" +"Порівняння [code]3 > 1[/code] означає «три більше за один», що [b]вірно[/b]. " +"\n" +"Порівняння [code]2 < 3[/code] означає «два менше трьох», що [b]вірно[/b]. \n" +"Порівняння [code]1 != 3[/code] означає «один не дорівнює трьом», що [b]вірно" +"[/b]. \n" +"\n" +"Порівняння [code]2 == 1[/code] означає \"два дорівнює одному\", що є [b]" +"хибним[/b]. \n" +"Порівняння [code]3 < 1[/code] означає, що «три менше одиниці», що є [b]хибним" +"[/b]." #: course/lesson-13-conditions/lesson.tres:210 #: course/lesson-13-conditions/lesson.tres:211 msgid "3 > 1" -msgstr "" +msgstr "3 > 1" #: course/lesson-13-conditions/lesson.tres:210 msgid "2 == 1" -msgstr "" +msgstr "2 == 1" #: course/lesson-13-conditions/lesson.tres:210 #: course/lesson-13-conditions/lesson.tres:211 msgid "2 < 3" -msgstr "" +msgstr "2 < 3" #: course/lesson-13-conditions/lesson.tres:210 #: course/lesson-13-conditions/lesson.tres:211 msgid "1 != 3" -msgstr "" +msgstr "1 != 3" #: course/lesson-13-conditions/lesson.tres:210 msgid "3 < 1" -msgstr "" +msgstr "3 < 1" #: course/lesson-13-conditions/lesson.tres:218 msgid "Or else..." -msgstr "" +msgstr "Або інакше..." #: course/lesson-13-conditions/lesson.tres:220 msgid "" @@ -207,22 +289,31 @@ msgid "" "You can write an [code]else[/code] block after an [code]if[/code] block, " "like so." msgstr "" +"Ключове слово [code]if[/code] супроводжується додатковим ключовим словом " +"[code]else[/code].\n" +"\n" +"Ви можете написати блок [code]else[/code] після блоку [code]if[/code], ось " +"так." #: 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] запускатиметься щоразу, коли умова вище не " +"виконується." #: 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 "" +"У наступних вправах ми будемо використовувати умови та покращувати спосіб " +"зміни здоров’я нашого персонажа, щоб воно мало обмеження." #: course/lesson-13-conditions/lesson.tres:260 msgid "Using Comparisons" -msgstr "" +msgstr "Використання порівнянь" #: course/lesson-13-conditions/lesson.tres:261 msgid "" @@ -245,16 +336,36 @@ msgid "" "Because [code]health = 100[/code], this is false so [code]print(\"health " "is greater than five.\")[/code] won't run." msgstr "" +"Ця серія операторів [code]if[/code] є неправильною. Змініть порівняння так, " +"щоб кожне порівняння відповідало інструкції під ним. \n" +"\n" +"Зберігайте значення та твердження такими, якими вони є; тільки змінюють " +"знаки порівняння. \n" +"\n" +"Нагадуємо, що знаками порівняння є: \n" +"[код] \n" +"> більше ніж \n" +"< менше ніж \n" +"== дорівнює \n" +"!= не дорівнює \n" +"[/код] \n" +"\n" +"Рядок [code]health < 5:[/code] означає «здоров'я менше 5». \n" +"\n" +"Оскільки [code]health = 100[/code], це помилка, тому [code]print(" +"\"health is larger than five.\")[/code] не запускається." #: 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 "" +"Порівняння значень дозволяє нам приймати рішення в коді. Але в цих " +"твердженнях щось не так.." #: course/lesson-13-conditions/lesson.tres:302 msgid "Limiting Healing" -msgstr "" +msgstr "Обмеження зцілення" #: course/lesson-13-conditions/lesson.tres:303 msgid "" @@ -263,16 +374,22 @@ msgid "" "Add to the function so the character's health is never greater than " "[code]80[/code]." msgstr "" +"У нас є функція лікування, яка додає певну суму до здоров’я персонажа.\n" +"\n" +"Додайте до функції, щоб здоров’я персонажа ніколи не перевищувало [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 "" +"Як би нам не хотілося, ми не хочемо, щоб у нашого робота було надто багато " +"здоров’я. Обмежте кількість лікування, яке може отримати робот." #: course/lesson-13-conditions/lesson.tres:320 msgid "Preventing Health from Going Below Zero" -msgstr "" +msgstr "Запобігання здоров'ю від падіння нижче нуля" #: course/lesson-13-conditions/lesson.tres:321 msgid "" @@ -289,13 +406,27 @@ msgid "" "If [code]health[/code] goes below [code]0[/code], set it to " "[code]0[/code] again." msgstr "" +"Коли робот отримує пошкодження, його здоров'я може бути негативним. \n" +"\n" +"Можливо, ми захочемо відобразити на екрані число здоров’я, як у японських " +"рольових іграх. \n" +"\n" +"Ми не хочемо від’ємних чисел. Натомість ми хочемо зупинитися на нулі. \n" +"\n" +"Виклик функції має зменшити [code]здоров'я[/code] на [code]кількість[/code]. " +"\n" +"\n" +"Якщо [code]здоров'я[/code] стає нижче [code]0[/code], знову встановіть [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 "" +"Мати негативне значення здоров’я не має великого сенсу. Переконайтеся, що " +"здоров'я робота не може опускатися нижче нуля." #: course/lesson-13-conditions/lesson.tres:343 msgid "Conditions" -msgstr "" +msgstr "Умови" diff --git a/uk/lesson-14-multiplying.po b/uk/lesson-14-multiplying.po index 60484084..6d475827 100644 --- a/uk/lesson-14-multiplying.po +++ b/uk/lesson-14-multiplying.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-21 23:09+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-14-multiplying/lesson.tres:14 @@ -28,6 +32,13 @@ msgid "" "When a character levels up, it might deal more damage to enemies, gain " "new abilities or, in our case, gain more health." msgstr "" +"Здоров’я нашого робота завжди між [code]0[/code] і [code]100[/code]. \n" +"\n" +"Але поки наш робот бореться, ми хочемо збільшити його силу та витривалість. " +"\n" +"\n" +"Коли персонаж підвищує рівень, він може завдати більше шкоди ворогам, " +"отримати нові здібності або, у нашому випадку, отримати більше здоров’я." #: course/lesson-14-multiplying/lesson.tres:28 msgid "" @@ -37,12 +48,19 @@ msgid "" "When the robot has defeated enough enemies, we call the " "[code]level_up()[/code] function to increment the robot's level." msgstr "" +"Ми визначаємо змінну [code]level[/code], щоб відстежувати рівень робота. " +"Починається з першого рівня. \n" +"\n" +"Коли робот переміг достатньо ворогів, ми викликаємо функцію [code]level_up()" +"[/code], щоб збільшити рівень робота." #: 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 "" +"Як ми коротко бачили в минулому уроці, наш робот може мати ряд змінних, які " +"можуть збільшуватися, коли він підвищується." #: course/lesson-14-multiplying/lesson.tres:70 msgid "" @@ -53,12 +71,20 @@ msgid "" "[code]health[/code] can be. We change our [code]heal()[/code] function to" " use this variable." msgstr "" +"У цьому уроці ми зосередимося лише на збільшенні [code]max_health[/code] " +"робота. \n" +"\n" +"Змінна [code]max_health[/code] — це максимальна кількість [code]здоров’я" +"[/code] робота. Ми змінюємо нашу функцію [code]heal()[/code], щоб " +"використовувати цю змінну." #: 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 "" +"Ми могли б додати [code]5[/code] до [code]max_health[/code] кожного разу, " +"коли робот підвищує рівень." #: course/lesson-14-multiplying/lesson.tres:112 msgid "" @@ -66,6 +92,10 @@ msgid "" "\n" "If we graphed [code]max_health[/code], it'd look something like this." msgstr "" +"Це збільшуватиме [code]max_health[/code] щоразу однакову кількість.\n" +"\n" +"Якби ми побудували графік [code]max_health[/code], це виглядало б приблизно " +"так." #: course/lesson-14-multiplying/lesson.tres:134 msgid "" @@ -76,6 +106,12 @@ msgid "" "\n" "We want a graph like this." msgstr "" +"Це зростання є [b]лінійним[/b].\n" +"\n" +"У нашому випадку ми хочемо відчувати все більше і більше потужності, коли " +"робот підвищується.\n" +"\n" +"Ми хочемо отримати такий графік." #: course/lesson-14-multiplying/lesson.tres:158 msgid "" @@ -89,10 +125,20 @@ msgid "" "\n" "To multiply values together, we use [code]*[/code]." msgstr "" +"Це зростання є [b]експоненційним[/b]. \n" +"\n" +"З кожним рівнем додається більше [code]max_health[/code], ніж на " +"попередньому рівні. \n" +"\n" +"Щоб отримати експоненціальне зростання, ми множимо [code]max_health[/code] " +"на суму, більшу за [code]1[/code] кожного разу, коли робот підвищує рівень. " +"\n" +"\n" +"Щоб помножити значення разом, ми використовуємо [code]*[/code]." #: course/lesson-14-multiplying/lesson.tres:172 msgid "What is the value of damage?" -msgstr "" +msgstr "Яка вартість збитку?" #: course/lesson-14-multiplying/lesson.tres:173 msgid "" @@ -104,35 +150,46 @@ msgid "" "\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 "" +"Ми множимо [code]потужність[/code] на [code]рівень[/code] за допомогою [code]" +"*[/code], щоб отримати результат [code]15[/code]." #: course/lesson-14-multiplying/lesson.tres:182 #: course/lesson-14-multiplying/lesson.tres:183 msgid "15" -msgstr "" +msgstr "15" #: course/lesson-14-multiplying/lesson.tres:182 msgid "9" -msgstr "" +msgstr "9" #: course/lesson-14-multiplying/lesson.tres:182 msgid "10" -msgstr "" +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] так само, як [code]-=[/code] і " +"[code]+=[/code]." #: course/lesson-14-multiplying/lesson.tres:200 msgid "What is the value of damage now?" -msgstr "" +msgstr "Яка зараз вартість збитку?" #: course/lesson-14-multiplying/lesson.tres:201 msgid "" @@ -145,6 +202,14 @@ msgid "" "\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 "" @@ -153,6 +218,10 @@ msgid "" "Then, [code]damage *= 2[/code] multiplies it by [code]2[/code] to get " "[code]30[/code]." msgstr "" +"Значення [code]шкоди[/code] починається як [code]15[/code].\n" +"\n" +"Потім [code]damage *= 2[/code] множить його на [code]2[/code], щоб отримати " +"[code]30[/code]." #: course/lesson-14-multiplying/lesson.tres:213 #: course/lesson-14-multiplying/lesson.tres:214 @@ -161,7 +230,7 @@ msgstr "" #: course/lesson-14-multiplying/lesson.tres:213 msgid "13" -msgstr "" +msgstr "13" #: course/lesson-14-multiplying/lesson.tres:213 msgid "25" @@ -172,6 +241,8 @@ msgid "" "Let's level up our robot and add exponential growth to " "[code]max_health[/code]." msgstr "" +"Давайте підвищимо рівень нашого робота та додамо експоненціальний ріст до " +"[code]max_health[/code]." #: course/lesson-14-multiplying/lesson.tres:243 msgid "" @@ -179,10 +250,13 @@ msgid "" " add a special ability to our robot to make it extra tough at high " "levels." msgstr "" +"Під час тренувань ви збільшите [code]max_health [/code] робота та додасте " +"йому спеціальну здатність, щоб зробити його ще більш міцним на високих " +"рівнях." #: course/lesson-14-multiplying/lesson.tres:251 msgid "Increasing maximum health exponentially" -msgstr "" +msgstr "Збільшення максимального здоров'я в геометричній прогресії" #: course/lesson-14-multiplying/lesson.tres:252 msgid "" @@ -193,16 +267,24 @@ msgid "" "- Increases [code]level[/code] by one.\n" "- Increases [code]max_health[/code] by 10%." msgstr "" +"Давайте зробимо робота сильнішим, коли він підвищиться. \n" +"\n" +"Додайте до функції [code]level_up()[/code], щоб вона виконувала такі дії: \n" +"\n" +"- Підвищує [code]рівень[/code] на одиницю. \n" +"- Збільшує [code]max_health[/code] на 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 "" +"Ми хочемо, щоб наш робот ставав сильнішим у міру підвищення рівня. Давайте " +"збільшимо його здоров'я в геометричній прогресії!" #: course/lesson-14-multiplying/lesson.tres:275 msgid "Reducing damage at higher levels" -msgstr "" +msgstr "Зменшення шкоди на вищих рівнях" #: course/lesson-14-multiplying/lesson.tres:276 msgid "" @@ -217,13 +299,25 @@ msgid "" "The robot is level 3. An enemy is going to attack for 10 damage. This " "damage should reduce to 5." msgstr "" +"Коли [code]рівень [/code] нашого робота становить [code]3[/code] або більше, " +"ми хочемо, щоб він отримував набагато менше шкоди. \n" +"\n" +"Додайте до функції [code]take_damage()[/code], щоб відбулося наступне: \n" +"\n" +"- [code]якщо [/code] I [code]рівень [/code] робота перевищує [code]2[/code], " +"зменшити [code]кількість [/code] шкоди на 50% \n" +"\n" +"Робот має 3 рівень. Ворог збирається атакувати, завдаючи 10 ушкоджень. Ця " +"шкода має зменшитися до 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 "" +"На вищих рівнях ми хочемо, щоб наш робот був надміцним і отримував ще менше " +"пошкоджень!" #: course/lesson-14-multiplying/lesson.tres:303 msgid "Multiplying" -msgstr "" +msgstr "множення" diff --git a/uk/lesson-16-2d-vectors.po b/uk/lesson-16-2d-vectors.po index 3603bbb8..9cd9773f 100644 --- a/uk/lesson-16-2d-vectors.po +++ b/uk/lesson-16-2d-vectors.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-21 23:09+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-16-2d-vectors/lesson.tres:14 @@ -24,6 +28,9 @@ msgid "" "\n" "As you may recall, we do this by using the following code." msgstr "" +"Припустімо, ми хочемо збільшити розмір робота, коли він підвищиться.\n" +"\n" +"Як ви пам'ятаєте, ми робимо це за допомогою наступного коду." #: course/lesson-16-2d-vectors/lesson.tres:36 msgid "" @@ -34,10 +41,15 @@ msgid "" "stands for two-dimensional vector. A [code]Vector2[/code] represents 2D " "coordinates." msgstr "" +"Як ми говорили в уроці 7, змінна [code]scale[/code] має дві підзмінні: [code]" +"x[/code] і [code]y[/code]. \n" +"\n" +"Це тому, що [code]scale[/code] є [code]Vector2[/code], що означає " +"двовимірний вектор. [code]Вектор2[/code] представляє двовимірні координати." #: course/lesson-16-2d-vectors/lesson.tres:46 msgid "What are vectors?" -msgstr "" +msgstr "Що таке вектори?" #: course/lesson-16-2d-vectors/lesson.tres:48 msgid "" @@ -52,12 +64,22 @@ msgid "" "Unlike plain numbers, they store [i]two[/i] decimal numbers: one for the " "X coordinate and one for the Y coordinate." msgstr "" +"Вектор у фізиці — це величина з величиною та напрямком. Наприклад, сила, " +"прикладена до якогось об’єкта, (швидкість і напрямок) персонажа тощо. \n" +"\n" +"Ми часто представляємо цю величину стрілкою. \n" +"\n" +"У Godot двовимірні вектори є загальним типом значень під назвою [code]Вектор" +"2[/code], \n" +"\n" +"На відміну від простих чисел, вони зберігають [i]два[/i] десяткових числа: " +"одне для координати X і одне для координати 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 "" +msgstr "Поки що в курсі ви зустріли дві змінні, які є векторами. які вони?" #: course/lesson-16-2d-vectors/lesson.tres:75 msgid "" @@ -65,28 +87,31 @@ msgid "" " [code]y[/code] sub-variables, so Godot uses a [code]Vector2[/code] to " "store their values." msgstr "" +"[code]scale[/code] і [code]position[/code] мають підзмінні [code]x[/code] і " +"[code]y[/code], тому Годо використовує [code]Vector2[/code] для збереження " +"їхніх значень." #: course/lesson-16-2d-vectors/lesson.tres:76 #: course/lesson-16-2d-vectors/lesson.tres:77 msgid "scale" -msgstr "" +msgstr "масштаб" #: course/lesson-16-2d-vectors/lesson.tres:76 #: course/lesson-16-2d-vectors/lesson.tres:77 msgid "position" -msgstr "" +msgstr "положення" #: course/lesson-16-2d-vectors/lesson.tres:76 msgid "health" -msgstr "" +msgstr "здоров'я" #: course/lesson-16-2d-vectors/lesson.tres:76 msgid "speed" -msgstr "" +msgstr "швидкість" #: course/lesson-16-2d-vectors/lesson.tres:84 msgid "Vectors are great for games" -msgstr "" +msgstr "Вектори чудово підходять для ігор" #: course/lesson-16-2d-vectors/lesson.tres:86 msgid "" @@ -104,6 +129,20 @@ msgid "" "but this turtle gives you a glimpse of what 2D vectors can do for you and" " your game projects." msgstr "" +"Вектори [i]необхідні[/i] у відеоіграх. \n" +"\n" +"Вони дозволяють представити швидкість і напрямок руху персонажа, обчислити " +"відстань до цілі тощо за допомогою невеликого коду. \n" +"\n" +"Візьміть цей ШІ черепахи нижче. Ви, напевно, бачили ігри, де вороги " +"рухаються таким чином. \n" +"\n" +"Це робиться лише за допомогою семи рядків коду чистого векторного " +"обчислення. \n" +"\n" +"Наразі код надто складний, тому ми позбавимо вас деталей, але ця черепаха " +"дає вам уявлення про те, що 2D-вектори можуть зробити для вас і ваших " +"ігрових проектів." #: course/lesson-16-2d-vectors/lesson.tres:114 msgid "" @@ -111,6 +150,9 @@ msgid "" "[code]Vector2[/code]. The following code has the same effect as the " "previous example." msgstr "" +"Ми знову масштабуємо робота, цього разу додаючи його безпосередньо за " +"допомогою [code]Vector2[/code]. Наступний код має той самий ефект, що й " +"попередній приклад." #: course/lesson-16-2d-vectors/lesson.tres:134 msgid "" @@ -125,10 +167,19 @@ msgid "" "[code]0.2[/code] and its [code]y[/code] set to [code]0.2[/code], " "respectively." msgstr "" +"Зверніть увагу, як ми використовуємо дужки та два аргументи в дужках, як і " +"інші виклики функцій. \n" +"\n" +"Ми називаємо це [i]викликом функції конструктора[/i]. Ви можете думати про " +"це як про особливий вид функції, яка створює певний тип вартості. \n" +"\n" +"Код [code]Vector2(0.2, 0.2)[/code] створює нове значення [code]Vector2[/code]" +" із значенням [code]x[/code] [code]0.2[/code] і його [code]y[/code] " +"встановлено на [code]0.2[/code] відповідно." #: course/lesson-16-2d-vectors/lesson.tres:146 msgid "Using vectors to change the position" -msgstr "" +msgstr "Використання векторів для зміни положення" #: course/lesson-16-2d-vectors/lesson.tres:148 msgid "" @@ -136,10 +187,13 @@ msgid "" "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], оскільки " +"це вектор. Якби ми хотіли перемістити нашого робота в нове відносне " +"положення, ми б додали [code]Вектор2[/code] до його [code]положення[/code]." #: course/lesson-16-2d-vectors/lesson.tres:166 msgid "How would you move the robot 50 pixels to the left?" -msgstr "" +msgstr "Як би ви перемістили робота на 50 пікселів ліворуч?" #: course/lesson-16-2d-vectors/lesson.tres:169 msgid "" @@ -150,25 +204,33 @@ msgid "" "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]50[/code] до " +"підзмінної [code]x[/code], а [code]0[/code] до [code]у[/code]. \n" +"\n" +"[code]position.x -= Vector2(50, 0)[/code] намагається відняти двовимірний " +"вектор від підзмінної [code]x[/code], яка є десятковим числом. Типи значень " +"несумісні. Якщо ви спробуєте це зробити, ви отримаєте помилку." #: course/lesson-16-2d-vectors/lesson.tres:172 #: course/lesson-16-2d-vectors/lesson.tres:173 msgid "position -= Vector2(50, 0)" -msgstr "" +msgstr "position -= Vector2(50, 0)" #: course/lesson-16-2d-vectors/lesson.tres:172 msgid "position.x -= Vector2(50, 0)" -msgstr "" +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 "" +"У наступних кількох вправах ви будете використовувати вектори для зміни " +"значень масштабу та положення." #: course/lesson-16-2d-vectors/lesson.tres:190 msgid "Increasing scale using vectors" -msgstr "" +msgstr "Збільшення масштабу за допомогою векторів" #: course/lesson-16-2d-vectors/lesson.tres:191 msgid "" @@ -176,16 +238,22 @@ msgid "" "the [code]scale[/code] of the robot by [code]Vector2(0.2, 0.2)[/code] " "every time it levels up." msgstr "" +"Додайте рядок коду до функції [code]level_up()[/code], щоб збільшити [code]" +"масштаб[/code] робота на [code]Vector2(0.2, 0.2)[/code] кожного разу, коли " +"він вирівнюється вгору." #: 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 "" +"Щоб візуально показати, що наш робот став сильнішим, давайте збільшуватимемо " +"його розмір щоразу, коли він піднімається на рівень. Ніщо не могло піти не " +"так!" #: course/lesson-16-2d-vectors/lesson.tres:207 msgid "Resetting size and position using vectors" -msgstr "" +msgstr "Скидання розміру та положення за допомогою векторів" #: course/lesson-16-2d-vectors/lesson.tres:208 msgid "" @@ -206,13 +274,30 @@ msgid "" "As in the previous practice, make sure to use vectors when dealing with " "scale and position." msgstr "" +"Рівень робота значно зріс, а також його розмір! \n" +"\n" +"Давайте виправимо це, скинувши значення [code]масштабу[/code] і [code]" +"положення[/code] робота. \n" +"\n" +"Створіть функцію під назвою [code]reset_robot()[/code], яка встановлює [code]" +"масштаб[/code] і [code]положення[/code] робота. \n" +"\n" +"Підзмінні [code]x[/code] і [code]y[/code] [code]шкали[/code] робота мають " +"бути [code]1.0[/code]. \n" +"\n" +"[code]Позиція[/code] робота має бути [code]Вектор2(0, 0)[/code]. \n" +"\n" +"Як і в попередній практиці, обов’язково використовуйте вектори, коли маєте " +"справу з масштабом і положенням." #: 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 "" +"Можливо, збільшувати масштаб кожного рівня було поганою ідеєю! Давайте " +"відновимо робота до потрібного розміру." #: course/lesson-16-2d-vectors/lesson.tres:231 msgid "2D Vectors" -msgstr "" +msgstr "2D вектори" diff --git a/uk/lesson-17-while-loops.po b/uk/lesson-17-while-loops.po index c4be7fa7..1868db10 100644 --- a/uk/lesson-17-while-loops.po +++ b/uk/lesson-17-while-loops.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-22 22:27+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-17-while-loops/lesson.tres:14 @@ -35,10 +39,26 @@ msgid "" "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 "" +"Ви бачили, що функції можна використовувати для [i]повторного використання" +"[/i] коду. В цьому уроці ви дізнаєтесь про [b]цикли[/b]. Цикли дають змогу " +"[i]повторювати[/i] виконання коду.\n" +"\n" +"Щоб проілюструвати роботу циклів, розглянемо ігрову дошку, поділену сіткою.\n" +"\n" +"При зміненні змінної [code]Vector2[/code] з назвою [code]cell[/code], наш " +"робот переміщується на сусідні клітки. Змінна представляє поточну комірку, в " +"якій знаходиться робот.\n" +"\n" +"Коли ми збільшуємо [code]cell.x[/code], робот переміщується вправо.\n" +"\n" +"Зверніть увагу, що ми затримуємо рух робота в програмі, щоб допомогти вам " +"побачити, як він рухається. Наведений нижче код зазвичай переміщає робота " +"миттєво." #: course/lesson-17-while-loops/lesson.tres:42 msgid "We can move diagonally by adding a [code]Vector2[/code] directly." msgstr "" +"Ми можемо рухатися по діагоналі, додаючи безпосередньо [code]Вектор2[/code]." #: course/lesson-17-while-loops/lesson.tres:62 msgid "" @@ -53,10 +73,20 @@ msgid "" "\n" "For code that repeats, we can use [i]loops[/i]." msgstr "" +"Наведений вище код працює для попередньо визначеної дошки з розміром [code]" +"Vector2(3, 3)[/code], але функція [code]move_to_end()[/code] не працюватиме, " +"якщо розмір дошка була іншою. \n" +"\n" +"Робот або зупинився до кінця, або зайшов занадто далеко. \n" +"\n" +"Щоб реалізувати загальне рішення для всіх розмірів дошки, ми можемо " +"повторювати рух робота, поки він не дійде до кінця. \n" +"\n" +"Для коду, який повторюється, ми можемо використовувати [i]цикли[/i]." #: course/lesson-17-while-loops/lesson.tres:76 msgid "Using while loops to repeat code" -msgstr "" +msgstr "Використання циклів while для повторення коду" #: course/lesson-17-while-loops/lesson.tres:78 msgid "" @@ -66,6 +96,11 @@ msgid "" "\n" "Here's how we use a [code]while[/code] loop." msgstr "" +"Ви можете використовувати цикл [code]while[/code], щоб змусити комп’ютер " +"повторювати блок коду, доки ви не виконаєте певну умову або не вирішите " +"вийти з циклу.\n" +"\n" +"Ось як ми використовуємо цикл [code]while[/code]." #: course/lesson-17-while-loops/lesson.tres:100 msgid "" @@ -81,6 +116,17 @@ msgid "" "\n" "You can see that the following code is executed four times in the console." msgstr "" +"Ми використовуємо змінну [code]number[/code], щоб відстежувати, скільки " +"циклів завершує цикл [code]while[/code]. \n" +"\n" +"Щоразу, коли ми проходимо через цикл [code]while[/code], ми додаємо [code]1[/" +"code] до [code]числа[/code]. \n" +"\n" +"Цикл [code]while[/code] продовжує працювати до тих пір, поки умова " +"виконується. У цьому випадку він продовжує працювати, поки [code]число[/code]" +" менше ніж [code]4[/code]. \n" +"\n" +"Ви бачите, що наступний код виконується чотири рази в консолі." #: course/lesson-17-while-loops/lesson.tres:126 msgid "" @@ -96,10 +142,20 @@ msgid "" "coordinates going from [code]0[/code] to [code]2[/code] on both the X and" " Y axes." msgstr "" +"Давайте застосуємо це до нашої функції [code]move_to_end()[/code]. \n" +"\n" +"Цього разу ми порівнюємо кількість петель з шириною дошки. Проходимо через " +"петлю, поки не досягнемо ширини дошки. \n" +"\n" +"Зауважте, що ми переміщуємо робота, поки його позиція не стане на одиницю " +"шириною дошки, тому що ми рахуємо плитки від [code]0[/code]. \n" +"\n" +"Дошка з клітинок [code]3[/code] на [code]3[/code] матиме координати клітинок " +"від [code]0[/code] до [code]2[/code] як на X, так і на Y сокири." #: course/lesson-17-while-loops/lesson.tres:160 msgid "While loops can cause issues" -msgstr "" +msgstr "Цикли while можуть викликати проблеми" #: course/lesson-17-while-loops/lesson.tres:162 msgid "" @@ -108,10 +164,14 @@ msgid "" "\n" "Take a look at this code example." msgstr "" +"Якщо ви не будете обережні, ваш [code]while[/code] цикл може працювати " +"безкінечно. У цьому випадку програма зависне.\n" +"\n" +"Подивіться на цей приклад коду." #: course/lesson-17-while-loops/lesson.tres:182 msgid "What would happen if the computer tried to run the code above?" -msgstr "" +msgstr "Що станеться, якщо комп’ютер спробує запустити наведений вище код?" #: course/lesson-17-while-loops/lesson.tres:185 msgid "" @@ -127,23 +187,35 @@ msgid "" "When programs stop responding on your computer, it's often due to an " "infinite loop!" msgstr "" +"Оскільки ми не збільшуємо [code]число[/code] в циклі [code]while[/code], " +"воно завжди залишається на [code]0[/code]. \n" +"\n" +"У результаті число завжди менше [code]10[/code], тому ми ніколи не виходимо " +"з циклу. \n" +"\n" +"Оскільки немає можливості вийти з циклу [code]while[/code], комп’ютер " +"намагатиметься нескінченно малювати квадрати, що призведе до зависання " +"програми. \n" +"\n" +"Коли програми перестають відповідати на вашому комп’ютері, це часто " +"відбувається через нескінченний цикл!" #: 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 "" +msgstr "Він нескінченно малював би квадрати, доки програма не завершиться" #: course/lesson-17-while-loops/lesson.tres:192 msgid "It would draw 10 squares" -msgstr "" +msgstr "Це намалювало б 10 квадратів" #: course/lesson-17-while-loops/lesson.tres:192 msgid "It would draw 20 squares" -msgstr "" +msgstr "Це намалювало б 20 квадратів" #: course/lesson-17-while-loops/lesson.tres:200 msgid "When to use while loops" -msgstr "" +msgstr "Коли використовувати цикли while" #: course/lesson-17-while-loops/lesson.tres:202 msgid "" @@ -174,6 +246,31 @@ msgid "" "- Various intermediate to advanced-level algorithms, like finding paths " "around a map for AI." msgstr "" +"Спочатку вам не знадобляться часті цикли [code]while[/code]. Навіть код, " +"який ми тут показуємо, має ефективніші альтернативи. \n" +"\n" +"Крім того, існує безпечніший вид циклу, цикли [code]for[/code], які ми " +"розглянемо в наступному уроці. \n" +"\n" +"Тим не менш, цикли [code]while[/code] мають важливе використання від " +"проміжного до просунутого рівнів, тому вам принаймні потрібно знати, що вони " +"існують і як ними користуватися. \n" +"\n" +"Ми використовуємо цикли [code]while[/code] кожного разу, коли нам потрібно " +"повторити невідому кількість разів. \n" +"\n" +"Наприклад, ігри працюють у циклі, який зазвичай генерує шістдесят зображень " +"на секунду, доки користувач не закриє гру. Це можливо завдяки циклам [code]" +"while[/code]. \n" +"\n" +"Існують інші корисні способи використання циклів [code]while[/code]: \n" +"\n" +"- Читання та обробка файлу, як текстового документа, рядок за рядком. \n" +"- Обробка постійного потоку даних, як хтось записує аудіо за допомогою " +"мікрофона. \n" +"- Читання коду та перетворення його на інструкції, зрозумілі комп’ютеру. \n" +"- Різні алгоритми середнього та просунутого рівнів, як-от пошук шляхів " +"навколо карти для ШІ." #: course/lesson-17-while-loops/lesson.tres:227 msgid "" @@ -183,10 +280,14 @@ msgid "" "Then, we'll move on to the safer [code]for[/code] loops in the following " "lesson." msgstr "" +"Давайте попрактикуємося в деяких циклах [code]while[/code], оскільки їх " +"корисно знати. Це також чудова можливість потренуватися в 2D-векторах. \n" +"\n" +"Потім у наступному уроці ми перейдемо до безпечніших циклів [code]for[/code]." #: course/lesson-17-while-loops/lesson.tres:237 msgid "Moving to the end of a board" -msgstr "" +msgstr "Перехід до кінця дошки" #: course/lesson-17-while-loops/lesson.tres:238 msgid "" @@ -203,13 +304,26 @@ msgid "" "Make sure to use a [code]while[/code] loop so the function works for any " "board size." msgstr "" +"Наш робот вирішив стати на вершину дошки. \n" +"\n" +"Виконайте функцію [code]move_to_bottom()[/code], щоб робот перемістився вниз " +"дошки. \n" +"\n" +"Розмір дошки визначається [code]Vector2[/code] [code]board_size[/code]. \n" +"\n" +"Поточна комірка робота — [code]Вектор2(2, 0)[/code]. \n" +"\n" +"Обов’язково використовуйте цикл [code]while[/code], щоб функція працювала " +"для плати будь-якого розміру." #: 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 "" +"Використовуйте цикл while, щоб наш робот рухався від верхньої частини дошки " +"до нижньої." #: course/lesson-17-while-loops/lesson.tres:260 msgid "Introduction to While Loops" -msgstr "" +msgstr "Введення в цикли While" diff --git a/uk/lesson-18-for-loops.po b/uk/lesson-18-for-loops.po index 1be0e901..5438cba6 100644 --- a/uk/lesson-18-for-loops.po +++ b/uk/lesson-18-for-loops.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-22 22:27+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-18-for-loops/lesson.tres:14 @@ -27,6 +31,14 @@ msgid "" "\n" "The loop below never ends because we never increment [code]number[/code]." msgstr "" +"У минулому уроці ми розглянули цикли [code]while[/code]. Ми виявили, що вони " +"корисні, якщо ми не знаємо, скільки разів слід повторювати код. \n" +"\n" +"Однак вони можуть призвести до нескінченних циклів, якщо ми не будемо " +"обережні. \n" +"\n" +"Наведений нижче цикл ніколи не закінчується, тому що ми ніколи не збільшуємо " +"[code]число[/code]." #: course/lesson-18-for-loops/lesson.tres:38 msgid "" @@ -44,14 +56,27 @@ msgid "" "\n" "The loop below will change the [code]cell[/code] three times." msgstr "" +"Існує безпечніший і часто простіший вид циклу: цикл [code]for[/code]. \n" +"\n" +"Ми розглянемо це на цьому уроці. \n" +"\n" +"На відміну від циклів [code]while[/code], цикли [code]for[/code] не працюють " +"нескінченно, тому набагато менша ймовірність того, що у вашій грі виникнуть " +"помилки. [b]Ми рекомендуємо віддавати перевагу циклам for замість циклів " +"while через це[/b]. \n" +"\n" +"Давайте змінимо наведений вище код, щоб замість нього використовувати цикл " +"[code]for[/code]. \n" +"\n" +"Цикл нижче тричі змінить [code]комірку[/code]." #: course/lesson-18-for-loops/lesson.tres:66 msgid "Let's explain what's going on here." -msgstr "" +msgstr "Давайте пояснимо, що тут відбувається." #: course/lesson-18-for-loops/lesson.tres:74 msgid "The range() function" -msgstr "" +msgstr "Функція range()" #: course/lesson-18-for-loops/lesson.tres:76 msgid "" @@ -63,14 +88,19 @@ msgid "" " 2][/code], and [code]range(5)[/code] outputs [code][0, 1, 2, 3, " "4][/code]." msgstr "" +"Godot має допоміжну функцію [code]range()[/code]. Виклик [code]range(n)" +"[/code] створює список чисел від [code]0[/code] до [code]n - 1[/code]. \n" +"\n" +"Отже, виклик [code]range(3)[/code] виводить список чисел [code][0, 1, 2]" +"[/code], а [code]range(5)[/code] виводить [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 "" +msgstr "Який список чисел створить діапазон (6)?" #: course/lesson-18-for-loops/lesson.tres:87 msgid "What would [code]print(range(6))[/code] print to the console?" -msgstr "" +msgstr "Що [code]print(range(6))[/code] буде друкувати на консолі?" #: course/lesson-18-for-loops/lesson.tres:89 msgid "" @@ -81,23 +111,29 @@ msgid "" "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] створює список чисел від [code]0[/code] до " +"[code]n - 1[/code]. Список результатів буде починатися з [code]0[/code] і " +"закінчуватися [code]5[/code]. \n" +"\n" +"Отже, виклик [code]range(6)[/code] виведе список із шести чисел, які є [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 "" +msgstr "[0, 1, 2, 3, 4, 5]" #: course/lesson-18-for-loops/lesson.tres:93 msgid "[1, 2, 3, 4, 5, 6]" -msgstr "" +msgstr "[1, 2, 3, 4, 5, 6]" #: course/lesson-18-for-loops/lesson.tres:93 msgid "[0, 1, 2, 3, 4, 5, 6]" -msgstr "" +msgstr "[0, 1, 2, 3, 4, 5, 6]" #: course/lesson-18-for-loops/lesson.tres:101 msgid "How for loops work" -msgstr "" +msgstr "Як працюють цикли for" #: course/lesson-18-for-loops/lesson.tres:103 msgid "" @@ -105,6 +141,9 @@ msgid "" "stores it in a temporary variable, and executes the code in the loop once" " per value." msgstr "" +"У циклі [code]for[/code] комп’ютер приймає кожне значення зі списку, " +"зберігає його в тимчасовій змінній і виконує код у циклі один раз для " +"кожного значення." #: course/lesson-18-for-loops/lesson.tres:123 msgid "" @@ -119,6 +158,16 @@ msgid "" "\n" "This code behaves the same as the previous example:" msgstr "" +"У наведеному вище прикладі для кожного елемента в списку [code][0, 1, 2]" +"[/code] Годо встановлює [code]номер[/code] для елемента, а потім виконує код " +"у [code]для [/code] цикл. \n" +"\n" +"Ми докладніше пояснимо масиви в наступному уроці, але зауважте, що [code]" +"число[/code] — це лише тимчасова змінна. Ви створюєте його під час " +"визначення циклу, а цикл піклується про зміну свого значення. Крім того, ви " +"можете назвати цю змінну як завгодно. \n" +"\n" +"Цей код працює так само, як і попередній приклад:" #: course/lesson-18-for-loops/lesson.tres:147 msgid "" @@ -133,28 +182,43 @@ msgid "" "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 "" +"В обох прикладах ми друкуємо значення створеної нами тимчасової змінної: " +"[code]number[/code] у першому прикладі та [code]element[/code] у другому. \n" +"\n" +"Під час проходження циклу Годо присвоює кожне значення масиву цій змінній. " +"Спочатку він встановлює змінну на [code]0[/code], потім на [code]1[/code] і, " +"нарешті, на [code]2[/code]. \n" +"\n" +"Ми можемо розбити інструкції циклу. Ви можете побачити, як цикл є ярликом " +"для коду, який інакше стає дуже довгим." #: 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 "" +"Ми можемо помістити будь-який код, який нам подобається, у блок коду циклу, " +"включно з іншими викликами функцій, як-от [code]draw_rectangle()[/code]." #: course/lesson-18-for-loops/lesson.tres:179 msgid "Using a for loop instead of a while loop" -msgstr "" +msgstr "Використання циклу for замість циклу 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 "" +"Ось наша стара функція [code]move_to_end()[/code], яка використовувала цикл " +"[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 "" +"Якщо замість цього ми використаємо цикл [code]for[/code], код стане трохи " +"простішим." #: course/lesson-18-for-loops/lesson.tres:221 msgid "" @@ -164,16 +228,23 @@ msgid "" "\n" "The function still works the same. You can execute it below." msgstr "" +"Замість того, щоб постійно перевіряти, чи досяг робот кінця дошки, за " +"допомогою циклу [code]for[/code] ми заздалегідь беремо ширину дошки, а потім " +"переміщаємо робота задану кількість разів. \n" +"\n" +"Функція все ще працює так само. Ви можете виконати його нижче." #: 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 "" +"У практичних заняттях ми будемо використовувати цикли [code]for[/code] " +"різними способами, щоб ви звикли їх використовувати." #: course/lesson-18-for-loops/lesson.tres:251 msgid "Using a for loop to move to the end of the board" -msgstr "" +msgstr "Використання циклу for для переходу до кінця дошки" #: course/lesson-18-for-loops/lesson.tres:252 msgid "" @@ -188,16 +259,27 @@ msgid "" "\n" "The robot's starting cell is [code]Vector2(2, 0)[/code]." msgstr "" +"Знову робот вирішив стати на вершину дошки. \n" +"\n" +"Цього разу скористайтеся циклом [code]for[/code] у функції [code]" +"move_to_bottom()[/code], щоб перемістити його вниз дошки. \n" +"\n" +"Розмір дошки визначається змінною [code]Vector2[/code] I [code]board_size[/" +"code]. \n" +"\n" +"Початкова клітинка робота — [code]Вектор2(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 "" +"Використовуйте цикл for, щоб наш робот рухався від верхньої частини дошки до " +"нижньої." #: course/lesson-18-for-loops/lesson.tres:273 msgid "Improving code with a for loop" -msgstr "" +msgstr "Покращення коду за допомогою циклу for" #: course/lesson-18-for-loops/lesson.tres:274 msgid "" @@ -212,13 +294,26 @@ msgid "" "The turtle should draw three squares in a horizontal line. The squares " "should be 100 pixels apart." msgstr "" +"Використовуйте цикл [code]for[/code], щоб видалити повторюваний код у " +"функції [code]run()[/code]. \n" +"\n" +"У цій практиці ми повертаємось до черепахи та малювання прямокутників. \n" +"\n" +"Завдяки нашим новим знанням про цикли [code]for[/code] ми можемо стиснути " +"цей код, щоб займати менше місця та полегшити його зміну. \n" +"\n" +"Черепаха повинна намалювати три квадрати горизонтальною лінією. Відстань між " +"квадратами має бути 100 пікселів." #: 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 "" +"Раніше нам доводилося копіювати та вставляти код, щоб намалювати кілька " +"прямокутників. Давайте переглянемо попередній код і вдосконалимо його за " +"допомогою циклу for." #: course/lesson-18-for-loops/lesson.tres:301 msgid "Introduction to For Loops" -msgstr "" +msgstr "Вступ до циклів For" diff --git a/uk/lesson-19-creating-arrays.po b/uk/lesson-19-creating-arrays.po index e7651526..de3d589f 100644 --- a/uk/lesson-19-creating-arrays.po +++ b/uk/lesson-19-creating-arrays.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-22 22:27+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-19-creating-arrays/lesson.tres:13 @@ -24,6 +28,9 @@ msgid "" " list of numbers. For example, calling [code]range(3)[/code] produces the" " list of numbers [code][0, 1, 2][/code]." msgstr "" +"Функція [code]range()[/code], яку ми бачили в попередньому уроці, виводить " +"список чисел. Наприклад, виклик [code]range(3)[/code] створює список чисел " +"[code][0, 1, 2][/code]." #: course/lesson-19-creating-arrays/lesson.tres:33 msgid "" @@ -35,6 +42,13 @@ msgid "" "loop instead of the [code]range()[/code] function. You can run the next " "function step-by-step to see how it works." msgstr "" +"Список значень, чисел чи інших, має точну назву в коді: ми називаємо його [i]" +"масивом[/i]. Отже, можна сказати, що виклик функції [code]range()[/code] " +"створює [i]масив[/i] чисел. \n" +"\n" +"Ми могли б безпосередньо записати та використати цей масив у нашому циклі " +"[code]for[/code] замість функції [code]range()[/code]. Ви можете виконати " +"наступну функцію крок за кроком, щоб побачити, як вона працює." #: course/lesson-19-creating-arrays/lesson.tres:55 msgid "" @@ -46,20 +60,28 @@ msgid "" "\n" "But we could name it anything we'd like!" msgstr "" +"Як бачите, код все ще працює так само. Зауважте, що коли ми створюємо цикл " +"[code]for[/code], ми також створюємо локальну змінну, якій цикл призначає " +"одне значення за кожну ітерацію. Вище ми назвали його [code]число[/code], " +"оскільки масив, який ми перебираємо, містить три числа (0, 1 і 2). \n" +"\n" +"Але ми можемо назвати його як завгодно!" #: 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 "" +"Якщо ми «розгорнемо» цикл [code]for[/code] вище, ми отримаємо наступний код " +"із точно такою самою поведінкою:" #: course/lesson-19-creating-arrays/lesson.tres:95 msgid "The syntax of arrays" -msgstr "" +msgstr "Синтаксис масивів" #: course/lesson-19-creating-arrays/lesson.tres:97 msgid "We write arrays this way in GDScript." -msgstr "" +msgstr "Таким чином ми записуємо масиви в GDScript." #: course/lesson-19-creating-arrays/lesson.tres:117 msgid "" @@ -70,6 +92,12 @@ msgid "" "Here are a couple of valid arrays. Notice how you can mix values, and how" " they don't need to follow one another." msgstr "" +"Ви починаєте з відкриття квадратної дужки. Потім ви записуєте значення, " +"розділені комами, які утворюють масив. Нарешті, для завершення масиву " +"потрібна квадратна дужка, що закривається. \n" +"\n" +"Ось кілька дійсних масивів. Зверніть увагу, як ви можете змішувати значення, " +"і як вони не повинні слідувати одне за одним." #: course/lesson-19-creating-arrays/lesson.tres:139 msgid "" @@ -80,14 +108,21 @@ msgid "" "That'll come in handy in the next lesson, where we'll use those variables" " in loops." msgstr "" +"Оскільки самі масиви є типом значень, як і числа чи [code]Вектор2[/code], ми " +"можемо призначити масиви змінним, щоб отримати до них повторний доступ " +"пізніше. \n" +"\n" +"Це стане в нагоді в наступному уроці, де ми будемо використовувати ці змінні " +"в циклах." #: course/lesson-19-creating-arrays/lesson.tres:161 msgid "But first, let's see [i]when[/i] you'd use an array." msgstr "" +"Але спочатку давайте подивимося, [i]коли[/i] ви будете використовувати масив." #: course/lesson-19-creating-arrays/lesson.tres:169 msgid "When you use arrays" -msgstr "" +msgstr "Коли ви використовуєте масиви" #: course/lesson-19-creating-arrays/lesson.tres:171 msgid "" @@ -105,10 +140,23 @@ msgid "" "\n" "All of those and many more rely on arrays." msgstr "" +"У комп’ютерному програмуванні ми [i]постійно[/i] використовуємо масиви. \n" +"\n" +"Точніше, ви будете використовувати їх щоразу, коли вам потрібно буде " +"зберегти [i]список речей[/i]. \n" +"\n" +"В іграх завжди потрібні списки речей: \n" +"\n" +"- Партія гравця в RPG. \n" +"- Предмети в інвентарі гравця. \n" +"- Високі результати в аркадній грі. \n" +"- Об'єкти в ігровому світі. \n" +"\n" +"Усі вони та багато інших покладаються на масиви." #: course/lesson-19-creating-arrays/lesson.tres:190 msgid "Using arrays to follow a path" -msgstr "" +msgstr "Використання масивів для проходження шляху" #: course/lesson-19-creating-arrays/lesson.tres:192 msgid "" @@ -122,6 +170,15 @@ msgid "" "suggests, those algorithms find the path between two points and allow AIs" " to traverse the game." msgstr "" +"Давайте подивимося на широке використання масивів в іграх: пошук і " +"проходження шляху. \n" +"\n" +"В іграх вам потрібні союзники або монстри, щоб знайти шлях до своєї цілі, чи " +"то гравець, чи якась визначна точка. \n" +"\n" +"Для цього ми використовуємо [i]алгоритми пошуку шляху[/i]. Як випливає з " +"назви, ці алгоритми знаходять шлях між двома точками та дозволяють ШІ " +"проходити гру." #: course/lesson-19-creating-arrays/lesson.tres:216 msgid "" @@ -133,6 +190,13 @@ msgid "" "\n" "How can we tell it where to walk to reach the robot? With an array!" msgstr "" +"Багато з цих алгоритмів використовують масиви координат [code]Vector2[/code] " +"для представлення шляху. \n" +"\n" +"Візьміть цю черепаху. Він хоче слідувати за роботом, але на його шляху є " +"каміння. \n" +"\n" +"Як ми можемо вказати йому, куди йти, щоб дістатися до робота? З масивом!" #: course/lesson-19-creating-arrays/lesson.tres:250 msgid "" @@ -141,6 +205,10 @@ msgid "" "\n" "Together, all the values in the array represent a path we can draw." msgstr "" +"Кожне значення в масиві є [code]Vector2[/code] і представляє комірку, яку " +"черепашка має пройти.\n" +"\n" +"Разом усі значення в масиві представляють шлях, який ми можемо намалювати." #: course/lesson-19-creating-arrays/lesson.tres:272 msgid "" @@ -149,10 +217,14 @@ msgid "" "\n" "For now, let's practice creating arrays." msgstr "" +"У наступних уроках ви побачите, як ми можемо використовувати масиви для " +"зберігання інвентарю гравців або розробки комбінацій атак.\n" +"\n" +"А поки потренуємося створювати масиви." #: course/lesson-19-creating-arrays/lesson.tres:282 msgid "Walking to the robot" -msgstr "" +msgstr "Йду до робота" #: course/lesson-19-creating-arrays/lesson.tres:283 msgid "" @@ -167,16 +239,30 @@ msgid "" "We recommend copying and pasting to fill the array with comma-separated " "[code]Vector2[/code] values quickly." msgstr "" +"Черепаха хоче познайомитися з роботом! Але воно не може знайти його " +"самостійно. \n" +"\n" +"Заповніть масив [code]turtle_path[/code] координатами [code]Vector2[/code], " +"які вказують, куди повинна рухатися черепаха, щоб уникнути перешкод і " +"безпечно дістатися до робота. \n" +"\n" +"Черепаха може рухатися вгору, вниз, вліво або вправо. Він не може рухатися " +"по діагоналі. \n" +"\n" +"Ми рекомендуємо скопіювати та вставити, щоб швидко заповнити масив " +"значеннями [code]Vector2[/code], розділеними комами." #: 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 "" +"Допоможіть черепахі знайти шлях до робота! Дайте йому дорогу, щоб дістатися " +"до робота." #: course/lesson-19-creating-arrays/lesson.tres:303 msgid "Selecting units" -msgstr "" +msgstr "Вибір одиниць" #: course/lesson-19-creating-arrays/lesson.tres:304 msgid "" @@ -194,11 +280,25 @@ msgid "" "Select all units on the board by passing the correct array to the " "[code]select_units()[/code] function." msgstr "" +"У цій тактичній грі гравець і комп’ютер можуть вибрати кілька одиниць " +"одночасно. Вам потрібно викликати функцію [code]select_units()[/code] і " +"передати їй масив координат [code]Vector2[/code], щоб знати, які одиниці " +"вибрати. \n" +"\n" +"Кожен [code]Вектор2[/code] у масиві представляє комірку з одиницею. \n" +"\n" +"Ви можете передавати масиви у викликах функцій як аргументи. Оскільки масив " +"є типом значення, який розпізнає комп’ютер, ви можете передати весь масив як " +"один аргумент функції. \n" +"\n" +"Виберіть усі одиниці на дошці, передавши правильний масив у функцію [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 "" +"Напишіть масив, щоб вибрати всі одиниці на дошці в цій стратегічній грі." #: course/lesson-19-creating-arrays/lesson.tres:324 msgid "Creating arrays" -msgstr "" +msgstr "Створення масивів" diff --git a/uk/lesson-20-looping-over-arrays.po b/uk/lesson-20-looping-over-arrays.po index 51ac0435..468b0559 100644 --- a/uk/lesson-20-looping-over-arrays.po +++ b/uk/lesson-20-looping-over-arrays.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-22 22:27+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-20-looping-over-arrays/lesson.tres:14 @@ -23,6 +27,8 @@ msgid "" "We used the [code]range()[/code] function in combination with " "[code]for[/code] loops." msgstr "" +"Ми використовували функцію [code]range()[/code] у поєднанні з циклами [code]" +"for[/code]." #: course/lesson-20-looping-over-arrays/lesson.tres:34 msgid "" @@ -35,6 +41,14 @@ msgid "" "Instead of using the [code]range()[/code] function, we could manually " "write the numbers and get the same result." msgstr "" +"Функція [code]range()[/code] створила масив, який можна було б пройти за " +"ключовим словом [code]for[/code]. \n" +"\n" +"Ми можемо надати циклам [code]for[/code] [i]будь-який[/i] масив, і вони так " +"само циклять їх. \n" +"\n" +"Замість використання функції [code]range()[/code] ми могли б вручну записати " +"числа й отримати той самий результат." #: course/lesson-20-looping-over-arrays/lesson.tres:58 msgid "" @@ -48,10 +62,19 @@ msgid "" "The code works regardless of the array or where you store it. Often, you " "will store arrays in variables for easy access." msgstr "" +"Для кожного елемента всередині масиву цикл [code]for[/code] витягує його, " +"зберігає в тимчасовій змінній під назвою [code]number[/code] і виконує код " +"циклу один раз. \n" +"\n" +"Усередині циклу ви можете отримати доступ до змінної [code]number[/code], " +"яка змінюється на кожній [i]ітерації[/i]. \n" +"\n" +"Код працює незалежно від масиву або місця його зберігання. Часто ви будете " +"зберігати масиви в змінних для легкого доступу." #: course/lesson-20-looping-over-arrays/lesson.tres:80 msgid "What will this code print?" -msgstr "" +msgstr "Що надрукує цей код?" #: course/lesson-20-looping-over-arrays/lesson.tres:81 msgid "" @@ -60,6 +83,10 @@ msgid "" " 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 "" @@ -76,29 +103,42 @@ msgid "" "number, the output will print [code]0[/code], then [code]1[/code], then " "[code]2[/code], each on a separate line." msgstr "" +"Порівняно з попередніми прикладами, ми зберігаємо масив у змінній [code]" +"numbers[/code]. Використання змінної [code]numbers[/code] у нашому циклі " +"[code]for[/code] дозволяє комп’ютеру отримувати доступ до масиву чисел, як і " +"раніше. \n" +"\n" +"У масиві є три числа: [code]0[/code], [code]1[/code] і [code]2[/code]. \n" +"\n" +"Цикл послідовно витягує кожне з них і призначає його тимчасовій змінній " +"[code]number[/code]. Коли цикл обробляє кожне число, на виході виводиться " +"[code]0[/code], потім [code]1[/code], потім [code]2[/code], кожен в окремому " +"рядку." #: course/lesson-20-looping-over-arrays/lesson.tres:91 #: course/lesson-20-looping-over-arrays/lesson.tres:92 msgid "0, 1, and 2" -msgstr "" +msgstr "0, 1, і 2" #: course/lesson-20-looping-over-arrays/lesson.tres:91 msgid "1, 2, and 3" -msgstr "" +msgstr "1, 2, і 3" #: course/lesson-20-looping-over-arrays/lesson.tres:91 msgid "0, 0, and 0" -msgstr "" +msgstr "0, 0, і 0" #: course/lesson-20-looping-over-arrays/lesson.tres:99 msgid "Making the turtle walk, with a loop" -msgstr "" +msgstr "Змусити черепаху ходити, петлею" #: 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 "" +"У попередньому уроці ви змусили черепаху пройти по доріжці, записавши " +"координати [code]Vector2[/code] у масиві." #: course/lesson-20-looping-over-arrays/lesson.tres:121 msgid "" @@ -107,10 +147,14 @@ msgid "" "The loop works like this: for each coordinate in the array, it moves the " "turtle once to that cell." msgstr "" +"Це цикл [code]for[/code], який змушує черепаху йти стежкою.\n" +"\n" +"Цикл працює так: для кожної координати в масиві він переміщує черепаху один " +"раз до цієї комірки." #: course/lesson-20-looping-over-arrays/lesson.tres:143 msgid "It's the same principle with unit selection." -msgstr "" +msgstr "Той же принцип і з вибором одиниць." #: course/lesson-20-looping-over-arrays/lesson.tres:163 msgid "" @@ -119,6 +163,10 @@ msgid "" "\n" "In that case, we use an array, a loop, and a condition together." msgstr "" +"Для кожної координати в масиві з назвою [code]selected_units[/code] ми " +"перевіряємо, чи є одиниця в цій клітинці. Якщо так, ми вибираємо його. \n" +"\n" +"У цьому випадку ми використовуємо масив, цикл і умову разом." #: course/lesson-20-looping-over-arrays/lesson.tres:185 msgid "" @@ -138,6 +186,21 @@ msgid "" "\n" "We'll revisit those two features again in the following lessons." msgstr "" +"Наведений вище код використовує кілька функцій, про які ви ще не вивчили: \n" +"\n" +"- В умові ключове слово [code]in[/code] дозволяє перевірити, чи існує " +"значення [i]в[/i] масиві. \n" +"- Функція [code]append()[/code] масиву додає нове значення в кінець масиву. " +"\n" +"\n" +"Зверніть увагу на використання крапки після змінної [code]selected_units[/" +"code] для виклику функції [code]append()[/code]. Це тому, що ця функція " +"існує лише в масивах. \n" +"\n" +"Якщо функції існують лише для певного типу значення, ви пишете крапку після " +"значення, щоб викликати функцію для нього. \n" +"\n" +"Ми знову розглянемо ці дві функції в наступних уроках." #: course/lesson-20-looping-over-arrays/lesson.tres:204 msgid "" @@ -152,10 +215,20 @@ msgid "" "In the following practices, you will use arrays combined with " "[code]for[/code] loops to achieve similar results." msgstr "" +"Принадність циклів полягає в тому, що вони працюють незалежно від розміру " +"ваших масивів. \n" +"\n" +"Код просто працює незалежно від того, чи є у вас одна чи десять тисяч " +"одиниць для вибору. Все це досягається лише за допомогою пари рядків коду. \n" +"\n" +"Це сила комп’ютерного програмування. \n" +"\n" +"У наступних вправах ви використовуватимете масиви в поєднанні з циклами " +"[code]for[/code] для досягнення подібних результатів." #: course/lesson-20-looping-over-arrays/lesson.tres:218 msgid "Move the robot along the path" -msgstr "" +msgstr "Перемістіть робота по доріжці" #: course/lesson-20-looping-over-arrays/lesson.tres:219 msgid "" @@ -169,16 +242,27 @@ msgid "" "The [code]move_to()[/code] function only exists on the robot, which is " "why you need to access it this way." msgstr "" +"Наш алгоритм штучного інтелекту запропонував роботі шлях до правого краю " +"сітки. Ваше завдання полягає в тому, щоб за допомогою циклу [code]for[/code] " +"робот рухався. \n" +"\n" +"Щоб перемістити робота, викличте [i]його[/i] [code]move_to()[/code] функцію, " +"наприклад: [code]robot.move_to()[/code]. \n" +"\n" +"Функція [code]move_to()[/code] існує лише на роботі, тому вам потрібно " +"отримати до неї доступ таким чином." #: 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 "" +"Наш алгоритм штучного інтелекту визначає шлях для переміщення робота. Тепер " +"вам потрібно змусити черепаху рухатися по стежці." #: course/lesson-20-looping-over-arrays/lesson.tres:240 msgid "Back to the drawing board" -msgstr "" +msgstr "Назад до креслярської дошки" #: course/lesson-20-looping-over-arrays/lesson.tres:241 msgid "" @@ -197,13 +281,30 @@ msgid "" "The rectangles shouldn't overlap or cross each other. To avoid that, " "you'll need to call the [code]jump()[/code] function." msgstr "" +"Ми хочемо намалювати багато прямокутників, що напрочуд часто зустрічається в " +"іграх. \n" +"\n" +"Однак написання цього коду вручну може стати втомливим. Замість цього ви " +"можете зберігати розмір своїх фігур у масивах і використовувати цикл, щоб " +"малювати їх усі партіями. \n" +"\n" +"Ось що ви будете робити в цій практиці. \n" +"\n" +"Використовуйте цикл [code]for[/code], щоб намалювати кожен прямокутник у " +"масиві [code]rectangle_sizes[/code] за допомогою функції [code]" +"draw_rectangle()[/code]. \n" +"\n" +"Прямокутники не повинні накладатися або перетинатися. Щоб уникнути цього, " +"вам потрібно буде викликати функцію [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 "" +"Малювальна черепаха повертається. Не бійся! Озброївшись петлями, ви зможете " +"малювати швидше, ніж будь-коли раніше." #: course/lesson-20-looping-over-arrays/lesson.tres:265 msgid "Looping over arrays" -msgstr "" +msgstr "Перегляд масивів" diff --git a/uk/lesson-21-strings.po b/uk/lesson-21-strings.po index 21713513..bb90e12b 100644 --- a/uk/lesson-21-strings.po +++ b/uk/lesson-21-strings.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-22 22:27+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-21-strings/lesson.tres:14 @@ -29,10 +33,17 @@ msgid "" "display information such as the description of a spell or the name of a " "character." msgstr "" +"Протягом цього курсу ми здебільшого зберігали числа у змінних. Але що, якби " +"ми хотіли зберегти ім’я гравця? \n" +"\n" +"Тут нам допомагають рядки. \n" +"\n" +"Струни відіграють важливу роль в іграх і програмах. Ми використовуємо їх для " +"відображення такої інформації, як опис заклинання або ім’я персонажа." #: course/lesson-21-strings/lesson.tres:36 msgid "What are strings" -msgstr "" +msgstr "Що таке рядки" #: course/lesson-21-strings/lesson.tres:38 msgid "" @@ -46,6 +57,13 @@ msgid "" "\n" "You may remember we've used strings before in previous lessons." msgstr "" +"[code]Рядок[/code] — це тип значення, який містить текст. Щоб створити [code]" +"Рядок[/code], ви берете текст у лапки ([code]\"" +"\"[/code]). Наприклад: [code]\"Це текстовий рядок.\"[/code] \n" +"\n" +"Лапки відрізняють рядки від інших типів значень і імен функцій. \n" +"\n" +"Можливо, ви пам’ятаєте, що ми вже використовували рядки на попередніх уроках." #: course/lesson-21-strings/lesson.tres:62 msgid "" @@ -53,10 +71,13 @@ msgid "" "[code]for[/code] loop to loop through the characters of a " "[code]String[/code] as we would with any other array." msgstr "" +"Під капотом рядки — це масиви символів. Фактично, ми можемо використовувати " +"цикл [code]for[/code] для проходження символів [code]String[/code], як і з " +"будь-яким іншим масивом." #: course/lesson-21-strings/lesson.tres:80 msgid "Which of these are strings?" -msgstr "" +msgstr "Які з них рядки?" #: course/lesson-21-strings/lesson.tres:83 msgid "" @@ -67,6 +88,12 @@ msgid "" "\n" "[code]\"name\"[/code] is made up of four different characters." msgstr "" +"[code]\"1\"[/code] і [code]\"name\"[/code] є рядками. \n" +"\n" +"[code]\"1\"[/code] містить лише символ і [i]не[/i] представляє число [code]" +"1[/code]. \n" +"\n" +"[code]\"ім'я\"[/code] складається з чотирьох різних символів." #: course/lesson-21-strings/lesson.tres:88 msgid "1" @@ -75,16 +102,16 @@ msgstr "" #: course/lesson-21-strings/lesson.tres:88 #: course/lesson-21-strings/lesson.tres:89 msgid "\"1\"" -msgstr "" +msgstr "\"1\"" #: course/lesson-21-strings/lesson.tres:88 #: course/lesson-21-strings/lesson.tres:89 msgid "\"name\"" -msgstr "" +msgstr "\"name\"" #: course/lesson-21-strings/lesson.tres:96 msgid "Why we use strings" -msgstr "" +msgstr "Чому ми використовуємо рядки" #: course/lesson-21-strings/lesson.tres:118 msgid "" @@ -99,16 +126,28 @@ msgid "" "animations. In this example, the [code]play_animation()[/code] plays a " "specific animation." msgstr "" +"Кожен фрагмент тексту, який ви бачите в цьому додатку, — це рядок, який Годо " +"показує нам. \n" +"\n" +"Подібно до того, як змінні [code]Vector2[/code] полегшують обчислення, " +"змінні [code]string[/code] мають багато допоміжних функцій і прийомів, які " +"ми можемо використовувати. \n" +"\n" +"Ми також можемо використовувати масиви для зберігання рядків. Це корисно для " +"ланцюжка анімацій. У цьому прикладі [code]play_animation()[/code] відтворює " +"певну анімацію." #: 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 "" +"У наступних кількох практиках ми будемо використовувати рядки в поєднанні з " +"різними поняттями з попередніх уроків." #: course/lesson-21-strings/lesson.tres:150 msgid "Creating string variables" -msgstr "" +msgstr "Створення рядкових змінних" #: course/lesson-21-strings/lesson.tres:151 msgid "" @@ -118,14 +157,19 @@ msgid "" "Change the [code]robot_name[/code] variable so that it's a string " "instead. You can give it any name you'd like." msgstr "" +"Зараз у змінній [code]robot_name[/code] зберігається номер робота. \n" +"\n" +"Змініть змінну [code]robot_name[/code], щоб вона була рядком. Ви можете дати " +"йому будь-яке ім’я." #: course/lesson-21-strings/lesson.tres:163 msgid "Give the robot a readable name using a string stored in a variable." msgstr "" +"Дайте роботу читабельне ім’я за допомогою рядка, що зберігається у змінній." #: course/lesson-21-strings/lesson.tres:168 msgid "Using an array of strings to play a combo" -msgstr "" +msgstr "Використання масиву струн для відтворення комбо" #: course/lesson-21-strings/lesson.tres:169 msgid "" @@ -145,11 +189,26 @@ msgid "" "The array should contain three values, so the robot makes these three " "attacks: two jabs followed by one uppercut." msgstr "" +"У цій практиці ми об’єднаємо анімації за допомогою масиву рядків. Ви можете " +"зустріти такі комбінації в файтингах. \n" +"\n" +"Робот має такі назви анімації: \n" +"\n" +"- [code]джеб[/code] (змушує робота виконувати швидкий удар) \n" +"- [code]аперкот[/code] (робот використовує потужний удар у стрибку) \n" +"\n" +"Заповніть комбінований масив іменами анімацій у вигляді рядків. \n" +"\n" +"Потім для кожної дії в масиві викличте функцію [code]play_animation()[/code]" +", щоб відтворити їх. \n" +"\n" +"Масив має містити три значення, тому робот виконує ці три атаки: два удари, " +"а потім один аперкот." #: course/lesson-21-strings/lesson.tres:190 msgid "Define an array of strings to unleash a powerful combo." -msgstr "" +msgstr "Визначте масив рядків, щоб розв’язати потужне комбо." #: course/lesson-21-strings/lesson.tres:194 msgid "Strings" -msgstr "" +msgstr "рядки" diff --git a/uk/lesson-22-functions-return-values.po b/uk/lesson-22-functions-return-values.po index c7a25d9d..022bafe4 100644 --- a/uk/lesson-22-functions-return-values.po +++ b/uk/lesson-22-functions-return-values.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-22 22:27+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-22-functions-return-values/lesson.tres:13 @@ -28,10 +32,17 @@ msgid "" "\n" "Let's look at some examples to see why it's useful." msgstr "" +"Дотепер ви знали, що функції — це послідовності інструкцій, яким ви даєте ім’" +"я, яке ви можете викликати будь-коли. \n" +"\n" +"Крім того, функції можуть виконувати обчислення та [i]повертати[/i] нові " +"значення. \n" +"\n" +"Давайте розглянемо кілька прикладів, щоб зрозуміти, чому це корисно." #: course/lesson-22-functions-return-values/lesson.tres:25 msgid "Built-in functions that return a value" -msgstr "" +msgstr "Вбудовані функції, які повертають значення" #: course/lesson-22-functions-return-values/lesson.tres:27 msgid "" @@ -41,6 +52,11 @@ msgid "" "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, виконують обчислення та повертають " +"нове значення. \n" +"\n" +"Наприклад, функція [code]round()[/code] приймає десяткове число як аргумент " +"і повертає вам нове число, округлене до найближчої цифри." #: course/lesson-22-functions-return-values/lesson.tres:49 msgid "" @@ -52,6 +68,12 @@ msgid "" "decimal part. In that case, you may use the [code]round()[/code] " "function, like so." msgstr "" +"Уявіть, що у вас є гра, у якій ви відстежуєте здоров’я гравця у відсотках, " +"десяткове число від [code]0.0[/code] до [code]100.0[/code]. \n" +"\n" +"Під час відображення здоров’я в інтерфейсі ви не хочете показувати десяткову " +"частину. У такому випадку ви можете використати функцію [code]round()[/code]" +", наприклад." #: course/lesson-22-functions-return-values/lesson.tres:71 msgid "" @@ -61,16 +83,23 @@ msgid "" "\n" "Above, we assigned it to a variable, but you could also do the following." msgstr "" +"Зверніть увагу, як ми присвоюємо результат виклику функції змінній. Оскільки " +"функція [code]round()[/code] повертає [i]нове[/i] значення, нам потрібно або " +"зберегти результат, або негайно використати значення. \n" +"\n" +"Вище ми призначили його змінній, але ви також можете зробити наступне." #: 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 "" +"Ви можете призначити значення, що повертається виклику функції, якщо ви " +"плануєте використовувати його більше одного разу." #: course/lesson-22-functions-return-values/lesson.tres:101 msgid "A cooler example: lerp()" -msgstr "" +msgstr "Більш крутий приклад: lerp()" #: course/lesson-22-functions-return-values/lesson.tres:103 msgid "" @@ -83,6 +112,14 @@ msgid "" "In game programming, it's used to animate things moving towards a target " "with a single line of code." msgstr "" +"Функція [code]lerp()[/code], скорочення від [i]linear interpolate[/i], " +"обчислює та повертає середнє зважене між двома значеннями. \n" +"\n" +"Потрібно три аргументи: два значення для усереднення та значення між [code]" +"0.0[/code] і [code]1.0[/code] для спотворення результату. \n" +"\n" +"У програмуванні ігор він використовується для анімації речей, що рухаються " +"до цілі, за допомогою одного рядка коду." #: course/lesson-22-functions-return-values/lesson.tres:137 msgid "" @@ -93,10 +130,15 @@ msgid "" "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 "" +"Кожен кадр код обчислює позицію десь між черепахою та курсором миші. Функція " +"[code]lerp()[/code] подбає про все. \n" +"\n" +"Це не найнадійніший підхід для плавного руху, як ви дізнаєтесь у " +"майбутньому, але все ж це корисна функція." #: course/lesson-22-functions-return-values/lesson.tres:147 msgid "Writing a function that returns a value" -msgstr "" +msgstr "Написання функції, яка повертає значення" #: course/lesson-22-functions-return-values/lesson.tres:149 msgid "" @@ -114,6 +156,18 @@ msgid "" "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 "" +"Ви можете змусити [i]свої[/i] функції повертати значення. \n" +"\n" +"Щоб змусити функцію повертати значення, ви використовуєте ключове слово " +"[code]return[/code], за яким слідує відповідне значення. \n" +"\n" +"У попередніх уроках у нас були персонажі, які ходили по сітках. \n" +"\n" +"І для цих вправ ви працювали безпосередньо з координатами клітинки. \n" +"\n" +"Ну, координати комірок не відповідають положенням на екрані. Щоб знайти " +"центр будь-якої комірки на екрані, нам потрібно перетворити координати " +"комірки в позицію на екрані в пікселях." #: course/lesson-22-functions-return-values/lesson.tres:177 msgid "" @@ -126,12 +180,21 @@ msgid "" "\n" "The function returns the result, allowing us to store it in a variable." msgstr "" +"Для цього ми використовуємо функцію. Функція робить дві речі: \n" +"\n" +"1. По-перше, він множить координати клітинки на розмір клітинки, що дає нам " +"положення верхнього лівого кута клітинки на екрані в пікселях. \n" +"2. Потім ми додаємо половину розміру комірки, щоб отримати центр комірки. \n" +"\n" +"Функція повертає результат, дозволяючи нам зберегти його в змінній." #: 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] повертає значення коду, який викликає " +"функцію. Ви отримаєте результат під час виклику функції." #: course/lesson-22-functions-return-values/lesson.tres:222 msgid "" @@ -147,10 +210,21 @@ msgid "" "\n" "For now, let's practice returning values from functions!" msgstr "" +"Деякі функції повертають значення, а деякі ні. Під час практики ви можете " +"дізнатися, які функції повертають значення, використовуючи панель " +"документації. Відображатиметься, якщо практика вимагає використання певних " +"функцій або змінних. \n" +"\n" +"Там функції, які починаються з терміна [code]void[/code], не повертають " +"значення. Будь-який інший термін означає, що функція повертає значення. Ви " +"дізнаєтеся більше про значення інших термінів у кількох уроках, коли ми " +"досліджуватимемо [i]типи[/i] значень. \n" +"\n" +"А поки потренуємося повертати значення з функцій!" #: course/lesson-22-functions-return-values/lesson.tres:234 msgid "Converting coordinates from the grid to the screen" -msgstr "" +msgstr "Перетворення координат із сітки на екран" #: course/lesson-22-functions-return-values/lesson.tres:235 msgid "" @@ -160,13 +234,20 @@ msgid "" " It should return the corresponding [code]Vector2[/code] screen " "coordinates at the center of the cell." msgstr "" +"Визначте функцію, яка перетворює позицію на сітці на екран. \n" +"\n" +"Функція приймає координату клітинки [code]Vector2[/code] як аргумент. Він " +"має повернути відповідні екранні координати [code]Vector2[/code] у центрі " +"клітинки." #: 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 "" +"Ми втратили функцію перетворення координат сітки, але вона нам конче " +"потрібна для нашої гри! Змусьте черепаху знову рухатися, закодувавши її." #: course/lesson-22-functions-return-values/lesson.tres:253 msgid "Functions that return a value" -msgstr "" +msgstr "Функції, що повертають значення" diff --git a/uk/lesson-23-append-to-arrays.po b/uk/lesson-23-append-to-arrays.po index 22cdfc3e..96f376b4 100644 --- a/uk/lesson-23-append-to-arrays.po +++ b/uk/lesson-23-append-to-arrays.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-22 22:27+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-23-append-to-arrays/lesson.tres:13 @@ -27,14 +31,21 @@ msgid "" "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 "" +"У попередніх уроках ви дізналися, як створювати масиви для зберігання " +"списків значень і як циклювати їх. Це добре, але тільки цим далеко не " +"заїдеш. \n" +"\n" +"Справжня сила масивів полягає в тому, що ви можете додавати та видаляти " +"значення з них у будь-який час. Це дозволяє [i]ставити в чергу[/i] або [i]" +"стосувати[/i] дані." #: course/lesson-23-append-to-arrays/lesson.tres:25 msgid "For now, let's take another example." -msgstr "" +msgstr "А поки візьмемо інший приклад." #: course/lesson-23-append-to-arrays/lesson.tres:33 msgid "Tracking orders in a restaurant management game" -msgstr "" +msgstr "Відстеження замовлень у грі про управління рестораном" #: course/lesson-23-append-to-arrays/lesson.tres:35 msgid "" @@ -47,6 +58,13 @@ msgid "" "In this example, we simulate orders arriving and getting completed over " "time." msgstr "" +"Ви створюєте гру про управління рестораном, де клієнти розміщують " +"замовлення, і вам потрібно обробляти їх, коли вони надходять. \n" +"\n" +"У цій грі клієнти замовляють страви, які в кінцевому підсумку стоять у " +"черзі. Готувати їх потрібно на кухні. \n" +"\n" +"У цьому прикладі ми моделюємо надходження та виконання замовлень з часом." #: course/lesson-23-append-to-arrays/lesson.tres:59 msgid "" @@ -62,6 +80,17 @@ msgid "" "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 "" +"Як ви відстежуєте незавершені та виконані замовлення? З масивом! \n" +"\n" +"Коли клієнт купує страву, ви хочете [i]додати[/i] її до масиву. Потім, коли " +"ви завершуєте страву на кухні та подаєте її, ви хочете видалити її з масиву. " +"\n" +"\n" +"Ви можете зробити це за допомогою функцій [code]append()[/code] і [code]" +"pop_front()[/code] масиву відповідно. \n" +"\n" +"Спробуйте прочитати код нижче, перш ніж рухатися далі. Не хвилюйтеся, якщо " +"не все має сенс, оскільки ми все розберемо." #: course/lesson-23-append-to-arrays/lesson.tres:85 msgid "" @@ -73,6 +102,13 @@ msgid "" "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 "" +"Зверніть увагу, як ми викликаємо деякі функції, ставлячи крапку після імені " +"змінної. Подібно до того, як заданий тип значення може мати підзмінні, він " +"також може мати власні функції. \n" +"\n" +"Такі функції, як [code]append()[/code] і [code]pop_front()[/code] існують " +"лише для масивів. Ось чому, щоб викликати їх, нам потрібно отримати до нього " +"доступ із масиву за допомогою точки: [code]array.append()[/code]." #: course/lesson-23-append-to-arrays/lesson.tres:97 msgid "" @@ -81,12 +117,18 @@ msgid "" "We queue orders in the [code]waiting_orders[/code] array by appending " "them to the array." msgstr "" +"Давайте розберемо код.\n" +"\n" +"Ми ставимо замовлення в чергу в масиві [code]waiting_orders[/code], додаючи " +"їх до масиву." #: 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]." #: course/lesson-23-append-to-arrays/lesson.tres:139 msgid "" @@ -95,20 +137,27 @@ msgid "" " function. This function gives us the order back, which allows us to " "assign it to a temporary variable." msgstr "" +"Виконуючи замовлення, ми видаляємо його з масиву [code]waiting_orders[/code]" +", викликаючи його функцію [code]pop_front()[/code]. Ця функція повертає нам " +"порядок, що дозволяє нам призначити його тимчасовій змінній." #: course/lesson-23-append-to-arrays/lesson.tres:159 msgid "We can then append the order to our [code]completed_orders[/code] array." msgstr "" +"Потім ми можемо додати замовлення до нашого масиву [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 "" +"Ми називаємо такі масиви, як [code]waiting_orders[/code], [i]чергою[/i]: " +"перший елемент, який ми додаємо до масиву, є першим, який ми видаляємо." #: course/lesson-23-append-to-arrays/lesson.tres:187 msgid "What does #... mean?" -msgstr "" +msgstr "Що означає #...?" #: course/lesson-23-append-to-arrays/lesson.tres:189 msgid "" @@ -119,10 +168,16 @@ msgid "" "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 "" +"Ми пишемо [code]#...[/code], щоб представити еліпси в коді. Це означає «ми " +"завершуємо код функції». Ми використовуємо це, щоб розбити приклади коду та " +"полегшити їх вивчення. \n" +"\n" +"Сам знак решітки позначає початок коментаря коду. Це рядок, який комп’ютер " +"ігноруватиме, тому він зазвичай відображається сірим кольором." #: course/lesson-23-append-to-arrays/lesson.tres:199 msgid "Using arrays as stacks" -msgstr "" +msgstr "Використання масивів як стеків" #: course/lesson-23-append-to-arrays/lesson.tres:201 msgid "" @@ -132,6 +187,11 @@ msgid "" "stacks of crates. They arrive at the factory piled up vertically, and you" " need to take them from top to bottom." msgstr "" +"Іншим поширеним використанням масивів є [i]стеки[/i] даних. \n" +"\n" +"Візьміть гру управління фабрикою, де вам потрібно отримати матеріали зі " +"стосів ящиків. На фабрику вони надходять вертикально складеними, а брати їх " +"потрібно зверху вниз." #: course/lesson-23-append-to-arrays/lesson.tres:223 msgid "" @@ -144,6 +204,14 @@ msgid "" "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 "" +"Цього разу, щоб взяти ящик із задньої частини масиву, ми використовуємо " +"функцію масиву [code]pop_back()[/code]. \n" +"\n" +"Ця функція видаляє (вискакує) останнє значення з масиву та повертає його " +"вам. \n" +"\n" +"Тут ми витягуємо останнє значення масиву та друкуємо те, що залишилося від " +"масиву, щоб продемонструвати, як масив стає меншим." #: course/lesson-23-append-to-arrays/lesson.tres:247 msgid "" @@ -156,10 +224,18 @@ msgid "" "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], функція повертає значення, видалене з " +"масиву. Ви часто зберігаєте це значення у змінній. \n" +"\n" +"Цінністю, про яку йде мова, може бути вміст ящика, який потім можна " +"використовувати для надання ресурсів гравцеві. \n" +"\n" +"У наведених нижче практиках ви будете використовувати функції масиву [code]" +"append()[/code], [code]pop_front()[/code] і [code]pop_back()[/code]." #: course/lesson-23-append-to-arrays/lesson.tres:259 msgid "Completing orders" -msgstr "" +msgstr "Виконання замовлень" #: course/lesson-23-append-to-arrays/lesson.tres:260 msgid "" @@ -173,16 +249,27 @@ msgid "" "popped value, which allows you to store it in a variable and then pass it" " to another function." msgstr "" +"Масив [code]waiting_orders[/code] з часом буде заповнено. \n" +"\n" +"Ваше завдання — перемістити замовлення зі списку очікування до списку [code]" +"completed_orders[/code] за допомогою функцій [code]append()[/code] і [code]" +"pop_front()[/code] масиву. \n" +"\n" +"Пам’ятайте, що функція [code]pop_front()[/code] масиву повертає отримане " +"значення, що дозволяє зберегти його в змінній, а потім передати в іншу " +"функцію." #: 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 "" +"Замовлення накопичуються на кухні, і нам потрібно швидко їх очистити за " +"допомогою функції [code]pop_front()[/code] масиву." #: course/lesson-23-append-to-arrays/lesson.tres:282 msgid "Clearing up the crates" -msgstr "" +msgstr "Розчищення ящиків" #: course/lesson-23-append-to-arrays/lesson.tres:283 msgid "" @@ -200,13 +287,28 @@ msgid "" "You can check if the [code]crates[/code] array still contains values by " "writing [code]while crates:[/code]" msgstr "" +"На платформі накопичуються ящики. Пересуньте їх, витягнувши їх із масиву " +"[code]ящиків[/code]. \n" +"\n" +"Вам потрібно видалити їх зверху вниз за допомогою функції [code]pop_back()" +"[/code] масиву. \n" +"\n" +"Ваш код має видалити всі ящики в масиві за допомогою циклу while. \n" +"\n" +"[b]Обережно![/b] Якщо ви необережно запустите цикл while, ви можете " +"заблокувати програмне забезпечення. \n" +"\n" +"Ви можете перевірити, чи масив [code]crates[/code] все ще містить значення, " +"написавши [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 "" +"На платформі накопичуються ящики. Перемістіть їх убік, викинувши їх із " +"масиву." #: course/lesson-23-append-to-arrays/lesson.tres:307 msgid "Appending and popping values from arrays" -msgstr "" +msgstr "Додавання та вилучення значень із масивів" diff --git a/uk/lesson-24-access-array-indices.po b/uk/lesson-24-access-array-indices.po index 86b8d090..3ecaf8ed 100644 --- a/uk/lesson-24-access-array-indices.po +++ b/uk/lesson-24-access-array-indices.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-22 22:27+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-24-access-array-indices/lesson.tres:14 @@ -23,6 +27,8 @@ msgid "" "You learned to loop over all the values in an array using the " "[code]for[/code] keyword." msgstr "" +"Ви навчилися проходити в циклі всі значення в масиві за допомогою ключового " +"слова [code]for[/code]." #: course/lesson-24-access-array-indices/lesson.tres:34 msgid "" @@ -33,10 +39,17 @@ msgid "" "\n" "To do so, you use square brackets with a number inside the brackets." msgstr "" +"Але що, якщо вам потрібно отримати доступ до третього предмета в інвентарі " +"гравця? Десятий пункт? \n" +"\n" +"Існує спеціальна нотація для доступу до одного елемента в масиві за " +"індексом. \n" +"\n" +"Для цього ви використовуєте квадратні дужки з числом усередині дужок." #: course/lesson-24-access-array-indices/lesson.tres:58 msgid "Index zero is the [i]first[/i] element in the array." -msgstr "" +msgstr "Індекс нуль є [i]першим[/i] елементом у масиві." #: course/lesson-24-access-array-indices/lesson.tres:78 msgid "" @@ -45,31 +58,39 @@ msgid "" "You would access the [i]fourth[/i] element in the [code]inventory[/code] " "array like so." msgstr "" +"Індекс один — це [i]другий[/i] елемент у масиві тощо.\n" +"\n" +"Ви отримаєте доступ до [i]четвертого[/i] елемента в масиві [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 "" +"Як би ви отримали доступ до [i]третього[/i] елемента в масиві [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 "" +"Індекси починаються з нуля, тому індекс [i]третього[/i] елемента дорівнює " +"[code]2[/code]. Ось чому вам потрібно написати [code]інвентар[2][/code]." #: course/lesson-24-access-array-indices/lesson.tres:102 #: course/lesson-24-access-array-indices/lesson.tres:103 msgid "inventory[2]" -msgstr "" +msgstr "інвентар[2]" #: course/lesson-24-access-array-indices/lesson.tres:102 msgid "inventory[3]" -msgstr "" +msgstr "інвентар[3]" #: course/lesson-24-access-array-indices/lesson.tres:110 msgid "Accessing the last values with negative indices" -msgstr "" +msgstr "Доступ до останніх значень з від’ємними індексами" #: course/lesson-24-access-array-indices/lesson.tres:112 msgid "" @@ -80,16 +101,25 @@ msgid "" "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 "" +"Що робити, якщо ви хочете отримати доступ до останнього або передостаннього " +"елемента в [code]інвентарі[/code]? \n" +"\n" +"У цьому випадку можна використовувати від’ємні показники. Якщо написати " +"[code]-1[/code] у дужках, ви отримаєте останній елемент у масиві. Ви " +"отримаєте передостанній предмет, якщо напишете [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 "" +"Це дуже зручно, коли потрібно швидко отримати доступ до елементів з кінця " +"списку." #: course/lesson-24-access-array-indices/lesson.tres:142 msgid "How would you access the third-to-last item in the inventory array?" msgstr "" +"Як би ви отримали доступ до передостаннього елемента в масиві інвентарю?" #: course/lesson-24-access-array-indices/lesson.tres:145 msgid "" @@ -102,19 +132,26 @@ msgid "" "[code]0[/code] and [code]-0[/code]: they both point to the first item in " "the array." msgstr "" +"У разі використання від’ємних індексів [code]-1[/code] означає [i]останній" +"[/i] елемент у масиві. Індекс [code]-2[/code] буде передостаннім, таким " +"чином [code]-3[/code] буде передостаннім. \n" +"\n" +"Це може трохи заплутати, оскільки здається, що він працює інакше, ніж " +"позитивні індекси. Однак це тому, що немає різниці між індексами [code]0[/" +"code] і [code]-0[/code]: обидва вони вказують на перший елемент у масиві." #: course/lesson-24-access-array-indices/lesson.tres:148 #: course/lesson-24-access-array-indices/lesson.tres:149 msgid "inventory[-3]" -msgstr "" +msgstr "інвентар[-3]" #: course/lesson-24-access-array-indices/lesson.tres:148 msgid "inventory[-2]" -msgstr "" +msgstr "інвентар[-2]" #: course/lesson-24-access-array-indices/lesson.tres:156 msgid "You can't access non-existent indices" -msgstr "" +msgstr "Ви не можете отримати доступ до неіснуючих індексів" #: course/lesson-24-access-array-indices/lesson.tres:158 msgid "" @@ -125,6 +162,12 @@ msgid "" "There are a couple of ways you can check for valid indices. One of them " "is checking the array's size." msgstr "" +"У цьому синтаксисі є заковика: якщо ви спробуєте отримати доступ до індексу, " +"якого не існує, ви отримаєте помилку. Ви завжди повинні бути обережними, щоб " +"отримати доступ до існуючих елементів у масиві. \n" +"\n" +"Є кілька способів перевірити дійсні індекси. Одним із них є перевірка " +"розміру масиву." #: course/lesson-24-access-array-indices/lesson.tres:170 msgid "" @@ -133,22 +176,31 @@ msgid "" "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]Перевірка розміру масиву[/b]\n" +"\n" +"Масиви постачаються з функцією-членом під назвою [code]size()[/code]. Ви " +"можете будь-коли викликати його в масиві, щоб дізнатися його [i]поточний[/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 "" +"Максимальний індекс, до якого ви можете отримати доступ у масиві, це [code]" +"array.size() - 1[/code]: це останній елемент у масиві." #: 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 "" +"У наступних вправах ви будете використовувати індекси масиву, щоб " +"переставити залізничні колії та отримати правильний предмет в інвентарі." #: course/lesson-24-access-array-indices/lesson.tres:220 msgid "Using the right items" -msgstr "" +msgstr "Використання правильних предметів" #: course/lesson-24-access-array-indices/lesson.tres:221 msgid "" @@ -165,14 +217,25 @@ msgid "" " use an item. For example, you can use the first item by calling " "[code]use_item(inventory[0])[/code]." msgstr "" +"У нашій грі гравець має інвентар, який працює як масив під капотом. \n" +"\n" +"Вони хочуть спорядити меч і щит, щоб покращити своїх персонажів. Як і " +"раніше, ви повинні знайти їх у масиві. \n" +"\n" +"Для цього вам потрібно отримати доступ до елементів у масиві [code]" +"inventory[/code] за індексом. \n" +"\n" +"Викличте функцію [code]use_item()[/code] з елементом як аргументом, щоб " +"використовувати елемент. Наприклад, ви можете використати перший предмет, " +"викликавши [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 "" +msgstr "Знайдіть потрібні предмети в інвентарі гравця." #: course/lesson-24-access-array-indices/lesson.tres:244 msgid "Realigning the train tracks" -msgstr "" +msgstr "Перепланування залізничних колій" #: course/lesson-24-access-array-indices/lesson.tres:245 msgid "" @@ -187,13 +250,26 @@ msgid "" "\n" "This time, though, you need to access them with [i]negative indices[/i]." msgstr "" +"У нашій грі залізничні колії розбиті на маленькі частини. Ми використовуємо " +"їх для виготовлення модульних доріжок і малювання схем будь-якої форми та " +"розміру. \n" +"\n" +"Однак кілька блоків неправильно вирівняні. Вам потрібно знайти їх у масиві " +"[code]tracks[/code] і передати їх у функцію [code]align()[/code]. \n" +"\n" +"Для цього вам потрібно отримати доступ до масиву за індексом. \n" +"\n" +"Однак цього разу вам потрібно отримати доступ до них за допомогою [i]" +"негативних індексів[/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 "" +"Деякі шматки наших залізничних колій зміщені, і поїзд не може проїхати. " +"Знайдіть несправні деталі та переставте їх." #: course/lesson-24-access-array-indices/lesson.tres:267 msgid "Accessing values in arrays" -msgstr "" +msgstr "Доступ до значень у масивах" diff --git a/uk/lesson-25-creating-dictionaries.po b/uk/lesson-25-creating-dictionaries.po index 85b9ca8f..49856367 100644 --- a/uk/lesson-25-creating-dictionaries.po +++ b/uk/lesson-25-creating-dictionaries.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-22 22:27+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-25-creating-dictionaries/lesson.tres:14 @@ -38,10 +42,28 @@ msgid "" "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 "" +"У минулому уроці ми використовували масив для представлення інвентарю " +"гравця. \n" +"\n" +"Однак, маючи лише назви елементів, ми не можемо легко відстежити кількість " +"кожного елемента. \n" +"\n" +"Натомість ми можемо об’єднати назви елементів і суми в один [i]словник[/i]. " +"\n" +"\n" +"Словник — це структура даних, яка дозволяє відображати пари значень. У парі " +"ми називаємо перше значення [i]ключем[/i], оскільки використовуємо його для " +"доступу до другого. \n" +"\n" +"Іншими словами, у словнику є список [i]ключів[/i], і кожен ключ вказує на [i]" +"значення[/i]. \n" +"\n" +"Для визначення словника ми використовуємо фігурні дужки. Двокрапка розділяє " +"кожен ключ і його значення. Кома відділяє кожну пару ключів і значень." #: course/lesson-25-creating-dictionaries/lesson.tres:42 msgid "Dictionaries can hold any values" -msgstr "" +msgstr "Словники можуть містити будь-які значення" #: course/lesson-25-creating-dictionaries/lesson.tres:44 msgid "" @@ -51,6 +73,11 @@ msgid "" "the corresponding value. This makes dictionaries excellent for keeping " "track of a player's inventory." msgstr "" +"Словники можуть зіставляти будь-яке значення з будь-яким іншим значенням. \n" +"\n" +"Наприклад, ми можемо використовувати назву елемента як ключ, а суму – як " +"відповідне значення. Це робить словники чудовими для відстеження інвентарю " +"гравця." #: course/lesson-25-creating-dictionaries/lesson.tres:66 msgid "" @@ -61,14 +88,20 @@ msgid "" " key has to be [i]unique[/i]. That means we [i]couldn't[/i] have a " "dictionary like the following." msgstr "" +"Тут ми зіставили назву (рядок) із сумою (числом). Але ключ може бути рядком, " +"числом або навіть вектором! \n" +"\n" +"Хоча ми можемо мати всі ці різні ключі, майте на увазі, що кожен ключ має " +"бути [i]унікальним[/i]. Це означає, що ми [i]не могли[/i] мати такий " +"словник, як наведений нижче." #: course/lesson-25-creating-dictionaries/lesson.tres:88 msgid "We would get the following error." -msgstr "" +msgstr "Ми отримаємо наступну помилку." #: course/lesson-25-creating-dictionaries/lesson.tres:106 msgid "In the above example, which key would cause an error?" -msgstr "" +msgstr "У наведеному вище прикладі, який ключ спричинить помилку?" #: course/lesson-25-creating-dictionaries/lesson.tres:109 msgid "" @@ -79,23 +112,28 @@ msgid "" "[code]3[/code] or [code]8[/code] when using [code]inventory[\"healing " "heart\"][/code]. This is why keys need to be unique." msgstr "" +"Ключ [code]\"цілюще серце\"[/code] з'являється [b]двічі[/b] у словнику. \n" +"\n" +"У наведеному вище прикладі Годо не знав, чи повертати [code]3[/code] чи " +"[code]8[/code] під час використання [code]inventory[\"healing heart\"][/code]" +". Ось чому ключі повинні бути унікальними." #: course/lesson-25-creating-dictionaries/lesson.tres:112 #: course/lesson-25-creating-dictionaries/lesson.tres:113 msgid "\"healing heart\"" -msgstr "" +msgstr "\"цілюще серце\"" #: course/lesson-25-creating-dictionaries/lesson.tres:112 msgid "\"shield\"" -msgstr "" +msgstr "\"щит\"" #: course/lesson-25-creating-dictionaries/lesson.tres:112 msgid "\"sword\"" -msgstr "" +msgstr "\"меч\"" #: course/lesson-25-creating-dictionaries/lesson.tres:120 msgid "How dictionaries work under the hood" -msgstr "" +msgstr "Як словники працюють під капотом" #: course/lesson-25-creating-dictionaries/lesson.tres:122 msgid "" @@ -116,20 +154,38 @@ msgid "" "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 "" +"Словники також називають відображеннями або [i]асоціативними масивами[/i]. " +"Під капотом вони використовують масиви та кілька функцій для ефективного " +"зберігання та отримання значень у масивах. \n" +"\n" +"Точніше, словники використовують [i]алгоритм хешування[/i]. Алгоритми " +"хешування перетворюють одне значення в інше. \n" +"\n" +"У цьому випадку хешування полягає в перетворенні даного ключа в унікальне " +"ціле число. Потім словник використовує це число як індекс масиву! \n" +"\n" +"Ось як працює словник: коли ви даєте йому ключ, він перетворює його на " +"унікальний індекс і використовує цей індекс для отримання відповідного " +"значення в пам’яті комп’ютера. \n" +"\n" +"Ось чому ви не можете мати той самий ключ двічі: він зіставлятиметься з тим " +"самим індексом масиву, що призведе до перезапису існуючого значення." #: course/lesson-25-creating-dictionaries/lesson.tres:138 msgid "Accessing values" -msgstr "" +msgstr "Доступ до значень" #: 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 "" +"Ми отримуємо доступ до значення ключів, записуючи ім’я словника з ключем у " +"квадратних дужках." #: course/lesson-25-creating-dictionaries/lesson.tres:168 msgid "How would you access how many gems the player has?" -msgstr "" +msgstr "Як отримати доступ до кількості дорогоцінних каменів у гравця?" #: course/lesson-25-creating-dictionaries/lesson.tres:171 msgid "" @@ -138,39 +194,47 @@ msgid "" "\n" "In our case, [code]var item_count = inventory[\"gems\"][/code] is correct." msgstr "" +"Нам потрібно переконатися, що ключ такий самий, як ми визначили в словнику.\n" +"\n" +"У нашому випадку [code]var item_count = inventory[\"gems\"][/code] є " +"правильним." #: course/lesson-25-creating-dictionaries/lesson.tres:174 msgid "var item_count = inventory[\"gem\"]" -msgstr "" +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 "" +msgstr "var item_count = inventory[\"gems\"]" #: course/lesson-25-creating-dictionaries/lesson.tres:174 msgid "var item_count = inventory[\"sword\"]" -msgstr "" +msgstr "var item_count = inventory[\"sword\"]" #: course/lesson-25-creating-dictionaries/lesson.tres:182 msgid "Changing values" -msgstr "" +msgstr "Зміна значень" #: 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 "" +"Ми також можемо змінювати значення безпосередньо, що корисно в нашому " +"випадку для додавання або видалення предметів з інвентарю гравця." #: 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 "" +"У наступних практиках ми будемо використовувати словник для створення " +"інвентарю гравця та створення функції для зміни вартості предметів." #: course/lesson-25-creating-dictionaries/lesson.tres:222 msgid "Creating an inventory using a dictionary" -msgstr "" +msgstr "Створення опису за допомогою словника" #: course/lesson-25-creating-dictionaries/lesson.tres:223 msgid "" @@ -188,16 +252,31 @@ msgid "" "\n" "The keys should be text strings, and the values whole numbers." msgstr "" +"Давайте дамо деякі предмети гравцеві. \n" +"\n" +"Ми використовуємо словник для інвентарю гравця. Ми визначили для вас змінну " +"[code]inventory[/code], але вона ще не містить елементів. \n" +"\n" +"Дайте гравцеві наступні елементи, додавши правильні ключі та значення до " +"словника: \n" +"\n" +"- Три «цілющі серця». \n" +"- Дев'ять \"самоцвітів\". \n" +"— Один «меч». \n" +"\n" +"Ключі повинні бути текстовими рядками, а значення – цілими числами." #: 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 "" +"Збирати предмети весело, але нам потрібен хороший спосіб їх зберігання. " +"Напишіть словник для відображення предметів гравця." #: course/lesson-25-creating-dictionaries/lesson.tres:249 msgid "Increasing item counts" -msgstr "" +msgstr "Збільшення кількості елементів" #: course/lesson-25-creating-dictionaries/lesson.tres:250 msgid "" @@ -213,13 +292,27 @@ msgid "" "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 "" +"Ми хочемо змінити кількість предметів в інвентарі гравця щоразу, коли " +"гравець бере або використовує предмет. \n" +"\n" +"Ми запустили для вас функцію [code]add_item()[/code]. \n" +"\n" +"Словник [code]inventory[/code] має використовувати параметр [code]item_name[/" +"code] як ключ для доступу до своїх значень, і ми повинні збільшити значення " +"на [code]amount[/code]. \n" +"\n" +"Щоб перевірити цю практику, ми скористаємося вашою функцією [code]add_item()" +"[/code], щоб збільшити кількість предметів Лікуючого серця, самоцвітів і " +"меча." #: 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 "" +"Гравець може пройти через пікап або знайти щось у скрині, тому нам потрібен " +"спосіб змінити кількість предметів у нашому інвентарі." #: course/lesson-25-creating-dictionaries/lesson.tres:270 msgid "Creating Dictionaries" -msgstr "" +msgstr "Створення словників" diff --git a/uk/lesson-26-looping-over-dictionaries.po b/uk/lesson-26-looping-over-dictionaries.po index cf1279c8..d4044be2 100644 --- a/uk/lesson-26-looping-over-dictionaries.po +++ b/uk/lesson-26-looping-over-dictionaries.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-22 22:27+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-26-looping-over-dictionaries/lesson.tres:13 @@ -25,10 +29,14 @@ msgid "" "\n" "Let's see how it works with two examples." msgstr "" +"Як і у випадку з масивами, ви можете перебирати словники. Ви можете " +"переглядати як їхні ключі, так і значення.\n" +"\n" +"Давайте подивимося, як це працює, на двох прикладах." #: course/lesson-26-looping-over-dictionaries/lesson.tres:23 msgid "Displaying an inventory's content" -msgstr "" +msgstr "Відображення вмісту інвентарю=" #: course/lesson-26-looping-over-dictionaries/lesson.tres:25 msgid "" @@ -41,6 +49,14 @@ msgid "" "To get the list of keys in the dictionary, you can call its " "[code]keys()[/code] member function." msgstr "" +"Щоб відобразити інвентар гравця, потрібно знати, що він містить. Потрібно " +"вказати назву та суму кожного об’єкта. \n" +"\n" +"А з коду ви можете досягти цього лише шляхом циклічного перегляду всього " +"словника та обробки пар ключ-значення одну за одною. \n" +"\n" +"Щоб отримати список ключів у словнику, ви можете викликати його функцію-член " +"[code]keys()[/code]." #: course/lesson-26-looping-over-dictionaries/lesson.tres:49 msgid "" @@ -51,6 +67,11 @@ msgid "" "[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 "" +"Але ми так багато робимо, що вам не потрібно викликати функцію. \n" +"\n" +"Натомість ви можете безпосередньо [ігнорувати]ввести назву змінної в циклі " +"[code]for[/code] після ключового слова [code]in[/code]. Мова розуміє, що ви " +"неявно хочете перейти до ключів словника." #: course/lesson-26-looping-over-dictionaries/lesson.tres:71 msgid "" @@ -60,6 +81,11 @@ msgid "" "We can loop over the inventory keys, get the corresponding values, and " "display all that information in the user interface." msgstr "" +"Ви можете отримати значення за допомогою синтаксису [code]словник[ключ]" +"[/code], як ви вивчали на попередньому уроці. \n" +"\n" +"Ми можемо перейти до ключів інвентаризації, отримати відповідні значення та " +"відобразити всю цю інформацію в інтерфейсі користувача." #: course/lesson-26-looping-over-dictionaries/lesson.tres:103 msgid "" @@ -67,10 +93,13 @@ msgid "" "code and call a dedicated function that displays items in the user " "interface." msgstr "" +"Замість того, щоб виводити пари ключ-значення на консоль виводу, ми можемо " +"закодувати та викликати спеціальну функцію, яка відображає елементи в " +"інтерфейсі користувача." #: course/lesson-26-looping-over-dictionaries/lesson.tres:131 msgid "Mapping grid cells to units" -msgstr "" +msgstr "Відображення клітинок сітки в одиниці" #: course/lesson-26-looping-over-dictionaries/lesson.tres:133 msgid "" @@ -86,22 +115,37 @@ msgid "" "\n" "The only limitation is that every key must be unique." msgstr "" +"Ми також можемо використовувати словник, щоб зіставити одиниць з їхньою " +"позицією на ігровому полі. \n" +"\n" +"Так ви зазвичай кодуєте настільну гру, рольову гру на основі сітки чи " +"тактичну рольову гру. \n" +"\n" +"Поки що ми зосереджувалися на ключах [code]String[/code], словники GDScript " +"приймають будь-який тип значення як ключ, дозволяючи вам зіставляти що " +"завгодно з чим завгодно. \n" +"\n" +"Єдине обмеження полягає в тому, що кожен ключ має бути унікальним." #: 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 "" +"Використовуючи цикл [code]for[/code], ви можете використовувати пари ключ-" +"значення для розміщення одиниць на дошці на початку гри." #: course/lesson-26-looping-over-dictionaries/lesson.tres:189 msgid "" "In the following practices, you will loop over dictionaries and process " "their content." msgstr "" +"У наступних вправах ви проходите по циклу словників і оброблятимете їхній " +"вміст." #: course/lesson-26-looping-over-dictionaries/lesson.tres:197 msgid "Displaying the inventory" -msgstr "" +msgstr "Відображення інвентарю" #: course/lesson-26-looping-over-dictionaries/lesson.tres:198 msgid "" @@ -115,16 +159,27 @@ msgid "" "To do so, call the [code]display_item()[/code] function. It takes two " "arguments: the item name and the amount." msgstr "" +"Ми використовуємо словник, щоб представити інвентар гравця в цій грі. Ключі " +"словника — це назви предметів, і вони відповідають кількості предметів, " +"якими володіє гравець. \n" +"\n" +"Вам потрібно прокрутити словник і відобразити назву та кількість кожного " +"предмета в інвентарі. \n" +"\n" +"Для цього викличте функцію [code]display_item()[/code]. Він приймає два " +"аргументи: назву товару та суму." #: 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 "" +"Нам потрібно відобразити інвентар гравця на екрані, але для цього немає " +"коду. Використовуйте цикл, щоб відобразити кожен елемент." #: course/lesson-26-looping-over-dictionaries/lesson.tres:223 msgid "Placing units on the board" -msgstr "" +msgstr "Розміщення одиниць на дошці" #: course/lesson-26-looping-over-dictionaries/lesson.tres:224 msgid "" @@ -134,13 +189,20 @@ msgid "" "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]одиниці[/code], який відображає позицію " +"клітинки на сітці на одиницю, яку потрібно туди додати. \n" +"\n" +"Використовуючи цикл for і функцію [code]place_unit()[/code], розмістіть " +"кожну одиницю в словнику одиниць у потрібну позицію на ігровому полі." #: 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 "" +"Ми хочемо заповнювати нашу ігрову дошку одиницями на початку кожного бою. " +"Перейдіть по словнику, щоб розмістити одиниці на дошці." #: course/lesson-26-looping-over-dictionaries/lesson.tres:246 msgid "Looping over dictionaries" -msgstr "" +msgstr "Перегляд словників" diff --git a/uk/lesson-27-value-types.po b/uk/lesson-27-value-types.po index f42f39ef..c4217132 100644 --- a/uk/lesson-27-value-types.po +++ b/uk/lesson-27-value-types.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-22 22:27+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-27-value-types/lesson.tres:13 @@ -30,10 +34,19 @@ msgid "" "As a result, it's essential to understand types: they are not fully " "compatible with one another, and misusing them will cause errors." msgstr "" +"У вашому коді значення мають певний [i]тип[/i]. Ви вже дізналися про " +"декілька: цілі числа, десяткові числа, рядки, 2D-вектори, масиви та " +"словники. \n" +"\n" +"Комп’ютер використовує тип значення, щоб знати, які операції та функції " +"можна використовувати з ним. \n" +"\n" +"Тому дуже важливо розуміти типи: вони не повністю сумісні один з одним, і " +"неправильне їх використання призведе до помилок." #: course/lesson-27-value-types/lesson.tres:25 msgid "A prime example" -msgstr "" +msgstr "Яскравий приклад" #: course/lesson-27-value-types/lesson.tres:27 msgid "" @@ -41,6 +54,8 @@ msgid "" "tracks health as a whole number, a value of type [code]int[/code] (short " "for integer)." msgstr "" +"Ви хочете відобразити здоров'я гравця в інтерфейсі. Ваш код відстежує здоров’" +"я як ціле число, значення типу [code]int[/code] (скорочення від integer)." #: course/lesson-27-value-types/lesson.tres:47 msgid "" @@ -49,14 +64,18 @@ msgid "" "\n" "You can concatenate two strings with the [code]+[/code] operator." msgstr "" +"Однак, щоб відобразити його на екрані гравця, комп’ютеру потрібен текст: " +"йому потрібне значення типу [code]String[/code].\n" +"\n" +"Ви можете об’єднати два рядки за допомогою оператора [code]+[/code]." #: course/lesson-27-value-types/lesson.tres:69 msgid "So the following code looks like it could work at first glance." -msgstr "" +msgstr "Отже, на перший погляд, наведений нижче код може працювати." #: course/lesson-27-value-types/lesson.tres:89 msgid "But when running the code, we get this strange error." -msgstr "" +msgstr "Але під час запуску коду ми отримуємо цю дивну помилку." #: course/lesson-27-value-types/lesson.tres:109 msgid "" @@ -66,10 +85,15 @@ msgid "" "In that case, you need to convert the [code]health[/code] number into a " "[code]String[/code]." msgstr "" +"Він повідомляє, що ви не можете додавати значення типу [code]String[/code] і " +"[code]int[/code]: вони несумісні.\n" +"\n" +"У такому випадку вам потрібно перетворити число [code]здоров’я[/code] на " +"[code]рядок[/code]." #: course/lesson-27-value-types/lesson.tres:119 msgid "Converting values into strings" -msgstr "" +msgstr "Перетворення значень у рядки" #: course/lesson-27-value-types/lesson.tres:121 msgid "" @@ -80,6 +104,11 @@ msgid "" "You can use this function whenever you want to turn some number or vector" " into text." msgstr "" +"Ви можете отримати текстове представлення значення, викликавши функцію [code]" +"str()[/code] (скорочення від \"string\"). Функція повертає свій аргумент як " +"новий [code]Рядок[/code].\n" +"\n" +"Ви можете використовувати цю функцію." #: course/lesson-27-value-types/lesson.tres:143 msgid "" @@ -87,10 +116,12 @@ msgid "" "[code]\"100\"[/code]. Or whatever number [code]health[/code] is " "currently." msgstr "" +"У цьому випадку він перетворює число [code]100[/code] на рядок [code]\"100\"" +"[/code]. Або будь-який інший номер [code]здоров'я[/code] на даний момент." #: course/lesson-27-value-types/lesson.tres:151 msgid "Converting strings into numbers" -msgstr "" +msgstr "Перетворення рядків у числа" #: course/lesson-27-value-types/lesson.tres:153 msgid "" @@ -100,10 +131,15 @@ msgid "" "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 "" +"Ви також можете конвертувати рядки в цілі чи десяткові числа за допомогою " +"функцій [code]int()[/code] і [code]float()[/code]. \n" +"\n" +"Ці функції можуть перетворювати те, що гравець пише в текстовому полі, на " +"число. Наприклад, кількість зілля, яке потрібно відразу продати в магазині." #: course/lesson-27-value-types/lesson.tres:173 msgid "Some types are partially compatible" -msgstr "" +msgstr "Деякі типи частково сумісні" #: course/lesson-27-value-types/lesson.tres:175 msgid "" @@ -113,6 +149,11 @@ msgid "" "However, some types are [i]partially[/i] compatible. For example, you can" " multiply or divide a vector by a number. " msgstr "" +"Більшість типів несумісні. Наприклад, ви не можете безпосередньо додати чи " +"помножити масив на число. \n" +"\n" +"Однак деякі типи [i]частково[/i] сумісні. Наприклад, ви можете помножити або " +"поділити вектор на число. " #: course/lesson-27-value-types/lesson.tres:197 msgid "" @@ -123,16 +164,25 @@ msgid "" " 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 "" +"Це можливо тому, що інші розробники визначили цю операцію для вас під " +"капотом. \n" +"\n" +"Однак ви не можете безпосередньо додати чи відняти число до вектора. Ви " +"отримаєте повідомлення про помилку. Ось чому на попередніх уроках вам " +"потрібно було отримати доступ до підзмінних [code]position[/code], щоб " +"додати до них числа." #: course/lesson-27-value-types/lesson.tres:207 msgid "A surprising result" -msgstr "" +msgstr "Дивовижний результат" #: 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 "" +"Візьміть такий розподіл: [code]3/2[/code]. Який результат ви очікуєте " +"отримати? [code]1.5[/code]?" #: course/lesson-27-value-types/lesson.tres:229 msgid "" @@ -147,6 +197,14 @@ msgid "" "When you divide decimal numbers instead, you will get a decimal number as" " a result." msgstr "" +"Що ж, для комп’ютера результатом [code]3/2[/code] є [code]1[/code]. \n" +"\n" +"Почекай, що?! \n" +"\n" +"Це тому, що для комп’ютера ділення двох цілих чисел завжди має призводити до " +"цілого числа. \n" +"\n" +"Якщо натомість ви поділите десяткові числа, ви отримаєте десяткове число." #: course/lesson-27-value-types/lesson.tres:255 msgid "" @@ -158,10 +216,17 @@ msgid "" "lead to bugs like controls not working as intended or charging the wrong " "price to players. " msgstr "" +"Навіть якщо це просто [code]0[/code], додавання десяткового знака повідомляє " +"комп’ютеру, що ми хочемо мати десяткові числа. \n" +"\n" +"Це показує, наскільки уважним потрібно бути з типами. В іншому випадку ви " +"отримаєте несподівані результати. Це може стати досить серйозним: помилки в " +"цифрах можуть призвести до помилок, наприклад, елементів керування, які не " +"працюють належним чином, або стягнення неправильної ціни з гравців. " #: course/lesson-27-value-types/lesson.tres:265 msgid "Understanding and mastering types is a key skill for developers" -msgstr "" +msgstr "Розуміння та опанування типів є ключовим навиком для розробників" #: course/lesson-27-value-types/lesson.tres:267 msgid "" @@ -177,10 +242,21 @@ msgid "" "\n" "That said, let's practice some type conversions." msgstr "" +"Початківці програмувальники часто відчувають труднощі через відсутність " +"розуміння типів. \n" +"\n" +"Такі мови, як GDScript, за умовчанням приховують від вас типи. У результаті, " +"якщо ви не розумієте, що деякі з них несумісні, ви можете застрягти, " +"стикаючись із помилками, пов’язаними з типом. \n" +"\n" +"Пам’ятайте про це під час навчання. Під час написання коду вам потрібно буде " +"розуміти все, що відбувається. \n" +"\n" +"Тим не менш, давайте попрактикуємося в деяких перетвореннях типів." #: course/lesson-27-value-types/lesson.tres:281 msgid "Displaying the player's health and energy" -msgstr "" +msgstr "Відображення здоров'я та енергії гравця" #: course/lesson-27-value-types/lesson.tres:282 msgid "" @@ -197,16 +273,29 @@ msgid "" "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 "" +"Ми хочемо відобразити енергію гравця в інтерфейсі користувача. \n" +"\n" +"Наразі наш код містить помилку типу. Ми намагаємося відобразити ціле число, " +"тоді як функція [code]display_energy()[/code] очікує рядок. \n" +"\n" +"Використовуючи функцію [code]str()[/code], очистіть помилку типу та " +"відобразіть кількість енергії в інтерфейсі. \n" +"\n" +"Ви не можете змінити визначення змінної [code]energy[/code]: встановлення " +"значення [code]\"80\"[/code] порушить решту коду гри. Ви повинні перетворити " +"значення під час виклику [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 "" +"Ми хочемо відобразити енергію гравця в інтерфейсі, але стикаємося з помилкою " +"типу. Використовуйте свої нові знання, щоб виправити це." #: course/lesson-27-value-types/lesson.tres:305 msgid "Letting the player type numbers" -msgstr "" +msgstr "Дозвольте гравцеві вводити числа" #: course/lesson-27-value-types/lesson.tres:306 msgid "" @@ -223,13 +312,26 @@ msgid "" "whole number and store the result in the [code]item_count[/code] " "variable." msgstr "" +"У наших ігрових магазинах ми хочемо дозволити гравцям вводити числа, щоб " +"вибрати кількість предметів, які вони хочуть купити або продати. \n" +"\n" +"Нам потрібно знати кількість елементів у вигляді [code]int[/code], але комп’" +"ютер читає введені гравцем дані як [code]String[/code]. \n" +"\n" +"Ваше завдання — перетворити введені гравцем цифри, щоб код магазину " +"працював. \n" +"\n" +"Використовуючи функцію [code]int()[/code], перетворите введене гравцем у " +"ціле число та збережіть результат у змінній [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 "" +"Ми хочемо, щоб гравець вибирав кількість предметів, які він купує або продає " +"в магазинах нашої гри. Але зараз ми отримуємо лише помилки типу." #: course/lesson-27-value-types/lesson.tres:330 msgid "Value types" -msgstr "" +msgstr "Типи значень" diff --git a/uk/lesson-28-specifying-types.po b/uk/lesson-28-specifying-types.po index 98bc5348..02f23e27 100644 --- a/uk/lesson-28-specifying-types.po +++ b/uk/lesson-28-specifying-types.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-22 22:27+0000\n" +"Last-Translator: Максим Горпиніч \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-28-specifying-types/lesson.tres:13 @@ -26,16 +30,21 @@ msgid "" "\n" "Unlike in some other languages, in GDScript, the following code is valid." msgstr "" +"За замовчуванням GDScript — це те, що ми називаємо динамічно типізованою " +"мовою. Це означає, що ви можете просто написати змінні, призначити їм " +"значення за допомогою числа та призначити їм інше значення іншого типу. \n" +"\n" +"На відміну від деяких інших мов, у GDScript наступний код дійсний." #: course/lesson-28-specifying-types/lesson.tres:35 msgid "" "But this feature often causes problems down the line. Let's take one " "example." -msgstr "" +msgstr "Але ця функція часто викликає проблеми. Візьмемо один приклад." #: course/lesson-28-specifying-types/lesson.tres:43 msgid "Cell size: decimal number, or 2D vector?" -msgstr "" +msgstr "Розмір комірки: десяткове число чи двовимірний вектор?" #: course/lesson-28-specifying-types/lesson.tres:45 msgid "" @@ -52,12 +61,26 @@ msgid "" "\n" "Either of those two values would be fine:" msgstr "" +"В іграх постійно використовуються сітки, чи то для гри на основі сітки, чи " +"для пришвидшення алгоритмів. \n" +"\n" +"Працюючи з сітками, вам потрібно постійно перетворювати координати сітки в " +"позиції в ігровому світі. Для цього ви задаєте кожній клітинці розмір у " +"пікселях. \n" +"\n" +"Ймовірно, для цього ви виберете один із двох типів: [code]float[/code] або " +"[code]Vector2[/code], оскільки позиції пікселів на екрані використовують " +"координати [code]Vector2[/code]. \n" +"\n" +"Будь-яке з цих двох значень підійде:" #: 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] може спростити деякі обчислення. " +"Наприклад, при перетворенні координат сітки в координати ігрового світу." #: course/lesson-28-specifying-types/lesson.tres:91 msgid "" @@ -68,6 +91,11 @@ msgid "" "However, if [code]cell_size[/code] is a [code]float[/code], we will get a" " type error." msgstr "" +"Оскільки в цьому прикладі [code]cell[/code] і [code]cell_size[/code] є " +"значеннями [code]Vector2[/code], ми можемо додати їх. \n" +"\n" +"Однак, якщо [code]cell_size[/code] є [code]float[/code], ми отримаємо " +"помилку типу." #: course/lesson-28-specifying-types/lesson.tres:123 msgid "" @@ -77,6 +105,11 @@ msgid "" "\n" "And that's a big problem." msgstr "" +"Гірше того: завдяки динамічному набору ми не отримаємо помилку [i]відразу[/i]" +". Ми отримаємо помилку лише під час виклику [code]grid_to_world(Vector2(1, " +"1))[/code].\n" +"\n" +"І це велика проблема." #: course/lesson-28-specifying-types/lesson.tres:135 msgid "" @@ -87,10 +120,16 @@ msgid "" "And with a lot of code, it could take [i]hours[/i] of play before players" " trigger a type error in your code." msgstr "" +"Оскільки ми вчимося, у нас є лише невеликі приклади коду в цьому курсі. Але " +"код вашої гри буде довгим і розбиватиметься на багато файлів. Під час " +"кодування ви часто забуваєте про код, який написали кілька тижнів тому. \n" +"\n" +"І з великою кількістю коду можуть знадобитися [i]години[/i] гри, перш ніж " +"гравці виведуть помилку типу у вашому коді." #: course/lesson-28-specifying-types/lesson.tres:145 msgid "Using type hints" -msgstr "" +msgstr "Використання підказок типу" #: course/lesson-28-specifying-types/lesson.tres:147 msgid "" @@ -102,22 +141,34 @@ msgid "" "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 "" +"На щастя, GDScript має додаткові [i]підказки типу[/i]. \n" +"\n" +"Підказки щодо типів дозволяють комп’ютеру знати тип значення, який ви хочете " +"використовувати для змінних, і повідомляти про помилки перед виконанням " +"коду. \n" +"\n" +"Щоб указати тип, який може прийняти змінна, ви можете написати двокрапку та " +"тип після імені під час визначення нової змінної." #: 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 "" +"Ви можете сказати комп’ютеру, що ви хочете, щоб [code]cell_size[/code] " +"приймав лише такі значення [code]Vector2[/code]." #: 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 "" +"Якщо ви пізніше спробуєте замінити [code]cell_size[/code] на значення іншого " +"типу, комп’ютер вам не дозволить." #: course/lesson-28-specifying-types/lesson.tres:219 msgid "Letting the computer figure it out" -msgstr "" +msgstr "Дозвольте комп’ютеру розібратися" #: course/lesson-28-specifying-types/lesson.tres:221 msgid "" @@ -129,16 +180,25 @@ msgid "" "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]виведення типу[/i]. У багатьох випадках, " +"але не у всіх, комп’ютер може визначити для вас тип змінної. \n" +"\n" +"Для цього напишіть [code]:=[/code] без типу. Комп’ютер встановить тип, " +"використовуючи значення після знака рівності. Ми могли б зробити [code]" +"cell_size[/code] змінною типу [code]Vector2[/code] так:" #: 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 "" +"Для цього потрібно небагато набору тексту, але ви отримуєте переваги " +"використання підказок типу, наприклад, комп’ютер краще та швидше повідомляє " +"про помилки." #: course/lesson-28-specifying-types/lesson.tres:251 msgid "Why bother to add hints?" -msgstr "" +msgstr "Навіщо додавати підказки?" #: course/lesson-28-specifying-types/lesson.tres:253 msgid "" @@ -157,10 +217,25 @@ msgid "" "In the following practices, you will write the correct type hints to make" " the code error-free." msgstr "" +"Коли ви даєте такі підказки щодо мови, це [i]запобігає[/i] основним помилкам " +"типу. Коли ви працюєте в Godot, ви побачите, що комп’ютер може повідомляти " +"про проблеми під час написання коду. Це робить користь ще більшою. \n" +"\n" +"Підказки щодо типів також можуть допомогти покращити читабельність вашого " +"коду. Це може допомогти розмістити більше інформації безпосередньо в коді. " +"Як ми бачили, типи є важливими під час кодування, і при використанні " +"підказок типу комп’ютер додасть їх до вбудованої системи документації коду " +"двигуна. \n" +"\n" +"Для вас є неймовірна третя перевага: використовуючи підказки щодо типів, ви " +"вивчатимете типи набагато швидше. Це чудово для навчання. \n" +"\n" +"У наступних вправах ви будете писати правильні підказки щодо типу, щоб " +"зробити код без помилок." #: course/lesson-28-specifying-types/lesson.tres:267 msgid "Add the correct type hints to variables" -msgstr "" +msgstr "Додайте підказки правильного типу до змінних" #: course/lesson-28-specifying-types/lesson.tres:268 msgid "" @@ -172,16 +247,26 @@ msgid "" "Note: You cannot use type inference in this practice. You need to write " "the type name in full." msgstr "" +"Наші змінні отримують правильні значення, але не правильні підказки. " +"Використовуючи type-fu, додайте правильні назви типів у визначеннях змінних. " +"\n" +"\n" +"Назву типу потрібно писати між двокрапкою та знаком рівності. \n" +"\n" +"Примітка. Ви не можете використовувати висновок типу в цій практиці. Назву " +"типу потрібно писати повністю." #: 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 "" +"Наші змінні мають підказки неправильного типу, що спричиняє помилки. " +"Виправте їх, щоб код запустився." #: course/lesson-28-specifying-types/lesson.tres:289 msgid "Fix the values to match the type hints" -msgstr "" +msgstr "Виправте значення відповідно до підказок типу" #: course/lesson-28-specifying-types/lesson.tres:290 msgid "" @@ -191,13 +276,19 @@ msgid "" "Your task is to fix the values after the equal sign, so they match the " "type hint of each variable." msgstr "" +"У цій практиці все навпаки: підказки типів у порядку, але значення ні. \n" +"\n" +"Ваше завдання — виправити значення після знака рівності, щоб вони " +"відповідали підказці типу кожної змінної." #: 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 "" +"Цього разу все навпаки: змінні мають правильні підказки типу, але " +"неправильні значення. Змініть значення, щоб запустити код." #: course/lesson-28-specifying-types/lesson.tres:308 msgid "Specifying types with type hints" -msgstr "" +msgstr "Визначення типів за допомогою підказок типів" diff --git a/uk/lesson-5-your-first-function.po b/uk/lesson-5-your-first-function.po index c93801b5..164e5e1e 100644 --- a/uk/lesson-5-your-first-function.po +++ b/uk/lesson-5-your-first-function.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-12-09 20:05+0100\n" -"PO-Revision-Date: 2024-12-11 07:05+0000\n" +"PO-Revision-Date: 2024-12-13 20:00+0000\n" "Last-Translator: Олександр Пилипчук \n" "Language-Team: Ukrainian \n" @@ -19,7 +19,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 5.9-dev\n" +"X-Generator: Weblate 5.9-rc\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-5-your-first-function/lesson.tres:14 @@ -47,10 +47,16 @@ msgid "" "instructions inside the function as many times as we need. This is what a" " [i]function call[/i] does." msgstr "" +"Функція — це [i]послідовність інструкцій[/i], якій ми дали назву. Цю назву " +"називають [i]ідентифікатором[/i].\n" +"\n" +"Використовуючи цей ідентифікатор, ми можемо наказати комп'ютеру виконати всі " +"вказівки функції стільки разів, скільки нам потрібно. Ось що робить [i]" +"виклик функції[/i]." #: course/lesson-5-your-first-function/lesson.tres:36 msgid "Learn more about identifiers" -msgstr "" +msgstr "Докладніше про ідентифікатори" #: course/lesson-5-your-first-function/lesson.tres:38 msgid "" @@ -66,6 +72,16 @@ msgid "" "If you try to name two functions the same, the computer will raise an " "error." msgstr "" +"У програмуванні, ми називаємо «назви» [i]ідентифікаторами[/i].\n" +"\n" +"Так заведено, оскільки за назвою комп'ютер однозначно [i]ідентифікує[/i] " +"функції або інші елементи коду.\n" +"\n" +"Ідентифікатори унікальні: ви не можете використовувати одну й ту саму назву " +"для різних елементів у одній [i]ділянці[/i] вашого коду.\n" +"\n" +"Якщо ви спробуєте назвати дві функції однаково, комп'ютер повідомить про " +"помилку." #: course/lesson-5-your-first-function/lesson.tres:54 msgid "" @@ -78,6 +94,14 @@ msgid "" "Here's the example of a [code]move_and_rotate()[/code] function that " "moves the turtle forward and then turns it 90°." msgstr "" +"Якщо вам потрібно якийсь код виконати кілька разів, ви можете помістити його " +"у функцію та дати їй назву.\n" +"\n" +"Функція може містити будь-які вказівки у вигляді коду, всі вони будуть " +"виконані при кожному виклику функції.\n" +"\n" +"Наприклад, функція [code]move_and_rotate()[/code] під час виклику " +"перемістить черепашку вперед і поверне її на 90°." #: course/lesson-5-your-first-function/lesson.tres:78 msgid "" @@ -89,6 +113,12 @@ msgid "" "[code]move_and_rotate()[/code] four times to draw a square of length 200 " "pixels." msgstr "" +"Функція [code]move_and_rotate()[/code] складається з двох інструкцій, кожна " +"з яких розташована в окремому рядку. Обидві інструкції викликають інші " +"знайомі вам функції.\n" +"\n" +"Ви можете написати іншу функцію, яка викликає [code]move_and_rotate()[/code] " +"чотири рази, щоб намалювати квадрат з довжиною сторони 200 пікселів." #: course/lesson-5-your-first-function/lesson.tres:100 msgid "" @@ -104,10 +134,21 @@ msgid "" "\n" "[i]Drag the slider to change the square's size.[/i]" msgstr "" +"Кожного разу, коли ми викликаємо [code]move_and_rotate()[/code], послідовно " +"викликаються дві функції [code]move_forward(200)[/code] і " +"[code]turn_right(90)[/code].\n" +"\n" +"З цього простого прикладу може здатися, що це не дуже корисно. Ось " +"корисніший і реалістичніший приклад: функція, яка малює будь-який квадрат.\n" +"\n" +"Ця функція використовує [i]параметри[/i], які ми вивчимо в наступному уроці." +"\n" +"\n" +"[i]Використовуйте повзунок, щоб змінити розмір квадрата.[/i]" #: course/lesson-5-your-first-function/lesson.tres:124 msgid "How to define your own functions" -msgstr "" +msgstr "Як оголошувати власні функції" #: course/lesson-5-your-first-function/lesson.tres:126 msgid "" @@ -116,6 +157,10 @@ msgid "" "A function definition starts with the [code]func[/code] keyword followed " "by a space, the function's name, parentheses, and a colon." msgstr "" +"Розберімо, як оголосити функцію.\n" +"\n" +"Оголошення функції починається з ключового слова [code]func[/code], пропуску " +"після нього, назви функції, круглих дужок і двокрапки." #: course/lesson-5-your-first-function/lesson.tres:148 msgid "" @@ -127,10 +172,17 @@ msgid "" "computer uses them to know which instructions are part of the same code " "block." msgstr "" +"Всі інструкції всередині функції [b]мусять[/b] починатися з символу " +"табуляції. Його можна вставити за допомогою кнопки [b]Tab[/b] на клавіатурі." +"\n" +"\n" +"Символи табуляції на початку рядка ще називають [i]відступами[/i]. Відступи " +"важливі: комп'ютер використовує їх, щоб дізнатися, які інструкції є частиною " +"одного і того ж блоку коду." #: course/lesson-5-your-first-function/lesson.tres:158 msgid "Why do we use functions?" -msgstr "" +msgstr "Чому ми використовуємо функції?" #: course/lesson-5-your-first-function/lesson.tres:161 msgid "" @@ -140,25 +192,30 @@ msgid "" "Because we give functions a name, they also allow us to name a set of " "instructions, which is handy!" msgstr "" +"Функції – це групи інструкцій, які ми використовуємо повторно щоразу, коли " +"викликаємо функцію.\n" +"\n" +"Оскільки ми даємо функціям назви, вони дають нам змогу об'єднати багато " +"інструкцій, що дуже зручно!" #: 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 "" +msgstr "Щоб повторно використати код багато разів. " #: 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 "" +msgstr "Щоб виконати кілька інструкцій за один раз." #: 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 "" +msgstr "Щоб дати назву кільком рядкам коду." #: course/lesson-5-your-first-function/lesson.tres:172 msgid "Names in code have rules" -msgstr "" +msgstr "Щодо назв у коді є правила" #: course/lesson-5-your-first-function/lesson.tres:174 msgid "" @@ -184,14 +241,35 @@ msgid "" " [i]can't[/i] begin with a number, but you can use numbers after the " "first character." msgstr "" +"Ідентифікатори функцій не можуть містити пропусків. Загалом, назви в мовах " +"програмування не можуть містити пропусків.\n" +"\n" +"Комп'ютер використовує пропуски для розпізнавання проміжків між різними " +"ключовими словами та ідентифікаторами.\n" +"\n" +"Замість пропусків у GDScript ми використовуємо нижнє підкреслення («_»). Ви " +"вже бачили його в назвах функцій [code]move_forward()[/code] і " +"[code]move_local_x()[/code]. Цієї угоди ми дотримуємося в GDScript.\n" +"\n" +"Існують й інші угоди, яких дотримуються програмісти в інших мовах " +"програмування.\n" +"\n" +"Замість використання нижнього підкреслення в них усі слова в " +"ідентифікаторах, крім першого, починаються з великих букв. Якби ми " +"дотримувалися цієї угоди, то назви функцій виглядали б так: " +"[code]moveForward()[/code] або [code]moveLocalX()[/code]\n" +"\n" +"Ідентифікатори також [i]мають[/i] починатися з букви або нижнього " +"підкреслення; [i]не можна[/i] починати ідентифікатор цифрою, але цифри можна " +"використовувати після першого символу." #: course/lesson-5-your-first-function/lesson.tres:192 msgid "Which of the following names are valid function names?" -msgstr "" +msgstr "Які з наведених назв є правильними ідентифікаторами функцій?" #: course/lesson-5-your-first-function/lesson.tres:193 msgid "Note that it's fine to use capital letters." -msgstr "" +msgstr "Зауважте, що великі букви використовувати можна." #: course/lesson-5-your-first-function/lesson.tres:195 msgid "" @@ -204,20 +282,28 @@ msgid "" "However, having numbers elsewhere in a function name is fine. That's why " "[code]make3NewCharacters[/code] works." msgstr "" +"Ви не можете назвати функцію [code]move forward[/code], тому що в цій назві " +"є пропуск. Назви в коді не можуть містити пропусків.\n" +"\n" +"Також вони не можуть починатися цифрою, тому назва " +"[code]45_degree_turn[/code] – неправильна.\n" +"\n" +"Однак, в іншому місці назви функції цифри використати можна. Тому " +"[code]make3NewCharacters[/code] – це допустима назва." #: course/lesson-5-your-first-function/lesson.tres:200 msgid "move forward" -msgstr "" +msgstr "move forward" #: course/lesson-5-your-first-function/lesson.tres:200 #: course/lesson-5-your-first-function/lesson.tres:201 msgid "jump" -msgstr "" +msgstr "jump" #: course/lesson-5-your-first-function/lesson.tres:200 #: course/lesson-5-your-first-function/lesson.tres:201 msgid "make3NewCharacters" -msgstr "" +msgstr "make3NewCharacters" #: course/lesson-5-your-first-function/lesson.tres:200 #: course/lesson-5-your-first-function/lesson.tres:201 @@ -226,11 +312,11 @@ msgstr "" #: course/lesson-5-your-first-function/lesson.tres:200 msgid "45_degree_turn" -msgstr "" +msgstr "45_degree_turn" #: course/lesson-5-your-first-function/lesson.tres:208 msgid "Instantly moving the turtle to a different position" -msgstr "" +msgstr "Миттєво переміщуємо черепашку в інше положення" #: course/lesson-5-your-first-function/lesson.tres:210 msgid "" @@ -243,10 +329,18 @@ msgid "" "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 "" +"Для того, щоб намалювати кілька квадратів у різних місцях, створимо нову " +"функцію для керування нашою черепашкою.\n" +"\n" +"Функція [code]jump()[/code] піднімає черепашку і ставить її кудись відносно " +"місця, де вона перебуває зараз.\n" +"\n" +"Виклик [code]jump(-100, 50)[/code] переміщує черепашку на 100 пікселів " +"[b]ліворуч[/b] і 50 пікселів [b]униз[/b] без малювання нових ліній." #: course/lesson-5-your-first-function/lesson.tres:232 msgid "A function to draw squares" -msgstr "" +msgstr "Функція для малювання квадратів" #: course/lesson-5-your-first-function/lesson.tres:233 msgid "" @@ -259,16 +353,27 @@ msgid "" "In the following practice, you'll use the [code]draw_square()[/code] " "function to draw multiple squares by calling your own function." msgstr "" +"Напишіть функцію з назвою [code]draw_square()[/code] щоб намалювати один " +"квадрат зі стороною 200 пікселів. Функція не повинна приймати параметрів.\n" +"\n" +"Для керування черепашкою скористайтеся функціями [code]move_forward()[/code] " +"і [code]turn_right()[/code].\n" +"\n" +"У наступній практичній вправі, ви використаєте власну функцію " +"[code]draw_square()[/code] для створення кількох квадратів." #: 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 "" +"Досі вам доводилося писати код від руки, і це нудно. Настав час створити " +"функцію, яку можна використовувати багато разів. За її допомогою ви " +"намалюєте кілька квадратів." #: course/lesson-5-your-first-function/lesson.tres:251 msgid "Drawing multiple squares" -msgstr "" +msgstr "Малюємо кілька квадратів" #: course/lesson-5-your-first-function/lesson.tres:252 msgid "" @@ -286,13 +391,28 @@ msgid "" "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 "" +"Ви маєте функцію для того, щоб намалювати один квадрат: " +"[code]draw_square()[/code]. Скористайтеся нею, щоб намалювати три квадрати.\n" +"\n" +"Ми вже створили для вас [code]draw_square()[/code]. Створіть функцію з " +"назвою [code]draw_three_squares[/code], котра тричі викликає " +"[code]draw_square()[/code].\n" +"\n" +"Якщо ви просто викличете функцію, всі три квадрати будуть намальовані один " +"поверх одного. Щоб розмістити їх по діагоналі, між викликами " +"[code]draw_square()[/code] викличте [code]jump(300, 300)[/code].\n" +"\n" +"Виклик [code]jump(300,300)[/code] змушує черепашку стрибнути на 300 пікселів " +"праворуч та 300 пікселів униз, без малювання нових ліній." #: 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 "" +"Тепер, коли ви створили функцію, що малює квадрати, її можна використовувати " +"повторно, тобто викликати кілька разів." #: course/lesson-5-your-first-function/lesson.tres:279 msgid "Coding Your First Function" -msgstr "" +msgstr "Створення першої функції" diff --git a/uk/lesson-6-multiple-function-parameters.po b/uk/lesson-6-multiple-function-parameters.po index b606c885..db7c48cb 100644 --- a/uk/lesson-6-multiple-function-parameters.po +++ b/uk/lesson-6-multiple-function-parameters.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-13 22:36+0000\n" +"Last-Translator: Олександр Пилипчук \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.9-rc\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-6-multiple-function-parameters/lesson.tres:14 @@ -30,6 +34,15 @@ msgid "" "In previous lessons, you used the [code]rotate()[/code] function and gave" " it an [i]argument[/i]." msgstr "" +"У попередній частині ви створили функцію для малювання квадрата фіксованого " +"розміру.\n" +"\n" +"Ця функція трохи обмежена. Було б значно корисніше мати функцію для " +"малювання квадрата [i]довільного[/i] розміру. Або краще: будь-якого " +"прямокутника (квадрат - це різновид прямокутника).\n" +"\n" +"У попередніх уроках під час виклику функції [code]rotate()[/code] ви " +"передавали їй [i]аргумент[/i]." #: course/lesson-6-multiple-function-parameters/lesson.tres:38 msgid "" @@ -37,16 +50,22 @@ msgid "" "[i]parameters[/i]. Parameters are labels you give to values passed to the" " function." msgstr "" +"Ми можемо додати [i]параметри[/i] і до нашої функції, подібно до того, як " +"робили це в [code]rotate()[/code]. Параметри — це назви значень, які " +"передаються у функцію." #: course/lesson-6-multiple-function-parameters/lesson.tres:46 msgid "Can I rotate in both directions?" -msgstr "" +msgstr "Чи можу я обертати в обох напрямках?" #: 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]radians[/code] може бути додатним або від'ємним числом, що " +"дає змогу використовувати функцію для обертання об'єкта як за, так і проти " +"годинникової стрілки." #: course/lesson-6-multiple-function-parameters/lesson.tres:58 msgid "" @@ -64,10 +83,23 @@ msgid "" "\n" "For now, we'll stick to numbers as we have yet to see other value types." msgstr "" +"А зараз зосередьтеся на цьому рядку: [code]func rotate(radians)[/code].\n" +"\n" +"Коли ви викликаєте [code]rotate(0.5)[/code], комп'ютер прив'язує значення " +"[code]0.5[/code] до мітки [code]radians[/code].\n" +"\n" +"Скрізь, де комп'ютер бачить усередині функції ідентифікатор " +"[code]radians[/code], він замінює його значенням [code]0.5[/code].\n" +"\n" +"Назва параметра – це позначка, яку ви використовуєте для посилання на " +"[i]значення[/i]. Це значення може бути числом, текстом або ще чимсь.\n" +"\n" +"Поки що ми працюємо з числовими значеннями, проте, пізніше ознайомимося з " +"іншими типами значень." #: course/lesson-6-multiple-function-parameters/lesson.tres:74 msgid "What is a function parameter?" -msgstr "" +msgstr "Що таке параметр функції?" #: course/lesson-6-multiple-function-parameters/lesson.tres:77 msgid "" @@ -76,23 +108,27 @@ msgid "" "The value in question can change: it depends on what you put in " "parentheses when calling a function." msgstr "" +"Параметр — це мітка, яка відповідає значенню.\n" +"\n" +"Значення може змінюватися: воно залежить від того, що ви напишете в круглих " +"дужках під час виклику функції." #: 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 "" +msgstr "Назва для значення, яке приймає функція." #: course/lesson-6-multiple-function-parameters/lesson.tres:80 msgid "A number you use to make calculations." -msgstr "" +msgstr "Число, яке ви використовуєте для обчислень." #: course/lesson-6-multiple-function-parameters/lesson.tres:80 msgid "The name of a function." -msgstr "" +msgstr "Назва функції." #: course/lesson-6-multiple-function-parameters/lesson.tres:88 msgid "How to create functions with parameters" -msgstr "" +msgstr "Як створювати функції з параметрами" #: course/lesson-6-multiple-function-parameters/lesson.tres:90 msgid "" @@ -101,6 +137,10 @@ msgid "" "\n" "To do so, you add a name inside of the parentheses." msgstr "" +"Ви можете задати параметри вашої функції при написанні її [i]оголошення[/i] (" +"рядка, що починається з ключового слова [code]func[/code]).\n" +"\n" +"Для цього слід додати назву в круглих дужках." #: course/lesson-6-multiple-function-parameters/lesson.tres:112 msgid "" @@ -113,6 +153,14 @@ msgid "" "The following function definition is exactly equivalent to the previous " "one." msgstr "" +"Ви можете назвати параметри як завгодно. Як називати функцій та параметри — " +"вирішуєте ви. \n" +"\n" +"Просто пам'ятайте, що назви не можуть містити пропусків. Для запису назв " +"параметрів, що складаються з кількох слів, слід використовувати символи " +"підкреслення.\n" +"\n" +"Наступне оголошення функції еквівалентне попередньому." #: course/lesson-6-multiple-function-parameters/lesson.tres:136 msgid "" @@ -122,10 +170,15 @@ msgid "" "change the value passed to the function and draw squares of different " "sizes." msgstr "" +"Параметри спрощують повторне використання коду.\n" +"\n" +"Ось приклад із функцією малювання будь-якого квадрата. Щоб намалювати " +"квадрати різних розмірів, змінюйте повзунком значення параметра, яке " +"передається у функцію." #: course/lesson-6-multiple-function-parameters/lesson.tres:156 msgid "Which is the correct syntax for a function definition?" -msgstr "" +msgstr "Який синтаксис є правильним для оголошення функції?" #: course/lesson-6-multiple-function-parameters/lesson.tres:159 msgid "" @@ -137,27 +190,34 @@ msgid "" " see moving forward that keywords other than [code]func[/code] require a " "colon at the end of the line." msgstr "" +"Щоб оголосити функцію, потрібно розпочати із ключового слова " +"[code]func[/code], за ним поставить пропуск, [code]назву_функції[/code] і, " +"за необхідності, вказати в круглих дужках параметри.\n" +"\n" +"В кінці рядка слід поставити двокрапку, що визначає новий блок коду. Надалі " +"ми побачимо, що є інші ключові слова, крім [code]func[/code], після яких у " +"кінці рядка також ставиться двокрапка." #: 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 "" +msgstr "func назва_функції(назва_параметру):" #: course/lesson-6-multiple-function-parameters/lesson.tres:162 msgid "func (function_name): parameter_name" -msgstr "" +msgstr "func (назва_функції): назва_параметру" #: course/lesson-6-multiple-function-parameters/lesson.tres:162 msgid "func function_name(parameter_name)" -msgstr "" +msgstr "func назва_функції(назва_параметру)" #: course/lesson-6-multiple-function-parameters/lesson.tres:162 msgid "function_name(parameter_name):" -msgstr "" +msgstr "назва_функції(назва_параметру):" #: course/lesson-6-multiple-function-parameters/lesson.tres:170 msgid "Functions can have multiple parameters" -msgstr "" +msgstr "Функції можуть мати декілька параметрів" #: course/lesson-6-multiple-function-parameters/lesson.tres:172 msgid "" @@ -167,10 +227,14 @@ msgid "" "To separate the function parameters, you need to write a comma between " "them." msgstr "" +"У функції можна використати кілька параметрів. Насправді, ви можете " +"використовувати стільки параметрів, скільки [i]потрібно[/i].\n" +"\n" +"Щоб розділити параметри функції, між ними ставлять кому." #: course/lesson-6-multiple-function-parameters/lesson.tres:192 msgid "Must I write spaces between function parameters?" -msgstr "" +msgstr "Чи обов'язково ставити пропуски між параметрами функції?" #: course/lesson-6-multiple-function-parameters/lesson.tres:194 msgid "" @@ -183,16 +247,26 @@ msgid "" "\n" "We often use spaces after the comma for readability." msgstr "" +"В оголошенні функції між ключовим словом [code]func[/code] і назвою функції " +"має бути пропуск.\n" +"\n" +"Однак, оскільки ми відокремлюємо параметри комою, використовувати пропуски " +"між ними не обов'язково. За наявності коми будь-який синтаксис буде " +"правильним.\n" +"\n" +"Ми часто ставимо пропуск після коми для зручності читання." #: 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 "" +"У цьому прикладі оголошено функцію, яка використовує два параметри для " +"переміщення об'єкта вздовж осей X та Y." #: course/lesson-6-multiple-function-parameters/lesson.tres:226 msgid "How should I name my functions and parameters?" -msgstr "" +msgstr "Як правильно називати свої функції та параметри?" #: course/lesson-6-multiple-function-parameters/lesson.tres:228 msgid "" @@ -228,58 +302,96 @@ msgid "" "Based on a few characters you [ignore]type, it will offer you to complete" " long names." msgstr "" +"Назви функцій, параметрів та інших речей у вашому коді залежать лише від вас." +"\n" +"\n" +"Їх написали ми, програмісти, для інших програмістів. Правильніше " +"використовувати назви, які несуть найбільше змісту для вас та інших " +"програмістів.\n" +"\n" +"Ви можете писати однолітерні назви, як на уроках математики: [code]a[/code], " +"[code]b[/code], [code]f[/code].\n" +"\n" +"Також ви можете писати скорочені назви, наприклад [code]pos[/code] для " +"позиції, [code]bg[/code] для тла тощо.\n" +"\n" +"Багато програмістів вибирають один або обидва зі згаданих вище варіантів.\n" +"\n" +"У GDQuest ми надаємо перевагу повним і ясним назвам.\n" +"\n" +"Зазвичай ми намагаємося писати зрозумілий і відносно легко прочитний код.\n" +"\n" +"Зараз при написанні коду вам доводиться вводити кожну букву, тому довгі " +"назви можуть здатися незручними.\n" +"\n" +"Однак це корисно для навчання: це тренує ваші пальці [ignore]друкувати " +"точніше.\n" +"\n" +"Пізніше, по закінченні цього курсу, ви побачите, що комп'ютер дуже допомагає " +"вам при програмуванні реальних ігор завдяки функції, яку називають " +"автодоповненням.\n" +"\n" +"На основі кількох [ignore]надрукованих символів, він пропонуватиме вам " +"варіанти закінчення довгих назв." #: course/lesson-6-multiple-function-parameters/lesson.tres:256 msgid "When defining a function, parameters are..." -msgstr "" +msgstr "При визначенні функції параметри..." #: course/lesson-6-multiple-function-parameters/lesson.tres:259 msgid "" "You can define functions with or without parameters, depending on your " "needs." msgstr "" +"Ви можете оголошувати функції з параметрами або без них, залежно від ваших " +"потреб." #: course/lesson-6-multiple-function-parameters/lesson.tres:260 #: course/lesson-6-multiple-function-parameters/lesson.tres:261 msgid "Optional" -msgstr "" +msgstr "Необов'язкові" #: course/lesson-6-multiple-function-parameters/lesson.tres:260 msgid "Mandatory" -msgstr "" +msgstr "Обов'язкові" #: course/lesson-6-multiple-function-parameters/lesson.tres:268 msgid "What's the correct syntax to define a function with multiple parameters?" msgstr "" +"Який синтаксис використовують для оголошення функції з кількома параметрами?" #: 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 "" +"Параметри функції завжди пишуть у круглих дужках. Щоб задати кілька " +"параметрів, відокремлюйте їх комою." #: 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 "" +msgstr "func назва_функції(параметр_1, параметр_2, ...):" #: course/lesson-6-multiple-function-parameters/lesson.tres:272 msgid "func function_name(parameter_1 parameter_2 ...):" -msgstr "" +msgstr "func назва_функції(параметр_1 параметр_2 ...):" #: course/lesson-6-multiple-function-parameters/lesson.tres:272 msgid "func function_name(): parameter_1, parameter_2, ..." -msgstr "" +msgstr "func назва_функції(): параметр_1, параметр_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 "" +"Тепер ваша черга створити функцію з кількома параметрами: функцію для " +"малювання прямокутників будь-якого розміру." #: course/lesson-6-multiple-function-parameters/lesson.tres:290 msgid "Drawing corners of different sizes" -msgstr "" +msgstr "Малювання кутів зі сторонами різних розмірів" #: course/lesson-6-multiple-function-parameters/lesson.tres:291 msgid "" @@ -296,16 +408,30 @@ msgid "" "Complete the [code]draw_corner()[/code] function so it uses the " "[code]length[/code] parameter to draw corners." msgstr "" +"Перш ніж ми створимо прямокутник довільного розміру, подивімося, як можна " +"використовувати параметри для малювання простіших фігур.\n" +"\n" +"Тут у нас є недопрацьована функція, яка повинна малювати кути зі сторонами " +"будь-якої довжини, але їй не вистачає параметра [code]length[/code].\n" +"\n" +"Ця функція повинна змусити черепашку переміститися вперед на величину, " +"визначену параметром [code]length[/code], повернути на [code]90[/code] " +"градусів, потім переміститися вперед на [code]length[/code] пікселів.\n" +"\n" +"Допрацюйте функцію [code]draw_corner()[/code] так, щоб вона використовувала " +"параметр [code]length[/code] для малювання кутів." #: 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 "" +"Використовуючи параметри функції, створіть функцію, яку можна " +"використовувати для малювання кутів зі сторонами різних розмірів." #: course/lesson-6-multiple-function-parameters/lesson.tres:314 msgid "Using multiple parameters" -msgstr "" +msgstr "Використання кількох параметрів" #: course/lesson-6-multiple-function-parameters/lesson.tres:315 msgid "" @@ -316,14 +442,22 @@ msgid "" "parameter in the [code]draw_corner()[/code] function and use it to draw " "corners of varying angles." msgstr "" +"У цій вправі ми вдосконалимо нашу функцію [code]draw_corner()[/code], щоб " +"кут перетину ліній також міг змінюватися.\n" +"\n" +"Додайте у функцію [code]draw_corner()[/code] параметр [code]angle[/code] " +"після параметра [code]length[/code], і використовуйте її для малювання кутів " +"різної величини." #: course/lesson-6-multiple-function-parameters/lesson.tres:329 msgid "With two parameters, code a function to draw corners with any angle." msgstr "" +"Напишіть функцію для малювання кутів будь-якої величини за допомогою двох " +"параметрів." #: course/lesson-6-multiple-function-parameters/lesson.tres:334 msgid "Drawing squares of any size" -msgstr "" +msgstr "Малювання квадратів будь-якого розміру" #: course/lesson-6-multiple-function-parameters/lesson.tres:335 msgid "" @@ -341,16 +475,32 @@ msgid "" "Be sure to call [b]turn_right(90)[/b] enough times in your function to " "do so." msgstr "" +"Нам потрібна функція для малювання квадратів будь-якого розміру.\n" +"\n" +"Ми можемо використовувати ці квадрати як контури при виборі юнітів у " +"тактичній грі, як рамку для предметів у інвентарі тощо.\n" +"\n" +"Створи функцію [code]draw_square()[/code], яка приймає один параметр: " +"[code]length[/code] — довжину сторони квадрата.\n" +"\n" +"[b]Перед початком і після закінчення малювання квадрата черепашка має бути " +"повернута праворуч.[/b]\n" +"\n" +"Переконайтеся, що [b]turn_right(90)[/b] викликано у вашій функції достатню " +"кількість разів, щоб зробити це." #: 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 "" +"У попередньому уроці ваша функція малювала квадрати фіксованого розміру. " +"Скориставшись параметром, напишіть функцію для малювання квадратів будь-" +"якого розміру." #: course/lesson-6-multiple-function-parameters/lesson.tres:357 msgid "Drawing rectangles of any size" -msgstr "" +msgstr "Малювання прямокутників будь-якого розміру" #: course/lesson-6-multiple-function-parameters/lesson.tres:358 msgid "" @@ -368,13 +518,28 @@ msgid "" " by having the [code]length[/code] and [code]height[/code] equal the same" " value." msgstr "" +"Зробімо нашу функцію малювання квадрата гнучкішою, щоб за її допомогою можна " +"було малювати прямокутники різного розміру.\n" +"\n" +"Ваше завдання - написати функцію [code]draw_rectangle()[/code], яка приймає " +"два параметри: довжину [code]length[/code] і висоту [code]height[/code] " +"прямокутника.\n" +"\n" +"[b]Перед початком та після закінчення малювання прямокутника черепашка має " +"бути повернена вправо.[/b]\n" +"\n" +"Зверніть увагу, що ми все ще можемо намалювати квадрат за допомогою " +"[code]draw_rectangle()[/code], якщо передамо до неї однакові значення для " +"[code]length[/code] і [code]height[/code]." #: 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 "" +"Один параметр дає змогу малювати квадрати будь-якого розміру. Два параметри " +"дають змогу намалювати будь-який прямокутник! Цим ви займетеся в цій вправі." #: course/lesson-6-multiple-function-parameters/lesson.tres:385 msgid "Your First Function Parameter" -msgstr "" +msgstr "Ваш перший параметр функції" diff --git a/uk/lesson-7-member-variables.po b/uk/lesson-7-member-variables.po index 5c6613d4..6745ac03 100644 --- a/uk/lesson-7-member-variables.po +++ b/uk/lesson-7-member-variables.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-15 09:00+0000\n" +"Last-Translator: Олександр Пилипчук \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.9-rc\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-7-member-variables/lesson.tres:14 @@ -34,6 +38,20 @@ msgid "" "keep track of values that vary over time. Here's an example of a variable" " tracking a character or monster's health." msgstr "" +"У цьому уроці ми вперше розглянемо змінні.\n" +"\n" +"В іграх вам потрібно відстежувати безліч значень, які змінюються з часом:\n" +"\n" +"- Рахунок гравця.\n" +"- Здоров'я кожного персонажа або ворога.\n" +"- Останню контрольну точку.\n" +"\n" +"І багато іншого. Вам потрібно зберігати, отримувати та оновлювати ці " +"значення.\n" +"\n" +"Ми називаємо ці значення [i]змінними[/i]. Змінні — це позначки, які ви " +"використовуєте для відстеження значень, які змінюються з часом. Ось приклад " +"змінної, яка відстежує здоров'я персонажа або монстра." #: course/lesson-7-member-variables/lesson.tres:44 msgid "" @@ -44,6 +62,12 @@ msgid "" "Function parameters, which you saw in the previous lesson, are another " "example of variables." msgstr "" +"Рядок угорі визначає нову змінну з назвою [code]health[/code] і надає їй " +"початкове значення [code]100[/code] (докладніше про те, що робить знак " +"дорівнює, буде нижче).\n" +"\n" +"Параметри функції, які ви бачили в попередньому уроці, є ще одним прикладом " +"змінних." #: course/lesson-7-member-variables/lesson.tres:56 msgid "" @@ -57,6 +81,15 @@ msgid "" "In a previous lesson, we saw how we could use the [code]rotate()[/code] " "function to rotate our character." msgstr "" +"У цьому уроці ми почнемо використовувати змінні, вбудовані в Godot. Це " +"особливий вид змінних, їх називають [i]властивостями[/i].\n" +"\n" +"Властивості - це значення, пов'язані з ігровим об'єктом, наприклад, це: " +"положення [code]position[/code], поворот [code]rotation[/code] і масштаб " +"[code]scale[/code] персонажа.\n" +"\n" +"У попередньому уроці ми бачили, як можна використати функцію " +"[code]rotate()[/code] для повороту персонажа." #: course/lesson-7-member-variables/lesson.tres:80 msgid "" @@ -73,16 +106,30 @@ msgid "" "The following code assigns the value [code]0[/code] to the character's " "rotation, resetting its angle and making it upright." msgstr "" +"Ця функція збільшує або зменшує значення властивості [code]rotation[/code] " +"об'єкта.\n" +"\n" +"Припустимо, ми хочемо скинути кут нахилу на [code]0[/code] і повернути " +"персонажа у вертикальне положення. Використання функції [code]rotate()[/code]" +" може виявитися складним: для скасування повороту потрібно точно знати " +"поточний кут нахилу персонажа.\n" +"\n" +"Значно простіше використовувати властивість, а не функцію.\n" +"\n" +"У цьому коді надаємо значення [code]0[/code] для властивості персонажа, " +"скидаючи його кут повороту." #: 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 "" +"Зверніть увагу, як ми використовуємо знак рівності ([code]=[/code]) для " +"змінення значення змінної." #: course/lesson-7-member-variables/lesson.tres:114 msgid "What's a variable?" -msgstr "" +msgstr "Що таке змінна?" #: course/lesson-7-member-variables/lesson.tres:117 msgid "" @@ -91,23 +138,28 @@ msgid "" "You can also use them to put a name on a value you want to reuse " "throughout your code. It makes your code easier to read and to change." msgstr "" +"Змінні - це позначки, які ви використовуєте для доступу до значень, що " +"змінюються з часом.\n" +"\n" +"Також їх можна використати, щоб дати назву значенню, яке ви хочете повторно " +"використовувати в усьому коді. Це полегшує читання та змінювання коду." #: 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 "" +msgstr "Позначка для стеження за значенням, яке може змінюватись." #: course/lesson-7-member-variables/lesson.tres:120 msgid "A function that varies over time." -msgstr "" +msgstr "Функція, яка змінюється з часом." #: course/lesson-7-member-variables/lesson.tres:120 msgid "A decimal number." -msgstr "" +msgstr "Десятковий дріб." #: course/lesson-7-member-variables/lesson.tres:128 msgid "Accessing sub-variables with the dot" -msgstr "" +msgstr "Використання крапки для доступу до вкладених змінних" #: course/lesson-7-member-variables/lesson.tres:130 msgid "" @@ -126,6 +178,20 @@ msgid "" "The code below places the entity at [code]200[/code] pixels on the x-axis" " and [code]250[/code] pixels on the y-axis." msgstr "" +"У відеоіграх ви побачите багато властивостей, які мають вкладені значення.\n" +"\n" +"Наприклад, згадане положення [code]position[/code] має дві координати: " +"[code]x[/code] і [code]y[/code].\n" +"\n" +"Це стосується й масштабу [code]scale[/code]: він має вкладені змінні " +"[code]x[/code] і [code]y[/code]. Вони керують, відповідно, горизонтальним та " +"вертикальним розмірами ігрового об'єкта.\n" +"\n" +"Щоб отримати доступ до цих вкладених компонентів X та Y, додайте після назви " +"змінної крапку (\".\").\n" +"\n" +"Наведений нижче код розміщує об'єкт у положення [code]200[/code] пікселів за " +"віссю x і [code]250[/code] пікселів за віссю y." #: course/lesson-7-member-variables/lesson.tres:158 msgid "" @@ -139,10 +205,19 @@ msgid "" "the variable on the left\". We assign values so often in code that we " "prefer to reserve the equal sign for that." msgstr "" +"Зверніть увагу, як ми використовуємо знак рівності (\"=\"), щоб присвоїти " +"числа праворуч вкладеним змінним ліворуч.\n" +"\n" +"На відміну від математики, у комп'ютерному програмуванні знак рівності (\"=\"" +") не означає \"дорівнює\".\n" +"\n" +"Натомість він означає \"присвоїти значення виразу праворуч змінній ліворуч\"" +". Ми в коді настільки часто присвоюємо значення, що вирішили використати " +"знак рівності саме для цього." #: course/lesson-7-member-variables/lesson.tres:170 msgid "In games, the Y-axis is positive going down" -msgstr "" +msgstr "В іграх вісь Y напрямлена вниз" #: course/lesson-7-member-variables/lesson.tres:172 msgid "" @@ -155,10 +230,18 @@ msgid "" "The convention is the [i]opposite[/i] in video games and many computer " "applications: the y-axis is positive going down." msgstr "" +"Зверніть увагу, що в іграх, якщо ваш персонаж перебуває в положенні (0, 0), " +"наведений вище код перемістить його на [code]200[/code] пікселів праворуч і " +"на [code]250[/code] пікселів униз.\n" +"\n" +"У математиці, як правило, вісь Y спрямовують угору.\n" +"\n" +"У відеоіграх та багатьох комп'ютерних програмах прийнято [i]протилежне[/i]: " +"додатний кінець осі Y спрямований униз." #: course/lesson-7-member-variables/lesson.tres:194 msgid "Why does the Y-axis point downwards?" -msgstr "" +msgstr "Чому вісь Y спрямована вниз?" #: course/lesson-7-member-variables/lesson.tres:196 msgid "" @@ -175,16 +258,29 @@ msgid "" "calculate and display pixels starting from the top left corner and moving" " towards the bottom right corner." msgstr "" +"Це може збивати з пантелику, якщо ви бачили тільки вісь Y, що вказує вгору, " +"на уроках математики. Однак у математиці осі можуть мати будь-який напрям. " +"Вони навіть не завжди перпендикулярні.\n" +"\n" +"На комп'ютері позиція (0, 0) відповідає верхньому лівому куту екрана. Тому, " +"вибір додатних координат при русі до правого нижнього кута має сенс.\n" +"\n" +"Це викликає інше питання: чому нульова позиція міститься у верхньому лівому " +"куті екрана? Так склалося в ході розвитку комп'ютерних та телевізійних " +"дисплеїв: вони обчислювали та відображали пікселі, починаючи з верхнього " +"лівого кута, рухаючись до нижнього правого." #: 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 "" +"Перш ніж перейти до вправ, розглянемо останній приклад. Такий код робить " +"персонажа в 1.5 рази більшим за його початковий розмір." #: course/lesson-7-member-variables/lesson.tres:228 msgid "How do you access sub-variables?" -msgstr "" +msgstr "Як отримати доступ до вкладених змінних?" #: course/lesson-7-member-variables/lesson.tres:229 msgid "" @@ -192,6 +288,9 @@ msgid "" "sub-variables: [code]x[/code] and [code]y[/code]. How would you access " "the [code]x[/code], for example?" msgstr "" +"Змінні часто містять вкладені значення, наприклад, положення " +"[code]position[/code] має дві вкладені змінні: [code]x[/code] і " +"[code]y[/code]. Як отримати доступ, наприклад, до [code]x[/code]?" #: course/lesson-7-member-variables/lesson.tres:231 msgid "" @@ -201,21 +300,26 @@ msgid "" "For example, to access the [code]x[/code] sub-variable of the " "[code]position[/code] variable, you'll write [code]position.x[/code]." msgstr "" +"Щоб отримати доступ до вкладеної змінної, слід поставити крапку між назвою " +"батьківської змінної та назвою вкладеної змінної.\n" +"\n" +"Наприклад, щоб отримати доступ до вкладеного значення [code]x[/code] змінної " +"[code]position[/code], слід написати [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 "" +msgstr "Поставити крапку (\".\") між змінною та назвою вкладеної змінної." #: course/lesson-7-member-variables/lesson.tres:234 msgid "" "You write an arrow (\"->\") between the variable and the sub-variable " "name." -msgstr "" +msgstr "Поставити стрілку (\"->\") між змінною та назвою вкладеної змінної." #: course/lesson-7-member-variables/lesson.tres:234 msgid "You write a slash (\"/\") between the variable and the sub-variable name." -msgstr "" +msgstr "Поставити косу риску (\"/\") між змінною та назвою вкладеної змінної." #: course/lesson-7-member-variables/lesson.tres:244 msgid "" @@ -233,10 +337,23 @@ msgid "" "\n" "For now, let's practice accessing variables." msgstr "" +"У наступному уроці ми пояснимо, чому і навіщо в цих змінних є вкладені " +"змінні.\n" +"\n" +"Поки що просто знайте, що для доступу до них використовують крапку.\n" +"\n" +"Ми розповімо вам, які змінні мають вкладені компоненти та як вони " +"називаються.\n" +"\n" +"У наступних уроках ви створите власні змінні і використовуватимете їх в " +"операціях додавання або віднімання [code]score[/code] (очків) і " +"[code]health[/code] (здоров'я).\n" +"\n" +"А поки що потренуймося отримувати доступ до змінних." #: course/lesson-7-member-variables/lesson.tres:260 msgid "Draw a rectangle at a precise position" -msgstr "" +msgstr "Намалюйте прямокутник у точному положенні" #: course/lesson-7-member-variables/lesson.tres:261 msgid "" @@ -246,16 +363,23 @@ msgid "" "You need to replace the numbers in the code editor to draw the correct " "rectangle." msgstr "" +"Намалюйте прямокутник розміром 200 на 120 пікселів у позиції X – 120 та Y – " +"100 пікселів.\n" +"\n" +"Вам потрібно замінити числа в редакторі коду, щоб намалювати прямокутник " +"правильно." #: 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 "" +"Щоб зміни положення прямокутника, скористайтеся властивістю position та її " +"внутрішніми змінними." #: course/lesson-7-member-variables/lesson.tres:280 msgid "Draw squares at different positions" -msgstr "" +msgstr "Намалюйте квадрати в різних місцях" #: course/lesson-7-member-variables/lesson.tres:281 msgid "" @@ -276,6 +400,22 @@ msgid "" "Use the provided [code]draw_rectangle()[/code] function to draw each " "square." msgstr "" +"Намалюйте три квадрати розміром 100 на 100, розташувавши їх на відстані 100 " +"пікселів один від одного вздовж горизонтальної осі. Іншими словами, між " +"двома квадратами має бути проміжок на 100 пікселів.\n" +"\n" +"Ви повинні намалювати квадрати, починаючи з позиції (100, 100). Це означає, " +"що перший квадрат має розташовуватися. в координатах 100 за віссю X і 100 за " +"віссю Y.\n" +"\n" +"Пам'ятайте, що для змінення значення змінної, наприклад, положення " +"черепашки, використовують знак рівності ([code]=[/code]).\n" +"\n" +"Напишіть свій код всередині функції [code]run()[/code], щоб комп'ютер міг " +"його розпізнати.\n" +"\n" +"Використайте цю функцію [code]draw_rectangle()[/code] для малювання кожного " +"з квадратів." #: course/lesson-7-member-variables/lesson.tres:299 msgid "" @@ -283,7 +423,10 @@ msgid "" "this practice, you'll place three squares side by side to really get the " "hang of properties." msgstr "" +"Тепер ви можете розмістити та намалювати одну фігуру, але як щодо малювання " +"кількох? У цій вправі ви розмістите три квадрати поруч один з одним, щоб " +"дійсно навчитися користуватися властивостями." #: course/lesson-7-member-variables/lesson.tres:303 msgid "Introduction to Member Variables" -msgstr "" +msgstr "Вступ до властивостей" diff --git a/uk/lesson-8-defining-variables.po b/uk/lesson-8-defining-variables.po index 67f23a8a..cc28fb5e 100644 --- a/uk/lesson-8-defining-variables.po +++ b/uk/lesson-8-defining-variables.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-17 21:00+0000\n" +"Last-Translator: Олександр Пилипчук \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.9.2-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-8-defining-variables/lesson.tres:13 @@ -43,6 +47,28 @@ msgid "" "The [i]Debugger[/i] panel at the bottom shows the current value of the " "[code]health[/code] variable." msgstr "" +"У попередньому уроці ви використовували передвизначену властивість з назвою " +"[code]position[/code].\n" +"\n" +"У своїх проєктах вам доведеться визначати власні змінні.\n" +"\n" +"Уявіть, що вам потрібно стежити за здоров'ям гравця у грі.\n" +"\n" +"Він може почати з [code]5[/code] очками здоров'я. При отриманні удару " +"здоров'я має зменшитись до [code]4[/code]. Після ще одного удару воно має " +"стати рівним [code]3[/code]. І так далі.\n" +"\n" +"Щоб стежити за цим, можна створити змінну з назвою [code]health[/code], до " +"якої можна додавати або віднімати очки.\n" +"\n" +"У прикладі нижче наведено функцію [code]print()[/code], яка виводить " +"значення параметра в полі виведення ліворуч.\n" +"\n" +"Натисніть кнопку [i]run()[/i], щоб миттєво запустити всю функцію, або " +"натискайте кнопку [i]step[/i], щоб виконувати рядки коду один за одним.\n" +"\n" +"Панель [i]Зневаджувач[/i] внизу показує поточне значення змінної " +"[code]health[/code]." #: course/lesson-8-defining-variables/lesson.tres:47 msgid "" @@ -52,10 +78,15 @@ msgid "" "Below, we'll break down how you define new variables and explain the " "[code]print()[/code] function." msgstr "" +"Після виконання перших двох рядків тіла функції ви отримаєте змінну health, " +"яка зберігає значення [code]4[/code].\n" +"\n" +"Нижче ми розберемо, як визначати нові змінні, та пояснимо функцію " +"[code]print()[/code]." #: course/lesson-8-defining-variables/lesson.tres:57 msgid "Defining a variable" -msgstr "" +msgstr "Оголошення змінної" #: course/lesson-8-defining-variables/lesson.tres:59 msgid "" @@ -75,6 +106,21 @@ msgid "" "value. You can think of it as creating a product label you have yet to " "stick onto something." msgstr "" +"Щоб використовувати змінну, потрібно спочатку оголосити її, щоб комп'ютер " +"зареєстрував її назву.\n" +"\n" +"Для цього слід розпочати рядок коду з ключового слова [code]var[/code], і " +"продовжити бажаною назвою змінної. Так само, як [code]func[/code] позначає " +"[i]функцію[/i], [code]var[/code] позначає [i]змінну[/i].\n" +"\n" +"Змінні чутливі до регістру, тобто, [code]health[/code] і [code]Health[/code] " +"технічно різні змінні. Будьте обережні і використовуйте одну й ту ж велику " +"букву скрізь, де ви посилаєтеся на ту саму змінну, інакше ви можете " +"прочитати або змінити іншу змінну.\n" +"\n" +"Такий рядок оголошує змінну [code]health[/code], яка не вказує на жодне " +"значення. Уявляйте це як створення етикетки продукту, яку ви ще маєте на " +"щось наклеїти." #: course/lesson-8-defining-variables/lesson.tres:85 msgid "" @@ -82,6 +128,9 @@ msgid "" "given code file. Creating two variables next to each other with the same " "name will cause an error." msgstr "" +"Як і у випадку з функціями, назва властивості має бути унікальною в межах " +"файлу коду. Створення двох змінних поруч одна з одною з однаковою назвою " +"спричинить помилку." #: course/lesson-8-defining-variables/lesson.tres:105 msgid "" @@ -91,12 +140,19 @@ msgid "" "This code assigns the value [code]100[/code] to a new variable named " "[code]health[/code]." msgstr "" +"Щоб використовувати змінну, слід надати їй початкове значення. Це можна " +"зробити за допомогою знака рівності (=).\n" +"\n" +"Цей код надає значення [code]100[/code] новій змінній із назвою " +"[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 "" +"Після визначення змінної отримати доступ до її значення можна, просто " +"написавши назву змінної." #: course/lesson-8-defining-variables/lesson.tres:147 msgid "" @@ -109,10 +165,17 @@ msgid "" "Also, once you define a variable, you can change its value anytime with " "the equal sign." msgstr "" +"Наведений вище код виведе у вікно виведення число [code]100[/code].\n" +"\n" +"Зверніть увагу, що ми більше не використовуємо ключове слово [code]var[/code]" +", оскільки воно потрібне тільки для того, щоб [i]оголосити[/i] змінную.\n" +"\n" +"Крім того, оголосивши змінну, ви можете будь-якої миті змінити її значення " +"за допомогою знака рівності." #: course/lesson-8-defining-variables/lesson.tres:169 msgid "About the print function" -msgstr "" +msgstr "Про функцію print" #: course/lesson-8-defining-variables/lesson.tres:171 msgid "" @@ -122,6 +185,11 @@ msgid "" "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] зазвичай є першою функцією, яку ви вивчаєте на " +"академічних курсах програмування.\n" +"\n" +"Вона надсилає (\"друкує\") повідомлення або значення, яке ви передаєте їй, у " +"деяке вікно виведення, часто це чорне вікно з білим текстом." #: course/lesson-8-defining-variables/lesson.tres:183 msgid "" @@ -131,6 +199,12 @@ msgid "" "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 "" +"Програмісти часто використовують [code]print()[/code] для швидкої перевірки " +"значень змінних у процесі гри.\n" +"\n" +"У застосунку ми зробили спеціальне вікно виведення, яке перехоплює виклики " +"[code]print()[/code] та показує результат виконання на картці, щоб зробити " +"його зручнішим для вас." #: course/lesson-8-defining-variables/lesson.tres:205 msgid "" @@ -140,10 +214,14 @@ msgid "" "The function \"prints\" things on your computer display; It does not " "relate to printers." msgstr "" +"Тут дієслово [i]print[/i] (друкувати) означає " +"\"надіслати інформацію для показу на екрані\".\n" +"\n" +"Функція друкує на дисплеї комп'ютера; вона не пов'язана з принтерами." #: course/lesson-8-defining-variables/lesson.tres:215 msgid "Variables are like labels" -msgstr "" +msgstr "Змінні схожі на етикетки" #: course/lesson-8-defining-variables/lesson.tres:217 msgid "" @@ -152,6 +230,11 @@ msgid "" "Assigning a value to a variable is like taking your label (the variable) " "and sticking it onto some item (the value)." msgstr "" +"Як ми зазначили вище, за принципом роботи змінні GDScript трохи схожі на " +"етикетки.\n" +"\n" +"Присвоїти значення змінній - це все одно що взяти етикетку (змінну) і " +"наклеїти її на якийсь предмет (значення)." #: course/lesson-8-defining-variables/lesson.tres:229 msgid "" @@ -163,6 +246,14 @@ msgid "" "It has an important consequence. In GDScript, you can stick that label to" " any other value." msgstr "" +"Як у магазині є база даних етикеток товарів, так і комп'ютер зберігає список " +"усіх змінних у вашому коді.\n" +"\n" +"Використовуючи задану назву змінної, комп'ютер може знайти прикріплене до " +"неї значення.\n" +"\n" +"З цього випливає важливий наслідок — у GDScript ви можете приклеїти цю " +"етикетку до будь-якого іншого значення." #: course/lesson-8-defining-variables/lesson.tres:253 msgid "" @@ -182,10 +273,25 @@ msgid "" "Later on, we'll see how to avoid this issue with [i]variable types[/i]. " "For now, let's practice creating variables!" msgstr "" +"Наведений вище код схожий на те, якби ви зняли етикетку з доречного елемента " +"і приклеїли її до хибного:\n" +"\n" +"- У рядку 2 змінна [code]health[/code] містить число.\n" +"- Після виконання рядка 3, змінна [code]health[/code] міститиме текст.\n" +"\n" +"Комп'ютер дозволить вам так зробити! Синтаксис та \"граматика\" коду " +"правильні, але робити так – погано.\n" +"\n" +"Назви змінних повинні описувати значення, яке міститься в них, тому змінна " +"[code]health[/code] із текстовим значенням заплутає у майбутньому вас та " +"інших програмістів. Це також може викликати помилки у вашій грі.\n" +"\n" +"Пізніше ми побачимо, як уникнути цієї проблеми за допомогою [i] типів " +"змінних [/i]. А поки що попрактикуймося у створенні змінних!" #: course/lesson-8-defining-variables/lesson.tres:270 msgid "Define a health variable" -msgstr "" +msgstr "Визначте змінну health (здоров'я)" #: course/lesson-8-defining-variables/lesson.tres:271 msgid "" @@ -195,13 +301,20 @@ msgid "" "You can define variables inside or outside functions. In this practice, " "you shouldn't create a function." msgstr "" +"Визначте змінну з назвою [code]health[/code] (здоров'я) і початковим " +"значенням [code]100[/code].\n" +"\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 "" +"У цій вправі ви визначите свою першу змінну і надасте їй певне початкове " +"значення." #: course/lesson-8-defining-variables/lesson.tres:286 msgid "Defining Your Own Variables" -msgstr "" +msgstr "Оголошування власних змінних" diff --git a/uk/lesson-9-adding-and-subtracting.po b/uk/lesson-9-adding-and-subtracting.po index fd5060da..7225fe20 100644 --- a/uk/lesson-9-adding-and-subtracting.po +++ b/uk/lesson-9-adding-and-subtracting.po @@ -9,13 +9,17 @@ msgstr "" "Project-Id-Version: Learn GDScript From Zero\n" "Report-Msgid-Bugs-To: https://github.com/GDQuest/learn-gdscript\n" "POT-Creation-Date: 2023-12-09 20:05+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2024-12-18 22:00+0000\n" +"Last-Translator: Олександр Пилипчук \n" +"Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.9.2-dev\n" "Generated-By: Babel 2.10.1\n" #: course/lesson-9-adding-and-subtracting/lesson.tres:14 @@ -33,6 +37,16 @@ msgid "" "\n" "We can create a function to represent damage in these cases." msgstr "" +"Здоров'я головного героя нашої гри буде визначати змінна [code]health[/code]" +". Що більше здоров'я персонажа, то далі гравець від поразки.\n" +"\n" +"Здоров'я додає грі напруги, особливо якщо гравець бореться на низькому його " +"рівні! Здоров'я – це ресурс, яким гравець має розпоряджатися обережно.\n" +"\n" +"Здоров'я персонажа зменшується, якщо він падає у прірву або його атакує " +"супротивник.\n" +"\n" +"Ми можемо створити функцію, яка завдає пошкоджень у цих випадках." #: course/lesson-9-adding-and-subtracting/lesson.tres:40 msgid "" @@ -53,12 +67,30 @@ msgid "" "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" +"\n" +"У рядку 2 від [code]health[/code] віднімається [code]amount[/code].\n" +"\n" +"Зверніть увагу, що віднімання здійснюється за допомогою синтаксису [code]-=" +"[/code]. Це скорочення, яке ми часто використовуємо.\n" +"\n" +"Також ви можете використовувати довшу форму. Обидва рядки, наведені нижче, " +"мають однаковий ефект. В них обох від змінної [code]health[/code] " +"віднімається [code]amount[/code]:\n" +"\n" +"[code]health -= amount[/code]\n" +"[code]health = health - amount[/code]\n" +"\n" +"Ви можете помітити, що здоров'я робота може впасти нижче [code]0[/code]. У " +"наступних уроках ми розберемо, як із цим впоратися за допомогою [i]умов[/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 "" +"Здоров'я робота може зрости, якщо гравець підбере або використає цілющий " +"предмет." #: course/lesson-9-adding-and-subtracting/lesson.tres:81 msgid "" @@ -67,10 +99,15 @@ msgid "" "Also, once more, the short line [code]health += amount[/code] is " "equivalent to the longer form [code]health = health + amount[/code]." msgstr "" +"Також, здоров'я може перевищити [code]100[/code].\n" +"\n" +"Тут, як і в попередньому прикладі, ми використовуємо скорочення [code]health " +"+= amount[/code] еквівалентне довгій формі [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 "" +msgstr "Який із цих виразів збільшить здоров'я робота?" #: course/lesson-9-adding-and-subtracting/lesson.tres:94 msgid "" @@ -81,24 +118,29 @@ msgid "" "health = health + amount\n" "[/code]" msgstr "" +"Обидва вирази збільшать [code]health[/code] робота на [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 "" +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 "" +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 "" +msgstr "health = health + amount" #: course/lesson-9-adding-and-subtracting/lesson.tres:99 msgid "health = health - amount" -msgstr "" +msgstr "health = health - amount" #: course/lesson-9-adding-and-subtracting/lesson.tres:109 msgid "" @@ -106,10 +148,12 @@ msgid "" "and [code]heal()[/code] functions so the robot's health can decrease and " "increase." msgstr "" +"У наступних вправах ви створите функції [code]take_damage()[/code] і [code]" +"heal()[/code], що дозволяють зменшувати та збільшувати здоров'я робота." #: course/lesson-9-adding-and-subtracting/lesson.tres:117 msgid "Damaging the Robot" -msgstr "" +msgstr "Пошкодження робота" #: course/lesson-9-adding-and-subtracting/lesson.tres:118 msgid "" @@ -122,14 +166,23 @@ msgid "" "\n" "The robot starts with 100 health and will take 50 damage." msgstr "" +"У нашій грі головний герой має певну кількість здоров'я ([code]health[/code])" +". Коли персонаж зазнає удару, його здоров'я має зменшитися на певну " +"кількість ([code]amount[/code]) очок.\n" +"\n" +"Доробіть функцію [code]take_damage()[/code] так, щоб при її виклику, " +"значення раніше оголошеної змінної [code]health[/code] зменшувалося на [code]" +"amount[/code].\n" +"\n" +"Робот має почати зі 100 очками здоров'я та отримати 50 одиниць ушкоджень." #: course/lesson-9-adding-and-subtracting/lesson.tres:134 msgid "Learn how to deal damage to entities like our robot." -msgstr "" +msgstr "Навчіться завдавати ушкодження об'єктам на зразок робота." #: course/lesson-9-adding-and-subtracting/lesson.tres:139 msgid "Healing the Robot" -msgstr "" +msgstr "Лікування робота" #: course/lesson-9-adding-and-subtracting/lesson.tres:140 msgid "" @@ -142,13 +195,24 @@ msgid "" "\n" "The robot starts with 50 health and will heal 50 to get it up to 100." msgstr "" +"Настав час зцілити нашого робота\n" +"\n" +"Напишіть функцію [code]heal()[/code], яка приймає [code]amount[/code] як " +"параметр.\n" +"\n" +"Функція має додавати [code]amount[/code] до [code]health[/code].\n" +"\n" +"Робот має почати з 50 очками здоров'я та зцілитися на 50 внаслідок виконання " +"функції, щоб повністю відновитись до 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 "" +"Після попередньої вправи наш робот потребує лікування! Створіть функцію, щоб " +"відновити здоров'я до повного рівня." #: course/lesson-9-adding-and-subtracting/lesson.tres:161 msgid "Adding and Subtracting" -msgstr "" +msgstr "Додавання та віднімання"