From 83bf9eb062f4fa6631d0cc013536529747e0fce6 Mon Sep 17 00:00:00 2001 From: freeCodeCamp's Camper Bot Date: Thu, 9 Apr 2026 11:49:03 +0530 Subject: [PATCH] chore(i18n,client): processed translations (#66857) --- .../locales/chinese-traditional/intro.json | 6 + .../chinese-traditional/translations.json | 22 +- client/i18n/locales/chinese/intro.json | 6 + client/i18n/locales/chinese/translations.json | 22 +- client/i18n/locales/espanol/intro.json | 6 + client/i18n/locales/espanol/translations.json | 22 +- client/i18n/locales/german/intro.json | 6 + client/i18n/locales/german/translations.json | 22 +- client/i18n/locales/italian/intro.json | 6 + client/i18n/locales/italian/translations.json | 22 +- client/i18n/locales/japanese/intro.json | 6 + .../i18n/locales/japanese/translations.json | 22 +- client/i18n/locales/korean/intro.json | 6 + client/i18n/locales/korean/translations.json | 22 +- client/i18n/locales/portuguese/intro.json | 2042 +++++++++-------- .../i18n/locales/portuguese/translations.json | 62 +- client/i18n/locales/swahili/intro.json | 6 + client/i18n/locales/swahili/translations.json | 22 +- client/i18n/locales/ukrainian/intro.json | 6 + .../i18n/locales/ukrainian/translations.json | 22 +- 20 files changed, 1316 insertions(+), 1040 deletions(-) diff --git a/client/i18n/locales/chinese-traditional/intro.json b/client/i18n/locales/chinese-traditional/intro.json index 471ca736802..a68000d914d 100644 --- a/client/i18n/locales/chinese-traditional/intro.json +++ b/client/i18n/locales/chinese-traditional/intro.json @@ -6073,6 +6073,12 @@ "In these lessons, you will learn what TypeScript is and how to use it." ] }, + "workshop-type-safe-user-profile": { + "title": "Build a Type Safe User Profile", + "intro": [ + "In this workshop, you will practice working with type annotations, array types, object types and more by building out a user profile." + ] + }, "lecture-understanding-type-composition": { "title": "Understanding Type Composition", "intro": [ diff --git a/client/i18n/locales/chinese-traditional/translations.json b/client/i18n/locales/chinese-traditional/translations.json index cb14fc95c27..6ef3b414f4e 100644 --- a/client/i18n/locales/chinese-traditional/translations.json +++ b/client/i18n/locales/chinese-traditional/translations.json @@ -66,6 +66,7 @@ "command-enter": "⌘ + Enter", "ctrl-enter": "Ctrl + Enter", "reset": "重置", + "ask-socrates": "Ask Socrates (beta)", "reset-step": "重置此步驟", "help": "幫助", "get-help": "獲得幫助", @@ -381,6 +382,10 @@ "confirm": "確認新郵箱", "weekly": "給我發 Quincy 的每週訂閱郵件" }, + "socrates": { + "p1": "Socrates", + "p2": "Offers tailored hints based on your input in workshops. You can turn this off at any time." + }, "honesty": { "p1": "申請認證前,你必須先接受我們的《學術誠信條例》,即:", "p2": "\"我理解剽竊意味着抄襲他人的作品,將其作爲自己的作品來提交,且不明確註明原作者。\"", @@ -533,6 +538,18 @@ "syntax-error": "你的代碼在任何測試運行之前就出現了錯誤。請修復後重試。", "indentation-error": "你的代碼存在縮進錯誤。你可能需要在新行中添加 pass 以形成一個有效的代碼塊。", "sign-in-save": "登錄以保存你的學習進度", + "hints-used-today": "hints used today", + "socrates-not-enabled": "Socrates is not enabled for your account.", + "socrates-check-code-first": "Check your code before asking Socrates for a hint.", + "socrates-code-passes": "Congratulations, your code passes! Press submit and continue to the next challenge.", + "socrates-write-code-first": "Please write some code before asking Socrates for a hint.", + "socrates-generic-error": "Something went wrong while asking Socrates. Please try again.", + "socrates-no-access": "You do not have access to Socrates.", + "socrates-daily-limit": "You have reached the daily hint limit. Please try again tomorrow.", + "socrates-rate-limit": "You have reached the hint limit. Please wait a moment before trying again.", + "socrates-unable-to-generate": "Socrates was unable to generate a hint. Please try again.", + "socrates-unavailable": "Socrates is temporarily unavailable. Please try again later.", + "socrates-invalid-request": "Something went wrong with your request. Please try again.", "download-solution": "下載我的解決方案", "download-results": "下載我的結果", "percent-complete": "完成 {{percent}}%", @@ -899,8 +916,8 @@ "search": { "label": "搜索", "placeholder": { - "default": "搜索我們的文章、教程和書籍", - "numbered": "搜索 {{ roundedTotalRecords }}+ 文章、教程和書籍" + "default": "Search our books and courses", + "numbered": "Search {{ roundedTotalRecords }}+ of our books and courses" }, "see-results": "查看 {{searchQuery}} 的所有結果", "try": "想要搜索信息?試試使用頁面上的搜索框。", @@ -1037,6 +1054,7 @@ "updated-themes": "我們已更新你的主題", "keyboard-shortcut-updated": "我們已更新你的鍵盤快捷鍵設置", "subscribe-to-quincy-updated": "我們已更新你對 Quincy 的電子郵件的訂閱", + "socrates-updated": "We have updated your Socrates settings", "portfolio-item-updated": "我們已更新你的作品集", "experience-updated": "我們已更新你的經歷", "email-invalid": "郵箱格式無效", diff --git a/client/i18n/locales/chinese/intro.json b/client/i18n/locales/chinese/intro.json index 3f8a5172e18..be232b95f9c 100644 --- a/client/i18n/locales/chinese/intro.json +++ b/client/i18n/locales/chinese/intro.json @@ -6073,6 +6073,12 @@ "In these lessons, you will learn what TypeScript is and how to use it." ] }, + "workshop-type-safe-user-profile": { + "title": "Build a Type Safe User Profile", + "intro": [ + "In this workshop, you will practice working with type annotations, array types, object types and more by building out a user profile." + ] + }, "lecture-understanding-type-composition": { "title": "Understanding Type Composition", "intro": [ diff --git a/client/i18n/locales/chinese/translations.json b/client/i18n/locales/chinese/translations.json index 74b74f4f082..3736b1ae926 100644 --- a/client/i18n/locales/chinese/translations.json +++ b/client/i18n/locales/chinese/translations.json @@ -66,6 +66,7 @@ "command-enter": "⌘ + Enter", "ctrl-enter": "Ctrl + Enter", "reset": "重置", + "ask-socrates": "Ask Socrates (beta)", "reset-step": "重置此步骤", "help": "帮助", "get-help": "获得帮助", @@ -381,6 +382,10 @@ "confirm": "确认新邮箱", "weekly": "给我发 Quincy 的每周订阅邮件" }, + "socrates": { + "p1": "Socrates", + "p2": "Offers tailored hints based on your input in workshops. You can turn this off at any time." + }, "honesty": { "p1": "申请认证前,你必须先接受我们的《学术诚信条例》,即:", "p2": "\"我理解剽窃意味着抄袭他人的作品,将其作为自己的作品来提交,且不明确注明原作者。\"", @@ -533,6 +538,18 @@ "syntax-error": "你的代码在任何测试运行之前就出现了错误。请修复后重试。", "indentation-error": "你的代码存在缩进错误。你可能需要在新行中添加 pass 以形成一个有效的代码块。", "sign-in-save": "登录以保存你的学习进度", + "hints-used-today": "hints used today", + "socrates-not-enabled": "Socrates is not enabled for your account.", + "socrates-check-code-first": "Check your code before asking Socrates for a hint.", + "socrates-code-passes": "Congratulations, your code passes! Press submit and continue to the next challenge.", + "socrates-write-code-first": "Please write some code before asking Socrates for a hint.", + "socrates-generic-error": "Something went wrong while asking Socrates. Please try again.", + "socrates-no-access": "You do not have access to Socrates.", + "socrates-daily-limit": "You have reached the daily hint limit. Please try again tomorrow.", + "socrates-rate-limit": "You have reached the hint limit. Please wait a moment before trying again.", + "socrates-unable-to-generate": "Socrates was unable to generate a hint. Please try again.", + "socrates-unavailable": "Socrates is temporarily unavailable. Please try again later.", + "socrates-invalid-request": "Something went wrong with your request. Please try again.", "download-solution": "下载我的解决方案", "download-results": "下载我的结果", "percent-complete": "完成 {{percent}}%", @@ -899,8 +916,8 @@ "search": { "label": "搜索", "placeholder": { - "default": "搜索我们的文章、教程和书籍", - "numbered": "搜索 {{ roundedTotalRecords }}+ 文章、教程和书籍" + "default": "Search our books and courses", + "numbered": "Search {{ roundedTotalRecords }}+ of our books and courses" }, "see-results": "查看 {{searchQuery}} 的所有结果", "try": "想要搜索信息?试试使用页面上的搜索框。", @@ -1037,6 +1054,7 @@ "updated-themes": "我们已更新你的主题", "keyboard-shortcut-updated": "我们已更新你的键盘快捷键设置", "subscribe-to-quincy-updated": "我们已更新你对 Quincy 的电子邮件的订阅", + "socrates-updated": "We have updated your Socrates settings", "portfolio-item-updated": "我们已更新你的作品集", "experience-updated": "我们已更新你的经历", "email-invalid": "邮箱格式无效", diff --git a/client/i18n/locales/espanol/intro.json b/client/i18n/locales/espanol/intro.json index 871b60b4217..ff441184164 100644 --- a/client/i18n/locales/espanol/intro.json +++ b/client/i18n/locales/espanol/intro.json @@ -6203,6 +6203,12 @@ "En estas lecciones, aprenderás qué es TypeScript y cómo usarlo." ] }, + "workshop-type-safe-user-profile": { + "title": "Build a Type Safe User Profile", + "intro": [ + "In this workshop, you will practice working with type annotations, array types, object types and more by building out a user profile." + ] + }, "lecture-understanding-type-composition": { "title": "Understanding Type Composition", "intro": [ diff --git a/client/i18n/locales/espanol/translations.json b/client/i18n/locales/espanol/translations.json index 3b16e7584ba..74335c7ccc4 100644 --- a/client/i18n/locales/espanol/translations.json +++ b/client/i18n/locales/espanol/translations.json @@ -66,6 +66,7 @@ "command-enter": "⌘ + Enter", "ctrl-enter": "Ctrl + Enter", "reset": "Restablecer", + "ask-socrates": "Ask Socrates (beta)", "reset-step": "Restablecer este paso", "help": "Ayuda", "get-help": "Obtener ayuda", @@ -381,6 +382,10 @@ "confirm": "Confirmar nuevo correo electrónico", "weekly": "Envíame el correo electrónico semanal de Quincy" }, + "socrates": { + "p1": "Socrates", + "p2": "Offers tailored hints based on your input in workshops. You can turn this off at any time." + }, "honesty": { "p1": "Antes de que puedas solicitar una certificación verificada, debes aceptar nuestro Compromiso de Honestidad Académica, que dice:", "p2": "\"Entiendo que el plagio significa copiar el trabajo de otra persona y presentar el trabajo como si fuera el mío, sin atribuir claramente al autor original.\"", @@ -533,6 +538,18 @@ "syntax-error": "Tu código provocó un error antes de que se pudieran ejecutar las pruebas. Por favor, corrígelo y vuelve a intentarlo.", "indentation-error": "Tu código tiene un error de identación. Puede que necesites añadir pass en una nueva línea para formar un bloque de código válido.", "sign-in-save": "Inicia sesión para guardar tu progreso", + "hints-used-today": "hints used today", + "socrates-not-enabled": "Socrates is not enabled for your account.", + "socrates-check-code-first": "Check your code before asking Socrates for a hint.", + "socrates-code-passes": "Congratulations, your code passes! Press submit and continue to the next challenge.", + "socrates-write-code-first": "Please write some code before asking Socrates for a hint.", + "socrates-generic-error": "Something went wrong while asking Socrates. Please try again.", + "socrates-no-access": "You do not have access to Socrates.", + "socrates-daily-limit": "You have reached the daily hint limit. Please try again tomorrow.", + "socrates-rate-limit": "You have reached the hint limit. Please wait a moment before trying again.", + "socrates-unable-to-generate": "Socrates was unable to generate a hint. Please try again.", + "socrates-unavailable": "Socrates is temporarily unavailable. Please try again later.", + "socrates-invalid-request": "Something went wrong with your request. Please try again.", "download-solution": "Descargar mi solución", "download-results": "Descargar mis resultados", "percent-complete": "{{percent}}% completo", @@ -899,8 +916,8 @@ "search": { "label": "Buscar", "placeholder": { - "default": "Busca en nuestros artículos de noticias, tutoriales y libros", - "numbered": "Busca en más de {{ roundedTotalRecords }} artículos de noticias, tutoriales y libros" + "default": "Search our books and courses", + "numbered": "Search {{ roundedTotalRecords }}+ of our books and courses" }, "see-results": "Ver todos los resultados de {{searchQuery}}", "try": "¿Buscando algo? Prueba la barra de búsqueda en esta página.", @@ -1037,6 +1054,7 @@ "updated-themes": "Hemos actualizado su tema", "keyboard-shortcut-updated": "Hemos actualizado la configuración de los atajos de teclado", "subscribe-to-quincy-updated": "Hemos actualizado tu suscripción al correo electrónico de Quincy", + "socrates-updated": "We have updated your Socrates settings", "portfolio-item-updated": "Hemos actualizado tu portafolio", "experience-updated": "Hemos actualizado tu experiencia", "email-invalid": "El formato del correo electrónico no es válido", diff --git a/client/i18n/locales/german/intro.json b/client/i18n/locales/german/intro.json index 371f0a6ccdb..e02656dc63b 100644 --- a/client/i18n/locales/german/intro.json +++ b/client/i18n/locales/german/intro.json @@ -6181,6 +6181,12 @@ "In these lessons, you will learn what TypeScript is and how to use it." ] }, + "workshop-type-safe-user-profile": { + "title": "Build a Type Safe User Profile", + "intro": [ + "In this workshop, you will practice working with type annotations, array types, object types and more by building out a user profile." + ] + }, "lecture-understanding-type-composition": { "title": "Understanding Type Composition", "intro": [ diff --git a/client/i18n/locales/german/translations.json b/client/i18n/locales/german/translations.json index c740ad99974..825e4af1364 100644 --- a/client/i18n/locales/german/translations.json +++ b/client/i18n/locales/german/translations.json @@ -66,6 +66,7 @@ "command-enter": "⌘ + Enter", "ctrl-enter": "Ctrl + Eingabe\n", "reset": "Zurücksetzen", + "ask-socrates": "Ask Socrates (beta)", "reset-step": "Diesen Schritt zurücksetzen", "help": "Hilfe", "get-help": "Hilfe bekommen", @@ -381,6 +382,10 @@ "confirm": "Neue E-Mail bestätigen", "weekly": "Sende mir die wöchentliche E-Mail von Quincy (Gründer)" }, + "socrates": { + "p1": "Socrates", + "p2": "Offers tailored hints based on your input in workshops. You can turn this off at any time." + }, "honesty": { "p1": "Bevor du ein bestätigtes Zertifikat beanspruchen kannst, musst du unsere akademische Ehrlichkeitserklärung akzeptieren. Sie lautet:", "p2": "\"Ich verstehe, dass Plagiarismus bedeutet, das Werk eines anderen zu kopieren und das Werk so zu präsentieren, als wäre es mein eigenes, ohne den Originalautor eindeutig anzugeben.\"", @@ -533,6 +538,18 @@ "syntax-error": "Your code raised an error before any tests could run. Please fix it and try again.", "indentation-error": "Your code has an indentation error. You may need to add pass on a new line to form a valid block of code.", "sign-in-save": "Melde dich an, um deinen Fortschritt zu speichern", + "hints-used-today": "hints used today", + "socrates-not-enabled": "Socrates is not enabled for your account.", + "socrates-check-code-first": "Check your code before asking Socrates for a hint.", + "socrates-code-passes": "Congratulations, your code passes! Press submit and continue to the next challenge.", + "socrates-write-code-first": "Please write some code before asking Socrates for a hint.", + "socrates-generic-error": "Something went wrong while asking Socrates. Please try again.", + "socrates-no-access": "You do not have access to Socrates.", + "socrates-daily-limit": "You have reached the daily hint limit. Please try again tomorrow.", + "socrates-rate-limit": "You have reached the hint limit. Please wait a moment before trying again.", + "socrates-unable-to-generate": "Socrates was unable to generate a hint. Please try again.", + "socrates-unavailable": "Socrates is temporarily unavailable. Please try again later.", + "socrates-invalid-request": "Something went wrong with your request. Please try again.", "download-solution": "Meine Lösung herunterladen", "download-results": "Download my results", "percent-complete": "{{percent}}% abgeschlossen", @@ -899,8 +916,8 @@ "search": { "label": "Suchen", "placeholder": { - "default": "Search our news articles, tutorials, and books", - "numbered": "Search {{ roundedTotalRecords }}+ news articles, tutorials, and books" + "default": "Search our books and courses", + "numbered": "Search {{ roundedTotalRecords }}+ of our books and courses" }, "see-results": "Alle Ergebnisse für {{searchQuery}} ansehen", "try": "Suchst du nach etwas? Versuche es mit der Suchleiste auf dieser Seite.", @@ -1037,6 +1054,7 @@ "updated-themes": "We have updated your theme", "keyboard-shortcut-updated": "We have updated your keyboard shortcuts settings", "subscribe-to-quincy-updated": "We have updated your subscription to Quincy's email", + "socrates-updated": "We have updated your Socrates settings", "portfolio-item-updated": "We have updated your portfolio", "experience-updated": "We have updated your experience", "email-invalid": "E-Mail-Format ist ungültig", diff --git a/client/i18n/locales/italian/intro.json b/client/i18n/locales/italian/intro.json index 9a164724df3..da3d797d014 100644 --- a/client/i18n/locales/italian/intro.json +++ b/client/i18n/locales/italian/intro.json @@ -6181,6 +6181,12 @@ "In these lessons, you will learn what TypeScript is and how to use it." ] }, + "workshop-type-safe-user-profile": { + "title": "Build a Type Safe User Profile", + "intro": [ + "In this workshop, you will practice working with type annotations, array types, object types and more by building out a user profile." + ] + }, "lecture-understanding-type-composition": { "title": "Understanding Type Composition", "intro": [ diff --git a/client/i18n/locales/italian/translations.json b/client/i18n/locales/italian/translations.json index 0536dbc6e48..6fe5b3fca0c 100644 --- a/client/i18n/locales/italian/translations.json +++ b/client/i18n/locales/italian/translations.json @@ -66,6 +66,7 @@ "command-enter": "⌘ + Enter", "ctrl-enter": "Ctrl + Enter", "reset": "Resetta", + "ask-socrates": "Ask Socrates (beta)", "reset-step": "Resetta questo step", "help": "Guida", "get-help": "Ottieni Aiuto", @@ -381,6 +382,10 @@ "confirm": "Conferma nuova Email", "weekly": "Inviami l'email settimanale di Quincy" }, + "socrates": { + "p1": "Socrates", + "p2": "Offers tailored hints based on your input in workshops. You can turn this off at any time." + }, "honesty": { "p1": "Prima di poter richiedere una certificazione verificata, è necessario accettare la nostra Politica di Onestà Accademica, che recita:", "p2": "\"Capisco che il plagio significa copiare il lavoro di qualcun altro e presentare il lavoro come se fosse mio, senza attribuirlo chiaramente all'autore originale.\"", @@ -533,6 +538,18 @@ "syntax-error": "Your code raised an error before any tests could run. Please fix it and try again.", "indentation-error": "Your code has an indentation error. You may need to add pass on a new line to form a valid block of code.", "sign-in-save": "Accedi per salvare i tuoi progressi", + "hints-used-today": "hints used today", + "socrates-not-enabled": "Socrates is not enabled for your account.", + "socrates-check-code-first": "Check your code before asking Socrates for a hint.", + "socrates-code-passes": "Congratulations, your code passes! Press submit and continue to the next challenge.", + "socrates-write-code-first": "Please write some code before asking Socrates for a hint.", + "socrates-generic-error": "Something went wrong while asking Socrates. Please try again.", + "socrates-no-access": "You do not have access to Socrates.", + "socrates-daily-limit": "You have reached the daily hint limit. Please try again tomorrow.", + "socrates-rate-limit": "You have reached the hint limit. Please wait a moment before trying again.", + "socrates-unable-to-generate": "Socrates was unable to generate a hint. Please try again.", + "socrates-unavailable": "Socrates is temporarily unavailable. Please try again later.", + "socrates-invalid-request": "Something went wrong with your request. Please try again.", "download-solution": "Scarica la mia soluzione", "download-results": "Scarica i miei risultati", "percent-complete": "{{percent}}% completato", @@ -899,8 +916,8 @@ "search": { "label": "Cerca", "placeholder": { - "default": "Search our news articles, tutorials, and books", - "numbered": "Search {{ roundedTotalRecords }}+ news articles, tutorials, and books" + "default": "Search our books and courses", + "numbered": "Search {{ roundedTotalRecords }}+ of our books and courses" }, "see-results": "Vedi tutti i risultati per {{searchQuery}}", "try": "Cerchi qualcosa? Prova la barra di ricerca su questa pagina.", @@ -1037,6 +1054,7 @@ "updated-themes": "Abbiamo aggiornato il tuo tema", "keyboard-shortcut-updated": "Abbiamo aggiornato le impostazioni delle scorciatoie da tastiera", "subscribe-to-quincy-updated": "Abbiamo aggiornato la tua iscrizione all'email di Quincy", + "socrates-updated": "We have updated your Socrates settings", "portfolio-item-updated": "Abbiamo aggiornato il tuo portfolio", "experience-updated": "We have updated your experience", "email-invalid": "Formato email non valido", diff --git a/client/i18n/locales/japanese/intro.json b/client/i18n/locales/japanese/intro.json index 356b303b167..73d6c096b0e 100644 --- a/client/i18n/locales/japanese/intro.json +++ b/client/i18n/locales/japanese/intro.json @@ -6181,6 +6181,12 @@ "In these lessons, you will learn what TypeScript is and how to use it." ] }, + "workshop-type-safe-user-profile": { + "title": "Build a Type Safe User Profile", + "intro": [ + "In this workshop, you will practice working with type annotations, array types, object types and more by building out a user profile." + ] + }, "lecture-understanding-type-composition": { "title": "Understanding Type Composition", "intro": [ diff --git a/client/i18n/locales/japanese/translations.json b/client/i18n/locales/japanese/translations.json index fc1ded74ee5..5b724701722 100644 --- a/client/i18n/locales/japanese/translations.json +++ b/client/i18n/locales/japanese/translations.json @@ -66,6 +66,7 @@ "command-enter": "⌘ + Enter", "ctrl-enter": "Ctrl + Enter", "reset": "リセット", + "ask-socrates": "Ask Socrates (beta)", "reset-step": "ステップをリセット", "help": "ヘルプ", "get-help": "助けを求める", @@ -381,6 +382,10 @@ "confirm": "新しいメールアドレスの確認", "weekly": "Quincy からのメールを毎週受け取る" }, + "socrates": { + "p1": "Socrates", + "p2": "Offers tailored hints based on your input in workshops. You can turn this off at any time." + }, "honesty": { "p1": "検証機能付き認定証を取得する前に、以下の学問的誠実性誓約に同意する必要があります:", "p2": "「私は、盗作とは他人の作品をコピーして、原作者を明示することなくまるで自分の作品であるかのように提示することであると理解しています。」", @@ -533,6 +538,18 @@ "syntax-error": "コードにエラーがあるためテストを実行できない状態です。コードを修正して再度お試しください。", "indentation-error": "コードにインデントエラーがあります。場合によっては、有効なコードブロックを形成するため新しい行に pass キーワードを追加する必要があるかもしれません。", "sign-in-save": "サインインして進行状況を保存", + "hints-used-today": "hints used today", + "socrates-not-enabled": "Socrates is not enabled for your account.", + "socrates-check-code-first": "Check your code before asking Socrates for a hint.", + "socrates-code-passes": "Congratulations, your code passes! Press submit and continue to the next challenge.", + "socrates-write-code-first": "Please write some code before asking Socrates for a hint.", + "socrates-generic-error": "Something went wrong while asking Socrates. Please try again.", + "socrates-no-access": "You do not have access to Socrates.", + "socrates-daily-limit": "You have reached the daily hint limit. Please try again tomorrow.", + "socrates-rate-limit": "You have reached the hint limit. Please wait a moment before trying again.", + "socrates-unable-to-generate": "Socrates was unable to generate a hint. Please try again.", + "socrates-unavailable": "Socrates is temporarily unavailable. Please try again later.", + "socrates-invalid-request": "Something went wrong with your request. Please try again.", "download-solution": "回答をダウンロード", "download-results": "結果をダウンロード", "percent-complete": "{{percent}}% 完了", @@ -899,8 +916,8 @@ "search": { "label": "検索", "placeholder": { - "default": "Search our news articles, tutorials, and books", - "numbered": "Search {{ roundedTotalRecords }}+ news articles, tutorials, and books" + "default": "Search our books and courses", + "numbered": "Search {{ roundedTotalRecords }}+ of our books and courses" }, "see-results": "{{searchQuery}} のすべての結果を見る", "try": "何かお探しですか?このページの検索バーを試してみてください。", @@ -1037,6 +1054,7 @@ "updated-themes": "テーマを更新しました", "keyboard-shortcut-updated": "キーボードショートカット設定を更新しました", "subscribe-to-quincy-updated": "Quincy からのメールの購読設定を更新しました", + "socrates-updated": "We have updated your Socrates settings", "portfolio-item-updated": "ポートフォリオを更新しました", "experience-updated": "We have updated your experience", "email-invalid": "メールアドレスの形式が無効です", diff --git a/client/i18n/locales/korean/intro.json b/client/i18n/locales/korean/intro.json index bff02fd404e..8e7b83fd0b3 100644 --- a/client/i18n/locales/korean/intro.json +++ b/client/i18n/locales/korean/intro.json @@ -6181,6 +6181,12 @@ "In these lessons, you will learn what TypeScript is and how to use it." ] }, + "workshop-type-safe-user-profile": { + "title": "Build a Type Safe User Profile", + "intro": [ + "In this workshop, you will practice working with type annotations, array types, object types and more by building out a user profile." + ] + }, "lecture-understanding-type-composition": { "title": "Understanding Type Composition", "intro": [ diff --git a/client/i18n/locales/korean/translations.json b/client/i18n/locales/korean/translations.json index fd3096a2938..15e80e1f481 100644 --- a/client/i18n/locales/korean/translations.json +++ b/client/i18n/locales/korean/translations.json @@ -66,6 +66,7 @@ "command-enter": "⌘ + Enter", "ctrl-enter": "Ctrl + Enter", "reset": "Reset", + "ask-socrates": "Ask Socrates (beta)", "reset-step": "Reset This Step", "help": "Help", "get-help": "Get Help", @@ -381,6 +382,10 @@ "confirm": "Confirm New Email", "weekly": "Send me Quincy's weekly email" }, + "socrates": { + "p1": "Socrates", + "p2": "Offers tailored hints based on your input in workshops. You can turn this off at any time." + }, "honesty": { "p1": "Before you can claim a verified certification, you must accept our Academic Honesty Pledge, which reads:", "p2": "\"I understand that plagiarism means copying someone else’s work and presenting the work as if it were my own, without clearly attributing the original author.\"", @@ -533,6 +538,18 @@ "syntax-error": "Your code raised an error before any tests could run. Please fix it and try again.", "indentation-error": "Your code has an indentation error. You may need to add pass on a new line to form a valid block of code.", "sign-in-save": "Sign in to save your progress", + "hints-used-today": "hints used today", + "socrates-not-enabled": "Socrates is not enabled for your account.", + "socrates-check-code-first": "Check your code before asking Socrates for a hint.", + "socrates-code-passes": "Congratulations, your code passes! Press submit and continue to the next challenge.", + "socrates-write-code-first": "Please write some code before asking Socrates for a hint.", + "socrates-generic-error": "Something went wrong while asking Socrates. Please try again.", + "socrates-no-access": "You do not have access to Socrates.", + "socrates-daily-limit": "You have reached the daily hint limit. Please try again tomorrow.", + "socrates-rate-limit": "You have reached the hint limit. Please wait a moment before trying again.", + "socrates-unable-to-generate": "Socrates was unable to generate a hint. Please try again.", + "socrates-unavailable": "Socrates is temporarily unavailable. Please try again later.", + "socrates-invalid-request": "Something went wrong with your request. Please try again.", "download-solution": "Download my solution", "download-results": "Download my results", "percent-complete": "{{percent}}% complete", @@ -899,8 +916,8 @@ "search": { "label": "Search", "placeholder": { - "default": "Search our news articles, tutorials, and books", - "numbered": "Search {{ roundedTotalRecords }}+ news articles, tutorials, and books" + "default": "Search our books and courses", + "numbered": "Search {{ roundedTotalRecords }}+ of our books and courses" }, "see-results": "See all results for {{searchQuery}}", "try": "Looking for something? Try the search bar on this page.", @@ -1037,6 +1054,7 @@ "updated-themes": "We have updated your theme", "keyboard-shortcut-updated": "We have updated your keyboard shortcuts settings", "subscribe-to-quincy-updated": "We have updated your subscription to Quincy's email", + "socrates-updated": "We have updated your Socrates settings", "portfolio-item-updated": "We have updated your portfolio", "experience-updated": "We have updated your experience", "email-invalid": "Email format is invalid", diff --git a/client/i18n/locales/portuguese/intro.json b/client/i18n/locales/portuguese/intro.json index c3161ae5b27..0eafdcacdb4 100644 --- a/client/i18n/locales/portuguese/intro.json +++ b/client/i18n/locales/portuguese/intro.json @@ -953,51 +953,51 @@ "note": "", "blocks": { "python-setup-first-steps": { - "title": "Python Setup & First Steps", + "title": "Configuração do Python e Primeiros Passos", "intro": [ - "In these videos, popular programming instructor Mike Dane will introduce you to Python and show you how to setup your local environment." + "Nesses vídeos, o instrutor popular de programação Mike Dane apresenta você ao Python e mostra como configurar o ambiente local." ] }, "core-primitives-in-python": { - "title": "Core Primitives in Python", + "title": "Primitivas Básicas em Python", "intro": [ - "In these videos, you will learn about variables, data types, strings, numbers, and getting input from the user." + "Nesses vídeos, você aprenderá sobre variáveis, tipos de dados, strings, números e como obter entrada do usuário." ] }, "small-python-projects": { - "title": "Small Python Projects", + "title": "Pequenos Projetos em Python", "intro": [ - "In these videos, you will practice what you have learned so far by building a basic calculator app and mad libs game." + "Nesses vídeos, você praticará o que aprendeu até agora construindo uma calculadora básica e um jogo de mad libs." ] }, "lists-and-tuples": { - "title": "Lists and Tuples", + "title": "Listas e Tuplas", "intro": [ - "In these videos, you will learn about lists, tuples and common operations." + "Nesses vídeos, você aprenderá sobre listas, tuplas e operações comuns." ] }, "control-flow-and-functions-in-python": { - "title": "Control Flow and Functions", + "title": "Fluxo de Controle e Funções", "intro": [ - "In these videos, you will learn how to control the flow of your programs with if statements. You will also learn how to write reusable code with functions." + "Nesses vídeos, você aprenderá a controlar o fluxo dos programas com instruções if. Você também aprenderá a escrever código reutilizável com funções." ] }, "dictionaries-and-loops": { - "title": "Dictionaries and Loops", + "title": "Dicionários e Laços", "intro": [ - "In these videos, you will learn how to work with dictionaries and various loops include the while and for loops." + "Nesses vídeos, você aprenderá a trabalhar com dicionários e vários laços, incluindo while e for." ] }, "error-handling-files-and-modules-in-python": { - "title": "Error Handling, Files, and Modules", + "title": "Tratamento de Erros, Arquivos e Módulos", "intro": [ - "In these videos, you will learn how to handle errors gracefully, read and write to files, and organize your code with modules and external packages." + "Nesses vídeos, você aprenderá a tratar erros de forma elegante, ler e escrever em arquivos e organizar o código com módulos e pacotes externos." ] }, "object-oriented-programming-with-python": { - "title": "Object-Oriented Programming with Python", + "title": "Programação Orientada a Objetos com Python", "intro": [ - "In these videos, you will learn about object-oriented programming by creating classes and objects. You will practice these skills by building a multiple choice quiz application." + "Nesses vídeos, você aprenderá sobre programação orientada a objetos criando classes e objetos. Você praticará essas habilidades construindo um aplicativo de questionário de múltipla escolha." ] } } @@ -1015,2358 +1015,2390 @@ "note": "", "blocks": { "searching-algorithms": { - "title": "Searching Algorithms", + "title": "Algoritmos de Busca", "intro": [ - "In these videos, you will learn what an algorithm is and learn how to work with the binary search and linear search algorithms." + "Nesses vídeos, você aprenderá o que é um algoritmo e como trabalhar com os algoritmos de busca binária e busca linear." ] }, "time-complexity": { - "title": "Time Complexity", + "title": "Complexidade de Tempo", "intro": [ - "In these videos, you will learn about time complexity and how it works with measuring efficiency of algorithms." + "Nesses vídeos, você aprenderá sobre complexidade de tempo e como ela funciona ao medir a eficiência de algoritmos." ] }, "algorithms-in-code": { - "title": "Algorithms in Code", + "title": "Algoritmos em Código", "intro": [ - "In these videos, you will write Python code for the linear and binary search algorithms." + "Nesses vídeos, você escreverá código Python para os algoritmos de busca linear e binária." ] }, "recursion-and-space-complexity": { - "title": "Recursion and Space Complexity", + "title": "Recursão e Complexidade de Espaço", "intro": [ - "In these videos, you will learn about recursion and space complexity for algorithms." + "Nesses vídeos, você aprenderá sobre recursão e complexidade de espaço para algoritmos." ] }, "introduction-to-arrays": { - "title": "Introduction to Arrays", + "title": "Introdução a Arrays", "intro": [ - "In these videos, you will learn how to work with arrays. You will learn about different operations including insert, delete and search." + "Nesses vídeos, você aprenderá como trabalhar com arrays. Você aprenderá sobre diferentes operações incluindo inserir, excluir e buscar." ] }, "introduction-to-linked-lists": { - "title": "Introduction to Linked Lists", + "title": "Introdução a Listas Ligadas", "intro": [ - "In these videos, you will learn about linked lists. You will learn how to add nodes to a list as well as remove and search a list." + "Nesses vídeos, você aprenderá sobre listas ligadas. Você aprenderá como adicionar nós a uma lista, assim como remover e buscar em uma lista." ] }, "merge-sort-algorithm": { - "title": "Merge Sort Algorithm", - "intro": [ - "In these videos, you will learn about the merge sort algorithm." - ] + "title": "Algoritmo Merge Sort", + "intro": ["Nesses vídeos, você aprenderá sobre o algoritmo merge sort."] }, "sorting-a-linked-list": { - "title": "Sorting a Linked List", + "title": "Ordenando uma Lista Ligada", "intro": [ - "In these videos, you will learn more about how to sort linked lists." + "Nesses vídeos, você aprenderá mais sobre como ordenar listas ligadas." ] }, "sorting-algorithms": { - "title": "Sorting Algorithms", + "title": "Algoritmos de Ordenação", "intro": [ - "In these videos, you will learn about common sorting algorithms including selection sort and quicksort." + "Nesses vídeos, você aprenderá sobre algoritmos comuns de ordenação incluindo selection sort e quicksort." ] }, "searching-names-using-sorting-and-searching-algorithms": { - "title": "Searching Names using Sorting and Searching Algorithms", + "title": "Buscando Nomes usando Algoritmos de Ordenação e Busca", "intro": [ - "In these videos, you will practice searching for names using the binary and linear search algorithms and comparing the runtimes for them." + "Nesses vídeos, você praticará buscar nomes usando os algoritmos de busca binária e linear e comparar os tempos de execução entre eles." ] } } }, "learn-rag-mcp-fundamentals": { - "title": "Learn RAG and MCP Fundamentals", + "title": "Aprenda os Fundamentos de RAG e MCP", "summary": [ - "Learn the fundamentals of RAG and MCP in this comprehensive video course." + "Aprenda os fundamentos de RAG e MCP neste curso em vídeo abrangente." ], "intro": [ - "RAG stands for Retrieval-Augmented Generation. MCP stands for Model Context Protocol. These are powerful frameworks for building AI agents that can retrieve information from a knowledge base, generate responses based on that information, and plan their actions accordingly.", - "In this course, you'll learn the fundamentals of RAG and MCP and how to implement them in your own projects. You'll explore the components of RAG and MCP, including retrieval, generation, memory, context, and planning. By the end of this course, you'll have a solid understanding of how RAG and MCP work and how to use them to build intelligent agents." + "RAG significa Retrieval-Augmented Generation. MCP significa Model Context Protocol. Estes são frameworks poderosos para construir agentes de IA que podem recuperar informações de uma base de conhecimento, gerar respostas com base nessas informações e planejar suas ações de acordo.", + "Neste curso, você aprenderá os fundamentos de RAG e MCP e como implementá‑los em seus próprios projetos. Você explorará os componentes de RAG e MCP, incluindo recuperação, geração, memória, contexto e planejamento. Ao final deste curso, você terá uma compreensão sólida de como RAG e MCP funcionam e como usá‑los para construir agentes inteligentes." ], "note": "", "blocks": { "understanding-rag": { - "title": "Understanding RAG", + "title": "Compreendendo RAG", "intro": [ - "Learn the fundamentals of Retrieval-Augmented Generation (RAG), including what it is, when to use it, and core concepts." + "Aprenda os fundamentos de Retrieval-Augmented Generation (RAG), incluindo o que é, quando usar e conceitos centrais." ] }, "retrieval-engine-internals": { - "title": "Retrieval Engine Internals", + "title": "Detalhes Internos do Mecanismo de Recuperação", "intro": [ - "Dive into semantic search, embedding models, vector databases, and chunking to understand how retrieval works under the hood." + "Aprofunde-se em busca semântica, modelos de embeddings, bancos de dados vetoriais e chunking para entender como a recuperação funciona por baixo dos panos." ] }, "designing-reliable-rag-systems": { - "title": "Designing Reliable RAG Systems", + "title": "Projetando Sistemas RAG Confiáveis", "intro": [ - "Explore RAG architecture, monitoring, error handling, and how to deploy RAG systems in production." + "Explore arquitetura RAG, monitoramento, tratamento de erros e como implantar sistemas RAG em produção." ] }, "mcp-ecosystem-and-tooling": { - "title": "MCP Ecosystem & Tooling", + "title": "Ecossistema e Ferramentas MCP", "intro": [ - "Learn why MCP exists, its architecture, JSON-RPC, and how to build and use MCP servers and clients effectively." + "Aprenda por que o MCP existe, sua arquitetura, JSON-RPC e como construir e usar servidores e clientes MCP de forma eficaz." ] } } }, "introduction-to-precalculus": { - "title": "Introduction to Precalculus", + "title": "Introdução ao Pré-cálculo", "summary": [ - "Learn the fundamentals of precalculus, including functions, and trigonometry." + "Aprenda os fundamentos do pré-cálculo, incluindo funções e trigonometria." ], "intro": [ - "Precalculus is a branch of mathematics that prepares you for calculus. It covers a wide range of topics including functions, and trigonometry." + "Pré-cálculo é um ramo da matemática que prepara para o cálculo. Abrange uma ampla gama de tópicos incluindo funções e trigonometria." ], "note": "", "blocks": { "function-basics": { - "title": "Function Basics", + "title": "Noções Básicas de Funções", "intro": [ - "In these videos, you will learn about functions and how to work with them." + "Nesses vídeos, você aprenderá sobre funções e como trabalhar com elas." ] }, "angles-and-circular-motion": { - "title": "Angles and Circular Motion", + "title": "Ângulos e Movimento Circular", "intro": [ - "In these videos, you will learn about angles and circular motion." + "Nesses vídeos, você aprenderá sobre ângulos e movimento circular." ] }, "right-triangle-trigonometry": { - "title": "Right Triangle Trigonometry", + "title": "Trigonometria de Triângulo Retângulo", "intro": [ - "In these videos, you will learn about right triangle trigonometry and how to work with it." + "Nesses vídeos, você aprenderá sobre trigonometria de triângulos retângulos e como trabalhar com ela." ] }, "trig-graphs-inverses": { - "title": "Trigonometric Graphs and Inverses", + "title": "Gráficos trigonométricos e Funções Inversas", "intro": [ - "In these videos, you will learn about trigonometric graphs and inverse functions." + "Nesses vídeos, você aprenderá sobre gráficos trigonométricos e funções inversas." ] }, "solving-trig-equations": { - "title": "Solving Trigonometric Equations", + "title": "Resolvendo Equações Trigonométricas", "intro": [ - "In these videos, you will learn how to solve trigonometric equations." + "Nesses vídeos, você aprenderá como resolver equações trigonométricas." ] }, "trig-identities-formulas": { - "title": "Trigonometric Identities and Formulas", + "title": "Identidades e Fórmulas Trigonométricas", "intro": [ - "In these videos, you will learn about trigonometric identities and formulas." + "Nesses vídeos, você aprenderá sobre identidades e fórmulas trigonométricas." ] }, "advanced-trig-conics": { - "title": "Advanced Trigonometry and Conics", + "title": "Trigonometria Avançada e Cônicas", "intro": [ - "In these videos, you will learn about advanced trigonometry and conic sections." + "Nesses vídeos, você aprenderá sobre trigonometria avançada e seções cônicas." ] } } }, "introduction-to-bash": { - "title": "Introduction to Bash", + "title": "Introdução ao Bash", "summary": [ - "Learn how to use the terminal and write Bash scripts to automate tasks and manage files and processes." + "Aprenda como usar o terminal e escrever scripts Bash para automatizar tarefas e gerenciar arquivos e processos." ], "intro": [ - "Bash is a Unix shell and command language that provides a powerful interface for interacting with your computer's operating system. It allows you to execute commands, automate tasks, and manage files and processes efficiently.", - "In this course, you'll learn the basics of Bash scripting, including how to navigate the file system, manipulate files and directories." + "Bash é um shell Unix e linguagem de comando que fornece uma interface poderosa para interagir com o sistema operacional do computador. Ele permite executar comandos, automatizar tarefas e gerenciar arquivos e processos de forma eficiente.", + "Neste curso, você aprenderá o básico sobre scripting em Bash, incluindo como navegar pelo sistema de arquivos e manipular arquivos e diretórios." ], "note": "", "blocks": { "lecture-understanding-the-command-line-and-working-with-bash": { - "title": "Understanding the Command Line and Working with Bash", + "title": "Compreendendo a Linha de Comando e Trabalhando com Bash", "intro": [ - "Learn about the Command Line and Working with Bash in these lessons." + "Aprenda sobre a Linha de Comando e Trabalhar com Bash nessas lições." ] }, "workshop-bash-boilerplate": { - "title": "Build a Boilerplate", + "title": "Crie um Boilerplate", "intro": [ - "The terminal allows you to send text commands to your computer that can manipulate the file system, run programs, automate tasks, and much more.", - "In this 170-lesson workshop, you will learn terminal commands by creating a website boilerplate using only the command line." + "O terminal permite enviar comandos de texto ao computador que podem manipular o sistema de arquivos, executar programas, automatizar tarefas e muito mais.", + "Neste workshop de 170 aulas, você aprenderá comandos do terminal criando um boilerplate de site usando apenas a linha de comando." ] }, "review-bash-commands": { - "title": "Bash Commands Review", + "title": "Revisão sobre Comandos do Bash", "intro": [ - "Review the Bash Commands concepts to prepare for the upcoming quiz." + "Revise os conceitos sobre Comandos Bash para se preparar para o próximo questionário." ] }, "quiz-bash-commands": { - "title": "Bash Commands Quiz", - "intro": ["Test what you've learned bash commands with this quiz."] + "title": "Questionário sobre Comandos do Bash", + "intro": [ + "Teste o que você aprendeu sobre comandos do Bash com este questionário." + ] } } }, "introduction-to-sql-and-postgresql": { - "title": "Introduction to SQL and PostgreSQL", + "title": "Introdução ao SQL e PostgreSQL", "summary": [ - "Learn how to use SQL and PostgreSQL to create and manage relational databases." + "Aprenda como usar SQL e PostgreSQL para criar e gerenciar bancos de dados relacionais." ], "intro": [ - "SQL (Structured Query Language) is a programming language used to manage and manipulate relational databases. It allows you to create, read, update, and delete data in a database.", - "PostgreSQL is a powerful, open-source relational database management system that uses SQL as its query language. It provides a robust and scalable platform for storing and managing data." + "SQL (Structured Query Language) é uma linguagem de programação usada para gerenciar e manipular bancos de dados relacionais. Ela permite criar, ler, atualizar e excluir dados em um banco de dados.", + "PostgreSQL é um sistema de gerenciamento de banco de dados relacional poderoso e de código aberto que usa SQL como sua linguagem de consulta. Ele fornece uma plataforma robusta e escalável para armazenar e gerenciar dados." ], "note": "", "blocks": { "lecture-working-with-relational-databases": { - "title": "Working with Relational Databases", + "title": "Trabalhando com Bancos de Dados Relacionais", "intro": [ - "Learn how to work with Relational Databases in these lessons." + "Aprenda como trabalhar com Bancos de Dados Relacionais nessas lições." ] }, "workshop-database-of-video-game-characters": { - "title": "Build a Database of Video Game Characters", + "title": "Crie um Banco de Dados de Personagens de Video Game", "intro": [ - "A relational database organizes data into tables that are linked together through relationships.", - "In this 165-lesson workshop, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters." + "Um banco de dados relacional organiza dados em tabelas que estão interligadas através de relacionamentos.", + "Neste workshop de 165 aulas, você aprenderá o essencial sobre bancos de dados relacionais, criando um banco de dados PostgreSQL com vários personagens de videogame." ] }, "lab-celestial-bodies-database": { - "title": "Build a Celestial Bodies Database", + "title": "Crie um Banco de Dados de Corpos Celestiais", "intro": [ - "For this project, you will build a database of celestial bodies using PostgreSQL." + "Para este projeto, você vai construir um banco de dados de corpos celestiais usando PostgreSQL." ] }, "review-sql-and-postgresql": { - "title": "SQL and PostgreSQL Review", + "title": "Revisão sobre SQL e PostgreSQL", "intro": [ - "Review SQL and PostgreSQL concepts to prepare for the upcoming quiz." + "Revise conceitos de SQL e PostgreSQL para se preparar para o próximo questionário." ] }, "quiz-sql-and-postgresql": { - "title": "SQL and PostgreSQL Quiz", + "title": "Questionário sobre SQL e PostgreSQL", "intro": [ - "Test what you've learned about SQL and PostgreSQL with this quiz." + "Teste o que você aprendeu sobre SQL e PostgreSQL com este questionário." ] } } }, "learn-bash-scripting": { - "title": "Learn Bash Scripting", + "title": "Aprenda Scripts Bash.", "summary": [ - "Learn how to write Bash scripts to automate tasks and manage files and processes." + "Aprenda como escrever scripts Bash para automatizar tarefas e gerenciar arquivos e processos." ], "intro": [ - "Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.", - "In this course, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs." + "Scripts Bash combinam comandos de terminal e lógica em programas que podem executar ou automatizar tarefas, e muito mais.", + "Neste curso, você aprenderá mais comandos do terminal e como usá-los dentro de scripts do Bash criando cinco programas pequenos." ], "note": "", "blocks": { "lecture-understanding-bash-scripting": { - "title": "Understanding Bash Scripting", - "intro": ["Learn about Bash Scripting in these lessons."] + "title": "Compreendendo Scripts em Bash", + "intro": ["Aprenda sobre Scripts em Bash nessas lições."] }, "workshop-bash-five-programs": { - "title": "Build Five Programs", + "title": "Crie Cinco Programas", "intro": [ - "Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.", - "In this 220-lesson workshop, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs." + "Scripts Bash combinam comandos de terminal e lógica em programas que podem executar ou automatizar tarefas, e muito mais.", + "Neste workshop de 220 aulas, você aprenderá mais comandos do terminal e como usá-los dentro de scripts Bash, criando cinco programas pequenos." ] }, "review-bash-scripting": { - "title": "Bash Scripting Review", + "title": "Revisão sobre Scripts Bash", "intro": [ - "Review the bash scripting concepts you've learned to prepare for the upcoming quiz." + "Revise os conceitos de script do Bash que você aprendeu para se preparar para o próximo questionário." ] }, "quiz-bash-scripting": { - "title": "Bash Scripting Quiz", - "intro": ["Test what you've learned on bash scripting in this quiz."] + "title": "Questionário sobre Scripts Bash", + "intro": [ + "Teste o que você aprendeu sobre scripts do Bash neste questionário." + ] } } }, "learn-sql-and-bash": { - "title": "Learn SQL and Bash", + "title": "Aprenda SQL e Bash", "summary": [ - "Learn how to use SQL and Bash together to manage and manipulate relational databases." + "Aprenda como usar SQL e Bash juntos para gerenciar e manipular bancos de dados relacionais." ], "intro": [ - "SQL, or Structured Query Language, is the language for communicating with a relational database. Bash is a Unix shell and command language that provides a powerful interface for interacting with your computer's operating system.", - "In this course, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL." + "SQL, ou Linguagem de Consulta Estruturada, é a linguagem para comunicar com um banco de dados relacional. Bash é um shell Unix e linguagem de comando que fornece uma interface poderosa para interagir com o sistema operacional do computador.", + "Neste curso, você criará um script em Bash que utiliza SQL para inserir informações sobre alunos de ciência da computação no PostgreSQL." ], "note": "", "blocks": { "lecture-working-with-sql": { - "title": "Working With SQL", + "title": "Trabalhando com SQL", "intro": [ - "In these lessons, you will learn about SQL injection, normalization, and the N+1 problem." + "Nessas lições, você aprenderá sobre injeção SQL, normalização e o problema N+1." ] }, "workshop-sql-student-database-part-1": { - "title": "Build a Student Database: Part 1", + "title": "Crie um Banco de Dados de Alunos: Parte 1", "intro": [ - "SQL, or Structured Query Language, is the language for communicating with a relational database.", - "In this 140-lesson workshop, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL." + "SQL, ou Linguagem de Consulta Estruturada, é a linguagem para comunicação com um banco de dados relacional.", + "Neste workshop de 140 aulas, você criará um script do Bash que utiliza SQL para inserir informações sobre alunos de ciência da computação no PostgreSQL." ] }, "workshop-sql-student-database-part-2": { - "title": "Build a Student Database: Part 2", + "title": "Crie um Banco de Dados de Alunos: Parte 2", "intro": [ - "SQL join commands are used to combine information from multiple tables in a relational database", - "In this 140-lesson workshop, you will complete your student database while diving deeper into SQL commands." + "Comandos join do SQL são usados para combinar informações de várias tabelas em um banco de dados relacional", + "Neste workshop de 140 aulas, você completará o banco de dados de alunos enquanto se aprofunda nos comandos SQL." ] }, "lab-world-cup-database": { - "title": "Build a World Cup Database", + "title": "Crie um Banco de Dados da Copa do Mundo", "intro": [ - "For this project, you will create a Bash script that enters information from World Cup games into PostgreSQL, then query the database for useful statistics." + "Para este projeto, você criará um script do Bash que insere informações de jogos da Copa do Mundo no PostgreSQL. Depois, você vai consultar o banco de dados para obter estatísticas úteis." ] }, "workshop-kitty-ipsum-translator": { - "title": "Build a Kitty Ipsum Translator", + "title": "Crie um tradutor de Kitty Ipsum", "intro": [ - "There's more to Bash commands than you might think.", - "In this 140-lesson workshop, you will learn some more complex commands, and the details of how commands work." + "Há mais comandos do Bash do que você imagina.", + "Neste workshop de 140 aulas, você aprenderá alguns comandos mais complexos e detalhes de como funcionam os comandos." ] }, "workshop-bike-rental-shop": { - "title": "Build a Bike Rental Shop", + "title": "Crie uma Loja de Aluguel de Bicicletas", "intro": [ - "In this 210-lesson workshop, you will build an interactive Bash program that stores rental information for your bike rental shop using PostgreSQL." + "Neste workshop de 210 aulas, você vai construir um programa interativo em Bash que armazena informações de aluguel para uma loja de aluguel de bicicletas usando PostgreSQL." ] }, "lab-salon-appointment-scheduler": { - "title": "Build a Salon Appointment Scheduler", + "title": "Criar um agendador de compromissos do salão de beleza", "intro": [ - "For this lab, you will create an interactive Bash program that uses PostgreSQL to track the customers and appointments for your salon." + "Para este laboratório, você criará um programa interativo em Bash que usa PostgreSQL para acompanhar os clientes e compromissos de um salão." ] }, "review-bash-and-sql": { - "title": "Bash and SQL Review", + "title": "Revisão de Bash e SQL", "intro": [ - "Review the Bash and SQL concepts to prepare for the upcoming quiz." + "Revise os conceitos de Bash e SQL para se preparar para o próximo questionário." ] }, "quiz-bash-and-sql": { - "title": "Bash and SQL Quiz", - "intro": ["Test what you've learned in this quiz on Bash and SQL."] + "title": "Questionário sobre Bash e SQL", + "intro": [ + "Teste o que você aprendeu neste questionário sobre Bash e SQL." + ] } } }, "introduction-to-nano": { - "title": "Introduction to Nano", + "title": "Introdução ao Nano", "summary": [ - "Learn how to use the Nano text editor to create and edit files in the terminal." + "Aprenda a usar o editor de texto Nano para criar e editar arquivos no terminal." ], "intro": [ - "Nano is a simple, user-friendly text editor that runs in the terminal. It allows you to create and edit files without leaving the command line.", - "In this course, you'll learn how to use Nano to create and edit files, navigate through text, and perform basic editing operations." + "Nano é um editor de texto simples e amigável que roda no terminal. Ele permite criar e editar arquivos sem sair da linha de comando.", + "Neste curso, você aprenderá a usar o Nano para criar e editar arquivos, navegar pelo texto e executar operações básicas de edição." ], "note": "", "blocks": { "lecture-working-with-nano": { - "title": "Working With Nano", - "intro": ["Learn about Nano in this lesson."] + "title": "Trabalhando com o Nano", + "intro": ["Aprenda sobre o Nano nesta lição."] }, "workshop-castle": { - "title": "Build a Castle", + "title": "Crie um Castelo", "intro": [ - "Nano is a program that allows you to edit files right in the terminal.", - "In this 40-lesson workshop, you will learn how to edit files in the terminal with Nano while building a castle." + "Nano é um programa que permite editar arquivos diretamente no terminal.", + "Neste workshop de 40 aulas, você aprenderá a editar arquivos no terminal com o Nano enquanto cria um castelo." ] } } }, "introduction-to-git-and-github": { - "title": "Introduction to Git and GitHub", + "title": "Introdução ao Git e GitHub", "summary": [ - "Learn how to use Git and GitHub to manage and collaborate on software projects." + "Aprenda a trabalhar com Git e GitHub para gerenciar e colaborar em projetos de software." ], "intro": [ - "Git is a version control system that allows developers to track changes in their code and collaborate with others. GitHub is a web-based platform that provides hosting for Git repositories, making it easier for developers to share and collaborate on projects.", - "In this course, you'll learn the basics of Git and GitHub, including how to create repositories, commit changes, and collaborate with others on software projects." + "Git é um sistema de controle de versão que permite aos desenvolvedores rastrear mudanças no código e colaborar com outros. GitHub é uma plataforma web que hospeda repositórios Git, facilitando o compartilhamento e a colaboração em projetos.", + "Neste curso, você aprenderá o básico sobre Git e GitHub, incluindo como criar repositórios, fazer commits e colaborar com outros em projetos de software." ], "note": "", "blocks": { "lecture-introduction-to-git-and-github": { - "title": "Introduction to Git and GitHub", - "intro": ["Learn how to work with Git and GitHub in these lessons."] + "title": "Introdução ao Git e GitHub", + "intro": ["Aprenda como trabalhar com Git e GitHub nestas lições."] }, "lecture-working-with-code-reviews-branching-deployment-and-ci-cd": { - "title": "Working With Code Reviews, Branching, Deployment, and CI/CD", + "title": "Trabalhando com Revisões de Código, Ramificações, Implantação e CI/CD", "intro": [ - "Learn about code reviews, branching, deployment, and CI/CD in these lessons." + "Aprenda sobre revisões de código, ramificações, implantação e CI/CD nessas lições." ] }, "workshop-sql-reference-object": { - "title": "Build an SQL Reference Object", + "title": "Crie um Objeto de Referência SQL", "intro": [ - "Git is a version control system that keeps track of all the changes you make to your codebase.", - "In this 240-lesson workshop, you will learn how Git keeps track of your code by creating an object containing commonly used SQL commands." + "Git é um sistema de controle de versão que registra todas as mudanças feitas na base de código.", + "Neste workshop de 240 aulas, você aprenderá como o Git mantém o controle do código criando um objeto que contém comandos SQL comumente usados." ] }, "review-git": { - "title": "Git Review", - "intro": ["Review Git concepts to prepare for the upcoming quiz."] + "title": "Revisão de Git", + "intro": [ + "Revise os conceitos de Git para se preparar para o próximo questionário." + ] }, "quiz-git": { - "title": "Git Quiz", - "intro": ["Test what you've learned on Git with this quiz."] + "title": "Questionário sobre o Git", + "intro": [ + "Teste o que você aprendeu sobre o Git com este questionário." + ] } } }, "learn-oop-with-python": { - "title": "Learn OOP with Python", + "title": "Aprenda POO com Python", "summary": [ - "In this video course, you will learn about object-oriented programming using Python." + "Neste curso em vídeo, você aprenderá sobre programação orientada a objetos usando Python." ], "intro": [ - "Object-Oriented Programming (OOP) is a programming paradigm based on the concept of objects, which can contain data and code to manipulate that data. This course introduces the key principles of OOP, including classes, objects, inheritance, and shows how to apply them in practice." + "Programação Orientada a Objetos (POO) é um paradigma de programação baseado no conceito de objetos, que podem conter dados e código para manipular esses dados. Este curso introduz os princípios chave da POO, incluindo classes, objetos, herança, e mostra como aplicá‑los na prática." ], "note": "", "blocks": { "oop-basics": { - "title": "OOP Basics", + "title": "Noções Básicas de POO", "intro": [ - "In these videos, learn the basics of OOP including how to create classes and work with constructors." + "Nesses vídeos, aprenda os básicos de POO incluindo como criar classes e trabalhar com construtores." ] }, "methods-and-inheritance": { - "title": "Methods and Inheritance", - "intro": [ - "In these videos, learn about methods and inheritance in OOP." - ] + "title": "Métodos e Herança", + "intro": ["Nesses vídeos, aprenda sobre métodos e herança em POO."] }, "advanced-oop-concepts": { - "title": "Advanced OOP Concepts", + "title": "Conceitos Avançados de POO", "intro": [ - "In these videos, learn about advanced OOP concepts including getters, setters and other important OOP principles." + "Nesses vídeos, aprenda sobre conceitos avançados de POO incluindo getters, setters e outros princípios importantes da POO." ] } } }, "introduction-to-python-basics": { - "title": "Introduction to Python Basics", - "summary": ["Learn the fundamentals of Python programming."], + "title": "Introdução ao Básico de Python", + "summary": ["Este curso ensina os fundamentos da programação em Python."], "intro": [ - "In this interactive course, you will learn the basic syntax, data types, and control structures of Python." + "Neste curso interativo, você aprenderá a sintaxe básica, tipos de dados e estruturas de controle do Python." ], "note": "", "blocks": { "lecture-introduction-to-python": { - "title": "Introduction to Python", + "title": "Introdução ao Python", "intro": [ - "In these lessons, you will learn what Python is and how to set up your development environment." + "Nestas aulas, você aprenderá o que é Python e como configurar o ambiente de Desenvolvimento." ] }, "lecture-understanding-variables-and-data-types": { - "title": "Understanding Variables and Data Types", + "title": "Entendendo variáveis e tipos de dados", "intro": [ - "In these lessons, you will learn about variables and data types in Python." + "Nestas aulas, você aprenderá sobre variáveis e tipos de dados em Python." ] }, "workshop-report-card-printer": { - "title": "Build a Report Card Printer", + "title": "Crie uma Impressora de Boletim de Notas", "intro": [ - "In this workshop, you will build a report card printer to work with primitive data types in Python." + "Neste workshop, você criará uma impressora de boletim de notas para trabalhar com tipos de dados primitivos em Python." ] }, "lecture-introduction-to-python-strings": { - "title": "Introduction to Strings", - "intro": ["In these lessons, you will learn about strings in Python."] + "title": "Introdução a strings", + "intro": ["Nestas aulas, você aprenderá sobre strings em Python."] }, "workshop-employee-profile-generator": { - "title": "Build an Employee Profile Generator", + "title": "Crie um Gerador de Perfil de Funcionário", "intro": [ - "In this workshop, you will practice the fundamentals of string manipulation in Python by building a tool that generates formatted employee badges and analyzes employee codes." + "Neste workshop, você praticará os fundamentos da manipulação de strings em Python criando uma ferramenta que gera crachás de funcionários formatados e analisa códigos de funcionários." ] }, "lecture-numbers-and-mathematical-operations": { - "title": "Numbers and Mathematical Operations", + "title": "Números e operações matemáticas", "intro": [ - "In these lessons, you will learn about numbers and mathematical operations in Python." + "Nestas aulas, você aprenderá sobre números e operações matemáticas em Python." ] }, "workshop-bill-splitter": { - "title": "Build a Bill Splitter", + "title": "Crie um Divisor de Conta", "intro": [ - "In this workshop, you will build a bill splitter to practice working with numbers and mathematical operations in Python." + "Neste workshop, você criará um divisor de conta para praticar trabalhar com números e operações matemáticas em Python." ] }, "lecture-booleans-and-conditionals": { - "title": "Booleans and Conditionals", + "title": "Booleanos e condicionais", "intro": [ - "In these lessons, you will learn about booleans and conditionals in Python." + "Nestas aulas, você aprenderá sobre booleanos e condicionais em Python." ] }, "workshop-movie-ticket-booking-calculator": { - "title": "Build a Movie Ticket Booking Calculator", + "title": "Crie uma Calculadora de Reserva de Ingressos de Cinema", "intro": [ - "In this workshop, you will practice how to use booleans and conditional statements in Python by building a movie ticket booking calculator." + "Neste workshop, você praticará o uso de booleanos e instruções condicionais em Python criando uma calculadora de reserva de ingressos de cinema." ] }, "lab-travel-weather-planner": { - "title": "Build a Travel Weather Planner", + "title": "Crie um Planejador de Clima para Viagens", "intro": [ - "In this lab, you will build a travel weather planner using conditionals." + "Neste laboratório, você criará um planejador de clima para viagens usando condicionais." ] }, "lecture-understanding-functions-and-scope": { - "title": "Understanding Functions and Scope", + "title": "Entendendo funções e escopo", "intro": [ - "In these lessons, you will learn about functions and scope in Python." + "Nestas aulas, você aprenderá sobre funções e escopo em Python." ] }, "lab-discount-calculator": { - "title": "Build an Apply Discount Function", + "title": "Crie uma função para aplicar desconto", "intro": [ - "In this lab, you will practice basic Python by building a calculator to apply a discount to a price." + "Neste laboratório, você praticará Python básico criando uma calculadora para aplicar um desconto a um preço." ] }, "workshop-caesar-cipher": { - "title": "Build a Caesar Cipher", + "title": "Crie uma Cifra de César", "intro": [ - "In this workshop, you'll build a Caesar cipher using basic Python concepts such as strings, conditionals, functions, and more." + "Neste workshop, você criará uma cifra de César usando conceitos básicos de Python, tais como strings, condicionais, funções e mais." ] }, "lab-rpg-character": { - "title": "Build an RPG Character", + "title": "Crie um personagem de RPG", "intro": [ - "In this lab you will practice basic Python by building an RPG character." + "Neste laboratório, você praticará Python básico construindo um personagem de RPG." ] }, "review-python-basics": { - "title": "Python Basics Review", + "title": "Revisão do Básico de Python", "intro": [ - "Before you're quizzed on Python basics, you should review what you've learned about it.", - "In this review page, you will review working with strings, functions, comparison operators and more." + "Antes de ser avaliado sobre o básico de Python, você deve revisar o que aprendeu sobre o assunto.", + "Nesta página de revisão, você revisará o trabalho com strings, funções, operadores de comparação e mais." ] }, "quiz-python-basics": { - "title": "Python Basics Quiz", + "title": "Questionário de Noções Básicas de Python", "intro": [ - "Test what you've learned about Python basics with this quiz." + "Teste o que você aprendeu sobre noções básicas de Python com este questionário." ] } } }, "learn-python-loops-and-sequences": { - "title": "Learn Python Loops and Sequences", - "summary": ["Learn how to work with loops and sequences in Python."], + "title": "Aprenda Laços e Sequências em Python", + "summary": ["Aprenda como trabalhar com laços e sequências em Python."], "intro": [ - "In this interactive course, you will learn how to work with loops and sequences in Python." + "Neste curso interativo, você aprenderá como trabalhar com laços e sequências em Python." ], "note": "", "blocks": { "lecture-working-with-loops-and-sequences": { - "title": "Working with Loops and Sequences", + "title": "Trabalhando com Laços e Sequências", "intro": [ - "Learn about working with loops and sequences in these lessons." + "Aprenda sobre Trabalhar com Laços e Sequências nestas lições." ] }, "workshop-pin-extractor": { - "title": "Build a Pin Extractor", + "title": "Crie um Extrator de PINs", "intro": [ - "In this workshop you will build a function to extract secret pins hidden in poems." + "Neste workshop, você criará uma função para extrair PINs secretos ocultos em poemas." ] }, "lab-number-pattern-generator": { - "title": "Build a Number Pattern Generator", - "intro": ["In this lab you will build a number pattern generator."] + "title": "Crie um Gerador de Padrões de Números", + "intro": [ + "Neste laboratório você criará um gerador de padrões de números." + ] }, "review-loops-and-sequences": { - "title": "Loops and Sequences Review", + "title": "Revisão de Laços e Sequências", "intro": [ - "Before you're quizzed on loops and sequences, you should review what you've learned about them.", - "Open up this page to review concepts around loops, lists, tuples and some of their common methods." + "Antes de ser avaliado sobre laços e sequências, você deve revisar o que aprendeu sobre eles.", + "Abra esta página para revisar conceitos sobre laços, listas, tuplas e alguns de seus métodos comuns." ] }, "quiz-loops-and-sequences": { - "title": "Loops and Sequences Quiz", + "title": "Questionário de Laços e Sequências", "intro": [ - "Test what you've learned about loops and sequences in Python with this quiz." + "Teste o que você aprendeu sobre laços e sequências em Python com este questionário." ] } } }, "learn-python-dictionaries-and-sets": { - "title": "Learn Python Dictionaries and Sets", - "summary": ["Learn how to work with dictionaries and sets in Python."], + "title": "Aprenda Dicionários e Conjuntos em Python", + "summary": [ + "Aprenda como trabalhar com dicionários e conjuntos em Python." + ], "intro": [ - "In this interactive course, you will learn how to work with dictionaries and sets in Python." + "Neste curso interativo, você aprenderá como trabalhar com dicionários e conjuntos em Python." ], "note": "", "blocks": { "lecture-working-with-dictionaries-and-sets": { - "title": "Working with Dictionaries and Sets", + "title": "Trabalhando com Dicionários e Conjuntos", "intro": [ - "Learn about working with dictionaries and sets in these lessons." + "Aprenda sobre trabalhar com dicionários e conjuntos nessas lições." ] }, "lecture-working-with-modules": { - "title": "Working with Modules", - "intro": ["Learn about working with modules in these lessons."] + "title": "Trabalhando com Módulos", + "intro": ["Aprenda sobre trabalhar com módulos nessas lições."] }, "workshop-medical-data-validator": { - "title": "Build a Medical Data Validator", + "title": "Crie um Validador de Dados Médicos", "intro": [ - "In this workshop, you'll practice working with dictionaries and sets while validating a collection of medical data." + "Neste workshop, você praticará o uso de dicionários e conjuntos enquanto valida uma coleção de dados médicos." ] }, "lab-user-configuration-manager": { - "title": "Build a User Configuration Manager", + "title": "Crie um Gerenciador de Configurações de Usuário", "intro": [ - "In this lab, you will practice working with dictionaries in Python." + "Neste laboratório, você praticará o uso de dicionários em Python." ] }, "review-dictionaries-and-sets": { - "title": "Dictionaries and Sets Review", + "title": "Revisão de Dicionários e Conjuntos", "intro": [ - "Before you're quizzed on dictionaries and sets, you should review what you've learned about them.", - "Open up this page to review concepts around dictionaries, sets, and how to import modules." + "Antes de ser avaliado sobre dicionários e conjuntos, você deve revisar o que aprendeu sobre o assunto.", + "Abra esta página para revisar conceitos sobre dicionários, conjuntos e como importar módulos." ] }, "quiz-dictionaries-and-sets": { - "title": "Dictionaries and Sets Quiz", + "title": "Questionário de Dicionários e Conjuntos", "intro": [ - "Test what you've learned about dictionaries and sets in Python with this quiz." + "Teste o que você aprendeu sobre dicionários e conjuntos em Python com este questionário." ] } } }, "learn-error-handling-in-python": { - "title": "Learn Error Handling in Python", - "summary": ["Learn how to handle errors and exceptions in Python."], + "title": "Aprenda Tratamento de Erros em Python", + "summary": ["Aprenda a tratar erros e exceções em Python."], "intro": [ - "In this interactive course, you will learn how to handle errors and exceptions in Python." + "Neste curso interativo, você aprenderá como tratar erros e exceções em Python." ], "note": "", "blocks": { "lecture-understanding-error-handling": { - "title": "Understanding Error Handling", + "title": "Compreendendo o Tratamento de Erros", "intro": [ - "In these lessons, you will learn about error handling in Python. You will learn about the different types of errors, some good debugging practices, what exceptions are, and how to handle them." + "Nestas lições, você aprenderá sobre tratamento de erros em Python. Você aprenderá sobre os diferentes tipos de erros, algumas boas práticas de depuração, o que são exceções e como tratá‑las." ] }, "lab-isbn-validator": { - "title": "Debug an ISBN Validator", + "title": "Depure um Validador de ISBN", "intro": [ - "In this lab, you will start with a bugged app, and you will need to debug and fix the bugs until it is working properly." + "Neste laboratório, você começará com um aplicativo com erros, e precisará depurá‑lo e corrigir os erros até que funcione corretamente." ] }, "review-error-handling": { - "title": "Error Handling Review", + "title": "Revisão do Tratamento de Erros", "intro": [ - "Before you're quizzed on error handling, you should review what you've learned about it." + "Antes de ser avaliado sobre tratamento de erros, você deve revisar o que aprendeu sobre o assunto." ] }, "quiz-error-handling": { - "title": "Error Handling Quiz", + "title": "Questionário de Tratamento de Erros", "intro": [ - "Test what you've learned about Error Handling in Python with this quiz." + "Teste o que você aprendeu sobre Tratamento de Erros em Python com este questionário." ] } } }, "learn-python-classes-and-objects": { - "title": "Learn Python Classes and Objects", - "summary": ["Learn how to work with classes and objects in Python."], + "title": "Aprenda Classes e Objetos em Python", + "summary": ["Aprenda como trabalhar com classes e objetos em Python."], "intro": [ - "In this interactive course, you will learn how to work with classes and objects in Python." + "Neste curso interativo, você aprenderá como trabalhar com classes e objetos em Python." ], "note": "", "blocks": { "lecture-classes-and-objects": { - "title": "Classes and Objects", - "intro": ["Learn about classes and objects in these lessons."] + "title": "Classes e Objetos", + "intro": ["Aprenda sobre Classes e Objetos nestas lições."] }, "workshop-musical-instrument-inventory": { - "title": "Build a Musical Instrument Inventory", + "title": "Crie um Inventário de Instrumentos Musicais", "intro": [ - "In this workshop, you will learn about classes, objects, and methods in Python by building a simple musical instrument inventory." + "Neste workshop, você aprenderá sobre classes, objetos e métodos em Python criando um inventário simples de instrumentos musicais." ] }, "lab-planet-class": { - "title": "Build a Planet Class", + "title": "Crie uma Classe Planeta", "intro": [ - "In this lab you will create a class that represents a planet." + "Neste laboratório você criará uma classe que representa um planeta." ] }, "workshop-email-simulator": { - "title": "Build an Email Simulator", + "title": "Crie um Simulador de E-mails", "intro": [ - "In this workshop you will implement classes and objects by building an email simulator that simulates sending, receiving, and managing emails between different users." + "Neste workshop você implementará classes e objetos criando um simulador de e-mails que simula envio, recebimento e gerenciamento de e-mails entre diferentes usuários." ] }, "lab-budget-app": { - "title": "Build a Budget App", + "title": "Crie um Aplicativo de Orçamento", "intro": [ - "In this lab you will build a budget app and practice creating a class and methods for that class." + "Neste laboratório, você construirá um aplicativo de orçamento e praticará a criação de uma classe e métodos para essa classe." ] }, "review-classes-and-objects": { - "title": "Classes and Objects Review", + "title": "Revisão de Classes e Objetos", "intro": [ - "Before you're quizzed on classes and objects, you should review what you've learned about them.", - "Open up this page to review concepts like how classes work, what are objects, methods, attributes, special methods and more." + "Antes de ser avaliado sobre classes e objetos, você deve revisar o que aprendeu sobre o assunto.", + "Abra esta página para revisar conceitos como funcionamento das classes, o que são objetos, métodos, atributos, métodos especiais e mais." ] }, "quiz-classes-and-objects": { - "title": "Classes and Objects Quiz", + "title": "Questionário de Classes e Objetos", "intro": [ - "Test what you've learned about classes and objects in Python with this quiz." + "Teste o que você aprendeu sobre classes e objetos em Python com este questionário." ] } } }, "introduction-to-oop-in-python": { - "title": "Introduction to OOP in Python", + "title": "Introdução à POO em Python", "summary": [ - "Learn the basics of Object-Oriented Programming (OOP) in Python." + "Aprenda o básico da Programação Orientada a Objetos (POO) em Python." ], "intro": [ - "In this interactive course, you will learn the basics of Object-Oriented Programming (OOP) in Python." + "Neste curso interativo, você aprenderá o básico de Programação Orientada a Objetos (POO) em Python." ], "note": "", "blocks": { "lecture-understanding-object-oriented-programming-and-encapsulation": { - "title": "Understanding Object Oriented Programming and Encapsulation", + "title": "Compreendendo a Programação Orientada a Objetos e a Encapsulação", "intro": [ - "Learn about understanding object oriented programming and encapsulation in these lessons." + "Aprenda sobre Compreender Programação Orientada a Objetos e Encapsulamento nestas lições." ] }, "workshop-salary-tracker": { - "title": "Build a Salary Tracker", + "title": "Crie um Monitor de Salários", "intro": [ - "In this workshop, you'll practice encapsulation, properties, and other OOP concepts by building a salary tracking system for employees." + "Neste workshop, você praticará encapsulação, propriedades e outros conceitos de POO, criando um sistema de rastreamento de salários para empregados." ] }, "lab-game-character-stats": { - "title": "Build a Game Character Stats Tracker", + "title": "Criar um rastreador de estatísticas do jogador", "intro": [ - "In this lab, you will build a game character with different stats using object-oriented programming." + "Neste laboratório, você criará um personagem de jogos com estatísticas diferentes usando a programação orientada a objetos." ] }, "lecture-understanding-inheritance-and-polymorphism": { - "title": "Understanding Inheritance and Polymorphism", + "title": "Compreendendo Herança e Polimorfismo", "intro": [ - "Learn about understanding inheritance and polymorphism in these lessons." + "Aprenda sobre Compreender Herança e Polimorfismo nessas lições." ] }, "workshop-media-catalogue": { - "title": "Build a Media Catalogue", + "title": "Crie um Catálogo de Mídias", "intro": [ - "In this workshop, you will create a media catalogue application using object-oriented programming principles." + "Neste workshop, você criará uma aplicação de catálogo de mídias usando princípios de programação orientada a objetos." ] }, "lecture-understanding-abstraction": { - "title": "Understanding Abstraction", - "intro": ["Learn about understanding abstraction in these lessons."] + "title": "Compreendendo a Abstração", + "intro": ["Aprenda sobre a Compreensão da Abstração nessas lições."] }, "workshop-discount-calculator": { - "title": "Build a Discount Calculator", + "title": "Criar uma Calculadora de Descontos", "intro": [ - "In this workshop you will build a flexible discount pricing calculator through abstract base classes, allowing multiple discount algorithms to be applied interchangeably without modifying the core logic." + "Neste workshop, você criará uma calculadora de preços flexível através de classes de base abstratas, permitindo que vários algoritmos de desconto sejam aplicados intercambiavelmente sem modificar a lógica principal." ] }, "lab-player-interface": { - "title": "Build a Player Interface", + "title": "Criar uma interface de jogador", "intro": [ - "In this lab, you'll use the abc module to build a player interface." + "Neste laboratório, você usará o módulo abc para criar uma interface do jogador." ] }, "lab-polygon-area-calculator": { - "title": "Build a Polygon Area Calculator", + "title": "Crie uma Calculadora de Área de Polígonos", "intro": [ - "In this lab, you will use object-oriented programming to calculate the areas of different polygons like squares and rectangles." + "Neste laboratório, você usará a programação orientada a objetos para calcular as áreas de diferentes polígonos, como quadrados e retângulos." ] }, "review-object-oriented-programming": { - "title": "Object Oriented Programming Review", + "title": "Revisão sobre Programação Orientada a Objetos", "intro": [ - "Before you're quizzed on object oriented programming, you should review what you've learned about it." + "Antes de ser avaliado sobre programação orientada a objetos, você deve revisar o que aprendeu sobre o assunto." ] }, "quiz-object-oriented-programming": { - "title": "Object Oriented Programming Quiz", + "title": "Questionário sobre Programação Orientada a Objetos", "intro": [ - "Test what you've learned about object oriented programming in Python with this quiz." + "Teste o que você aprendeu sobre programação orientada a objetos em Python com este questionário." ] } } }, "introduction-to-linear-data-structures-in-python": { - "title": "Introduction to Linear Data Structures in Python", - "summary": ["Learn the basics of linear data structures in Python."], + "title": "Introdução a Estruturas de Dados Lineares em Python", + "summary": ["Aprenda o básico de estruturas de dados lineares em Python."], "intro": [ - "In this interactive course, you will learn the basics of linear data structures in Python." + "Neste curso interativo, você aprenderá o básico de estruturas de dados lineares em Python." ], "note": "", "blocks": { "lecture-working-with-common-data-structures": { - "title": "Working with Common Data Structures", + "title": "Trabalhando com Estruturas de Dados Comuns", "intro": [ - "Learn about working with common data structures in these lessons." + "Aprenda sobre Trabalhar com Estruturas de Dados Comuns nessas lições." ] }, "workshop-linked-list-class": { - "title": "Build a Linked List", + "title": "Construa uma Lista Ligada", "intro": [ - "In this workshop, you'll practice working with data structures by building a linked list." + "Neste workshop, você praticará trabalhando com estruturas de dados criando uma lista ligada." ] }, "lab-hash-table": { - "title": "Build a Hash Table", + "title": "Crie uma Tabela Hash", "intro": [ - "A hash table is a data structure that is used to store key-value pairs and is optimized for quick lookups.", - "In this lab, you will use your knowledge about data structures to build a hash table." + "Uma tabela hash é uma estrutura de dados usada para armazenar pares de chave e valor e é otimizada para pesquisas rápidas.", + "Neste laboratório, você usará conhecimentos sobre estruturas de dados para criar uma tabela hash." ] }, "review-data-structures": { - "title": "Data Structures Review", + "title": "Revisão de Estruturas de Dados", "intro": [ - "Before you're quizzed on data structures, you should review what you've learned about them.", - "Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation." + "Antes de ser avaliado sobre estruturas de dados, você deve revisar o que aprendeu sobre o assunto.", + "Abra esta página para revisar conceitos como as diferentes estruturas de dados, algoritmos, análise de complexidade de tempo e espaço, e notação big O." ] }, "quiz-data-structures": { - "title": "Data Structures Quiz", + "title": "Questionário sobre Estruturas de Dados", "intro": [ - "Test what you've learned about data structures in Python with this quiz." + "Teste o que você aprendeu sobre estruturas de dados em Python com este questionário." ] } } }, "learn-algorithms-in-python": { - "title": "Learn Algorithms in Python", - "summary": ["Learn the basics of algorithms in Python."], + "title": "Aprenda Algoritmos em Python", + "summary": ["Aprenda o básico de algoritmos em Python."], "intro": [ - "In this interactive course, you will learn the basics of algorithms in Python." + "Neste curso interativo, você aprenderá o básico de algoritmos em Python." ], "note": "", "blocks": { "lecture-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms", + "title": "Algoritmos de Busca e Ordenação", "intro": [ - "Learn about fundamental searching and sorting algorithms, including linear search, binary search, and merge sort.", - "These lessons cover algorithm implementations, time and space complexity analysis, and the divide and conquer programming paradigm." + "Aprenda sobre algoritmos fundamentais de busca e ordenação, incluindo busca linear, busca binária e ordenação por fusão.", + "Estas lições abrangem implementações de algoritmos, análise de complexidade de tempo e espaço e o paradigma de programação de dividir e conquistar." ] }, "workshop-binary-search": { - "title": "Implement the Binary Search Algorithm", + "title": "Implemente o Algoritmo de Busca Binária", "intro": [ - "The binary search algorithm is a searching algorithm used to find a target item in a sorted list.", - "In this workshop, you'll implement the binary search algorithm and return the path it took to find the target or return 'Value not found'." + "O algoritmo de busca binária é um algoritmo de busca usado para encontrar um item alvo em uma lista ordenada.", + "Neste workshop, você implementará o algoritmo de busca binária e retornará o caminho que ele percorreu para encontrar o alvo ou retornará \"Valor não encontrado\"." ] }, "lab-bisection-method": { - "title": "Implement the Bisection Method", + "title": "Implemente o Método da Bissecção", "intro": [ - "In this lab, you will implement the bisection method to find the square root of a number." + "Neste laboratório, você implementará o método da bissecção para encontrar a raiz quadrada de um número." ] }, "workshop-merge-sort": { - "title": "Implement the Merge Sort Algorithm", + "title": "Implemente o Algoritmo de Ordenação por Fusão", "intro": [ - "The merge sort algorithm is a sorting algorithm based on the divide and conquer principle.", - "In this workshop, you'll implement the merge sort algorithm to sort a list of random numbers." + "O algoritmo de ordenação por fusão é um algoritmo de ordenação baseado no princípio de dividir e conquistar.", + "Neste workshop, você implementará o algoritmo de ordenação por fusão para ordenar uma lista de números aleatórios." ] }, "lab-quicksort": { - "title": "Implement the Quicksort Algorithm", + "title": "Implemente o Algoritmo Quicksort", "intro": [ - "In this lab you will implement the quicksort algorithm to sort a list of integers." + "Neste laboratório, você implementará o algoritmo quicksort para ordenar uma lista de inteiros." ] }, "lab-selection-sort": { - "title": "Implement the Selection Sort Algorithm", + "title": "Implementar o Algoritmo de Ordenação por Seleção", "intro": [ - "In this lab you will implement the selection sort algorithm." + "Neste laboratório, você implementará o algoritmo de ordenação por seleção." ] }, "lab-luhn-algorithm": { - "title": "Implement the Luhn Algorithm", + "title": "Implemente o Algoritmo Luhn", "intro": [ - "In this lab, you will implement the Luhn algorithm to validate identification numbers such as credit card numbers." + "Neste laboratório, você implementará o algoritmo Luhn para validar números de identificação, como números de cartão de crédito." ] }, "lab-tower-of-hanoi": { - "title": "Implement the Tower of Hanoi Algorithm", + "title": "Implementar o Algoritmo da Torre de Hanói", "intro": [ - "In this lab, you will implement an algorithm to solve the Tower of Hanoi puzzle." + "Neste laboratório, você implementará um algoritmo para resolver o quebra-cabeça da Torre de Hanói." ] }, "review-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Review", + "title": "Revisão sobre Algoritmos de Busca e Ordenação", "intro": [ - "Before you're quizzed on searching and sorting algorithms, you should review what you've learned about them." + "Antes de fazer um questionário sobre algoritmos de busca e ordenação, você deve revisar o que aprendeu sobre o assunto." ] }, "quiz-searching-and-sorting-algorithms": { - "title": "Searching and Sorting Algorithms Quiz", + "title": "Questionário sobre Algoritmos de Busca e Ordenação", "intro": [ - "Test what you've learned about searching and sorting algorithms in Python with this quiz." + "Teste o que você aprendeu sobre algoritmos de busca e ordenação em Python com este questionário." ] } } }, "learn-graphs-and-trees-in-python": { - "title": "Learn Graphs and Trees in Python", - "summary": ["Learn the basics of graphs and trees in Python."], + "title": "Aprenda Grafos e Árvores em Python", + "summary": ["Aprenda o básico de grafos e árvores em Python."], "intro": [ - "In this interactive course, you will learn the basics of graphs and trees in Python." + "Neste curso interativo, você aprenderá o básico de grafos e árvores em Python." ], "note": "", "blocks": { "lecture-understanding-graphs-and-trees": { - "title": "Understanding Graphs and Trees", + "title": "Compreendendo Grafos e Árvores", "intro": [ - "In this lesson, you will learn about fundamental data structures like graphs, trees, and their practical applications in computer science." + "Nesta lição, você aprenderá sobre estruturas de dados fundamentais como grafos, árvores e suas aplicações práticas em ciência da computação." ] }, "workshop-shortest-path-algorithm": { - "title": "Implement the Shortest Path Algorithm", + "title": "Implementar o Algoritmo do Caminho Mais Curto", "intro": [ - "In this workshop you will implement an algorithm to find the shortest path between two nodes in a graph." + "Neste workshop você implementará um algoritmo para encontrar o caminho mais curto entre dois nós em um grafo." ] }, "lab-adjacency-list-to-matrix-converter": { - "title": "Build an Adjacency List to Matrix Converter", + "title": "Crie um Conversor de Lista de Adjacência para Matriz", "intro": [ - "In this lab, you will implement a function that converts an adjacency list representation of a graph into an adjacency matrix representation." + "Neste laboratório, você implementará uma função que converte uma representação em lista de adjacência de um grafo para uma representação em matriz de adjacência." ] }, "workshop-breadth-first-search": { - "title": "Implement the Breadth-First Search Algorithm", + "title": "Implemente o Algoritmo de Busca em Largura", "intro": [ - "In this workshop, you will use the breadth-first search algorithm to generate all valid combinations of parentheses." + "Neste workshop, você usará o algoritmo de busca em largura para gerar todas as combinações válidas de parênteses." ] }, "lab-depth-first-search": { - "title": "Implement the Depth-First Search Algorithm", + "title": "Implemente o Algoritmo de Busca em Profundidade", "intro": [ - "In this lab, you will implement the Depth-First Search Algorithm." + "Neste laboratório, você implementará o Algoritmo de Busca em Profundidade." ] }, "lab-n-queens-problem": { - "title": "Implement the N-Queens Problem", + "title": "Implemente o Problema das N Rainhas", "intro": [ - "In this lab, you will implement a solution for the N-Queens problem." + "Neste laboratório, você implementará uma solução para o Problema das N Rainhas." ] }, "review-graphs-and-trees": { - "title": "Graphs and Trees Review", + "title": "Revisão de Grafos e Árvores", "intro": [ - "Before you're quizzed on graphs and trees, you should review what you've learned about them." + "Antes de ser avaliado sobre grafos e árvores, você deve revisar o que aprendeu sobre o assunto." ] }, "quiz-graphs-and-trees": { - "title": "Graphs and Trees Quiz", + "title": "Questionário sobre Grafos e Árvores", "intro": [ - "Test what you've learned about graphs and trees in Python with this quiz." + "Teste o que você aprendeu sobre grafos e árvores em Python com este questionário." ] } } }, "learn-dynamic-programming-in-python": { - "title": "Learn Dynamic Programming in Python", - "summary": ["Learn the basics of dynamic programming in Python."], + "title": "Aprenda Programação Dinâmica em Python", + "summary": ["Aprenda o básico de programação dinâmica em Python."], "intro": [ - "In this interactive course, you will learn the basics of dynamic programming in Python." + "Neste curso interativo, você aprenderá o básico de programação dinâmica em Python." ], "note": "", "blocks": { "lecture-understanding-dynamic-programming": { - "title": "Understanding Dynamic Programming", + "title": "Compreendendo Programação Dinâmica", "intro": [ - "In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems." + "Nesta lição, você aprenderá sobre programação dinâmica, uma técnica algorítmica usada para resolver problemas complexos de forma eficiente, dividindo-os em subproblemas mais simples." ] }, "lab-nth-fibonacci-number": { - "title": "Build an Nth Fibonacci Number Calculator", + "title": "Crie um Calculador do enésimo Número de Fibonacci", "intro": [ - "In this lab you will implement a Fibonacci sequence calculator using a dynamic programming approach." + "Neste laboratório, você implementará um calculador de sequência de Fibonacci usando uma abordagem de programação dinâmica." ] }, "review-dynamic-programming": { - "title": "Dynamic Programming Review", + "title": "Revisão de Programação Dinâmica", "intro": [ - "Before you're quizzed on dynamic programming, you should review what you've learned about it." + "Antes de fazer um questionário sobre programação dinâmica, você deve revisar o que aprendeu sobre o assunto." ] }, "quiz-dynamic-programming": { - "title": "Dynamic Programming Quiz", + "title": "Questionário sobre Programação Dinâmica", "intro": [ - "Test what you've learned about dynamic programming in Python with this quiz." + "Teste o que você aprendeu sobre programação dinâmica em Python com este questionário." ] } } }, "introduction-to-variables-and-strings-in-javascript": { - "title": "Introduction to Variables and Strings in JavaScript", - "summary": ["Learn the basics of variables and strings in JavaScript."], + "title": "Introdução a Variáveis e Strings em JavaScript", + "summary": ["Aprenda o básico de variáveis e strings em JavaScript."], "intro": [ - "In this interactive course, you will learn about variables and strings, which are fundamental concepts in JavaScript programming." + "Neste curso interativo, você aprenderá sobre variáveis e strings, que são conceitos fundamentais na programação JavaScript." ], "note": "", "blocks": { "lecture-introduction-to-javascript": { - "title": "Introduction to JavaScript", + "title": "Introdução ao JavaScript", "intro": [ - "In these lectures, you will learn the fundamentals of JavaScript. Topics covered include, but are not limited to, variables, data types, how JavaScript interacts with HTML and CSS, strings, and much more." + "Nestas aulas, você aprenderá os fundamentos do JavaScript. Os tópicos abordados incluem, mas não se limitam a, variáveis, tipos de dados, como o JavaScript interage com HTML e CSS, strings, e muito mais." ] }, "lecture-introduction-to-strings": { - "title": "Introduction to Strings", + "title": "Introdução a Strings", "intro": [ - "In these lessons, you will learn how to work with strings and string concatenation." + "Nestas aulas, você aprenderá como trabalhar com strings e concatenação de strings." ] }, "lecture-understanding-code-clarity": { - "title": "Understanding Code Clarity", + "title": "Compreendendo Clareza de Código", "intro": [ - "In these lessons, you will learn about comments in JavaScript and the role of semicolons in programming." + "Nessas lições, você aprenderá sobre comentários em JavaScript e o papel dos pontos e vírgulas na programação." ] }, "workshop-greeting-bot": { - "title": "Build a Greeting Bot", + "title": "Crie um Bot de Saudações", "intro": [ - "In this workshop, you will learn JavaScript fundamentals by building a greeting bot.", - "You will learn about variables, let, const, console.log and basic string usage." + "Neste workshop, você aprenderá os fundamentos do JavaScript criando um bot de saudações.", + "Você aprenderá sobre variáveis, let, const, console.log e uso básico de strings." ] }, "lab-javascript-trivia-bot": { - "title": "Build a JavaScript Trivia Bot", + "title": "Crie um Bot Informativo em JavaScript", "intro": [ - "In this lab, you'll practice working with JavaScript variables and strings by building a trivia bot." + "Neste laboratório, você praticará trabalhar com variáveis e strings em JavaScript criando um bot informativo." ] }, "lab-sentence-maker": { - "title": "Build a Sentence Maker", + "title": "Crie um Construtor de Frases", "intro": [ - "In this lab, you will continue practicing with strings and concatenation by creating and customizing various stories." + "Neste laboratório, você continuará praticando com strings e concatenação criando e personalizando várias histórias." ] }, "lecture-working-with-data-types": { - "title": "Working with Data Types", + "title": "Trabalhando com Tipos de Dados", "intro": [ - "In the following lectures, you will learn how to work with data types in JavaScript. You will also learn how dynamic typing differs from static typing, the typeof operator, and the typeof null bug." + "Nas próximas aulas, você aprenderá a trabalhar com tipos de dados em JavaScript. Você também aprenderá como a tipagem dinâmica difere da estática, o operador typeof, e o bug typeof null." ] }, "review-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Review", + "title": "Revisão sobre Variáveis e Tipos de Dados em JavaScript", "intro": [ - "Before you are quizzed on JavaScript variables and data types you first need to review the concepts.", - "Open up this page to review variables, data types, logging and commenting." + "Antes de responder perguntas sobre variáveis e tipos de dados em JavaScript, você deve revisar os conceitos.", + "Abra esta página para revisar variáveis, tipos de dados, log e comentários." ] }, "quiz-javascript-variables-and-data-types": { - "title": "JavaScript Variables and Data Types Quiz", + "title": "Questionário sobre Variáveis e Tipos de Dados em JavaScript", "intro": [ - "Test your knowledge of JavaScript variables and data types with this quiz." + "Teste o conhecimento sobre variáveis e tipos de dados em JavaScript com este questionário." ] }, "lecture-working-with-strings-in-javascript": { - "title": "Working with Strings in JavaScript", + "title": "Trabalhando com Strings no JavaScript", "intro": [ - "In these lectures, you will learn how to work with strings in JavaScript. You will learn how to access characters from a string, how to use template literals and interpolation, how to create a new line in strings, and much more." + "Nestas aulas, você aprenderá a trabalhar com strings no JavaScript. Você aprenderá a acessar caracteres de uma string, como usar literais de modelo e interpolação, como criar uma nova linha em strings, e muito mais." ] }, "workshop-teacher-chatbot": { - "title": "Build a Teacher Chatbot", + "title": "Crie um Chatbot Professor", "intro": [ - "In this workshop, you will continue to learn more about JavaScript strings by building a chatbot.", - "You will learn how to work with template literals, and the indexOf method." + "Neste workshop, você continuará aprendendo mais sobre strings em JavaScript criando um chatbot.", + "Você aprenderá como trabalhar com literais de modelo e com o método indexOf." ] }, "lecture-working-with-string-character-methods": { - "title": "Working with String Character Methods", + "title": "Trabalhando com Métodos de Caracteres de String", "intro": [ - "In this lecture you will learn about ASCII character encoding and how to use JavaScript's charCodeAt() and fromCharCode() methods to convert between characters and their numerical ASCII values." + "Nesta aula, você aprenderá sobre a codificação de caracteres ASCII e como usar os métodos charCodeAt() e fromCharCode() do JavaScript para converter entre caracteres e seus valores numéricos ASCII." ] }, "lecture-working-with-string-search-and-slice-methods": { - "title": "Working with String Search and Slice Methods", + "title": "Trabalhando com Métodos de Pesquisa e Segmentação de Strings", "intro": [ - "In this lecture you will learn how to search for substrings using the includes() method and how to extract portions of strings using the slice() method." + "Nesta aula você aprenderá a procurar substrings usando o método includes() e como extrair partes de strings usando o método slice()." ] }, "workshop-string-inspector": { - "title": "Build a String Inspector", + "title": "Criar um inspetor de strings", "intro": [ - "In this workshop, you will practice working with the includes() and slice() methods by building a string inspector." + "Neste workshop, você praticará o trabalho com os métodos includes() e slice() criando um inspetor de strings." ] }, "lecture-working-with-string-formatting-methods": { - "title": "Working with String Formatting Methods", + "title": "Trabalhando com Métodos de Formatação de Strings", "intro": [ - "In this lecture you will learn how to format strings by changing their case using toUpperCase() and toLowerCase() methods, and how to remove whitespace using trim(), trimStart(), and trimEnd() methods." + "Nesta aula você aprenderá como formatar strings mudando seu caso usando toUpperCase() e toLowerCase(), e como remover espaços em branco usando os métodos trim(), trimStart() e trimEnd()." ] }, "workshop-string-formatter": { - "title": "Build a String Formatter", + "title": "Criar um formatador de strings", "intro": [ - "In this workshop, you will practice working with various string methods including trim(), toUpperCase() and toLowerCase()." + "Neste workshop, você praticará trabalhar com vários métodos de strings, incluindo trim(), toUpperCase() e toLowerCase()." ] }, "lecture-working-with-string-modification-methods": { - "title": "Working with String Modification Methods", + "title": "Trabalhando com Métodos de Modificação de Strings", "intro": [ - "In this lecture you will learn how to modify strings by replacing parts of them using the replace() method and how to repeat strings multiple times using the repeat() method." + "Nesta aula você aprenderá a modificar strings substituindo partes delas com o método replace() e como repetir strings várias vezes usando o método repeat()." ] }, "workshop-string-transformer": { - "title": "Build a String Transformer", + "title": "Crie um Transformer de String", "intro": [ - "In this workshop, you will practice working with the replace(), replaceAll() and repeat() methods." + "Neste workshop, você praticará trabalhar com os métodos replace(), replaceAll() e repeat()." ] }, "review-javascript-strings": { - "title": "JavaScript Strings Review", + "title": "Revisão sobre Strings em JavaScript", "intro": [ - "Before you are quizzed on working with JavaScript strings, you first need to review.", - "Open up this page to review how to work with template literals, the slice method, the includes method, the trim method and more." + "Antes de ser questionado sobre o trabalho com strings no JavaScript, você precisa revisar.", + "Abra esta página para revisar como trabalhar com literais de modelo, o método slice, o método includes, o método trim e mais." ] }, "quiz-javascript-strings": { - "title": "JavaScript Strings Quiz", - "intro": ["Test your knowledge of JavaScript strings with this quiz."] + "title": "Questionário sobre Strings em JavaScript", + "intro": [ + "Teste o conhecimento sobre strings em JavaScript com este questionário." + ] } } }, "introduction-to-booleans-and-numbers-in-javascript": { - "title": "Introduction to Booleans and Numbers in JavaScript", - "summary": ["Learn the basics of booleans and numbers in JavaScript."], + "title": "Introdução a Booleanos e Números no JavaScript", + "summary": ["Aprenda o básico de booleanos e números em JavaScript."], "intro": [ - "In this interactive course, you will learn how to work with booleans and numbers in JavaScript." + "Neste curso interativo, você aprenderá como trabalhar com booleanos e números em JavaScript." ], "note": "", "blocks": { "lecture-working-with-numbers-and-arithmetic-operators": { - "title": "Working with Numbers and Arithmetic Operators", + "title": "Trabalhando com Números e Operadores Aritméticos", "intro": [ - "In these lectures you will learn about the number type, arithmetic operators, and using them with numbers and strings." + "Nestas aulas você aprenderá sobre o tipo número, operadores aritméticos, e como usá-los com números e strings." ] }, "lab-debug-type-coercion-errors": { - "title": "Debug Type Coercion Errors in a Buggy App", + "title": "Depurar erros de coerção de tipo em uma aplicação com bugs", "intro": [ - "In this lab, you will be working with a buggy app that contains several type coercion errors.", - "Your task is to identify and fix these errors to ensure the app functions correctly." + "Neste laboratório, você trabalhará com uma aplicação defeituosa que contém vários erros de coerção de tipo.", + "A tarefa consiste em identificar e corrigir esses erros para garantir que a aplicação funcione corretamente." ] }, "lecture-working-with-operator-behavior": { - "title": "Working with Operator Behavior", + "title": "Trabalhando com Comportamento de Operadores", "intro": [ - "In these lectures you will learn about operator precedence, the increment and decrement operators, and compound assignment operators." + "Nestas aulas você aprenderá sobre a precedência de operadores, operadores de incremento e decremento, e operadores de atribuição composta." ] }, "lab-debug-increment-and-decrement-operator-errors": { - "title": "Debug Increment and Decrement Operator Errors in a Buggy App", + "title": "Depurar erros dos operadores de incremento e decremento em uma aplicação com bugs", "intro": [ - "In this lab, you'll debug an app that has several errors related to the increment and decrement operators.", - "Your task is to identify and fix the errors so that the app works as intended." + "Neste laboratório, você vai depurar uma aplicação que tem vários erros relacionados aos operadores de incremento e decremento.", + "A tarefa é identificar e corrigir os erros para que a aplicação funcione como esperado." ] }, "lecture-working-with-comparison-and-boolean-operators": { - "title": "Working with Comparison and Boolean Operators", + "title": "Trabalhando com Operadores de Comparação e Booleanos", "intro": [ - "In these lectures you will learn about booleans, and equality and inequality operators, and other comparison operators." + "Nestas aulas você aprenderá sobre booleanos, e operadores de igualdade e desigualdade, além de outros operadores de comparação." ] }, "workshop-logic-checker-app": { - "title": "Build a Logic Checker App", + "title": "Crie um Aplicativo de Verificação de Lógica", "intro": [ - "In this workshop, you'll practice working with conditional statements and comparison operators by building a logic checker app." + "Neste workshop, você vai praticar a criação de uma aplicação de verificação de lógica com instruções condicionais e operadores de comparação." ] }, "lecture-working-with-unary-and-bitwise-operators": { - "title": "Working with Unary and Bitwise Operators", + "title": "Trabalhando com Operadores Unários e Bitwise", "intro": [ - "In these lectures, you will learn about unary and bitwise operators." + "Nestas aulas, você aprenderá sobre operadores unários e operadores bitwise." ] }, "lecture-working-with-conditional-logic-and-math-methods": { - "title": "Working with Conditional Logic and Math Methods", + "title": "Trabalhando com Lógica Condicional e Métodos Matemáticos", "intro": [ - "In these lectures, you will learn about conditional statements, binary logical operators, and the Math object." + "Nestas aulas, você aprenderá sobre instruções condicionais, operadores lógicos binários, e o objeto Math." ] }, "workshop-mathbot": { - "title": "Build a Mathbot", + "title": "Crie um bot de matemática", "intro": [ - "In this workshop, you will review how to work with the different Math object methods by building a Mathbot." + "Neste workshop, você vai rever como trabalhar com os diferentes métodos de objetos matemáticos, construindo um bot matemático." ] }, "lab-fortune-teller": { - "title": "Build a Fortune Teller", + "title": "Crie um Adivinhador do Futuro", "intro": [ - "In this lab, you'll build a fortune teller by randomly selecting a fortune from the available fortunes.", - "You'll practice how to work with the Math.random() method and the Math.floor() method to generate random numbers." + "Neste laboratório, você construirá um adivinhador do futuro selecionando aleatoriamente uma sorte dentre as disponíveis.", + "Você praticará como trabalhar com o método Math.random() e o método Math.floor() para gerar números aleatórios." ] }, "lecture-working-with-numbers-and-common-number-methods": { - "title": "Working with Numbers and Common Number Methods", + "title": "Trabalhando com Números e Métodos Comuns de Números", "intro": [ - "In these lectures, you will learn about numbers and common number methods. These include isNaN(), parseInt(), parseFloat(), and toFixed()." + "Nestas aulas, você aprenderá sobre números e métodos comuns de números. Estes incluem isNaN(), parseInt(), parseFloat() e toFixed()." ] }, "review-javascript-math": { - "title": "JavaScript Math Review", + "title": "Revisão sobre Math em JavaScript", "intro": [ - "Before you're quizzed on working with the Math object, you should review what you've learned.", - "Open up this page to review how to work with the Math.random() method, the Math.floor() method and more." + "Antes de ser questionado sobre o uso do objeto Math, você deve revisar o que aprendeu.", + "Abra esta página para revisar como trabalhar com o método Math.random(), o método Math.floor() e mais." ] }, "quiz-javascript-math": { - "title": "JavaScript Math Quiz", + "title": "Questionário sobre Math em JavaScript", "intro": [ - "Test your knowledge of the JavaScript Math object with this quiz." + "Teste seu conhecimento sobre o objeto Math do JavaScript com este questionário." ] }, "lecture-understanding-comparisons-and-conditionals": { - "title": "Understanding Comparisons and Conditionals", + "title": "Compreendendo Comparações e Condicionais", "intro": [ - "In these lectures, you will learn about comparison operators and conditionals. You will learn how the various conditionals differ from one another, and how comparisons work with null and undefined." + "Nestas aulas, você aprenderá sobre operadores de comparação e condicionais. Você aprenderá como diversos condicionais diferem entre si e como comparações funcionam com null e undefined." ] }, "review-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Review", + "title": "Revisão sobre Comparações e Condicionais em JavaScript", "intro": [ - "Before you're quizzed on working with conditionals, you should review what you've learned about them.", - "Open up this page to review how to work with switch statements, other types of conditionals and more." + "Antes de ser testado sobre o trabalho com condicionais, você deve revisar o que aprendeu sobre eles.", + "Abra esta página para revisar como trabalhar com instruções switch, outros tipos de condicionais e mais." ] }, "quiz-javascript-comparisons-and-conditionals": { - "title": "JavaScript Comparisons and Conditionals Quiz", + "title": "Questionário sobre Comparações e Condicionais em JavaScript", "intro": [ - "Test your knowledge of JavaScript Comparisons and Conditionals with this quiz." + "Teste seu conhecimento sobre condicionais e comparações em JavaScript com este questionário." ] } } }, "introduction-functions-in-javascript": { - "title": "Introduction to Functions in JavaScript", - "summary": ["Learn the basics of functions in JavaScript."], + "title": "Introdução a Funções em JavaScript", + "summary": ["Aprenda o básico sobre funções em JavaScript."], "intro": [ - "In this interactive course, you will learn how to work with functions in JavaScript." + "Neste curso interativo, você aprenderá como trabalhar com funções em JavaScript." ], "note": "", "blocks": { "lecture-working-with-functions": { - "title": "Working with Functions", + "title": "Trabalhando com Funções", "intro": [ - "In these lectures, you will learn how to reuse a block of code with functions. You will learn what the purpose of a function is and how they work, and how scope works in programming. " + "Nestas aulas, você aprenderá a reutilizar um bloco de código com funções. Você aprenderá qual o propósito de uma função e como elas funcionam, e como o escopo funciona na programação." ] }, "workshop-calculator": { - "title": "Build a Calculator", + "title": "Crie uma Calculadora", "intro": [ - "In this workshop, you will review your knowledge of functions by building a calculator." + "Neste workshop, você revisará seu conhecimento sobre funções criando uma calculadora." ] }, "lab-boolean-check": { - "title": "Build a Boolean Check Function", + "title": "Crie uma Função de Verificação Booleana", "intro": [ - "In this lab, you'll implement a function that checks if a value is a boolean." + "Neste laboratório, você implementará uma função que verifica se um valor é booleano." ] }, "lab-email-masker": { - "title": "Build an Email Masker", + "title": "Crie um Mascarador de E-mails", "intro": [ - "In this lab, you'll build an email masker that will take an email address and obscure it.", - "You'll practice string slicing, concatenation, and using functions." + "Neste laboratório, você criará um mascarador de e-mails que vai ocultar um endereço de e-mail.", + "Você praticará cortar strings, concatenação e uso de funções." ] }, "workshop-loan-qualification-checker": { - "title": "Build a Loan Qualification Checker", + "title": "Crie um Verificador de Qualificação para Empréstimos", "intro": [ - "In this workshop, you will continue to learn how to work with conditionals by building a loan qualification checker app.", - "You will learn more about if statements, and how to use comparison operators and multiple conditions in an if statement." + "Neste workshop, você continuará a aprender a trabalhar com condicionais criando uma aplicação de verificação de qualificação para empréstimos.", + "Você aprenderá mais sobre instruções if e como usar operadores de comparação e várias condições em uma instrução if." ] }, "lab-celsius-to-fahrenheit-converter": { - "title": "Build a Celsius to Fahrenheit Converter", + "title": "Crie um Conversor de Celsius para Fahrenheit", "intro": [ - "In this lab you will implement a function that converts the temperature from Celsius to Fahrenheit." + "Neste laboratório você implementará uma função que converte a temperatura de Celsius para Fahrenheit." ] }, "lab-counting-cards": { - "title": "Build a Card Counting Assistant", - "intro": ["In this lab you will use JavaScript to count dealt cards."] + "title": "Crie um Assistente de Contagem de Cartas", + "intro": [ + "Neste laboratório você usará JavaScript para contar cartas distribuídas." + ] }, "lab-leap-year-calculator": { - "title": "Build a Leap Year Calculator ", + "title": "Crie uma Calculadora de Ano Bissexto", "intro": [ - "In this lab you'll use conditional statements and loops to determine if a year is a leap year." + "Neste laboratório você usará instruções condicionais e laços para determinar se um ano é bissexto." ] }, "lab-truncate-string": { - "title": "Implement the Truncate String Algorithm", + "title": "Implemente o Algoritmo de Truncamento de String", "intro": [ - "In this lab, you will practice truncating a string at a certain length." + "Neste laboratório, você praticará truncar uma string em um certo comprimento." ] }, "lab-string-ending-checker": { - "title": "Build a Confirm the Ending Tool", + "title": "Crie uma Ferramenta para Confirmar o Fim de String", "intro": [ - "In this lab, you will implement a function that checks if a given string ends with a specified target string." + "Neste laboratório, você implementará uma função que verifica se uma string fornecida termina com uma string alvo especificada." ] }, "review-javascript-functions": { - "title": "JavaScript Functions Review", + "title": "Revisão sobre Funções em JavaScript", "intro": [ - "Before you're quizzed on JavaScript functions, you should review what you've learned about them.", - "Open up this page to review functions, arrow functions and scope." + "Antes de ser testado sobre funções em JavaScript, você deve revisar o que aprendeu sobre elas.", + "Abra esta página para revisar funções, arrow functions e escopo." ] }, "quiz-javascript-functions": { - "title": "JavaScript Functions Quiz", - "intro": ["Test your knowledge of JavaScript functions with this quiz."] + "title": "Questionário sobre Funções em JavaScript", + "intro": [ + "Teste seu conhecimento sobre funções em JavaScript com este questionário." + ] } } }, "introduction-to-arrays-in-javascript": { - "title": "Introduction to Arrays in JavaScript", - "summary": ["Learn the basics of arrays in JavaScript."], + "title": "Introdução a Arrays em JavaScript", + "summary": ["Aprenda o básico sobre arrays em JavaScript."], "intro": [ - "In this interactive course, you will learn how to work with arrays in JavaScript." + "Neste curso interativo, você aprenderá como trabalhar com arrays em JavaScript." ], "note": "", "blocks": { "lecture-working-with-arrays": { - "title": "Working with Arrays", + "title": "Trabalhando com Arrays", "intro": [ - "In these lectures, you will learn how to work with JavaScript arrays. You will learn about what makes an array, one-dimensional and two-dimensional arrays, how to access and update the elements in an array, and much more." + "Nestas aulas, você aprenderá como trabalhar com arrays JavaScript. Você aprenderá o que faz um array, arrays unidimensionais e bidimensionais, como acessar e atualizar os elementos em um array, e muito mais." ] }, "workshop-shopping-list": { - "title": "Build a Shopping List", + "title": "Crie uma Lista de Compras", "intro": [ - "In this workshop, you will practice how to work with arrays by building a shopping list.", - "You will review how to add and remove elements from an array using methods like push, pop, shift, and unshift." + "Neste workshop, você praticará como trabalhar com arrays criando uma lista de compras.", + "Você revisará como adicionar e remover elementos de um array usando métodos como push, pop, shift e unshift." ] }, "lab-lunch-picker-program": { - "title": "Build a Lunch Picker Program", + "title": "Crie um Programa de Seleção de Almoço", "intro": [ - "In this lab, you'll review working with arrays and random numbers by building a lunch picker program." + "Neste laboratório, você revisará o trabalho com arrays e números aleatórios criando um programa de seleção de almoço." ] }, "lab-golf-score-translator": { - "title": "Build a Golf Score Translator", + "title": "Crie um Tradutor de Pontuação de Golfe", "intro": [ - "For this lab, you will use array methods to translate golf scores into their nickname." + "Para este laboratório, você usará métodos de array para traduzir pontuações de golfe para seus apelidos." ] }, "lecture-working-with-common-array-methods": { - "title": "Working with Common Array Methods", + "title": "Trabalhando com Métodos Comuns de Array", "intro": [ - "In these lectures, you will learn about the array methods for performing more advanced operations like getting the position of an item in an array, checking if an array contains a certain element, copying an array, and lots more." + "Nestas aulas, você aprenderá sobre os métodos de array para realizar operações mais avançadas, como obter a posição de um item em um array, verificar se um array contém um certo elemento, copiar um array, e muito mais." ] }, "review-javascript-arrays": { - "title": "JavaScript Arrays Review", + "title": "Revisão sobre Arrays em JavaScript", "intro": [ - "Before you're quizzed on JavaScript arrays, you should review what you've learned about them.", - "Open up this page to review concepts like array destructuring, how to add and remove elements from an array, and more." + "Antes de ser testado sobre arrays em JavaScript, você deve revisar o que aprendeu sobre eles.", + "Abra esta página para revisar conceitos como desestruturação de arrays, como adicionar e remover elementos de um array, e mais." ] }, "quiz-javascript-arrays": { - "title": "JavaScript Arrays Quiz", - "intro": ["Test your knowledge of JavaScript arrays with this quiz."] + "title": "Questionário sobre Arrays em JavaScript", + "intro": [ + "Teste seu conhecimento sobre arrays em JavaScript com este questionário." + ] } } }, "introduction-to-objects-in-javascript": { - "title": "Introduction to Objects in JavaScript", - "summary": ["Learn the basics of objects in JavaScript."], + "title": "Introdução a Objetos em JavaScript", + "summary": ["Aprenda o básico sobre objetos em JavaScript."], "intro": [ - "In this interactive course, you will learn how to work with objects in JavaScript." + "Neste curso interativo, você aprenderá como trabalhar com objetos em JavaScript." ], "note": "", "blocks": { "lecture-introduction-to-javascript-objects-and-their-properties": { - "title": "Introduction to JavaScript Objects and Their Properties", + "title": "Introdução a Objetos JavaScript e Suas Propriedades", "intro": [ - "In these lectures, you will learn the fundamentals of JavaScript objects, including how to create them, access their properties, and understand the difference between primitive and non-primitive data types." + "Nestas aulas, você aprenderá os fundamentos dos objetos JavaScript, incluindo como criá-los, acessar suas propriedades e entender a diferença entre tipos de dados primitivos e não primitivos." ] }, "lecture-working-with-json": { - "title": "Working with JSON", + "title": "Trabalhando com JSON", "intro": [ - "In these lectures, you will learn about JavaScript Object Notation (JSON), including how to access JSON data and use the JSON.parse() and JSON.stringify() methods." + "Nestas aulas, você aprenderá sobre JavaScript Object Notation (JSON), incluindo como acessar dados JSON e usar os métodos JSON.parse() e JSON.stringify()." ] }, "lecture-working-with-optional-chaining-and-object-destructuring": { - "title": "Working with Optional Chaining and Object Destructuring", + "title": "Trabalhando com Encadeamento Opcional e Desestruturação de Objetos", "intro": [ - "In these lectures, you will learn about advanced object manipulation techniques in JavaScript, including the optional chaining operator and object destructuring syntax." + "Nestas aulas, você aprenderá sobre técnicas avançadas de manipulação de objetos em JavaScript, incluindo o operador de encadeamento opcional e a sintaxe de desestruturação de objetos." ] }, "workshop-recipe-tracker": { - "title": "Build a Recipe Tracker", + "title": "Crie um Rastreador de Receitas", "intro": [ - "In this workshop, you will review working with JavaScript objects by building a recipe tracker." + "Neste workshop, você revisará o trabalho com objetos JavaScript criando um rastreador de receitas." ] }, "lab-quiz-game": { - "title": "Build a Quiz Game", + "title": "Crie um Jogo de Questionário", "intro": [ - "In this lab, you'll build a quiz game using JavaScript arrays and objects.", - "You'll also practice using functions to randomly select a question and an answer from an array and compare them." + "Neste laboratório, você criará um jogo de questionário usando arrays e objetos JavaScript.", + "Você também praticará usar funções para selecionar aleatoriamente uma pergunta e uma resposta de um array e compará-las." ] }, "lab-record-collection": { - "title": "Build a Record Collection", + "title": "Crie uma Coleção de Discos", "intro": [ - "In this lab you will build a function to manage a record collection." + "Neste laboratório você criará uma função para gerenciar uma coleção de discos." ] }, "review-javascript-objects": { - "title": "JavaScript Objects Review", + "title": "Revisão sobre Objetos em JavaScript", "intro": [ - "Before you're quizzed on JavaScript objects, you should review what you've learned about them.", - "Open up this page to review concepts including how to access information from objects, object destructuring, working with JSON, and more." + "Antes de fazer o questionário sobre objetos em JavaScript, você deve revisar o que aprendeu sobre eles.", + "Abra esta página para revisar conceitos como acessar informações de objetos, desestruturação de objetos, trabalhar com JSON e mais." ] }, "quiz-javascript-objects": { - "title": "JavaScript Objects Quiz", - "intro": ["Test your knowledge of JavaScript objects with this quiz."] + "title": "Questionário sobre Objetos em JavaScript", + "intro": [ + "Teste seu conhecimento sobre objetos em JavaScript com este questionário." + ] } } }, "introduction-to-loops-in-javascript": { - "title": "Introduction to Loops in JavaScript", - "summary": ["Learn the basics of loops in JavaScript."], + "title": "Introdução a Laços em JavaScript", + "summary": ["Aprenda o básico sobre laços em JavaScript."], "intro": [ - "In this interactive course, you will learn how to work with loops in JavaScript." + "Neste curso interativo, você aprenderá como trabalhar com laços em JavaScript." ], "note": "", "blocks": { "lecture-working-with-loops": { - "title": "Working with Loops", + "title": "Trabalhando com Laços", "intro": [ - "Loops are an essential part of JavaScript. That's why the following lectures have been prepared for you to learn about the different types of loops and how they work, and also how iteration works." + "Laços são uma parte essencial do JavaScript. Por isso, as seguintes lições foram preparadas para que você aprenda sobre os diferentes tipos de laços, como eles funcionam e também como a iteração funciona." ] }, "workshop-sentence-analyzer": { - "title": "Build a Sentence Analyzer", + "title": "Crie um Analisador de Frases", "intro": [ - "In this workshop, you'll review how to work with JavaScript loops by building a sentence analyzer app." + "Neste workshop, você revisará como trabalhar com laços em JavaScript desenvolvendo um aplicativo de análise de frases." ] }, "lab-longest-word-in-a-string": { - "title": "Build a Longest Word Finder App", + "title": "Crie um Aplicativo de Pesquisa da Palavra Mais Longa", "intro": [ - "In this lab, you will use JavaScript loops to find the length of the longest word in the given sentence." + "Neste laboratório, você usará laços de JavaScript para encontrar o comprimento da palavra mais longa na sentença fornecida." ] }, "lab-factorial-calculator": { - "title": "Build a Factorial Calculator ", + "title": "Crie uma Calculadora de Fatorial", "intro": [ - "In this lab, you'll build a factorial calculator.", - "You'll practice using loops and conditionals to calculate the factorial of a number." + "Neste laboratório, você criará uma calculadora de fatorial.", + "Você praticará usando laços e condicionais para calcular o fatorial de um número." ] }, "lab-mutations": { - "title": "Implement the Mutations Algorithm", + "title": "Implemente o Algoritmo de Mutações", "intro": [ - "In this lab, you will practice iterating over two different strings to compare their characters." + "Neste laboratório, você praticará iterar sobre duas strings diferentes para comparar seus caracteres." ] }, "lab-chunky-monkey": { - "title": "Implement the Chunky Monkey Algorithm", + "title": "Implemente o Algoritmo do Macaco Chunky", "intro": [ - "In this lab, you will practice dividing an array into smaller arrays with the technique of your choice." + "Neste laboratório, você praticará dividir um array em arrays menores com a técnica de sua escolha." ] }, "lab-profile-lookup": { - "title": "Build a Profile Lookup", + "title": "Crie uma Pesquisa de Perfil", "intro": [ - "In this lab, you'll create a function that looks up profile information." + "Neste laboratório, você criará uma função que busca informações de perfil." ] }, "lab-repeat-a-string": { - "title": "Build a String Repeating Function", + "title": "Crie uma Função de Repetição de Strings", "intro": [ - "In this lab, you will implement loops to repeat a string a specified number of times." + "Neste laboratório, você implementará laços para repetir uma string um número específico de vezes." ] }, "lab-missing-letter-detector": { - "title": "Build a Missing Letter Detector", + "title": "Crie um Detector de Letras Faltantes", "intro": [ - "In this lab, you will build a function that finds the missing letter in a given range of consecutive letters and returns it." + "Neste laboratório, você construirá uma função que encontra a letra faltante em um intervalo dado de letras consecutivas e a retorna." ] }, "review-javascript-loops": { - "title": "JavaScript Loops Review", + "title": "Revisão sobre Laços em JavaScript", "intro": [ - "Before you're quizzed on the different JavaScript loops, you should review them.", - "Open up this page to review the for...of loop, while loop, break and continue statements and more." + "Antes de ser questionado sobre os diferentes tipos de laços no JavaScript, você deve revisá-los.", + "Abra esta página para revisar o laço for...of, o laço while, instruções break e continue, e mais." ] }, "quiz-javascript-loops": { - "title": "JavaScript Loops Quiz", - "intro": ["Test your knowledge of JavaScript loops with this quiz."] + "title": "Questionário sobre Laços em JavaScript", + "intro": [ + "Teste seu conhecimento sobre laços em JavaScript com este questionário." + ] } } }, "javascript-fundamentals-review": { - "title": "JavaScript Fundamentals Review", - "summary": ["Review the core concepts of JavaScript."], + "title": "Revisão dos Fundamentos do JavaScript", + "summary": ["Revise os conceitos centrais do JavaScript."], "intro": [ - "In this interactive course, you will practice core JavaScript fundamentals including loops, objects, arrays and more." + "Neste curso interativo, você praticará os fundamentos centrais do JavaScript incluindo laços, objetos, arrays e mais." ], "note": "", "blocks": { "lecture-working-with-types-and-objects": { - "title": "Working with Types and Objects", + "title": "Trabalhando com Tipos e Objetos", "intro": [ - "In these lectures you will learn about string objects, the toString() method, the Number constructor and more." + "Nestas aulas você aprenderá sobre objetos string, o método toString(), o Construtor Number e mais." ] }, "lecture-working-with-arrays-variables-and-naming-practices": { - "title": "Working with Arrays, Variables, and Naming Practices", + "title": "Trabalhando com Arrays, Variáveis e Práticas de Nomeação", "intro": [ - "In these lectures you will learn about common practices for naming variables and functions, and how to work with arrays." + "Nestas aulas você aprenderá sobre práticas comuns para nomear variáveis e funções, e como trabalhar com arrays." ] }, "lecture-working-with-code-quality-and-execution-concepts": { - "title": "Working with Code Quality and Execution Concepts", + "title": "Trabalhando com Qualidade de Código e Conceitos de Execução", "intro": [ - "In these lectures you will learn what are linters and formatters, what is memory management, and closures." + "Nestas aulas você aprenderá o que são linters e formatadores, o que é gerenciamento de memória, e closures." ] }, "lab-reverse-a-string": { - "title": "Build a String Inverter", + "title": "Crie um Inversor de Strings", "intro": [ - "In this lab, you create a function that reverses a given string." + "Neste laboratório, você criará uma função que inverte uma string fornecida." ] }, "lab-largest-number-finder": { - "title": "Build the Largest Number Finder", + "title": "Crie o Encontrador do Maior Número", "intro": [ - "In this lab, you will use JavaScript fundamentals to create a function that finds the largest number in each sub-array of a given array." + "Neste laboratório, você usará os fundamentos do JavaScript para criar uma função que encontre o maior número em cada sub-array de um array fornecido." ] }, "lab-first-element-finder": { - "title": "Build a First Element Finder", + "title": "Crie um Encontrador do Primeiro Elemento", "intro": [ - "In this lab, you will create a function that looks through an array and returns the first element in it that passes a \"truth test\"." + "Neste laboratório, você criará uma função que percorre um array e retorna o primeiro elemento que passa por um \"teste de veracidade\"." ] }, "lab-slice-and-splice": { - "title": "Implement the Slice and Splice Algorithm", + "title": "Implemente o Algoritmo de Fatia e Emenda", "intro": [ - "In this lab, you will practice merging an array with another." + "Neste laboratório, você praticará fundir um array com outro." ] }, "lab-pyramid-generator": { - "title": "Build a Pyramid Generator", + "title": "Crie um Gerador de Pirâmides", "intro": [ - "In this lab you'll build a pyramid generator.", - "You'll take a number as input and generate a pyramid with that many levels using a loop." + "Neste laboratório você criará um gerador de pirâmides.", + "Você pegará um número como entrada e gerará uma pirâmide com esse número de níveis usando um laço." ] }, "lab-gradebook-app": { - "title": "Build a Gradebook App", + "title": "Crie um Aplicativo de Quadro de Notas", "intro": [ - "For this lab, you'll create a gradebook app.", - "You'll practice conditionals to determine the student's grade based on their score." + "Para este laboratório, você criará um aplicativo de quadro de notas.", + "Você praticará condicionais para determinar a nota do aluno com base na pontuação." ] }, "lecture-the-var-keyword-and-hoisting": { - "title": "The var Keyword and Hoisting", + "title": "A Palavra-Chave var e Hoisting", "intro": [ - "In these lectures, you will learn about the var keyword and why it is not recommended for use anymore. You will also learn about hoisting in JavaScript so you can avoid subtle bugs in your code." + "Nestas aulas, você aprenderá sobre a palavra-chave var e por que não é recomendada para uso. Você também aprenderá sobre hoisting em JavaScript para evitar bugs sutis no código." ] }, "lab-title-case-converter": { - "title": "Build a Title Case Converter", + "title": "Crie um Conversor de Capitalização de Título", "intro": [ - "In this lab, you will build a function that converts a string to title case." + "Neste laboratório, você construirá uma função que converte uma string em formato de título." ] }, "lab-falsy-remover": { - "title": "Implement a Falsy Remover", + "title": "Implemente um Removedor de Falsos", "intro": [ - "In this lab, you will create a function that removes all falsy values from an array." + "Neste laboratório, você criará uma função que remove todos os valores falsos de um array." ] }, "lab-inventory-management-program": { - "title": "Build an Inventory Management Program", + "title": "Crie um Programa de Gestão de Inventário", "intro": [ - "For this lab, you'll build an inventory management program using JavaScript.", - "You'll use JavaScript array of objects to manage the inventory." + "Para este laboratório, você criará um programa de gestão de inventário usando JavaScript.", + "Você usará arrays de objetos em JavaScript para gerir o inventário." ] }, "lecture-understanding-modules-imports-and-exports": { - "title": "Understanding Modules, Imports, and Exports", + "title": "Compreendendo Módulos, Importações e Exportações", "intro": [ - "In this lecture, you will learn about modules, imports, and exports in JavaScript." + "Nesta aula, você aprenderá sobre módulos, importações e exportações em JavaScript." ] }, "lecture-working-with-the-arguments-object-and-rest-parameters": { - "title": "Working With the Arguments Object and Rest Parameters", + "title": "Trabalhando com o Objeto arguments e Parâmetros Rest", "intro": [ - "In these lessons, you will learn how to work with the arguments object and rest parameter syntax." + "Nestas lições, você aprenderá como trabalhar com o objeto arguments e a sintaxe de parâmetros rest." ] }, "lab-unique-sorted-union": { - "title": "Implement a Unique Sorted Union", + "title": "Implemente uma União Única Ordenada", "intro": [ - "In this lab, you will create a function that takes two or more arrays and returns a new array of unique values in the order of the original provided arrays." + "Neste laboratório, você criará uma função que aceita dois ou mais arrays e retorna um novo array de valores únicos na ordem dos arrays originais fornecidos." ] }, "lab-password-generator": { - "title": "Build a Password Generator App", + "title": "Crie um Aplicativo Gerador de Senhas", "intro": [ - "In this lab, you'll build a password generator app based on the user's input." + "Neste laboratório, você criará um aplicativo gerador de senhas baseado na entrada do usuário." ] }, "lab-sum-all-numbers-algorithm": { - "title": "Design a Sum All Numbers Algorithm", + "title": "Projete um Algoritmo de Soma de Todos os Números", "intro": [ - "In this lab, you will design a sum all numbers algorithm. This algorithm takes an array of two numbers and returns the sum of those two numbers plus the sum of all the numbers between them." + "Neste laboratório, você projetará um algoritmo que soma todos os números. Este algoritmo pega um array de dois números e retorna a soma desses dois números mais a soma de todos os números entre eles." ] }, "lab-dna-pair-generator": { - "title": "Implement a DNA Pair Generator", + "title": "Implemente um Gerador de Pares de DNA", "intro": [ - "In this lab you will implement a DNA base pairing algorithm that converts a single DNA strand into complementary base pairs." + "Neste laboratório você implementará um algoritmo de pareamento de bases de DNA que converte uma única fita de DNA em pares de bases complementares." ] }, "lab-html-entitiy-converter": { - "title": "Implement an HTML Entity Converter", + "title": "Implemente um Conversor de Entidades HTML", "intro": [ - "In this lab, you will convert special characters in a string to their corresponding HTML entities." + "Neste laboratório, você converterá caracteres especiais em uma string para suas entidades HTML correspondentes." ] }, "lab-odd-fibonacci-sum-calculator": { - "title": "Build an Odd Fibonacci Sum Calculator", + "title": "Crie uma Calculadora de Soma de Fibonacci Ímpar", "intro": [ - "In this lab you will build an odd Fibonacci sum calculator that takes a number and returns the sum of all odd Fibonacci numbers that are less than or equal to that number." + "Neste laboratório você criará uma calculadora de soma de Fibonacci ímpar que recebe um número e retorna a soma de todos os números de Fibonacci ímpares até esse número." ] }, "lab-element-skipper": { - "title": "Implement an Element Skipper", + "title": "Implemente um Pulador de Elementos", "intro": [ - "In this lab you will create a function that skips elements in an array based on a specified step value." + "Neste laboratório você criará uma função que pula elementos em um array com base em um valor de passo especificado." ] }, "review-javascript-fundamentals": { - "title": "JavaScript Fundamentals Review", + "title": "Revisão dos Fundamentos do JavaScript", "intro": [ - "Before you are quizzed on JavaScript fundamentals, you first need to review the concepts.", - "Open up this page to review concepts like closures, memory management, and more." + "Antes de ser questionado sobre os fundamentos do JavaScript, você precisa revisar os conceitos.", + "Abra esta página para revisar conceitos como closures, gerenciamento de memória e mais." ] }, "quiz-javascript-fundamentals": { - "title": "JavaScript Fundamentals Quiz", + "title": "Questionário sobre os Fundamentos do JavaScript", "intro": [ - "Test your knowledge of JavaScript fundamentals with this quiz." + "Teste seu conhecimento sobre os fundamentos do JavaScript com este questionário." ] } } }, "introduction-to-higher-order-functions-and-callbacks-in-javascript": { - "title": "Introduction to Higher-Order Functions and Callbacks in JavaScript", + "title": "Introdução a Funções de Ordem Superior e Callbacks em JavaScript", "summary": [ - "Learn the basics of higher-order functions and callbacks in JavaScript." + "Aprenda o básico sobre funções de ordem superior e callbacks em JavaScript." ], "intro": [ - "In this interactive course, you will learn how to work with higher-order functions and callbacks in JavaScript." + "Neste curso interativo, você aprenderá como trabalhar com funções de ordem superior e callbacks em JavaScript." ], "note": "", "blocks": { "lecture-working-with-higher-order-functions-and-callbacks": { - "title": "Working with Higher Order Functions and Callbacks", + "title": "Trabalhando com Funções de Ordem Superior e Callbacks", "intro": [ - "In these lectures, you will learn how to work with higher order functions and callbacks. The higher order functions you will learn include map(), filter(), reduce(), sort(), every(), and some(). You will also learn how to chain these methods together to achieve your desired results." + "Nestas aulas, você aprenderá a trabalhar com funções de ordem superior e callbacks. As funções de ordem superior que você aprenderá incluem map(), filter(), reduce(), sort(), every() e some(). Você também aprenderá como encadear esses métodos para alcançar os resultados desejados." ] }, "workshop-library-manager": { - "title": "Build a Library Manager", + "title": "Crie um Gerenciador de Biblioteca", "intro": [ - "In this workshop, you will learn higher order array methods by building a library manager." + "Neste workshop, você aprenderá métodos de array de ordem superior construindo um gerenciador de biblioteca." ] }, "lab-book-organizer": { - "title": "Build a Book Organizer", + "title": "Crie um Organizador de Livros", "intro": [ - "In this lab, you'll build a book organizer using higher order functions in JavaScript." + "Neste laboratório, você criará um organizador de livros usando funções de ordem superior em JavaScript." ] }, "lab-sorted-index-finder": { - "title": "Implement a Sorted Index Finder", + "title": "Implemente um Localizador de Índices Ordenados", "intro": [ - "In this lab, you will create a function that finds the index at which a given number should be inserted into a sorted array to maintain the array's sorted order." + "Neste laboratório, você criará uma função que encontra o índice no qual um número dado deve ser inserido em um array ordenado para manter a ordem do array." ] }, "lab-symmetric-difference": { - "title": "Build a Symmetric Difference Function", + "title": "Crie uma Função de Diferença Simétrica", "intro": [ - "In this lab, you will practice using higher order functions to find the symmetric difference between two arrays." + "Neste laboratório, você praticará usar funções de ordem superior para encontrar a diferença simétrica entre dois arrays." ] }, "lab-value-remover-function": { - "title": "Implement a Value Remover Function", + "title": "Implemente uma Função Removedora de Valores", "intro": [ - "In this lab, you will create a function that removes all instances of a specified value from an array." + "Neste laboratório, você criará uma função que remove todas as instâncias de um valor especificado de um array." ] }, "lab-matching-object-filter": { - "title": "Implement a Matching Object Filter", + "title": "Implemente um Filtro de Objeto por Correspondência", "intro": [ - "In this lab, you will create a function that looks through an array of objects and returns an array of all objects that have matching property and value pairs." + "Neste laboratório, você criará uma função que percorre um array de objetos e retorna um array de todos os objetos que têm pares de propriedade e valor correspondentes." ] }, "lab-prime-number-sum-calculator": { - "title": "Build a Prime Number Sum Calculator", + "title": "Crie uma Calculadora de Soma de Números Primos", "intro": [ - "In this lab you will build a prime number sum calculator that takes a number and returns the sum of all prime numbers that are less than or equal to that number." + "Neste laboratório você criará uma calculadora de soma de números primos que recebe um número e retorna a soma de todos os números primos menores ou iguais a esse número." ] }, "lab-range-based-lcm-calculator": { - "title": "Implement a Range-Based LCM Calculator", + "title": "Implemente uma Calculadora de MCM com Base em Intervalos", "intro": [ - "In this lab, you will create a function that takes an array of two numbers and returns the least common multiple (LCM) of those two numbers and all the numbers between them." + "Neste laboratório, você criará uma função que aceita um array de dois números e retorna o mínimo comum múltiplo (MCM) desses dois números e de todos os números entre eles." ] }, "lab-deep-flattening-tool": { - "title": "Create a Deep Flattening Tool", + "title": "Crie uma Ferramenta de Achatamento Profundo", "intro": [ - "In this lab you will create a function that can flatten deeply nested arrays, handling any level of nesting without using built-in flat methods." + "Neste laboratório você criará uma função que pode achatar arrays profundamente aninhados, lidando com qualquer nível de aninhamento sem usar métodos flat embutidos." ] }, "lab-all-true-property-validator": { - "title": "Build an All-True Property Validator", + "title": "Crie um Validador de Propriedade Sempre-Verdadeira", "intro": [ - "In this lab you will build a function that checks if all objects in an array have a truthy value for a specific property." + "Neste laboratório você criará uma função que verifica se todos os objetos em um array têm um valor truthy para uma propriedade específica." ] }, "review-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Review", + "title": "Revisão sobre Funções de Ordem Superior em JavaScript", "intro": [ - "Before you're quizzed on JavaScript higher order functions, you should review them.", - "Open up this page to review concepts including how to work with the map(), filter(), and reduce() methods." + "Antes de ser questionado sobre funções de ordem superior em JavaScript, você deve revisá-las.", + "Abra esta página para revisar conceitos incluindo como trabalhar com os métodos map(), filter() e reduce()." ] }, "quiz-javascript-higher-order-functions": { - "title": "JavaScript Higher Order Functions Quiz", + "title": "Questionário sobre Funções de Ordem Superior em JavaScript", "intro": [ - "Test what you've learned about JavaScript higher order functions with this quiz." + "Teste o que você aprendeu sobre funções de ordem superior em JavaScript com este questionário." ] } } }, "learn-dom-manipulation-and-events-with-javascript": { - "title": "Learn DOM Manipulation and Events with JavaScript", + "title": "Aprenda Manipulação do DOM e Eventos com JavaScript", "summary": [ - "Learn how to manipulate the DOM and work with events in JavaScript." + "Aprenda como manipular o DOM e trabalhar com eventos em JavaScript." ], "intro": [ - "In this interactive course, you will learn how to manipulate the DOM and work with events in JavaScript." + "Neste curso interativo, você aprenderá como manipular o DOM e trabalhar com eventos em JavaScript." ], "note": "", "blocks": { "lecture-working-with-the-dom-click-events-and-web-apis": { - "title": "Working with the DOM, Click Events, and Web APIs", + "title": "Trabalhando com o DOM, Eventos de Clique e APIs Web", "intro": [ - "In these lectures, you will learn how to work with the Document Object Model (DOM), the addEventListener() method and events, and web APIs." + "Nestas aulas, você aprenderá como trabalhar com o Modelo de Objeto de Documento (DOM), o método addEventListener() e eventos, e APIs web." ] }, "workshop-storytelling-app": { - "title": "Build a Storytelling App", + "title": "Crie um App de Narrativas", "intro": [ - "In this workshop, you will build a storytelling app that will allow you to list different stories based on genre." + "Neste workshop, você criará um app de narrativas que permitirá listar diferentes histórias com base no gênero." ] }, "workshop-emoji-reactor": { - "title": "Build an Emoji Reactor", + "title": "Crie um Reator de Emojis", "intro": [ - "In this workshop, you will build an emoji reactor to practice querySelector and querySelectorAll." + "Neste workshop, você criará um reator de emojis para praticar querySelector e querySelectorAll." ] }, "lab-favorite-icon-toggler": { - "title": "Build a Favorite Icon Toggler", + "title": "Crie um Alternador de Ícone Favorito", "intro": [ - "In this lab, you'll build a favorite icon toggler by utilizing JavaScript click events." + "Neste laboratório, você criará um alternador de ícone favorito utilizando eventos de clique em JavaScript." ] }, "lecture-understanding-the-event-object-and-event-delegation": { - "title": "Understanding the Event Object and Event Delegation", + "title": "Compreendendo o Objeto de Evento e Delegação de Evento", "intro": [ - "In these lectures, you will learn about the event object, the change event, event bubbling, and event delegation." + "Nestas aulas, você aprenderá sobre o objeto de evento, o evento de mudança, propagação de eventos e delegação de eventos." ] }, "workshop-music-instrument-filter": { - "title": "Build a Music Instrument Filter", + "title": "Crie um Filtro de Instrumentos Musicais", "intro": [ - "In this workshop, you will build a music instrument filter with JavaScript." + "Neste workshop, você criará um filtro de instrumentos musicais com JavaScript." ] }, "lab-real-time-counter": { - "title": "Build a Real Time Counter", + "title": "Crie um Contador em Tempo Real", "intro": [ - "In this lab, you'll build a real-time character counter", - "You'll practice how to work with the input event when the user types in the input field." + "Neste laboratório, você criará um contador de caracteres em tempo real.", + "Você praticará como trabalhar com o evento input quando o usuário digitar no campo de entrada." ] }, "lab-lightbox-viewer": { - "title": "Build a Lightbox Viewer", + "title": "Crie um Visualizador de Lightbox", "intro": [ - "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.", - "You'll practice click events and toggling classes." + "Neste laboratório, você criará um visualizador de lightbox para visualizar imagens em modo focado.", + "Você praticará eventos de clique e alternância de classes." ] }, "workshop-rps-game": { - "title": "Build a Rock, Paper, Scissors Game", + "title": "Crie um Jogo de Pedra, Papel e Tesoura", "intro": [ - "In this workshop, you will review DOM manipulation and events by building a Rock, Paper, Scissors Game." + "Neste workshop, você revisará a manipulação do DOM e eventos criando um jogo de Pedra, Papel e Tesoura." ] }, "lab-football-team-cards": { - "title": "Build a Set of Football Team Cards", + "title": "Crie um Conjunto de Cartões de Times de Futebol", "intro": [ - "In this lab, you'll use DOM manipulation, object destructuring, event handling, and data filtering to build a set of football team cards." + "Neste laboratório, você usará manipulação do DOM, desestruturação de objetos, tratamento de eventos e filtragem de dados para construir um conjunto de cartões de equipe de futebol." ] }, "review-dom-manipulation-and-click-events-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Review", + "title": "Revisão sobre Manipulação do DOM e Eventos de Clique com JavaScript", "intro": [ - "Before you're quizzed on the DOM, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the DOM, Web APIs, the addEventListener() method, change events, event bubbling and more." + "Antes de ser testado sobre o DOM, você deve revisar o que aprendeu sobre ele.", + "Abra esta página para revisar conceitos, incluindo como trabalhar com o DOM, APIs da Web, o método addEventListener(), eventos de mudança, propagação de eventos e mais." ] }, "quiz-dom-manipulation-and-click-event-with-javascript": { - "title": "DOM Manipulation and Click Events with JavaScript Quiz", + "title": "Questionário sobre Manipulação do DOM e Eventos de Clique com JavaScript", "intro": [ - "Test your knowledge of DOM manipulation and click events in JavaScript with this quiz." + "Teste seu conhecimento sobre manipulação do DOM e eventos de clique no JavaScript com este questionário." ] } } }, "introduction-to-javascript-and-accessibility": { - "title": "Introduction to JavaScript and Accessibility", - "summary": ["Learn how to use JavaScript to enhance web accessibility."], + "title": "Introdução a JavaScript e Acessibilidade", + "summary": [ + "Aprenda como usar JavaScript para melhorar a acessibilidade web." + ], "intro": [ - "In this interactive course, you will learn how to use JavaScript to enhance web accessibility." + "Neste curso interativo, você aprenderá como usar JavaScript para melhorar a acessibilidade web." ], "note": "", "blocks": { "lecture-understanding-aria-expanded-aria-live-and-common-aria-states": { - "title": "Understanding aria-expanded, aria-live, and Common ARIA States", + "title": "Compreendendo aria-expanded, aria-live e Estados Comuns do ARIA", "intro": [ - "In these lectures you will learn more about ARIA attributes like aria-expanded, aria-live, and common ARIA states." + "Nestas aulas você aprenderá mais sobre atributos ARIA como aria-expanded, aria-live e estados ARIA comuns." ] }, "workshop-planets-tablist": { - "title": "Build a Planets Tablist", + "title": "Crie uma Lista com Guias de Planetas", "intro": [ - "In this workshop, you will build a dynamic tabbed interface that showcases facts about the planets in the solar system." + "Neste workshop, você criará uma interface dinâmica com guias que exibirá fatos sobre os planetas do sistema solar." ] }, "workshop-note-taking-app": { - "title": "Build a Note Taking App", + "title": "Crie um Aplicativo de Anotações", "intro": [ - "In this workshop, you are going to build an accessible note taking app.", - "This will provide you with the opportunity to practice working with aria-live attribute." + "Neste workshop, você criará um aplicativo de anotações acessível.", + "Isso proporcionará a oportunidade de praticar o uso do atributo aria-live." ] }, "lab-theme-switcher": { - "title": "Build a Theme Switcher", + "title": "Crie um Alternador de Temas", "intro": [ - "In this lab, you will build a theme switcher and practice working with the aria-haspopup, aria-expanded, and aria-controls attributes." + "Neste laboratório, você criará um alternador de temas e praticará com os atributos aria-haspopup, aria-expanded e aria-controls." ] }, "review-js-a11y": { - "title": "JavaScript and Accessibility Review", + "title": "Revisão de JavaScript e Acessibilidade", "intro": [ - "Before you're quizzed on JavaScript and accessibility, you should review what you've learned about it.", - "Open up this page to review concepts including how to work with the aria-expanded, aria-live, and aria-controls attributes." + "Antes de ser testado sobre JavaScript e acessibilidade, você deve revisar o que aprendeu sobre isso.", + "Abra esta página para revisar conceitos incluindo como trabalhar com os atributos aria-expanded, aria-live e aria-controls." ] }, "quiz-js-a11y": { - "title": "JavaScript and Accessibility Quiz", + "title": "Questionário de JavaScript e Acessibilidade", "intro": [ - "Test your knowledge of JavaScript and accessibility best practices with this quiz." + "Teste seu conhecimento das melhores práticas de JavaScript e acessibilidade com este questionário." ] } } }, "learn-javascript-debugging": { - "title": "Learn JavaScript Debugging", - "summary": ["Learn how to debug JavaScript code effectively."], + "title": "Aprenda Depuração de JavaScript", + "summary": ["Aprenda como depurar código JavaScript de forma eficaz."], "intro": [ - "In this interactive course, you will learn how to debug JavaScript code." + "Neste curso interativo, você aprenderá como depurar código JavaScript." ], "note": "", "blocks": { "lecture-debugging-techniques": { - "title": "Debugging Techniques", + "title": "Técnicas de Depuração", "intro": [ - "In these lectures, you will learn about the common errors in JavaScript and the techniques you can use to fix them – a process called debugging." + "Nestas aulas, você aprenderá sobre os erros comuns em JavaScript e as técnicas que pode usar para corrigi-los – um processo chamado depuração." ] }, "lab-random-background-color-changer": { - "title": "Debug a Random Background Color Changer", + "title": "Depure um Modificador de Cor de Fundo Aleatório", "intro": [ - "In this lab, you'll debug a random background color changer and fix the errors to make it work properly." + "Neste laboratório, você fará a depuração de um alterador de cor de fundo aleatório e corrigirá os erros para fazê-lo funcionar corretamente." ] }, "review-debugging-javascript": { - "title": "Debugging JavaScript Review", + "title": "Revisão sobre Depuração em JavaScript", "intro": [ - "Before you're quizzed on common debugging techniques, you should review what you've learned.", - "Open up this page to review concepts including how to work with the throw statement, try...catch...finally and more." + "Antes de ser testado sobre técnicas comuns de depuração, você deve revisar o que aprendeu.", + "Abra esta página para revisar conceitos, incluindo como trabalhar com a instrução throw, try...catch...finally e mais." ] }, "quiz-debugging-javascript": { - "title": "Debugging JavaScript Quiz", - "intro": ["Test your knowledge of JavaScript debugging with this quiz."] + "title": "Questionário sobre Depuração em JavaScript", + "intro": [ + "Teste seu conhecimento sobre depuração em JavaScript com este questionário." + ] } } }, "learn-basic-regex-with-javascript": { - "title": "Learn Basic Regex with JavaScript", - "summary": ["Learn the basics of regular expressions in JavaScript."], + "title": "Aprenda Regex Básico com JavaScript", + "summary": ["Aprenda o básico sobre expressões regulares em JavaScript."], "intro": [ - "In this interactive course, you will learn the fundamentals of regular expressions and how to use them in JavaScript." + "Neste curso interativo, você aprenderá os fundamentos das expressões regulares e como usá-las em JavaScript." ], "note": "", "blocks": { "lecture-working-with-regular-expressions": { - "title": "Working with Regular Expressions", + "title": "Trabalhando com Expressões Regulares", "intro": [ - "In these lectures, you will learn about regular expressions in JavaScript. You will learn about the methods for working with regular expressions, modifiers, character classes, lookaheads, lookbehinds, back-references, quantifiers, and more." + "Nestas aulas, você aprenderá sobre expressões regulares em JavaScript. Você aprenderá sobre métodos para trabalhar com expressões regulares, modificadores, classes de caracteres, lookaheads, lookbehinds, retro-referências, quantificadores e mais." ] }, "workshop-spam-filter": { - "title": "Build a Spam Filter", + "title": "Crie um Filtro de Spam", "intro": [ - "Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.", - "In this workshop, you'll use capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want." + "Expressões regulares, frequentemente abreviadas como \"regex\" ou \"regexp\", são padrões que ajudam programadores a corresponder, buscar e substituir texto. Expressões regulares são poderosas, mas podem ser difíceis de entender porque usam muitos caracteres especiais.", + "Neste workshop, você usará grupos de captura, lookaheads positivos, lookaheads negativos e outras técnicas para encontrar qualquer texto desejado." ] }, "lab-palindrome-checker": { - "title": "Build a Palindrome Checker", + "title": "Crie um Verificador de Palíndromo", "intro": [ - "For this lab, you'll build an application that checks whether a given word is a palindrome." + "Para este laboratório, você criará uma aplicação que verifica se uma palavra fornecida é um palíndromo." ] }, "lab-regex-sandbox": { - "title": "Build a RegEx Sandbox", - "intro": ["In this lab you'll build a regex sandbox."] + "title": "Crie um Sandbox de Regex", + "intro": [ + "Neste laboratório você criará um sandbox de expressões regulares." + ] }, "lab-spinal-case-converter": { - "title": "Implement a Spinal Case Converter", + "title": "Implemente um Conversor para Spinal Case", "intro": [ - "In this lab, you will create a function that converts a given string to spinal case which is a style of writing where all letters are lowercase and separated by hyphens." + "Neste laboratório, você criará uma função que converte uma string dada para spinal case, que é um estilo onde todas as letras são minúsculas e separadas por hífens." ] }, "lab-pig-latin": { - "title": "Implement a Pig Latin Translator", + "title": "Implemente um Tradutor de Pig Latin", "intro": [ - "In this lab, you'll implement a Pig Latin translator using JavaScript.", - "You'll practice string manipulation, conditional logic, and regular expressions." + "Neste laboratório, você implementará um tradutor de Pig Latin usando JavaScript.", + "Você praticará manipulação de strings, lógica condicional e expressões regulares." ] }, "lab-smart-word-replacement": { - "title": "Build a Smart Word Replacement Function", + "title": "Crie uma Função Inteligente de Substituição de Palavras", "intro": [ - "In this lab, you will use regex to create a function that performs a search and replace operation on a given string." + "Neste laboratório, você usará regex para criar uma função que realiza uma operação de busca e substituição em uma string dada." ] }, "lab-markdown-to-html-converter": { - "title": "Build a Markdown to HTML Converter", + "title": "Crie um Conversor de Markdown para HTML", "intro": [ - "For this lab, you'll build a Markdown to HTML converter using JavaScript.", - "You'll practice regular expressions, string manipulation, and more." + "Para este laboratório, você criará um conversor de Markdown para HTML usando JavaScript.", + "Você praticará expressões regulares, manipulação de strings e mais." ] }, "review-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Review", + "title": "Revisão sobre Expressões Regulares em JavaScript", "intro": [ - "Before you're quizzed on Regular Expressions, you should review what you've learned.", - "Open up this page to review concepts like lookaheads, lookbehinds, common regex modifiers and more." + "Antes de ser testado sobre Expressões Regulares, você deve revisar o que aprendeu.", + "Abra esta página para revisar conceitos como lookaheads, lookbehinds, modificadores comuns de regex e mais." ] }, "quiz-javascript-regular-expressions": { - "title": "JavaScript Regular Expressions Quiz", + "title": "Questionário sobre Expressões Regulares em JavaScript", "intro": [ - "Test your knowledge of JavaScript Regular Expressions with this quiz." + "Teste seu conhecimento sobre Expressões Regulares em JavaScript com este questionário." ] } } }, "introduction-to-dates-in-javascript": { - "title": "Introduction to Dates in JavaScript", - "summary": ["Learn how to work with dates in JavaScript."], + "title": "Introdução a Datas em JavaScript", + "summary": ["Aprenda como trabalhar com datas em JavaScript."], "intro": [ - "In this interactive course, you will learn how to work with dates in JavaScript." + "Neste curso interativo, você aprenderá como trabalhar com datas em JavaScript." ], "note": "", "blocks": { "lecture-working-with-dates": { - "title": "Working with Dates", + "title": "Trabalhando com Datas", "intro": [ - "In these lectures, you will learn about the JavaScript date object. You will learn about the methods for working with dates and how to format dates." + "Nestas aulas, você aprenderá sobre o objeto de data do JavaScript. Você aprenderá sobre os métodos para trabalhar com datas e como formatar datas." ] }, "lab-date-conversion": { - "title": "Build a Date Conversion Program", + "title": "Crie um Programa de Conversão de Data", "intro": [ - "In this lab, you'll build a program to convert a date from one format to another." + "Neste laboratório, você criará um programa para converter uma data de um formato para outro." ] }, "review-javascript-dates": { - "title": "JavaScript Dates Review", + "title": "Revisão sobre Datas em JavaScript", "intro": [ - "Before you're quizzed on working with dates, you should review what you've learned.", - "Open up this page to review the Date() object and common methods." + "Antes de ser testado sobre como trabalhar com datas, você deve revisar o que aprendeu.", + "Abra esta página para revisar o objeto Date() e métodos comuns." ] }, "quiz-javascript-dates": { - "title": "JavaScript Dates Quiz", + "title": "Questionário sobre Datas em JavaScript", "intro": [ - "Test what you've learned about JavaScript Dates with this quiz." + "Teste o que você aprendeu sobre Datas em JavaScript com este questionário." ] } } }, "learn-audio-and-video-events-with-javascript": { - "title": "Learn Audio and Video Events with JavaScript", - "summary": ["Learn how to work with audio and video events in JavaScript."], + "title": "Aprenda Eventos de Áudio e Vídeo com JavaScript", + "summary": [ + "Aprenda como trabalhar com eventos de áudio e vídeo em JavaScript." + ], "intro": [ - "In this interactive course, you will learn how to work with audio and video events in JavaScript." + "Neste curso interativo, você aprenderá como trabalhar com eventos de áudio e vídeo em JavaScript." ], "note": "", "blocks": { "lecture-working-with-audio-and-video": { - "title": "Working with Audio and Video", + "title": "Trabalhando com Áudio e Vídeo", "intro": [ - "In these lectures, you will learn how to work with audio and video files using JavaScript. You will learn about the Audio and Video constructors, their methods and properties, audio and video formats, codecs, the HTMLMediaElement API, and much more." + "Nestas aulas, você aprenderá como trabalhar com arquivos de áudio e vídeo usando JavaScript. Você aprenderá sobre os construtores Audio e Video, seus métodos e propriedades, formatos de áudio e vídeo, codecs, a API HTMLMediaElement e muito mais." ] }, "workshop-music-player": { - "title": "Build a Music Player", + "title": "Crie um Tocador de Música", "intro": [ - "In this workshop, you'll code a basic MP3 player using HTML, CSS, and JavaScript.", - "The project covers fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, and previous functionalities and dynamically update your user interface based on the current song." + "Neste workshop, você programará um tocador de MP3 básico usando HTML, CSS e JavaScript.", + "O projeto abrange conceitos fundamentais como o manuseio de reprodução de áudio, gerenciamento de uma lista de reprodução, implementação de funções de play, pause, próximo e anterior, e atualização dinâmica da interface do usuário com base na música atual." ] }, "lab-drum-machine": { - "title": "Build a Drum Machine", + "title": "Crie uma Bateria Eletrônica", "intro": [ - "For this lab you will use the audio element to build a drum machine." + "Para este laboratório você usará o elemento audio para criar uma bateria eletrônica." ] }, "review-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Review", + "title": "Revisão sobre Áudio e Vídeo em JavaScript", "intro": [ - "Before you're quizzed on working with audio and video in JavaScript, you should review what you've learned about them.", - "Open up this page to review concepts including the Audio constructor, the HTMLMediaElement API and more." + "Antes de ser testado sobre como trabalhar com áudio e vídeo em JavaScript, você deve revisar o que aprendeu sobre eles.", + "Abra esta página para revisar conceitos incluindo o construtor Audio, a API HTMLMediaElement e mais." ] }, "quiz-javascript-audio-and-video": { - "title": "JavaScript Audio and Video Quiz", + "title": "Questionário sobre Áudio e Vídeo em JavaScript", "intro": [ - "Test what you've learned about JavaScript audio and video with this quiz." + "Teste o que você aprendeu sobre áudio e vídeo em JavaScript com este questionário." ] } } }, "introduction-to-maps-and-sets-in-javascript": { - "title": "Introduction to Maps and Sets in JavaScript", - "summary": ["Learn about the Map and Set objects in JavaScript."], + "title": "Introdução a Maps e Sets em JavaScript", + "summary": ["Aprenda sobre os objetos Map e Set em JavaScript."], "intro": [ - "In this interactive course, you will learn about the Map and Set objects in JavaScript." + "Neste curso interativo, você aprenderá sobre os objetos Map e Set em JavaScript." ], "note": "", "blocks": { "lecture-working-with-maps-and-sets": { - "title": "Working with Maps and Sets", + "title": "Trabalhando com Maps e Sets", "intro": [ - "In these lectures, you will learn about JavaScript Map and Set. You will also learn how they both differ from WeakSets and WeakMaps." + "Nestas aulas, você aprenderá sobre Map e Set em JavaScript. Você também aprenderá como ambos diferem de WeakSet e WeakMap." ] }, "workshop-plant-nursery-catalog": { - "title": "Build a Plant Nursery Catalog", + "title": "Crie um Catálogo de Viveiro de Plantas", "intro": [ - "In this workshop, you will practice using Maps and Sets by building a plant nursery catalog." + "Neste workshop, você praticará usar Maps e Sets criando um catálogo de viveiro de plantas." ] }, "lab-voting-system": { - "title": "Build a Voting System", + "title": "Crie um Sistema de Votação", "intro": [ - "In this lab, you'll build a voting system using Maps and Sets.", - "You'll practice how to use the Map object to store key-value pairs and the Set object to store unique values." + "Neste laboratório, você criará um sistema de votação usando Maps e Sets.", + "Você praticará como usar o objeto Map para armazenar pares chave-valor e o objeto Set para armazenar valores únicos." ] }, "review-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Review", + "title": "Revisão sobre Maps e Sets em JavaScript", "intro": [ - "Before you're quizzed on JavaScript Maps and Sets, you should review what you've learned about them.", - "Open up this page to review concepts such as the Map and Set objects, as well as WeakSet and WeakMap." + "Antes de ser testado sobre Maps e Sets em JavaScript, você deve revisar o que aprendeu sobre eles.", + "Abra esta página para revisar conceitos como os objetos Map e Set, bem como WeakSet e WeakMap." ] }, "quiz-javascript-maps-and-sets": { - "title": "JavaScript Maps and Sets Quiz", + "title": "Questionário sobre Maps e Sets em JavaScript", "intro": [ - "Test what you've learned about JavaScript Maps and Sets with this quiz." + "Teste o que você aprendeu sobre Maps e Sets em JavaScript com este questionário." ] } } }, "learn-localstorage-and-crud-operations-with-javascript": { - "title": "Learn localStorage and CRUD Operations with JavaScript", + "title": "Aprenda localStorage e Operações CRUD com JavaScript", "summary": [ - "Learn how to use localStorage and perform CRUD operations in JavaScript." + "Aprenda como usar localStorage e realizar operações CRUD em JavaScript." ], "intro": [ - "In this interactive course, you will learn how to use localStorage and perform CRUD operations in JavaScript." + "Neste curso interativo, você aprenderá como usar localStorage e realizar operações CRUD em JavaScript." ], "note": "", "blocks": { "lecture-working-with-client-side-storage-and-crud-operations": { - "title": "Working with Client-Side Storage and CRUD Operations", + "title": "Trabalhando com Armazenamento do Lado do Cliente e Operações CRUD", "intro": [ - "In these lectures, you will learn about client-side storage and CRUD operations in JavaScript. You will learn about localStorage and sessionStorage alongside their methods and properties, cookies, the Cache API, IndexedDB, and much more." + "Nestas aulas, você aprenderá sobre armazenamento no lado do cliente e operações CRUD em JavaScript. Você aprenderá sobre localStorage e sessionStorage juntamente com seus métodos e propriedades, cookies, a API do Cache, IndexedDB e muito mais." ] }, "workshop-todo-app": { - "title": "Build a Todo App using Local Storage", + "title": "Crie um App de Lista de Tarefas usando Armazenamento Local", "intro": [ - "Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user's browser. This allows web apps to save data during one session, then retrieve it in a later page session.", - "In this workshop, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements." + "O armazenamento local é um recurso do navegador que permite que aplicações web armazenem pares chave-valor de maneira persistente dentro do navegador do usuário. Isso permite que apps da web salvem dados durante uma sessão e os recuperem em uma sessão de página posterior.", + "Neste workshop, você aprenderá a manipular entradas de formulário, gerenciar armazenamento local, realizar operações CRUD (Criar, Ler, Atualizar, Apagar) em tarefas, implementar ouvintes de eventos e alternar elementos da UI." ] }, "lab-bookmark-manager-app": { - "title": "Build a Bookmark Manager App", + "title": "Crie uma Aplicação Gerenciadora de Favoritos", "intro": [ - "For this lab, you'll build a bookmark manager app.", - "You'll utilize local storage to store bookmarks, and practice how to add, remove, and display bookmarks." + "Para este laboratório, você criará uma aplicação gerenciadora de favoritos.", + "Você usará armazenamento local para armazenar favoritos e praticará como adicionar, remover e exibir favoritos." ] }, "review-local-storage-and-crud": { - "title": "Local Storage and CRUD Review", + "title": "Revisão sobre Armazenamento Local e CRUD", "intro": [ - "Before you are quizzed on working with localStorage, you first need to review the concepts.", - "Open up this page to review the localStorage property, sessionStorage property and more." + "Antes de ser questionado sobre o trabalho com localStorage, você primeiro precisa revisar os conceitos.", + "Abra esta página para revisar a propriedade localStorage, a propriedade sessionStorage e mais." ] }, "quiz-local-storage-and-crud": { - "title": "Local Storage and CRUD Quiz", + "title": "Questionário sobre Armazenamento Local e CRUD", "intro": [ - "Test what you've learned about local storage and CRUD with this quiz." + "Teste o que você aprendeu sobre armazenamento local e CRUD com este questionário." ] } } }, "introduction-to-javascript-classes": { - "title": "Introduction to JavaScript Classes", - "summary": ["Learn about classes in JavaScript and how to use them."], + "title": "Introdução a Classes JavaScript", + "summary": ["Aprenda sobre classes em JavaScript e como usá-las."], "intro": [ - "In this interactive course, you will learn about classes in JavaScript and how to use them." + "Neste curso interativo, você aprenderá sobre classes em JavaScript e como usá-las." ], "note": "", "blocks": { "lecture-understanding-how-to-work-with-classes-in-javascript": { - "title": "Understanding How to Work with Classes in JavaScript", + "title": "Compreendendo Como Trabalhar com Classes em JavaScript", "intro": [ - "In these lectures, you will learn about classes in JavaScript. You will learn about inheritance, the this keyword, static properties and methods, and more." + "Nestas aulas, você aprenderá sobre classes em JavaScript. Você aprenderá sobre herança, a palavra-chave this, propriedades e métodos estáticos, e mais." ] }, "workshop-shopping-cart": { - "title": "Build a Shopping Cart", + "title": "Crie um Carrinho de Compras", "intro": [ - "In this workshop you'll create a shopping cart using JavaScript classes.", - "You will practice how to use the this keyword, create class instances, implement methods for data manipulation and more." + "Neste workshop você criará um carrinho de compras usando classes JavaScript.", + "Você praticará como usar a palavra-chave this, criar instâncias de classe, implementar métodos para manipulação de dados e mais." ] }, "lab-project-idea-board": { - "title": "Build a Project Idea Board", + "title": "Crie um Quadro de Ideias de Projetos", "intro": [ - "In this lab, you'll build a project idea board using OOP in JavaScript.", - "You'll practice how to create classes, add methods to classes, and create instances of classes." + "Neste laboratório, você criará um quadro de ideias de projetos usando POO em JavaScript.", + "Você praticará como criar classes, adicionar métodos a classes e criar instâncias de classes." ] }, "lab-bank-account-manager": { - "title": "Build a Bank Account Management Program", + "title": "Crie um Programa de Gestão de Contas Bancárias", "intro": [ - "In this lab, you'll build a simple transaction management system for a bank account." + "Neste laboratório, você criará um sistema simples de gestão de transações para uma conta bancária." ] }, "review-javascript-classes": { - "title": "JavaScript Classes Review", + "title": "Revisão sobre Classes em JavaScript", "intro": [ - "Before you're quizzed on how to work with classes, you should review what you've learned about them.", - "Open up this page to review concepts including the this keyword, class inheritance and more." + "Antes de ser testado sobre como trabalhar com classes, você deve revisar o que aprendeu sobre elas.", + "Abra esta página para revisar conceitos, incluindo a palavra-chave this, herança de classe e mais." ] }, "quiz-javascript-classes": { - "title": "JavaScript Classes Quiz", + "title": "Questionário sobre Classes em JavaScript", "intro": [ - "Test what you've learned about JavaScript classes with this quiz." + "Teste o que você aprendeu sobre classes JavaScript com este questionário." ] } } }, "learn-recursion-with-javascript": { - "title": "Learn Recursion with JavaScript", + "title": "Aprenda Recursão com JavaScript", "summary": [ - "Understand the concept of recursion and how to implement it in JavaScript." + "Compreenda o conceito de recursão e como implementá-lo em JavaScript." ], "intro": [ - "In this interactive course, you'll learn about recursion in JavaScript and how to use it to solve problems." + "Neste curso interativo, você aprenderá sobre recursão em JavaScript e como usá-la para resolver problemas." ], "note": "", "blocks": { "lecture-understanding-recursion-and-the-call-stack": { - "title": "Understanding Recursion and the Call Stack", + "title": "Compreendendo Recursão e a Pilha de Chamadas", "intro": [ - "In this lecture, you will learn about recursion and the call stack." + "Nesta aula, você aprenderá sobre recursão e a pilha de chamadas." ] }, "workshop-countup": { - "title": "Build a Countup", + "title": "Crie uma Contagem Crescente", "intro": [ - "In this workshop you will build a countup function that returns an array of numbers counting up from 1 to a given number." + "Neste workshop você criará uma função de contagem que retorna um array de números em contagem crescente de 1 até um número dado." ] }, "lab-countdown": { - "title": "Build a Countdown", + "title": "Crie uma Contagem Regressiva", "intro": [ - "For this lab, you will build a countdown function that returns an array of numbers counting down from given number to 1." + "Para este laboratório, você criará uma função de contagem regressiva que retorna um conjunto de números em contagem regressiva de um número dado até 1." ] }, "lab-range-of-numbers": { - "title": "Build a Range of Numbers Generator", + "title": "Crie um Gerador de Intervalo de Números", "intro": [ - "In this lab, you'll use recursion to generate an array of numbers within a specified range.", - "You'll practice recursive function calls, base cases, and building arrays through recursion." + "Neste laboratório, você usará recursão para gerar um array de números dentro de um intervalo especificado.", + "Você praticará chamadas de função recursivas, casos base e a construção de arrays por recursão." ] }, "workshop-decimal-to-binary-converter": { - "title": "Build a Decimal to Binary Converter", + "title": "Crie um Conversor de Decimais para Binários", "intro": [ - "Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.", - "In this workshop, you'll build a decimal-to-binary converter using JavaScript. You'll practice the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation." + "Recursão é um conceito de programação onde uma função chama a si mesma. Isso pode reduzir um problema complexo em sub-problemas mais simples, até que eles se tornem fáceis de resolver.", + "Neste workshop, você criará um conversor de decimal para binário usando JavaScript. Você praticará os conceitos fundamentais de recursão, explorará a pilha de chamadas e criará uma representação visual do processo de recursão através de uma animação." ] }, "lab-permutation-generator": { - "title": "Build a Permutation Generator", + "title": "Crie um Gerador de Permutação", "intro": [ - "For this lab, you'll build a permutation generator that produces all possible permutations of a given string." + "Para este laboratório, você criará um gerador de permutação que produz todas as permutações possíveis de uma string fornecida." ] }, "review-recursion": { - "title": "Recursion Review", + "title": "Revisão sobre Recursão", "intro": [ - "Before you're quizzed on recursion, you should review what you've learned.", - "Open up this page to review what is recursion and what is it used for." + "Antes de ser questionado sobre recursão, você deve revisar o que aprendeu.", + "Abra esta página para revisar o que é recursão e para que ela é utilizada." ] }, "quiz-recursion": { - "title": "Recursion Quiz", - "intro": ["Test your knowledge of Recursion with this quiz."] + "title": "Questionário sobre Recursão", + "intro": [ + "Teste seu conhecimento sobre recursão com este questionário." + ] } } }, "introduction-to-functional-programming-with-javascript": { - "title": "Introduction to Functional Programming with JavaScript", + "title": "Introdução à Programação Funcional com JavaScript", "summary": [ - "Learn the fundamentals of functional programming in JavaScript." + "Aprenda os fundamentos da programação funcional em JavaScript." ], "intro": [ - "In this interactive course, you will learn about functional programming concepts and techniques in JavaScript." + "Neste curso interativo, você aprenderá conceitos e técnicas de programação funcional em JavaScript." ], "note": "", "blocks": { "lecture-understanding-functional-programming": { - "title": "Understanding Functional Programming", + "title": "Compreendendo Programação Funcional", "intro": [ - "In these lectures, you will learn about functional programming and how to nest functions using a technique called currying." + "Nestas aulas, você aprenderá sobre programação funcional e como aninhar funções usando uma técnica chamada Currying." ] }, "workshop-recipe-ingredient-converter": { - "title": "Build a Recipe Ingredient Converter", + "title": "Crie um Conversor de Ingredientes de Receita", "intro": [ - "In the previous lectures, you learned the core concepts behind functional programming and currying.", - "Now you will be able to apply what you have learned about currying and functional programming by building a recipe ingredient converter application." + "Nas aulas anteriores, você aprendeu os conceitos básicos por trás da programação funcional e Currying.", + "Agora você poderá aplicar o que aprendeu sobre Currying e programação funcional criando uma aplicação de conversor de ingredientes de receita." ] }, "lab-optional-arguments-sum-function": { - "title": "Build an Optional Arguments Sum Function", + "title": "Crie uma Função de Soma de Argumentos Opcionais", "intro": [ - "In this lab you will build a function that accepts up to two arguments, and sum them, but if there is only one argument returns a function that waits for the second number to sum." + "Neste laboratório você criará uma função que aceita até dois argumentos e os soma, mas se houver apenas um argumento, retorna uma função que aguarda o segundo número para somar." ] }, "lab-sorting-visualizer": { - "title": "Build a Sorting Visualizer", + "title": "Crie um Visualizador de Ordenação", "intro": [ - "For this lab, you'll use JavaScript to visualize the steps that the Bubble Sort algorithm takes to reorder an array of integers." + "Para este laboratório, você usará JavaScript para visualizar os passos que o algoritmo Bubble Sort faz para reordenar um array de inteiros." ] }, "review-javascript-functional-programming": { - "title": "JavaScript Functional Programming Review", + "title": "Revisão sobre Programação Funcional em JavaScript", "intro": [ - "Before you're quizzed on functional programming, you should review what you've learned.", - "Open up this page to review concepts on functional programming, currying and more." + "Antes de ser questionado sobre programação funcional, você deve revisar o que aprendeu.", + "Abra esta página para revisar conceitos sobre programação funcional, Currying e mais." ] }, "quiz-javascript-functional-programming": { - "title": "JavaScript Functional Programming Quiz", + "title": "Questionário sobre Programação Funcional em JavaScript", "intro": [ - "Test what you've learned about JavaScript functional programming with this quiz." + "Teste o que você aprendeu sobre programação funcional em JavaScript com este questionário." ] } } }, "introduction-to-asynchronous-javascript": { - "title": "Introduction to Asynchronous JavaScript", + "title": "Introdução a JavaScript Assíncrono", "summary": [ - "Learn the fundamentals of asynchronous programming in JavaScript." + "Aprenda os fundamentos da programação assíncrona em JavaScript." ], "intro": [ - "In this interactive course, you will learn about asynchronous programming concepts and techniques in JavaScript." + "Neste curso interativo, você aprenderá conceitos e técnicas de programação assíncrona em JavaScript." ], "note": "", "blocks": { "lecture-understanding-asynchronous-programming": { - "title": "Understanding Asynchronous Programming", + "title": "Compreendendo Programação Assíncrona", "intro": [ - "In these lectures, you will learn about asynchronous programming in JavaScript. You will learn about the differences between synchronous and asynchronous programming, how the async keyword works, the Fetch API, promises, async/await, the Geolocation API, and much more." + "Nestas aulas, você aprenderá sobre programação assíncrona em JavaScript. Você aprenderá sobre as diferenças entre programação síncrona e assíncrona, como a palavra-chave async funciona, a API Fetch, promessas, async/await, a API Geolocation e muito mais." ] }, "workshop-fcc-authors-page": { - "title": "Build an fCC Authors Page", + "title": "Crie uma Página de Autores do fCC", "intro": [ - "One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.", - "In this workshop you will practice how to use the fetch method, dynamically update the DOM to display the fetched data and paginate your data so you can load results in batches." + "Um aspecto comum do desenvolvimento web é aprender a buscar dados de uma API externa e, em seguida, trabalhar com JavaScript assíncrono.", + "Neste workshop você praticará como usar o método fetch, atualizar dinamicamente o DOM para exibir os dados buscados e paginar seus dados para carregar resultados em lotes." ] }, "lab-fcc-forum-leaderboard": { - "title": "Build an fCC Forum Leaderboard", + "title": "Crie um Quadro de Líderes do Fórum do fCC", "intro": [ - "For this lab you'll practice asynchronous JavaScript by coding your own freeCodeCamp forum leaderboard." + "Para este laboratório você praticará JavaScript assíncrono programando seu próprio quadro de líderes do fórum do freeCodeCamp." ] }, "lab-weather-app": { - "title": "Build a Weather App", + "title": "Crie um Aplicativo do Tempo", "intro": [ - "In this lab you'll build a Weather App using an API", - "You'll practice how to fetch data from the API, store and display it on your app." + "Neste laboratório você criará um Aplicativo do Tempo usando uma API.", + "Você praticará como buscar dados da API, armazená-los e exibi-los no aplicativo." ] }, "review-asynchronous-javascript": { - "title": "Asynchronous JavaScript Review", + "title": "Revisão sobre JavaScript Assíncrono", "intro": [ - "Review asynchronous JavaScript concepts to prepare for the upcoming quiz." + "Revise conceitos de JavaScript assíncrono para se preparar para o próximo questionário." ] }, "quiz-asynchronous-javascript": { - "title": "Asynchronous JavaScript Quiz", + "title": "Questionário sobre JavaScript Assíncrono", "intro": [ - "Test what you've learned about asynchronous JavaScript with this quiz." + "Teste o que você aprendeu sobre JavaScript assíncrono com este questionário." ] } } @@ -3839,7 +3871,7 @@ ] }, "en-a2-quiz-first-day-conversations-at-work": { - "title": "First Day Conversations at Work Quiz", + "title": "Questionário sobre Conversas no Primeiro Dia de Trabalho", "intro": ["", ""] }, "learn-introductions-in-an-online-team-meeting": { @@ -3849,7 +3881,7 @@ ] }, "en-a2-quiz-meeting-introductions-at-work": { - "title": "Meeting Introductions at Work Quiz", + "title": "Questionário sobre Apresentações em Reuniões de Trabalho", "intro": ["", ""] }, "learn-conversation-starters-in-the-break-room": { @@ -3859,7 +3891,7 @@ ] }, "en-a2-quiz-conversation-starters-at-work": { - "title": "Break Room Conversations Quiz", + "title": "Questionário sobre Conversas na Sala de Descanso", "intro": ["", ""] }, "learn-how-to-talk-about-a-typical-workday-and-tasks": { @@ -3869,7 +3901,7 @@ ] }, "en-a2-quiz-work-routines-and-tasks": { - "title": "Talking About Your Workday Quiz", + "title": "Questionário sobre Como Falar do Dia de Trabalho", "intro": ["", ""] }, "learn-how-to-discuss-your-morning-or-evening-routine": { @@ -3879,7 +3911,7 @@ ] }, "en-a2-quiz-daily-life-routines": { - "title": "Daily Routines at Work Quiz", + "title": "Questionário sobre Rotinas Diárias no Trabalho", "intro": ["", ""] }, "learn-how-to-describe-your-current-project": { @@ -3889,7 +3921,7 @@ ] }, "en-a2-quiz-what-are-you-working-on": { - "title": "Describing Your Current Project Quiz", + "title": "Questionário sobre Como Descrever o Projeto Atual", "intro": ["", ""] }, "learn-how-to-ask-and-share-about-educational-and-professional-background": { @@ -3899,7 +3931,7 @@ ] }, "en-a2-quiz-educational-and-professional-background": { - "title": "Educational and Professional Background Quiz", + "title": "Questionário sobre Formação Educacional e Profissional", "intro": ["", ""] }, "learn-how-to-talk-about-hobbies-and-interests": { @@ -3909,7 +3941,7 @@ ] }, "en-a2-quiz-hobbies-and-interests": { - "title": "Talking About Hobbies and Interests Quiz", + "title": "Questionário sobre Falar de Hobbies e Interesses", "intro": ["", ""] }, "learn-how-to-discuss-roles-and-responsibilities": { @@ -3929,7 +3961,7 @@ ] }, "en-a2-quiz-preferences-and-motivations": { - "title": "Preferences and Motivations Quiz", + "title": "Questionário sobre Preferências e Motivações", "intro": ["", ""] }, "learn-how-to-discuss-popular-trends-in-technology": { @@ -3939,7 +3971,7 @@ ] }, "en-a2-quiz-sharing-opinions": { - "title": "Technology Trends Quiz", + "title": "Questionário sobre Tendências Tecnológicas", "intro": ["", ""] }, "learn-how-to-clarify-information-in-different-interactions": { @@ -3949,7 +3981,7 @@ ] }, "en-a2-quiz-getting-the-details-right": { - "title": "Clarifying Information Quiz", + "title": "Questionário sobre Esclarecimento de Informações", "intro": ["", ""] }, "learn-how-to-use-basic-programming-vocabulary-in-conversations": { @@ -3969,7 +4001,7 @@ ] }, "en-a2-quiz-key-programming-terms": { - "title": "Code Concepts and Terms Quiz", + "title": "Questionário sobre Conceitos e Termos de Código", "intro": ["", ""] }, "learn-how-to-discuss-tech-trends-and-updates": { @@ -3979,7 +4011,7 @@ ] }, "en-a2-quiz-discussing-new-ideas": { - "title": "Tech Updates and Trends Quiz", + "title": "Questionário sobre Atualizações e Tendências Tecnológicas", "intro": ["", ""] }, "learn-how-to-help-a-coworker-troubleshoot-on-github": { @@ -3989,7 +4021,7 @@ ] }, "en-a2-quiz-discussing-problems-and-solutions": { - "title": "Helping a Coworker on GitHub Quiz", + "title": "Questionário sobre Ajudar um Colega no GitHub", "intro": ["", ""] }, "learn-how-to-share-your-progress-in-weekly-stand-up-meetings": { @@ -3999,7 +4031,7 @@ ] }, "en-a2-quiz-collaborating-in-meetings": { - "title": "Weekly Meeting Progress Quiz", + "title": "Questionário sobre Compartilhar Progresso na Reunião Semanal", "intro": ["", ""] }, "learn-how-to-ask-for-clarification-on-code-understanding": { @@ -4009,7 +4041,7 @@ ] }, "en-a2-quiz-understanding-problems": { - "title": "Asking for Code Clarification Quiz", + "title": "Questionário sobre Pedir Esclarecimentos de Código", "intro": ["", ""] }, "learn-how-to-document-code-for-a-project": { @@ -4039,7 +4071,7 @@ ] }, "en-a2-quiz-analyzing-documentation": { - "title": "Analyzing Code Documentation Quiz", + "title": "Questionário sobre Análise de Documentação de Código", "intro": ["", ""] }, "learn-how-to-share-progress-and-accomplishments": { @@ -4049,7 +4081,7 @@ ] }, "en-a2-quiz-discussing-progress-and-results": { - "title": "Sharing Progress and Achievements Quiz", + "title": "Questionário sobre Compartilhar Progresso e Conquistas", "intro": ["", ""] }, "learn-how-to-talk-about-updates-and-plans-for-tasks-and-projects": { @@ -4079,7 +4111,7 @@ ] }, "en-a2-quiz-following-best-practices": { - "title": "Offering Technical Support Quiz", + "title": "Questionário sobre Oferecer Suporte Técnico", "intro": ["", ""] }, "learn-how-to-request-and-receive-guidance": { @@ -4089,7 +4121,7 @@ ] }, "en-a2-quiz-asking-for-help": { - "title": "Requesting and Receiving Guidance Quiz", + "title": "Questionário sobre Solicitar e Receber Orientação", "intro": ["", ""] }, "learn-how-to-provide-explanations-when-helping-others": { @@ -4099,7 +4131,7 @@ ] }, "en-a2-quiz-giving-adivice-and-suggestions": { - "title": "Explaining Things to Others Quiz", + "title": "Questionário sobre Explicar Coisas a Outros", "intro": ["", ""] }, "en-a2-certification-exam": { @@ -4804,16 +4836,16 @@ ] }, "workshop-wildlife-tracker": { - "title": "Build a Wildlife Tracker", + "title": "Crie um Rastreador de Vida Selvagem", "intro": [ - "In this workshop, you will build a simple Wildlife Tracker using JavaScript objects.", - "You will practice creating objects, accessing and updating properties, removing properties, checking for property existence, and working with bracket notation." + "Neste workshop, você criará um Rastreador de Vida Selvagem simples usando objetos JavaScript.", + "Você praticará criar objetos, acessar e atualizar propriedades, remover propriedades, verificar a existência de propriedades e trabalhar com notação de colchete." ] }, "lab-cargo-manifest-validator": { - "title": "Build a Cargo Manifest Validator", + "title": "Crie um Validador de Manifesto de Carga", "intro": [ - "In this lab, you will use JavaScript to normalize and validate cargo manifests." + "Neste laboratório, você usará JavaScript para normalizar e validar manifestos de carga." ] }, "lecture-working-with-json": { @@ -4873,9 +4905,9 @@ ] }, "workshop-space-mission-roster": { - "title": "Build a Space Mission Roster", + "title": "Crie uma Lista de Missão Espacial", "intro": [ - "In this workshop, you'll leverage JavaScript loops to build a space mission roster." + "Neste workshop, você usará laços em JavaScript para criar uma lista de missões espaciais." ] }, "lab-longest-word-in-a-string": { @@ -5609,47 +5641,47 @@ ] }, "lecture-working-with-common-data-structures-js": { - "title": "Working with Common Data Structures", + "title": "Trabalhando com Estruturas de Dados Comuns", "intro": [ - "Learn about common data structures and how to work with them in JavaScript." + "Aprenda sobre estruturas de dados comuns e como trabalhar com elas em JavaScript." ] }, "workshop-linked-list-js": { - "title": "Build a Linked List", + "title": "Construa uma Lista Ligada", "intro": [ - "In the previous lessons, you learned about some common data structures.", - "In this workshop, you will build a linked list using JavaScript." + "Nas aulas anteriores, você aprendeu sobre algumas estruturas de dados comuns.", + "Neste workshop, você criará uma lista ligada usando JavaScript." ] }, "lab-linked-list-operations": { - "title": "Implement Linked List Operations", + "title": "Implemente Operações de Lista Ligada", "intro": [ - "In this lab you will implement common linked list operations such as insertion, deletion, and traversal." + "Neste laboratório você implementará operações comuns em listas ligadas, como inserção, exclusão e percorrimento." ] }, "lab-implement-a-stack": { - "title": "Implement a Stack", + "title": "Implementar uma Pilha", "intro": [ - "In this lab, you will implement a stack data structure using functions." + "Neste laboratório, você implementará uma estrutura de dados de pilha usando funções." ] }, "lab-implement-a-queue": { - "title": "Implement a Queue", + "title": "Implemente uma Fila", "intro": [ - "In this lab, you will implement a queue data structure using functions." + "Neste laboratório, você implementará uma estrutura de dados fila usando funções." ] }, "review-data-structures-js": { - "title": "Data Structures Review", + "title": "Revisão de Estruturas de Dados", "intro": [ - "Before you're quizzed on data structures, you should review what you've learned about them.", - "Open up this page to review concepts like the different data structures, algorithms, time and space complexity, and big O notation." + "Antes de fazer um questionário sobre estruturas de dados, você deve revisar o que aprendeu sobre o assunto.", + "Abra esta página para revisar conceitos como as diferentes estruturas de dados, algoritmos, análise de complexidade de tempo e espaço, e notação big O." ] }, "quiz-data-structures-js": { - "title": "Data Structures Quiz", + "title": "Questionário sobre Estruturas de Dados", "intro": [ - "Test what you've learned about data structures in JavaScript with this quiz." + "Teste o que você aprendeu sobre estruturas de dados em JavaScript com este questionário." ] }, "lecture-introduction-to-common-searching-and-sorting-algorithms": { @@ -5660,17 +5692,17 @@ ] }, "workshop-binary-search-js": { - "title": "Implement the Binary Search Algorithm", + "title": "Implemente o Algoritmo de Busca Binária", "intro": [ - "The binary search algorithm is a searching algorithm used to find a target item in a sorted list.", - "In this workshop, you'll implement the binary search algorithm and return the path it took to find the target or return 'Value not found'." + "O algoritmo de busca binária é um algoritmo de busca usado para encontrar um item alvo em uma lista ordenada.", + "Neste workshop, você implementará o algoritmo de busca binária e retornará o caminho que ele percorreu para encontrar o alvo ou retornará 'Valor não encontrado'." ] }, "workshop-merge-sort-js": { - "title": "Implement the Merge Sort Algorithm", + "title": "Implemente o Algoritmo de Ordenação por Fusão", "intro": [ - "The merge sort algorithm is a sorting algorithm based on the divide and conquer principle.", - "In this workshop, you'll implement the merge sort algorithm to sort a list of random numbers." + "O algoritmo de ordenação por fusão é um algoritmo de ordenação baseado no princípio de dividir e conquistar.", + "Neste workshop, você implementará o algoritmo de ordenação por fusão para ordenar uma lista de números aleatórios." ] }, "lab-bubble-sort-algorithm": { @@ -5698,15 +5730,15 @@ ] }, "review-searching-and-sorting-algorithms-js": { - "title": "Searching and Sorting Algorithms Review", + "title": "Revisão de Algoritmos de Busca e Ordenação", "intro": [ - "Before you are quizzed on Algorithms, you should review what you've learned about searching and sorting algorithms." + "Antes de ser avaliado sobre algoritmos, você deve revisar o que aprendeu sobre algoritmos de busca e ordenação." ] }, "quiz-searching-and-sorting-algorithms-js": { - "title": "Searching and Sorting Algorithms Quiz", + "title": "Questionário sobre Algoritmos de Busca e Ordenação", "intro": [ - "Test your knowledge of searching and sorting algorithms with this quiz." + "Teste o que você aprendeu sobre algoritmos de busca e ordenação com este questionário." ] }, "lecture-understanding-graphs-and-trees-js": { @@ -5716,10 +5748,10 @@ ] }, "workshop-shortest-path-algorithm-js": { - "title": "Implement the Shortest Path Algorithm", + "title": "Implementar o Algoritmo do Caminho Mais Curto", "intro": [ - "The shortest path algorithm finds the minimum distance between nodes in a weighted graph.", - "In this workshop, you'll implement the shortest path algorithm in JavaScript and return both the shortest distances and the paths taken." + "O algoritmo do caminho mais curto encontra a distância mínima entre nós em um grafo ponderado.", + "Neste workshop, você implementará o algoritmo do caminho mais curto em JavaScript e retornará tanto as menores distâncias quanto os caminhos percorridos." ] }, "lab-adjacency-list-to-matrix-converter-js": { @@ -5729,59 +5761,59 @@ ] }, "workshop-breadth-first-search-js": { - "title": "Implement the Breadth-First Search Algorithm", + "title": "Implemente o Algoritmo de Busca em Largura", "intro": [ - "In this workshop, you will use the breadth-first search algorithm to generate all valid combinations of parentheses." + "Neste workshop, você usará o algoritmo de busca em largura para gerar todas as combinações válidas de parênteses." ] }, "lab-depth-first-search-js": { - "title": "Implement the Depth-First Search Algorithm", + "title": "Implemente o Algoritmo de Busca em Profundidade", "intro": [ - "In this lab, you will implement a solution for the depth-first search algorithm." + "Neste laboratório, você implementará uma solução para o algoritmo de busca em profundidade." ] }, "lab-n-queens-problem-js": { - "title": "Implement the N-Queens Problem", + "title": "Implemente o Problema das N Rainhas", "intro": [ - "In this lab, you will implement a solution for the N-Queens problem." + "Neste laboratório, você implementará uma solução para o Problema das N Rainhas." ] }, "review-graphs-and-trees-js": { - "title": "Graphs and Trees Review", + "title": "Revisão de Grafos e Árvores", "intro": [ - "Graphs and Trees Review", - "Before you are quizzed on graphs and trees, you should review what you've learned." + "Revisão de Grafos e Árvores", + "Antes de ser avaliado sobre grafos e árvores, você deve revisar o que aprendeu." ] }, "quiz-graph-and-trees-js": { - "title": "Graphs and Trees Quiz", + "title": "Questionário sobre Grafos e Árvores", "intro": [ - "Graphs and Trees Quiz", - "Test what you've learned about graphs and trees with this quiz." + "Questionário sobre Grafos e Árvores", + "Teste o que você aprendeu sobre grafos e árvores com este questionário." ] }, "lecture-understanding-dynamic-programming-js": { - "title": "Understanding Dynamic Programming", + "title": "Compreendendo Programação Dinâmica", "intro": [ - "In this lesson, you will learn about dynamic programming, an algorithmic technique used to solve complex problems efficiently by breaking them down into simpler subproblems." + "Nesta lição, você aprenderá sobre programação dinâmica, uma técnica algorítmica usada para resolver problemas complexos de forma eficiente, dividindo-os em subproblemas mais simples." ] }, "lab-nth-fibonacci-number-js": { - "title": "Build an Nth Fibonacci Number Calculator", + "title": "Crie um Calculador do enésimo Número de Fibonacci", "intro": [ - "In this lab, you'll practice dynamic programming by implementing a Fibonacci sequence calculator in JavaScript." + "Neste laboratório, você praticará programação dinâmica implementando um calculador de sequência de Fibonacci em JavaScript." ] }, "review-dynamic-programming-js": { - "title": "Dynamic Programming Review", + "title": "Revisão de Programação Dinâmica", "intro": [ - "Before you're quizzed on dynamic programming, you should review what you've learned about it." + "Antes de fazer um questionário sobre programação dinâmica, você deve revisar o que aprendeu sobre o assunto." ] }, "quiz-dynamic-programming-js": { - "title": "Dynamic Programming Quiz", + "title": "Questionário sobre Programação Dinâmica", "intro": [ - "Test what you've learned about dynamic programming in JavaScript with this quiz." + "Teste o que você aprendeu sobre programação dinâmica em JavaScript com este questionário." ] }, "lecture-understanding-functional-programming": { @@ -6188,13 +6220,15 @@ ] }, "lab-bar-chart": { - "title": "Build a Bar Chart", - "intro": ["In this lab you will use d3 to build a bar chart."] + "title": "Crie um Gráfico de Barras", + "intro": [ + "Neste laboratório, você usará d3 para criar um gráfico de barras." + ] }, "lab-scatterplot-graph": { - "title": "Build a Scatterplot Graph", + "title": "Crie um gráfico de dispersão", "intro": [ - "In this lab you will create a d3 scatterplot graph using a provided dataset." + "Neste laboratório você criará um gráfico de dispersão em d3 usando um conjunto de dados fornecido." ] }, "lecture-introduction-to-typescript": { @@ -6203,6 +6237,12 @@ "Nestes cursos, você aprenderá o que é TypeScript e como usá-lo." ] }, + "workshop-type-safe-user-profile": { + "title": "Build a Type Safe User Profile", + "intro": [ + "In this workshop, you will practice working with type annotations, array types, object types and more by building out a user profile." + ] + }, "lecture-understanding-type-composition": { "title": "Compreendendo Composição de Tipos", "intro": [ @@ -6283,7 +6323,7 @@ "lecture-introduction-to-python": { "title": "Introdução ao Python", "intro": [ - "In these lessons, you will learn what Python is and how to set up your development environment." + "Nestas aulas, você aprenderá o que é Python e como configurar o ambiente de Desenvolvimento." ] }, "lecture-understanding-variables-and-data-types": { @@ -6345,7 +6385,7 @@ ] }, "lab-discount-calculator": { - "title": "Build an Apply Discount Function", + "title": "Crie uma função para aplicar desconto", "intro": [ "Neste laboratório, você praticará Python básico criando uma calculadora para aplicar um desconto a um preço." ] @@ -6378,7 +6418,7 @@ "lecture-working-with-loops-and-sequences": { "title": "Trabalhando com Laços e Sequências", "intro": [ - "Learn about working with loops and sequences in these lessons." + "Aprenda sobre Trabalhar com Laços e Sequências nestas lições." ] }, "workshop-pin-extractor": { @@ -6467,7 +6507,7 @@ }, "lecture-classes-and-objects": { "title": "Classes e Objetos", - "intro": ["Learn about classes and objects in these lessons."] + "intro": ["Aprenda sobre Classes e Objetos nestas lições."] }, "workshop-musical-instrument-inventory": { "title": "Crie um Inventário de Instrumentos Musicais", @@ -6509,7 +6549,7 @@ "lecture-understanding-object-oriented-programming-and-encapsulation": { "title": "Compreendendo a Programação Orientada a Objetos e a Encapsulação", "intro": [ - "Learn about understanding object oriented programming and encapsulation in these lessons." + "Aprenda sobre Compreender Programação Orientada a Objetos e Encapsulamento nestas lições." ] }, "workshop-salary-tracker": { @@ -6527,7 +6567,7 @@ "lecture-understanding-inheritance-and-polymorphism": { "title": "Compreendendo Herança e Polimorfismo", "intro": [ - "Learn about understanding inheritance and polymorphism in these lessons." + "Aprenda sobre Compreender Herança e Polimorfismo nessas lições." ] }, "workshop-media-catalogue": { @@ -6538,7 +6578,7 @@ }, "lecture-understanding-abstraction": { "title": "Compreendendo a Abstração", - "intro": ["Learn about understanding abstraction in these lessons."] + "intro": ["Aprenda sobre a Compreensão da Abstração nessas lições."] }, "workshop-discount-calculator": { "title": "Criar uma calculadora de descontos", @@ -6573,7 +6613,7 @@ "lecture-working-with-common-data-structures": { "title": "Trabalhando com Estruturas de Dados Comuns", "intro": [ - "Learn about working with common data structures in these lessons." + "Aprenda sobre Trabalhar com Estruturas de Dados Comuns nessas lições." ] }, "workshop-linked-list-class": { @@ -7129,9 +7169,9 @@ ] }, "quiz-node-js-core-modules": { - "title": "NodeJS Core Modules Quiz", + "title": "Questionário sobre os módulos principais do NodeJS", "intro": [ - "Test what you've learned about Node.js core modules with this quiz." + "Teste o que você aprendeu sobre os módulos principais do Node.js com este questionário." ] }, "lecture-introduction-to-npm": { @@ -7147,12 +7187,14 @@ ] }, "review-npm": { - "title": "NPM Review", - "intro": ["Review npm concepts to prepare for the upcoming quiz."] + "title": "Revisão do npm", + "intro": [ + "Revise conceitos do npm para se preparar para o próximo questionário." + ] }, "quiz-npm": { - "title": "NPM Quiz", - "intro": ["Test what you have learned about npm in this quiz."] + "title": "Questionário sobre o npm", + "intro": ["Teste o que você aprendeu sobre o npm neste questionário."] }, "lecture-understanding-how-http-dns-tcpip-work": { "title": "Entendendo como HTTP, DNS e TCP/IP funcionam", @@ -7167,15 +7209,15 @@ ] }, "lecture-understanding-rest-api-and-web-services": { - "title": "Understanding the REST API and Web Services", + "title": "Compreendendo REST APIs e Web Services", "intro": [ - "In these lessons, you will learn about REST APIs and web services, and how they allow different applications to communicate with each other over the internet." + "Nessas aulas, você aprenderá sobre REST APIs e web services, e como eles permitem que diferentes aplicações se comuniquem entre si através da internet." ] }, "lecture-working-with-express": { - "title": "Working with Express", + "title": "Trabalhando com Express", "intro": [ - "In these lessons, you will learn what Express.js is, why developers use it for building web servers and APIs, and how to set up a basic Express application with routes and request handling." + "Nestas aulas, você aprenderá o que é Express.js, por que desenvolvedores o usam para construir servidores web e APIs, e como configurar uma aplicação Express básica com rotas e tratamento de requisições." ] }, "exam-back-end-development-and-apis-certification": { @@ -7216,7 +7258,7 @@ } }, "html-forms-and-tables": { - "title": "Learn HTML Forms and Tables", + "title": "Formulários e Tabelas", "summary": [ "Aprenda a construir formulários acessíveis e tabelas de dados com HTML semântico." ], @@ -7264,10 +7306,10 @@ ] }, "lab-survey-form": { - "title": "Build a Survey Form", + "title": "Crie um Formulário de Pesquisa", "intro": [ - "In this lab, you'll review HTML forms by creating a survey form.", - "You'll practice working with the label element, the different input elements, the required attribute, and more. " + "Neste laboratório, você revisará formulários HTML criando um formulário de pesquisa.", + "Você praticará o trabalho com o elemento label, os diferentes elementos input, o atributo required e mais " ] }, "review-html-tables-and-forms": { @@ -7680,10 +7722,10 @@ ] }, "workshop-html-music-player": { - "title": "Build an HTML Music Player", + "title": "Crie um reprodutor de música em HTML", "intro": [ - "In this workshop, you'll use HTML to create a basic music player.", - "This project will cover the audio element, the audio player setup, and more." + "Neste workshop, você usará o HTML para criar um reprodutor de música básico.", + "Este projeto tratará do elemento audio, da configuração do reprodutor de áudio e muito mais." ] }, "workshop-html-video-player": { @@ -8286,9 +8328,9 @@ ] }, "workshop-colorful-boxes": { - "title": "Design a Set of Colorful Boxes", + "title": "Projete um Conjunto de Caixas Coloridas", "intro": [ - "In this workshop, you will practice working with CSS flexbox by designing a set of colored boxes." + "Neste workshop, você praticará trabalhando com CSS flexbox criando um conjunto de caixas coloridas." ] }, "lab-pricing-plans-layout": { @@ -8669,7 +8711,7 @@ "zh-a1-chapter-welcome-to-a1-professional-chinese": "Bem-vindo ao Chinês Profissional A1", "zh-a1-chapter-pinyin": "Pinyin", "zh-a1-chapter-greetings-and-introductions": "Saudações e Apresentações", - "zh-a1-chapter-numbers-and-personal-information": "Numbers and Personal Information", + "zh-a1-chapter-numbers-and-personal-information": "Números e Informações Pessoais", "zh-a1-chapter-expressing-what-you-can-and-cant-do": "Expressando o que você pode e não pode fazer" }, "modules": { @@ -8677,8 +8719,8 @@ "zh-a1-module-initials-and-finals": "Iniciais e Finais", "zh-a1-module-greetings-and-basic-introductions": "Saudações e Introduções Básicas", "zh-a1-module-asking-and-giving-basic-information": "Perguntando e Dando Informações Básicas", - "zh-a1-module-numbers-below-100": "Numbers below 100", - "zh-a1-module-communicating-personal-information": "Communicating Personal Information", + "zh-a1-module-numbers-below-100": "Números abaixo de 100", + "zh-a1-module-communicating-personal-information": "Comunicando Informações Pessoais", "zh-a1-module-talking-about-personal-skills": "Falando sobre Habilidades Pessoais", "zh-a1-module-discussing-team-skills": "Discutindo Habilidades da Equipe" }, @@ -8870,46 +8912,46 @@ "intro": ["", ""] }, "zh-a1-learn-numbers-0-to-10": { - "title": "Numbers 0 to 10", + "title": "Números 0 a 10", "intro": ["", ""] }, "zh-a1-practice-numbers-0-to-10": { - "title": "Numbers 0 to 10 Practice", + "title": "Prática de Números 0 a 10", "intro": ["", ""] }, "zh-a1-learn-numbers-11-to-19": { - "title": "Numbers 11 to 19", + "title": "Números 11 a 19", "intro": ["", ""] }, "zh-a1-practice-numbers-11-to-19": { - "title": "Numbers 11 to 19 Practice", + "title": "Prática de Números 11 a 19", "intro": ["", ""] }, "zh-a1-learn-numbers-20-to-99": { - "title": "Numbers 20 to 99", + "title": "Números 20 a 99", "intro": ["", ""] }, "zh-a1-practice-numbers-20-to-99": { - "title": "Numbers 20 to 99 Practice", + "title": "Prática de Números 20 a 99", "intro": ["", ""] }, "zh-a1-review-numbers-below-100": { - "title": "Numbers below 100 Review", + "title": "Revisão de Números abaixo de 100", "intro": ["", ""] }, "zh-a1-quiz-numbers-below-100": { - "title": "Numbers below 100 Quiz", + "title": "Quiz de Números abaixo de 100", "intro": ["", ""] } } }, "basic-html": { - "title": "Learn Basic HTML", + "title": "HTML Básico", "summary": [ "Aprenda a construir páginas web simples usando tags HTML para adicionar textos, imagens e links." ], "intro": [ - "HTML stands for HyperText Markup Language and represents the content and structure for a web page. In this course, you will learn the basics of writing HTML." + "HTML significa HyperText Markup Language e representa o conteúdo e a estrutura de uma página web. Neste curso, você aprenderá o básico de escrever HTML." ], "blocks": { "workshop-curriculum-outline": { @@ -9055,12 +9097,12 @@ } }, "semantic-html": { - "title": "Learn Semantic HTML", + "title": "HTML Semântico", "summary": [ "Descubra como escrever HTML mais limpo e significativo usando tags semânticas que melhoram a estrutura, a acessibilidade e o SEO." ], "intro": [ - "In this interactive course, you will practice writing semantic HTML." + "Neste curso interativo, você praticará escrever HTML semântico." ], "blocks": { "lecture-importance-of-semantic-html": { @@ -9128,7 +9170,7 @@ } }, "html-and-accessibility": { - "title": "Learn HTML and Accessibility", + "title": "Aprenda HTML e Acessibilidade", "summary": [ "Aprenda a escrever HTML inclusivo usando práticas recomendadas de acessibilidade e ARIA." ], @@ -9222,7 +9264,7 @@ } }, "computer-basics": { - "title": "Learn Computer Basics", + "title": "Noções Básicas de Computador", "summary": [ "Construa uma base em fundamentos do computador, internet e ferramentas para desenvolvimento web." ], @@ -9264,7 +9306,7 @@ } }, "basic-css": { - "title": "Learn Basic CSS", + "title": "CSS Básico", "summary": [ "Aprenda conceitos centrais de CSS e comece a estilizar layouts do mundo real." ], @@ -9351,7 +9393,7 @@ } }, "design-for-developers": { - "title": "Introduction to UI/UX Design", + "title": "Introdução ao Design de UI/UX", "summary": [ "Explore fundamentos de design de UI e princípios de design centrado no usuário para desenvolvedores." ], @@ -9393,7 +9435,7 @@ } }, "absolute-and-relative-units": { - "title": "Learn Absolute and Relative Units in CSS", + "title": "Aprenda Unidades Absolutas e Relativas em CSS", "summary": [ "Entenda quando usar unidades CSS absolutas e relativas para construir layouts flexíveis." ], @@ -9430,7 +9472,7 @@ } }, "pseudo-classes-and-elements": { - "title": "Learn CSS Pseudo Classes and Elements", + "title": "Pseudoclasses e Pseudoelementos", "summary": [ "Use pseudoclasses e pseudoelementos para criar estilos mais ricos e interativos." ], @@ -9481,7 +9523,7 @@ } }, "css-colors": { - "title": "Learn CSS Colors", + "title": "Aprenda sobre cores em CSS.", "summary": [ "Trabalhe com formatos de cor no CSS e construa paletas coesas." ], @@ -9521,7 +9563,7 @@ } }, "styling-forms": { - "title": "Learn How to Style Forms Using CSS", + "title": "Aprenda como estilizar formulários usando CSS", "summary": [ "Aplique técnicas de CSS para criar layouts de formulários limpos e utilizáveis." ], @@ -9576,7 +9618,7 @@ } }, "css-box-model": { - "title": "Learn the CSS Box Model", + "title": "Aprenda o Modelo de Caixa do CSS", "summary": [ "Domine o modelo de caixa CSS, espaçamento e efeitos de layout para designs precisos." ], @@ -9619,7 +9661,7 @@ } }, "css-flexbox": { - "title": "Learn CSS Flexbox", + "title": "Aprenda CSS Flexbox", "summary": [ "Crie layouts responsivos usando o modelo Flexbox e ferramentas de alinhamento." ], @@ -9645,10 +9687,10 @@ ] }, "lab-page-of-playing-cards": { - "title": "Build a Page of Playing Cards", + "title": "Crie uma página de jogos de cartas", "intro": [ - "In this lab, you'll use flexbox to create a webpage of playing cards.", - "You'll practice aligning elements using flexbox properties like flex-direction, justify-content, align-self, and more." + "Neste laboratório, você usará flexbox para criar uma página da web de cartas de baralho.", + "Você praticará o alinhamento de elementos usando propriedades de flexbox como flex-direction, justify-content, align-self e mais." ] }, "review-css-flexbox": { @@ -9667,7 +9709,7 @@ } }, "css-typography": { - "title": "Learn CSS Typography", + "title": "Aprenda Tipografia em CSS", "summary": [ "Aprenda a estilizar texto para legibilidade, hierarquia e equilíbrio visual." ], @@ -9709,7 +9751,7 @@ } }, "css-and-accessibility": { - "title": "Learn CSS and Accessibility", + "title": "Aprenda CSS e Acessibilidade", "summary": [ "Aplique técnicas de CSS que suportem interfaces acessíveis e inclusivas." ], @@ -9752,7 +9794,7 @@ } }, "css-positioning": { - "title": "Learn CSS Positioning", + "title": "Aprenda Posicionamento em CSS", "summary": [ "Use posicionamento e floats para controlar layout e fluxo de elementos." ], @@ -9796,7 +9838,7 @@ } }, "attribute-selectors": { - "title": "Learn CSS Attribute Selectors", + "title": "Aprenda Seletores de Atributo em CSS", "summary": [ "Alvo elementos com precisão usando seletores de atributo do CSS." ], @@ -9815,10 +9857,10 @@ ] }, "lab-book-inventory-app": { - "title": "Build a Book Inventory App", + "title": "Crie uma aplicação de inventário de livros", "intro": [ - "In this lab, you'll create a book inventory app.", - "You'll practice CSS attribute selectors like [attribute], [attribute=value], [attribute~=value], and more." + "Neste laboratório, você criará uma aplicação de inventário de livros.", + "Você praticará seletores de atributos CSS como [attribute], [attribute=value], [attribute~=value] e mais." ] }, "review-css-attribute-selectors": { @@ -9837,7 +9879,7 @@ } }, "responsive-design": { - "title": "Learn Responsive Design", + "title": "Aprenda Design Responsivo", "summary": [ "Aprenda princípios de design responsivo e construa layouts que se adaptam a qualquer tela." ], @@ -9859,10 +9901,10 @@ ] }, "lab-technical-documentation-page": { - "title": "Build a Technical Documentation Page", + "title": "Crie uma página de documentação técnica", "intro": [ - "In this lab, you'll build a technical documentation page to serve as instruction or reference for a topic.", - "You'll also practice media queries to create a responsive design." + "Neste laboratório, você criará uma página de documentação técnica para servir como instrução ou referência para um tópico.", + "Você também praticará media queries para criar um design responsivo." ] }, "review-responsive-web-design": { @@ -9881,7 +9923,7 @@ } }, "css-variables": { - "title": "Learn CSS Variables", + "title": "Aprenda Variáveis CSS", "summary": [ "Use variáveis CSS para construir estilos reutilizáveis e amigáveis a temas." ], @@ -9925,7 +9967,7 @@ } }, "css-grid": { - "title": "Learn CSS Grid", + "title": "Aprenda CSS Grid", "summary": ["Projete layouts complexos usando o sistema CSS Grid."], "intro": ["Construa layouts multidimensionais com CSS Grid."], "blocks": { @@ -9955,9 +9997,9 @@ ] }, "lab-product-landing-page": { - "title": "Build a Product Landing Page", + "title": "Crie uma Página de Produto", "intro": [ - "In this project, you'll build a product landing page to market a product of your choice." + "Neste projeto, você criará uma página de produto para comercializar um produto escolhido por você." ] }, "review-css-grid": { @@ -9976,7 +10018,7 @@ } }, "css-animations": { - "title": "Learn CSS Animations", + "title": "Aprenda Animações em CSS", "summary": [ "Crie movimento de UI envolvente com animações CSS acessíveis." ], @@ -10053,9 +10095,9 @@ "intro": ["Uma boa introdução será adicionada aqui."], "blocks": { "workshop-blog-page": { - "title": "Build a Cat Blog Page", + "title": "Crie uma Página de Blog de Gatos", "intro": [ - "In this workshop, you will build an HTML only blog page using semantic elements including the main, nav, article and footer elements." + "Neste workshop, você criará uma página de blog apenas em HTML usando elementos semânticos, incluindo os elementos main, nav, article e footer." ] } }, diff --git a/client/i18n/locales/portuguese/translations.json b/client/i18n/locales/portuguese/translations.json index 5b104f8a4d6..254be0b7775 100644 --- a/client/i18n/locales/portuguese/translations.json +++ b/client/i18n/locales/portuguese/translations.json @@ -29,7 +29,7 @@ "sign-in": "Iniciar sessão", "sign-up-email-list": "Inscreva-se para receber o e-mail semanal do Quincy", "sign-out": "Encerrar sessão", - "catalog": "Catalog", + "catalog": "Catálogo", "curriculum": "Currículo", "contribute": "Contribua", "podcast": "Podcast", @@ -66,6 +66,7 @@ "command-enter": "⌘ + Enter", "ctrl-enter": "Ctrl + Enter", "reset": "Redefinir", + "ask-socrates": "Ask Socrates (beta)", "reset-step": "Reiniciar este passo", "help": "Ajuda", "get-help": "Obter ajuda", @@ -117,7 +118,7 @@ "share-on-x": "Compartilhar no X", "share-on-bluesky": "Compartilhar no BlueSky", "share-on-threads": "Compartilhe no Threads", - "share-on-facebook": "Share on Facebook", + "share-on-facebook": "Compartilhar no Facebook", "play-scene": "Aperte para começar", "download-latest-version": "Baixe a versão mais recente", "more-ways-to-sign-in": "Mais maneiras de fazer login", @@ -381,6 +382,10 @@ "confirm": "Confirmar novo e-mail", "weekly": "Envie-me o e-mail semanal do Quincy" }, + "socrates": { + "p1": "Socrates", + "p2": "Offers tailored hints based on your input in workshops. You can turn this off at any time." + }, "honesty": { "p1": "Antes de poder reivindicar uma certificação verificada, você deve aceitar o nosso Juramento de Honestidade Acadêmica, que diz o seguinte:", "p2": "\"Eu entendo que plágio significa copiar o trabalho de outra pessoa e apresentá-lo como se fosse meu, sem atribuí-lo claramente ao autor original.\"", @@ -444,7 +449,7 @@ "edit-my-profile": "Editar meu perfil", "add-bluesky": "Compartilhar esta certificação no BlueSky", "add-threads": "Compartilhar esta certificação no Threads", - "add-facebook": "Share this certification on Facebook", + "add-facebook": "Compartilhar esta certificação no Facebook", "experience": { "heading": "Experiência", "share-experience": "Compartilhe a experiência profissional", @@ -533,6 +538,18 @@ "syntax-error": "Seu código gerou um erro antes que qualquer teste possa ser executado. Corrija-o e tente novamente.", "indentation-error": "Seu código tem um erro de indentação. Você pode precisar adicionar pass em uma nova linha para formar um bloco de código válido.", "sign-in-save": "Faça o login para salvar seu progresso", + "hints-used-today": "hints used today", + "socrates-not-enabled": "Socrates is not enabled for your account.", + "socrates-check-code-first": "Check your code before asking Socrates for a hint.", + "socrates-code-passes": "Congratulations, your code passes! Press submit and continue to the next challenge.", + "socrates-write-code-first": "Please write some code before asking Socrates for a hint.", + "socrates-generic-error": "Something went wrong while asking Socrates. Please try again.", + "socrates-no-access": "You do not have access to Socrates.", + "socrates-daily-limit": "You have reached the daily hint limit. Please try again tomorrow.", + "socrates-rate-limit": "You have reached the hint limit. Please wait a moment before trying again.", + "socrates-unable-to-generate": "Socrates was unable to generate a hint. Please try again.", + "socrates-unavailable": "Socrates is temporarily unavailable. Please try again later.", + "socrates-invalid-request": "Something went wrong with your request. Please try again.", "download-solution": "Baixar minha solução", "download-results": "Baixar meus resultados", "percent-complete": "{{percent}}% completo", @@ -863,11 +880,11 @@ "current-initiatives-2": "Criar currículo de inglês e de matemática", "current-initiatives-3": "Traduzir nosso currículo e tutoriais para 32 idiomas", "current-initiatives-4": "Criar uma graduação em ciência da computação reconhecida e gratuita", - "community-achievements-title": "Our Community Achievements This Year:", - "community-achievements-1": "Published <0>193 full-length courses on YouTube.", - "community-achievements-2": "Published <0>850 text-based coding tutorials and <0>5 free books through freeCodeCamp Press.", - "community-achievements-3": "Merged <0>2,455 code contributions into our open source repositories on GitHub", - "community-achievements-4": "Translated <0>1.5 million words to make our curriculum and tutorials more accessible to speakers of many world languages", + "community-achievements-title": "Conquistas da nossa comunidade neste ano:", + "community-achievements-1": "Publicamos <0>193 cursos completos no YouTube.", + "community-achievements-2": "Publicamos <0>850 tutoriais de programação baseados em texto e <0>5 livros gratuitos através do editorial do freeCodeCamp.", + "community-achievements-3": "Mesclamos <0>2.455 contribuições de código em nossos repositórios de código aberto no GitHub", + "community-achievements-4": "Traduzimos <0>1,5 milhão de palavras para tornar nosso currículo e tutoriais mais acessíveis aos falantes de muitos idiomas do mundo", "as-you-see": "Como você pode ver, estamos fazendo acontecer. Então, você pode ter a certeza de que usaremos suas doações de maneira correta.", "get-benefits": "Obtenha os benefícios e o conhecimento de que você está ajudando a nossa instituição beneficente a mudar a educação para melhor. Torne-se um apoiador hoje.", "modal-benefits-title": "Apoie-nos", @@ -899,8 +916,8 @@ "search": { "label": "Pesquisar", "placeholder": { - "default": "Pesquisar em nossos artigos de notícias, tutoriais e livros", - "numbered": "Pesquise {{ roundedTotalRecords }}+ artigos de notícias, tutoriais e livros" + "default": "Search our books and courses", + "numbered": "Search {{ roundedTotalRecords }}+ of our books and courses" }, "see-results": "Ver todos os resultados para {{searchQuery}}", "try": "Procurando algo? Tente a barra de pesquisa nesta página.", @@ -916,7 +933,7 @@ "unsubscribed": "Sua assinatura foi cancelada com sucesso", "keep-coding": "Seja o que for, continue programando!", "email-signup": "Inscrição via e-mail", - "email-signup-not-signed-in": "Sign in to adjust your newsletter preferences.", + "email-signup-not-signed-in": "Faça login para ajustar as preferências da newsletter.", "brand-new-account": "Boas-vindas à sua nova conta freeCodeCamp. Vamos começar.", "duplicate-account-warning": "Se você pretende entrar em uma conta existente ao invés de criar esta conta, <0>clique aqui para excluir esta conta e tente outro endereço de e-mail.", "quincy": "- Quincy Larson, o professor que fundou o freeCodeCamp.org", @@ -948,12 +965,12 @@ "or": "OU" }, "mobile-app-modal": { - "heading": "We see you are on mobile!", - "body": "This course is available in our app for a better experience.", - "ios": "Download on the App Store", - "android": "Get it on Google Play", - "open-app": "Open in App", - "do-not-show": "Do not show me again" + "heading": "Detectamos que você está em um dispositivo móvel!", + "body": "Este curso está disponível em nosso aplicativo para uma experiência melhor.", + "ios": "Baixar na App Store", + "android": "Obter no Google Play", + "open-app": "Abrir no aplicativo", + "do-not-show": "Não mostrar novamente" }, "icons": { "gold-cup": "Taça de ouro", @@ -982,7 +999,7 @@ "github": "Link para o GitHub de {{username}}", "website": "Link para o site de {{username}}", "twitter": "Link para o X de {{username}}", - "bluesky": "Link to {{username}}'s Bluesky", + "bluesky": "Link para o Bluesky de {{username}}", "next-month": "Ir ao próximo mês", "previous-month": "Ir ao mês anterior", "first-page": "Ir para a primeira página", @@ -1037,6 +1054,7 @@ "updated-themes": "Atualizamos seu tema", "keyboard-shortcut-updated": "Atualizamos suas configurações de atalhos de teclado", "subscribe-to-quincy-updated": "Atualizamos sua assinatura da newsletter do Quincy", + "socrates-updated": "We have updated your Socrates settings", "portfolio-item-updated": "Atualizamos seu portfólio", "experience-updated": "Atualizamos a experiência", "email-invalid": "Formato de e-mail inválido", @@ -1293,10 +1311,10 @@ "learn-rag-mcp-fundamentals": "Aprenda os Fundamentos de RAG e MCP", "introduction-to-precalculus": "Introdução ao Pré-cálculo", "learn-oop-with-python": "Aprenda POO com Python", - "a2-english-for-developers": "A2 English for Developers (Beta)", + "a2-english-for-developers": "A2 Inglês para Desenvolvedores (Beta)", "a2-english-for-developers-cert": "Certificação de Inglês A2 para Desenvolvedores (Beta)", - "b1-english-for-developers": "B1 English for Developers (Beta)", - "b1-english-for-developers-cert": "B1 English for Developers Certification (Beta)", + "b1-english-for-developers": "B1 Inglês para Desenvolvedores (Beta)", + "b1-english-for-developers-cert": "Certificação B1 de Inglês para Desenvolvedores (Beta)", "responsive-web-design-v9": "Design responsivo para a web", "responsive-web-design-v9-cert": "Certificação de Design responsivo para a web", "javascript-v9": "JavaScript", @@ -1502,7 +1520,7 @@ "intermediate": "Intermediário", "advanced": "Avançado" }, - "duration-singular": "{{duration}} hour", + "duration-singular": "{{duration}} hora", "duration": "{{duration}} horas", "no-results": "Nenhum curso encontrado. Tente ajustar os filtros para ver mais resultados.", "topic": { diff --git a/client/i18n/locales/swahili/intro.json b/client/i18n/locales/swahili/intro.json index e0102ad2e6d..97a10d81a3f 100644 --- a/client/i18n/locales/swahili/intro.json +++ b/client/i18n/locales/swahili/intro.json @@ -6181,6 +6181,12 @@ "In these lessons, you will learn what TypeScript is and how to use it." ] }, + "workshop-type-safe-user-profile": { + "title": "Build a Type Safe User Profile", + "intro": [ + "In this workshop, you will practice working with type annotations, array types, object types and more by building out a user profile." + ] + }, "lecture-understanding-type-composition": { "title": "Understanding Type Composition", "intro": [ diff --git a/client/i18n/locales/swahili/translations.json b/client/i18n/locales/swahili/translations.json index 5d9bd89c0ae..dd9c732a074 100644 --- a/client/i18n/locales/swahili/translations.json +++ b/client/i18n/locales/swahili/translations.json @@ -66,6 +66,7 @@ "command-enter": "⌘ + Enter", "ctrl-enter": "Ctrl + Enter", "reset": "Anzisha Upya", + "ask-socrates": "Ask Socrates (beta)", "reset-step": "Weka Upya Hatua Hii", "help": "Msaada", "get-help": "Pata msaada", @@ -381,6 +382,10 @@ "confirm": "Thibitisha Barua pepe Mpya", "weekly": "Nitumie barua pepe ya kila wiki ya Quincy" }, + "socrates": { + "p1": "Socrates", + "p2": "Offers tailored hints based on your input in workshops. You can turn this off at any time." + }, "honesty": { "p1": "Kabla ya kudai cheti kilichothibitishwa, ni lazima ukubali Ahadi yetu ya Uaminifu ya Kiakademia, ambayo inasomeka:", "p2": "\"Ninaelewa kuwa wizi wa maandishi unamaanisha kunakili kazi ya mtu mwingine na kuwasilisha kazi hiyo kana kwamba ni yangu mwenyewe, bila kuhusisha waziwazi mwandishi asilia.\"", @@ -533,6 +538,18 @@ "syntax-error": "Your code raised an error before any tests could run. Please fix it and try again.", "indentation-error": "Your code has an indentation error. You may need to add pass on a new line to form a valid block of code.", "sign-in-save": "Ingia katika akaunti ili kuhifadhi maendeleo yako", + "hints-used-today": "hints used today", + "socrates-not-enabled": "Socrates is not enabled for your account.", + "socrates-check-code-first": "Check your code before asking Socrates for a hint.", + "socrates-code-passes": "Congratulations, your code passes! Press submit and continue to the next challenge.", + "socrates-write-code-first": "Please write some code before asking Socrates for a hint.", + "socrates-generic-error": "Something went wrong while asking Socrates. Please try again.", + "socrates-no-access": "You do not have access to Socrates.", + "socrates-daily-limit": "You have reached the daily hint limit. Please try again tomorrow.", + "socrates-rate-limit": "You have reached the hint limit. Please wait a moment before trying again.", + "socrates-unable-to-generate": "Socrates was unable to generate a hint. Please try again.", + "socrates-unavailable": "Socrates is temporarily unavailable. Please try again later.", + "socrates-invalid-request": "Something went wrong with your request. Please try again.", "download-solution": "Pakua suluhisho langu", "download-results": "Pakua matokeo yangu", "percent-complete": "Imekamilika {{percent}}%", @@ -899,8 +916,8 @@ "search": { "label": "Tafuta", "placeholder": { - "default": "Search our news articles, tutorials, and books", - "numbered": "Search {{ roundedTotalRecords }}+ news articles, tutorials, and books" + "default": "Search our books and courses", + "numbered": "Search {{ roundedTotalRecords }}+ of our books and courses" }, "see-results": "Tazama matokeo yote ya {{searchQuery}}", "try": "Unatafuta kitu? Jaribu upau wa kutafutia kwenye ukurasa huu.", @@ -1037,6 +1054,7 @@ "updated-themes": "Tumesasisha mandhari yako", "keyboard-shortcut-updated": "Tumesasisha mipangilio yako ya mikato ya kibodi", "subscribe-to-quincy-updated": "Tumesasisha usajili wako kwa barua pepe ya Quincy", + "socrates-updated": "We have updated your Socrates settings", "portfolio-item-updated": "Tumesasisha portfolio yako", "experience-updated": "We have updated your experience", "email-invalid": "Umbizo la barua pepe si sahihi", diff --git a/client/i18n/locales/ukrainian/intro.json b/client/i18n/locales/ukrainian/intro.json index 14eb66c41ec..17df4f34d03 100644 --- a/client/i18n/locales/ukrainian/intro.json +++ b/client/i18n/locales/ukrainian/intro.json @@ -6175,6 +6175,12 @@ "У цих лекціях ви дізнаєтесь про TypeScript і як його використовувати." ] }, + "workshop-type-safe-user-profile": { + "title": "Створіть типобезпечний профіль користувача", + "intro": [ + "У цьому практичному занятті ви будете працювати з анотаціями типів, типами масивів і типами об’єктів, щоб створити профіль користувача." + ] + }, "lecture-understanding-type-composition": { "title": "Знайомство з композицією", "intro": [ diff --git a/client/i18n/locales/ukrainian/translations.json b/client/i18n/locales/ukrainian/translations.json index 8fc93d798cc..bf9bafffcc9 100644 --- a/client/i18n/locales/ukrainian/translations.json +++ b/client/i18n/locales/ukrainian/translations.json @@ -66,6 +66,7 @@ "command-enter": "⌘ + Enter", "ctrl-enter": "Ctrl + Enter", "reset": "Скинути", + "ask-socrates": "Запитати Сократа (бета)", "reset-step": "Скинути цей крок", "help": "Допомога", "get-help": "Отримати допомогу", @@ -381,6 +382,10 @@ "confirm": "Підтвердіть нову адресу електронної пошти", "weekly": "Надсилати мені щотижневу розсилку від Квінсі" }, + "socrates": { + "p1": "Сократ", + "p2": "Отримуйте індивідуальні підказки при виконанні практичних занять. Сократа можна вимкнути в будь-який момент." + }, "honesty": { "p1": "Перш ніж ви зможете претендувати на підтверджену сертифікацію, ви повинні прийняти Обітницю академічної доброчесності, яка свідчить про те, що:", "p2": "«Я розумію, що плагіат означає копіювання чужої роботи та оприлюднення її під своїм іменем без належного посилання на оригінального автора.»", @@ -533,6 +538,18 @@ "syntax-error": "У коді виникла помилка ще до того, як запустились тести. Будь ласка, виправте це і спробуйте знову.", "indentation-error": "У коді наявна помилка відступів. Спробуйте додати pass в новому рядку, щоб утворити дійсний блок коду.", "sign-in-save": "Увійдіть, щоб зберегти свій прогрес", + "hints-used-today": "Використано підказок:", + "socrates-not-enabled": "Сократ не підключений до вашого облікового запису.", + "socrates-check-code-first": "Перевірте код, перш ніж просити підказку в Сократа.", + "socrates-code-passes": "Вітаємо, код працює! Натисніть «Надіслати і продовжити», щоб перейти до наступного завдання.", + "socrates-write-code-first": "Напишіть код, перш ніж просити підказку в Сократа.", + "socrates-generic-error": "Із Сократом виникла проблема. Спробуйте ще раз.", + "socrates-no-access": "У вас немає доступу до Сократа.", + "socrates-daily-limit": "Ви досягли денного ліміту підказок. Спробуйте завтра.", + "socrates-rate-limit": "Ви досягли ліміту підказок. Зачекайте, перш ніж спробувати знову.", + "socrates-unable-to-generate": "Сократ не зміг згенерувати підказку. Спробуйте ще раз.", + "socrates-unavailable": "Сократ тимчасово недоступний. Повторіть спробу пізніше.", + "socrates-invalid-request": "З вашим запитом виникла проблема. Спробуйте ще раз.", "download-solution": "Завантажити розв’язок", "download-results": "Завантажити результати", "percent-complete": "виконано {{percent}}%", @@ -899,8 +916,8 @@ "search": { "label": "Пошук", "placeholder": { - "default": "Шукати серед статей, підручників і книг", - "numbered": "Шукати серед {{ roundedTotalRecords }}+ статей, підручників і книг" + "default": "Шукати серед книг і курсів", + "numbered": "Шукати серед {{ roundedTotalRecords }}+ книг і курсів" }, "see-results": "Переглянути всі результати для {{searchQuery}}", "try": "Шукаєте щось? Спробуйте пошуковий рядок на цій сторінці.", @@ -1037,6 +1054,7 @@ "updated-themes": "Вашу тему оновлено", "keyboard-shortcut-updated": "Ваші налаштування клавіатурних скорочень оновлено", "subscribe-to-quincy-updated": "Вашу підписку на розсилку від Квінсі оновлено", + "socrates-updated": "Ваші налаштування Сократа оновлено", "portfolio-item-updated": "Ваше портфоліо оновлено", "experience-updated": "Ваш досвід оновлено", "email-invalid": "Неприпустимий формат адреси електронної пошти",