diff --git a/client/i18n/locales/chinese-traditional/intro.json b/client/i18n/locales/chinese-traditional/intro.json
index 30dcd3352ca..f79b12e42eb 100644
--- a/client/i18n/locales/chinese-traditional/intro.json
+++ b/client/i18n/locales/chinese-traditional/intro.json
@@ -1278,7 +1278,7 @@
]
},
"top-build-a-rock-paper-scissors-game": {
- "title": "Build a Rock Paper Scissor Game",
+ "title": "Build a Rock Paper Scissors Game",
"intro": [
"Put your JavaScript skills to the test by building a Rock Paper Scissors game."
]
@@ -2971,6 +2971,12 @@
"In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
+ "lab-slice-and-splice": {
+ "title": "Implement the Slice and Splice Algorithm",
+ "intro": [
+ "In this lab, you will practice merging an array with another."
+ ]
+ },
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
"intro": [
@@ -3100,7 +3106,7 @@
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.",
"You'll practice click events and toggling classes."
]
},
@@ -3555,7 +3561,7 @@
"workshop-toggle-text-app": {
"title": "Toggle Text App",
"intro": [
- "In this workshop, you will continute to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
+ "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
]
},
"lab-color-picker": {
@@ -3574,7 +3580,7 @@
"workshop-fruit-search-app": {
"title": "Build a Fruit Search App",
"intro": [
- "In this workshop, you will continute to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
+ "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
]
},
"vjgg": {
@@ -3801,7 +3807,9 @@
},
"lecture-working-with-loops-and-sequences": {
"title": "Working with Loops and Sequences",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Loops and Sequences in these lectures."
+ ]
},
"workshop-placeholder-loops-and-sequences": {
"title": "Placeholder - Waiting for title",
@@ -3826,11 +3834,13 @@
},
"lecture-working-with-dictionaries-and-sets": {
"title": "Working with Dictionaries and Sets",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Dictionaries and Sets in these lectures."
+ ]
},
"lecture-working-with-modules": {
"title": "Working with Modules",
- "intro": [""]
+ "intro": ["Learn about Working with Modules in these lectures."]
},
"workshop-placeholder-dictionaries-and-sets": {
"title": "Placeholder - waiting for title",
@@ -3855,7 +3865,7 @@
},
"lecture-understanding-error-handling": {
"title": "Understanding Error Handling",
- "intro": [""]
+ "intro": ["Learn about Understanding Error Handling in these lectures."]
},
"lab-isbn-validator": {
"title": "Debug a ISBN Validator",
@@ -3876,7 +3886,7 @@
},
"lecture-classes-and-objects": {
"title": "Classes and Objects",
- "intro": [""]
+ "intro": ["Learn about Classes and Objects in these lectures."]
},
"workshop-placeholder-classes-and-objects": {
"title": "Placeholder - waiting for title",
@@ -3903,7 +3913,9 @@
},
"lecture-understanding-object-oriented-programming-and-encapsulation": {
"title": "Understanding Object Oriented Programming and Encapsulation",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Object Oriented Programming and Encapsulation in these lectures."
+ ]
},
"workshop-placeholder-oop-1": {
"title": "Placeholder - Waiting for title",
@@ -3915,7 +3927,9 @@
},
"lecture-understanding-inheritance-and-polymorphism": {
"title": "Understanding Inheritance and polymorphism",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Inheritance and polymorphism in these lectures."
+ ]
},
"workshop-placeholder-oop-2": {
"title": "Placeholder - Waiting for title",
@@ -3929,7 +3943,7 @@
},
"lecture-understanding-abstraction": {
"title": "Understanding abstraction",
- "intro": [""]
+ "intro": ["Learn about Understanding abstraction in these lectures."]
},
"workshop-placeholder-oop-3": {
"title": "Placeholder - Waiting for title",
@@ -3953,8 +3967,10 @@
]
},
"lecture-working-with-common-data-structures": {
- "title": "Working with common data structures",
- "intro": [""]
+ "title": "Working with Common Data Structures",
+ "intro": [
+ "Learn about Working with Common Data Structures in these lectures."
+ ]
},
"workshop-linked-list-class": {
"title": "Build a Linked List Class",
@@ -3982,7 +3998,9 @@
},
"lecture-searching-and-sorting-algorithms": {
"title": "Searching and Sorting Algorithms",
- "intro": [""]
+ "intro": [
+ "Learn about Searching and Sorting Algorithms in these lectures."
+ ]
},
"workshop-binary-search": {
"title": "Build a Binary Search",
@@ -3993,8 +4011,11 @@
"intro": [""]
},
"workshop-merge-sort": {
- "title": "Build a Merge Sort",
- "intro": [""]
+ "title": "Implement the Merge Sort Algorithm",
+ "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."
+ ]
},
"lab-quick-sort": {
"title": "Build a Quick Sort",
@@ -4025,7 +4046,9 @@
},
"lecture-understanding-graphs-and-trees": {
"title": "Understanding Graphs and Trees",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Graphs and Trees in these lectures."
+ ]
},
"workshop-shortest-path-algorithm": {
"title": "Build a Shortest Path Algorithm",
@@ -4058,7 +4081,9 @@
},
"lecture-understanding-dynamic-programming": {
"title": "Understanding Dynamic Programming",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Dynamic Programming in these lectures."
+ ]
},
"lab-nth-fibonacci-number": {
"title": "Build an Nth Fibonacci Number Calculator",
@@ -4282,6 +4307,39 @@
}
}
},
+ "a2-professional-chinese": {
+ "title": "A2 Professional Chinese Certification (Beta)",
+ "note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
+ "intro": ["Placeholder intro"],
+ "blocks": {
+ "talk-about-what-you-do-by-using-key-verbs": {
+ "title": "Talk About What You Do by Using Key Verbs",
+ "intro": [
+ "Learn how to introduce yourself in Chinese in a simple and professional way. In this module you'll learn how to say who you are, where you are from, what you do, how you feel, and what you like or don't like."
+ ]
+ },
+ "get-to-know-colleagues-by-asking-simple-questions": {
+ "title": "Get to Know Colleagues by Asking Simple Questions",
+ "intro": [
+ "Learn how to ask and answer questions in simple conversations. Through five short dialogues, practice talking about routines, feelings, preferences, workspaces, and personal information. You'll also learn to ask polite questions, give short answers, and use negation naturally."
+ ]
+ }
+ }
+ },
+ "dev-playground": {
+ "title": "Dev Playground",
+ "intro": ["Playground for creating and testing challenges"],
+ "blocks": {
+ "daily-coding-challenges-javascript": {
+ "title": "Daily Coding Challenges JavaScript",
+ "intro": ["Place to create JavaScript daily coding challenges."]
+ },
+ "daily-coding-challenges-python": {
+ "title": "Daily Coding Challenges Python",
+ "intro": ["Place to create Python daily coding challenges."]
+ }
+ }
+ },
"misc-text": {
"browse-other": "Browse our other free certifications",
"courses": "課程",
diff --git a/client/i18n/locales/chinese-traditional/translations.json b/client/i18n/locales/chinese-traditional/translations.json
index 58bd1f7e8e0..41bb662e1cf 100644
--- a/client/i18n/locales/chinese-traditional/translations.json
+++ b/client/i18n/locales/chinese-traditional/translations.json
@@ -849,7 +849,8 @@
"opens-new-window": "在新窗口打開",
"rsa-checkbox": "我已經嘗試了 Read-Search-Ask(閱讀-搜索-提問)方法",
"similar-questions-checkbox": "我已經在論壇上搜索了類似的問題和相應的答案",
- "edit-my-profile": "編輯我的個人資料"
+ "edit-my-profile": "編輯我的個人資料",
+ "terminal-output": "Terminal output"
},
"flash": {
"no-email-in-userinfo": "We could not retrieve an email from your chosen provider. Please try another provider or use the 'Continue with Email' option.",
@@ -1117,6 +1118,8 @@
"full-stack-developer-v9-cert": "全棧開發者認證",
"a2-professional-spanish": "A2 Professional Spanish",
"a2-professional-spanish-cert": "A2 Professional Spanish Certification",
+ "a2-professional-chinese": "A2 Professional Chinese",
+ "a2-professional-chinese-cert": "A2 Professional Chinese Certification",
"legacy-front-end": "舊版前端",
"legacy-front-end-cert": "舊版前端認證",
"legacy-back-end": "舊版後端",
diff --git a/client/i18n/locales/chinese/intro.json b/client/i18n/locales/chinese/intro.json
index 4df35d1cd90..ac303a55736 100644
--- a/client/i18n/locales/chinese/intro.json
+++ b/client/i18n/locales/chinese/intro.json
@@ -1278,7 +1278,7 @@
]
},
"top-build-a-rock-paper-scissors-game": {
- "title": "Build a Rock Paper Scissor Game",
+ "title": "Build a Rock Paper Scissors Game",
"intro": [
"Put your JavaScript skills to the test by building a Rock Paper Scissors game."
]
@@ -2971,6 +2971,12 @@
"In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
+ "lab-slice-and-splice": {
+ "title": "Implement the Slice and Splice Algorithm",
+ "intro": [
+ "In this lab, you will practice merging an array with another."
+ ]
+ },
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
"intro": [
@@ -3100,7 +3106,7 @@
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.",
"You'll practice click events and toggling classes."
]
},
@@ -3555,7 +3561,7 @@
"workshop-toggle-text-app": {
"title": "Toggle Text App",
"intro": [
- "In this workshop, you will continute to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
+ "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
]
},
"lab-color-picker": {
@@ -3574,7 +3580,7 @@
"workshop-fruit-search-app": {
"title": "Build a Fruit Search App",
"intro": [
- "In this workshop, you will continute to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
+ "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
]
},
"vjgg": {
@@ -3801,7 +3807,9 @@
},
"lecture-working-with-loops-and-sequences": {
"title": "Working with Loops and Sequences",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Loops and Sequences in these lectures."
+ ]
},
"workshop-placeholder-loops-and-sequences": {
"title": "Placeholder - Waiting for title",
@@ -3826,11 +3834,13 @@
},
"lecture-working-with-dictionaries-and-sets": {
"title": "Working with Dictionaries and Sets",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Dictionaries and Sets in these lectures."
+ ]
},
"lecture-working-with-modules": {
"title": "Working with Modules",
- "intro": [""]
+ "intro": ["Learn about Working with Modules in these lectures."]
},
"workshop-placeholder-dictionaries-and-sets": {
"title": "Placeholder - waiting for title",
@@ -3855,7 +3865,7 @@
},
"lecture-understanding-error-handling": {
"title": "Understanding Error Handling",
- "intro": [""]
+ "intro": ["Learn about Understanding Error Handling in these lectures."]
},
"lab-isbn-validator": {
"title": "Debug a ISBN Validator",
@@ -3876,7 +3886,7 @@
},
"lecture-classes-and-objects": {
"title": "Classes and Objects",
- "intro": [""]
+ "intro": ["Learn about Classes and Objects in these lectures."]
},
"workshop-placeholder-classes-and-objects": {
"title": "Placeholder - waiting for title",
@@ -3903,7 +3913,9 @@
},
"lecture-understanding-object-oriented-programming-and-encapsulation": {
"title": "Understanding Object Oriented Programming and Encapsulation",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Object Oriented Programming and Encapsulation in these lectures."
+ ]
},
"workshop-placeholder-oop-1": {
"title": "Placeholder - Waiting for title",
@@ -3915,7 +3927,9 @@
},
"lecture-understanding-inheritance-and-polymorphism": {
"title": "Understanding Inheritance and polymorphism",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Inheritance and polymorphism in these lectures."
+ ]
},
"workshop-placeholder-oop-2": {
"title": "Placeholder - Waiting for title",
@@ -3929,7 +3943,7 @@
},
"lecture-understanding-abstraction": {
"title": "Understanding abstraction",
- "intro": [""]
+ "intro": ["Learn about Understanding abstraction in these lectures."]
},
"workshop-placeholder-oop-3": {
"title": "Placeholder - Waiting for title",
@@ -3953,8 +3967,10 @@
]
},
"lecture-working-with-common-data-structures": {
- "title": "Working with common data structures",
- "intro": [""]
+ "title": "Working with Common Data Structures",
+ "intro": [
+ "Learn about Working with Common Data Structures in these lectures."
+ ]
},
"workshop-linked-list-class": {
"title": "Build a Linked List Class",
@@ -3982,7 +3998,9 @@
},
"lecture-searching-and-sorting-algorithms": {
"title": "Searching and Sorting Algorithms",
- "intro": [""]
+ "intro": [
+ "Learn about Searching and Sorting Algorithms in these lectures."
+ ]
},
"workshop-binary-search": {
"title": "Build a Binary Search",
@@ -3993,8 +4011,11 @@
"intro": [""]
},
"workshop-merge-sort": {
- "title": "Build a Merge Sort",
- "intro": [""]
+ "title": "Implement the Merge Sort Algorithm",
+ "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."
+ ]
},
"lab-quick-sort": {
"title": "Build a Quick Sort",
@@ -4025,7 +4046,9 @@
},
"lecture-understanding-graphs-and-trees": {
"title": "Understanding Graphs and Trees",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Graphs and Trees in these lectures."
+ ]
},
"workshop-shortest-path-algorithm": {
"title": "Build a Shortest Path Algorithm",
@@ -4058,7 +4081,9 @@
},
"lecture-understanding-dynamic-programming": {
"title": "Understanding Dynamic Programming",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Dynamic Programming in these lectures."
+ ]
},
"lab-nth-fibonacci-number": {
"title": "Build an Nth Fibonacci Number Calculator",
@@ -4282,6 +4307,39 @@
}
}
},
+ "a2-professional-chinese": {
+ "title": "A2 Professional Chinese Certification (Beta)",
+ "note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
+ "intro": ["Placeholder intro"],
+ "blocks": {
+ "talk-about-what-you-do-by-using-key-verbs": {
+ "title": "Talk About What You Do by Using Key Verbs",
+ "intro": [
+ "Learn how to introduce yourself in Chinese in a simple and professional way. In this module you'll learn how to say who you are, where you are from, what you do, how you feel, and what you like or don't like."
+ ]
+ },
+ "get-to-know-colleagues-by-asking-simple-questions": {
+ "title": "Get to Know Colleagues by Asking Simple Questions",
+ "intro": [
+ "Learn how to ask and answer questions in simple conversations. Through five short dialogues, practice talking about routines, feelings, preferences, workspaces, and personal information. You'll also learn to ask polite questions, give short answers, and use negation naturally."
+ ]
+ }
+ }
+ },
+ "dev-playground": {
+ "title": "Dev Playground",
+ "intro": ["Playground for creating and testing challenges"],
+ "blocks": {
+ "daily-coding-challenges-javascript": {
+ "title": "Daily Coding Challenges JavaScript",
+ "intro": ["Place to create JavaScript daily coding challenges."]
+ },
+ "daily-coding-challenges-python": {
+ "title": "Daily Coding Challenges Python",
+ "intro": ["Place to create Python daily coding challenges."]
+ }
+ }
+ },
"misc-text": {
"browse-other": "Browse our other free certifications",
"courses": "课程",
diff --git a/client/i18n/locales/chinese/translations.json b/client/i18n/locales/chinese/translations.json
index cd3c9e6f262..d4d7f0ad4a1 100644
--- a/client/i18n/locales/chinese/translations.json
+++ b/client/i18n/locales/chinese/translations.json
@@ -849,7 +849,8 @@
"opens-new-window": "在新窗口打开",
"rsa-checkbox": "我已经尝试了 Read-Search-Ask(阅读-搜索-提问)方法",
"similar-questions-checkbox": "我已经在论坛上搜索了类似的问题和相应的答案",
- "edit-my-profile": "编辑我的个人资料"
+ "edit-my-profile": "编辑我的个人资料",
+ "terminal-output": "Terminal output"
},
"flash": {
"no-email-in-userinfo": "We could not retrieve an email from your chosen provider. Please try another provider or use the 'Continue with Email' option.",
@@ -1117,6 +1118,8 @@
"full-stack-developer-v9-cert": "全栈开发者认证",
"a2-professional-spanish": "A2 Professional Spanish",
"a2-professional-spanish-cert": "A2 Professional Spanish Certification",
+ "a2-professional-chinese": "A2 Professional Chinese",
+ "a2-professional-chinese-cert": "A2 Professional Chinese Certification",
"legacy-front-end": "旧版前端",
"legacy-front-end-cert": "旧版前端认证",
"legacy-back-end": "旧版后端",
diff --git a/client/i18n/locales/espanol/intro.json b/client/i18n/locales/espanol/intro.json
index 8d77f21d15e..1347d892ddc 100644
--- a/client/i18n/locales/espanol/intro.json
+++ b/client/i18n/locales/espanol/intro.json
@@ -1292,7 +1292,7 @@
]
},
"top-build-a-rock-paper-scissors-game": {
- "title": "Construye un juego de piedra, papel o tijera",
+ "title": "Build a Rock Paper Scissors Game",
"intro": [
"Pon a prueba tus conocimientos de JavaScript creando un juego de piedra, papel o tijera."
]
@@ -2985,6 +2985,12 @@
"In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
+ "lab-slice-and-splice": {
+ "title": "Implement the Slice and Splice Algorithm",
+ "intro": [
+ "In this lab, you will practice merging an array with another."
+ ]
+ },
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
"intro": [
@@ -3114,7 +3120,7 @@
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.",
"You'll practice click events and toggling classes."
]
},
@@ -3569,7 +3575,7 @@
"workshop-toggle-text-app": {
"title": "Toggle Text App",
"intro": [
- "In this workshop, you will continute to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
+ "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
]
},
"lab-color-picker": {
@@ -3588,7 +3594,7 @@
"workshop-fruit-search-app": {
"title": "Build a Fruit Search App",
"intro": [
- "In this workshop, you will continute to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
+ "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
]
},
"vjgg": {
@@ -3815,7 +3821,9 @@
},
"lecture-working-with-loops-and-sequences": {
"title": "Working with Loops and Sequences",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Loops and Sequences in these lectures."
+ ]
},
"workshop-placeholder-loops-and-sequences": {
"title": "Placeholder - Waiting for title",
@@ -3840,11 +3848,13 @@
},
"lecture-working-with-dictionaries-and-sets": {
"title": "Working with Dictionaries and Sets",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Dictionaries and Sets in these lectures."
+ ]
},
"lecture-working-with-modules": {
"title": "Working with Modules",
- "intro": [""]
+ "intro": ["Learn about Working with Modules in these lectures."]
},
"workshop-placeholder-dictionaries-and-sets": {
"title": "Placeholder - waiting for title",
@@ -3869,7 +3879,7 @@
},
"lecture-understanding-error-handling": {
"title": "Understanding Error Handling",
- "intro": [""]
+ "intro": ["Learn about Understanding Error Handling in these lectures."]
},
"lab-isbn-validator": {
"title": "Debug a ISBN Validator",
@@ -3890,7 +3900,7 @@
},
"lecture-classes-and-objects": {
"title": "Classes and Objects",
- "intro": [""]
+ "intro": ["Learn about Classes and Objects in these lectures."]
},
"workshop-placeholder-classes-and-objects": {
"title": "Placeholder - waiting for title",
@@ -3917,7 +3927,9 @@
},
"lecture-understanding-object-oriented-programming-and-encapsulation": {
"title": "Understanding Object Oriented Programming and Encapsulation",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Object Oriented Programming and Encapsulation in these lectures."
+ ]
},
"workshop-placeholder-oop-1": {
"title": "Placeholder - Waiting for title",
@@ -3929,7 +3941,9 @@
},
"lecture-understanding-inheritance-and-polymorphism": {
"title": "Understanding Inheritance and polymorphism",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Inheritance and polymorphism in these lectures."
+ ]
},
"workshop-placeholder-oop-2": {
"title": "Placeholder - Waiting for title",
@@ -3943,7 +3957,7 @@
},
"lecture-understanding-abstraction": {
"title": "Understanding abstraction",
- "intro": [""]
+ "intro": ["Learn about Understanding abstraction in these lectures."]
},
"workshop-placeholder-oop-3": {
"title": "Placeholder - Waiting for title",
@@ -3967,8 +3981,10 @@
]
},
"lecture-working-with-common-data-structures": {
- "title": "Working with common data structures",
- "intro": [""]
+ "title": "Working with Common Data Structures",
+ "intro": [
+ "Learn about Working with Common Data Structures in these lectures."
+ ]
},
"workshop-linked-list-class": {
"title": "Build a Linked List Class",
@@ -3996,7 +4012,9 @@
},
"lecture-searching-and-sorting-algorithms": {
"title": "Searching and Sorting Algorithms",
- "intro": [""]
+ "intro": [
+ "Learn about Searching and Sorting Algorithms in these lectures."
+ ]
},
"workshop-binary-search": {
"title": "Build a Binary Search",
@@ -4007,8 +4025,11 @@
"intro": [""]
},
"workshop-merge-sort": {
- "title": "Build a Merge Sort",
- "intro": [""]
+ "title": "Implement the Merge Sort Algorithm",
+ "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."
+ ]
},
"lab-quick-sort": {
"title": "Build a Quick Sort",
@@ -4039,7 +4060,9 @@
},
"lecture-understanding-graphs-and-trees": {
"title": "Understanding Graphs and Trees",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Graphs and Trees in these lectures."
+ ]
},
"workshop-shortest-path-algorithm": {
"title": "Build a Shortest Path Algorithm",
@@ -4072,7 +4095,9 @@
},
"lecture-understanding-dynamic-programming": {
"title": "Understanding Dynamic Programming",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Dynamic Programming in these lectures."
+ ]
},
"lab-nth-fibonacci-number": {
"title": "Build an Nth Fibonacci Number Calculator",
@@ -4296,6 +4321,39 @@
}
}
},
+ "a2-professional-chinese": {
+ "title": "A2 Professional Chinese Certification (Beta)",
+ "note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
+ "intro": ["Placeholder intro"],
+ "blocks": {
+ "talk-about-what-you-do-by-using-key-verbs": {
+ "title": "Talk About What You Do by Using Key Verbs",
+ "intro": [
+ "Learn how to introduce yourself in Chinese in a simple and professional way. In this module you'll learn how to say who you are, where you are from, what you do, how you feel, and what you like or don't like."
+ ]
+ },
+ "get-to-know-colleagues-by-asking-simple-questions": {
+ "title": "Get to Know Colleagues by Asking Simple Questions",
+ "intro": [
+ "Learn how to ask and answer questions in simple conversations. Through five short dialogues, practice talking about routines, feelings, preferences, workspaces, and personal information. You'll also learn to ask polite questions, give short answers, and use negation naturally."
+ ]
+ }
+ }
+ },
+ "dev-playground": {
+ "title": "Dev Playground",
+ "intro": ["Playground for creating and testing challenges"],
+ "blocks": {
+ "daily-coding-challenges-javascript": {
+ "title": "Daily Coding Challenges JavaScript",
+ "intro": ["Place to create JavaScript daily coding challenges."]
+ },
+ "daily-coding-challenges-python": {
+ "title": "Daily Coding Challenges Python",
+ "intro": ["Place to create Python daily coding challenges."]
+ }
+ }
+ },
"misc-text": {
"browse-other": "Browse our other free certifications",
"courses": "Cursos",
diff --git a/client/i18n/locales/espanol/translations.json b/client/i18n/locales/espanol/translations.json
index 75855b30e04..6ad0fc0a5f4 100644
--- a/client/i18n/locales/espanol/translations.json
+++ b/client/i18n/locales/espanol/translations.json
@@ -849,7 +849,8 @@
"opens-new-window": "Abrir en una nueva ventana",
"rsa-checkbox": "He probado el método Leer-Buscar-Preguntar",
"similar-questions-checkbox": "He buscado por preguntas similares que ya han sido contestadas en el foro",
- "edit-my-profile": "Edit my profile"
+ "edit-my-profile": "Edit my profile",
+ "terminal-output": "Terminal output"
},
"flash": {
"no-email-in-userinfo": "We could not retrieve an email from your chosen provider. Please try another provider or use the 'Continue with Email' option.",
@@ -1117,6 +1118,8 @@
"full-stack-developer-v9-cert": "Full Stack Developer Certification",
"a2-professional-spanish": "A2 Professional Spanish",
"a2-professional-spanish-cert": "A2 Professional Spanish Certification",
+ "a2-professional-chinese": "A2 Professional Chinese",
+ "a2-professional-chinese-cert": "A2 Professional Chinese Certification",
"legacy-front-end": "Legacy Front End",
"legacy-front-end-cert": "Legacy Front End Certification",
"legacy-back-end": "Legacy Back End",
diff --git a/client/i18n/locales/german/intro.json b/client/i18n/locales/german/intro.json
index 2d50f4b72cd..3c05589c11b 100644
--- a/client/i18n/locales/german/intro.json
+++ b/client/i18n/locales/german/intro.json
@@ -1290,7 +1290,7 @@
]
},
"top-build-a-rock-paper-scissors-game": {
- "title": "Build a Rock Paper Scissor Game",
+ "title": "Build a Rock Paper Scissors Game",
"intro": [
"Put your JavaScript skills to the test by building a Rock Paper Scissors game."
]
@@ -2985,6 +2985,12 @@
"In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
+ "lab-slice-and-splice": {
+ "title": "Implement the Slice and Splice Algorithm",
+ "intro": [
+ "In this lab, you will practice merging an array with another."
+ ]
+ },
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
"intro": [
@@ -3114,7 +3120,7 @@
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.",
"You'll practice click events and toggling classes."
]
},
@@ -3569,7 +3575,7 @@
"workshop-toggle-text-app": {
"title": "Toggle Text App",
"intro": [
- "In this workshop, you will continute to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
+ "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
]
},
"lab-color-picker": {
@@ -3588,7 +3594,7 @@
"workshop-fruit-search-app": {
"title": "Build a Fruit Search App",
"intro": [
- "In this workshop, you will continute to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
+ "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
]
},
"vjgg": {
@@ -3815,7 +3821,9 @@
},
"lecture-working-with-loops-and-sequences": {
"title": "Working with Loops and Sequences",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Loops and Sequences in these lectures."
+ ]
},
"workshop-placeholder-loops-and-sequences": {
"title": "Placeholder - Waiting for title",
@@ -3840,11 +3848,13 @@
},
"lecture-working-with-dictionaries-and-sets": {
"title": "Working with Dictionaries and Sets",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Dictionaries and Sets in these lectures."
+ ]
},
"lecture-working-with-modules": {
"title": "Working with Modules",
- "intro": [""]
+ "intro": ["Learn about Working with Modules in these lectures."]
},
"workshop-placeholder-dictionaries-and-sets": {
"title": "Placeholder - waiting for title",
@@ -3869,7 +3879,7 @@
},
"lecture-understanding-error-handling": {
"title": "Understanding Error Handling",
- "intro": [""]
+ "intro": ["Learn about Understanding Error Handling in these lectures."]
},
"lab-isbn-validator": {
"title": "Debug a ISBN Validator",
@@ -3890,7 +3900,7 @@
},
"lecture-classes-and-objects": {
"title": "Classes and Objects",
- "intro": [""]
+ "intro": ["Learn about Classes and Objects in these lectures."]
},
"workshop-placeholder-classes-and-objects": {
"title": "Placeholder - waiting for title",
@@ -3917,7 +3927,9 @@
},
"lecture-understanding-object-oriented-programming-and-encapsulation": {
"title": "Understanding Object Oriented Programming and Encapsulation",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Object Oriented Programming and Encapsulation in these lectures."
+ ]
},
"workshop-placeholder-oop-1": {
"title": "Placeholder - Waiting for title",
@@ -3929,7 +3941,9 @@
},
"lecture-understanding-inheritance-and-polymorphism": {
"title": "Understanding Inheritance and polymorphism",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Inheritance and polymorphism in these lectures."
+ ]
},
"workshop-placeholder-oop-2": {
"title": "Placeholder - Waiting for title",
@@ -3943,7 +3957,7 @@
},
"lecture-understanding-abstraction": {
"title": "Understanding abstraction",
- "intro": [""]
+ "intro": ["Learn about Understanding abstraction in these lectures."]
},
"workshop-placeholder-oop-3": {
"title": "Placeholder - Waiting for title",
@@ -3967,8 +3981,10 @@
]
},
"lecture-working-with-common-data-structures": {
- "title": "Working with common data structures",
- "intro": [""]
+ "title": "Working with Common Data Structures",
+ "intro": [
+ "Learn about Working with Common Data Structures in these lectures."
+ ]
},
"workshop-linked-list-class": {
"title": "Build a Linked List Class",
@@ -3996,7 +4012,9 @@
},
"lecture-searching-and-sorting-algorithms": {
"title": "Searching and Sorting Algorithms",
- "intro": [""]
+ "intro": [
+ "Learn about Searching and Sorting Algorithms in these lectures."
+ ]
},
"workshop-binary-search": {
"title": "Build a Binary Search",
@@ -4007,8 +4025,11 @@
"intro": [""]
},
"workshop-merge-sort": {
- "title": "Build a Merge Sort",
- "intro": [""]
+ "title": "Implement the Merge Sort Algorithm",
+ "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."
+ ]
},
"lab-quick-sort": {
"title": "Build a Quick Sort",
@@ -4039,7 +4060,9 @@
},
"lecture-understanding-graphs-and-trees": {
"title": "Understanding Graphs and Trees",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Graphs and Trees in these lectures."
+ ]
},
"workshop-shortest-path-algorithm": {
"title": "Build a Shortest Path Algorithm",
@@ -4072,7 +4095,9 @@
},
"lecture-understanding-dynamic-programming": {
"title": "Understanding Dynamic Programming",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Dynamic Programming in these lectures."
+ ]
},
"lab-nth-fibonacci-number": {
"title": "Build an Nth Fibonacci Number Calculator",
@@ -4296,6 +4321,39 @@
}
}
},
+ "a2-professional-chinese": {
+ "title": "A2 Professional Chinese Certification (Beta)",
+ "note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
+ "intro": ["Placeholder intro"],
+ "blocks": {
+ "talk-about-what-you-do-by-using-key-verbs": {
+ "title": "Talk About What You Do by Using Key Verbs",
+ "intro": [
+ "Learn how to introduce yourself in Chinese in a simple and professional way. In this module you'll learn how to say who you are, where you are from, what you do, how you feel, and what you like or don't like."
+ ]
+ },
+ "get-to-know-colleagues-by-asking-simple-questions": {
+ "title": "Get to Know Colleagues by Asking Simple Questions",
+ "intro": [
+ "Learn how to ask and answer questions in simple conversations. Through five short dialogues, practice talking about routines, feelings, preferences, workspaces, and personal information. You'll also learn to ask polite questions, give short answers, and use negation naturally."
+ ]
+ }
+ }
+ },
+ "dev-playground": {
+ "title": "Dev Playground",
+ "intro": ["Playground for creating and testing challenges"],
+ "blocks": {
+ "daily-coding-challenges-javascript": {
+ "title": "Daily Coding Challenges JavaScript",
+ "intro": ["Place to create JavaScript daily coding challenges."]
+ },
+ "daily-coding-challenges-python": {
+ "title": "Daily Coding Challenges Python",
+ "intro": ["Place to create Python daily coding challenges."]
+ }
+ }
+ },
"misc-text": {
"browse-other": "Browse our other free certifications",
"courses": "Kurse",
diff --git a/client/i18n/locales/german/translations.json b/client/i18n/locales/german/translations.json
index f68c1825e76..c2e32cd3956 100644
--- a/client/i18n/locales/german/translations.json
+++ b/client/i18n/locales/german/translations.json
@@ -849,7 +849,8 @@
"opens-new-window": "Opens in new window",
"rsa-checkbox": "I have tried the Read-Search-Ask method",
"similar-questions-checkbox": "I have searched for similar questions that have already been answered on the forum",
- "edit-my-profile": "Edit my profile"
+ "edit-my-profile": "Edit my profile",
+ "terminal-output": "Terminal output"
},
"flash": {
"no-email-in-userinfo": "We could not retrieve an email from your chosen provider. Please try another provider or use the 'Continue with Email' option.",
@@ -1117,6 +1118,8 @@
"full-stack-developer-v9-cert": "Full Stack Developer Certification",
"a2-professional-spanish": "A2 Professional Spanish",
"a2-professional-spanish-cert": "A2 Professional Spanish Certification",
+ "a2-professional-chinese": "A2 Professional Chinese",
+ "a2-professional-chinese-cert": "A2 Professional Chinese Certification",
"legacy-front-end": "Legacy Front End",
"legacy-front-end-cert": "Legacy Front End Certification",
"legacy-back-end": "Legacy Back End",
diff --git a/client/i18n/locales/italian/intro.json b/client/i18n/locales/italian/intro.json
index 8a8773a5649..09de0f40fda 100644
--- a/client/i18n/locales/italian/intro.json
+++ b/client/i18n/locales/italian/intro.json
@@ -1290,7 +1290,7 @@
]
},
"top-build-a-rock-paper-scissors-game": {
- "title": "Build a Rock Paper Scissor Game",
+ "title": "Build a Rock Paper Scissors Game",
"intro": [
"Put your JavaScript skills to the test by building a Rock Paper Scissors game."
]
@@ -2985,6 +2985,12 @@
"In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
+ "lab-slice-and-splice": {
+ "title": "Implement the Slice and Splice Algorithm",
+ "intro": [
+ "In this lab, you will practice merging an array with another."
+ ]
+ },
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
"intro": [
@@ -3114,7 +3120,7 @@
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.",
"You'll practice click events and toggling classes."
]
},
@@ -3569,7 +3575,7 @@
"workshop-toggle-text-app": {
"title": "Toggle Text App",
"intro": [
- "In this workshop, you will continute to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
+ "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
]
},
"lab-color-picker": {
@@ -3588,7 +3594,7 @@
"workshop-fruit-search-app": {
"title": "Build a Fruit Search App",
"intro": [
- "In this workshop, you will continute to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
+ "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
]
},
"vjgg": {
@@ -3815,7 +3821,9 @@
},
"lecture-working-with-loops-and-sequences": {
"title": "Working with Loops and Sequences",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Loops and Sequences in these lectures."
+ ]
},
"workshop-placeholder-loops-and-sequences": {
"title": "Placeholder - Waiting for title",
@@ -3840,11 +3848,13 @@
},
"lecture-working-with-dictionaries-and-sets": {
"title": "Working with Dictionaries and Sets",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Dictionaries and Sets in these lectures."
+ ]
},
"lecture-working-with-modules": {
"title": "Working with Modules",
- "intro": [""]
+ "intro": ["Learn about Working with Modules in these lectures."]
},
"workshop-placeholder-dictionaries-and-sets": {
"title": "Placeholder - waiting for title",
@@ -3869,7 +3879,7 @@
},
"lecture-understanding-error-handling": {
"title": "Understanding Error Handling",
- "intro": [""]
+ "intro": ["Learn about Understanding Error Handling in these lectures."]
},
"lab-isbn-validator": {
"title": "Debug a ISBN Validator",
@@ -3890,7 +3900,7 @@
},
"lecture-classes-and-objects": {
"title": "Classes and Objects",
- "intro": [""]
+ "intro": ["Learn about Classes and Objects in these lectures."]
},
"workshop-placeholder-classes-and-objects": {
"title": "Placeholder - waiting for title",
@@ -3917,7 +3927,9 @@
},
"lecture-understanding-object-oriented-programming-and-encapsulation": {
"title": "Understanding Object Oriented Programming and Encapsulation",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Object Oriented Programming and Encapsulation in these lectures."
+ ]
},
"workshop-placeholder-oop-1": {
"title": "Placeholder - Waiting for title",
@@ -3929,7 +3941,9 @@
},
"lecture-understanding-inheritance-and-polymorphism": {
"title": "Understanding Inheritance and polymorphism",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Inheritance and polymorphism in these lectures."
+ ]
},
"workshop-placeholder-oop-2": {
"title": "Placeholder - Waiting for title",
@@ -3943,7 +3957,7 @@
},
"lecture-understanding-abstraction": {
"title": "Understanding abstraction",
- "intro": [""]
+ "intro": ["Learn about Understanding abstraction in these lectures."]
},
"workshop-placeholder-oop-3": {
"title": "Placeholder - Waiting for title",
@@ -3967,8 +3981,10 @@
]
},
"lecture-working-with-common-data-structures": {
- "title": "Working with common data structures",
- "intro": [""]
+ "title": "Working with Common Data Structures",
+ "intro": [
+ "Learn about Working with Common Data Structures in these lectures."
+ ]
},
"workshop-linked-list-class": {
"title": "Build a Linked List Class",
@@ -3996,7 +4012,9 @@
},
"lecture-searching-and-sorting-algorithms": {
"title": "Searching and Sorting Algorithms",
- "intro": [""]
+ "intro": [
+ "Learn about Searching and Sorting Algorithms in these lectures."
+ ]
},
"workshop-binary-search": {
"title": "Build a Binary Search",
@@ -4007,8 +4025,11 @@
"intro": [""]
},
"workshop-merge-sort": {
- "title": "Build a Merge Sort",
- "intro": [""]
+ "title": "Implement the Merge Sort Algorithm",
+ "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."
+ ]
},
"lab-quick-sort": {
"title": "Build a Quick Sort",
@@ -4039,7 +4060,9 @@
},
"lecture-understanding-graphs-and-trees": {
"title": "Understanding Graphs and Trees",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Graphs and Trees in these lectures."
+ ]
},
"workshop-shortest-path-algorithm": {
"title": "Build a Shortest Path Algorithm",
@@ -4072,7 +4095,9 @@
},
"lecture-understanding-dynamic-programming": {
"title": "Understanding Dynamic Programming",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Dynamic Programming in these lectures."
+ ]
},
"lab-nth-fibonacci-number": {
"title": "Build an Nth Fibonacci Number Calculator",
@@ -4296,6 +4321,39 @@
}
}
},
+ "a2-professional-chinese": {
+ "title": "A2 Professional Chinese Certification (Beta)",
+ "note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
+ "intro": ["Placeholder intro"],
+ "blocks": {
+ "talk-about-what-you-do-by-using-key-verbs": {
+ "title": "Talk About What You Do by Using Key Verbs",
+ "intro": [
+ "Learn how to introduce yourself in Chinese in a simple and professional way. In this module you'll learn how to say who you are, where you are from, what you do, how you feel, and what you like or don't like."
+ ]
+ },
+ "get-to-know-colleagues-by-asking-simple-questions": {
+ "title": "Get to Know Colleagues by Asking Simple Questions",
+ "intro": [
+ "Learn how to ask and answer questions in simple conversations. Through five short dialogues, practice talking about routines, feelings, preferences, workspaces, and personal information. You'll also learn to ask polite questions, give short answers, and use negation naturally."
+ ]
+ }
+ }
+ },
+ "dev-playground": {
+ "title": "Dev Playground",
+ "intro": ["Playground for creating and testing challenges"],
+ "blocks": {
+ "daily-coding-challenges-javascript": {
+ "title": "Daily Coding Challenges JavaScript",
+ "intro": ["Place to create JavaScript daily coding challenges."]
+ },
+ "daily-coding-challenges-python": {
+ "title": "Daily Coding Challenges Python",
+ "intro": ["Place to create Python daily coding challenges."]
+ }
+ }
+ },
"misc-text": {
"browse-other": "Browse our other free certifications",
"courses": "Corsi",
diff --git a/client/i18n/locales/italian/translations.json b/client/i18n/locales/italian/translations.json
index 7735adedaaa..769129674ba 100644
--- a/client/i18n/locales/italian/translations.json
+++ b/client/i18n/locales/italian/translations.json
@@ -849,7 +849,8 @@
"opens-new-window": "Apri in una nuova finestra",
"rsa-checkbox": "I have tried the Read-Search-Ask method",
"similar-questions-checkbox": "I have searched for similar questions that have already been answered on the forum",
- "edit-my-profile": "Edit my profile"
+ "edit-my-profile": "Edit my profile",
+ "terminal-output": "Terminal output"
},
"flash": {
"no-email-in-userinfo": "We could not retrieve an email from your chosen provider. Please try another provider or use the 'Continue with Email' option.",
@@ -1117,6 +1118,8 @@
"full-stack-developer-v9-cert": "Full Stack Developer Certification",
"a2-professional-spanish": "A2 Professional Spanish",
"a2-professional-spanish-cert": "A2 Professional Spanish Certification",
+ "a2-professional-chinese": "A2 Professional Chinese",
+ "a2-professional-chinese-cert": "A2 Professional Chinese Certification",
"legacy-front-end": "Legacy Front End",
"legacy-front-end-cert": "Legacy Front End Certification",
"legacy-back-end": "Legacy Back End",
diff --git a/client/i18n/locales/japanese/intro.json b/client/i18n/locales/japanese/intro.json
index 12a40634180..93f7fd1cc76 100644
--- a/client/i18n/locales/japanese/intro.json
+++ b/client/i18n/locales/japanese/intro.json
@@ -1290,7 +1290,7 @@
]
},
"top-build-a-rock-paper-scissors-game": {
- "title": "Build a Rock Paper Scissor Game",
+ "title": "Build a Rock Paper Scissors Game",
"intro": [
"Put your JavaScript skills to the test by building a Rock Paper Scissors game."
]
@@ -2985,6 +2985,12 @@
"In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
+ "lab-slice-and-splice": {
+ "title": "Implement the Slice and Splice Algorithm",
+ "intro": [
+ "In this lab, you will practice merging an array with another."
+ ]
+ },
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
"intro": [
@@ -3114,7 +3120,7 @@
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.",
"You'll practice click events and toggling classes."
]
},
@@ -3569,7 +3575,7 @@
"workshop-toggle-text-app": {
"title": "Toggle Text App",
"intro": [
- "In this workshop, you will continute to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
+ "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
]
},
"lab-color-picker": {
@@ -3588,7 +3594,7 @@
"workshop-fruit-search-app": {
"title": "Build a Fruit Search App",
"intro": [
- "In this workshop, you will continute to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
+ "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
]
},
"vjgg": {
@@ -3815,7 +3821,9 @@
},
"lecture-working-with-loops-and-sequences": {
"title": "Working with Loops and Sequences",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Loops and Sequences in these lectures."
+ ]
},
"workshop-placeholder-loops-and-sequences": {
"title": "Placeholder - Waiting for title",
@@ -3840,11 +3848,13 @@
},
"lecture-working-with-dictionaries-and-sets": {
"title": "Working with Dictionaries and Sets",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Dictionaries and Sets in these lectures."
+ ]
},
"lecture-working-with-modules": {
"title": "Working with Modules",
- "intro": [""]
+ "intro": ["Learn about Working with Modules in these lectures."]
},
"workshop-placeholder-dictionaries-and-sets": {
"title": "Placeholder - waiting for title",
@@ -3869,7 +3879,7 @@
},
"lecture-understanding-error-handling": {
"title": "Understanding Error Handling",
- "intro": [""]
+ "intro": ["Learn about Understanding Error Handling in these lectures."]
},
"lab-isbn-validator": {
"title": "Debug a ISBN Validator",
@@ -3890,7 +3900,7 @@
},
"lecture-classes-and-objects": {
"title": "Classes and Objects",
- "intro": [""]
+ "intro": ["Learn about Classes and Objects in these lectures."]
},
"workshop-placeholder-classes-and-objects": {
"title": "Placeholder - waiting for title",
@@ -3917,7 +3927,9 @@
},
"lecture-understanding-object-oriented-programming-and-encapsulation": {
"title": "Understanding Object Oriented Programming and Encapsulation",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Object Oriented Programming and Encapsulation in these lectures."
+ ]
},
"workshop-placeholder-oop-1": {
"title": "Placeholder - Waiting for title",
@@ -3929,7 +3941,9 @@
},
"lecture-understanding-inheritance-and-polymorphism": {
"title": "Understanding Inheritance and polymorphism",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Inheritance and polymorphism in these lectures."
+ ]
},
"workshop-placeholder-oop-2": {
"title": "Placeholder - Waiting for title",
@@ -3943,7 +3957,7 @@
},
"lecture-understanding-abstraction": {
"title": "Understanding abstraction",
- "intro": [""]
+ "intro": ["Learn about Understanding abstraction in these lectures."]
},
"workshop-placeholder-oop-3": {
"title": "Placeholder - Waiting for title",
@@ -3967,8 +3981,10 @@
]
},
"lecture-working-with-common-data-structures": {
- "title": "Working with common data structures",
- "intro": [""]
+ "title": "Working with Common Data Structures",
+ "intro": [
+ "Learn about Working with Common Data Structures in these lectures."
+ ]
},
"workshop-linked-list-class": {
"title": "Build a Linked List Class",
@@ -3996,7 +4012,9 @@
},
"lecture-searching-and-sorting-algorithms": {
"title": "Searching and Sorting Algorithms",
- "intro": [""]
+ "intro": [
+ "Learn about Searching and Sorting Algorithms in these lectures."
+ ]
},
"workshop-binary-search": {
"title": "Build a Binary Search",
@@ -4007,8 +4025,11 @@
"intro": [""]
},
"workshop-merge-sort": {
- "title": "Build a Merge Sort",
- "intro": [""]
+ "title": "Implement the Merge Sort Algorithm",
+ "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."
+ ]
},
"lab-quick-sort": {
"title": "Build a Quick Sort",
@@ -4039,7 +4060,9 @@
},
"lecture-understanding-graphs-and-trees": {
"title": "Understanding Graphs and Trees",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Graphs and Trees in these lectures."
+ ]
},
"workshop-shortest-path-algorithm": {
"title": "Build a Shortest Path Algorithm",
@@ -4072,7 +4095,9 @@
},
"lecture-understanding-dynamic-programming": {
"title": "Understanding Dynamic Programming",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Dynamic Programming in these lectures."
+ ]
},
"lab-nth-fibonacci-number": {
"title": "Build an Nth Fibonacci Number Calculator",
@@ -4296,6 +4321,39 @@
}
}
},
+ "a2-professional-chinese": {
+ "title": "A2 Professional Chinese Certification (Beta)",
+ "note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
+ "intro": ["Placeholder intro"],
+ "blocks": {
+ "talk-about-what-you-do-by-using-key-verbs": {
+ "title": "Talk About What You Do by Using Key Verbs",
+ "intro": [
+ "Learn how to introduce yourself in Chinese in a simple and professional way. In this module you'll learn how to say who you are, where you are from, what you do, how you feel, and what you like or don't like."
+ ]
+ },
+ "get-to-know-colleagues-by-asking-simple-questions": {
+ "title": "Get to Know Colleagues by Asking Simple Questions",
+ "intro": [
+ "Learn how to ask and answer questions in simple conversations. Through five short dialogues, practice talking about routines, feelings, preferences, workspaces, and personal information. You'll also learn to ask polite questions, give short answers, and use negation naturally."
+ ]
+ }
+ }
+ },
+ "dev-playground": {
+ "title": "Dev Playground",
+ "intro": ["Playground for creating and testing challenges"],
+ "blocks": {
+ "daily-coding-challenges-javascript": {
+ "title": "Daily Coding Challenges JavaScript",
+ "intro": ["Place to create JavaScript daily coding challenges."]
+ },
+ "daily-coding-challenges-python": {
+ "title": "Daily Coding Challenges Python",
+ "intro": ["Place to create Python daily coding challenges."]
+ }
+ }
+ },
"misc-text": {
"browse-other": "Browse our other free certifications",
"courses": "コース一覧",
diff --git a/client/i18n/locales/japanese/translations.json b/client/i18n/locales/japanese/translations.json
index 1f679d019ad..3fc3e3b4c1b 100644
--- a/client/i18n/locales/japanese/translations.json
+++ b/client/i18n/locales/japanese/translations.json
@@ -849,7 +849,8 @@
"opens-new-window": "新しいウィンドウで開く",
"rsa-checkbox": "Read-Search-Ask (読む - 検索する - 質問する) メソッドを試しました",
"similar-questions-checkbox": "フォーラムで、解決済みの類似質問を検索しました",
- "edit-my-profile": "プロフィールを編集"
+ "edit-my-profile": "プロフィールを編集",
+ "terminal-output": "Terminal output"
},
"flash": {
"no-email-in-userinfo": "We could not retrieve an email from your chosen provider. Please try another provider or use the 'Continue with Email' option.",
@@ -1117,6 +1118,8 @@
"full-stack-developer-v9-cert": "フルスタック開発者認定証",
"a2-professional-spanish": "A2 Professional Spanish",
"a2-professional-spanish-cert": "A2 Professional Spanish Certification",
+ "a2-professional-chinese": "A2 Professional Chinese",
+ "a2-professional-chinese-cert": "A2 Professional Chinese Certification",
"legacy-front-end": "旧フロントエンド",
"legacy-front-end-cert": "旧フロントエンド認定証",
"legacy-back-end": "旧バックエンド",
diff --git a/client/i18n/locales/korean/intro.json b/client/i18n/locales/korean/intro.json
index bbe5eb94a9a..420c7297b54 100644
--- a/client/i18n/locales/korean/intro.json
+++ b/client/i18n/locales/korean/intro.json
@@ -1290,7 +1290,7 @@
]
},
"top-build-a-rock-paper-scissors-game": {
- "title": "Build a Rock Paper Scissor Game",
+ "title": "Build a Rock Paper Scissors Game",
"intro": [
"Put your JavaScript skills to the test by building a Rock Paper Scissors game."
]
@@ -2985,6 +2985,12 @@
"In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
+ "lab-slice-and-splice": {
+ "title": "Implement the Slice and Splice Algorithm",
+ "intro": [
+ "In this lab, you will practice merging an array with another."
+ ]
+ },
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
"intro": [
@@ -3114,7 +3120,7 @@
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.",
"You'll practice click events and toggling classes."
]
},
@@ -3569,7 +3575,7 @@
"workshop-toggle-text-app": {
"title": "Toggle Text App",
"intro": [
- "In this workshop, you will continute to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
+ "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
]
},
"lab-color-picker": {
@@ -3588,7 +3594,7 @@
"workshop-fruit-search-app": {
"title": "Build a Fruit Search App",
"intro": [
- "In this workshop, you will continute to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
+ "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
]
},
"vjgg": {
@@ -3815,7 +3821,9 @@
},
"lecture-working-with-loops-and-sequences": {
"title": "Working with Loops and Sequences",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Loops and Sequences in these lectures."
+ ]
},
"workshop-placeholder-loops-and-sequences": {
"title": "Placeholder - Waiting for title",
@@ -3840,11 +3848,13 @@
},
"lecture-working-with-dictionaries-and-sets": {
"title": "Working with Dictionaries and Sets",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Dictionaries and Sets in these lectures."
+ ]
},
"lecture-working-with-modules": {
"title": "Working with Modules",
- "intro": [""]
+ "intro": ["Learn about Working with Modules in these lectures."]
},
"workshop-placeholder-dictionaries-and-sets": {
"title": "Placeholder - waiting for title",
@@ -3869,7 +3879,7 @@
},
"lecture-understanding-error-handling": {
"title": "Understanding Error Handling",
- "intro": [""]
+ "intro": ["Learn about Understanding Error Handling in these lectures."]
},
"lab-isbn-validator": {
"title": "Debug a ISBN Validator",
@@ -3890,7 +3900,7 @@
},
"lecture-classes-and-objects": {
"title": "Classes and Objects",
- "intro": [""]
+ "intro": ["Learn about Classes and Objects in these lectures."]
},
"workshop-placeholder-classes-and-objects": {
"title": "Placeholder - waiting for title",
@@ -3917,7 +3927,9 @@
},
"lecture-understanding-object-oriented-programming-and-encapsulation": {
"title": "Understanding Object Oriented Programming and Encapsulation",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Object Oriented Programming and Encapsulation in these lectures."
+ ]
},
"workshop-placeholder-oop-1": {
"title": "Placeholder - Waiting for title",
@@ -3929,7 +3941,9 @@
},
"lecture-understanding-inheritance-and-polymorphism": {
"title": "Understanding Inheritance and polymorphism",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Inheritance and polymorphism in these lectures."
+ ]
},
"workshop-placeholder-oop-2": {
"title": "Placeholder - Waiting for title",
@@ -3943,7 +3957,7 @@
},
"lecture-understanding-abstraction": {
"title": "Understanding abstraction",
- "intro": [""]
+ "intro": ["Learn about Understanding abstraction in these lectures."]
},
"workshop-placeholder-oop-3": {
"title": "Placeholder - Waiting for title",
@@ -3967,8 +3981,10 @@
]
},
"lecture-working-with-common-data-structures": {
- "title": "Working with common data structures",
- "intro": [""]
+ "title": "Working with Common Data Structures",
+ "intro": [
+ "Learn about Working with Common Data Structures in these lectures."
+ ]
},
"workshop-linked-list-class": {
"title": "Build a Linked List Class",
@@ -3996,7 +4012,9 @@
},
"lecture-searching-and-sorting-algorithms": {
"title": "Searching and Sorting Algorithms",
- "intro": [""]
+ "intro": [
+ "Learn about Searching and Sorting Algorithms in these lectures."
+ ]
},
"workshop-binary-search": {
"title": "Build a Binary Search",
@@ -4007,8 +4025,11 @@
"intro": [""]
},
"workshop-merge-sort": {
- "title": "Build a Merge Sort",
- "intro": [""]
+ "title": "Implement the Merge Sort Algorithm",
+ "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."
+ ]
},
"lab-quick-sort": {
"title": "Build a Quick Sort",
@@ -4039,7 +4060,9 @@
},
"lecture-understanding-graphs-and-trees": {
"title": "Understanding Graphs and Trees",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Graphs and Trees in these lectures."
+ ]
},
"workshop-shortest-path-algorithm": {
"title": "Build a Shortest Path Algorithm",
@@ -4072,7 +4095,9 @@
},
"lecture-understanding-dynamic-programming": {
"title": "Understanding Dynamic Programming",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Dynamic Programming in these lectures."
+ ]
},
"lab-nth-fibonacci-number": {
"title": "Build an Nth Fibonacci Number Calculator",
@@ -4296,6 +4321,39 @@
}
}
},
+ "a2-professional-chinese": {
+ "title": "A2 Professional Chinese Certification (Beta)",
+ "note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
+ "intro": ["Placeholder intro"],
+ "blocks": {
+ "talk-about-what-you-do-by-using-key-verbs": {
+ "title": "Talk About What You Do by Using Key Verbs",
+ "intro": [
+ "Learn how to introduce yourself in Chinese in a simple and professional way. In this module you'll learn how to say who you are, where you are from, what you do, how you feel, and what you like or don't like."
+ ]
+ },
+ "get-to-know-colleagues-by-asking-simple-questions": {
+ "title": "Get to Know Colleagues by Asking Simple Questions",
+ "intro": [
+ "Learn how to ask and answer questions in simple conversations. Through five short dialogues, practice talking about routines, feelings, preferences, workspaces, and personal information. You'll also learn to ask polite questions, give short answers, and use negation naturally."
+ ]
+ }
+ }
+ },
+ "dev-playground": {
+ "title": "Dev Playground",
+ "intro": ["Playground for creating and testing challenges"],
+ "blocks": {
+ "daily-coding-challenges-javascript": {
+ "title": "Daily Coding Challenges JavaScript",
+ "intro": ["Place to create JavaScript daily coding challenges."]
+ },
+ "daily-coding-challenges-python": {
+ "title": "Daily Coding Challenges Python",
+ "intro": ["Place to create Python daily coding challenges."]
+ }
+ }
+ },
"misc-text": {
"browse-other": "Browse our other free certifications",
"courses": "Courses",
diff --git a/client/i18n/locales/korean/translations.json b/client/i18n/locales/korean/translations.json
index 4b6e3531d33..5d289062c55 100644
--- a/client/i18n/locales/korean/translations.json
+++ b/client/i18n/locales/korean/translations.json
@@ -849,7 +849,8 @@
"opens-new-window": "Opens in new window",
"rsa-checkbox": "I have tried the Read-Search-Ask method",
"similar-questions-checkbox": "I have searched for similar questions that have already been answered on the forum",
- "edit-my-profile": "Edit my profile"
+ "edit-my-profile": "Edit my profile",
+ "terminal-output": "Terminal output"
},
"flash": {
"no-email-in-userinfo": "We could not retrieve an email from your chosen provider. Please try another provider or use the 'Continue with Email' option.",
@@ -1117,6 +1118,8 @@
"full-stack-developer-v9-cert": "Full Stack Developer Certification",
"a2-professional-spanish": "A2 Professional Spanish",
"a2-professional-spanish-cert": "A2 Professional Spanish Certification",
+ "a2-professional-chinese": "A2 Professional Chinese",
+ "a2-professional-chinese-cert": "A2 Professional Chinese Certification",
"legacy-front-end": "Legacy Front End",
"legacy-front-end-cert": "Legacy Front End Certification",
"legacy-back-end": "Legacy Back End",
diff --git a/client/i18n/locales/portuguese/intro.json b/client/i18n/locales/portuguese/intro.json
index 181615a0b08..70a49c14649 100644
--- a/client/i18n/locales/portuguese/intro.json
+++ b/client/i18n/locales/portuguese/intro.json
@@ -1290,7 +1290,7 @@
]
},
"top-build-a-rock-paper-scissors-game": {
- "title": "Crie um jogo de pedra, papel e tesoura",
+ "title": "Build a Rock Paper Scissors Game",
"intro": [
"Teste suas habilidades em JavaScript criando um jogo de pedra, papel e tesoura."
]
@@ -2985,6 +2985,12 @@
"In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
+ "lab-slice-and-splice": {
+ "title": "Implement the Slice and Splice Algorithm",
+ "intro": [
+ "In this lab, you will practice merging an array with another."
+ ]
+ },
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
"intro": [
@@ -3114,7 +3120,7 @@
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.",
"You'll practice click events and toggling classes."
]
},
@@ -3569,7 +3575,7 @@
"workshop-toggle-text-app": {
"title": "Toggle Text App",
"intro": [
- "In this workshop, you will continute to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
+ "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
]
},
"lab-color-picker": {
@@ -3588,7 +3594,7 @@
"workshop-fruit-search-app": {
"title": "Build a Fruit Search App",
"intro": [
- "In this workshop, you will continute to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
+ "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
]
},
"vjgg": {
@@ -3815,7 +3821,9 @@
},
"lecture-working-with-loops-and-sequences": {
"title": "Working with Loops and Sequences",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Loops and Sequences in these lectures."
+ ]
},
"workshop-placeholder-loops-and-sequences": {
"title": "Placeholder - Waiting for title",
@@ -3840,11 +3848,13 @@
},
"lecture-working-with-dictionaries-and-sets": {
"title": "Working with Dictionaries and Sets",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Dictionaries and Sets in these lectures."
+ ]
},
"lecture-working-with-modules": {
"title": "Working with Modules",
- "intro": [""]
+ "intro": ["Learn about Working with Modules in these lectures."]
},
"workshop-placeholder-dictionaries-and-sets": {
"title": "Placeholder - waiting for title",
@@ -3869,7 +3879,7 @@
},
"lecture-understanding-error-handling": {
"title": "Understanding Error Handling",
- "intro": [""]
+ "intro": ["Learn about Understanding Error Handling in these lectures."]
},
"lab-isbn-validator": {
"title": "Debug a ISBN Validator",
@@ -3890,7 +3900,7 @@
},
"lecture-classes-and-objects": {
"title": "Classes and Objects",
- "intro": [""]
+ "intro": ["Learn about Classes and Objects in these lectures."]
},
"workshop-placeholder-classes-and-objects": {
"title": "Placeholder - waiting for title",
@@ -3917,7 +3927,9 @@
},
"lecture-understanding-object-oriented-programming-and-encapsulation": {
"title": "Understanding Object Oriented Programming and Encapsulation",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Object Oriented Programming and Encapsulation in these lectures."
+ ]
},
"workshop-placeholder-oop-1": {
"title": "Placeholder - Waiting for title",
@@ -3929,7 +3941,9 @@
},
"lecture-understanding-inheritance-and-polymorphism": {
"title": "Understanding Inheritance and polymorphism",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Inheritance and polymorphism in these lectures."
+ ]
},
"workshop-placeholder-oop-2": {
"title": "Placeholder - Waiting for title",
@@ -3943,7 +3957,7 @@
},
"lecture-understanding-abstraction": {
"title": "Understanding abstraction",
- "intro": [""]
+ "intro": ["Learn about Understanding abstraction in these lectures."]
},
"workshop-placeholder-oop-3": {
"title": "Placeholder - Waiting for title",
@@ -3967,8 +3981,10 @@
]
},
"lecture-working-with-common-data-structures": {
- "title": "Working with common data structures",
- "intro": [""]
+ "title": "Working with Common Data Structures",
+ "intro": [
+ "Learn about Working with Common Data Structures in these lectures."
+ ]
},
"workshop-linked-list-class": {
"title": "Build a Linked List Class",
@@ -3996,7 +4012,9 @@
},
"lecture-searching-and-sorting-algorithms": {
"title": "Searching and Sorting Algorithms",
- "intro": [""]
+ "intro": [
+ "Learn about Searching and Sorting Algorithms in these lectures."
+ ]
},
"workshop-binary-search": {
"title": "Build a Binary Search",
@@ -4007,8 +4025,11 @@
"intro": [""]
},
"workshop-merge-sort": {
- "title": "Build a Merge Sort",
- "intro": [""]
+ "title": "Implement the Merge Sort Algorithm",
+ "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."
+ ]
},
"lab-quick-sort": {
"title": "Build a Quick Sort",
@@ -4039,7 +4060,9 @@
},
"lecture-understanding-graphs-and-trees": {
"title": "Understanding Graphs and Trees",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Graphs and Trees in these lectures."
+ ]
},
"workshop-shortest-path-algorithm": {
"title": "Build a Shortest Path Algorithm",
@@ -4072,7 +4095,9 @@
},
"lecture-understanding-dynamic-programming": {
"title": "Understanding Dynamic Programming",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Dynamic Programming in these lectures."
+ ]
},
"lab-nth-fibonacci-number": {
"title": "Build an Nth Fibonacci Number Calculator",
@@ -4296,6 +4321,39 @@
}
}
},
+ "a2-professional-chinese": {
+ "title": "A2 Professional Chinese Certification (Beta)",
+ "note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
+ "intro": ["Placeholder intro"],
+ "blocks": {
+ "talk-about-what-you-do-by-using-key-verbs": {
+ "title": "Talk About What You Do by Using Key Verbs",
+ "intro": [
+ "Learn how to introduce yourself in Chinese in a simple and professional way. In this module you'll learn how to say who you are, where you are from, what you do, how you feel, and what you like or don't like."
+ ]
+ },
+ "get-to-know-colleagues-by-asking-simple-questions": {
+ "title": "Get to Know Colleagues by Asking Simple Questions",
+ "intro": [
+ "Learn how to ask and answer questions in simple conversations. Through five short dialogues, practice talking about routines, feelings, preferences, workspaces, and personal information. You'll also learn to ask polite questions, give short answers, and use negation naturally."
+ ]
+ }
+ }
+ },
+ "dev-playground": {
+ "title": "Dev Playground",
+ "intro": ["Playground for creating and testing challenges"],
+ "blocks": {
+ "daily-coding-challenges-javascript": {
+ "title": "Daily Coding Challenges JavaScript",
+ "intro": ["Place to create JavaScript daily coding challenges."]
+ },
+ "daily-coding-challenges-python": {
+ "title": "Daily Coding Challenges Python",
+ "intro": ["Place to create Python daily coding challenges."]
+ }
+ }
+ },
"misc-text": {
"browse-other": "Browse our other free certifications",
"courses": "Cursos",
diff --git a/client/i18n/locales/portuguese/translations.json b/client/i18n/locales/portuguese/translations.json
index ad79ce21bf7..7d4ea01d704 100644
--- a/client/i18n/locales/portuguese/translations.json
+++ b/client/i18n/locales/portuguese/translations.json
@@ -849,7 +849,8 @@
"opens-new-window": "Abre em uma nova janela",
"rsa-checkbox": "Eu tentei o método Ler-Pesquisar-Perguntar",
"similar-questions-checkbox": "Eu pesquisei por perguntas semelhantes que já foram respondidas no fórum",
- "edit-my-profile": "Editar meu perfil"
+ "edit-my-profile": "Editar meu perfil",
+ "terminal-output": "Terminal output"
},
"flash": {
"no-email-in-userinfo": "We could not retrieve an email from your chosen provider. Please try another provider or use the 'Continue with Email' option.",
@@ -1117,6 +1118,8 @@
"full-stack-developer-v9-cert": "Full Stack Developer Certification",
"a2-professional-spanish": "A2 Professional Spanish",
"a2-professional-spanish-cert": "A2 Professional Spanish Certification",
+ "a2-professional-chinese": "A2 Professional Chinese",
+ "a2-professional-chinese-cert": "A2 Professional Chinese Certification",
"legacy-front-end": "Legacy Front End",
"legacy-front-end-cert": "Legacy Front End Certification",
"legacy-back-end": "Legacy Back End",
diff --git a/client/i18n/locales/swahili/intro.json b/client/i18n/locales/swahili/intro.json
index 52dc80e1f47..516caeff67c 100644
--- a/client/i18n/locales/swahili/intro.json
+++ b/client/i18n/locales/swahili/intro.json
@@ -1290,7 +1290,7 @@
]
},
"top-build-a-rock-paper-scissors-game": {
- "title": "Build a Rock Paper Scissor Game",
+ "title": "Build a Rock Paper Scissors Game",
"intro": [
"Put your JavaScript skills to the test by building a Rock Paper Scissors game."
]
@@ -2985,6 +2985,12 @@
"In these lecture videos, you will learn more about the core JavaScript fundamentals. You will learn how a string object differs from a primitive string, the toString() method, conventions and common practices for naming variables, linters and formatters, closures, and much more."
]
},
+ "lab-slice-and-splice": {
+ "title": "Implement the Slice and Splice Algorithm",
+ "intro": [
+ "In this lab, you will practice merging an array with another."
+ ]
+ },
"lab-pyramid-generator": {
"title": "Build a Pyramid Generator",
"intro": [
@@ -3114,7 +3120,7 @@
"lab-lightbox-viewer": {
"title": "Build a Lightbox Viewer",
"intro": [
- "In this lab, you'll build a lighbox viewer for viewing images in a focused mode.",
+ "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.",
"You'll practice click events and toggling classes."
]
},
@@ -3569,7 +3575,7 @@
"workshop-toggle-text-app": {
"title": "Toggle Text App",
"intro": [
- "In this workshop, you will continute to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
+ "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
]
},
"lab-color-picker": {
@@ -3588,7 +3594,7 @@
"workshop-fruit-search-app": {
"title": "Build a Fruit Search App",
"intro": [
- "In this workshop, you will continute to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
+ "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
]
},
"vjgg": {
@@ -3815,7 +3821,9 @@
},
"lecture-working-with-loops-and-sequences": {
"title": "Working with Loops and Sequences",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Loops and Sequences in these lectures."
+ ]
},
"workshop-placeholder-loops-and-sequences": {
"title": "Placeholder - Waiting for title",
@@ -3840,11 +3848,13 @@
},
"lecture-working-with-dictionaries-and-sets": {
"title": "Working with Dictionaries and Sets",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Dictionaries and Sets in these lectures."
+ ]
},
"lecture-working-with-modules": {
"title": "Working with Modules",
- "intro": [""]
+ "intro": ["Learn about Working with Modules in these lectures."]
},
"workshop-placeholder-dictionaries-and-sets": {
"title": "Placeholder - waiting for title",
@@ -3869,7 +3879,7 @@
},
"lecture-understanding-error-handling": {
"title": "Understanding Error Handling",
- "intro": [""]
+ "intro": ["Learn about Understanding Error Handling in these lectures."]
},
"lab-isbn-validator": {
"title": "Debug a ISBN Validator",
@@ -3890,7 +3900,7 @@
},
"lecture-classes-and-objects": {
"title": "Classes and Objects",
- "intro": [""]
+ "intro": ["Learn about Classes and Objects in these lectures."]
},
"workshop-placeholder-classes-and-objects": {
"title": "Placeholder - waiting for title",
@@ -3917,7 +3927,9 @@
},
"lecture-understanding-object-oriented-programming-and-encapsulation": {
"title": "Understanding Object Oriented Programming and Encapsulation",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Object Oriented Programming and Encapsulation in these lectures."
+ ]
},
"workshop-placeholder-oop-1": {
"title": "Placeholder - Waiting for title",
@@ -3929,7 +3941,9 @@
},
"lecture-understanding-inheritance-and-polymorphism": {
"title": "Understanding Inheritance and polymorphism",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Inheritance and polymorphism in these lectures."
+ ]
},
"workshop-placeholder-oop-2": {
"title": "Placeholder - Waiting for title",
@@ -3943,7 +3957,7 @@
},
"lecture-understanding-abstraction": {
"title": "Understanding abstraction",
- "intro": [""]
+ "intro": ["Learn about Understanding abstraction in these lectures."]
},
"workshop-placeholder-oop-3": {
"title": "Placeholder - Waiting for title",
@@ -3967,8 +3981,10 @@
]
},
"lecture-working-with-common-data-structures": {
- "title": "Working with common data structures",
- "intro": [""]
+ "title": "Working with Common Data Structures",
+ "intro": [
+ "Learn about Working with Common Data Structures in these lectures."
+ ]
},
"workshop-linked-list-class": {
"title": "Build a Linked List Class",
@@ -3996,7 +4012,9 @@
},
"lecture-searching-and-sorting-algorithms": {
"title": "Searching and Sorting Algorithms",
- "intro": [""]
+ "intro": [
+ "Learn about Searching and Sorting Algorithms in these lectures."
+ ]
},
"workshop-binary-search": {
"title": "Build a Binary Search",
@@ -4007,8 +4025,11 @@
"intro": [""]
},
"workshop-merge-sort": {
- "title": "Build a Merge Sort",
- "intro": [""]
+ "title": "Implement the Merge Sort Algorithm",
+ "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."
+ ]
},
"lab-quick-sort": {
"title": "Build a Quick Sort",
@@ -4039,7 +4060,9 @@
},
"lecture-understanding-graphs-and-trees": {
"title": "Understanding Graphs and Trees",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Graphs and Trees in these lectures."
+ ]
},
"workshop-shortest-path-algorithm": {
"title": "Build a Shortest Path Algorithm",
@@ -4072,7 +4095,9 @@
},
"lecture-understanding-dynamic-programming": {
"title": "Understanding Dynamic Programming",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Dynamic Programming in these lectures."
+ ]
},
"lab-nth-fibonacci-number": {
"title": "Build an Nth Fibonacci Number Calculator",
@@ -4296,6 +4321,39 @@
}
}
},
+ "a2-professional-chinese": {
+ "title": "A2 Professional Chinese Certification (Beta)",
+ "note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
+ "intro": ["Placeholder intro"],
+ "blocks": {
+ "talk-about-what-you-do-by-using-key-verbs": {
+ "title": "Talk About What You Do by Using Key Verbs",
+ "intro": [
+ "Learn how to introduce yourself in Chinese in a simple and professional way. In this module you'll learn how to say who you are, where you are from, what you do, how you feel, and what you like or don't like."
+ ]
+ },
+ "get-to-know-colleagues-by-asking-simple-questions": {
+ "title": "Get to Know Colleagues by Asking Simple Questions",
+ "intro": [
+ "Learn how to ask and answer questions in simple conversations. Through five short dialogues, practice talking about routines, feelings, preferences, workspaces, and personal information. You'll also learn to ask polite questions, give short answers, and use negation naturally."
+ ]
+ }
+ }
+ },
+ "dev-playground": {
+ "title": "Dev Playground",
+ "intro": ["Playground for creating and testing challenges"],
+ "blocks": {
+ "daily-coding-challenges-javascript": {
+ "title": "Daily Coding Challenges JavaScript",
+ "intro": ["Place to create JavaScript daily coding challenges."]
+ },
+ "daily-coding-challenges-python": {
+ "title": "Daily Coding Challenges Python",
+ "intro": ["Place to create Python daily coding challenges."]
+ }
+ }
+ },
"misc-text": {
"browse-other": "Browse our other free certifications",
"courses": "Kozi",
diff --git a/client/i18n/locales/swahili/translations.json b/client/i18n/locales/swahili/translations.json
index a40384cc719..97ba347a636 100644
--- a/client/i18n/locales/swahili/translations.json
+++ b/client/i18n/locales/swahili/translations.json
@@ -849,7 +849,8 @@
"opens-new-window": "Inafungua katika kurasa mpya",
"rsa-checkbox": "I have tried the Read-Search-Ask method",
"similar-questions-checkbox": "I have searched for similar questions that have already been answered on the forum",
- "edit-my-profile": "Edit my profile"
+ "edit-my-profile": "Edit my profile",
+ "terminal-output": "Terminal output"
},
"flash": {
"no-email-in-userinfo": "We could not retrieve an email from your chosen provider. Please try another provider or use the 'Continue with Email' option.",
@@ -1117,6 +1118,8 @@
"full-stack-developer-v9-cert": "Full Stack Developer Certification",
"a2-professional-spanish": "A2 Professional Spanish",
"a2-professional-spanish-cert": "A2 Professional Spanish Certification",
+ "a2-professional-chinese": "A2 Professional Chinese",
+ "a2-professional-chinese-cert": "A2 Professional Chinese Certification",
"legacy-front-end": "Legacy Front End",
"legacy-front-end-cert": "Legacy Front End Certification",
"legacy-back-end": "Legacy Back End",
diff --git a/client/i18n/locales/ukrainian/intro.json b/client/i18n/locales/ukrainian/intro.json
index f653a42ec73..f623c6420f4 100644
--- a/client/i18n/locales/ukrainian/intro.json
+++ b/client/i18n/locales/ukrainian/intro.json
@@ -1282,7 +1282,7 @@
]
},
"top-build-a-rock-paper-scissors-game": {
- "title": "Побудуйте гру «Камінь-ножиці-папір»",
+ "title": "Build a Rock Paper Scissors Game",
"intro": [
"Випробуйте свої навички по JavaScript, побудувавши гру «Камінь-ножиці-папір»."
]
@@ -2983,6 +2983,12 @@
"У цих відеолекціях ви детальніше розглянете основи JavaScript. Ви дізнаєтесь про різницю між об’єктом-рядком і примітивним рядком, метод toString(), конвенції й загальноприйняті практики найменування змінних, лінтери і форматувальники, замикання та багато іншого."
]
},
+ "lab-slice-and-splice": {
+ "title": "Implement the Slice and Splice Algorithm",
+ "intro": [
+ "In this lab, you will practice merging an array with another."
+ ]
+ },
"lab-pyramid-generator": {
"title": "Створіть генератор пірамід",
"intro": [
@@ -2991,10 +2997,10 @@
]
},
"lab-gradebook-app": {
- "title": "Створіть журнал з оцінками",
+ "title": "Створіть відомість з оцінками",
"intro": [
- "У цій лабораторній роботі ви створите електронний журнал з оцінками.",
- "Ви будете практикуватись використовувати умови для визначення підсумкової оцінки учня на основі його балів."
+ "У цій лабораторній роботі ви створите електронну відомість з оцінками.",
+ "Ви будете використовувати умови, щоб визначити підсумкову оцінку студента на основі його балів."
]
},
"lecture-the-var-keyword-and-hoisting": {
@@ -3112,7 +3118,7 @@
"lab-lightbox-viewer": {
"title": "Створіть переглядач Lightbox",
"intro": [
- "У цій лабораторній роботі ви створите переглядач lightbox для перегляду зображень у сфокусованому режимі.",
+ "In this lab, you'll build a lightbox viewer for viewing images in a focused mode.",
"Ви будете практикуватись працювати з подіями натискання та перемиканням класів."
]
},
@@ -3563,7 +3569,7 @@
"workshop-toggle-text-app": {
"title": "Toggle Text App",
"intro": [
- "In this workshop, you will continute to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
+ "In this workshop, you will continue to learn about the useState() hook by building an application that hides and shows a piece of text on the screen."
]
},
"lab-color-picker": {
@@ -3582,7 +3588,7 @@
"workshop-fruit-search-app": {
"title": "Build a Fruit Search App",
"intro": [
- "In this workshop, you will continute to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
+ "In this workshop, you will continue to learn about the useEffect() hook by building an application that fetches fruit data from an API based on user input and displays the results dynamically."
]
},
"vjgg": {
@@ -3803,7 +3809,9 @@
},
"lecture-working-with-loops-and-sequences": {
"title": "Робота з циклами та послідовностями",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Loops and Sequences in these lectures."
+ ]
},
"workshop-placeholder-loops-and-sequences": {
"title": "Placeholder - Waiting for title",
@@ -3828,11 +3836,13 @@
},
"lecture-working-with-dictionaries-and-sets": {
"title": "Робота зі словниками та наборами",
- "intro": [""]
+ "intro": [
+ "Learn about Working with Dictionaries and Sets in these lectures."
+ ]
},
"lecture-working-with-modules": {
"title": "Робота з модулями",
- "intro": [""]
+ "intro": ["Learn about Working with Modules in these lectures."]
},
"workshop-placeholder-dictionaries-and-sets": {
"title": "Placeholder - waiting for title",
@@ -3855,7 +3865,7 @@
},
"lecture-understanding-error-handling": {
"title": "Знайомство з обробкою помилок",
- "intro": [""]
+ "intro": ["Learn about Understanding Error Handling in these lectures."]
},
"lab-isbn-validator": {
"title": "Налагодьте валідатор ISBN",
@@ -3874,7 +3884,7 @@
},
"lecture-classes-and-objects": {
"title": "Класи та об’єкти",
- "intro": [""]
+ "intro": ["Learn about Classes and Objects in these lectures."]
},
"workshop-placeholder-classes-and-objects": {
"title": "Placeholder - waiting for title",
@@ -3899,7 +3909,9 @@
},
"lecture-understanding-object-oriented-programming-and-encapsulation": {
"title": "Знайомство з об’єктноорієнтованим програмуванням та інкапсуляцією",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Object Oriented Programming and Encapsulation in these lectures."
+ ]
},
"workshop-placeholder-oop-1": {
"title": "Placeholder - Waiting for title",
@@ -3911,7 +3923,9 @@
},
"lecture-understanding-inheritance-and-polymorphism": {
"title": "Знайомство з успадкуванням та поліморфізмом",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Inheritance and polymorphism in these lectures."
+ ]
},
"workshop-placeholder-oop-2": {
"title": "Placeholder - Waiting for title",
@@ -3925,7 +3939,7 @@
},
"lecture-understanding-abstraction": {
"title": "Знайомство з абстракцією",
- "intro": [""]
+ "intro": ["Learn about Understanding abstraction in these lectures."]
},
"workshop-placeholder-oop-3": {
"title": "Placeholder - Waiting for title",
@@ -3949,8 +3963,10 @@
]
},
"lecture-working-with-common-data-structures": {
- "title": "Робота з поширеними структурами даних",
- "intro": [""]
+ "title": "Working with Common Data Structures",
+ "intro": [
+ "Learn about Working with Common Data Structures in these lectures."
+ ]
},
"workshop-linked-list-class": {
"title": "Створіть клас «Linked List»",
@@ -3976,7 +3992,9 @@
},
"lecture-searching-and-sorting-algorithms": {
"title": "Алгоритми пошуку та сортування",
- "intro": [""]
+ "intro": [
+ "Learn about Searching and Sorting Algorithms in these lectures."
+ ]
},
"workshop-binary-search": {
"title": "Створіть бінарний пошук",
@@ -3987,8 +4005,11 @@
"intro": [""]
},
"workshop-merge-sort": {
- "title": "Створіть алгоритм сортування злиттям",
- "intro": [""]
+ "title": "Implement the Merge Sort Algorithm",
+ "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."
+ ]
},
"lab-quick-sort": {
"title": "Створіть алгоритм швидкого сортування",
@@ -4019,7 +4040,9 @@
},
"lecture-understanding-graphs-and-trees": {
"title": "Знайомство з графами та деревами",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Graphs and Trees in these lectures."
+ ]
},
"workshop-shortest-path-algorithm": {
"title": "Створіть алгоритм найкоротшого шляху",
@@ -4050,7 +4073,9 @@
},
"lecture-understanding-dynamic-programming": {
"title": "Знайомство з динамічним програмуванням",
- "intro": [""]
+ "intro": [
+ "Learn about Understanding Dynamic Programming in these lectures."
+ ]
},
"lab-nth-fibonacci-number": {
"title": "Створіть калькулятор n-го числа Фібоначчі",
@@ -4280,6 +4305,39 @@
}
}
},
+ "a2-professional-chinese": {
+ "title": "A2 Professional Chinese Certification (Beta)",
+ "note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.",
+ "intro": ["Placeholder intro"],
+ "blocks": {
+ "talk-about-what-you-do-by-using-key-verbs": {
+ "title": "Talk About What You Do by Using Key Verbs",
+ "intro": [
+ "Learn how to introduce yourself in Chinese in a simple and professional way. In this module you'll learn how to say who you are, where you are from, what you do, how you feel, and what you like or don't like."
+ ]
+ },
+ "get-to-know-colleagues-by-asking-simple-questions": {
+ "title": "Get to Know Colleagues by Asking Simple Questions",
+ "intro": [
+ "Learn how to ask and answer questions in simple conversations. Through five short dialogues, practice talking about routines, feelings, preferences, workspaces, and personal information. You'll also learn to ask polite questions, give short answers, and use negation naturally."
+ ]
+ }
+ }
+ },
+ "dev-playground": {
+ "title": "Dev Playground",
+ "intro": ["Playground for creating and testing challenges"],
+ "blocks": {
+ "daily-coding-challenges-javascript": {
+ "title": "Daily Coding Challenges JavaScript",
+ "intro": ["Place to create JavaScript daily coding challenges."]
+ },
+ "daily-coding-challenges-python": {
+ "title": "Daily Coding Challenges Python",
+ "intro": ["Place to create Python daily coding challenges."]
+ }
+ }
+ },
"misc-text": {
"browse-other": "Перегляньте інші безоплатні сертифікації",
"courses": "Курси",
diff --git a/client/i18n/locales/ukrainian/translations.json b/client/i18n/locales/ukrainian/translations.json
index 02514dd7e28..cdfaae93429 100644
--- a/client/i18n/locales/ukrainian/translations.json
+++ b/client/i18n/locales/ukrainian/translations.json
@@ -849,7 +849,8 @@
"opens-new-window": "Відкривається у новому вікні",
"rsa-checkbox": "Я спробував(-ла) метод читати-шукати-питати",
"similar-questions-checkbox": "Я шукав(-ла) схожі запитання на форумі, на які вже є відповідь",
- "edit-my-profile": "Редагувати профіль"
+ "edit-my-profile": "Редагувати профіль",
+ "terminal-output": "Terminal output"
},
"flash": {
"no-email-in-userinfo": "We could not retrieve an email from your chosen provider. Please try another provider or use the 'Continue with Email' option.",
@@ -1117,6 +1118,8 @@
"full-stack-developer-v9-cert": "Сертифікація «Full Stack розробник»",
"a2-professional-spanish": "Іспанська мова A2 для роботи",
"a2-professional-spanish-cert": "Сертифікація «Іспанська мова A2 для роботи»",
+ "a2-professional-chinese": "A2 Professional Chinese",
+ "a2-professional-chinese-cert": "A2 Professional Chinese Certification",
"legacy-front-end": "Front End (стара версія)",
"legacy-front-end-cert": "Сертифікація «Front End» (стара версія)",
"legacy-back-end": "Back End (стара версія)",