diff --git a/apps/dashboard/src/lib/utils/translations/da.json b/apps/dashboard/src/lib/utils/translations/da.json index 2a7e489e..dba41f39 100644 --- a/apps/dashboard/src/lib/utils/translations/da.json +++ b/apps/dashboard/src/lib/utils/translations/da.json @@ -513,7 +513,7 @@ "public_api_required": "Opgrader til Early Adopter eller Enterprise for at få adgang til det offentlige API." }, "analytics": { - "title": "Analytics", + "title": "Analyse", "courses": "Kurser", "progress": "Fremskridt", "progress_description": "{value, number} af {total, number} fuldført", @@ -552,7 +552,7 @@ "showing_students": "Viser {start} til {end} af {total} elever", "no_analytics_data": "Ingen analysedata", "no_analytics_description": "Kan ikke indlæse analysedata for dette kursus. Prøv igen senere, eller kontakt support, hvis problemet fortsætter.", - "student": "Student", + "student": "Studerende", "student_progress_distribution": "Fordeling af studerendes fremskridt", "grade_distribution": "Karakterfordeling", "progress_80_plus": "80 %+ fremskridt", @@ -564,7 +564,7 @@ "grade_below_70": "Under 70 % karakter", "number_of_students": "Antal studerende", "progress_range": "Fremskridtsområde", - "grade_range": "Grade Range", + "grade_range": "Karakterinterval", "no_progress_data": "Ingen statusdata tilgængelige", "no_grade_data": "Ingen karakterdata tilgængelige", "loading_chart": "Indlæser diagram...", @@ -577,7 +577,7 @@ "description": "Tilmeldinger grupperet efter kursustype", "subtitle": "{total} tilmeldinger på tværs af alle typer", "empty": "Ingen tilmeldingsdata endnu", - "course_count": "{count, plural, one {# course} other {# courses}}", + "course_count": "{count, plural, one {# kursus} other {# kurser}}", "views_short": "visninger", "types": { "SELF_PACED": "Selv-tempo", @@ -635,8 +635,8 @@ "progress_distribution_card_description": "Hvor mange elever falder der ind i hvert afslutningsbånd.", "grade_distribution_card_description": "Hvor mange elever falder der ind i hvert klassetrin.", "students_table_description": "Sorterbar oversigt med links til elevprofiler.", - "kpi_team_tutors": "{count, plural, one {# tutor on the course team} other {# tutors on the course team}}", - "kpi_lessons_exercises": "{count, plural, one {# exercise} other {# exercises}} knyttet til lektioner", + "kpi_team_tutors": "{count, plural, one {# underviser på kursusholdet} other {# undervisere på kursusholdet}}", + "kpi_lessons_exercises": "{count, plural, one {# øvelse} other {# øvelser}} knyttet til lektioner", "kpi_progress_grade": "{grade} % gennemsnitlig øvelseskarakter på tværs af tilmeldte elever" } }, @@ -702,10 +702,10 @@ "select_cohorts": "Vælg specifikke kohorter", "select_cohorts_placeholder": "Vælg kohorter..." }, - "page_subtitle": "See who belongs to your org, who is learning, who is invited, and how to reach them.", + "page_subtitle": "Se hvem der hører til din organisation, hvem der lærer, hvem der er inviteret, og hvordan du kan kontakte dem.", "user_analytics": { "title": "Elevprofil", - "page_subtitle": "Progress, grades, and activity across their courses." + "page_subtitle": "Fremskridt, karakterer og aktivitet på tværs af deres kurser." }, "delete": { "action": "Slet", @@ -748,11 +748,11 @@ "cancel": "Annuller", "give": "Giv et svar", "comment": "Kommentar", - "page_subtitle": "Start a thread the whole community can see, and tie it to a course if you want." + "page_subtitle": "Start en tråd, som hele fællesskabet kan se, og knyt den til et kursus, hvis du vil." }, - "page_subtitle": "Questions and answers shared across your organization's courses.", + "page_subtitle": "Spørgsmål og svar delt på tværs af din organisations kurser.", "question": { - "page_subtitle": "Follow answers, vote, and join the discussion." + "page_subtitle": "Følg svar, stem, og deltag i diskussionen." } }, "course": { @@ -857,7 +857,7 @@ } }, "analytics": { - "title": "Analytics" + "title": "Analyse" }, "landing_page": { "course_content": "Kursusindhold", @@ -871,12 +871,12 @@ "certificate": "Certifikat", "certificate_text": "Når du har gennemført alle kurserne i kohorten, får du et certifikat, som du kan dele med dit professionelle netværk.", "content": "Kursusindhold", - "slide": "1 rutsjebane", + "slide": "1 dias", "note": "bemærk", "video": "video", "reviews": "Anmeldelser", "see_all": "Se alle", - "header_video": "Header video", + "header_video": "Headervideo", "no_course_published": "Intet kursus offentliggjort", "coming_your_way": "Vi har gode kurser på vej, følg med!!!", "view_less": "Se mindre", @@ -929,7 +929,7 @@ "editor": { "save": "Gem", "page_builder": "Sidebygger", - "section": "afsnit", + "section": "sektion", "display_section": "Display sektion", "pricing_form": { "currency": "Valuta", @@ -1011,7 +1011,7 @@ "tab_design": "Design", "tab_settings": "Indstillinger", "theme": "Vælg et tema", - "logo": "Brand Logo", + "logo": "Brandlogo", "to_update": "Gå til for at opdatere dit brandimage", "settings": "Indstillinger > Organisationsindstillinger", "and_upload": "og upload dit brandlogo", @@ -1042,7 +1042,7 @@ "saved": "Certifikatdesign gemt", "unsaved": "Ikke gemt", "free_plan": "Gratis plan", - "preview": "Live preview", + "preview": "Live forhåndsvisning", "sections": "Redaktørsektioner", "panel_templates": "Skabeloner", "panel_templates_subtitle": "Vælg en skabelon til at forankre den visuelle stil.", @@ -1130,7 +1130,7 @@ "roles": { "admin": "Admin", "tutor": "Underviser", - "student": "Student", + "student": "Studerende", "filter": "Filter" }, "delete_confirmation": { @@ -1187,26 +1187,26 @@ "direct_email_bulk": "Direkte e-mail / masseinvitation", "direct_email_description": "Indsæt e-mailadresser adskilt af komma, mellemrum eller ny linje. En unik sikker invitation oprettes pr. e-mail.", "recipient_emails": "Modtagers e-mails", - "recipient_emails_placeholder": "elev1@example.com, elev2@example.com", + "recipient_emails_placeholder": "student1@example.com, student2@example.com", "send_invite_emails": "Send invitationsmails med det samme", "create_email_invites": "Opret e-mail-invitationer", - "existing_students_title": "Add existing org students", + "existing_students_title": "Tilføj eksisterende organisationsstuderende", "existing_students_description": "Vælg studerende, der allerede er i denne organisation, og giv dem direkte adgang til dette kursus.", - "existing_students_search": "Search organization students", - "loading_existing_students": "Loading organization students...", - "no_existing_students": "No organization students are available to add.", - "no_matching_existing_students": "No organization students match your search.", - "notify_existing_students": "Send course access email", - "grant_access": "Grant Access", + "existing_students_search": "Søg i organisationens studerende", + "loading_existing_students": "Indlæser organisationens studerende...", + "no_existing_students": "Ingen organisationsstuderende kan tilføjes.", + "no_matching_existing_students": "Ingen organisationsstuderende matcher din søgning.", + "notify_existing_students": "Send e-mail om kursusadgang", + "grant_access": "Giv adgang", "grant_access_modal": { "title": "Giv studerende adgang", "description": "Giv {email} adgang til dette kursus. Vi sender en invitationsmail, så vedkommende kan tilslutte sig din organisation og tilmelde sig kurset.", "cancel": "Annuller", "send_invite": "Send invitationen" }, - "invite_new_students_title": "Invite new students", - "invite_new_students_description": "Invite new people into your organization and pre-assign them to this course. They will create an account, accept the invite, and get access.", - "invite_new_students": "Invite Students", + "invite_new_students_title": "Inviter nye studerende", + "invite_new_students_description": "Inviter nye personer til din organisation og forudtildel dem til dette kursus. De opretter en konto, accepterer invitationen og får adgang.", + "invite_new_students": "Inviter studerende", "existing_invites": "Eksisterende invitationer", "refresh": "Opdater", "loading_invites": "Indlæser invitationer...", @@ -1226,7 +1226,7 @@ "no_audit_events": "Ingen revisionsbegivenheder.", "audit_at": "Kl", "audit_email": "E-mail", - "audit_actor": "Skuespiller", + "audit_actor": "Aktør", "audit_ip": "IP", "scan_qr": "Scan QR", "classroomio_brand": "ClassroomIO.com", @@ -1240,7 +1240,7 @@ "snackbar_failed_load_audit": "Invitationsrevision kunne ikke indlæses", "snackbar_metadata_copied": "Invitationsmetadata er kopieret", "snackbar_email_invites_success": "Oprettet {count} invitation(er). Sendt {sent}, mislykkedes {failed}. Sprang over {duplicates} dubletter.", - "select_at_least_one_student": "Select at least one existing student", + "select_at_least_one_student": "Vælg mindst én eksisterende studerende", "presets": { "one_time_24h": "Engangs (24 timer)", "multi_use_7d": "Multi-brug (7 dage)", @@ -1252,8 +1252,8 @@ }, "marks": { "title": "Mærker", - "student": "Student", - "total": "I alt", + "student": "Studerende", + "total": "Total", "no_student": "Ingen elev tilføjet", "export": { "csv": "Eksporter som CSV", @@ -1268,7 +1268,7 @@ "early": "Tidligt", "late": "sent", "total_grade": "Samlet karakter", - "student": "Student", + "student": "Studerende", "status": "Status", "add_comment": "Tilføj kommentar", "add_comment_placeholder": "Efterlad en kommentar", @@ -1285,7 +1285,7 @@ "delete_prompt": "Slet", "delete_error": "Indsendelsen kunne ikke slettes", "delete_success": "Indsendelsen blev slettet", - "student_avatar": "Student avatar", + "student_avatar": "Studerendes avatar", "ai_icon": "AI" }, "submission_status": { @@ -1304,7 +1304,7 @@ "present": "Til stede", "absent": "Fraværende", "search_students": "Søg efter studerende", - "student": "Student", + "student": "Studerende", "lesson": "Lektion", "no_student": "Ingen elev tilføjet" }, @@ -1318,7 +1318,7 @@ "add_content_description": "Vælg den type indhold, du vil tilføje.", "add_content_details": "Udfyld detaljerne for dette indhold.", "add_content_adding_to": "Tilføjer til", - "add_content_section_fallback": "afsnit", + "add_content_section_fallback": "sektion", "add_content_continue": "Fortsæt", "add_content_section_label": "Sektion", "add_content_select_section": "Vælg sektion", @@ -1348,7 +1348,7 @@ "incomplete": "Ufuldstændig", "complete": "Komplet", "next": "Næste", - "prev": "Prev", + "prev": "Forrige", "prev_shortcut": "Forrige (←)", "next_shortcut": "Næste (→)", "disabled": "Funktionen er deaktiveret", @@ -1375,7 +1375,7 @@ "create_poll": "Opret afstemning", "question": "Spørgsmål", "options": "Valgmuligheder", - "option_label": "Option Label", + "option_label": "Valgmulighedsetiket", "cancel": "Annuller", "poll_question": "Afstemningsspørgsmål" }, @@ -1435,14 +1435,14 @@ "check": "Tjek", "auto_graded_badge": "Automatisk bedømmelse", "manual_grading_required_badge": "Manuel bedømmelse påkrævet", - "points_required_auto_grade": "Points must be greater than 0 for auto-graded exercises.", + "points_required_auto_grade": "Point skal være større end 0 for auto-bedømte øvelser.", "analytics": { "submissions": "Indsendelser", "individual": { "heading": "Individuel", "answers": "Individuelle svar", "no": "Der blev ikke givet noget svar", - "student_avatar": "Student", + "student_avatar": "Studerende", "answers_for": "{name}s svar", "attempts_count": "{count} forsøg", "attempt_label": "Forsøg {number}", @@ -1531,9 +1531,9 @@ }, "select_type": "Vælg type", "question_type_auto_gradable": "Auto", - "question_type_auto_gradable_description": "Scored automatically by the system", - "question_type_manual_grading": "Manual", - "question_type_manual_grading_description": "Requires human review to score", + "question_type_auto_gradable_description": "Bedømmes automatisk af systemet", + "question_type_manual_grading": "Manuel", + "question_type_manual_grading_description": "Kræver manuel gennemgang for bedømmelse", "premium_question_type": "Opgrader for at bruge denne spørgsmålstype" }, "delete_confirmation": { @@ -1554,16 +1554,16 @@ "textarea": { "take": { "placeholder": "Skriv dit svar", - "min_error": "Answer must be at least {min} characters.", - "max_error": "Answer must be at most {max} characters.", - "range_error": "Answer must be between {min} and {max} characters." + "min_error": "Svaret skal være på mindst {min} tegn.", + "max_error": "Svaret må højst være på {max} tegn.", + "range_error": "Svaret skal være mellem {min} og {max} tegn." }, "edit": { "placeholder": "Eleverne vil svare med lang tekst", - "min_characters_label": "Minimum characters", - "min_characters_placeholder": "Minimum characters", - "max_characters_label": "Maximum characters", - "max_characters_placeholder": "Maximum characters" + "min_characters_label": "Minimum antal tegn", + "min_characters_placeholder": "Minimum antal tegn", + "max_characters_label": "Maksimum antal tegn", + "max_characters_placeholder": "Maksimum antal tegn" } }, "hotspot": { @@ -1615,7 +1615,7 @@ }, "take": { "helper": "Tilføj et eller flere links. Kun gyldige http/https URL'er accepteres.", - "placeholder": "https://example.com/ressource-'{'index'}'", + "placeholder": "https://example.com/resource-'{'index'}'", "remove_tooltip": "Fjern link", "remove_sr": "Fjern link", "invalid_url_error": "Indtast venligst en gyldig URL (http/https).", @@ -1753,7 +1753,7 @@ "finish": "Afslut" }, "common": { - "option_prefix": "Mulighed", + "option_prefix": "Valgmulighed", "remove": "Fjern", "add_option": "Tilføj mulighed", "correct_badge": "korrekt", @@ -1779,7 +1779,7 @@ "template_helper": "Brug tre understregninger (___) for hvert blanktegn. Eleverne vil se en ordbank med korrekte svar og distraktorer.", "no_blanks_warning": "Tilføj mindst én ___ tom markør i din skabelon.", "correct_answers_heading": "Korrekt svar for hver blank", - "blank_label": "Blank", + "blank_label": "Tomt felt", "correct_placeholder": "Korrekt udtryk eller sætning", "distractors_heading": "Ekstra ord (distraktioner)", "distractor_placeholder": "Forkert mulighed", @@ -1830,7 +1830,7 @@ "stop_recording": "Stop optagelsen", "elapsed": "Forløbet", "remaining": "Tilbage", - "max_duration": "Maks", + "max_duration": "Maks.", "too_short": "Optag i mindst 1 sekund.", "use_recording": "Brug optagelse", "retake": "Gentag", @@ -1920,7 +1920,7 @@ "finish": "Afslut", "select_template": "Vælg en skabelon", "questions": "Spørgsmål", - "points": "Points", + "points": "Point", "back": "Tilbage", "create_exercises": "Opret øvelser fra Notes med AI", "choose_questions": "Vælg, hvor mange spørgsmål og muligheder du vil have, og AI hjælper dig med at lave en øvelse ud af din note. Lad os gå.", @@ -2017,7 +2017,7 @@ "add_video": "Tilføj video", "upload_video": "Upload video", "select_file": "Vælg fil (Mp4, MOV, AVI) for at uploade til din lektion.", - "size": "(Max 500 MB)", + "size": "(Maks. 500 MB)", "oops": "Ups `😬, videoen kunne ikke uploades", "big_file": "Beklager, at videoen ikke blev uploadet. Filstørrelsen er for stor,", "maximum_size": "maksimal størrelse er 30 MB. Prøv igen!", @@ -2036,7 +2036,7 @@ "add_from_library": "Tilføj fra biblioteket", "cancel_upload": "Annuller upload", "upload_cancelled": "Upload annulleret af brugeren", - "max_files": "{count, plural, one {You can upload # file} other {You can upload # files}}", + "max_files": "{count, plural, one {Du kan uploade # fil} other {Du kan uploade # filer}}", "max_files_and_size": "(op til {size} hver)", "google_drive_choose": "Vælg fra Google Drev", "google_drive_opening": "Åbner vælgeren...", @@ -2057,15 +2057,15 @@ }, "empty_title": "Ingen videoer endnu", "empty_description": "Tilføj videoer fra YouTube, upload eller dit mediebibliotek", - "google_drive": "Google Drev", - "generate_transcript": "Generate transcription", - "generate_transcript_in_progress": "Transcribing…", + "google_drive": "Google Drive", + "generate_transcript": "Generer transskription", + "generate_transcript_in_progress": "Transskriberer…", "transcript": { - "title": "Transcript", - "captions_label": "Captions", - "language": "Language: {language}", - "empty": "No transcript yet. You can generate one from this card’s menu after the video is uploaded.", - "loading": "Loading transcript…", + "title": "Transskription", + "captions_label": "Undertekster", + "language": "Sprog: {language}", + "empty": "Ingen transskription endnu. Du kan generere en fra dette korts menu, når videoen er uploadet.", + "loading": "Indlæser transskription…", "open_side_panel": "Åbn transskriptionspanelet", "edit": "Rediger udskrift", "save": "Gem", @@ -2078,7 +2078,7 @@ "simple_card": { "kind_youtube": "YouTube", "kind_upload": "Upload", - "kind_google_drive": "Google Drev", + "kind_google_drive": "Google Drive", "kind_generic": "Indlejret", "course_fallback": "Kursus", "menu_aria": "Video muligheder", @@ -2096,8 +2096,8 @@ "playback_auth_action": "Log ind" }, "slide": { - "title": "Slide", - "slide_link": "Slide Link", + "title": "Dias", + "slide_link": "Diaslink", "helper_message": "Du kan integrere Google Slides eller Canva Presentation" }, "note": { @@ -2188,13 +2188,13 @@ "saved": "Gemt", "draft_recovery": "Der blev fundet et ikke-gemt udkast til denne lektion. Vil du gendanne den?", "stats": { - "sections": "Afsnit", + "sections": "Sektioner", "lessons": "Lektioner", "exercises": "Øvelser" }, "session": { "join": "Deltag i session", - "heading": "Live session", + "heading": "Live-session", "intro": "Indstil deltagelseslinket og det planlagte tidspunkt for dette livehold. Eleverne får rykker 24 timer og 1 time før.", "link_label": "Tilmeld dig link (Zoom, Mød osv.)", "datetime_label": "Dato og tid", @@ -2209,7 +2209,7 @@ "confirm_cancel": "Annuller", "confirm_save": "Gem og underret", "live_indicator": "Denne lektion er en live session", - "live_session": "Live session", + "live_session": "Live-session", "live_now": "Live nu", "live_event": "Live session", "started": "Startede", @@ -2263,7 +2263,7 @@ "delete": "Slet" }, "card": { - "pin": "Pin", + "pin": "Fastgør", "unpin": "Frigør", "edit": "Rediger", "delete": "Slet" @@ -2306,7 +2306,7 @@ "waived": "Frafaldet" }, "fields": { - "learner": "Student", + "learner": "Studerende", "email": "E-mail", "status": "Status", "cycle": "Cyklus", @@ -2355,8 +2355,8 @@ "empty": "Ingen resultater fundet" }, "header": { - "preview": "Preview course", - "preview_missing_slug": "Generate and save a course slug before previewing.", + "preview": "Forhåndsvis kursus", + "preview_missing_slug": "Generer og gem et kursus-slug, før du forhåndsviser.", "view_as_student": "Se som studerende", "view_course_site": "Se kursusside" }, @@ -2392,7 +2392,7 @@ "nav_marks": "Mærker", "nav_compliance": "Overholdelse", "nav_people": "Mennesker", - "nav_analytics": "Analytics", + "nav_analytics": "Analyse", "nav_certificates": "Certifikater", "nav_landing_page": "Landingsside", "nav_settings": "Indstillinger", @@ -2565,12 +2565,12 @@ "valid_until": "Gælder indtil kl" }, "course_filter": { - "date_created_newest": "Date Created: Newest first", - "date_created_oldest": "Date Created: Oldest first", - "published_first": "Published: Published first", - "unpublished_first": "Published: Unpublished first", - "most_lessons": "Lessons: Most first", - "fewest_lessons": "Lessons: Fewest first", + "date_created_newest": "Oprettelsesdato: Nyeste først", + "date_created_oldest": "Oprettelsesdato: Ældste først", + "published_first": "Publiceret: Publicerede først", + "unpublished_first": "Publiceret: Upubliserede først", + "most_lessons": "Lektioner: Flest først", + "fewest_lessons": "Lektioner: Færrest først", "date_created": "Dato oprettet", "published": "Udgivet", "lessons": "Lektioner" @@ -2582,12 +2582,12 @@ "popover_title": "Filtre", "sort": "Sorter", "order": "Rækkefølge", - "ascending": "Asc", - "descending": "Desc", + "ascending": "Stig.", + "descending": "Fald.", "tags": "Tags", "empty_tags": "Ingen tags tilgængelige" }, - "page_subtitle": "Where lessons turn into courses and courses turn into enrollments." + "page_subtitle": "Hvor lektioner bliver til kurser, og kurser bliver til tilmeldinger." }, "ai": { "help_me": "Hjælp mig med at skrive", @@ -2614,13 +2614,13 @@ "lms_dashboard_hero": "I dag er endnu en dag til at bringe dig tættere på dine læringsmål. Giv ikke op, jo mere du lærer, jo bedre bliver du.", "lessons_completed": "Lektioner afsluttet", "no_courses_started": "Ingen kurser startet", - "certificates_earned": "Certificates issued", - "certificates_earned_description": "Total certificates issued to students in your organization", + "certificates_earned": "Udstedte certifikater", + "certificates_earned_description": "Samlet antal certifikater udstedt til studerende i din organisation", "certification_rate": "Certificeret", - "recent_certifications": "Recent certifications", - "no_certifications_yet": "No certificates earned yet", - "no_certifications_yet_description": "When students complete a course and earn a certificate, they will appear here", - "view_courses": "View courses", + "recent_certifications": "Seneste certificeringer", + "no_certifications_yet": "Ingen certifikater optjent endnu", + "no_certifications_yet_description": "Når studerende gennemfører et kursus og optjener et certifikat, vises de her", + "view_courses": "Se kurser", "no_of_courses": "Antal kurser", "no_courses_description": "Kurser oprettet i denne organisation", "total_students": "Samlet studerende", @@ -2637,7 +2637,7 @@ "publish_course": "Udgiv kursus", "items_completed": "Varer afsluttet", "currently_learning": "Lærer i øjeblikket", - "learner": "Student", + "learner": "Studerende", "progress": "Fremskridt", "pick_up_where_you_left_off": "Fortsæt hvor du slap", "get_your_certificate": "Hent dit certifikat", @@ -2774,7 +2774,7 @@ "continue": "Fortsæt", "rename": "Omdøb", "updated": "Opdateret", - "start": "Start Quiz", + "start": "Start quiz", "start_typing": "Begynd at skrive dit spørgsmål", "required_field": "Dette felt er påkrævet", "type_answer": "Skriv svar", @@ -2791,7 +2791,7 @@ "goto": "Gå til", "courses": "Kurser", "home": "Hjem", - "classroomio_home": "ClassroomIO Hjem", + "classroomio_home": "ClassroomIO Home", "dashboard": "Dashboard", "discussion": "Diskussion", "people": "Mennesker", @@ -2820,7 +2820,7 @@ "progress": "Fremskridt", "completed": "afsluttet", "done": "Færdig", - "todo": "Todo", + "todo": "Opgaver", "publish_course": { "title": "Udgiv et kursus", "desc": "Gør dit kursus offentligt og tilgængeligt", @@ -2892,7 +2892,7 @@ "automation": "Automatisering", "widgets": "Widgets", "stats": "Statistik", - "analytics": "Analytics", + "analytics": "Analyse", "compliance": "Overholdelse", "cohorts": "Kohorter", "upgrade_now": "Opgrader nu", @@ -2900,7 +2900,7 @@ "upgrade_left": "{count} tilbage" }, "media_manager": { - "page_title": "Media Manager - ClassroomIO", + "page_title": "Medieadministrator - ClassroomIO", "heading": "Mediemanager", "empty": "Ingen aktiver fundet", "usage": { @@ -2912,8 +2912,8 @@ "table": { "target_type": "Måltype", "target_id": "Mål-id", - "slot": "Slot", - "position": "Stilling", + "slot": "Plads", + "position": "Position", "added": "Tilføjet" }, "target": { @@ -2979,7 +2979,7 @@ "youtube": "YouTube", "generic": "Generisk", "external_url": "Ekstern URL", - "google_drive": "Google Drev" + "google_drive": "Google Drive" }, "kind": { "video": "Video", @@ -3016,7 +3016,7 @@ "not_available": "N/A" }, "empty_description": "Aktivet findes ikke eller er ikke tilgængeligt i denne organisation.", - "page_subtitle": "Keep files, videos, and links for your courses in one library.", + "page_subtitle": "Hold filer, videoer og links til dine kurser samlet i ét bibliotek.", "thumbnails": { "manage_title": "Administrer thumbnails", "manage_description": "Se forhåndsvisning af videoen, vælg en af de automatisk genererede frames, eller upload din egen.", @@ -3052,7 +3052,7 @@ "provider": "Vi bruger Polar til at hjælpe med at administrere din fakturering", "open_billing": "Åben fakturering", "error": "Der opstod en fejl under åbning af fakturering", - "page_subtitle": "Your plan, billing portal, and how you pay for ClassroomIO.", + "page_subtitle": "Din plan, faktureringsportal og hvordan du betaler for ClassroomIO.", "ai_credits": "AI credits", "ai_tokens_used": "AI credits brugt denne måned", "ai_bonus_credits": "bonus AI credits tilgængelige" @@ -3066,7 +3066,7 @@ "connect_button": "Forbind", "success_message": "Integration vellykket", "disconnect": "Afbryd forbindelsen", - "page_subtitle": "Connect Telegram to get notified when important things happen." + "page_subtitle": "Forbind Telegram for at få besked, når der sker vigtige ting." }, "landing_page": { "heading": "Landingsside", @@ -3162,7 +3162,7 @@ "show_background": "Vis baggrund", "hide_background": "Skjul baggrund" }, - "page_subtitle": "Shape the marketing page people see before they sign up or enroll.", + "page_subtitle": "Form den marketing-side, folk ser, før de tilmelder sig eller opretter konto.", "editor": { "save": "Gem", "close": "Luk", @@ -3171,22 +3171,22 @@ "text": "Sidefodstekst", "add": "Tilføj sidefodslink", "default_label": "Nyt link", - "link_label": "Link label", - "link_href": "Link URL", + "link_label": "Linketiket", + "link_href": "Link-URL", "remove": "Fjern sidefodslink", "brand": { "legend": "Brand", - "description": "Your organization logo and name always appear here (from organization settings). Add optional details below.", - "preview_label": "Footer brand preview", + "description": "Din organisations logo og navn vises altid her (fra organisationsindstillinger). Tilføj valgfrie detaljer nedenfor.", + "preview_label": "Forhåndsvisning af footer-brand", "tagline": "Tagline", - "tagline_placeholder": "Small line under your brand", + "tagline_placeholder": "Lille linje under dit brand", "copyright": "Copyright", - "copyright_placeholder": "© 2026 Your Organization", - "social_label": "Social links", + "copyright_placeholder": "© 2026 Din organisation", + "social_label": "Sociale links", "platform_field": "Platform", - "url_label": "Profile URL", - "add_social": "Add social link", - "remove_social": "Remove social link", + "url_label": "Profil-URL", + "add_social": "Tilføj sociale link", + "remove_social": "Fjern socialt link", "platforms": { "instagram": "Instagram", "x": "X", @@ -3195,29 +3195,29 @@ "youtube": "YouTube", "github": "GitHub", "tiktok": "TikTok", - "website": "Website" + "website": "Hjemmeside" } }, "columns": { - "legend": "Link columns", - "description": "Add grouped links (like Company or Resources). Enables a multi-column footer layout.", - "empty_hint": "No columns yet — add one to show a multi-column footer beside your brand.", - "add": "Add column", - "remove": "Remove column", - "heading_label": "Column heading", - "heading_placeholder": "e.g. Company", - "add_link": "Add link", - "remove_link": "Remove link", - "links_max_reached": "Up to 10 links per column", - "cta_toggle": "Add CTA link", - "cta_label": "CTA label", - "cta_href": "CTA URL", - "cta_default_label": "Explore more", - "max_reached": "Up to 6 columns" + "legend": "Linkkolonner", + "description": "Tilføj grupperede links (som Virksomhed eller Ressourcer). Aktiverer et footer-layout med flere kolonner.", + "empty_hint": "Ingen kolonner endnu — tilføj en for at vise en footer med flere kolonner ved siden af dit brand.", + "add": "Tilføj kolonne", + "remove": "Fjern kolonne", + "heading_label": "Kolonneoverskrift", + "heading_placeholder": "f.eks. Virksomhed", + "add_link": "Tilføj link", + "remove_link": "Fjern link", + "links_max_reached": "Op til 10 links pr. kolonne", + "cta_toggle": "Tilføj CTA-link", + "cta_label": "CTA-etiket", + "cta_href": "CTA-URL", + "cta_default_label": "Udforsk mere", + "max_reached": "Op til 6 kolonner" }, "bottom": { - "legend": "Bottom row", - "add_link": "Add bottom link" + "legend": "Nederste række", + "add_link": "Tilføj bundlink" } }, "embed": { @@ -3248,8 +3248,8 @@ "navigation": { "add": "Tilføj navigationslink", "default_label": "Nyt link", - "link_label": "Link label", - "link_href": "Link URL", + "link_label": "Linketiket", + "link_href": "Link-URL", "remove": "Fjern navigationslink" }, "hero": { @@ -3271,7 +3271,7 @@ "label_field": "Etiket", "value_field": "Værdi", "label_placeholder": "Aktive elever", - "value_placeholder": "1.200" + "value_placeholder": "1,200" } }, "sections": { @@ -3284,7 +3284,7 @@ "embed": "Integrer", "embed_desc": "Valgfri iframe-sektion vist efter kurser.", "footer": "Sidefod", - "footer_desc": "Brand line, socials, multi-column links, and bottom legal row.", + "footer_desc": "Brandlinje, sociale medier, linkkolonner og juridisk bundrække.", "links": "Links", "links_desc": "Valgfri blok af eksterne links (hjælpecenter, fællesskab, webinarer) vist efter kurser." }, @@ -3306,7 +3306,7 @@ "card_placeholder_community": "Fællesskab", "card_description": "Kort beskrivelse", "card_description_placeholder": "f.eks. Gennemse guider og ofte stillede spørgsmål", - "card_href": "Link URL", + "card_href": "Link-URL", "card_href_placeholder": "https://...", "card_icon": "Ikon", "add_card": "Tilføj linkkort", @@ -3356,7 +3356,7 @@ "description": "Sober typografi, kantede gitter, revisionsklar look" }, "studio": { - "title": "Studie", + "title": "Studio", "description": "Hårgrænser, gradient hero glød, produkt-craft polish" }, "tech": { @@ -3368,7 +3368,7 @@ "description": "Stiplet ramme, bløde accenter, moderne produktfølelse" }, "vibrant": { - "title": "Levende", + "title": "Vibrant", "description": "Fed primære paneler, solnedgangsgradienthelt, energisk plakatlook" }, "editorial": { @@ -3458,7 +3458,7 @@ "accepted": "Accepteret:", "validation_error": "Filstørrelsen overstiger den maksimale grænse:" }, - "page_subtitle": "Your name, email, and how you appear wherever you work in ClassroomIO." + "page_subtitle": "Dit navn, din e-mail og hvordan du fremstår, uanset hvor du arbejder i ClassroomIO." }, "tabs": { "profile_tab": "Profil", @@ -3473,7 +3473,7 @@ "customize_lms_tab": "Tilpas LMS", "domains_tab": "Domæner", "teams_tab": "Hold", - "ai_credits_tab": "AI Credits", + "ai_credits_tab": "AI-credits", "ai_tutor_tab": "AI underviser", "notifications_tab": "Notifikationer" }, @@ -3498,7 +3498,7 @@ "issuer_placeholder": "https://accounts.google.com", "issuer_help": "OIDC-udsteder (ingen efterfølgende skråstreg). Eksempler: Google Workspace — https://accounts.google.com; Okta — https://din-org.okta.com; Azure AD — https://login.microsoftonline.com/your-tenant-id/v2.0", "domain_label": "E-mail domæne", - "domain_placeholder": "din virksomhed.com", + "domain_placeholder": "yourcompany.com", "client_id_label": "Klient-id", "client_id_placeholder": "Fra din IdP", "client_secret_label": "Klientens hemmelighed", @@ -3518,7 +3518,7 @@ "description": "Tillad administratorer at omgå SSO med e-mail/adgangskode i nødstilfælde." }, "auto_join": { - "label": "Auto-join", + "label": "Auto-tilmelding", "description": "Tillad brugere med matchende e-mail-domæner automatisk at tilslutte sig din organisation." }, "force_sso": { @@ -3586,7 +3586,7 @@ "sso": "SSO", "token_auth": "Token Auth" }, - "page_subtitle": "Control sign-up, login, SSO, and token-based access for this org." + "page_subtitle": "Styr tilmelding, login, SSO og tokenbaseret adgang for denne organisation." }, "token_auth": { "heading": "Token Auth", @@ -3609,12 +3609,12 @@ "actions_menu": "Tokengodkendelseshandlinger" }, "teams": { - "page_subtitle": "Invite teammates and control who helps run this organization." + "page_subtitle": "Inviter teammedlemmer og styr, hvem der hjælper med at drive denne organisation." }, "ai_credits": { - "sub_title": "AI credits", + "sub_title": "AI-credits", "page_subtitle": "Spor brug af AI-assistent, teamforbrug og køb af AI credit packs.", - "cost_note": "Credit usage is weighted by model cost. Gemini 3.1 Flash Lite counts as 1 credit unit per token. GPT-5.4 Mini and Kimi K2.6 count as 4× per token. Claude Sonnet 4.6 counts as 11× per token, reflecting its higher API cost.", + "cost_note": "Creditforbrug vægtes efter modelomkostning. Gemini 3.1 Flash Lite tæller som 1 credit-enhed pr. token. GPT-5.4 Mini og Kimi K2.6 tæller som 4× pr. token. Claude Sonnet 4.6 tæller som 11× pr. token, hvilket afspejler dens højere API-omkostning.", "included": { "title": "Dit inkluderede forbrug", "subtitle": "Månedlige AI credits inkluderet i din plan.", @@ -3630,7 +3630,7 @@ "heading": "Brug", "subheading": "Dagligt AI credits-forbrug denne måned.", "tokens": "Credits", - "total_tokens": "Total credits", + "total_tokens": "Credits i alt", "total_requests": "Samlet antal anmodninger", "empty": "Der er ikke registreret noget forbrug i denne måned endnu." }, @@ -3646,7 +3646,7 @@ "title": "Køb flere credits", "description": "Hver pakke tilføjer 5,000,000 credits for $5 USD. Vælg, hvor mange pakker du har brug for.", "quantity_hint": "pakker", - "preview": "{quantity} pack(s) · {tokens} credits · ${dollars}", + "preview": "{quantity} pakke(r) · {tokens} credits · ${dollars}", "buy_button": "Køb for ${dollars}" } }, @@ -3920,8 +3920,8 @@ } }, "tags_admin": { - "page_title": "Tags - ClassroomIO", - "heading": "Tags", + "page_title": "Mærker - ClassroomIO", + "heading": "Mærker", "create": "Opret", "tag_modal": { "create_title": "Opret tag", @@ -3968,7 +3968,7 @@ "common": { "not_available": "N/A" }, - "page_subtitle": "Organize courses with labels so filters and lists stay easy to scan." + "page_subtitle": "Organiser kurser med etiketter, så filtre og lister er nemme at overskue." }, "invite": { "organization": { @@ -4022,12 +4022,12 @@ "generate": "Generer MCP-nøgle", "secret_once": "Denne hemmelighed vises én gang. Kopier det til din MCP-klient nu.", "modal": { - "title": "Create MCP key", - "description": "Choose a name for this MCP key before it is generated.", - "name_label": "Key name", + "title": "Opret MCP-nøgle", + "description": "Vælg et navn til denne MCP-nøgle, før den genereres.", + "name_label": "Nøglenavn", "name_placeholder": "ClassroomIO OpenCode", - "cancel": "Cancel", - "save": "Create key" + "cancel": "Annuller", + "save": "Opret nøgle" } }, "usage": { @@ -4041,31 +4041,31 @@ "rate_limits_description": "Læs/skriv/publicér anmodninger tilladt pr. minut.", "used_label": "Brugt:" }, - "page_subtitle": "Connect AI tools to ClassroomIO with org-scoped keys you can rotate anytime." + "page_subtitle": "Forbind AI-værktøjer til ClassroomIO med organisationsnøgler, du kan rotere når som helst." }, "api": { - "subtitle": "Manage API keys to integrate with the ClassroomIO public API.", + "subtitle": "Administrer API-nøgler til integration med ClassroomIOs offentlige API.", "keys": { - "title": "API keys", - "description": "These keys authenticate the current organization when calling the ClassroomIO public API.", - "generate": "Generate API key", - "secret_once": "This secret is shown once. Copy it and store it securely.", - "empty_title": "No API keys yet", - "empty_description": "Create the first org-scoped API key to use the ClassroomIO public API.", + "title": "API-nøgler", + "description": "Disse nøgler autentificerer den aktuelle organisation, når der kaldes til ClassroomIOs offentlige API.", + "generate": "Generer API-nøgle", + "secret_once": "Denne hemmelighed vises kun én gang. Kopiér den og opbevar den sikkert.", + "empty_title": "Ingen API-nøgler endnu", + "empty_description": "Opret den første organisationsnøgle til API for at bruge ClassroomIOs offentlige API.", "modal": { - "title": "Create API key", - "description": "Choose a name for this API key before it is generated.", - "name_label": "Key name", - "name_placeholder": "My API integration", - "cancel": "Cancel", - "save": "Create key" + "title": "Opret API-nøgle", + "description": "Vælg et navn til denne API-nøgle, før den genereres.", + "name_label": "Nøglenavn", + "name_placeholder": "Min API-integration", + "cancel": "Annuller", + "save": "Opret nøgle" } }, "setup": { "title": "Hurtig start", "description": "Brug din API-nøgle som Bearer-token på hver anmodning. Erstat pladsholderen med en nøgle ovenfor, eller indsæt hemmeligheden lige efter du genererer en." }, - "view_docs": "View Docs" + "view_docs": "Se dokumentation" }, "keys": { "active": "Aktiv", @@ -4086,9 +4086,9 @@ "table_last_used": "Sidst brugt" }, "clients": { - "claude_code": "Claude kode", + "claude_code": "Claude Code", "codex": "Codex", - "cursor": "Markør", + "cursor": "Cursor", "opencode": "OpenCode", "curl": "cURL", "javascript": "JavaScript", @@ -4105,13 +4105,13 @@ "disabled_description": "Kun organisationsadministratorer kan oprette, rotere eller tilbagekalde automatiseringsnøgler. Lærere kan gennemgå opsætningsinstruktionerne her." }, "zapier": { - "page_subtitle": "Automate ClassroomIO with thousands of apps through Zapier. Coming soon." + "page_subtitle": "Automatiser ClassroomIO med tusindvis af apps via Zapier. Kommer snart." } }, "ai_assistant": { "empty_state": "Bed mig om at hjælpe med dit kursusindhold - lav lektioner, generer spørgsmål, eller planlæg et kursus ud fra et dokument.", "input_placeholder": "Spørg AI-assistenten...", - "quote_lesson_note": "Quote in assistant", + "quote_lesson_note": "Citat i assistent", "attach_document": "Vedhæft et dokument (PDF, DOCX, PPTX)", "upgrade_to_upload": "Opgrader for at uploade dokumenter", "tokens_exhausted": "Månedlig AI-token-grænse nået.", @@ -4132,76 +4132,76 @@ "agent_running_warning": "Ændringerne vises i kurset, når agenten er færdig. Genindlæs ikke siden.", "agent_running_warning_dismiss": "Afvis", "quick_action": { - "upload_document_course": "Upload a document to create a course", - "draft_lesson": "Draft a lesson", - "generate_questions_from_lesson": "Generate questions from this lesson", - "summarize_lesson": "Summarize this lesson", - "publish_course": "Help me publish this course" + "upload_document_course": "Upload et dokument for at oprette et kursus", + "draft_lesson": "Udarbejd en lektion", + "generate_questions_from_lesson": "Generer spørgsmål ud fra denne lektion", + "summarize_lesson": "Opsummer denne lektion", + "publish_course": "Hjælp mig med at publicere dette kursus" }, - "plan_applying_changes": "Applying changes", - "plan_working": "Working", - "plan_progress": "{completed} / {total} steps completed", + "plan_applying_changes": "Anvender ændringer", + "plan_working": "Arbejder", + "plan_progress": "{completed} / {total} trin gennemført", "stop": "Stop", - "copy_full_error": "Copy full error", - "resize_panel_aria_label": "Resize AI assistant panel", - "generic_working": "Working", - "run_failed_after": "{action} did not finish successfully.", + "copy_full_error": "Kopiér fuld fejl", + "resize_panel_aria_label": "Tilpas størrelse på AI-assistentpanel", + "generic_working": "Arbejder", + "run_failed_after": "{action} blev ikke gennemført.", "tool": { "pending": { - "working": "Working", - "unknown_tool": "Running {toolName}", - "get_course_structure": "Reading course structure", - "get_lesson_content": "Reading lesson content", - "get_exercise_details": "Reading exercise", - "create_section": "Creating section", - "update_section": "Updating section", - "create_lesson": "Creating lesson", - "update_lesson": "Updating lesson", - "update_lesson_content": "Writing lesson content", - "create_exercise": "Creating exercise", - "create_exercise_section": "Creating exercise section", - "update_exercise": "Updating exercise", - "update_exercise_section": "Updating exercise section", - "add_questions": "Adding questions", - "update_questions": "Updating questions", - "reorder_content": "Reordering content", - "update_course_landing_page": "Updating landing page", - "check_course_go_live_readiness": "Checking go-live readiness", - "go_live_course": "Publishing course", - "generate_course_plan": "Generating course plan", + "working": "Arbejder", + "unknown_tool": "Kører {toolName}", + "get_course_structure": "Læser kursusstruktur", + "get_lesson_content": "Læser lektionsindhold", + "get_exercise_details": "Læser øvelse", + "create_section": "Opretter sektion", + "update_section": "Opdaterer sektion", + "create_lesson": "Opretter lektion", + "update_lesson": "Opdaterer lektion", + "update_lesson_content": "Skriver lektionsindhold", + "create_exercise": "Opretter øvelse", + "create_exercise_section": "Opretter øvelsessektion", + "update_exercise": "Opdaterer øvelse", + "update_exercise_section": "Opdaterer øvelsessektion", + "add_questions": "Tilføjer spørgsmål", + "update_questions": "Opdaterer spørgsmål", + "reorder_content": "Omordner indhold", + "update_course_landing_page": "Opdaterer landingsside", + "check_course_go_live_readiness": "Kontrollerer go-live-beredskab", + "go_live_course": "Publicerer kursus", + "generate_course_plan": "Genererer kursusplan", "ask_template_questions": "Udarbejdelse af skabelonformular", "fetch_documentation_url": "Læse dokumenter side", "fetch_documentation_url_with_url": "Læser {url}" }, "meta": { - "lesson_char_count": "({count, plural, one {# character} other {# characters}})", - "landing_page_preview": "· Preview changes", - "exercise_questions_added": "· {count, plural, one {# question added} other {# questions added}}", - "exercise_questions_updated": "· {count, plural, one {# question updated} other {# questions updated}}" + "lesson_char_count": "({count, plural, one {# tegn} other {# tegn}})", + "landing_page_preview": "· Forhåndsvis ændringer", + "exercise_questions_added": "· {count, plural, one {# spørgsmål tilføjet} other {# spørgsmål tilføjet}}", + "exercise_questions_updated": "· {count, plural, one {# spørgsmål opdateret} other {# spørgsmål opdateret}}" }, "done": { - "generic": "Done", - "create_section": "Created section: {title}", - "update_section": "Updated section: {title}", - "create_lesson": "Created lesson: {title}", - "update_lesson": "Updated lesson: {title}", - "update_lesson_content_fallback": "Wrote {count, plural, one {# character} other {# characters}}", - "create_exercise": "Created exercise «{title}» · {count, plural, one {# question} other {# questions}}", - "update_exercise": "Updated exercise: {title}", - "update_exercise_section": "Updated exercise section: {title}", - "add_questions_fallback": "{count, plural, one {Added # question} other {Added # questions}}", - "update_questions_fallback": "{count, plural, one {Updated # question} other {Updated # questions}}", - "create_exercise_section": "Created exercise section: {title}", - "get_course_structure": "Course structure loaded", - "get_lesson_content": "Lesson content loaded", - "get_exercise_details": "Exercise loaded", - "reorder_content": "Content reordered", - "update_course_landing_page": "Updated landing page: {title}", - "check_go_live_ready": "{warningCount, plural, =0{Ready to go live} other{Ready to go live — # warnings}}", - "check_go_live_blocked": "{blockerCount, plural, one{# blocker before go-live} other{# blockers before go-live}}", - "go_live_published": "Published course: {title}", - "go_live_not_published": "Course was not published", - "generate_course_plan": "Course plan generated", + "generic": "Færdig", + "create_section": "Oprettede sektion: {title}", + "update_section": "Opdaterede sektion: {title}", + "create_lesson": "Oprettede lektion: {title}", + "update_lesson": "Opdaterede lektion: {title}", + "update_lesson_content_fallback": "Skrev {count, plural, one {# tegn} other {# tegn}}", + "create_exercise": "Oprettede øvelse «{title}» · {count, plural, one {# spørgsmål} other {# spørgsmål}}", + "update_exercise": "Opdaterede øvelse: {title}", + "update_exercise_section": "Opdaterede øvelsessektion: {title}", + "add_questions_fallback": "{count, plural, one {Tilføjede # spørgsmål} other {Tilføjede # spørgsmål}}", + "update_questions_fallback": "{count, plural, one {Opdaterede # spørgsmål} other {Opdaterede # spørgsmål}}", + "create_exercise_section": "Oprettede øvelsessektion: {title}", + "get_course_structure": "Kursusstruktur indlæst", + "get_lesson_content": "Lektionsindhold indlæst", + "get_exercise_details": "Øvelse indlæst", + "reorder_content": "Indhold omordnet", + "update_course_landing_page": "Opdaterede landingsside: {title}", + "check_go_live_ready": "{warningCount, plural, =0{Klar til go-live} other{Klar til go-live — # advarsler}}", + "check_go_live_blocked": "{blockerCount, plural, one{# blokering før go-live} other{# blokeringer før go-live}}", + "go_live_published": "Publicerede kursus: {title}", + "go_live_not_published": "Kurset blev ikke publiceret", + "generate_course_plan": "Kursusplan genereret", "ask_template_questions": "Skabelonformular klar", "fetch_documentation_url": "Læs {url}" } @@ -4223,7 +4223,7 @@ "error_network": "Netværksfejl. Tjek venligst din forbindelse og prøv igen.", "context_usage_tooltip": "{used} / {max} tokens brugt", "context_full_title": "Kontekstvinduet er fuldt", - "context_full_description": "The assistant will summarize older messages automatically so you can keep working in this chat.", + "context_full_description": "Assistenten opsummerer automatisk ældre beskeder, så du kan fortsætte arbejdet i denne chat.", "context_full_compact": "Kompakt samtale", "context_full_compacting": "Komprimerer...", "context_full_new_chat": "Start ny chat med resumé", @@ -4320,7 +4320,7 @@ "name": "Widget navn", "selection_mode": "Valgtilstand", "course_search": "Søg efter kurser", - "layout_type": "Layout type", + "layout_type": "Layouttype", "sort_by": "Sorter efter", "cta_label": "CTA-mærke", "load_more_label": "Indlæs mere etiket", @@ -4403,7 +4403,7 @@ "live": "Live" }, "sort": { - "manual": "Manual", + "manual": "Manuel", "newest": "Nyeste", "title": "Titel" }, @@ -4456,7 +4456,7 @@ }, "layout": { "card_grid": "Kortgitter", - "tag_filter": "Tag filter", + "tag_filter": "Tagfilter", "carousel": "Karrusel", "primary_course": "Primær kursus", "compact_list": "Kompakt liste", @@ -4513,11 +4513,11 @@ } }, "side_panel": { - "close_aria": "Close panel", - "resize_panel_aria_label": "Resize panel", + "close_aria": "Luk panel", + "resize_panel_aria_label": "Tilpas panelstørrelse", "titles": { - "ai_assistant": "AI Assistant", - "transcript": "Transcript" + "ai_assistant": "AI-assistent", + "transcript": "Transskription" } }, "compliance": { @@ -4527,7 +4527,7 @@ "heading": "studerende", "subtitle": "{count, number} matcher", "empty": "Ingen elever matcher dette filter", - "learner": "Student", + "learner": "Studerende", "course": "Kursus", "status": "Status", "due_date": "Forfalder", @@ -4567,7 +4567,7 @@ "learners": "studerende" }, "summary": { - "heading": "Student status", + "heading": "Studerendes status", "description": "Tæller på tværs af elever i alle compliance-kurser." } }, @@ -4629,7 +4629,7 @@ "approaching": "Nærmer sig hætten", "totalActive": "Aktive elever denne måned", "learnersHeading": "studerende", - "headerLearner": "Student", + "headerLearner": "Studerende", "headerMessages": "Beskeder", "headerTokens": "Poletter", "headerStatus": "Status", @@ -4672,7 +4672,7 @@ }, "field": { "enabled": "AI-vejleder aktiveret", - "persona": "Tutor persona", + "persona": "Tutorpersona", "customPersona": "Brugerdefineret persona", "customPersona_description": "Beskriv, hvordan vejlederen skal lyde - tone, adressestil, noget specifikt for dit publikum.", "responseLength": "Svarlængde", @@ -4837,7 +4837,7 @@ "delete": "Slet" }, "card": { - "pin": "Pin", + "pin": "Fastgør", "unpin": "Frigør", "edit": "Rediger", "delete": "Slet" @@ -4885,8 +4885,8 @@ "sort": "Sorter", "order": "Bestil", "status": "Status", - "ascending": "Asc", - "descending": "Desc", + "ascending": "Stig.", + "descending": "Fald.", "sort_name": "Navn", "sort_courses": "Kurser", "sort_students": "studerende", diff --git a/apps/dashboard/src/lib/utils/translations/de.json b/apps/dashboard/src/lib/utils/translations/de.json index 7fa00a98..7a900647 100644 --- a/apps/dashboard/src/lib/utils/translations/de.json +++ b/apps/dashboard/src/lib/utils/translations/de.json @@ -513,7 +513,7 @@ "public_api_required": "Upgrade auf Early Adopter oder Enterprise, um auf die öffentliche API zuzugreifen." }, "analytics": { - "title": "Analytik", + "title": "Analysen", "courses": "Kurse", "progress": "Fortschritt", "progress_description": "{value, number} von {total, number} abgeschlossen", @@ -552,7 +552,7 @@ "showing_students": "Zeigt {start} bis {end} von {total} Schülern", "no_analytics_data": "Keine Analytics-Daten", "no_analytics_description": "Für diesen Kurs können keine Analysedaten geladen werden. Bitte versuchen Sie es später noch einmal oder wenden Sie sich an den Support, wenn das Problem weiterhin besteht.", - "student": "Student", + "student": "Schüler", "student_progress_distribution": "Verteilung des Schülerfortschritts", "grade_distribution": "Notenverteilung", "progress_80_plus": "80 %+ Fortschritt", @@ -577,7 +577,7 @@ "description": "Anmeldungen gruppiert nach Kurstyp", "subtitle": "{total} Anmeldungen für alle Typen", "empty": "Noch keine Anmeldedaten", - "course_count": "{count, plural, one {# course} other {# courses}}", + "course_count": "{count, plural, one {# Kurs} other {# Kurse}}", "views_short": "Ansichten", "types": { "SELF_PACED": "Im eigenen Tempo", @@ -635,8 +635,8 @@ "progress_distribution_card_description": "Wie viele Schüler fallen in jede Abschlussgruppe?", "grade_distribution_card_description": "Wie viele Schüler fallen in jede Klassenstufe?", "students_table_description": "Sortierbare Übersicht mit Links zu Studierendenprofilen.", - "kpi_team_tutors": "{count, plural, one {# tutor on the course team} other {# tutors on the course team}}", - "kpi_lessons_exercises": "{count, plural, one {# exercise} other {# exercises}}, zugeordnet zu Lektionen", + "kpi_team_tutors": "{count, plural, one {# Tutor im Kurs-Team} other {# Tutoren im Kurs-Team}}", + "kpi_lessons_exercises": "{count, plural, one {# Übung} other {# Übungen}}, zugeordnet zu Lektionen", "kpi_progress_grade": "{grade} % durchschnittliche Übungsnote aller eingeschriebenen Schüler" } }, @@ -702,10 +702,10 @@ "select_cohorts": "Bestimmte Kohorten auswählen", "select_cohorts_placeholder": "Kohorten auswählen..." }, - "page_subtitle": "See who belongs to your org, who is learning, who is invited, and how to reach them.", + "page_subtitle": "Sehen Sie, wer zu Ihrer Organisation gehört, wer lernt, wer eingeladen ist und wie Sie sie erreichen.", "user_analytics": { "title": "Studentenprofil", - "page_subtitle": "Progress, grades, and activity across their courses." + "page_subtitle": "Fortschritt, Noten und Aktivität in ihren Kursen." }, "delete": { "action": "Löschen", @@ -748,11 +748,11 @@ "cancel": "Abbrechen", "give": "Geben Sie eine Antwort", "comment": "Kommentar", - "page_subtitle": "Start a thread the whole community can see, and tie it to a course if you want." + "page_subtitle": "Starten Sie einen Thread, den die gesamte Community sehen kann, und verknüpfen Sie ihn bei Bedarf mit einem Kurs." }, - "page_subtitle": "Questions and answers shared across your organization's courses.", + "page_subtitle": "Fragen und Antworten, die über die Kurse Ihrer Organisation geteilt werden.", "question": { - "page_subtitle": "Follow answers, vote, and join the discussion." + "page_subtitle": "Antworten verfolgen, abstimmen und an der Diskussion teilnehmen." } }, "course": { @@ -807,7 +807,7 @@ "delete_text": "Löschen Sie diesen Kurs. Diese Aktion kann nicht rückgängig gemacht werden", "save": "Änderungen speichern", "tags": { - "title": "Schlagworte", + "title": "Tags", "description": "Weisen Sie Tags zu, damit Studierende diesen Kurs mithilfe von Filtern entdecken können.", "empty": "Keine Tags ausgewählt", "add": "Tag hinzufügen", @@ -857,7 +857,7 @@ } }, "analytics": { - "title": "Analytik" + "title": "Analysen" }, "landing_page": { "course_content": "Kursinhalte", @@ -895,7 +895,7 @@ "explore": "Entdecken Sie Kurse", "find": "Finden Sie Kurse von den besten Lehrern auf der ganzen Welt, die Ihnen gefallen werden", "find_course": "Finden Sie einen Kurs...", - "instructor": "Lehrer", + "instructor": "Dozent", "courses": "Kurse", "reviews_modal": { "title": "Rezensionen", @@ -990,7 +990,7 @@ "description": "Beschreibung", "goals": "Ziele", "reviews": "Rezensionen", - "instructor": "Lehrer", + "instructor": "Dozent", "pricing": "Preise", "certificate": "Zertifikat", "curriculum": "Lehrplan", @@ -1129,9 +1129,9 @@ }, "roles": { "admin": "Admin", - "tutor": "Nachhilfelehrer", - "student": "Student", - "filter": "Filtern" + "tutor": "Tutor", + "student": "Schüler", + "filter": "Filter" }, "delete_confirmation": { "title": "Löschen", @@ -1190,23 +1190,23 @@ "recipient_emails_placeholder": "student1@example.com, student2@example.com", "send_invite_emails": "Senden Sie sofort Einladungs-E-Mails", "create_email_invites": "Erstellen Sie E-Mail-Einladungen", - "existing_students_title": "Add existing org students", + "existing_students_title": "Bestehende Organisationsschüler hinzufügen", "existing_students_description": "Wählen Sie Studierende aus, die dieser Organisation bereits angehören, und gewähren Sie ihnen direkten Zugang zu diesem Kurs.", - "existing_students_search": "Search organization students", - "loading_existing_students": "Loading organization students...", - "no_existing_students": "No organization students are available to add.", - "no_matching_existing_students": "No organization students match your search.", - "notify_existing_students": "Send course access email", - "grant_access": "Grant Access", + "existing_students_search": "Organisationsschüler suchen", + "loading_existing_students": "Organisationsschüler werden geladen...", + "no_existing_students": "Keine Organisationsschüler zum Hinzufügen verfügbar.", + "no_matching_existing_students": "Keine Organisationsschüler entsprechen Ihrer Suche.", + "notify_existing_students": "Kurszugangs-E-Mail senden", + "grant_access": "Zugang gewähren", "grant_access_modal": { "title": "Schülerzugang gewähren", "description": "Gewähren Sie {email} Zugang zu diesem Kurs. Wir senden eine Einladungs-E-Mail, damit die Person Ihrer Organisation beitreten und in diesem Kurs eingeschrieben werden kann.", "cancel": "Abbrechen", "send_invite": "Einladung senden" }, - "invite_new_students_title": "Invite new students", - "invite_new_students_description": "Invite new people into your organization and pre-assign them to this course. They will create an account, accept the invite, and get access.", - "invite_new_students": "Invite Students", + "invite_new_students_title": "Neue Schüler einladen", + "invite_new_students_description": "Laden Sie neue Personen in Ihre Organisation ein und weisen Sie sie diesem Kurs vorab zu. Sie erstellen ein Konto, nehmen die Einladung an und erhalten Zugang.", + "invite_new_students": "Schüler einladen", "existing_invites": "Vorhandene Einladungen", "refresh": "Aktualisieren", "loading_invites": "Einladungen werden geladen...", @@ -1226,7 +1226,7 @@ "no_audit_events": "Keine Prüfereignisse.", "audit_at": "Bei", "audit_email": "E-Mail", - "audit_actor": "Schauspieler", + "audit_actor": "Akteur", "audit_ip": "IP", "scan_qr": "QR scannen", "classroomio_brand": "ClassroomIO.com", @@ -1240,7 +1240,7 @@ "snackbar_failed_load_audit": "Das Einladungsaudit konnte nicht geladen werden", "snackbar_metadata_copied": "Einladungsmetadaten kopiert", "snackbar_email_invites_success": "{count} Einladung(en) erstellt. Gesendet {sent}, fehlgeschlagen {failed}. {duplicates} Duplikat(e) übersprungen.", - "select_at_least_one_student": "Select at least one existing student", + "select_at_least_one_student": "Wählen Sie mindestens einen bestehenden Schüler aus", "presets": { "one_time_24h": "Einmalig (24h)", "multi_use_7d": "Mehrfachnutzung (7 Tage)", @@ -1252,8 +1252,8 @@ }, "marks": { "title": "Markierungen", - "student": "Student", - "total": "Insgesamt", + "student": "Schüler", + "total": "Gesamt", "no_student": "Kein Student hinzugefügt", "export": { "csv": "Als CSV exportieren", @@ -1268,7 +1268,7 @@ "early": "Früh", "late": "Spät", "total_grade": "Gesamtnote", - "student": "Student", + "student": "Schüler", "status": "Status", "add_comment": "Kommentar hinzufügen", "add_comment_placeholder": "Hinterlassen Sie einen Kommentar", @@ -1285,7 +1285,7 @@ "delete_prompt": "Löschen", "delete_error": "Die Übermittlung konnte nicht gelöscht werden", "delete_success": "Einreichung erfolgreich gelöscht", - "student_avatar": "Studenten-Avatar", + "student_avatar": "Schüler-Avatar", "ai_icon": "KI" }, "submission_status": { @@ -1304,7 +1304,7 @@ "present": "Anwesend", "absent": "Abwesend", "search_students": "Suchen Sie nach Studenten", - "student": "Student", + "student": "Schüler", "lesson": "Lektion", "no_student": "Kein Student hinzugefügt" }, @@ -1348,7 +1348,7 @@ "incomplete": "Unvollständig", "complete": "Komplett", "next": "Als nächstes", - "prev": "Vorher", + "prev": "Zurück", "prev_shortcut": "Zurück (←)", "next_shortcut": "Weiter (→)", "disabled": "Funktion ist deaktiviert", @@ -1375,7 +1375,7 @@ "create_poll": "Umfrage erstellen", "question": "Frage", "options": "Optionen", - "option_label": "Optionsbeschriftung", + "option_label": "Optionsbezeichnung", "cancel": "Abbrechen", "poll_question": "Umfragefrage" }, @@ -1435,14 +1435,14 @@ "check": "Überprüfen", "auto_graded_badge": "Automatische Bewertung", "manual_grading_required_badge": "Manuelle Bewertung erforderlich", - "points_required_auto_grade": "Points must be greater than 0 for auto-graded exercises.", + "points_required_auto_grade": "Punkte müssen für automatisch bewertete Übungen größer als 0 sein.", "analytics": { "submissions": "Einsendungen", "individual": { - "heading": "Individuell", + "heading": "Einzeln", "answers": "Individuelle Antworten", "no": "Es wurde keine Antwort gegeben", - "student_avatar": "Student", + "student_avatar": "Schüler", "answers_for": "{name}s Antworten", "attempts_count": "{count} Versuche", "attempt_label": "Versuch {number}", @@ -1531,9 +1531,9 @@ }, "select_type": "Typ auswählen", "question_type_auto_gradable": "Auto", - "question_type_auto_gradable_description": "Scored automatically by the system", - "question_type_manual_grading": "Manual", - "question_type_manual_grading_description": "Requires human review to score", + "question_type_auto_gradable_description": "Wird automatisch vom System bewertet", + "question_type_manual_grading": "Manuell", + "question_type_manual_grading_description": "Erfordert eine manuelle Bewertung", "premium_question_type": "Führen Sie ein Upgrade durch, um diesen Fragetyp zu verwenden" }, "delete_confirmation": { @@ -1554,16 +1554,16 @@ "textarea": { "take": { "placeholder": "Schreiben Sie Ihre Antwort", - "min_error": "Answer must be at least {min} characters.", - "max_error": "Answer must be at most {max} characters.", - "range_error": "Answer must be between {min} and {max} characters." + "min_error": "Die Antwort muss mindestens {min} Zeichen lang sein.", + "max_error": "Die Antwort darf höchstens {max} Zeichen lang sein.", + "range_error": "Die Antwort muss zwischen {min} und {max} Zeichen lang sein." }, "edit": { "placeholder": "Die Schüler antworten mit einem Langtext", - "min_characters_label": "Minimum characters", - "min_characters_placeholder": "Minimum characters", - "max_characters_label": "Maximum characters", - "max_characters_placeholder": "Maximum characters" + "min_characters_label": "Minimale Zeichenanzahl", + "min_characters_placeholder": "Minimale Zeichenanzahl", + "max_characters_label": "Maximale Zeichenanzahl", + "max_characters_placeholder": "Maximale Zeichenanzahl" } }, "hotspot": { @@ -1779,7 +1779,7 @@ "template_helper": "Verwenden Sie für jedes Leerzeichen drei Unterstriche (___). Den Schülern wird eine Wortdatenbank mit richtigen Antworten und Ablenkungsmanövern angezeigt.", "no_blanks_warning": "Fügen Sie Ihrer Vorlage mindestens eine ___ leere Markierung hinzu.", "correct_answers_heading": "Richtige Antwort für jedes Leerzeichen", - "blank_label": "Leer", + "blank_label": "Lücke", "correct_placeholder": "Korrekter Begriff oder Ausdruck", "distractors_heading": "Zusätzliche Wörter (Ablenker)", "distractor_placeholder": "Falsche Option", @@ -1830,7 +1830,7 @@ "stop_recording": "Stoppen Sie die Aufnahme", "elapsed": "Vergangen", "remaining": "Übrig", - "max_duration": "Max", + "max_duration": "Max.", "too_short": "Nehmen Sie mindestens 1 Sekunde lang auf.", "use_recording": "Verwenden Sie die Aufzeichnung", "retake": "Wiederholen", @@ -2036,7 +2036,7 @@ "add_from_library": "Aus Bibliothek hinzufügen", "cancel_upload": "Hochladen abbrechen", "upload_cancelled": "Der Upload wurde vom Benutzer abgebrochen", - "max_files": "{count, plural, one {You can upload # file} other {You can upload # files}}", + "max_files": "{count, plural, one {Sie können # Datei hochladen} other {Sie können # Dateien hochladen}}", "max_files_and_size": "(jeweils bis zu {size})", "google_drive_choose": "Wählen Sie aus Google Drive", "google_drive_opening": "Auswahl öffnen…", @@ -2058,14 +2058,14 @@ "empty_title": "Noch keine Videos", "empty_description": "Fügen Sie Videos von YouTube hinzu, laden Sie sie hoch oder laden Sie sie aus Ihrer Medienbibliothek herunter", "google_drive": "Google Drive", - "generate_transcript": "Generate transcription", - "generate_transcript_in_progress": "Transcribing…", + "generate_transcript": "Transkript generieren", + "generate_transcript_in_progress": "Transkription läuft…", "transcript": { - "title": "Transcript", - "captions_label": "Captions", - "language": "Language: {language}", - "empty": "No transcript yet. You can generate one from this card’s menu after the video is uploaded.", - "loading": "Loading transcript…", + "title": "Transkript", + "captions_label": "Untertitel", + "language": "Sprache: {language}", + "empty": "Noch kein Transkript. Sie können eines über das Menü dieser Karte generieren, nachdem das Video hochgeladen wurde.", + "loading": "Transkript wird geladen…", "open_side_panel": "Öffnen Sie das Transkriptfenster", "edit": "Transkript bearbeiten", "save": "Speichern", @@ -2096,8 +2096,8 @@ "playback_auth_action": "anmelden" }, "slide": { - "title": "Rutsche", - "slide_link": "Folienlink", + "title": "Folie", + "slide_link": "Folien-Link", "helper_message": "Sie können Google Slides oder Canva-Präsentationen einbetten" }, "note": { @@ -2220,7 +2220,7 @@ "add_to_calendar": "Zum Kalender hinzufügen", "add_google": "Google Kalender", "add_outlook": "Outlook.com", - "add_office365": "Büro 365", + "add_office365": "Office 365", "add_yahoo": "Yahoo-Kalender", "add_apple": "Apple Kalender (.ics)", "starts_in": "Beginnt in", @@ -2263,7 +2263,7 @@ "delete": "Löschen" }, "card": { - "pin": "Pin", + "pin": "Anheften", "unpin": "Lösen", "edit": "Bearbeiten", "delete": "Löschen" @@ -2306,7 +2306,7 @@ "waived": "Verzichtet" }, "fields": { - "learner": "Student", + "learner": "Schüler", "email": "E-Mail", "status": "Status", "cycle": "Zyklus", @@ -2355,8 +2355,8 @@ "empty": "Keine Ergebnisse gefunden" }, "header": { - "preview": "Preview course", - "preview_missing_slug": "Generate and save a course slug before previewing.", + "preview": "Kursvorschau", + "preview_missing_slug": "Generieren und speichern Sie einen Kurs-Slug, bevor Sie eine Vorschau anzeigen.", "view_as_student": "Als Student anzeigen", "view_course_site": "Kursseite anzeigen" }, @@ -2392,7 +2392,7 @@ "nav_marks": "Markierungen", "nav_compliance": "Compliance", "nav_people": "Menschen", - "nav_analytics": "Analytik", + "nav_analytics": "Analysen", "nav_certificates": "Zertifikate", "nav_landing_page": "Landingpage", "nav_settings": "Einstellungen", @@ -2548,7 +2548,7 @@ "students": "Studenten", "published": "Veröffentlicht", "type": "Typ", - "tags": "Schlagworte" + "tags": "Tags" }, "context_menu": { "clone": "Klonen", @@ -2565,29 +2565,29 @@ "valid_until": "Gültig bis" }, "course_filter": { - "date_created_newest": "Date Created: Newest first", - "date_created_oldest": "Date Created: Oldest first", - "published_first": "Published: Published first", - "unpublished_first": "Published: Unpublished first", - "most_lessons": "Lessons: Most first", - "fewest_lessons": "Lessons: Fewest first", + "date_created_newest": "Erstellungsdatum: Neueste zuerst", + "date_created_oldest": "Erstellungsdatum: Älteste zuerst", + "published_first": "Veröffentlicht: Veröffentlichte zuerst", + "unpublished_first": "Veröffentlicht: Unveröffentlichte zuerst", + "most_lessons": "Lektionen: Meiste zuerst", + "fewest_lessons": "Lektionen: Wenigste zuerst", "date_created": "Erstellungsdatum", "published": "Veröffentlicht", "lessons": "Lektionen" }, "tag_filters": { - "filter": "Filtern", + "filter": "Filter", "active": "Aktive Filter", "clear_all": "Alles löschen", "popover_title": "Filter", "sort": "Sortieren", "order": "Reihenfolge", - "ascending": "Asc", - "descending": "Desc", - "tags": "Schlagworte", + "ascending": "Aufst.", + "descending": "Abst.", + "tags": "Tags", "empty_tags": "Keine Tags verfügbar" }, - "page_subtitle": "Where lessons turn into courses and courses turn into enrollments." + "page_subtitle": "Wo Lektionen zu Kursen und Kurse zu Einschreibungen werden." }, "ai": { "help_me": "Hilf mir zu schreiben", @@ -2614,20 +2614,20 @@ "lms_dashboard_hero": "Heute ist ein weiterer Tag, um Sie Ihren Lernzielen näher zu bringen. Geben Sie nicht auf, je mehr Sie lernen, desto besser werden Sie.", "lessons_completed": "Lektionen abgeschlossen", "no_courses_started": "Es wurden keine Kurse gestartet", - "certificates_earned": "Certificates issued", - "certificates_earned_description": "Total certificates issued to students in your organization", + "certificates_earned": "Ausgestellte Zertifikate", + "certificates_earned_description": "Gesamtzahl der an Schüler in Ihrer Organisation ausgestellten Zertifikate", "certification_rate": "Zertifiziert", - "recent_certifications": "Recent certifications", - "no_certifications_yet": "No certificates earned yet", - "no_certifications_yet_description": "When students complete a course and earn a certificate, they will appear here", - "view_courses": "View courses", + "recent_certifications": "Aktuelle Zertifikate", + "no_certifications_yet": "Noch keine Zertifikate erworben", + "no_certifications_yet_description": "Wenn Schüler einen Kurs abschließen und ein Zertifikat erhalten, erscheinen sie hier", + "view_courses": "Kurse anzeigen", "no_of_courses": "Anzahl der Kurse", "no_courses_description": "Innerhalb dieser Organisation erstellte Kurse", "total_students": "Gesamtzahl der Studierenden", "total_students_description": "Basierend auf den Einschreibungen der Studierenden", "top_courses": "Top-Kurse", "students": "Studenten", - "student": "Student", + "student": "Schüler", "completion": "Fertigstellung", "create_first_course": "Erstellen Sie Ihren ersten Kurs", "create_first_course_description": "Beginnen Sie mit der Erstellung von Kursen, um den Kursfortschritt zu verfolgen", @@ -2637,7 +2637,7 @@ "publish_course": "Kurs veröffentlichen", "items_completed": "Artikel abgeschlossen", "currently_learning": "Derzeit lernen", - "learner": "Student", + "learner": "Schüler", "progress": "Fortschritt", "pick_up_where_you_left_off": "Machen Sie dort weiter, wo Sie aufgehört haben", "get_your_certificate": "Hole dir dein Zertifikat", @@ -2652,7 +2652,7 @@ "compliance_score_empty": "Noch keine Compliance-Kurse zugewiesen", "compliance_met": "{completed} von {total} erfüllt", "required_courses_completed": "{completed} von {total} erforderlichen Kursen abgeschlossen", - "streak": "Streifen", + "streak": "Serie", "days_active": "Tage aktiv", "items_done": "{completed} von {total} erledigt", "login_activity_title": "Anmeldeaktivität für Studenten", @@ -2689,7 +2689,7 @@ "grading": "Benotung" }, "dashboard": { - "title": "Armaturenbrett", + "title": "Dashboard", "community": "Gemeinschaft", "exercises": "Übungen", "banner_image": "Bannerbild", @@ -2791,8 +2791,8 @@ "goto": "Gehe zu", "courses": "Kurse", "home": "Zuhause", - "classroomio_home": "ClassroomIO Home", - "dashboard": "Armaturenbrett", + "classroomio_home": "ClassroomIO Startseite", + "dashboard": "Dashboard", "discussion": "Diskussion", "people": "Menschen", "goto_lms": "Gehen Sie zu LMS", @@ -2803,7 +2803,7 @@ "loading_state": "Bitte warten Sie, um zur nächsten Seite zu gelangen.", "org_loading_state": "Wir bringen Sie zu Ihrer Organisation...", "add_organization": "+ Organisation hinzufügen", - "goto_dashboard": "Armaturenbrett" + "goto_dashboard": "Dashboard" }, "add_org": { "create_org": "Organisation erstellen", @@ -2820,7 +2820,7 @@ "progress": "Fortschritt", "completed": "abgeschlossen", "done": "Fertig", - "todo": "Todo", + "todo": "Aufgaben", "publish_course": { "title": "Veröffentlichen Sie einen Kurs", "desc": "Machen Sie Ihren Kurs öffentlich und käuflich", @@ -2869,7 +2869,7 @@ "plan_names": { "free": "Kostenlos", "early": "Früher Anwender", - "enterprise": "Unternehmen" + "enterprise": "Enterprise" } }, "org_navigation": { @@ -2877,7 +2877,7 @@ "home": "Startseite", "content": "Inhalte", "people": "Personen", - "dashboard": "Armaturenbrett", + "dashboard": "Dashboard", "courses": "Kurse", "community": "Gemeinschaft", "audience": "Publikum", @@ -2888,11 +2888,11 @@ "early_adopter": "Werden Sie ein Early Adopter", "unlock": "Schalten Sie unbegrenzte Funktionen frei und investieren Sie in unsere Zukunft", "upgrade": "Jetzt upgraden", - "tags": "Schlagworte", + "tags": "Tags", "automation": "Automatisierung", "widgets": "Widgets", "stats": "Statistiken", - "analytics": "Analytik", + "analytics": "Analysen", "compliance": "Compliance", "cohorts": "Kohorten", "upgrade_now": "Jetzt upgraden", @@ -2900,7 +2900,7 @@ "upgrade_left": "{count} übrig" }, "media_manager": { - "page_title": "Medienmanager - ClassroomIO", + "page_title": "Medienverwaltung - ClassroomIO", "heading": "Medienmanager", "empty": "Keine Vermögenswerte gefunden", "usage": { @@ -2912,7 +2912,7 @@ "table": { "target_type": "Zieltyp", "target_id": "Ziel-ID", - "slot": "Steckplatz", + "slot": "Slot", "position": "Position", "added": "Hinzugefügt" }, @@ -3013,16 +3013,16 @@ "bytes_by_kind": "Speicher nach Asset-Typ" }, "common": { - "not_available": "N/A" + "not_available": "N/V" }, "empty_description": "Das Asset existiert nicht oder ist in dieser Organisation nicht verfügbar.", - "page_subtitle": "Keep files, videos, and links for your courses in one library.", + "page_subtitle": "Verwalten Sie Dateien, Videos und Links für Ihre Kurse in einer zentralen Bibliothek.", "thumbnails": { "manage_title": "Miniaturansichten verwalten", "manage_description": "Sehen Sie sich das Video in der Vorschau an, wählen Sie eines der automatisch generierten Frames aus oder laden Sie Ihr eigenes hoch.", "preview_unavailable": "Vorschau nicht verfügbar", "generated": "Generierte Miniaturansichten", - "slot_start": "Starten", + "slot_start": "Start", "slot_middle": "Mitte", "slot_end": "Ende", "none_generated_warning": "Es wurden noch keine Miniaturansichten generiert. Versuchen Sie, ein benutzerdefiniertes Bild neu zu generieren oder hochzuladen.", @@ -3052,13 +3052,13 @@ "provider": "Wir verwenden Polar, um Ihre Abrechnung zu verwalten", "open_billing": "Abrechnung öffnen", "error": "Beim Öffnen der Abrechnung ist ein Fehler aufgetreten", - "page_subtitle": "Your plan, billing portal, and how you pay for ClassroomIO.", + "page_subtitle": "Ihr Plan, Abrechnungsportal und wie Sie ClassroomIO bezahlen.", "ai_credits": "AI credits", "ai_tokens_used": "AI credits diesen Monat verwendet", "ai_bonus_credits": "Bonus-AI credits verfügbar" }, "integrations": { - "heading": "Telegramm", + "heading": "Telegram", "sub_heading": "Verbinden Sie Ihr Konto mit Telegram, um über jede Änderung innerhalb der Anwendung benachrichtigt zu werden.", "step_authenticate": "Schritt 1: Authentifizieren Sie Ihr Konto über den ClassroomIO-Bot.", "open_bot_button": "Bot öffnen", @@ -3066,7 +3066,7 @@ "connect_button": "Verbinden", "success_message": "Integration erfolgreich", "disconnect": "Trennen", - "page_subtitle": "Connect Telegram to get notified when important things happen." + "page_subtitle": "Verbinden Sie Telegram, um bei wichtigen Ereignissen benachrichtigt zu werden." }, "landing_page": { "heading": "Landingpage", @@ -3162,7 +3162,7 @@ "show_background": "Hintergrund anzeigen", "hide_background": "Hintergrund ausblenden" }, - "page_subtitle": "Shape the marketing page people see before they sign up or enroll.", + "page_subtitle": "Gestalten Sie die Marketingseite, die Menschen sehen, bevor sie sich registrieren oder einschreiben.", "editor": { "save": "Speichern", "close": "Schließen", @@ -3171,22 +3171,22 @@ "text": "Fußzeilentext", "add": "Fußzeilenlink hinzufügen", "default_label": "Neuer Link", - "link_label": "Link-Label", + "link_label": "Link-Bezeichnung", "link_href": "Link-URL", "remove": "Footer-Link entfernen", "brand": { - "legend": "Brand", - "description": "Your organization logo and name always appear here (from organization settings). Add optional details below.", - "preview_label": "Footer brand preview", - "tagline": "Tagline", - "tagline_placeholder": "Small line under your brand", - "copyright": "Copyright", - "copyright_placeholder": "© 2026 Your Organization", - "social_label": "Social links", - "platform_field": "Platform", - "url_label": "Profile URL", - "add_social": "Add social link", - "remove_social": "Remove social link", + "legend": "Marke", + "description": "Ihr Organisationslogo und -name erscheinen hier immer (aus den Organisationseinstellungen). Fügen Sie unten optionale Details hinzu.", + "preview_label": "Footer-Markenvorschau", + "tagline": "Slogan", + "tagline_placeholder": "Kurze Zeile unter Ihrer Marke", + "copyright": "Urheberrecht", + "copyright_placeholder": "© 2026 Ihre Organisation", + "social_label": "Social-Media-Links", + "platform_field": "Plattform", + "url_label": "Profil-URL", + "add_social": "Social-Media-Link hinzufügen", + "remove_social": "Social-Media-Link entfernen", "platforms": { "instagram": "Instagram", "x": "X", @@ -3199,25 +3199,25 @@ } }, "columns": { - "legend": "Link columns", - "description": "Add grouped links (like Company or Resources). Enables a multi-column footer layout.", - "empty_hint": "No columns yet — add one to show a multi-column footer beside your brand.", - "add": "Add column", - "remove": "Remove column", - "heading_label": "Column heading", - "heading_placeholder": "e.g. Company", - "add_link": "Add link", - "remove_link": "Remove link", - "links_max_reached": "Up to 10 links per column", - "cta_toggle": "Add CTA link", - "cta_label": "CTA label", - "cta_href": "CTA URL", - "cta_default_label": "Explore more", - "max_reached": "Up to 6 columns" + "legend": "Link-Spalten", + "description": "Fügen Sie gruppierte Links hinzu (z. B. Unternehmen oder Ressourcen). Ermöglicht ein mehrspaltiges Footer-Layout.", + "empty_hint": "Noch keine Spalten — fügen Sie eine hinzu, um einen mehrspaltigen Footer neben Ihrer Marke anzuzeigen.", + "add": "Spalte hinzufügen", + "remove": "Spalte entfernen", + "heading_label": "Spaltenüberschrift", + "heading_placeholder": "z. B. Unternehmen", + "add_link": "Link hinzufügen", + "remove_link": "Link entfernen", + "links_max_reached": "Bis zu 10 Links pro Spalte", + "cta_toggle": "CTA-Link hinzufügen", + "cta_label": "CTA-Bezeichnung", + "cta_href": "CTA-URL", + "cta_default_label": "Mehr entdecken", + "max_reached": "Bis zu 6 Spalten" }, "bottom": { - "legend": "Bottom row", - "add_link": "Add bottom link" + "legend": "Untere Zeile", + "add_link": "Link unten hinzufügen" } }, "embed": { @@ -3248,7 +3248,7 @@ "navigation": { "add": "Navigationslink hinzufügen", "default_label": "Neuer Link", - "link_label": "Link-Label", + "link_label": "Link-Bezeichnung", "link_href": "Link-URL", "remove": "Navigationslink entfernen" }, @@ -3284,7 +3284,7 @@ "embed": "Einbetten", "embed_desc": "Optionaler Iframe-Abschnitt, der nach den Kursen angezeigt wird.", "footer": "Fußzeile", - "footer_desc": "Brand line, socials, multi-column links, and bottom legal row.", + "footer_desc": "Markenzeile, Social Media, mehrspaltige Links und untere Rechtszeile.", "links": "Links", "links_desc": "Optionaler Block externer Links (Hilfecenter, Community, Webinare), die nach den Kursen angezeigt werden." }, @@ -3314,11 +3314,11 @@ "max_reached": "Bis zu 3 Karten", "icons": { "help_circle": "Hilfe und Support", - "life_buoy": "Unterstützung", + "life_buoy": "Support", "book_open": "Dokumentation", "video": "Video / Webinare", "users": "Gemeinschaft", - "message_circle": "Chatten", + "message_circle": "Chat", "newspaper": "Nachrichten", "rocket": "Fangen Sie an", "calendar": "Veranstaltungen", @@ -3352,7 +3352,7 @@ "description": "Dunkle Oberfläche, geisterhafte Wortmarke, CLI-inspirierter Katalog" }, "corporate": { - "title": "Unternehmen", + "title": "Corporate", "description": "Nüchterne Typografie, umrandete Raster, revisionssicherer Look" }, "studio": { @@ -3360,7 +3360,7 @@ "description": "Haarlinienränder, Farbverlaufs-Heldenglanz, Produkt-Craft-Lack" }, "tech": { - "title": "Techn", + "title": "Tech", "description": "Auffälliges Markenarmband, Monospace-Navigation, Ingenieursakademie-Feeling" }, "saas": { @@ -3368,7 +3368,7 @@ "description": "Rahmen mit gepunkteten Linien, sanfte Akzente, modernes Produktgefühl" }, "vibrant": { - "title": "Lebendig", + "title": "Lebhaft", "description": "Auffällige Primärpaneele, Held mit Sonnenuntergangsverlauf, energiegeladener Poster-Look" }, "editorial": { @@ -3458,7 +3458,7 @@ "accepted": "Akzeptiert:", "validation_error": "Die Dateigröße überschreitet die maximale Grenze:" }, - "page_subtitle": "Your name, email, and how you appear wherever you work in ClassroomIO." + "page_subtitle": "Ihr Name, Ihre E-Mail und wie Sie überall in ClassroomIO erscheinen." }, "tabs": { "profile_tab": "Profil", @@ -3469,11 +3469,11 @@ "language_tab": "Sprache", "auth_tab": "Authentifizierung", "sso_tab": "SSO", - "token_auth_tab": "Token-Auth", + "token_auth_tab": "Token Auth", "customize_lms_tab": "LMS anpassen", "domains_tab": "Domänen", "teams_tab": "Mannschaften", - "ai_credits_tab": "AI Credits", + "ai_credits_tab": "KI-Credits", "ai_tutor_tab": "KI-Tutor", "notifications_tab": "Benachrichtigungen" }, @@ -3518,7 +3518,7 @@ "description": "Ermöglichen Sie Administratoren, SSO im Notfall mit E-Mail/Passwort zu umgehen." }, "auto_join": { - "label": "Automatisch beitreten", + "label": "Automatischer Beitritt", "description": "Ermöglichen Sie Benutzern mit übereinstimmenden E-Mail-Domänen den automatischen Beitritt zu Ihrer Organisation." }, "force_sso": { @@ -3584,12 +3584,12 @@ "tabs": { "general": "Allgemein", "sso": "SSO", - "token_auth": "Token-Auth" + "token_auth": "Token Auth" }, - "page_subtitle": "Control sign-up, login, SSO, and token-based access for this org." + "page_subtitle": "Steuern Sie Registrierung, Anmeldung, SSO und tokenbasierten Zugang für diese Organisation." }, "token_auth": { - "heading": "Token-Auth", + "heading": "Token Auth", "description": "Ermöglichen Sie Benutzern die Anmeldung über Ihre App mit einem JWT – kein Passwort erforderlich. Generieren Sie ein Signaturgeheimnis und verwenden Sie es in Ihrem Backend, um kurzlebige JWTs auszustellen.", "status": "Status", "active": "Aktiv", @@ -3609,12 +3609,12 @@ "actions_menu": "Token-Authentifizierungsaktionen" }, "teams": { - "page_subtitle": "Invite teammates and control who helps run this organization." + "page_subtitle": "Laden Sie Teammitglieder ein und steuern Sie, wer diese Organisation mitbetreibt." }, "ai_credits": { - "sub_title": "AI credits", + "sub_title": "KI-Credits", "page_subtitle": "Verfolgen Sie die Nutzung des AI-Assistenten, den Teamverbrauch und den Kauf von AI credit packs.", - "cost_note": "Credit usage is weighted by model cost. Gemini 3.1 Flash Lite counts as 1 credit unit per token. GPT-5.4 Mini and Kimi K2.6 count as 4× per token. Claude Sonnet 4.6 counts as 11× per token, reflecting its higher API cost.", + "cost_note": "Die Credit-Nutzung wird nach Modellkosten gewichtet. Gemini 3.1 Flash Lite zählt als 1 Credit-Einheit pro Token. GPT-5.4 Mini und Kimi K2.6 zählen als 4× pro Token. Claude Sonnet 4.6 zählt als 11× pro Token, was die höheren API-Kosten widerspiegelt.", "included": { "title": "Ihr inbegriffener Verbrauch", "subtitle": "Monatliche AI credits in Ihrem Plan enthalten.", @@ -3630,7 +3630,7 @@ "heading": "Nutzung", "subheading": "Täglicher AI credits-Verbrauch in diesem Monat.", "tokens": "Credits", - "total_tokens": "Total credits", + "total_tokens": "Credits gesamt", "total_requests": "Gesamtzahl der Anfragen", "empty": "In diesem Monat wurde noch keine Nutzung registriert." }, @@ -3646,7 +3646,7 @@ "title": "Mehr credits kaufen", "description": "Jedes Paket fügt 5,000,000 credits für $5 USD hinzu. Wählen Sie, wie viele Pakete Sie benötigen.", "quantity_hint": "Pakete", - "preview": "{quantity} pack(s) · {tokens} credits · ${dollars}", + "preview": "{quantity} Paket(e) · {tokens} Credits · ${dollars}", "buy_button": "Für ${dollars} kaufen" } }, @@ -3732,7 +3732,7 @@ "see_more": "Mehr sehen", "whats_new": "Was ist neu?", "launch_week": "Startwoche", - "feedback": "Rückmeldung", + "feedback": "Feedback", "documentation": "Dokumentation", "need_help": "Brauchen Sie Hilfe?" }, @@ -3791,7 +3791,7 @@ "suggested": "Vorgeschlagen", "courses": "Kurse", "widgets": "Widgets", - "tags": "Schlagworte", + "tags": "Tags", "students": "Studenten", "settings": "Einstellungen", "cohorts": "Kohorten" @@ -3911,7 +3911,7 @@ "title": "Nach Tags filtern", "help": "Wählen Sie einen oder mehrere Tags aus, um Kurse zu filtern", "empty": "Noch keine Tags verfügbar", - "tags_title": "Schlagworte", + "tags_title": "Tags", "types_title": "Typen", "search_placeholder": "Kurse suchen...", "pricing_title": "Preise", @@ -3920,8 +3920,8 @@ } }, "tags_admin": { - "page_title": "Schlagworte – KlassenzimmerIO", - "heading": "Schlagworte", + "page_title": "Schlagwörter - ClassroomIO", + "heading": "Schlagwörter", "create": "Erstellen", "tag_modal": { "create_title": "Tag erstellen", @@ -3947,7 +3947,7 @@ "description": "Erstellen Sie zunächst eine Tag-Gruppe und beginnen Sie dann mit dem Hinzufügen von Tags." }, "table": { - "tag": "Etikett", + "tag": "Tag", "total_courses": "Gesamtzahl der Kurse", "course": "natürlich", "courses": "Kurse", @@ -3966,9 +3966,9 @@ "actions_menu": "Markieren Sie Aktionen" }, "common": { - "not_available": "N/A" + "not_available": "N/V" }, - "page_subtitle": "Organize courses with labels so filters and lists stay easy to scan." + "page_subtitle": "Organisieren Sie Kurse mit Labels, damit Filter und Listen leicht zu überblicken sind." }, "invite": { "organization": { @@ -4022,12 +4022,12 @@ "generate": "MCP-Schlüssel generieren", "secret_once": "Dieses Geheimnis wird einmal gezeigt. Kopieren Sie es jetzt in Ihren MCP-Client.", "modal": { - "title": "Create MCP key", - "description": "Choose a name for this MCP key before it is generated.", - "name_label": "Key name", + "title": "MCP-Schlüssel erstellen", + "description": "Wählen Sie einen Namen für diesen MCP-Schlüssel, bevor er generiert wird.", + "name_label": "Schlüsselname", "name_placeholder": "ClassroomIO OpenCode", - "cancel": "Cancel", - "save": "Create key" + "cancel": "Abbrechen", + "save": "Schlüssel erstellen" } }, "usage": { @@ -4041,31 +4041,31 @@ "rate_limits_description": "Zulässige Lese-/Schreib-/Veröffentlichungsanfragen pro Minute.", "used_label": "Verwendet:" }, - "page_subtitle": "Connect AI tools to ClassroomIO with org-scoped keys you can rotate anytime." + "page_subtitle": "Verbinden Sie KI-Tools mit ClassroomIO über organisationsbezogene Schlüssel, die Sie jederzeit rotieren können." }, "api": { - "subtitle": "Manage API keys to integrate with the ClassroomIO public API.", + "subtitle": "Verwalten Sie API-Schlüssel zur Integration mit der öffentlichen ClassroomIO-API.", "keys": { - "title": "API keys", - "description": "These keys authenticate the current organization when calling the ClassroomIO public API.", - "generate": "Generate API key", - "secret_once": "This secret is shown once. Copy it and store it securely.", - "empty_title": "No API keys yet", - "empty_description": "Create the first org-scoped API key to use the ClassroomIO public API.", + "title": "API-Schlüssel", + "description": "Diese Schlüssel authentifizieren die aktuelle Organisation beim Aufruf der öffentlichen ClassroomIO-API.", + "generate": "API-Schlüssel generieren", + "secret_once": "Dieses Geheimnis wird nur einmal angezeigt. Kopieren Sie es und speichern Sie es sicher.", + "empty_title": "Noch keine API-Schlüssel", + "empty_description": "Erstellen Sie den ersten organisationsbezogenen API-Schlüssel, um die öffentliche ClassroomIO-API zu nutzen.", "modal": { - "title": "Create API key", - "description": "Choose a name for this API key before it is generated.", - "name_label": "Key name", - "name_placeholder": "My API integration", - "cancel": "Cancel", - "save": "Create key" + "title": "API-Schlüssel erstellen", + "description": "Wählen Sie einen Namen für diesen API-Schlüssel, bevor er generiert wird.", + "name_label": "Schlüsselname", + "name_placeholder": "Meine API-Integration", + "cancel": "Abbrechen", + "save": "Schlüssel erstellen" } }, "setup": { "title": "Schnellstart", "description": "Verwenden Sie Ihren API-Schlüssel als Bearer-Token bei jeder Anfrage. Ersetzen Sie den Platzhalter durch einen Schlüssel von oben oder fügen Sie das Geheimnis direkt nach der Erstellung ein." }, - "view_docs": "View Docs" + "view_docs": "Dokumentation anzeigen" }, "keys": { "active": "Aktiv", @@ -4087,7 +4087,7 @@ }, "clients": { "claude_code": "Claude Code", - "codex": "Kodex", + "codex": "Codex", "cursor": "Cursor", "opencode": "OpenCode", "curl": "cURL", @@ -4105,13 +4105,13 @@ "disabled_description": "Nur Organisationsadministratoren können Automatisierungsschlüssel erstellen, rotieren oder widerrufen. Lehrer können die Einrichtungsanweisungen hier einsehen." }, "zapier": { - "page_subtitle": "Automate ClassroomIO with thousands of apps through Zapier. Coming soon." + "page_subtitle": "Automatisieren Sie ClassroomIO mit Tausenden von Apps über Zapier. Demnächst verfügbar." } }, "ai_assistant": { "empty_state": "Bitten Sie mich, Ihnen bei den Inhalten Ihres Kurses zu helfen – Lektionen zu entwerfen, Fragen zu generieren oder einen Kurs anhand eines Dokuments zu planen.", "input_placeholder": "Fragen Sie den KI-Assistenten...", - "quote_lesson_note": "Quote in assistant", + "quote_lesson_note": "Im Assistenten zitieren", "attach_document": "Ein Dokument anhängen (PDF, DOCX, PPTX)", "upgrade_to_upload": "Upgrade zum Hochladen von Dokumenten", "tokens_exhausted": "Das monatliche AI-Token-Limit wurde erreicht.", @@ -4132,76 +4132,76 @@ "agent_running_warning": "Die Änderungen werden im Kurs angezeigt, sobald der Agent fertig ist. Laden Sie die Seite nicht neu.", "agent_running_warning_dismiss": "Schließen", "quick_action": { - "upload_document_course": "Upload a document to create a course", - "draft_lesson": "Draft a lesson", - "generate_questions_from_lesson": "Generate questions from this lesson", - "summarize_lesson": "Summarize this lesson", - "publish_course": "Help me publish this course" + "upload_document_course": "Dokument hochladen, um einen Kurs zu erstellen", + "draft_lesson": "Lektion entwerfen", + "generate_questions_from_lesson": "Fragen aus dieser Lektion generieren", + "summarize_lesson": "Diese Lektion zusammenfassen", + "publish_course": "Hilf mir, diesen Kurs zu veröffentlichen" }, - "plan_applying_changes": "Applying changes", - "plan_working": "Working", - "plan_progress": "{completed} / {total} steps completed", - "stop": "Stop", - "copy_full_error": "Copy full error", - "resize_panel_aria_label": "Resize AI assistant panel", - "generic_working": "Working", - "run_failed_after": "{action} did not finish successfully.", + "plan_applying_changes": "Änderungen werden angewendet", + "plan_working": "In Arbeit", + "plan_progress": "{completed} / {total} Schritte abgeschlossen", + "stop": "Stopp", + "copy_full_error": "Vollständigen Fehler kopieren", + "resize_panel_aria_label": "KI-Assistenten-Panel in der Größe ändern", + "generic_working": "In Arbeit", + "run_failed_after": "{action} wurde nicht erfolgreich abgeschlossen.", "tool": { "pending": { - "working": "Working", - "unknown_tool": "Running {toolName}", - "get_course_structure": "Reading course structure", - "get_lesson_content": "Reading lesson content", - "get_exercise_details": "Reading exercise", - "create_section": "Creating section", - "update_section": "Updating section", - "create_lesson": "Creating lesson", - "update_lesson": "Updating lesson", - "update_lesson_content": "Writing lesson content", - "create_exercise": "Creating exercise", - "create_exercise_section": "Creating exercise section", - "update_exercise": "Updating exercise", - "update_exercise_section": "Updating exercise section", - "add_questions": "Adding questions", - "update_questions": "Updating questions", - "reorder_content": "Reordering content", - "update_course_landing_page": "Updating landing page", - "check_course_go_live_readiness": "Checking go-live readiness", - "go_live_course": "Publishing course", - "generate_course_plan": "Generating course plan", + "working": "In Arbeit", + "unknown_tool": "{toolName} wird ausgeführt", + "get_course_structure": "Kursstruktur wird gelesen", + "get_lesson_content": "Lektionsinhalt wird gelesen", + "get_exercise_details": "Übung wird gelesen", + "create_section": "Abschnitt wird erstellt", + "update_section": "Abschnitt wird aktualisiert", + "create_lesson": "Lektion wird erstellt", + "update_lesson": "Lektion wird aktualisiert", + "update_lesson_content": "Lektionsinhalt wird geschrieben", + "create_exercise": "Übung wird erstellt", + "create_exercise_section": "Übungsabschnitt wird erstellt", + "update_exercise": "Übung wird aktualisiert", + "update_exercise_section": "Übungsabschnitt wird aktualisiert", + "add_questions": "Fragen werden hinzugefügt", + "update_questions": "Fragen werden aktualisiert", + "reorder_content": "Inhalte werden neu sortiert", + "update_course_landing_page": "Landingpage wird aktualisiert", + "check_course_go_live_readiness": "Go-Live-Bereitschaft wird geprüft", + "go_live_course": "Kurs wird veröffentlicht", + "generate_course_plan": "Kursplan wird generiert", "ask_template_questions": "Vorlageformular vorbereiten", "fetch_documentation_url": "Seite „Dokumente lesen“.", "fetch_documentation_url_with_url": "{url} wird gelesen" }, "meta": { - "lesson_char_count": "({count, plural, one {# character} other {# characters}})", - "landing_page_preview": "· Preview changes", - "exercise_questions_added": "· {count, plural, one {# question added} other {# questions added}}", - "exercise_questions_updated": "· {count, plural, one {# question updated} other {# questions updated}}" + "lesson_char_count": "({count, plural, one {# Zeichen} other {# Zeichen}})", + "landing_page_preview": "· Änderungen in der Vorschau", + "exercise_questions_added": "· {count, plural, one {# Frage hinzugefügt} other {# Fragen hinzugefügt}}", + "exercise_questions_updated": "· {count, plural, one {# Frage aktualisiert} other {# Fragen aktualisiert}}" }, "done": { - "generic": "Done", - "create_section": "Created section: {title}", - "update_section": "Updated section: {title}", - "create_lesson": "Created lesson: {title}", - "update_lesson": "Updated lesson: {title}", - "update_lesson_content_fallback": "Wrote {count, plural, one {# character} other {# characters}}", - "create_exercise": "Created exercise «{title}» · {count, plural, one {# question} other {# questions}}", - "update_exercise": "Updated exercise: {title}", - "update_exercise_section": "Updated exercise section: {title}", - "add_questions_fallback": "{count, plural, one {Added # question} other {Added # questions}}", - "update_questions_fallback": "{count, plural, one {Updated # question} other {Updated # questions}}", - "create_exercise_section": "Created exercise section: {title}", - "get_course_structure": "Course structure loaded", - "get_lesson_content": "Lesson content loaded", - "get_exercise_details": "Exercise loaded", - "reorder_content": "Content reordered", - "update_course_landing_page": "Updated landing page: {title}", - "check_go_live_ready": "{warningCount, plural, =0{Ready to go live} other{Ready to go live — # warnings}}", - "check_go_live_blocked": "{blockerCount, plural, one{# blocker before go-live} other{# blockers before go-live}}", - "go_live_published": "Published course: {title}", - "go_live_not_published": "Course was not published", - "generate_course_plan": "Course plan generated", + "generic": "Fertig", + "create_section": "Abschnitt erstellt: {title}", + "update_section": "Abschnitt aktualisiert: {title}", + "create_lesson": "Lektion erstellt: {title}", + "update_lesson": "Lektion aktualisiert: {title}", + "update_lesson_content_fallback": "{count, plural, one {# Zeichen geschrieben} other {# Zeichen geschrieben}}", + "create_exercise": "Übung «{title}» erstellt · {count, plural, one {# Frage} other {# Fragen}}", + "update_exercise": "Übung aktualisiert: {title}", + "update_exercise_section": "Übungsabschnitt aktualisiert: {title}", + "add_questions_fallback": "{count, plural, one {# Frage hinzugefügt} other {# Fragen hinzugefügt}}", + "update_questions_fallback": "{count, plural, one {# Frage aktualisiert} other {# Fragen aktualisiert}}", + "create_exercise_section": "Übungsabschnitt erstellt: {title}", + "get_course_structure": "Kursstruktur geladen", + "get_lesson_content": "Lektionsinhalt geladen", + "get_exercise_details": "Übung geladen", + "reorder_content": "Inhalte neu sortiert", + "update_course_landing_page": "Landingpage aktualisiert: {title}", + "check_go_live_ready": "{warningCount, plural, =0{Bereit für Go-Live} other{Bereit für Go-Live — # Warnungen}}", + "check_go_live_blocked": "{blockerCount, plural, one{# Blocker vor Go-Live} other{# Blocker vor Go-Live}}", + "go_live_published": "Kurs veröffentlicht: {title}", + "go_live_not_published": "Kurs wurde nicht veröffentlicht", + "generate_course_plan": "Kursplan generiert", "ask_template_questions": "Vorlageformular fertig", "fetch_documentation_url": "{url} lesen" } @@ -4223,7 +4223,7 @@ "error_network": "Netzwerkfehler. Bitte überprüfen Sie Ihre Verbindung und versuchen Sie es erneut.", "context_usage_tooltip": "{used} / {max} Token verwendet", "context_full_title": "Das Kontextfenster ist voll", - "context_full_description": "The assistant will summarize older messages automatically so you can keep working in this chat.", + "context_full_description": "Der Assistent fasst ältere Nachrichten automatisch zusammen, damit Sie in diesem Chat weiterarbeiten können.", "context_full_compact": "Kompaktes Gespräch", "context_full_compacting": "Verdichten...", "context_full_new_chat": "Neuen Chat mit Zusammenfassung starten", @@ -4320,7 +4320,7 @@ "name": "Widget-Name", "selection_mode": "Auswahlmodus", "course_search": "Kurse suchen", - "layout_type": "Layouttyp", + "layout_type": "Layout-Typ", "sort_by": "Sortieren nach", "cta_label": "CTA-Label", "load_more_label": "Weitere Etiketten laden", @@ -4389,7 +4389,7 @@ "columns": { "course": "Kurs", "lessons": "Lektionen", - "tags": "Schlagworte" + "tags": "Tags" } }, "plan": { @@ -4400,10 +4400,10 @@ "draft": "Entwurf", "published": "Veröffentlicht", "archived": "Archiviert", - "live": "Lebe" + "live": "Live" }, "sort": { - "manual": "Handbuch", + "manual": "Manuell", "newest": "Neueste", "title": "Titel" }, @@ -4436,8 +4436,8 @@ "show_thumbnail": "Miniaturansicht anzeigen", "show_tags": "Tags anzeigen", "title_style": "Titelstil", - "title_style_serif": "Serife", - "title_style_sans": "Ohne", + "title_style_serif": "Serif", + "title_style_sans": "Sans", "category_tags": "Kategorie-Tags", "category_tags_required": "Wählen Sie mindestens ein Tag für das Kategorieregal aus.", "default_category": "Standardkategorie", @@ -4494,7 +4494,7 @@ }, "viewport": { "mobile": "Mobil", - "tablet": "Tablette", + "tablet": "Tablet", "desktop": "Desktop" } }, @@ -4513,11 +4513,11 @@ } }, "side_panel": { - "close_aria": "Close panel", - "resize_panel_aria_label": "Resize panel", + "close_aria": "Panel schließen", + "resize_panel_aria_label": "Panel in der Größe ändern", "titles": { - "ai_assistant": "AI Assistant", - "transcript": "Transcript" + "ai_assistant": "KI-Assistent", + "transcript": "Transkript" } }, "compliance": { @@ -4527,7 +4527,7 @@ "heading": "Studenten", "subtitle": "{count, number} passend", "empty": "Keine Schüler entsprechen diesem Filter", - "learner": "Student", + "learner": "Schüler", "course": "Kurs", "status": "Status", "due_date": "Fällig", @@ -4567,7 +4567,7 @@ "learners": "Studenten" }, "summary": { - "heading": "Studentenstatus", + "heading": "Schülerstatus", "description": "Zählt für alle Teilnehmer aller Compliance-Kurse." } }, @@ -4629,7 +4629,7 @@ "approaching": "Annäherung an die Kappe", "totalActive": "Aktive Studenten diesen Monat", "learnersHeading": "Studenten", - "headerLearner": "Student", + "headerLearner": "Schüler", "headerMessages": "Nachrichten", "headerTokens": "Token", "headerStatus": "Status", @@ -4672,7 +4672,7 @@ }, "field": { "enabled": "KI-Tutor aktiviert", - "persona": "Persona des Tutors", + "persona": "Tutor-Persona", "customPersona": "Benutzerdefinierte Persona", "customPersona_description": "Beschreiben Sie, wie der Tutor klingen soll – Ton, Ansprachestil, alles, was speziell auf Ihr Publikum zugeschnitten ist.", "responseLength": "Antwortlänge", @@ -4837,7 +4837,7 @@ "delete": "Löschen" }, "card": { - "pin": "Pin", + "pin": "Anheften", "unpin": "Lösen", "edit": "Bearbeiten", "delete": "Löschen" @@ -4879,14 +4879,14 @@ "description": "Beschreibung" }, "filters": { - "filter": "Filtern", + "filter": "Filter", "clear_all": "Alles löschen", "popover_title": "Filter", "sort": "Sortieren", "order": "Bestellen", "status": "Status", - "ascending": "Aufstieg", - "descending": "Beschr", + "ascending": "Aufst.", + "descending": "Abst.", "sort_name": "Name", "sort_courses": "Kurse", "sort_students": "Studenten", diff --git a/apps/dashboard/src/lib/utils/translations/es.json b/apps/dashboard/src/lib/utils/translations/es.json index 612b2737..877643d1 100644 --- a/apps/dashboard/src/lib/utils/translations/es.json +++ b/apps/dashboard/src/lib/utils/translations/es.json @@ -513,7 +513,7 @@ "public_api_required": "Actualiza a Early Adopter o Enterprise para acceder a la API pública." }, "analytics": { - "title": "Analítica", + "title": "Analíticas", "courses": "Cursos", "progress": "Progreso", "progress_description": "{value, number} de {total, number} completo", @@ -552,7 +552,7 @@ "showing_students": "Mostrando del {start} al {end} de {total} estudiantes", "no_analytics_data": "Sin datos analíticos", "no_analytics_description": "No se pueden cargar datos analíticos para este curso. Inténtelo de nuevo más tarde o comuníquese con el soporte si el problema persiste.", - "student": "estudiante", + "student": "Estudiante", "student_progress_distribution": "Distribución del progreso estudiantil", "grade_distribution": "Distribución de calificaciones", "progress_80_plus": "80%+ Progreso", @@ -564,7 +564,7 @@ "grade_below_70": "Por debajo del 70% de calificación", "number_of_students": "Número de estudiantes", "progress_range": "Rango de progreso", - "grade_range": "Rango de grado", + "grade_range": "Rango de calificaciones", "no_progress_data": "No hay datos de progreso disponibles", "no_grade_data": "No hay datos de calificaciones disponibles", "loading_chart": "Cargando gráfico...", @@ -577,7 +577,7 @@ "description": "Inscripciones agrupadas por tipo de curso", "subtitle": "{total} inscripciones en todos los tipos", "empty": "Aún no hay datos de matrícula", - "course_count": "{count, plural, one {# course} other {# courses}}", + "course_count": "{count, plural, one {# curso} other {# cursos}}", "views_short": "vistas", "types": { "SELF_PACED": "a su propio ritmo", @@ -635,8 +635,8 @@ "progress_distribution_card_description": "¿Cuántos estudiantes caen en cada banda de finalización?", "grade_distribution_card_description": "¿Cuántos estudiantes caen en cada grupo de grado?", "students_table_description": "Descripción general ordenable con enlaces a perfiles de estudiantes.", - "kpi_team_tutors": "{count, plural, one {# tutor on the course team} other {# tutors on the course team}}", - "kpi_lessons_exercises": "{count, plural, one {# exercise} other {# exercises}} asignados a lecciones", + "kpi_team_tutors": "{count, plural, one {# tutor en el equipo del curso} other {# tutores en el equipo del curso}}", + "kpi_lessons_exercises": "{count, plural, one {# ejercicio} other {# ejercicios}} asignados a lecciones", "kpi_progress_grade": "{grade}% de calificación promedio de ejercicio entre los estudiantes matriculados" } }, @@ -702,10 +702,10 @@ "select_cohorts": "Seleccionar cohortes específicas", "select_cohorts_placeholder": "Elige cohortes..." }, - "page_subtitle": "See who belongs to your org, who is learning, who is invited, and how to reach them.", + "page_subtitle": "Consulta quién pertenece a tu organización, quién está aprendiendo, quién está invitado y cómo contactarlos.", "user_analytics": { "title": "Perfil de estudiante", - "page_subtitle": "Progress, grades, and activity across their courses." + "page_subtitle": "Progreso, calificaciones y actividad en sus cursos." }, "delete": { "action": "Eliminar", @@ -748,11 +748,11 @@ "cancel": "Cancelar", "give": "dar una respuesta", "comment": "Comentario", - "page_subtitle": "Start a thread the whole community can see, and tie it to a course if you want." + "page_subtitle": "Inicia un hilo que toda la comunidad pueda ver y vincúlalo a un curso si quieres." }, - "page_subtitle": "Questions and answers shared across your organization's courses.", + "page_subtitle": "Preguntas y respuestas compartidas en los cursos de tu organización.", "question": { - "page_subtitle": "Follow answers, vote, and join the discussion." + "page_subtitle": "Sigue las respuestas, vota y únete a la conversación." } }, "course": { @@ -834,7 +834,7 @@ "button_label": "Etiqueta del botón", "button_label_placeholder": "Leer más en mi sitio", "button_url_label": "URL del botón", - "button_url_placeholder": "https://ejemplo.com", + "button_url_placeholder": "https://example.com", "clear": "Borrar llamada", "public_only": "Las notas solo aparecen en los cursos públicos.", "animation_label": "Animación de fondo", @@ -857,7 +857,7 @@ } }, "analytics": { - "title": "Analítica" + "title": "Analíticas" }, "landing_page": { "course_content": "Contenido del curso", @@ -873,10 +873,10 @@ "content": "Contenido del curso", "slide": "1 diapositiva", "note": "nota", - "video": "vídeo", + "video": "video", "reviews": "Reseñas", "see_all": "Ver todo", - "header_video": "Vídeo de encabezado", + "header_video": "Video de encabezado", "no_course_published": "Ningún curso publicado", "coming_your_way": "¡Tenemos excelentes cursos en camino, estad atentos!", "view_less": "Ver menos", @@ -1011,7 +1011,7 @@ "tab_design": "Diseño", "tab_settings": "Configuración", "theme": "Elige un tema", - "logo": "Logotipo de la marca", + "logo": "Logotipo de marca", "to_update": "Para actualizar su imagen de marca, vaya a", "settings": "Configuración > Configuración de la organización", "and_upload": "y sube el logo de tu marca", @@ -1080,7 +1080,7 @@ "summary_title": "Diseño activo", "summary_subtitle": "Instantánea de cómo se verá el certificado cuando se emita.", "field_template": "Plantilla", - "field_accent": "acento", + "field_accent": "Acento", "field_signatories": "Firmantes", "customize_design": "Personalizar diseño", "signatory_one_toggle": "Mostrar firmante 1", @@ -1100,7 +1100,7 @@ "pending": "Pendiente", "name": "Nombre", "role": "Rol", - "action": "acción", + "action": "Acción", "feedback": "Correo electrónico copiado al portapapeles", "view": "Ver", "delete_profile": "Eliminar perfil", @@ -1128,9 +1128,9 @@ } }, "roles": { - "admin": "administrador", + "admin": "Administrador", "tutor": "Tutor", - "student": "estudiante", + "student": "Estudiante", "filter": "Filtrar" }, "delete_confirmation": { @@ -1187,26 +1187,26 @@ "direct_email_bulk": "Correo electrónico directo/invitación masiva", "direct_email_description": "Pegue las direcciones de correo electrónico separadas por coma, espacio o nueva línea. Se crea una invitación segura única por correo electrónico.", "recipient_emails": "Correos electrónicos del destinatario", - "recipient_emails_placeholder": "estudiante1@ejemplo.com, estudiante2@ejemplo.com", + "recipient_emails_placeholder": "student1@example.com, student2@example.com", "send_invite_emails": "Enviar correos electrónicos de invitación inmediatamente", "create_email_invites": "Crear invitaciones por correo electrónico", - "existing_students_title": "Add existing org students", + "existing_students_title": "Agregar estudiantes existentes de la organización", "existing_students_description": "Elija estudiantes que ya estén en esta organización y concédales acceso directo a este curso.", - "existing_students_search": "Search organization students", - "loading_existing_students": "Loading organization students...", - "no_existing_students": "No organization students are available to add.", - "no_matching_existing_students": "No organization students match your search.", - "notify_existing_students": "Send course access email", - "grant_access": "Grant Access", + "existing_students_search": "Buscar estudiantes de la organización", + "loading_existing_students": "Cargando estudiantes de la organización...", + "no_existing_students": "No hay estudiantes de la organización disponibles para agregar.", + "no_matching_existing_students": "Ningún estudiante de la organización coincide con tu búsqueda.", + "notify_existing_students": "Enviar correo de acceso al curso", + "grant_access": "Conceder acceso", "grant_access_modal": { "title": "Dar acceso al estudiante", "description": "Da acceso a {email} a este curso. Le enviaremos un correo de invitación para unirse a tu organización e inscribirse en este curso.", "cancel": "Cancelar", "send_invite": "Enviar invitación" }, - "invite_new_students_title": "Invite new students", - "invite_new_students_description": "Invite new people into your organization and pre-assign them to this course. They will create an account, accept the invite, and get access.", - "invite_new_students": "Invite Students", + "invite_new_students_title": "Invitar nuevos estudiantes", + "invite_new_students_description": "Invita a personas nuevas a tu organización y asígnalas previamente a este curso. Crearán una cuenta, aceptarán la invitación y obtendrán acceso.", + "invite_new_students": "Invitar estudiantes", "existing_invites": "Invitaciones existentes", "refresh": "Actualizar", "loading_invites": "Cargando invitaciones...", @@ -1240,7 +1240,7 @@ "snackbar_failed_load_audit": "No se pudo cargar la auditoría de invitación", "snackbar_metadata_copied": "Metadatos de invitación copiados", "snackbar_email_invites_success": "Se crearon {count} invitaciones. Enviado {sent}, falló {failed}. Se omitieron {duplicates} duplicados.", - "select_at_least_one_student": "Select at least one existing student", + "select_at_least_one_student": "Selecciona al menos un estudiante existente", "presets": { "one_time_24h": "Una vez (24h)", "multi_use_7d": "Multiuso (7 días)", @@ -1252,8 +1252,8 @@ }, "marks": { "title": "marcas", - "student": "estudiante", - "total": "totales", + "student": "Estudiante", + "total": "Total", "no_student": "No se agregó ningún estudiante", "export": { "csv": "Exportar como CSV", @@ -1268,7 +1268,7 @@ "early": "Temprano", "late": "tarde", "total_grade": "Nota total", - "student": "estudiante", + "student": "Estudiante", "status": "Estado", "add_comment": "Añadir comentario", "add_comment_placeholder": "Deja un comentario", @@ -1285,7 +1285,7 @@ "delete_prompt": "Eliminar", "delete_error": "No se pudo eliminar el envío", "delete_success": "Envío eliminado correctamente", - "student_avatar": "avatar de estudiante", + "student_avatar": "Avatar del estudiante", "ai_icon": "IA" }, "submission_status": { @@ -1302,9 +1302,9 @@ "attendance": { "title": "Asistencia", "present": "presente", - "absent": "ausente", + "absent": "Ausente", "search_students": "Buscar estudiantes", - "student": "estudiante", + "student": "Estudiante", "lesson": "Lección", "no_student": "No se agregó ningún estudiante" }, @@ -1364,7 +1364,7 @@ "status": "Estado", "draft": "Borrador", "publish": "Publicar", - "expiration": "Caducidad", + "expiration": "Vencimiento", "total_voted": "Votos totales", "responses": "Respuestas", "expires": "Vence", @@ -1435,14 +1435,14 @@ "check": "comprobar", "auto_graded_badge": "Calificación automática", "manual_grading_required_badge": "Se requiere calificación manual", - "points_required_auto_grade": "Points must be greater than 0 for auto-graded exercises.", + "points_required_auto_grade": "Los puntos deben ser mayores que 0 para ejercicios con calificación automática.", "analytics": { "submissions": "Envíos", "individual": { - "heading": "individuo", + "heading": "Individual", "answers": "Respuestas individuales", "no": "No se proporcionó respuesta", - "student_avatar": "estudiante", + "student_avatar": "Estudiante", "answers_for": "Respuestas de {name}", "attempts_count": "{count} intentos", "attempt_label": "Intento {number}", @@ -1476,7 +1476,7 @@ "all": "Todo lo requerido", "due": "Vencido por", "no_description": "Sin descripción", - "start": "Empezar", + "start": "Iniciar", "graded": "Calificado", "pending": "Pendiente", "submitted": "Enviado", @@ -1523,17 +1523,17 @@ "file_upload": "Carga de archivos", "matching": "Coincidencia", "ordering": "Realizar pedidos", - "hotspot": "Punto de acceso", + "hotspot": "Punto interactivo", "link": "Enlaces", "word_bank": "banco de palabras", "star": "Calificación de estrellas", "video_recording": "Grabación de vídeo" }, "select_type": "Seleccionar tipo", - "question_type_auto_gradable": "Auto", - "question_type_auto_gradable_description": "Scored automatically by the system", + "question_type_auto_gradable": "Automática", + "question_type_auto_gradable_description": "Calificada automáticamente por el sistema", "question_type_manual_grading": "Manual", - "question_type_manual_grading_description": "Requires human review to score", + "question_type_manual_grading_description": "Requiere revisión humana para calificar", "premium_question_type": "Actualice para usar este tipo de pregunta" }, "delete_confirmation": { @@ -1554,16 +1554,16 @@ "textarea": { "take": { "placeholder": "Escribe tu respuesta", - "min_error": "Answer must be at least {min} characters.", - "max_error": "Answer must be at most {max} characters.", - "range_error": "Answer must be between {min} and {max} characters." + "min_error": "La respuesta debe tener al menos {min} caracteres.", + "max_error": "La respuesta debe tener como máximo {max} caracteres.", + "range_error": "La respuesta debe tener entre {min} y {max} caracteres." }, "edit": { "placeholder": "Los estudiantes responderán con un texto extenso.", - "min_characters_label": "Minimum characters", - "min_characters_placeholder": "Minimum characters", - "max_characters_label": "Maximum characters", - "max_characters_placeholder": "Maximum characters" + "min_characters_label": "Mínimo de caracteres", + "min_characters_placeholder": "Mínimo de caracteres", + "max_characters_label": "Máximo de caracteres", + "max_characters_placeholder": "Máximo de caracteres" } }, "hotspot": { @@ -1758,7 +1758,7 @@ "add_option": "Agregar opción", "correct_badge": "Correcto", "not_set": "No establecido", - "incorrect_badge": "Incorrecto" + "incorrect_badge": "Incorrecta" }, "word_bank": { "review": { @@ -1779,7 +1779,7 @@ "template_helper": "Utilice tres guiones bajos (___) para cada espacio en blanco. Los estudiantes verán un banco de palabras con respuestas correctas y distractores.", "no_blanks_warning": "Agrega al menos un ___ marcador en blanco en tu plantilla.", "correct_answers_heading": "Respuesta correcta para cada espacio en blanco.", - "blank_label": "En blanco", + "blank_label": "Espacio en blanco", "correct_placeholder": "Término o frase correcta", "distractors_heading": "Palabras adicionales (distractores)", "distractor_placeholder": "Opción equivocada", @@ -1830,7 +1830,7 @@ "stop_recording": "dejar de grabar", "elapsed": "Transcurrido", "remaining": "restante", - "max_duration": "máx.", + "max_duration": "Máx.", "too_short": "Grabe durante al menos 1 segundo.", "use_recording": "Usar grabación", "retake": "Retomar", @@ -2003,7 +2003,7 @@ "empty_description": "Cargue documentos para compartir con sus estudiantes" }, "video": { - "title": "Vídeo", + "title": "Video", "embed_link": "Insertar enlace", "upload": "Subir", "library": "Biblioteca", @@ -2017,7 +2017,7 @@ "add_video": "Agregar vídeo", "upload_video": "Subir vídeo", "select_file": "Seleccione el archivo (Mp4, MOV, AVI) para cargarlo en su lección.", - "size": "(Máximo 500 MB)", + "size": "(Máx. 500 MB)", "oops": "Ups `😬, no se pudo subir el video", "big_file": "Lo sentimos, el video no fue subido. El tamaño del archivo es demasiado grande,", "maximum_size": "el tamaño máximo es 30 MB. ¡Intentar otra vez!", @@ -2036,7 +2036,7 @@ "add_from_library": "Agregar desde la biblioteca", "cancel_upload": "Cancelar carga", "upload_cancelled": "Subida cancelada por el usuario", - "max_files": "{count, plural, one {You can upload # file} other {You can upload # files}}", + "max_files": "{count, plural, one {Puedes subir # archivo} other {Puedes subir # archivos}}", "max_files_and_size": "(hasta {size} cada uno)", "google_drive_choose": "Elige desde Google Drive", "google_drive_opening": "Selector de apertura…", @@ -2058,14 +2058,14 @@ "empty_title": "Aún no hay vídeos", "empty_description": "Agregue videos de YouTube, cárguelos o de su biblioteca multimedia", "google_drive": "Google Drive", - "generate_transcript": "Generate transcription", - "generate_transcript_in_progress": "Transcribing…", + "generate_transcript": "Generar transcripción", + "generate_transcript_in_progress": "Transcribiendo…", "transcript": { - "title": "Transcript", - "captions_label": "Captions", - "language": "Language: {language}", - "empty": "No transcript yet. You can generate one from this card’s menu after the video is uploaded.", - "loading": "Loading transcript…", + "title": "Transcripción", + "captions_label": "Subtítulos", + "language": "Idioma: {language}", + "empty": "Aún no hay transcripción. Puedes generar una desde el menú de esta tarjeta después de subir el video.", + "loading": "Cargando transcripción…", "open_side_panel": "Abrir panel de transcripción", "edit": "Editar transcripción", "save": "Guardar", @@ -2076,7 +2076,7 @@ "next_video": "Transcripción del video siguiente" }, "simple_card": { - "kind_youtube": "youtube", + "kind_youtube": "YouTube", "kind_upload": "Subir", "kind_google_drive": "Google Drive", "kind_generic": "Incrustado", @@ -2096,8 +2096,8 @@ "playback_auth_action": "Iniciar sesión" }, "slide": { - "title": "diapositiva", - "slide_link": "Enlace deslizante", + "title": "Diapositiva", + "slide_link": "Enlace de diapositiva", "helper_message": "Puede incrustar presentaciones de Google Slides o Canva" }, "note": { @@ -2220,7 +2220,7 @@ "add_to_calendar": "Añadir al calendario", "add_google": "Calendario de Google", "add_outlook": "Outlook.com", - "add_office365": "Oficina 365", + "add_office365": "Office 365", "add_yahoo": "Calendario de Yahoo", "add_apple": "Calendario de Apple (.ics)", "starts_in": "Comienza en", @@ -2263,7 +2263,7 @@ "delete": "Eliminar" }, "card": { - "pin": "Alfiler", + "pin": "Fijar", "unpin": "Desanclar", "edit": "Editar", "delete": "Eliminar" @@ -2306,10 +2306,10 @@ "waived": "Renunciado" }, "fields": { - "learner": "estudiante", + "learner": "Estudiante", "email": "Correo electrónico", "status": "Estado", - "cycle": "ciclo", + "cycle": "Ciclo", "due_date": "fecha de vencimiento", "completed_at": "Completado en", "valid_until": "Válido hasta", @@ -2355,8 +2355,8 @@ "empty": "No se encontraron resultados" }, "header": { - "preview": "Preview course", - "preview_missing_slug": "Generate and save a course slug before previewing.", + "preview": "Vista previa del curso", + "preview_missing_slug": "Genera y guarda un slug del curso antes de previsualizarlo.", "view_as_student": "Ver como estudiante", "view_course_site": "Ver sitio del curso" }, @@ -2374,7 +2374,7 @@ }, "compliance": { "title": "Cumplimiento", - "due_date": "debido", + "due_date": "Vence", "valid_until": "Válido hasta" }, "progress": { @@ -2392,7 +2392,7 @@ "nav_marks": "marcas", "nav_compliance": "Cumplimiento", "nav_people": "gente", - "nav_analytics": "Analítica", + "nav_analytics": "Analíticas", "nav_certificates": "Certificados", "nav_landing_page": "Página de destino", "nav_settings": "Configuración", @@ -2561,16 +2561,16 @@ "publish_course": "Publicar curso", "copy_course_url": "Copiar URL del curso" }, - "due_date": "debido", + "due_date": "Vence", "valid_until": "Válido hasta" }, "course_filter": { - "date_created_newest": "Date Created: Newest first", - "date_created_oldest": "Date Created: Oldest first", - "published_first": "Published: Published first", - "unpublished_first": "Published: Unpublished first", - "most_lessons": "Lessons: Most first", - "fewest_lessons": "Lessons: Fewest first", + "date_created_newest": "Fecha de creación: más recientes primero", + "date_created_oldest": "Fecha de creación: más antiguos primero", + "published_first": "Publicación: publicados primero", + "unpublished_first": "Publicación: no publicados primero", + "most_lessons": "Lecciones: más primero", + "fewest_lessons": "Lecciones: menos primero", "date_created": "Fecha de creación", "published": "Publicado", "lessons": "Lecciones" @@ -2587,7 +2587,7 @@ "tags": "Etiquetas", "empty_tags": "No hay etiquetas disponibles" }, - "page_subtitle": "Where lessons turn into courses and courses turn into enrollments." + "page_subtitle": "Donde las lecciones se convierten en cursos y los cursos en inscripciones." }, "ai": { "help_me": "Ayúdame a escribir", @@ -2614,13 +2614,13 @@ "lms_dashboard_hero": "Hoy es otro día para acercarte a tus objetivos de aprendizaje. No te rindas, cuanto más aprendas, mejor serás.", "lessons_completed": "Lecciones completadas", "no_courses_started": "No se iniciaron cursos", - "certificates_earned": "Certificates issued", - "certificates_earned_description": "Total certificates issued to students in your organization", + "certificates_earned": "Certificados emitidos", + "certificates_earned_description": "Total de certificados emitidos a estudiantes de tu organización", "certification_rate": "Certificados", - "recent_certifications": "Recent certifications", - "no_certifications_yet": "No certificates earned yet", - "no_certifications_yet_description": "When students complete a course and earn a certificate, they will appear here", - "view_courses": "View courses", + "recent_certifications": "Certificaciones recientes", + "no_certifications_yet": "Aún no hay certificados obtenidos", + "no_certifications_yet_description": "Cuando los estudiantes completen un curso y obtengan un certificado, aparecerán aquí", + "view_courses": "Ver cursos", "no_of_courses": "Número de cursos", "no_courses_description": "Cursos creados dentro de esta organización.", "total_students": "Estudiantes totales", @@ -2637,7 +2637,7 @@ "publish_course": "Publicar curso", "items_completed": "Artículos completados", "currently_learning": "Actualmente aprendiendo", - "learner": "estudiante", + "learner": "Estudiante", "progress": "Progreso", "pick_up_where_you_left_off": "Continua donde lo dejaste", "get_your_certificate": "Obtén tu certificado", @@ -2652,7 +2652,7 @@ "compliance_score_empty": "Aún no se han asignado cursos de cumplimiento", "compliance_met": "{completed} de {total} cumplido", "required_courses_completed": "{completed} de {total} cursos requeridos completados", - "streak": "racha", + "streak": "Racha", "days_active": "dias activos", "items_done": "{completed} de {total} hecho", "login_activity_title": "Actividad de inicio de sesión del estudiante", @@ -2685,11 +2685,11 @@ }, "course": { "title": "Curso", - "newsfeed": "suministro de noticias", + "newsfeed": "Noticias", "grading": "Calificación" }, "dashboard": { - "title": "Panel de control", + "title": "Panel", "community": "Comunidad", "exercises": "Ejercicios", "banner_image": "Imagen de banner", @@ -2774,7 +2774,7 @@ "continue": "Continuar", "rename": "Cambiar nombre", "updated": "Actualizado", - "start": "Iniciar prueba", + "start": "Iniciar cuestionario", "start_typing": "Comience a escribir su pregunta", "required_field": "Este campo es obligatorio", "type_answer": "Escribe respuesta", @@ -2791,8 +2791,8 @@ "goto": "Ir a", "courses": "Cursos", "home": "Inicio", - "classroomio_home": "AulaIO Inicio", - "dashboard": "Panel de control", + "classroomio_home": "Inicio de ClassroomIO", + "dashboard": "Panel", "discussion": "Discusión", "people": "gente", "goto_lms": "Ir a LMS", @@ -2820,7 +2820,7 @@ "progress": "Progreso", "completed": "completado", "done": "hecho", - "todo": "todo", + "todo": "Pendiente", "publish_course": { "title": "Publicar un curso", "desc": "Haz que tu curso sea público y adquirible", @@ -2869,7 +2869,7 @@ "plan_names": { "free": "Gratis", "early": "Adoptador temprano", - "enterprise": "Empresa" + "enterprise": "Enterprise" } }, "org_navigation": { @@ -2877,7 +2877,7 @@ "home": "Inicio", "content": "Contenido", "people": "Personas", - "dashboard": "Panel de control", + "dashboard": "Panel", "courses": "Cursos", "community": "Comunidad", "audience": "Audiencia", @@ -2890,9 +2890,9 @@ "upgrade": "Actualiza ahora", "tags": "Etiquetas", "automation": "Automatización", - "widgets": "widgets", + "widgets": "Widgets", "stats": "Estadísticas", - "analytics": "Analítica", + "analytics": "Analíticas", "compliance": "Cumplimiento", "cohorts": "Cohortes", "upgrade_now": "Actualiza ahora", @@ -2912,7 +2912,7 @@ "table": { "target_type": "Tipo de objetivo", "target_id": "ID de objetivo", - "slot": "Ranura", + "slot": "Espacio", "position": "Posición", "added": "Añadido" }, @@ -2935,7 +2935,7 @@ "description": "Descripción", "description_placeholder": "Añade una descripción opcional", "thumbnail_url": "URL en miniatura", - "thumbnail_url_placeholder": "https://ejemplo.com/thumbnail.jpg", + "thumbnail_url_placeholder": "https://example.com/thumbnail.jpg", "thumbnail_upload": "Subir miniatura", "thumbnail_drop_label": "Suelta la imagen aquí o haz clic para subirla.", "thumbnail_drop_size": "Hasta 5MB", @@ -2976,13 +2976,13 @@ }, "provider": { "upload": "Subir", - "youtube": "youtube", + "youtube": "YouTube", "generic": "genérico", "external_url": "URL externa", "google_drive": "Google Drive" }, "kind": { - "video": "Vídeo", + "video": "Video", "document": "Documento", "image": "Imagen", "audio": "Audio", @@ -2998,7 +2998,7 @@ }, "kind_options": { "all": "Todos los tipos", - "video": "Vídeo", + "video": "Video", "document": "Documento", "image": "Imagen", "audio": "Audio", @@ -3013,16 +3013,16 @@ "bytes_by_kind": "Almacenamiento por tipo de activo" }, "common": { - "not_available": "N/A" + "not_available": "N/D" }, "empty_description": "El activo no existe o no está disponible en esta organización.", - "page_subtitle": "Keep files, videos, and links for your courses in one library.", + "page_subtitle": "Mantén archivos, videos y enlaces de tus cursos en una sola biblioteca.", "thumbnails": { "manage_title": "Administrar miniaturas", "manage_description": "Obtenga una vista previa del vídeo, elija uno de los fotogramas generados automáticamente o cargue el suyo propio.", "preview_unavailable": "Vista previa no disponible", "generated": "Miniaturas generadas", - "slot_start": "Empezar", + "slot_start": "Inicio", "slot_middle": "Medio", "slot_end": "Fin", "none_generated_warning": "Aún no se han generado miniaturas. Intente regenerar o cargar una imagen personalizada.", @@ -3052,13 +3052,13 @@ "provider": "Usamos Polar para ayudarte a gestionar tu facturación", "open_billing": "Facturación abierta", "error": "Se produjo un error al abrir la facturación.", - "page_subtitle": "Your plan, billing portal, and how you pay for ClassroomIO.", + "page_subtitle": "Tu plan, el portal de facturación y cómo pagas ClassroomIO.", "ai_credits": "AI credits", "ai_tokens_used": "AI credits usados este mes", "ai_bonus_credits": "AI credits de bonificación disponibles" }, "integrations": { - "heading": "Telegrama", + "heading": "Telegram", "sub_heading": "Conecte su cuenta a Telegram para recibir notificaciones de cualquier cambio dentro de la aplicación.", "step_authenticate": "Paso 1: autentica tu cuenta a través del bot ClassroomIO.", "open_bot_button": "Abrir robot", @@ -3066,7 +3066,7 @@ "connect_button": "Conectar", "success_message": "Integración exitosa", "disconnect": "Desconectar", - "page_subtitle": "Connect Telegram to get notified when important things happen." + "page_subtitle": "Conecta Telegram para recibir notificaciones cuando ocurran cosas importantes." }, "landing_page": { "heading": "Página de destino", @@ -3094,8 +3094,8 @@ "heading": "Pie de página", "show_section": "Mostrar sección", "hide_section": "Ocultar sección", - "facebook": "facebook", - "twitter": "Gorjeo", + "facebook": "Facebook", + "twitter": "Twitter", "linkedin": "LinkedIn" }, "mailing_list": { @@ -3153,7 +3153,7 @@ "hide_banner": "Ocultar banner", "banner_type": { "heading": "Tipo de banner", - "video": "Vídeo", + "video": "Video", "image": "Imagen" } }, @@ -3162,7 +3162,7 @@ "show_background": "Mostrar fondo", "hide_background": "Ocultar fondo" }, - "page_subtitle": "Shape the marketing page people see before they sign up or enroll.", + "page_subtitle": "Diseña la página de marketing que la gente ve antes de registrarse o inscribirse.", "editor": { "save": "Guardar", "close": "Cerrar", @@ -3171,22 +3171,22 @@ "text": "Texto de pie de página", "add": "Agregar enlace de pie de página", "default_label": "Nuevo enlace", - "link_label": "Etiqueta de enlace", + "link_label": "Etiqueta del enlace", "link_href": "URL del enlace", "remove": "Eliminar enlace de pie de página", "brand": { - "legend": "Brand", - "description": "Your organization logo and name always appear here (from organization settings). Add optional details below.", - "preview_label": "Footer brand preview", - "tagline": "Tagline", - "tagline_placeholder": "Small line under your brand", + "legend": "Marca", + "description": "El logotipo y el nombre de tu organización siempre aparecen aquí (desde la configuración de la organización). Agrega detalles opcionales a continuación.", + "preview_label": "Vista previa de marca del pie de página", + "tagline": "Eslogan", + "tagline_placeholder": "Línea breve bajo tu marca", "copyright": "Copyright", - "copyright_placeholder": "© 2026 Your Organization", - "social_label": "Social links", - "platform_field": "Platform", - "url_label": "Profile URL", - "add_social": "Add social link", - "remove_social": "Remove social link", + "copyright_placeholder": "© 2026 Tu organización", + "social_label": "Enlaces sociales", + "platform_field": "Plataforma", + "url_label": "URL del perfil", + "add_social": "Agregar enlace social", + "remove_social": "Eliminar enlace social", "platforms": { "instagram": "Instagram", "x": "X", @@ -3195,29 +3195,29 @@ "youtube": "YouTube", "github": "GitHub", "tiktok": "TikTok", - "website": "Website" + "website": "Sitio web" } }, "columns": { - "legend": "Link columns", - "description": "Add grouped links (like Company or Resources). Enables a multi-column footer layout.", - "empty_hint": "No columns yet — add one to show a multi-column footer beside your brand.", - "add": "Add column", - "remove": "Remove column", - "heading_label": "Column heading", - "heading_placeholder": "e.g. Company", - "add_link": "Add link", - "remove_link": "Remove link", - "links_max_reached": "Up to 10 links per column", - "cta_toggle": "Add CTA link", - "cta_label": "CTA label", - "cta_href": "CTA URL", - "cta_default_label": "Explore more", - "max_reached": "Up to 6 columns" + "legend": "Columnas de enlaces", + "description": "Agrega enlaces agrupados (como Empresa o Recursos). Habilita un diseño de pie de página con varias columnas.", + "empty_hint": "Aún no hay columnas — agrega una para mostrar un pie de página de varias columnas junto a tu marca.", + "add": "Agregar columna", + "remove": "Eliminar columna", + "heading_label": "Encabezado de columna", + "heading_placeholder": "p. ej., Empresa", + "add_link": "Agregar enlace", + "remove_link": "Eliminar enlace", + "links_max_reached": "Hasta 10 enlaces por columna", + "cta_toggle": "Agregar enlace CTA", + "cta_label": "Etiqueta del CTA", + "cta_href": "URL del CTA", + "cta_default_label": "Explorar más", + "max_reached": "Hasta 6 columnas" }, "bottom": { - "legend": "Bottom row", - "add_link": "Add bottom link" + "legend": "Fila inferior", + "add_link": "Agregar enlace inferior" } }, "embed": { @@ -3248,7 +3248,7 @@ "navigation": { "add": "Agregar enlace de navegación", "default_label": "Nuevo enlace", - "link_label": "Etiqueta de enlace", + "link_label": "Etiqueta del enlace", "link_href": "URL del enlace", "remove": "Eliminar enlace de navegación" }, @@ -3271,7 +3271,7 @@ "label_field": "Etiqueta", "value_field": "Valor", "label_placeholder": "Estudiantes activos", - "value_placeholder": "1.200" + "value_placeholder": "1,200" } }, "sections": { @@ -3284,7 +3284,7 @@ "embed": "Insertar", "embed_desc": "La sección iframe opcional se muestra después de los cursos.", "footer": "Pie de página", - "footer_desc": "Brand line, socials, multi-column links, and bottom legal row.", + "footer_desc": "Línea de marca, redes sociales, enlaces en varias columnas y fila legal inferior.", "links": "Enlaces", "links_desc": "Bloque opcional de enlaces externos (centro de ayuda, comunidad, seminarios web) que se muestran después de los cursos." }, @@ -3318,7 +3318,7 @@ "book_open": "Documentación", "video": "Vídeo/seminarios web", "users": "Comunidad", - "message_circle": "Charla", + "message_circle": "Chat", "newspaper": "Noticias", "rocket": "empezar", "calendar": "Eventos", @@ -3344,11 +3344,11 @@ "description": "Alto contraste, editorial y llamativo." }, "minimal": { - "title": "mínimo", + "title": "Minimal", "description": "Limpio, brillante y centrado en el curso." }, "terminal": { - "title": "terminales", + "title": "Terminal", "description": "Superficie oscura, marca denominativa fantasma, catálogo inspirado en CLI" }, "corporate": { @@ -3356,11 +3356,11 @@ "description": "Tipografía sobria, cuadrículas con bordes, apariencia lista para auditoría" }, "studio": { - "title": "Estudio", + "title": "Studio", "description": "Bordes finos, brillo de héroe degradado, pulido de productos artesanales" }, "tech": { - "title": "tecnología", + "title": "Tech", "description": "Banda de marca llamativa, navegación monoespacial, sensación de academia de ingeniería" }, "saas": { @@ -3411,7 +3411,7 @@ "upload_image": "Subir imagen", "update_organization": "Actualizar organización", "team": { - "heading": "equipo", + "heading": "Equipo", "sub_heading": "Configura tu equipo", "body": "Agregue compañeros de equipo a su organización para que ambos puedan colaborar en proyectos.", "button": "Gestionar equipo" @@ -3458,7 +3458,7 @@ "accepted": "Aceptado:", "validation_error": "El tamaño del archivo excede el límite máximo:" }, - "page_subtitle": "Your name, email, and how you appear wherever you work in ClassroomIO." + "page_subtitle": "Tu nombre, correo electrónico y cómo apareces donde trabajas en ClassroomIO." }, "tabs": { "profile_tab": "Perfil", @@ -3469,11 +3469,11 @@ "language_tab": "Idioma", "auth_tab": "Autenticación", "sso_tab": "SSO", - "token_auth_tab": "Autenticación de token", + "token_auth_tab": "Autenticación por token", "customize_lms_tab": "Personalizar LMS", "domains_tab": "Dominios", "teams_tab": "equipos", - "ai_credits_tab": "AI Credits", + "ai_credits_tab": "Créditos de IA", "ai_tutor_tab": "Tutor de IA", "notifications_tab": "Notificaciones" }, @@ -3498,7 +3498,7 @@ "issuer_placeholder": "https://accounts.google.com", "issuer_help": "Emisor OIDC (sin barra diagonal). Ejemplos: Google Workspace: https://accounts.google.com; Okta-https://your-org.okta.com; Azure AD: https://login.microsoftonline.com/your-tenant-id/v2.0", "domain_label": "Dominio de correo electrónico", - "domain_placeholder": "tuempresa.com", + "domain_placeholder": "yourcompany.com", "client_id_label": "ID de cliente", "client_id_placeholder": "Desde su proveedor de identidad", "client_secret_label": "Secreto del cliente", @@ -3506,8 +3506,8 @@ "create_button": "Crear conexión", "providers": { "okta": "Okta", - "google_workspace": "Espacio de trabajo de Google", - "auth0": "Autenticación0" + "google_workspace": "Google Workspace", + "auth0": "Auth0" } }, "policies": { @@ -3518,7 +3518,7 @@ "description": "Permita que los administradores omitan el SSO con correo electrónico/contraseña en caso de emergencia." }, "auto_join": { - "label": "Unirse automáticamente", + "label": "Unión automática", "description": "Permita que los usuarios con dominios de correo electrónico coincidentes se unan automáticamente a su organización." }, "force_sso": { @@ -3584,12 +3584,12 @@ "tabs": { "general": "generales", "sso": "SSO", - "token_auth": "Autenticación de token" + "token_auth": "Autenticación por token" }, - "page_subtitle": "Control sign-up, login, SSO, and token-based access for this org." + "page_subtitle": "Controla el registro, el inicio de sesión, el SSO y el acceso basado en tokens para esta organización." }, "token_auth": { - "heading": "Autenticación de token", + "heading": "Autenticación por token", "description": "Permita que los usuarios inicien sesión desde su aplicación con un JWT, sin necesidad de contraseña. Genere un secreto de firma y utilícelo en su backend para emitir JWT de corta duración.", "status": "Estado", "active": "Activo", @@ -3609,12 +3609,12 @@ "actions_menu": "Acciones de autenticación de token" }, "teams": { - "page_subtitle": "Invite teammates and control who helps run this organization." + "page_subtitle": "Invita a compañeros de equipo y controla quién ayuda a administrar esta organización." }, "ai_credits": { - "sub_title": "AI credits", + "sub_title": "Créditos de IA", "page_subtitle": "Realice un seguimiento del uso del asistente de IA, del consumo del equipo y compre paquetes de AI credits.", - "cost_note": "Credit usage is weighted by model cost. Gemini 3.1 Flash Lite counts as 1 credit unit per token. GPT-5.4 Mini and Kimi K2.6 count as 4× per token. Claude Sonnet 4.6 counts as 11× per token, reflecting its higher API cost.", + "cost_note": "El uso de créditos se pondera según el costo del modelo. Gemini 3.1 Flash Lite cuenta como 1 unidad de crédito por token. GPT-5.4 Mini y Kimi K2.6 cuentan como 4× por token. Claude Sonnet 4.6 cuenta como 11× por token, reflejando su mayor costo de API.", "included": { "title": "Su uso incluido", "subtitle": "AI credits mensuales incluidos en su plan.", @@ -3629,8 +3629,8 @@ "chart": { "heading": "Uso", "subheading": "Consumo diario de AI credits este mes.", - "tokens": "Credits", - "total_tokens": "Total credits", + "tokens": "Créditos", + "total_tokens": "Créditos totales", "total_requests": "Total de solicitudes", "empty": "Aún no se ha registrado ningún uso este mes." }, @@ -3639,14 +3639,14 @@ "this_month": "Mes actual", "user": "Usuario", "favorite_model": "Modelo favorito", - "tokens": "Credits", + "tokens": "Créditos", "empty": "Nadie de su equipo ha usado el asistente de IA este mes." }, "buy_tokens": { "title": "Comprar más credits", "description": "Cada paquete agrega 5,000,000 credits por $5 USD. Elige cuántos paquetes necesitas.", "quantity_hint": "paquetes", - "preview": "{quantity} pack(s) · {tokens} credits · ${dollars}", + "preview": "{quantity} paquete(s) · {tokens} créditos · ${dollars}", "buy_button": "Comprar por ${dollars}" } }, @@ -3790,7 +3790,7 @@ "recent": "Reciente", "suggested": "sugerido", "courses": "Cursos", - "widgets": "widgets", + "widgets": "Widgets", "tags": "Etiquetas", "students": "estudiantes", "settings": "Configuración", @@ -3920,7 +3920,7 @@ } }, "tags_admin": { - "page_title": "Etiquetas - AulaIO", + "page_title": "Etiquetas - ClassroomIO", "heading": "Etiquetas", "create": "crear", "tag_modal": { @@ -3953,7 +3953,7 @@ "courses": "cursos", "description": "Descripción", "category": "Categoría", - "action": "acción", + "action": "Acción", "empty_group": "Aún no hay etiquetas en este grupo" }, "actions": { @@ -3966,9 +3966,9 @@ "actions_menu": "Acciones de etiqueta" }, "common": { - "not_available": "N/A" + "not_available": "N/D" }, - "page_subtitle": "Organize courses with labels so filters and lists stay easy to scan." + "page_subtitle": "Organiza los cursos con etiquetas para que los filtros y las listas sean fáciles de revisar." }, "invite": { "organization": { @@ -4022,12 +4022,12 @@ "generate": "Generar clave MCP", "secret_once": "Este secreto se muestra una vez. Cópielo en su cliente MCP ahora.", "modal": { - "title": "Create MCP key", - "description": "Choose a name for this MCP key before it is generated.", - "name_label": "Key name", + "title": "Crear clave MCP", + "description": "Elige un nombre para esta clave MCP antes de generarla.", + "name_label": "Nombre de la clave", "name_placeholder": "ClassroomIO OpenCode", - "cancel": "Cancel", - "save": "Create key" + "cancel": "Cancelar", + "save": "Crear clave" } }, "usage": { @@ -4041,31 +4041,31 @@ "rate_limits_description": "Solicitudes de lectura/escritura/publicación permitidas por minuto.", "used_label": "Usado:" }, - "page_subtitle": "Connect AI tools to ClassroomIO with org-scoped keys you can rotate anytime." + "page_subtitle": "Conecta herramientas de IA a ClassroomIO con claves con ámbito de organización que puedes rotar en cualquier momento." }, "api": { - "subtitle": "Manage API keys to integrate with the ClassroomIO public API.", + "subtitle": "Administra las claves API para integrarte con la API pública de ClassroomIO.", "keys": { - "title": "API keys", - "description": "These keys authenticate the current organization when calling the ClassroomIO public API.", - "generate": "Generate API key", - "secret_once": "This secret is shown once. Copy it and store it securely.", - "empty_title": "No API keys yet", - "empty_description": "Create the first org-scoped API key to use the ClassroomIO public API.", + "title": "Claves API", + "description": "Estas claves autentican la organización actual al llamar a la API pública de ClassroomIO.", + "generate": "Generar clave API", + "secret_once": "Este secreto se muestra una sola vez. Cópialo y guárdalo de forma segura.", + "empty_title": "Aún no hay claves API", + "empty_description": "Crea la primera clave API con ámbito de organización para usar la API pública de ClassroomIO.", "modal": { - "title": "Create API key", - "description": "Choose a name for this API key before it is generated.", - "name_label": "Key name", - "name_placeholder": "My API integration", - "cancel": "Cancel", - "save": "Create key" + "title": "Crear clave API", + "description": "Elige un nombre para esta clave API antes de generarla.", + "name_label": "Nombre de la clave", + "name_placeholder": "Mi integración API", + "cancel": "Cancelar", + "save": "Crear clave" } }, "setup": { "title": "Inicio rápido", "description": "Usa tu clave API como token Bearer en cada solicitud. Reemplaza el marcador de posición con una clave de arriba, o pega el secreto inmediatamente después de generar una." }, - "view_docs": "View Docs" + "view_docs": "Ver documentación" }, "keys": { "active": "Activo", @@ -4086,8 +4086,8 @@ "table_last_used": "último usado" }, "clients": { - "claude_code": "Código Claude", - "codex": "Códice", + "claude_code": "Claude Code", + "codex": "Codex", "cursor": "Cursor", "opencode": "OpenCode", "curl": "cURL", @@ -4105,13 +4105,13 @@ "disabled_description": "Solo los administradores de la organización pueden crear, rotar o revocar claves de automatización. Los profesores pueden revisar las instrucciones de configuración aquí." }, "zapier": { - "page_subtitle": "Automate ClassroomIO with thousands of apps through Zapier. Coming soon." + "page_subtitle": "Automatiza ClassroomIO con miles de aplicaciones a través de Zapier. Próximamente." } }, "ai_assistant": { "empty_state": "Pídeme que te ayude con el contenido de tu curso: redacta lecciones, genera preguntas o planifica un curso a partir de un documento.", "input_placeholder": "Pregúntale al asistente de IA...", - "quote_lesson_note": "Quote in assistant", + "quote_lesson_note": "Citar en el asistente", "attach_document": "Adjunte un documento (PDF, DOCX, PPTX)", "upgrade_to_upload": "Actualizar para cargar documentos", "tokens_exhausted": "Se alcanzó el límite mensual de tokens de IA.", @@ -4120,7 +4120,7 @@ "no_conversations": "Aún no hay conversaciones", "untitled": "Sin título", "new_chat": "Nuevo chat", - "tokens_label": "fichas", + "tokens_label": "tokens", "implementing_course_plan": "Implementación del plan del curso", "resume": "Reanudar", "stopped_content_kept": "Detenido. El contenido creado se ha mantenido.", @@ -4132,76 +4132,76 @@ "agent_running_warning": "Los cambios aparecerán en el curso una vez que el agente haya terminado. No recargues la página.", "agent_running_warning_dismiss": "Descartar", "quick_action": { - "upload_document_course": "Upload a document to create a course", - "draft_lesson": "Draft a lesson", - "generate_questions_from_lesson": "Generate questions from this lesson", - "summarize_lesson": "Summarize this lesson", - "publish_course": "Help me publish this course" + "upload_document_course": "Subir un documento para crear un curso", + "draft_lesson": "Redactar una lección", + "generate_questions_from_lesson": "Generar preguntas de esta lección", + "summarize_lesson": "Resumir esta lección", + "publish_course": "Ayúdame a publicar este curso" }, - "plan_applying_changes": "Applying changes", - "plan_working": "Working", - "plan_progress": "{completed} / {total} steps completed", - "stop": "Stop", - "copy_full_error": "Copy full error", - "resize_panel_aria_label": "Resize AI assistant panel", - "generic_working": "Working", - "run_failed_after": "{action} did not finish successfully.", + "plan_applying_changes": "Aplicando cambios", + "plan_working": "Trabajando", + "plan_progress": "{completed} / {total} pasos completados", + "stop": "Detener", + "copy_full_error": "Copiar error completo", + "resize_panel_aria_label": "Cambiar el tamaño del panel del asistente de IA", + "generic_working": "Trabajando", + "run_failed_after": "{action} no se completó correctamente.", "tool": { "pending": { - "working": "Working", - "unknown_tool": "Running {toolName}", - "get_course_structure": "Reading course structure", - "get_lesson_content": "Reading lesson content", - "get_exercise_details": "Reading exercise", - "create_section": "Creating section", - "update_section": "Updating section", - "create_lesson": "Creating lesson", - "update_lesson": "Updating lesson", - "update_lesson_content": "Writing lesson content", - "create_exercise": "Creating exercise", - "create_exercise_section": "Creating exercise section", - "update_exercise": "Updating exercise", - "update_exercise_section": "Updating exercise section", - "add_questions": "Adding questions", - "update_questions": "Updating questions", - "reorder_content": "Reordering content", - "update_course_landing_page": "Updating landing page", - "check_course_go_live_readiness": "Checking go-live readiness", - "go_live_course": "Publishing course", - "generate_course_plan": "Generating course plan", + "working": "Trabajando", + "unknown_tool": "Ejecutando {toolName}", + "get_course_structure": "Leyendo estructura del curso", + "get_lesson_content": "Leyendo contenido de la lección", + "get_exercise_details": "Leyendo ejercicio", + "create_section": "Creando sección", + "update_section": "Actualizando sección", + "create_lesson": "Creando lección", + "update_lesson": "Actualizando lección", + "update_lesson_content": "Escribiendo contenido de la lección", + "create_exercise": "Creando ejercicio", + "create_exercise_section": "Creando sección de ejercicios", + "update_exercise": "Actualizando ejercicio", + "update_exercise_section": "Actualizando sección de ejercicios", + "add_questions": "Agregando preguntas", + "update_questions": "Actualizando preguntas", + "reorder_content": "Reordenando contenido", + "update_course_landing_page": "Actualizando página de destino", + "check_course_go_live_readiness": "Comprobando preparación para publicar", + "go_live_course": "Publicando curso", + "generate_course_plan": "Generando plan del curso", "ask_template_questions": "Preparando el formulario de plantilla", "fetch_documentation_url": "Página de lectura de documentos", "fetch_documentation_url_with_url": "Leyendo {url}" }, "meta": { - "lesson_char_count": "({count, plural, one {# character} other {# characters}})", - "landing_page_preview": "· Preview changes", - "exercise_questions_added": "· {count, plural, one {# question added} other {# questions added}}", - "exercise_questions_updated": "· {count, plural, one {# question updated} other {# questions updated}}" + "lesson_char_count": "({count, plural, one {# carácter} other {# caracteres}})", + "landing_page_preview": "· Vista previa de cambios", + "exercise_questions_added": "· {count, plural, one {# pregunta agregada} other {# preguntas agregadas}}", + "exercise_questions_updated": "· {count, plural, one {# pregunta actualizada} other {# preguntas actualizadas}}" }, "done": { - "generic": "Done", - "create_section": "Created section: {title}", - "update_section": "Updated section: {title}", - "create_lesson": "Created lesson: {title}", - "update_lesson": "Updated lesson: {title}", - "update_lesson_content_fallback": "Wrote {count, plural, one {# character} other {# characters}}", - "create_exercise": "Created exercise «{title}» · {count, plural, one {# question} other {# questions}}", - "update_exercise": "Updated exercise: {title}", - "update_exercise_section": "Updated exercise section: {title}", - "add_questions_fallback": "{count, plural, one {Added # question} other {Added # questions}}", - "update_questions_fallback": "{count, plural, one {Updated # question} other {Updated # questions}}", - "create_exercise_section": "Created exercise section: {title}", - "get_course_structure": "Course structure loaded", - "get_lesson_content": "Lesson content loaded", - "get_exercise_details": "Exercise loaded", - "reorder_content": "Content reordered", - "update_course_landing_page": "Updated landing page: {title}", - "check_go_live_ready": "{warningCount, plural, =0{Ready to go live} other{Ready to go live — # warnings}}", - "check_go_live_blocked": "{blockerCount, plural, one{# blocker before go-live} other{# blockers before go-live}}", - "go_live_published": "Published course: {title}", - "go_live_not_published": "Course was not published", - "generate_course_plan": "Course plan generated", + "generic": "Listo", + "create_section": "Sección creada: {title}", + "update_section": "Sección actualizada: {title}", + "create_lesson": "Lección creada: {title}", + "update_lesson": "Lección actualizada: {title}", + "update_lesson_content_fallback": "Se escribieron {count, plural, one {# carácter} other {# caracteres}}", + "create_exercise": "Ejercicio creado «{title}» · {count, plural, one {# pregunta} other {# preguntas}}", + "update_exercise": "Ejercicio actualizado: {title}", + "update_exercise_section": "Sección de ejercicios actualizada: {title}", + "add_questions_fallback": "{count, plural, one {Se agregó # pregunta} other {Se agregaron # preguntas}}", + "update_questions_fallback": "{count, plural, one {Se actualizó # pregunta} other {Se actualizaron # preguntas}}", + "create_exercise_section": "Sección de ejercicios creada: {title}", + "get_course_structure": "Estructura del curso cargada", + "get_lesson_content": "Contenido de la lección cargado", + "get_exercise_details": "Ejercicio cargado", + "reorder_content": "Contenido reordenado", + "update_course_landing_page": "Página de destino actualizada: {title}", + "check_go_live_ready": "{warningCount, plural, =0{Listo para publicar} other{Listo para publicar — # advertencias}}", + "check_go_live_blocked": "{blockerCount, plural, one{# bloqueador antes de publicar} other{# bloqueadores antes de publicar}}", + "go_live_published": "Curso publicado: {title}", + "go_live_not_published": "El curso no se publicó", + "generate_course_plan": "Plan del curso generado", "ask_template_questions": "Formulario de plantilla listo", "fetch_documentation_url": "Leer {url}" } @@ -4212,7 +4212,7 @@ "plan_implement": "Implementar plan", "plan_ask_changes_placeholder": "Dime qué cambiar del plan…", "plan_ask_changes_send_aria": "Enviar solicitud de cambio", - "send": "enviar", + "send": "Enviar", "rename_chat_aria": "Cambiar el nombre de la conversación", "rename_chat_input_aria": "Título de la conversación", "rename_chat_placeholder": "Título de la conversación", @@ -4223,7 +4223,7 @@ "error_network": "Error de red. Por favor verifique su conexión e inténtelo nuevamente.", "context_usage_tooltip": "{used} / {max} tokens usados", "context_full_title": "La ventana de contexto está llena", - "context_full_description": "The assistant will summarize older messages automatically so you can keep working in this chat.", + "context_full_description": "El asistente resumirá automáticamente los mensajes más antiguos para que puedas seguir trabajando en este chat.", "context_full_compact": "Conversación compacta", "context_full_compacting": "Compactando...", "context_full_new_chat": "Iniciar nuevo chat con resumen", @@ -4299,7 +4299,7 @@ "upload_error_generic": "No se pudo cargar el documento. Por favor inténtalo de nuevo." }, "widgets": { - "heading": "widgets", + "heading": "Widgets", "subtitle": "Publique colecciones de cursos de marca para sitios web externos.", "empty_state": "Aún no hay widgets. Cree uno para generar un bloque de curso integrable.", "filter": { @@ -4346,7 +4346,7 @@ "custom_css_locked": "Actualice para habilitar CSS personalizado.", "embed_code": "código para insertar", "custom_css_hint": "Máximo 5.000 caracteres.", - "border_radius_hint": "0 – 32 píxeles.", + "border_radius_hint": "0 – 32 px.", "font_scale_hint": "0,8 – 1,4 (1 = predeterminado)." }, "create": { @@ -4400,10 +4400,10 @@ "draft": "Borrador", "published": "Publicado", "archived": "Archivado", - "live": "en vivo" + "live": "En vivo" }, "sort": { - "manual": "manuales", + "manual": "Manual", "newest": "Lo más nuevo", "title": "Título" }, @@ -4436,8 +4436,8 @@ "show_thumbnail": "Mostrar miniatura", "show_tags": "Mostrar etiquetas", "title_style": "Estilo de título", - "title_style_serif": "Serifa", - "title_style_sans": "sin", + "title_style_serif": "Serif", + "title_style_sans": "Sans", "category_tags": "Etiquetas de categoría", "category_tags_required": "Seleccione al menos una etiqueta para el estante de categorías.", "default_category": "Categoría predeterminada", @@ -4470,7 +4470,7 @@ "editor": { "sources": "Fuente del widget", "available_courses": "Cursos disponibles", - "layout": "Diseño", + "layout": "Disposición", "content": "Contenido", "design": "Diseño", "version_history": "Historial de versiones", @@ -4488,19 +4488,19 @@ "load_failed": "No se pudo cargar este widget. Inténtalo de nuevo desde la lista de widgets.", "nav": { "courses": "Cursos", - "layout": "Diseño", + "layout": "Disposición", "design": "Diseño", "embed": "Insertar" }, "viewport": { "mobile": "Móvil", - "tablet": "tableta", + "tablet": "Tableta", "desktop": "Escritorio" } }, "tabs": { "select_courses": "Seleccionar cursos", - "layout": "Diseño", + "layout": "Disposición", "design": "Diseño", "embed": "Código para insertar" }, @@ -4513,11 +4513,11 @@ } }, "side_panel": { - "close_aria": "Close panel", - "resize_panel_aria_label": "Resize panel", + "close_aria": "Cerrar panel", + "resize_panel_aria_label": "Cambiar el tamaño del panel", "titles": { - "ai_assistant": "AI Assistant", - "transcript": "Transcript" + "ai_assistant": "Asistente de IA", + "transcript": "Transcripción" } }, "compliance": { @@ -4527,10 +4527,10 @@ "heading": "estudiantes", "subtitle": "{count, number} coincidente", "empty": "Ningún estudiante coincide con este filtro", - "learner": "estudiante", + "learner": "Estudiante", "course": "Curso", "status": "Estado", - "due_date": "debido", + "due_date": "Vence", "expires": "Vence" }, "courses": { @@ -4567,7 +4567,7 @@ "learners": "estudiantes" }, "summary": { - "heading": "Estado de estudiante", + "heading": "Estado del estudiante", "description": "Cuenta entre los estudiantes en todos los cursos de cumplimiento." } }, @@ -4629,7 +4629,7 @@ "approaching": "Gorra acercándose", "totalActive": "Estudiantes activos este mes", "learnersHeading": "estudiantes", - "headerLearner": "estudiante", + "headerLearner": "Estudiante", "headerMessages": "Mensajes", "headerTokens": "Fichas", "headerStatus": "Estado", @@ -4666,13 +4666,13 @@ "persona": { "encouraging": "alentando", "friendly": "amigable", - "formal": "formales", + "formal": "Formal", "socratic": "socrático", "custom": "personalizado" }, "field": { "enabled": "Tutor de IA habilitado", - "persona": "persona tutora", + "persona": "Personalidad del tutor", "customPersona": "Persona personalizada", "customPersona_description": "Describe cómo debe sonar el tutor: tono, estilo de dirección, cualquier cosa específica de tu audiencia.", "responseLength": "Longitud de la respuesta", @@ -4818,7 +4818,7 @@ "post_submit": "Publicar", "empty_title": "Aún no hay publicaciones", "empty_description": "Sé el primero en publicar algo.", - "heading": "suministro de noticias", + "heading": "Noticias", "make_a_post": "Hacer una publicación", "edit_post": "Editar publicación", "editor_placeholder": "Comparte una actualización con tu cohorte", @@ -4837,7 +4837,7 @@ "delete": "Eliminar" }, "card": { - "pin": "Alfiler", + "pin": "Fijar", "unpin": "Desanclar", "edit": "Editar", "delete": "Eliminar" @@ -4853,7 +4853,7 @@ "submit": "crear" }, "sidebar": { - "newsfeed": "suministro de noticias", + "newsfeed": "Noticias", "courses": "Cursos", "people": "gente", "settings": "Configuración" @@ -4885,8 +4885,8 @@ "sort": "ordenar", "order": "Orden", "status": "Estado", - "ascending": "asc", - "descending": "Descripción", + "ascending": "Asc", + "descending": "Desc", "sort_name": "Nombre", "sort_courses": "Cursos", "sort_students": "estudiantes", diff --git a/apps/dashboard/src/lib/utils/translations/fr.json b/apps/dashboard/src/lib/utils/translations/fr.json index 105484e1..cad5b727 100644 --- a/apps/dashboard/src/lib/utils/translations/fr.json +++ b/apps/dashboard/src/lib/utils/translations/fr.json @@ -513,7 +513,7 @@ "public_api_required": "Passez à Early Adopter ou Enterprise pour accéder à l'API publique." }, "analytics": { - "title": "Analyse", + "title": "Analytique", "courses": "Cours", "progress": "Progrès", "progress_description": "{value, number} sur {total, number} terminé", @@ -564,7 +564,7 @@ "grade_below_70": "Note inférieure à 70 %", "number_of_students": "Nombre d'étudiants", "progress_range": "Plage de progression", - "grade_range": "Gamme de notes", + "grade_range": "Plage de notes", "no_progress_data": "Aucune donnée de progression disponible", "no_grade_data": "Aucune donnée de note disponible", "loading_chart": "Chargement du graphique...", @@ -577,7 +577,7 @@ "description": "Inscriptions regroupées par type de cours", "subtitle": "{total} inscriptions dans tous les types", "empty": "Aucune donnée d'inscription pour l'instant", - "course_count": "{count, plural, one {# course} other {# courses}}", + "course_count": "{count, plural, one {# cours} other {# cours}}", "views_short": "vues", "types": { "SELF_PACED": "À votre rythme", @@ -635,8 +635,8 @@ "progress_distribution_card_description": "Combien d’élèves entrent dans chaque tranche d’achèvement.", "grade_distribution_card_description": "Combien d’élèves appartiennent à chaque tranche scolaire.", "students_table_description": "Aperçu triable avec des liens vers les profils des étudiants.", - "kpi_team_tutors": "{count, plural, one {# tutor on the course team} other {# tutors on the course team}}", - "kpi_lessons_exercises": "{count, plural, one {# exercise} other {# exercises}} mappés aux leçons", + "kpi_team_tutors": "{count, plural, one {# tuteur dans l'équipe du cours} other {# tuteurs dans l'équipe du cours}}", + "kpi_lessons_exercises": "{count, plural, one {# exercice} other {# exercices}} mappés aux leçons", "kpi_progress_grade": "{grade} % de note d'exercice moyenne parmi les étudiants inscrits" } }, @@ -646,7 +646,7 @@ "no_audience": "Aucune audience à gérer", "manage": "Gérez tous vos étudiants ici et restez connecté avec eux", "name": "Nom", - "email": "Courriel", + "email": "E-mail", "date_joined": "Date d'adhésion", "upgrade": "Améliorez votre forfait pour inviter plus d'étudiants", "import_users": "Importer des utilisateurs", @@ -702,10 +702,10 @@ "select_cohorts": "Sélectionnez des cohortes spécifiques", "select_cohorts_placeholder": "Choisissez des cohortes..." }, - "page_subtitle": "See who belongs to your org, who is learning, who is invited, and how to reach them.", + "page_subtitle": "Découvrez qui appartient à votre organisation, qui apprend, qui est invité et comment les contacter.", "user_analytics": { "title": "Profil étudiant", - "page_subtitle": "Progress, grades, and activity across their courses." + "page_subtitle": "Progression, notes et activité dans leurs cours." }, "delete": { "action": "Supprimer", @@ -748,11 +748,11 @@ "cancel": "Annuler", "give": "Donner une réponse", "comment": "Commentaire", - "page_subtitle": "Start a thread the whole community can see, and tie it to a course if you want." + "page_subtitle": "Lancez un fil de discussion visible par toute la communauté, et associez-le à un cours si vous le souhaitez." }, - "page_subtitle": "Questions and answers shared across your organization's courses.", + "page_subtitle": "Questions et réponses partagées dans les cours de votre organisation.", "question": { - "page_subtitle": "Follow answers, vote, and join the discussion." + "page_subtitle": "Suivez les réponses, votez et participez à la discussion." } }, "course": { @@ -807,7 +807,7 @@ "delete_text": "Supprimer ce cours, cette action est irréversible", "save": "Enregistrer les modifications", "tags": { - "title": "Balises", + "title": "Étiquettes", "description": "Attribuez des balises pour que les étudiants puissent découvrir ce cours avec des filtres.", "empty": "Aucune balise sélectionnée", "add": "Ajouter une balise", @@ -834,7 +834,7 @@ "button_label": "Etiquette du bouton", "button_label_placeholder": "En savoir plus sur mon site", "button_url_label": "URL du bouton", - "button_url_placeholder": "https://exemple.com", + "button_url_placeholder": "https://example.com", "clear": "Effacer la légende", "public_only": "Les légendes n'apparaissent que dans les cours publics.", "animation_label": "Animation d'arrière-plan", @@ -857,7 +857,7 @@ } }, "analytics": { - "title": "Analyse" + "title": "Analytique" }, "landing_page": { "course_content": "Contenu du cours", @@ -895,7 +895,7 @@ "explore": "Explorer les cours", "find": "Trouvez des cours que vous allez adorer dispensés par les meilleurs professeurs du monde entier", "find_course": "Trouver un cours...", - "instructor": "Instructeur", + "instructor": "Formateur", "courses": "cours", "reviews_modal": { "title": "Avis", @@ -990,7 +990,7 @@ "description": "Descriptif", "goals": "Objectifs", "reviews": "Avis", - "instructor": "Instructeur", + "instructor": "Formateur", "pricing": "Tarifs", "certificate": "Certificat", "curriculum": "Programme d'études", @@ -1008,10 +1008,10 @@ "certificates": { "title": "Certificats", "certificate_settings": "Paramètres du certificat", - "tab_design": "Conception", + "tab_design": "Design", "tab_settings": "Paramètres", "theme": "Choisissez un thème", - "logo": "Logo de la marque", + "logo": "Logo de marque", "to_update": "Pour mettre à jour votre image de marque, rendez-vous sur", "settings": "Paramètres > Paramètres de l'organisation", "and_upload": "et téléchargez le logo de votre marque", @@ -1069,11 +1069,11 @@ "accent_hint": "La couleur d'accent apparaît sur la règle du destinataire, les tampons et le surlignage du titre du modèle.", "templates_hint": "Les modèles s'affichent avec le même moteur de rendu que celui utilisé pour les fichiers PDF et PNG téléchargés.", "download_pdf": "Télécharger le PDF", - "download_png": "Télécharger PNG", + "download_png": "Télécharger le PNG", "print": "Imprimer", "export_hint": "Les exportations utilisent votre nom comme destinataire afin que vous puissiez prévisualiser la mise en page finale.", "preview_failed": "Impossible de générer un aperçu du certificat", - "sample_recipient": "Éléonore Vance", + "sample_recipient": "Eleanor Vance", "sample_course": "Certificat d'excellence", "sample_description": "En reconnaissance de réalisations exceptionnelles et d’un dévouement exemplaire au métier.", "sample_org": "L'Académie Royale des Arts", @@ -1128,7 +1128,7 @@ } }, "roles": { - "admin": "Administrateur", + "admin": "Admin", "tutor": "Tuteur", "student": "Étudiant", "filter": "Filtrer" @@ -1187,26 +1187,26 @@ "direct_email_bulk": "E-mail direct / invitation groupée", "direct_email_description": "Collez les adresses e-mail séparées par une virgule, un espace ou une nouvelle ligne. Une invitation sécurisée unique est créée par e-mail.", "recipient_emails": "E-mails des destinataires", - "recipient_emails_placeholder": "étudiant1@exemple.com, étudiant2@exemple.com", + "recipient_emails_placeholder": "student1@example.com, student2@example.com", "send_invite_emails": "Envoyer immédiatement des e-mails d'invitation", "create_email_invites": "Créer des invitations par e-mail", - "existing_students_title": "Add existing org students", + "existing_students_title": "Ajouter des étudiants existants de l'organisation", "existing_students_description": "Choisissez les étudiants déjà dans cette organisation et accordez-leur un accès direct à ce cours.", - "existing_students_search": "Search organization students", - "loading_existing_students": "Loading organization students...", - "no_existing_students": "No organization students are available to add.", - "no_matching_existing_students": "No organization students match your search.", - "notify_existing_students": "Send course access email", - "grant_access": "Grant Access", + "existing_students_search": "Rechercher des étudiants de l'organisation", + "loading_existing_students": "Chargement des étudiants de l'organisation...", + "no_existing_students": "Aucun étudiant de l'organisation n'est disponible à ajouter.", + "no_matching_existing_students": "Aucun étudiant de l'organisation ne correspond à votre recherche.", + "notify_existing_students": "Envoyer un e-mail d'accès au cours", + "grant_access": "Accorder l'accès", "grant_access_modal": { "title": "Accorder l'accès à l'étudiant", "description": "Accordez à {email} l'accès à ce cours. Nous lui enverrons un e-mail d'invitation pour rejoindre votre organisation et s'inscrire à ce cours.", "cancel": "Annuler", "send_invite": "Envoyer l'invitation" }, - "invite_new_students_title": "Invite new students", - "invite_new_students_description": "Invite new people into your organization and pre-assign them to this course. They will create an account, accept the invite, and get access.", - "invite_new_students": "Invite Students", + "invite_new_students_title": "Inviter de nouveaux étudiants", + "invite_new_students_description": "Invitez de nouvelles personnes dans votre organisation et pré-assignez-les à ce cours. Elles créeront un compte, accepteront l'invitation et obtiendront l'accès.", + "invite_new_students": "Inviter des étudiants", "existing_invites": "Invitations existantes", "refresh": "Actualiser", "loading_invites": "Chargement des invitations...", @@ -1225,11 +1225,11 @@ "hide_audit": "Masquer l'audit", "no_audit_events": "Aucun événement d'audit.", "audit_at": "À", - "audit_email": "Courriel", + "audit_email": "E-mail", "audit_actor": "Acteur", "audit_ip": "IP", "scan_qr": "Scanner le QR", - "classroomio_brand": "Salle de classeIO.com", + "classroomio_brand": "ClassroomIO.com", "snackbar_invite_link_copied": "Lien d'invitation copié", "snackbar_invite_link_regenerated": "Un nouveau lien d'invitation a été généré", "snackbar_failed_generate_link": "Échec de la génération du lien d'invitation", @@ -1240,7 +1240,7 @@ "snackbar_failed_load_audit": "Échec du chargement de l'audit d'invitation", "snackbar_metadata_copied": "Métadonnées d'invitation copiées", "snackbar_email_invites_success": "{count} invitation(s) créée(s). Envoyé {sent}, échec {failed}. {duplicates} doublon(s) ignoré(s).", - "select_at_least_one_student": "Select at least one existing student", + "select_at_least_one_student": "Sélectionnez au moins un étudiant existant", "presets": { "one_time_24h": "Une fois (24h)", "multi_use_7d": "Multi-usage (7 jours)", @@ -1285,7 +1285,7 @@ "delete_prompt": "Supprimer", "delete_error": "Échec de la suppression de la soumission", "delete_success": "Soumission supprimée avec succès", - "student_avatar": "Avatar étudiant", + "student_avatar": "Avatar de l'étudiant", "ai_icon": "IA" }, "submission_status": { @@ -1348,7 +1348,7 @@ "incomplete": "Incomplet", "complete": "Terminé", "next": "Suivant", - "prev": "Précédent", + "prev": "Préc.", "prev_shortcut": "Précédent (←)", "next_shortcut": "Suivant (→)", "disabled": "La fonctionnalité est désactivée", @@ -1375,7 +1375,7 @@ "create_poll": "Créer un sondage", "question": "Question", "options": "Possibilités", - "option_label": "Étiquette d'option", + "option_label": "Libellé de l'option", "cancel": "Annuler", "poll_question": "Question de sondage" }, @@ -1435,7 +1435,7 @@ "check": "Vérifier", "auto_graded_badge": "Notation automatique", "manual_grading_required_badge": "Notation manuelle requise", - "points_required_auto_grade": "Points must be greater than 0 for auto-graded exercises.", + "points_required_auto_grade": "Les points doivent être supérieurs à 0 pour les exercices notés automatiquement.", "analytics": { "submissions": "Soumissions", "individual": { @@ -1523,7 +1523,7 @@ "file_upload": "Téléchargement de fichiers", "matching": "Correspondance", "ordering": "Commande", - "hotspot": "Point d'accès", + "hotspot": "Zone cliquable", "link": "Liens", "word_bank": "Banque de mots", "star": "Nombre d'étoiles", @@ -1531,9 +1531,9 @@ }, "select_type": "Sélectionnez le type", "question_type_auto_gradable": "Auto", - "question_type_auto_gradable_description": "Scored automatically by the system", - "question_type_manual_grading": "Manual", - "question_type_manual_grading_description": "Requires human review to score", + "question_type_auto_gradable_description": "Noté automatiquement par le système", + "question_type_manual_grading": "Manuel", + "question_type_manual_grading_description": "Nécessite une évaluation humaine", "premium_question_type": "Mettre à niveau pour utiliser ce type de question" }, "delete_confirmation": { @@ -1554,16 +1554,16 @@ "textarea": { "take": { "placeholder": "Écrivez votre réponse", - "min_error": "Answer must be at least {min} characters.", - "max_error": "Answer must be at most {max} characters.", - "range_error": "Answer must be between {min} and {max} characters." + "min_error": "La réponse doit contenir au moins {min} caractères.", + "max_error": "La réponse doit contenir au maximum {max} caractères.", + "range_error": "La réponse doit contenir entre {min} et {max} caractères." }, "edit": { "placeholder": "Les étudiants répondront avec un texte long", - "min_characters_label": "Minimum characters", - "min_characters_placeholder": "Minimum characters", - "max_characters_label": "Maximum characters", - "max_characters_placeholder": "Maximum characters" + "min_characters_label": "Nombre minimal de caractères", + "min_characters_placeholder": "Nombre minimal de caractères", + "max_characters_label": "Nombre maximal de caractères", + "max_characters_placeholder": "Nombre maximal de caractères" } }, "hotspot": { @@ -1633,7 +1633,7 @@ }, "take": { "selected_file_label": "Fichier sélectionné", - "upload_button": "Télécharger", + "upload_button": "Téléverser", "upload_progress": "Téléchargement...", "upload_error": "Échec du téléchargement", "view": "Voir", @@ -1753,7 +1753,7 @@ "finish": "Terminer" }, "common": { - "option_prefix": "Options", + "option_prefix": "Option", "remove": "Supprimer", "add_option": "Ajouter une option", "correct_badge": "C'est vrai", @@ -1779,7 +1779,7 @@ "template_helper": "Utilisez trois traits de soulignement (___) pour chaque espace. Les élèves verront une banque de mots avec des réponses correctes et des éléments de distraction.", "no_blanks_warning": "Ajoutez au moins un ___ marqueur vierge dans votre modèle.", "correct_answers_heading": "Bonne réponse pour chaque blanc", - "blank_label": "Vide", + "blank_label": "Blanc", "correct_placeholder": "Terme ou expression correct", "distractors_heading": "Mots supplémentaires (distracteurs)", "distractor_placeholder": "Mauvaise option", @@ -1830,7 +1830,7 @@ "stop_recording": "Arrêter l'enregistrement", "elapsed": "Écoulé", "remaining": "Restant", - "max_duration": "Max.", + "max_duration": "Max", "too_short": "Enregistrez pendant au moins 1 seconde.", "use_recording": "Utiliser l'enregistrement", "retake": "Reprendre", @@ -1981,7 +1981,7 @@ "upload_error": "Échec du téléchargement du document", "file_type_error": "Type de fichier non pris en charge. Veuillez télécharger des fichiers PDF, DOCX ou DOC.", "file_size_error": "Taille du fichier trop grande. La taille maximale est de {size}.", - "type": "Tapez", + "type": "Type", "size": "Taille", "upload_error_title": "Erreur de téléchargement", "upload_error_message": "Format de fichier non pris en charge ou échec du téléchargement", @@ -2005,7 +2005,7 @@ "video": { "title": "Vidéo", "embed_link": "Intégrer le lien", - "upload": "Télécharger", + "upload": "Téléverser", "library": "Bibliothèque", "button": "Ajouter/Modifier des vidéos", "remove_video": "Supprimer la vidéo", @@ -2017,7 +2017,7 @@ "add_video": "Ajouter une vidéo", "upload_video": "Télécharger la vidéo", "select_file": "Sélectionnez le fichier (Mp4, MOV, AVI) à télécharger dans votre leçon.", - "size": "(Maximum 500 Mo)", + "size": "(Max 500 Mo)", "oops": "Oups 😬, impossible de télécharger la vidéo", "big_file": "Désolé, la vidéo n'a pas été téléchargée. La taille du fichier est trop grande,", "maximum_size": "la taille maximale est de 30 Mo. Essayer à nouveau!", @@ -2036,7 +2036,7 @@ "add_from_library": "Ajouter depuis la bibliothèque", "cancel_upload": "Annuler le téléchargement", "upload_cancelled": "Téléchargement annulé par l'utilisateur", - "max_files": "{count, plural, one {You can upload # file} other {You can upload # files}}", + "max_files": "{count, plural, one {Vous pouvez téléverser # fichier} other {Vous pouvez téléverser # fichiers}}", "max_files_and_size": "(jusqu'à {size} chacun)", "google_drive_choose": "Choisissez parmi Google Drive", "google_drive_opening": "Sélecteur d’ouverture…", @@ -2057,15 +2057,15 @@ }, "empty_title": "Aucune vidéo pour l'instant", "empty_description": "Ajoutez des vidéos de YouTube, téléchargez-les ou de votre bibliothèque multimédia", - "google_drive": "Google Drive", - "generate_transcript": "Generate transcription", - "generate_transcript_in_progress": "Transcribing…", + "google_drive": "Google Drive", + "generate_transcript": "Générer la transcription", + "generate_transcript_in_progress": "Transcription en cours…", "transcript": { - "title": "Transcript", - "captions_label": "Captions", - "language": "Language: {language}", - "empty": "No transcript yet. You can generate one from this card’s menu after the video is uploaded.", - "loading": "Loading transcript…", + "title": "Transcription", + "captions_label": "Sous-titres", + "language": "Langue : {language}", + "empty": "Aucune transcription pour l'instant. Vous pouvez en générer une depuis le menu de cette carte une fois la vidéo téléversée.", + "loading": "Chargement de la transcription…", "open_side_panel": "Ouvrir le panneau de transcription", "edit": "Modifier la transcription", "save": "Enregistrer", @@ -2077,8 +2077,8 @@ }, "simple_card": { "kind_youtube": "YouTube", - "kind_upload": "Télécharger", - "kind_google_drive": "Google Drive", + "kind_upload": "Téléverser", + "kind_google_drive": "Google Drive", "kind_generic": "Intégré", "course_fallback": "Cours", "menu_aria": "Options vidéo", @@ -2097,7 +2097,7 @@ }, "slide": { "title": "Diapositive", - "slide_link": "Lien de diapositive", + "slide_link": "Lien de la diapositive", "helper_message": "Vous pouvez intégrer Google Slides ou Canva Présentation" }, "note": { @@ -2194,7 +2194,7 @@ }, "session": { "join": "Rejoindre la session", - "heading": "Séance en direct", + "heading": "Session en direct", "intro": "Définissez le lien de participation et l’heure prévue pour ce cours en direct. Les étudiants reçoivent des rappels 24 heures et 1 heure avant.", "link_label": "Lien de participation (Zoom, Meet, etc.)", "datetime_label": "Date et heure", @@ -2209,7 +2209,7 @@ "confirm_cancel": "Annuler", "confirm_save": "Enregistrer et notifier", "live_indicator": "Cette leçon est une session en direct", - "live_session": "Séance en direct", + "live_session": "Session en direct", "live_now": "En direct maintenant", "live_event": "Séance en direct", "started": "Commencé", @@ -2220,7 +2220,7 @@ "add_to_calendar": "Ajouter au calendrier", "add_google": "Google Agenda", "add_outlook": "Outlook.com", - "add_office365": "Bureau 365", + "add_office365": "Office 365", "add_yahoo": "Calendrier Yahoo", "add_apple": "Calendrier Apple (.ics)", "starts_in": "Commence dans", @@ -2263,7 +2263,7 @@ "delete": "Supprimer" }, "card": { - "pin": "Épingle", + "pin": "Épingler", "unpin": "Désépingler", "edit": "Modifier", "delete": "Supprimer" @@ -2307,7 +2307,7 @@ }, "fields": { "learner": "Étudiant", - "email": "Courriel", + "email": "E-mail", "status": "Statut", "cycle": "Cycle", "due_date": "Date d'échéance", @@ -2355,8 +2355,8 @@ "empty": "Aucun résultat trouvé" }, "header": { - "preview": "Preview course", - "preview_missing_slug": "Generate and save a course slug before previewing.", + "preview": "Aperçu du cours", + "preview_missing_slug": "Générez et enregistrez un identifiant de cours avant de prévisualiser.", "view_as_student": "Afficher en tant qu'étudiant", "view_course_site": "Voir le site du cours" }, @@ -2374,7 +2374,7 @@ }, "compliance": { "title": "Conformité", - "due_date": "Due", + "due_date": "Échéance", "valid_until": "Valable jusqu'au" }, "progress": { @@ -2392,7 +2392,7 @@ "nav_marks": "Marques", "nav_compliance": "Conformité", "nav_people": "Les gens", - "nav_analytics": "Analyse", + "nav_analytics": "Analytique", "nav_certificates": "Certificats", "nav_landing_page": "Page de destination", "nav_settings": "Paramètres", @@ -2547,8 +2547,8 @@ "lessons": "Leçons", "students": "Étudiants", "published": "Publié", - "type": "Tapez", - "tags": "Balises" + "type": "Type", + "tags": "Étiquettes" }, "context_menu": { "clone": "Cloner", @@ -2561,16 +2561,16 @@ "publish_course": "Publier le cours", "copy_course_url": "Copier l’URL du cours" }, - "due_date": "Due", + "due_date": "Échéance", "valid_until": "Valable jusqu'au" }, "course_filter": { - "date_created_newest": "Date Created: Newest first", - "date_created_oldest": "Date Created: Oldest first", - "published_first": "Published: Published first", - "unpublished_first": "Published: Unpublished first", - "most_lessons": "Lessons: Most first", - "fewest_lessons": "Lessons: Fewest first", + "date_created_newest": "Date de création : plus récent d'abord", + "date_created_oldest": "Date de création : plus ancien d'abord", + "published_first": "Publication : publiés d'abord", + "unpublished_first": "Publication : non publiés d'abord", + "most_lessons": "Leçons : plus d'abord", + "fewest_lessons": "Leçons : moins d'abord", "date_created": "Date de création", "published": "Publié", "lessons": "Leçons" @@ -2582,12 +2582,12 @@ "popover_title": "Filtres", "sort": "Trier", "order": "Ordre", - "ascending": "Asc", - "descending": "Desc", - "tags": "Balises", + "ascending": "Croiss.", + "descending": "Décroiss.", + "tags": "Étiquettes", "empty_tags": "Aucune balise disponible" }, - "page_subtitle": "Where lessons turn into courses and courses turn into enrollments." + "page_subtitle": "Là où les leçons deviennent des cours et les cours deviennent des inscriptions." }, "ai": { "help_me": "Aide-moi à écrire", @@ -2614,13 +2614,13 @@ "lms_dashboard_hero": "Aujourd'hui est un autre jour pour vous rapprocher de vos objectifs d'apprentissage. N'abandonnez pas, plus vous apprenez, mieux vous vous améliorez.", "lessons_completed": "Leçons terminées", "no_courses_started": "Aucun cours n'a commencé", - "certificates_earned": "Certificates issued", - "certificates_earned_description": "Total certificates issued to students in your organization", + "certificates_earned": "Certificats délivrés", + "certificates_earned_description": "Nombre total de certificats délivrés aux étudiants de votre organisation", "certification_rate": "Certifiés", - "recent_certifications": "Recent certifications", - "no_certifications_yet": "No certificates earned yet", - "no_certifications_yet_description": "When students complete a course and earn a certificate, they will appear here", - "view_courses": "View courses", + "recent_certifications": "Certifications récentes", + "no_certifications_yet": "Aucun certificat obtenu pour l'instant", + "no_certifications_yet_description": "Lorsque les étudiants terminent un cours et obtiennent un certificat, ils apparaîtront ici", + "view_courses": "Voir les cours", "no_of_courses": "Nombre de cours", "no_courses_description": "Cours créés au sein de cette organisation", "total_students": "Nombre total d'étudiants", @@ -2719,7 +2719,7 @@ "custom_domain_not_classroomio": "Le domaine ne peut pas contenir « classroomio »", "custom_domain_success": "Domaine personnalisé ajouté avec succès", "dns_description": "Définissez l'enregistrement suivant sur votre fournisseur DNS pour continuer :", - "dns_type": "Tapez", + "dns_type": "Type", "dns_value": "Valeur", "dns_name": "Nom", "refresh": "Actualiser", @@ -2774,7 +2774,7 @@ "continue": "Continuer", "rename": "Renommer", "updated": "Mis à jour", - "start": "Démarrer le quiz", + "start": "Commencer le quiz", "start_typing": "Commencez à taper votre question", "required_field": "Ce champ est obligatoire", "type_answer": "Tapez la réponse", @@ -2888,11 +2888,11 @@ "early_adopter": "Devenez un adopteur précoce", "unlock": "Débloquez des fonctionnalités illimitées et investissez dans notre avenir", "upgrade": "Mettre à niveau maintenant", - "tags": "Balises", - "automation": "Automation", + "tags": "Étiquettes", + "automation": "Automatisation", "widgets": "Widgets", "stats": "Statistiques", - "analytics": "Analyse", + "analytics": "Analytique", "compliance": "Conformité", "cohorts": "Cohortes", "upgrade_now": "Mettre à niveau maintenant", @@ -2912,8 +2912,8 @@ "table": { "target_type": "Type de cible", "target_id": "ID cible", - "slot": "Fente", - "position": "Poste", + "slot": "Emplacement", + "position": "Position", "added": "Ajouté" }, "target": { @@ -2935,7 +2935,7 @@ "description": "Descriptif", "description_placeholder": "Ajouter une description facultative", "thumbnail_url": "URL de la miniature", - "thumbnail_url_placeholder": "https://exemple.com/thumbnail.jpg", + "thumbnail_url_placeholder": "https://example.com/thumbnail.jpg", "thumbnail_upload": "Télécharger la miniature", "thumbnail_drop_label": "Déposez l'image ici ou cliquez pour télécharger", "thumbnail_drop_size": "Jusqu'à 5 Mo", @@ -2963,7 +2963,7 @@ }, "table": { "title": "Titre", - "kind": "Tapez", + "kind": "Type", "provider": "Fournisseur", "status": "Statut", "size": "Taille", @@ -2975,11 +2975,11 @@ "archived": "Archivé" }, "provider": { - "upload": "Télécharger", + "upload": "Téléverser", "youtube": "YouTube", "generic": "Générique", "external_url": "URL externe", - "google_drive": "Google Drive" + "google_drive": "Google Drive" }, "kind": { "video": "Vidéo", @@ -3016,13 +3016,13 @@ "not_available": "N/D" }, "empty_description": "L'actif n'existe pas ou n'est pas disponible dans cette organisation.", - "page_subtitle": "Keep files, videos, and links for your courses in one library.", + "page_subtitle": "Conservez fichiers, vidéos et liens pour vos cours dans une seule bibliothèque.", "thumbnails": { "manage_title": "Gérer les vignettes", "manage_description": "Prévisualisez la vidéo, choisissez l'une des images générées automatiquement ou téléchargez la vôtre.", "preview_unavailable": "Aperçu indisponible", "generated": "Miniatures générées", - "slot_start": "Commencer", + "slot_start": "Début", "slot_middle": "Milieu", "slot_end": "Fin", "none_generated_warning": "Aucune vignette générée pour l'instant. Essayez de régénérer ou de télécharger une image personnalisée.", @@ -3052,13 +3052,13 @@ "provider": "Nous utilisons Polar pour vous aider à gérer votre facturation", "open_billing": "Facturation ouverte", "error": "Une erreur s'est produite lors de l'ouverture de la facturation", - "page_subtitle": "Your plan, billing portal, and how you pay for ClassroomIO.", + "page_subtitle": "Votre forfait, le portail de facturation et le mode de paiement de ClassroomIO.", "ai_credits": "AI credits", "ai_tokens_used": "AI credits utilisés ce mois-ci", "ai_bonus_credits": "AI credits bonus disponibles" }, "integrations": { - "heading": "Télégramme", + "heading": "Telegram", "sub_heading": "Connectez votre compte à Telegram pour être informé de tout changement dans l'application.", "step_authenticate": "Étape 1 : Authentifiez votre compte via le bot ClassroomIO.", "open_bot_button": "Ouvrir le robot", @@ -3066,7 +3066,7 @@ "connect_button": "Se connecter", "success_message": "Intégration réussie", "disconnect": "Déconnecter", - "page_subtitle": "Connect Telegram to get notified when important things happen." + "page_subtitle": "Connectez Telegram pour être notifié lorsque des événements importants se produisent." }, "landing_page": { "heading": "Page de destination", @@ -3114,7 +3114,7 @@ "title_highlight": "Titre-Point culminant", "subtitle": "Sous-titre", "phone_number": "Numéro de téléphone", - "email": "Courriel", + "email": "E-mail", "address": "Adresse" }, "faq": { @@ -3162,7 +3162,7 @@ "show_background": "Afficher l'arrière-plan", "hide_background": "Masquer l'arrière-plan" }, - "page_subtitle": "Shape the marketing page people see before they sign up or enroll.", + "page_subtitle": "Façonnez la page marketing que les visiteurs voient avant de s'inscrire ou de s'enrôler.", "editor": { "save": "Enregistrer", "close": "Fermer", @@ -3175,18 +3175,18 @@ "link_href": "URL du lien", "remove": "Supprimer le lien de pied de page", "brand": { - "legend": "Brand", - "description": "Your organization logo and name always appear here (from organization settings). Add optional details below.", - "preview_label": "Footer brand preview", - "tagline": "Tagline", - "tagline_placeholder": "Small line under your brand", - "copyright": "Copyright", - "copyright_placeholder": "© 2026 Your Organization", - "social_label": "Social links", - "platform_field": "Platform", - "url_label": "Profile URL", - "add_social": "Add social link", - "remove_social": "Remove social link", + "legend": "Marque", + "description": "Le logo et le nom de votre organisation apparaissent toujours ici (depuis les paramètres de l'organisation). Ajoutez des détails optionnels ci-dessous.", + "preview_label": "Aperçu de la marque du pied de page", + "tagline": "Slogan", + "tagline_placeholder": "Petite ligne sous votre marque", + "copyright": "Droits d'auteur", + "copyright_placeholder": "© 2026 Votre organisation", + "social_label": "Liens sociaux", + "platform_field": "Plateforme", + "url_label": "URL du profil", + "add_social": "Ajouter un lien social", + "remove_social": "Supprimer le lien social", "platforms": { "instagram": "Instagram", "x": "X", @@ -3195,29 +3195,29 @@ "youtube": "YouTube", "github": "GitHub", "tiktok": "TikTok", - "website": "Website" + "website": "Site web" } }, "columns": { - "legend": "Link columns", - "description": "Add grouped links (like Company or Resources). Enables a multi-column footer layout.", - "empty_hint": "No columns yet — add one to show a multi-column footer beside your brand.", - "add": "Add column", - "remove": "Remove column", - "heading_label": "Column heading", - "heading_placeholder": "e.g. Company", - "add_link": "Add link", - "remove_link": "Remove link", - "links_max_reached": "Up to 10 links per column", - "cta_toggle": "Add CTA link", - "cta_label": "CTA label", - "cta_href": "CTA URL", - "cta_default_label": "Explore more", - "max_reached": "Up to 6 columns" + "legend": "Colonnes de liens", + "description": "Ajoutez des liens groupés (comme Entreprise ou Ressources). Active une mise en page du pied de page à plusieurs colonnes.", + "empty_hint": "Aucune colonne pour l'instant — ajoutez-en une pour afficher un pied de page à plusieurs colonnes à côté de votre marque.", + "add": "Ajouter une colonne", + "remove": "Supprimer la colonne", + "heading_label": "Titre de la colonne", + "heading_placeholder": "ex. Entreprise", + "add_link": "Ajouter un lien", + "remove_link": "Supprimer le lien", + "links_max_reached": "Jusqu'à 10 liens par colonne", + "cta_toggle": "Ajouter un lien CTA", + "cta_label": "Libellé du CTA", + "cta_href": "URL du CTA", + "cta_default_label": "En savoir plus", + "max_reached": "Jusqu'à 6 colonnes" }, "bottom": { - "legend": "Bottom row", - "add_link": "Add bottom link" + "legend": "Ligne du bas", + "add_link": "Ajouter un lien en bas de page" } }, "embed": { @@ -3284,7 +3284,7 @@ "embed": "Intégrer", "embed_desc": "Section iframe facultative affichée après les cours.", "footer": "Pied de page", - "footer_desc": "Brand line, socials, multi-column links, and bottom legal row.", + "footer_desc": "Ligne de marque, réseaux sociaux, liens multi-colonnes et ligne légale en bas.", "links": "Liens", "links_desc": "Bloc optionnel de liens externes (centre d'aide, communauté, webinaires) affichés après les cours." }, @@ -3318,11 +3318,11 @@ "book_open": "Documentation", "video": "Vidéo / webinaires", "users": "Communauté", - "message_circle": "Discuter", + "message_circle": "Chat", "newspaper": "Actualités", "rocket": "Commencez", "calendar": "Événements", - "mail": "Courriel" + "mail": "E-mail" } } }, @@ -3344,23 +3344,23 @@ "description": "Contraste élevé, éditorial et saisissant" }, "minimal": { - "title": "Minime", + "title": "Minimal", "description": "Propre, lumineux et axé sur le cours" }, "terminal": { - "title": "Borne", + "title": "Terminal", "description": "Surface sombre, mot-symbole fantôme, catalogue inspiré de la CLI" }, "corporate": { - "title": "Entreprise", + "title": "Corporate", "description": "Typographie sobre, grilles bordées, look prêt à auditer" }, "studio": { - "title": "Atelier", + "title": "Studio", "description": "Bordures capillaires, lueur de héros dégradé, vernis artisanal" }, "tech": { - "title": "Technologie", + "title": "Tech", "description": "Bande de marque audacieuse, navigation monospace, ambiance académie d'ingénierie" }, "saas": { @@ -3368,7 +3368,7 @@ "description": "Cadre en pointillés, accents doux, sensation de produit moderne" }, "vibrant": { - "title": "Vibrant", + "title": "Éclatant", "description": "Panneaux primaires audacieux, héros dégradé au coucher du soleil, look d'affiche énergique" }, "editorial": { @@ -3382,7 +3382,7 @@ "description": "Conçu avec des fonctionnalités de base que vous pouvez facilement personnaliser – aucun codage requis.", "by_classroomio": "par ClassroomIO", "add": "Ajouter", - "upgrade": "Mise à niveau", + "upgrade": "Mettre à niveau", "apply_theme": "Appliquer le thème", "preview": "Aperçu", "card_menu_label": "Options de thème" @@ -3394,7 +3394,7 @@ "field_hero": "Titre du héros", "field_nav": "Navigation", "field_nav_count_one": "{count} lien", - "field_nav_count_other": "{count} liens", + "field_nav_count_other": "{count} liens", "hero_empty": "—", "customize": "Personnaliser la page de destination" }, @@ -3445,7 +3445,7 @@ "heading": "Informations personnelles", "full_name": "Nom complet", "username": "Nom d'utilisateur", - "email": "Courriel", + "email": "E-mail", "confirm": "Confirmer", "cancel": "Annuler", "email_change_verification_note": "Un e-mail de vérification a été envoyé à votre adresse e-mail actuelle. Le nouvel e-mail ne sera effectif que lorsque vous aurez accepté l'e-mail de vérification.", @@ -3458,7 +3458,7 @@ "accepted": "Accepté :", "validation_error": "La taille du fichier dépasse la limite maximale :" }, - "page_subtitle": "Your name, email, and how you appear wherever you work in ClassroomIO." + "page_subtitle": "Votre nom, votre e-mail et votre apparence partout où vous travaillez dans ClassroomIO." }, "tabs": { "profile_tab": "Profil", @@ -3469,11 +3469,11 @@ "language_tab": "Langue", "auth_tab": "Authentification", "sso_tab": "SSO", - "token_auth_tab": "Authentification du jeton", + "token_auth_tab": "Authentification par jeton", "customize_lms_tab": "Personnaliser le LMS", "domains_tab": "Domaines", "teams_tab": "Équipes", - "ai_credits_tab": "AI Credits", + "ai_credits_tab": "Crédits IA", "ai_tutor_tab": "Tuteur IA", "notifications_tab": "Notifications" }, @@ -3498,7 +3498,7 @@ "issuer_placeholder": "https://accounts.google.com", "issuer_help": "Émetteur OIDC (pas de barre oblique finale). Exemples : Google Workspace – https://accounts.google.com ; Okta — https://votre-org.okta.com ; Azure AD — https://login.microsoftonline.com/your-tenant-id/v2.0", "domain_label": "Domaine de messagerie", - "domain_placeholder": "votreentreprise.com", + "domain_placeholder": "yourcompany.com", "client_id_label": "Identifiant client", "client_id_placeholder": "Depuis votre fournisseur d'identité", "client_secret_label": "Secret client", @@ -3506,7 +3506,7 @@ "create_button": "Créer une connexion", "providers": { "okta": "Okta", - "google_workspace": "Espace de travail Google", + "google_workspace": "Google Workspace", "auth0": "Auth0" } }, @@ -3518,7 +3518,7 @@ "description": "Autorisez les administrateurs à contourner le SSO avec un e-mail/un mot de passe en cas d'urgence." }, "auto_join": { - "label": "Rejoindre automatiquement", + "label": "Adhésion automatique", "description": "Autorisez les utilisateurs dont les domaines de messagerie correspondent à rejoindre automatiquement votre organisation." }, "force_sso": { @@ -3584,12 +3584,12 @@ "tabs": { "general": "Général", "sso": "SSO", - "token_auth": "Authentification du jeton" + "token_auth": "Authentification par jeton" }, - "page_subtitle": "Control sign-up, login, SSO, and token-based access for this org." + "page_subtitle": "Contrôlez l'inscription, la connexion, le SSO et l'accès par jeton pour cette organisation." }, "token_auth": { - "heading": "Authentification du jeton", + "heading": "Authentification par jeton", "description": "Permettez aux utilisateurs de se connecter depuis votre application avec un JWT : aucun mot de passe n'est requis. Générez un secret de signature et utilisez-le dans votre backend pour émettre des JWT de courte durée.", "status": "Statut", "active": "Actif", @@ -3609,12 +3609,12 @@ "actions_menu": "Actions d'authentification par jeton" }, "teams": { - "page_subtitle": "Invite teammates and control who helps run this organization." + "page_subtitle": "Invitez des collègues et contrôlez qui aide à gérer cette organisation." }, "ai_credits": { - "sub_title": "AI credits", + "sub_title": "Crédits IA", "page_subtitle": "Suivez l'utilisation de l'assistant IA, la consommation de l'équipe et achetez des packs d'AI credits.", - "cost_note": "Credit usage is weighted by model cost. Gemini 3.1 Flash Lite counts as 1 credit unit per token. GPT-5.4 Mini and Kimi K2.6 count as 4× per token. Claude Sonnet 4.6 counts as 11× per token, reflecting its higher API cost.", + "cost_note": "L'utilisation des crédits est pondérée selon le coût du modèle. Gemini 3.1 Flash Lite compte pour 1 unité de crédit par jeton. GPT-5.4 Mini et Kimi K2.6 comptent pour 4× par jeton. Claude Sonnet 4.6 compte pour 11× par jeton, reflétant son coût API plus élevé.", "included": { "title": "Votre utilisation incluse", "subtitle": "AI credits mensuels inclus avec votre forfait.", @@ -3629,8 +3629,8 @@ "chart": { "heading": "Utilisation", "subheading": "Consommation quotidienne d'AI credits ce mois-ci.", - "tokens": "Credits", - "total_tokens": "Total credits", + "tokens": "Crédits", + "total_tokens": "Total des crédits", "total_requests": "Total des demandes", "empty": "Aucune utilisation enregistrée ce mois-ci pour l'instant." }, @@ -3639,14 +3639,14 @@ "this_month": "Mois en cours", "user": "Utilisateur", "favorite_model": "Modèle préféré", - "tokens": "Credits", + "tokens": "Crédits", "empty": "Personne dans votre équipe n'a utilisé l'assistant IA ce mois-ci." }, "buy_tokens": { "title": "Acheter plus de credits", "description": "Chaque pack ajoute 5,000,000 credits pour $5 USD. Choisissez le nombre de packs dont vous avez besoin.", "quantity_hint": "packs", - "preview": "{quantity} pack(s) · {tokens} credits · ${dollars}", + "preview": "{quantity} pack(s) · {tokens} crédits · ${dollars}", "buy_button": "Acheter pour ${dollars}" } }, @@ -3791,7 +3791,7 @@ "suggested": "Suggéré", "courses": "Cours", "widgets": "Widgets", - "tags": "Balises", + "tags": "Étiquettes", "students": "Étudiants", "settings": "Paramètres", "cohorts": "Cohortes" @@ -3911,7 +3911,7 @@ "title": "Filtrer par balises", "help": "Sélectionnez une ou plusieurs balises pour filtrer les cours", "empty": "Aucun tag disponible pour l'instant", - "tags_title": "Balises", + "tags_title": "Étiquettes", "types_title": "Espèces", "search_placeholder": "Rechercher des cours...", "pricing_title": "Tarifs", @@ -3920,8 +3920,8 @@ } }, "tags_admin": { - "page_title": "Mots clés - Salle de classeIO", - "heading": "Balises", + "page_title": "Étiquettes - ClassroomIO", + "heading": "Étiquettes", "create": "Créer", "tag_modal": { "create_title": "Créer une balise", @@ -3968,7 +3968,7 @@ "common": { "not_available": "N/D" }, - "page_subtitle": "Organize courses with labels so filters and lists stay easy to scan." + "page_subtitle": "Organisez les cours avec des étiquettes pour que les filtres et les listes restent faciles à parcourir." }, "invite": { "organization": { @@ -4022,12 +4022,12 @@ "generate": "Générer une clé MCP", "secret_once": "Ce secret est montré une fois. Copiez-le dans votre client MCP maintenant.", "modal": { - "title": "Create MCP key", - "description": "Choose a name for this MCP key before it is generated.", - "name_label": "Key name", + "title": "Créer une clé MCP", + "description": "Choisissez un nom pour cette clé MCP avant qu'elle ne soit générée.", + "name_label": "Nom de la clé", "name_placeholder": "ClassroomIO OpenCode", - "cancel": "Cancel", - "save": "Create key" + "cancel": "Annuler", + "save": "Créer la clé" } }, "usage": { @@ -4041,31 +4041,31 @@ "rate_limits_description": "Requêtes de lecture/écriture/publication autorisées par minute.", "used_label": "Utilisé :" }, - "page_subtitle": "Connect AI tools to ClassroomIO with org-scoped keys you can rotate anytime." + "page_subtitle": "Connectez des outils IA à ClassroomIO avec des clés à l'échelle de l'organisation que vous pouvez faire pivoter à tout moment." }, "api": { - "subtitle": "Manage API keys to integrate with the ClassroomIO public API.", + "subtitle": "Gérez les clés API pour intégrer l'API publique ClassroomIO.", "keys": { - "title": "API keys", - "description": "These keys authenticate the current organization when calling the ClassroomIO public API.", - "generate": "Generate API key", - "secret_once": "This secret is shown once. Copy it and store it securely.", - "empty_title": "No API keys yet", - "empty_description": "Create the first org-scoped API key to use the ClassroomIO public API.", + "title": "Clés API", + "description": "Ces clés authentifient l'organisation actuelle lors des appels à l'API publique ClassroomIO.", + "generate": "Générer une clé API", + "secret_once": "Ce secret n'est affiché qu'une fois. Copiez-le et conservez-le en lieu sûr.", + "empty_title": "Aucune clé API pour l'instant", + "empty_description": "Créez la première clé API à l'échelle de l'organisation pour utiliser l'API publique ClassroomIO.", "modal": { - "title": "Create API key", - "description": "Choose a name for this API key before it is generated.", - "name_label": "Key name", - "name_placeholder": "My API integration", - "cancel": "Cancel", - "save": "Create key" + "title": "Créer une clé API", + "description": "Choisissez un nom pour cette clé API avant qu'elle ne soit générée.", + "name_label": "Nom de la clé", + "name_placeholder": "Mon intégration API", + "cancel": "Annuler", + "save": "Créer la clé" } }, "setup": { "title": "Démarrage rapide", "description": "Utilisez votre clé API comme jeton Bearer sur chaque requête. Remplacez l'espace réservé par une clé ci-dessus, ou collez le secret immédiatement après l'avoir généré." }, - "view_docs": "View Docs" + "view_docs": "Voir la documentation" }, "keys": { "active": "Actif", @@ -4088,7 +4088,7 @@ "clients": { "claude_code": "Claude Code", "codex": "Codex", - "cursor": "Curseur", + "cursor": "Cursor", "opencode": "OpenCode", "curl": "cURL", "javascript": "JavaScript", @@ -4096,7 +4096,7 @@ "go": "Go" }, "tabs": { - "mcp": "PCM", + "mcp": "MCP", "zapier": "Zapier", "api": "API" }, @@ -4105,13 +4105,13 @@ "disabled_description": "Seuls les administrateurs de l'organisation peuvent créer, alterner ou révoquer des clés d'automatisation. Les enseignants peuvent consulter les instructions de configuration ici." }, "zapier": { - "page_subtitle": "Automate ClassroomIO with thousands of apps through Zapier. Coming soon." + "page_subtitle": "Automatisez ClassroomIO avec des milliers d'applications via Zapier. Bientôt disponible." } }, "ai_assistant": { "empty_state": "Demandez-moi de vous aider avec le contenu de votre cours : rédigez des leçons, générez des questions ou planifiez un cours à partir d'un document.", "input_placeholder": "Demandez à l'assistant IA...", - "quote_lesson_note": "Quote in assistant", + "quote_lesson_note": "Citer dans l'assistant", "attach_document": "Joindre un document (PDF, DOCX, PPTX)", "upgrade_to_upload": "Mise à niveau pour télécharger des documents", "tokens_exhausted": "Limite mensuelle de jetons IA atteinte.", @@ -4132,76 +4132,76 @@ "agent_running_warning": "Les modifications apparaîtront dans le cours une fois que l'agent aura terminé. Ne rechargez pas la page.", "agent_running_warning_dismiss": "Fermer", "quick_action": { - "upload_document_course": "Upload a document to create a course", - "draft_lesson": "Draft a lesson", - "generate_questions_from_lesson": "Generate questions from this lesson", - "summarize_lesson": "Summarize this lesson", - "publish_course": "Help me publish this course" + "upload_document_course": "Téléverser un document pour créer un cours", + "draft_lesson": "Rédiger une leçon", + "generate_questions_from_lesson": "Générer des questions à partir de cette leçon", + "summarize_lesson": "Résumer cette leçon", + "publish_course": "Aidez-moi à publier ce cours" }, - "plan_applying_changes": "Applying changes", - "plan_working": "Working", - "plan_progress": "{completed} / {total} steps completed", - "stop": "Stop", - "copy_full_error": "Copy full error", - "resize_panel_aria_label": "Resize AI assistant panel", - "generic_working": "Working", - "run_failed_after": "{action} did not finish successfully.", + "plan_applying_changes": "Application des modifications", + "plan_working": "En cours", + "plan_progress": "{completed} / {total} étapes terminées", + "stop": "Arrêter", + "copy_full_error": "Copier l'erreur complète", + "resize_panel_aria_label": "Redimensionner le panneau de l'assistant IA", + "generic_working": "En cours", + "run_failed_after": "{action} ne s'est pas terminé avec succès.", "tool": { "pending": { - "working": "Working", - "unknown_tool": "Running {toolName}", - "get_course_structure": "Reading course structure", - "get_lesson_content": "Reading lesson content", - "get_exercise_details": "Reading exercise", - "create_section": "Creating section", - "update_section": "Updating section", - "create_lesson": "Creating lesson", - "update_lesson": "Updating lesson", - "update_lesson_content": "Writing lesson content", - "create_exercise": "Creating exercise", - "create_exercise_section": "Creating exercise section", - "update_exercise": "Updating exercise", - "update_exercise_section": "Updating exercise section", - "add_questions": "Adding questions", - "update_questions": "Updating questions", - "reorder_content": "Reordering content", - "update_course_landing_page": "Updating landing page", - "check_course_go_live_readiness": "Checking go-live readiness", - "go_live_course": "Publishing course", - "generate_course_plan": "Generating course plan", + "working": "En cours", + "unknown_tool": "Exécution de {toolName}", + "get_course_structure": "Lecture de la structure du cours", + "get_lesson_content": "Lecture du contenu de la leçon", + "get_exercise_details": "Lecture de l'exercice", + "create_section": "Création de la section", + "update_section": "Mise à jour de la section", + "create_lesson": "Création de la leçon", + "update_lesson": "Mise à jour de la leçon", + "update_lesson_content": "Rédaction du contenu de la leçon", + "create_exercise": "Création de l'exercice", + "create_exercise_section": "Création de la section d'exercice", + "update_exercise": "Mise à jour de l'exercice", + "update_exercise_section": "Mise à jour de la section d'exercice", + "add_questions": "Ajout de questions", + "update_questions": "Mise à jour des questions", + "reorder_content": "Réorganisation du contenu", + "update_course_landing_page": "Mise à jour de la page d'accueil", + "check_course_go_live_readiness": "Vérification de la préparation à la mise en ligne", + "go_live_course": "Publication du cours", + "generate_course_plan": "Génération du plan de cours", "ask_template_questions": "Préparation du formulaire modèle", "fetch_documentation_url": "Lecture de la page de documentation", "fetch_documentation_url_with_url": "Lecture de {url}" }, "meta": { - "lesson_char_count": "({count, plural, one {# character} other {# characters}})", - "landing_page_preview": "· Preview changes", - "exercise_questions_added": "· {count, plural, one {# question added} other {# questions added}}", - "exercise_questions_updated": "· {count, plural, one {# question updated} other {# questions updated}}" + "lesson_char_count": "({count, plural, one {# caractère} other {# caractères}})", + "landing_page_preview": "· Aperçu des modifications", + "exercise_questions_added": "· {count, plural, one {# question ajoutée} other {# questions ajoutées}}", + "exercise_questions_updated": "· {count, plural, one {# question mise à jour} other {# questions mises à jour}}" }, "done": { - "generic": "Done", - "create_section": "Created section: {title}", - "update_section": "Updated section: {title}", - "create_lesson": "Created lesson: {title}", - "update_lesson": "Updated lesson: {title}", - "update_lesson_content_fallback": "Wrote {count, plural, one {# character} other {# characters}}", - "create_exercise": "Created exercise «{title}» · {count, plural, one {# question} other {# questions}}", - "update_exercise": "Updated exercise: {title}", - "update_exercise_section": "Updated exercise section: {title}", - "add_questions_fallback": "{count, plural, one {Added # question} other {Added # questions}}", - "update_questions_fallback": "{count, plural, one {Updated # question} other {Updated # questions}}", - "create_exercise_section": "Created exercise section: {title}", - "get_course_structure": "Course structure loaded", - "get_lesson_content": "Lesson content loaded", - "get_exercise_details": "Exercise loaded", - "reorder_content": "Content reordered", - "update_course_landing_page": "Updated landing page: {title}", - "check_go_live_ready": "{warningCount, plural, =0{Ready to go live} other{Ready to go live — # warnings}}", - "check_go_live_blocked": "{blockerCount, plural, one{# blocker before go-live} other{# blockers before go-live}}", - "go_live_published": "Published course: {title}", - "go_live_not_published": "Course was not published", - "generate_course_plan": "Course plan generated", + "generic": "Terminé", + "create_section": "Section créée : {title}", + "update_section": "Section mise à jour : {title}", + "create_lesson": "Leçon créée : {title}", + "update_lesson": "Leçon mise à jour : {title}", + "update_lesson_content_fallback": "{count, plural, one {# caractère écrit} other {# caractères écrits}}", + "create_exercise": "Exercice créé «{title}» · {count, plural, one {# question} other {# questions}}", + "update_exercise": "Exercice mis à jour : {title}", + "update_exercise_section": "Section d'exercice mise à jour : {title}", + "add_questions_fallback": "{count, plural, one {# question ajoutée} other {# questions ajoutées}}", + "update_questions_fallback": "{count, plural, one {# question mise à jour} other {# questions mises à jour}}", + "create_exercise_section": "Section d'exercice créée : {title}", + "get_course_structure": "Structure du cours chargée", + "get_lesson_content": "Contenu de la leçon chargé", + "get_exercise_details": "Exercice chargé", + "reorder_content": "Contenu réorganisé", + "update_course_landing_page": "Page d'accueil mise à jour : {title}", + "check_go_live_ready": "{warningCount, plural, =0{Prêt pour la mise en ligne} other{Prêt pour la mise en ligne — # avertissements}}", + "check_go_live_blocked": "{blockerCount, plural, one {# blocage avant la mise en ligne} other {# blocages avant la mise en ligne}}", + "go_live_published": "Cours publié : {title}", + "go_live_not_published": "Le cours n'a pas été publié", + "generate_course_plan": "Plan de cours généré", "ask_template_questions": "Formulaire modèle prêt", "fetch_documentation_url": "Lire {url}" } @@ -4223,7 +4223,7 @@ "error_network": "Erreur réseau. Veuillez vérifier votre connexion et réessayer.", "context_usage_tooltip": "{used} / {max} jetons utilisés", "context_full_title": "La fenêtre contextuelle est pleine", - "context_full_description": "The assistant will summarize older messages automatically so you can keep working in this chat.", + "context_full_description": "L'assistant résumera automatiquement les anciens messages afin que vous puissiez continuer à travailler dans cette discussion.", "context_full_compact": "Conversation compacte", "context_full_compacting": "Compactage...", "context_full_new_chat": "Démarrer une nouvelle discussion avec résumé", @@ -4346,7 +4346,7 @@ "custom_css_locked": "Mettez à niveau pour activer le CSS personnalisé.", "embed_code": "Code intégré", "custom_css_hint": "Maximum 5 000 caractères.", - "border_radius_hint": "0 – 32 pixels.", + "border_radius_hint": "0 – 32 px.", "font_scale_hint": "0,8 – 1,4 (1 = par défaut)." }, "create": { @@ -4389,7 +4389,7 @@ "columns": { "course": "Cours", "lessons": "Leçons", - "tags": "Balises" + "tags": "Étiquettes" } }, "plan": { @@ -4456,7 +4456,7 @@ }, "layout": { "card_grid": "Grille de cartes", - "tag_filter": "Filtre de balises", + "tag_filter": "Filtre par étiquette", "carousel": "Carrousel", "primary_course": "Cours primaire", "compact_list": "Liste compacte", @@ -4470,9 +4470,9 @@ "editor": { "sources": "Source du widget", "available_courses": "Cours disponibles", - "layout": "Disposition", + "layout": "Mise en page", "content": "Contenu", - "design": "Conception", + "design": "Design", "version_history": "Historique des versions", "save_changes": "Enregistrer les modifications", "rename_widget": "Renommer le widget", @@ -4488,8 +4488,8 @@ "load_failed": "Impossible de charger ce widget. Réessayez à partir de la liste des widgets.", "nav": { "courses": "Cours", - "layout": "Disposition", - "design": "Conception", + "layout": "Mise en page", + "design": "Design", "embed": "Intégrer" }, "viewport": { @@ -4500,8 +4500,8 @@ }, "tabs": { "select_courses": "Sélectionnez des cours", - "layout": "Disposition", - "design": "Conception", + "layout": "Mise en page", + "design": "Design", "embed": "Code intégré" }, "defaults": { @@ -4513,11 +4513,11 @@ } }, "side_panel": { - "close_aria": "Close panel", - "resize_panel_aria_label": "Resize panel", + "close_aria": "Fermer le panneau", + "resize_panel_aria_label": "Redimensionner le panneau", "titles": { - "ai_assistant": "AI Assistant", - "transcript": "Transcript" + "ai_assistant": "Assistant IA", + "transcript": "Transcription" } }, "compliance": { @@ -4530,7 +4530,7 @@ "learner": "Étudiant", "course": "Cours", "status": "Statut", - "due_date": "Due", + "due_date": "Échéance", "expires": "Expire" }, "courses": { @@ -4567,7 +4567,7 @@ "learners": "Étudiants" }, "summary": { - "heading": "Statut d'étudiant", + "heading": "Statut des étudiants", "description": "Compte parmi les étudiants dans tous les cours de conformité." } }, @@ -4602,7 +4602,7 @@ "create_cta_used": "{used} sur {allowance} utilisé", "create_cta_disabled_limit": "Vous avez atteint la limite d'espace de travail {allowance}. Contactez-nous pour vous développer.", "create_cta_disabled_upgrade": "Le multi-espace de travail est une fonctionnalité d'entreprise.", - "upgrade_link": "Mise à niveau", + "upgrade_link": "Mettre à niveau", "primary_badge": "Primaire", "delete_action": "Supprimer", "delete_confirm_title": "Supprimer cet espace de travail ?", @@ -4672,7 +4672,7 @@ }, "field": { "enabled": "Tuteur IA activé", - "persona": "Personnalité du tuteur", + "persona": "Persona du tuteur", "customPersona": "Personnalité personnalisée", "customPersona_description": "Décrivez comment le tuteur doit s'exprimer : ton, style d'adressage, tout ce qui est spécifique à votre public.", "responseLength": "Longueur de réponse", @@ -4789,7 +4789,7 @@ "invite": "Inviter", "invite_modal_title": "Inviter des membres", "invite_modal_description": "Ajoutez des personnes à cette cohorte par e-mail.", - "email_label": "Courriel", + "email_label": "E-mail", "role_label": "Rôle", "add_another": "Ajoutez-en un autre", "invite_submit": "Envoyer des invitations", @@ -4837,7 +4837,7 @@ "delete": "Supprimer" }, "card": { - "pin": "Épingle", + "pin": "Épingler", "unpin": "Désépingler", "edit": "Modifier", "delete": "Supprimer" @@ -4885,8 +4885,8 @@ "sort": "Trier", "order": "Commande", "status": "Statut", - "ascending": "Asc.", - "descending": "Description", + "ascending": "Croiss.", + "descending": "Décroiss.", "sort_name": "Nom", "sort_courses": "Cours", "sort_students": "Étudiants", @@ -4947,7 +4947,7 @@ "title_placeholder": "par ex. Rampe d'embarquement", "description_label": "Descriptif", "description_placeholder": "Contexte facultatif pour l'équipe", - "type_label": "Tapez", + "type_label": "Type", "courses_label": "Cours", "required_count_label": "Nombre de cours requis", "score_threshold_label": "Note de réussite par élève (%)", diff --git a/apps/dashboard/src/lib/utils/translations/hi.json b/apps/dashboard/src/lib/utils/translations/hi.json index db086fbd..6fa746ea 100644 --- a/apps/dashboard/src/lib/utils/translations/hi.json +++ b/apps/dashboard/src/lib/utils/translations/hi.json @@ -577,7 +577,7 @@ "description": "नामांकन पाठ्यक्रम प्रकार के आधार पर समूहीकृत किए गए", "subtitle": "सभी प्रकार के लिए {total} नामांकन", "empty": "अभी तक कोई नामांकन डेटा नहीं है", - "course_count": "{count, plural, one {# course} other {# courses}}", + "course_count": "{count, plural, one {# पाठ्यक्रम} other {# पाठ्यक्रम}}", "views_short": "विचार", "types": { "SELF_PACED": "स्वयं गतिमान", @@ -635,8 +635,8 @@ "progress_distribution_card_description": "प्रत्येक समापन बैंड में कितने छात्र आते हैं।", "grade_distribution_card_description": "प्रत्येक ग्रेड बैंड में कितने छात्र आते हैं।", "students_table_description": "छात्र प्रोफाइल के लिंक के साथ क्रमबद्ध अवलोकन।", - "kpi_team_tutors": "{count, plural, one {# tutor on the course team} other {# tutors on the course team}}", - "kpi_lessons_exercises": "{count, plural, one {# exercise} other {# exercises}} पाठों के अनुसार मैप किया गया", + "kpi_team_tutors": "{count, plural, one {पाठ्यक्रम टीम में # शिक्षक} other {पाठ्यक्रम टीम में # शिक्षक}}", + "kpi_lessons_exercises": "{count, plural, one {# अभ्यास} other {# अभ्यास}} पाठों के अनुसार मैप किया गया", "kpi_progress_grade": "नामांकित विद्यार्थियों में {ग्रेड}% औसत व्यायाम ग्रेड" } }, @@ -702,10 +702,10 @@ "select_cohorts": "विशिष्ट कोहोर्ट चुनें", "select_cohorts_placeholder": "कोहोर्ट चुनें..." }, - "page_subtitle": "See who belongs to your org, who is learning, who is invited, and how to reach them.", + "page_subtitle": "देखें कि आपके संगठन में कौन शामिल है, कौन सीख रहा है, किसे आमंत्रित किया गया है, और उन तक कैसे पहुँचें।", "user_analytics": { "title": "छात्र प्रोफ़ाइल", - "page_subtitle": "Progress, grades, and activity across their courses." + "page_subtitle": "उनके पाठ्यक्रमों में प्रगति, ग्रेड और गतिविधि।" }, "delete": { "action": "हटाएँ", @@ -748,11 +748,11 @@ "cancel": "रद्द करें", "give": "उत्तर दीजिए", "comment": "टिप्पणी करें", - "page_subtitle": "Start a thread the whole community can see, and tie it to a course if you want." + "page_subtitle": "एक थ्रेड शुरू करें जिसे पूरा समुदाय देख सके, और चाहें तो इसे किसी पाठ्यक्रम से जोड़ें।" }, - "page_subtitle": "Questions and answers shared across your organization's courses.", + "page_subtitle": "आपके संगठन के पाठ्यक्रमों में साझा किए गए प्रश्न और उत्तर।", "question": { - "page_subtitle": "Follow answers, vote, and join the discussion." + "page_subtitle": "उत्तरों का अनुसरण करें, वोट करें और चर्चा में शामिल हों।" } }, "course": { @@ -1190,23 +1190,23 @@ "recipient_emails_placeholder": "student1@example.com, student2@example.com", "send_invite_emails": "तुरंत आमंत्रण ईमेल भेजें", "create_email_invites": "ईमेल आमंत्रण बनाएँ", - "existing_students_title": "Add existing org students", + "existing_students_title": "मौजूदा संगठन छात्रों को जोड़ें", "existing_students_description": "इस संगठन में पहले से ही मौजूद छात्रों को चुनें और उन्हें इस पाठ्यक्रम तक सीधी पहुंच प्रदान करें।", - "existing_students_search": "Search organization students", - "loading_existing_students": "Loading organization students...", - "no_existing_students": "No organization students are available to add.", - "no_matching_existing_students": "No organization students match your search.", - "notify_existing_students": "Send course access email", - "grant_access": "Grant Access", + "existing_students_search": "संगठन के छात्रों को खोजें", + "loading_existing_students": "संगठन के छात्र लोड हो रहे हैं...", + "no_existing_students": "जोड़ने के लिए कोई संगठन छात्र उपलब्ध नहीं हैं।", + "no_matching_existing_students": "आपकी खोज से कोई संगठन छात्र मेल नहीं खाते।", + "notify_existing_students": "पाठ्यक्रम पहुँच ईमेल भेजें", + "grant_access": "पहुँच प्रदान करें", "grant_access_modal": { "title": "छात्र को एक्सेस दें", "description": "{email} को इस कोर्स का एक्सेस दें। हम उन्हें आपके संगठन में शामिल होने और इस कोर्स में नामांकन के लिए आमंत्रण ईमेल भेजेंगे।", "cancel": "रद्द करें", "send_invite": "निमंत्रण भेजें" }, - "invite_new_students_title": "Invite new students", - "invite_new_students_description": "Invite new people into your organization and pre-assign them to this course. They will create an account, accept the invite, and get access.", - "invite_new_students": "Invite Students", + "invite_new_students_title": "नए छात्रों को आमंत्रित करें", + "invite_new_students_description": "अपने संगठन में नए लोगों को आमंत्रित करें और उन्हें इस पाठ्यक्रम में पहले से नियुक्त करें। वे खाता बनाएंगे, निमंत्रण स्वीकार करेंगे और पहुँच प्राप्त करेंगे।", + "invite_new_students": "छात्रों को आमंत्रित करें", "existing_invites": "मौजूदा आमंत्रण", "refresh": "ताज़ा करें", "loading_invites": "आमंत्रण लोड हो रहे हैं...", @@ -1240,7 +1240,7 @@ "snackbar_failed_load_audit": "आमंत्रण ऑडिट लोड करने में विफल", "snackbar_metadata_copied": "आमंत्रण मेटाडेटा कॉपी किया गया", "snackbar_email_invites_success": "{count} आमंत्रण बनाया गया। भेजा गया {sent}, असफल हुआ {failed}। {duplicates} डुप्लिकेट को छोड़ दिया गया।", - "select_at_least_one_student": "Select at least one existing student", + "select_at_least_one_student": "कम से कम एक मौजूदा छात्र चुनें", "presets": { "one_time_24h": "एक बार (24 घंटे)", "multi_use_7d": "बहु-उपयोग (7 दिन)", @@ -1435,7 +1435,7 @@ "check": "जांचें", "auto_graded_badge": "स्वचालित ग्रेडिंग", "manual_grading_required_badge": "मैन्युअल ग्रेडिंग आवश्यक", - "points_required_auto_grade": "Points must be greater than 0 for auto-graded exercises.", + "points_required_auto_grade": "स्वचालित अंकन वाले अभ्यासों के लिए अंक 0 से अधिक होने चाहिए।", "analytics": { "submissions": "प्रस्तुतियाँ", "individual": { @@ -1530,10 +1530,10 @@ "video_recording": "वीडियो रिकार्डिंग" }, "select_type": "प्रकार चुनें", - "question_type_auto_gradable": "Auto", - "question_type_auto_gradable_description": "Scored automatically by the system", - "question_type_manual_grading": "Manual", - "question_type_manual_grading_description": "Requires human review to score", + "question_type_auto_gradable": "स्वचालित", + "question_type_auto_gradable_description": "सिस्टम द्वारा स्वचालित रूप से अंकित", + "question_type_manual_grading": "मैन्युअल", + "question_type_manual_grading_description": "अंक देने के लिए मानव समीक्षा आवश्यक", "premium_question_type": "इस प्रश्न प्रकार का उपयोग करने के लिए अपग्रेड करें" }, "delete_confirmation": { @@ -1554,16 +1554,16 @@ "textarea": { "take": { "placeholder": "अपना उत्तर लिखें", - "min_error": "Answer must be at least {min} characters.", - "max_error": "Answer must be at most {max} characters.", - "range_error": "Answer must be between {min} and {max} characters." + "min_error": "उत्तर कम से कम {min} अक्षरों का होना चाहिए।", + "max_error": "उत्तर अधिकतम {max} अक्षरों का होना चाहिए।", + "range_error": "उत्तर {min} और {max} अक्षरों के बीच होना चाहिए।" }, "edit": { "placeholder": "छात्र लंबे प्रारूप वाले पाठ के साथ उत्तर देंगे", - "min_characters_label": "Minimum characters", - "min_characters_placeholder": "Minimum characters", - "max_characters_label": "Maximum characters", - "max_characters_placeholder": "Maximum characters" + "min_characters_label": "न्यूनतम अक्षर", + "min_characters_placeholder": "न्यूनतम अक्षर", + "max_characters_label": "अधिकतम अक्षर", + "max_characters_placeholder": "अधिकतम अक्षर" } }, "hotspot": { @@ -2036,7 +2036,7 @@ "add_from_library": "लाइब्रेरी से जोड़ें", "cancel_upload": "अपलोड रद्द करें", "upload_cancelled": "उपयोगकर्ता द्वारा अपलोड रद्द कर दिया गया", - "max_files": "{count, plural, one {You can upload # file} other {You can upload # files}}", + "max_files": "{count, plural, one {आप # फ़ाइल अपलोड कर सकते हैं} other {आप # फ़ाइलें अपलोड कर सकते हैं}}", "max_files_and_size": "(प्रत्येक {size} तक)", "google_drive_choose": "Google Drive से चुनें", "google_drive_opening": "पिकर खुल रहा है...", @@ -2058,14 +2058,14 @@ "empty_title": "अभी तक कोई वीडियो नहीं", "empty_description": "YouTube से वीडियो जोड़ें, अपलोड करें, या अपनी मीडिया लाइब्रेरी से", "google_drive": "गूगल ड्राइव", - "generate_transcript": "Generate transcription", - "generate_transcript_in_progress": "Transcribing…", + "generate_transcript": "ट्रांसक्रिप्शन बनाएं", + "generate_transcript_in_progress": "ट्रांसक्राइब किया जा रहा है…", "transcript": { - "title": "Transcript", - "captions_label": "Captions", - "language": "Language: {language}", - "empty": "No transcript yet. You can generate one from this card’s menu after the video is uploaded.", - "loading": "Loading transcript…", + "title": "ट्रांसक्रिप्ट", + "captions_label": "कैप्शन", + "language": "भाषा: {language}", + "empty": "अभी तक कोई ट्रांसक्रिप्ट नहीं। वीडियो अपलोड होने के बाद इस कार्ड के मेनू से एक बना सकते हैं।", + "loading": "ट्रांसक्रिप्ट लोड हो रहा है…", "open_side_panel": "ट्रांस्क्रिप्ट पैनल खोलें", "edit": "प्रतिलेख संपादित करें", "save": "सहेजें", @@ -2355,8 +2355,8 @@ "empty": "कोई परिणाम नहीं मिला" }, "header": { - "preview": "Preview course", - "preview_missing_slug": "Generate and save a course slug before previewing.", + "preview": "पाठ्यक्रम का पूर्वावलोकन", + "preview_missing_slug": "पूर्वावलोकन से पहले पाठ्यक्रम स्लग बनाएं और सहेजें।", "view_as_student": "विद्यार्थी के रूप में देखें", "view_course_site": "कोर्स साइट देखें" }, @@ -2565,12 +2565,12 @@ "valid_until": "तक वैध है" }, "course_filter": { - "date_created_newest": "Date Created: Newest first", - "date_created_oldest": "Date Created: Oldest first", - "published_first": "Published: Published first", - "unpublished_first": "Published: Unpublished first", - "most_lessons": "Lessons: Most first", - "fewest_lessons": "Lessons: Fewest first", + "date_created_newest": "निर्माण तिथि: नवीनतम पहले", + "date_created_oldest": "निर्माण तिथि: सबसे पुराना पहले", + "published_first": "प्रकाशित: प्रकाशित पहले", + "unpublished_first": "प्रकाशित: अप्रकाशित पहले", + "most_lessons": "पाठ: सबसे अधिक पहले", + "fewest_lessons": "पाठ: सबसे कम पहले", "date_created": "दिनांक निर्मित", "published": "प्रकाशित", "lessons": "सबक" @@ -2582,12 +2582,12 @@ "popover_title": "फिल्टर", "sort": "क्रमबद्ध करें", "order": "क्रम", - "ascending": "Asc", - "descending": "Desc", + "ascending": "आरोही", + "descending": "अवरोही", "tags": "टैग", "empty_tags": "कोई टैग उपलब्ध नहीं है" }, - "page_subtitle": "Where lessons turn into courses and courses turn into enrollments." + "page_subtitle": "जहाँ पाठ पाठ्यक्रम बनते हैं और पाठ्यक्रम नामांकन बनते हैं।" }, "ai": { "help_me": "मुझे लिखने में मदद करें", @@ -2614,13 +2614,13 @@ "lms_dashboard_hero": "आज का दिन आपको आपके सीखने के लक्ष्यों के करीब लाने का एक और दिन है। हार मत मानो, जितना अधिक सीखोगे उतना बेहतर हो जाओगे।", "lessons_completed": "पाठ पूरा हुआ", "no_courses_started": "कोई पाठ्यक्रम शुरू नहीं हुआ", - "certificates_earned": "Certificates issued", - "certificates_earned_description": "Total certificates issued to students in your organization", + "certificates_earned": "जारी प्रमाणपत्र", + "certificates_earned_description": "आपके संगठन के छात्रों को जारी किए गए कुल प्रमाणपत्र", "certification_rate": "प्रमाणित", - "recent_certifications": "Recent certifications", - "no_certifications_yet": "No certificates earned yet", - "no_certifications_yet_description": "When students complete a course and earn a certificate, they will appear here", - "view_courses": "View courses", + "recent_certifications": "हाल के प्रमाणपत्र", + "no_certifications_yet": "अभी तक कोई प्रमाणपत्र अर्जित नहीं", + "no_certifications_yet_description": "जब छात्र कोई पाठ्यक्रम पूरा करके प्रमाणपत्र अर्जित करेंगे, तो वे यहाँ दिखाई देंगे", + "view_courses": "पाठ्यक्रम देखें", "no_of_courses": "पाठ्यक्रमों की संख्या", "no_courses_description": "इस संगठन के अंतर्गत बनाए गए पाठ्यक्रम", "total_students": "कुल छात्र", @@ -3016,7 +3016,7 @@ "not_available": "एन/ए" }, "empty_description": "संपत्ति इस संगठन में मौजूद नहीं है या उपलब्ध नहीं है.", - "page_subtitle": "Keep files, videos, and links for your courses in one library.", + "page_subtitle": "अपने पाठ्यक्रमों की फ़ाइलें, वीडियो और लिंक एक लाइब्रेरी में रखें।", "thumbnails": { "manage_title": "थंबनेल प्रबंधित करें", "manage_description": "वीडियो का पूर्वावलोकन करें, स्वतः-निर्मित फ़्रेमों में से एक चुनें, या अपना स्वयं का अपलोड करें।", @@ -3052,7 +3052,7 @@ "provider": "हम आपकी बिलिंग प्रबंधित करने में सहायता के लिए पोलर का उपयोग करते हैं", "open_billing": "बिलिंग खोलें", "error": "बिलिंग खोलते समय एक त्रुटि उत्पन्न हुई", - "page_subtitle": "Your plan, billing portal, and how you pay for ClassroomIO.", + "page_subtitle": "आपकी योजना, बिलिंग पोर्टल और ClassroomIO के लिए भुगतान का तरीका।", "ai_credits": "AI credits", "ai_tokens_used": "इस महीने उपयोग किए गए AI credits", "ai_bonus_credits": "bonus AI credits उपलब्ध" @@ -3066,7 +3066,7 @@ "connect_button": "कनेक्ट करें", "success_message": "एकीकरण सफल", "disconnect": "डिस्कनेक्ट करें", - "page_subtitle": "Connect Telegram to get notified when important things happen." + "page_subtitle": "महत्वपूर्ण घटनाओं पर सूचना पाने के लिए Telegram कनेक्ट करें।" }, "landing_page": { "heading": "लैंडिंग पृष्ठ", @@ -3162,7 +3162,7 @@ "show_background": "पृष्ठभूमि दिखाएँ", "hide_background": "पृष्ठभूमि छिपाएँ" }, - "page_subtitle": "Shape the marketing page people see before they sign up or enroll.", + "page_subtitle": "वह मार्केटिंग पेज आकार दें जो लोग साइन अप या नामांकन से पहले देखते हैं।", "editor": { "save": "सहेजें", "close": "बंद करें", @@ -3175,18 +3175,18 @@ "link_href": "लिंक यूआरएल", "remove": "फ़ुटर लिंक हटाएँ", "brand": { - "legend": "Brand", - "description": "Your organization logo and name always appear here (from organization settings). Add optional details below.", - "preview_label": "Footer brand preview", - "tagline": "Tagline", - "tagline_placeholder": "Small line under your brand", - "copyright": "Copyright", - "copyright_placeholder": "© 2026 Your Organization", - "social_label": "Social links", - "platform_field": "Platform", - "url_label": "Profile URL", - "add_social": "Add social link", - "remove_social": "Remove social link", + "legend": "ब्रांड", + "description": "आपके संगठन का लोगो और नाम हमेशा यहाँ दिखाई देता है (संगठन सेटिंग्स से)। नीचे वैकल्पिक विवरण जोड़ें।", + "preview_label": "फ़ुटर ब्रांड पूर्वावलोकन", + "tagline": "टैगलाइन", + "tagline_placeholder": "आपके ब्रांड के नीचे छोटी पंक्ति", + "copyright": "कॉपीराइट", + "copyright_placeholder": "© 2026 आपका संगठन", + "social_label": "सोशल लिंक", + "platform_field": "प्लेटफ़ॉर्म", + "url_label": "प्रोफ़ाइल URL", + "add_social": "सोशल लिंक जोड़ें", + "remove_social": "सोशल लिंक हटाएँ", "platforms": { "instagram": "Instagram", "x": "X", @@ -3195,29 +3195,29 @@ "youtube": "YouTube", "github": "GitHub", "tiktok": "TikTok", - "website": "Website" + "website": "वेबसाइट" } }, "columns": { - "legend": "Link columns", - "description": "Add grouped links (like Company or Resources). Enables a multi-column footer layout.", - "empty_hint": "No columns yet — add one to show a multi-column footer beside your brand.", - "add": "Add column", - "remove": "Remove column", - "heading_label": "Column heading", - "heading_placeholder": "e.g. Company", - "add_link": "Add link", - "remove_link": "Remove link", - "links_max_reached": "Up to 10 links per column", - "cta_toggle": "Add CTA link", - "cta_label": "CTA label", + "legend": "लिंक कॉलम", + "description": "समूहीकृत लिंक जोड़ें (जैसे कंपनी या संसाधन)। बहु-कॉलम फ़ुटर लेआउट सक्षम करता है।", + "empty_hint": "अभी तक कोई कॉलम नहीं — अपने ब्रांड के बगल में बहु-कॉलम फ़ुटर दिखाने के लिए एक जोड़ें।", + "add": "कॉलम जोड़ें", + "remove": "कॉलम हटाएँ", + "heading_label": "कॉलम शीर्षक", + "heading_placeholder": "उदा. कंपनी", + "add_link": "लिंक जोड़ें", + "remove_link": "लिंक हटाएँ", + "links_max_reached": "प्रति कॉलम अधिकतम 10 लिंक", + "cta_toggle": "CTA लिंक जोड़ें", + "cta_label": "CTA लेबल", "cta_href": "CTA URL", - "cta_default_label": "Explore more", - "max_reached": "Up to 6 columns" + "cta_default_label": "और देखें", + "max_reached": "अधिकतम 6 कॉलम" }, "bottom": { - "legend": "Bottom row", - "add_link": "Add bottom link" + "legend": "नीचे की पंक्ति", + "add_link": "नीचे की पंक्ति में लिंक जोड़ें" } }, "embed": { @@ -3284,7 +3284,7 @@ "embed": "एम्बेड करें", "embed_desc": "पाठ्यक्रमों के बाद वैकल्पिक आईफ्रेम अनुभाग दिखाया गया है।", "footer": "फ़ुटर", - "footer_desc": "Brand line, socials, multi-column links, and bottom legal row.", + "footer_desc": "ब्रांड पंक्ति, सोशल, बहु-कॉलम लिंक और नीचे की कानूनी पंक्ति।", "links": "कड़ियाँ", "links_desc": "पाठ्यक्रमों के बाद दिखाए गए बाहरी लिंक (सहायता केंद्र, समुदाय, वेबिनार) का वैकल्पिक ब्लॉक।" }, @@ -3458,7 +3458,7 @@ "accepted": "स्वीकृत:", "validation_error": "फ़ाइल का आकार अधिकतम सीमा से अधिक है:" }, - "page_subtitle": "Your name, email, and how you appear wherever you work in ClassroomIO." + "page_subtitle": "आपका नाम, ईमेल और ClassroomIO में कहीं भी काम करते समय आप कैसे दिखते हैं।" }, "tabs": { "profile_tab": "प्रोफाइल", @@ -3473,7 +3473,7 @@ "customize_lms_tab": "एलएमएस को अनुकूलित करें", "domains_tab": "डोमेन", "teams_tab": "टीमें", - "ai_credits_tab": "AI Credits", + "ai_credits_tab": "AI क्रेडिट", "ai_tutor_tab": "एआई ट्यूटर", "notifications_tab": "सूचनाएँ" }, @@ -3586,7 +3586,7 @@ "sso": "एसएसओ", "token_auth": "टोकन प्रामाणिक" }, - "page_subtitle": "Control sign-up, login, SSO, and token-based access for this org." + "page_subtitle": "इस संगठन के लिए साइन-अप, लॉगिन, SSO और टोकन-आधारित पहुँच नियंत्रित करें।" }, "token_auth": { "heading": "टोकन प्रामाणिक", @@ -3609,12 +3609,12 @@ "actions_menu": "टोकन प्रमाणीकरण क्रियाएँ" }, "teams": { - "page_subtitle": "Invite teammates and control who helps run this organization." + "page_subtitle": "टीम के सदस्यों को आमंत्रित करें और नियंत्रित करें कि इस संगठन को कौन चलाने में मदद करता है।" }, "ai_credits": { - "sub_title": "AI credits", + "sub_title": "AI क्रेडिट", "page_subtitle": "AI assistant उपयोग, टीम की खपत और AI credit packs खरीदारी को ट्रैक करें।", - "cost_note": "Credit usage is weighted by model cost. Gemini 3.1 Flash Lite counts as 1 credit unit per token. GPT-5.4 Mini and Kimi K2.6 count as 4× per token. Claude Sonnet 4.6 counts as 11× per token, reflecting its higher API cost.", + "cost_note": "क्रेडिट उपयोग मॉडल लागत के अनुसार भारित है। Gemini 3.1 Flash Lite प्रति टोकन 1 क्रेडिट इकाई के रूप में गिना जाता है। GPT-5.4 Mini और Kimi K2.6 प्रति टोकन 4× गिने जाते हैं। Claude Sonnet 4.6 प्रति टोकन 11× गिना जाता है, जो इसकी उच्च API लागत को दर्शाता है।", "included": { "title": "आपका शामिल उपयोग", "subtitle": "आपकी योजना में मासिक AI credits शामिल हैं।", @@ -3629,8 +3629,8 @@ "chart": { "heading": "उपयोग", "subheading": "इस महीने दैनिक AI credits की खपत।", - "tokens": "Credits", - "total_tokens": "Total credits", + "tokens": "क्रेडिट", + "total_tokens": "कुल क्रेडिट", "total_requests": "कुल अनुरोध", "empty": "इस महीने अभी तक कोई उपयोग दर्ज नहीं किया गया है।" }, @@ -3639,14 +3639,14 @@ "this_month": "चालू माह", "user": "उपयोगकर्ता", "favorite_model": "पसंदीदा model", - "tokens": "Credits", + "tokens": "क्रेडिट", "empty": "इस महीने आपकी टीम में किसी ने भी AI assistant का उपयोग नहीं किया है।" }, "buy_tokens": { "title": "और credits खरीदें", "description": "प्रत्येक pack $5 USD में 5,000,000 credits जोड़ता है। चुनें कि आपको कितने packs चाहिए।", - "quantity_hint": "packs", - "preview": "{quantity} pack(s) · {tokens} credits · ${dollars}", + "quantity_hint": "पैक", + "preview": "{quantity} पैक · {tokens} क्रेडिट · ${dollars}", "buy_button": "${dollars} में खरीदें" } }, @@ -3968,7 +3968,7 @@ "common": { "not_available": "एन/ए" }, - "page_subtitle": "Organize courses with labels so filters and lists stay easy to scan." + "page_subtitle": "फ़िल्टर और सूचियों को आसानी से स्कैन करने योग्य रखने के लिए लेबल से पाठ्यक्रम व्यवस्थित करें।" }, "invite": { "organization": { @@ -4022,12 +4022,12 @@ "generate": "MCP कुंजी जनरेट करें", "secret_once": "यह रहस्य एक बार दिखाया गया है। अब इसे अपने MCP क्लाइंट में कॉपी करें।", "modal": { - "title": "Create MCP key", - "description": "Choose a name for this MCP key before it is generated.", - "name_label": "Key name", + "title": "MCP कुंजी बनाएं", + "description": "इस MCP कुंजी को बनाने से पहले इसका नाम चुनें।", + "name_label": "कुंजी का नाम", "name_placeholder": "ClassroomIO OpenCode", - "cancel": "Cancel", - "save": "Create key" + "cancel": "रद्द करें", + "save": "कुंजी बनाएं" } }, "usage": { @@ -4041,31 +4041,31 @@ "rate_limits_description": "प्रति मिनट पढ़ने/लिखने/प्रकाशित करने के अनुरोधों की अनुमति है।", "used_label": "प्रयुक्त:" }, - "page_subtitle": "Connect AI tools to ClassroomIO with org-scoped keys you can rotate anytime." + "page_subtitle": "किसी भी समय घुमाने योग्य संगठन-स्तरीय कुंजियों के साथ AI टूल्स को ClassroomIO से कनेक्ट करें।" }, "api": { - "subtitle": "Manage API keys to integrate with the ClassroomIO public API.", + "subtitle": "ClassroomIO सार्वजनिक API के साथ एकीकृत करने के लिए API कुंजियाँ प्रबंधित करें।", "keys": { - "title": "API keys", - "description": "These keys authenticate the current organization when calling the ClassroomIO public API.", - "generate": "Generate API key", - "secret_once": "This secret is shown once. Copy it and store it securely.", - "empty_title": "No API keys yet", - "empty_description": "Create the first org-scoped API key to use the ClassroomIO public API.", + "title": "API कुंजियाँ", + "description": "ये कुंजियाँ ClassroomIO सार्वजनिक API को कॉल करते समय वर्तमान संगठन को प्रमाणित करती हैं।", + "generate": "API कुंजी बनाएं", + "secret_once": "यह गुप्त कुंजी केवल एक बार दिखाई जाती है। इसे कॉपी करें और सुरक्षित रूप से संग्रहीत करें।", + "empty_title": "अभी तक कोई API कुंजी नहीं", + "empty_description": "ClassroomIO सार्वजनिक API का उपयोग करने के लिए पहली संगठन-स्तरीय API कुंजी बनाएं।", "modal": { - "title": "Create API key", - "description": "Choose a name for this API key before it is generated.", - "name_label": "Key name", - "name_placeholder": "My API integration", - "cancel": "Cancel", - "save": "Create key" + "title": "API कुंजी बनाएं", + "description": "इस API कुंजी को बनाने से पहले इसका नाम चुनें।", + "name_label": "कुंजी का नाम", + "name_placeholder": "मेरा API एकीकरण", + "cancel": "रद्द करें", + "save": "कुंजी बनाएं" } }, "setup": { "title": "त्वरित शुरुआत", "description": "हर अनुरोध पर अपनी API कुंजी को Bearer टोकन के रूप में उपयोग करें। प्लेसहोल्डर को ऊपर की कुंजी से बदलें, या कुंजी बनाने के तुरंत बाद सीक्रेट पेस्ट करें।" }, - "view_docs": "View Docs" + "view_docs": "दस्तावेज़ देखें" }, "keys": { "active": "सक्रिय", @@ -4105,13 +4105,13 @@ "disabled_description": "केवल संगठन व्यवस्थापक ही स्वचालन कुंजियाँ बना सकते हैं, घुमा सकते हैं या निरस्त कर सकते हैं। शिक्षक यहां सेटअप निर्देशों की समीक्षा कर सकते हैं।" }, "zapier": { - "page_subtitle": "Automate ClassroomIO with thousands of apps through Zapier. Coming soon." + "page_subtitle": "Zapier के माध्यम से हज़ारों ऐप्स के साथ ClassroomIO को स्वचालित करें। जल्द आ रहा है।" } }, "ai_assistant": { "empty_state": "मुझसे अपने पाठ्यक्रम की सामग्री में मदद करने के लिए कहें - पाठों का मसौदा तैयार करें, प्रश्न तैयार करें, या किसी दस्तावेज़ से पाठ्यक्रम की योजना बनाएं।", "input_placeholder": "एआई सहायक से पूछें...", - "quote_lesson_note": "Quote in assistant", + "quote_lesson_note": "सहायक में उद्धृत करें", "attach_document": "एक दस्तावेज़ संलग्न करें (पीडीएफ, DOCX, PPTX)", "upgrade_to_upload": "दस्तावेज़ अपलोड करने के लिए अपग्रेड करें", "tokens_exhausted": "मासिक एआई टोकन सीमा पूरी हो गई।", @@ -4132,76 +4132,76 @@ "agent_running_warning": "एजेंट का कार्य पूरा होते ही पाठ्यक्रम में परिवर्तन दिखाई देंगे। पृष्ठ पुनः लोड न करें.", "agent_running_warning_dismiss": "बंद करें", "quick_action": { - "upload_document_course": "Upload a document to create a course", - "draft_lesson": "Draft a lesson", - "generate_questions_from_lesson": "Generate questions from this lesson", - "summarize_lesson": "Summarize this lesson", - "publish_course": "Help me publish this course" + "upload_document_course": "पाठ्यक्रम बनाने के लिए एक दस्तावेज़ अपलोड करें", + "draft_lesson": "एक पाठ का मसौदा तैयार करें", + "generate_questions_from_lesson": "इस पाठ से प्रश्न बनाएं", + "summarize_lesson": "इस पाठ का सारांश बनाएं", + "publish_course": "इस पाठ्यक्रम को प्रकाशित करने में मदद करें" }, - "plan_applying_changes": "Applying changes", - "plan_working": "Working", - "plan_progress": "{completed} / {total} steps completed", - "stop": "Stop", - "copy_full_error": "Copy full error", - "resize_panel_aria_label": "Resize AI assistant panel", - "generic_working": "Working", - "run_failed_after": "{action} did not finish successfully.", + "plan_applying_changes": "परिवर्तन लागू किए जा रहे हैं", + "plan_working": "काम जारी है", + "plan_progress": "{completed} / {total} चरण पूर्ण", + "stop": "रोकें", + "copy_full_error": "पूरी त्रुटि कॉपी करें", + "resize_panel_aria_label": "AI सहायक पैनल का आकार बदलें", + "generic_working": "काम जारी है", + "run_failed_after": "{action} सफलतापूर्वक पूरा नहीं हुआ।", "tool": { "pending": { - "working": "Working", - "unknown_tool": "Running {toolName}", - "get_course_structure": "Reading course structure", - "get_lesson_content": "Reading lesson content", - "get_exercise_details": "Reading exercise", - "create_section": "Creating section", - "update_section": "Updating section", - "create_lesson": "Creating lesson", - "update_lesson": "Updating lesson", - "update_lesson_content": "Writing lesson content", - "create_exercise": "Creating exercise", - "create_exercise_section": "Creating exercise section", - "update_exercise": "Updating exercise", - "update_exercise_section": "Updating exercise section", - "add_questions": "Adding questions", - "update_questions": "Updating questions", - "reorder_content": "Reordering content", - "update_course_landing_page": "Updating landing page", - "check_course_go_live_readiness": "Checking go-live readiness", - "go_live_course": "Publishing course", - "generate_course_plan": "Generating course plan", + "working": "काम जारी है", + "unknown_tool": "{toolName} चलाया जा रहा है", + "get_course_structure": "पाठ्यक्रम संरचना पढ़ी जा रही है", + "get_lesson_content": "पाठ सामग्री पढ़ी जा रही है", + "get_exercise_details": "अभ्यास पढ़ा जा रहा है", + "create_section": "अनुभाग बनाया जा रहा है", + "update_section": "अनुभाग अपडेट किया जा रहा है", + "create_lesson": "पाठ बनाया जा रहा है", + "update_lesson": "पाठ अपडेट किया जा रहा है", + "update_lesson_content": "पाठ सामग्री लिखी जा रही है", + "create_exercise": "अभ्यास बनाया जा रहा है", + "create_exercise_section": "अभ्यास अनुभाग बनाया जा रहा है", + "update_exercise": "अभ्यास अपडेट किया जा रहा है", + "update_exercise_section": "अभ्यास अनुभाग अपडेट किया जा रहा है", + "add_questions": "प्रश्न जोड़े जा रहे हैं", + "update_questions": "प्रश्न अपडेट किए जा रहे हैं", + "reorder_content": "सामग्री का क्रम बदला जा रहा है", + "update_course_landing_page": "लैंडिंग पेज अपडेट किया जा रहा है", + "check_course_go_live_readiness": "लाइव होने की तैयारी जाँची जा रही है", + "go_live_course": "पाठ्यक्रम प्रकाशित किया जा रहा है", + "generate_course_plan": "पाठ्यक्रम योजना बनाई जा रही है", "ask_template_questions": "टेम्प्लेट फॉर्म तैयार किया जा रहा है", "fetch_documentation_url": "दस्तावेज़ पृष्ठ पढ़ना", "fetch_documentation_url_with_url": "पढ़ना {url}" }, "meta": { - "lesson_char_count": "({count, plural, one {# character} other {# characters}})", - "landing_page_preview": "· Preview changes", - "exercise_questions_added": "· {count, plural, one {# question added} other {# questions added}}", - "exercise_questions_updated": "· {count, plural, one {# question updated} other {# questions updated}}" + "lesson_char_count": "({count, plural, one {# अक्षर} other {# अक्षर}})", + "landing_page_preview": "· परिवर्तनों का पूर्वावलोकन", + "exercise_questions_added": "· {count, plural, one {# प्रश्न जोड़ा गया} other {# प्रश्न जोड़े गए}}", + "exercise_questions_updated": "· {count, plural, one {# प्रश्न अपडेट किया गया} other {# प्रश्न अपडेट किए गए}}" }, "done": { - "generic": "Done", - "create_section": "Created section: {title}", - "update_section": "Updated section: {title}", - "create_lesson": "Created lesson: {title}", - "update_lesson": "Updated lesson: {title}", - "update_lesson_content_fallback": "Wrote {count, plural, one {# character} other {# characters}}", - "create_exercise": "Created exercise «{title}» · {count, plural, one {# question} other {# questions}}", - "update_exercise": "Updated exercise: {title}", - "update_exercise_section": "Updated exercise section: {title}", - "add_questions_fallback": "{count, plural, one {Added # question} other {Added # questions}}", - "update_questions_fallback": "{count, plural, one {Updated # question} other {Updated # questions}}", - "create_exercise_section": "Created exercise section: {title}", - "get_course_structure": "Course structure loaded", - "get_lesson_content": "Lesson content loaded", - "get_exercise_details": "Exercise loaded", - "reorder_content": "Content reordered", - "update_course_landing_page": "Updated landing page: {title}", - "check_go_live_ready": "{warningCount, plural, =0{Ready to go live} other{Ready to go live — # warnings}}", - "check_go_live_blocked": "{blockerCount, plural, one{# blocker before go-live} other{# blockers before go-live}}", - "go_live_published": "Published course: {title}", - "go_live_not_published": "Course was not published", - "generate_course_plan": "Course plan generated", + "generic": "पूर्ण", + "create_section": "अनुभाग बनाया गया: {title}", + "update_section": "अनुभाग अपडेट किया गया: {title}", + "create_lesson": "पाठ बनाया गया: {title}", + "update_lesson": "पाठ अपडेट किया गया: {title}", + "update_lesson_content_fallback": "{count, plural, one {# अक्षर लिखा गया} other {# अक्षर लिखे गए}}", + "create_exercise": "अभ्यास «{title}» बनाया गया · {count, plural, one {# प्रश्न} other {# प्रश्न}}", + "update_exercise": "अभ्यास अपडेट किया गया: {title}", + "update_exercise_section": "अभ्यास अनुभाग अपडेट किया गया: {title}", + "add_questions_fallback": "{count, plural, one {# प्रश्न जोड़ा गया} other {# प्रश्न जोड़े गए}}", + "update_questions_fallback": "{count, plural, one {# प्रश्न अपडेट किया गया} other {# प्रश्न अपडेट किए गए}}", + "create_exercise_section": "अभ्यास अनुभाग बनाया गया: {title}", + "get_course_structure": "पाठ्यक्रम संरचना लोड की गई", + "get_lesson_content": "पाठ सामग्री लोड की गई", + "get_exercise_details": "अभ्यास लोड किया गया", + "reorder_content": "सामग्री का क्रम बदला गया", + "update_course_landing_page": "लैंडिंग पेज अपडेट किया गया: {title}", + "check_go_live_ready": "{warningCount, plural, =0{लाइव होने के लिए तैयार} other{लाइव होने के लिए तैयार — # चेतावनियाँ}}", + "check_go_live_blocked": "{blockerCount, plural, one{लाइव होने से पहले # बाधा} other{लाइव होने से पहले # बाधाएँ}}", + "go_live_published": "पाठ्यक्रम प्रकाशित: {title}", + "go_live_not_published": "पाठ्यक्रम प्रकाशित नहीं किया गया", + "generate_course_plan": "पाठ्यक्रम योजना बनाई गई", "ask_template_questions": "टेम्प्लेट फॉर्म तैयार", "fetch_documentation_url": "पढ़ें {url}" } @@ -4223,7 +4223,7 @@ "error_network": "नेटवर्क त्रुटि। अपने कनेक्शन की जांच करें और पुन: प्रयास करें।", "context_usage_tooltip": "{used} / {max} टोकन का उपयोग किया गया", "context_full_title": "प्रसंग विंडो भरी हुई है", - "context_full_description": "The assistant will summarize older messages automatically so you can keep working in this chat.", + "context_full_description": "सहायक पुराने संदेशों का स्वचालित रूप से सारांश बनाएगा ताकि आप इस चैट में काम जारी रख सकें।", "context_full_compact": "संक्षिप्त बातचीत", "context_full_compacting": "संघनन...", "context_full_new_chat": "सारांश के साथ नई चैट प्रारंभ करें", @@ -4513,11 +4513,11 @@ } }, "side_panel": { - "close_aria": "Close panel", - "resize_panel_aria_label": "Resize panel", + "close_aria": "पैनल बंद करें", + "resize_panel_aria_label": "पैनल का आकार बदलें", "titles": { - "ai_assistant": "AI Assistant", - "transcript": "Transcript" + "ai_assistant": "AI सहायक", + "transcript": "ट्रांसक्रिप्ट" } }, "compliance": { diff --git a/apps/dashboard/src/lib/utils/translations/pl.json b/apps/dashboard/src/lib/utils/translations/pl.json index e43fa495..db105b75 100644 --- a/apps/dashboard/src/lib/utils/translations/pl.json +++ b/apps/dashboard/src/lib/utils/translations/pl.json @@ -545,14 +545,14 @@ "lessons_completed": "Lekcje ukończone", "exercises_submitted": "Ćwiczenia przesłane", "average_grade": "Średnia ocena", - "actions": "Działania", + "actions": "Akcje", "view_details": "Zobacz szczegóły", "no_students_found": "Nie znaleziono żadnych uczniów", "no_students_description": "Na ten kurs nie jest jeszcze zapisany żaden student. Uczestnicy pojawią się tutaj po dołączeniu do kursu.", "showing_students": "Wyświetlanie od {start} do {end} z {total} uczniów", "no_analytics_data": "Brak danych analitycznych", "no_analytics_description": "Nie można załadować danych analitycznych dla tego kursu. Spróbuj ponownie później lub skontaktuj się z pomocą techniczną, jeśli problem będzie się powtarzał.", - "student": "Studenta", + "student": "Uczeń", "student_progress_distribution": "Dystrybucja postępów uczniów", "grade_distribution": "Dystrybucja ocen", "progress_80_plus": "Postęp 80%+", @@ -577,7 +577,7 @@ "description": "Zapisy pogrupowane według typu kursu", "subtitle": "Liczba rejestracji wszystkich typów: {total}", "empty": "Nie ma jeszcze danych zapisów", - "course_count": "{count, plural, one {# course} other {# courses}}", + "course_count": "{count, plural, one {# kurs} other {# kursów}}", "views_short": "widoki", "types": { "SELF_PACED": "We własnym tempie", @@ -635,8 +635,8 @@ "progress_distribution_card_description": "Ilu uczniów mieści się w każdym przedziale ukończenia.", "grade_distribution_card_description": "Ilu uczniów należy do każdego przedziału ocen.", "students_table_description": "Sortowalny przegląd z linkami do profili studentów.", - "kpi_team_tutors": "{count, plural, one {# tutor on the course team} other {# tutors on the course team}}", - "kpi_lessons_exercises": "{count, plural, one {# exercise} other {# exercises}} przypisane do lekcji", + "kpi_team_tutors": "{count, plural, one {# korepetytor w zespole kursu} other {# korepetytorów w zespole kursu}}", + "kpi_lessons_exercises": "{count, plural, one {# ćwiczenie} other {# ćwiczeń}} przypisane do lekcji", "kpi_progress_grade": "{grade}% średniej oceny z ćwiczeń wśród zapisanych uczniów" } }, @@ -645,13 +645,13 @@ "export": "Eksportuj", "no_audience": "Brak odbiorców do zarządzania", "manage": "Zarządzaj tutaj wszystkimi swoimi uczniami i pozostań z nimi w kontakcie", - "name": "Imię", + "name": "Nazwa", "email": "E-mail", "date_joined": "Data dołączenia", "upgrade": "Uaktualnij swój plan, aby zaprosić więcej uczniów", "import_users": "Importuj użytkowników", "search_placeholder": "Szukaj…", - "status": "Stan", + "status": "Status", "status_active": "Aktywny", "status_pending": "Oczekujące", "status_expired": "Wygasło", @@ -702,10 +702,10 @@ "select_cohorts": "Wybierz konkretne kohorty", "select_cohorts_placeholder": "Wybierz kohorty..." }, - "page_subtitle": "See who belongs to your org, who is learning, who is invited, and how to reach them.", + "page_subtitle": "Zobacz, kto należy do Twojej organizacji, kto się uczy, kto jest zaproszony i jak się z nimi skontaktować.", "user_analytics": { "title": "Profil studenta", - "page_subtitle": "Progress, grades, and activity across their courses." + "page_subtitle": "Postępy, oceny i aktywność w ich kursach." }, "delete": { "action": "Usuń", @@ -748,11 +748,11 @@ "cancel": "Anuluj", "give": "Podaj odpowiedź", "comment": "Komentarz", - "page_subtitle": "Start a thread the whole community can see, and tie it to a course if you want." + "page_subtitle": "Rozpocznij wątek widoczny dla całej społeczności i powiąż go z kursem, jeśli chcesz." }, - "page_subtitle": "Questions and answers shared across your organization's courses.", + "page_subtitle": "Pytania i odpowiedzi udostępniane w kursach Twojej organizacji.", "question": { - "page_subtitle": "Follow answers, vote, and join the discussion." + "page_subtitle": "Śledź odpowiedzi, głosuj i dołącz do dyskusji." } }, "course": { @@ -834,7 +834,7 @@ "button_label": "Etykieta przycisku", "button_label_placeholder": "Przeczytaj więcej na mojej stronie", "button_url_label": "Adres URL przycisku", - "button_url_placeholder": "https://przyklad.com", + "button_url_placeholder": "https://example.com", "clear": "Wyczyść objaśnienie", "public_only": "Objaśnienia pojawiają się tylko na kursach publicznych.", "animation_label": "Animacja tła", @@ -876,7 +876,7 @@ "video": "wideo", "reviews": "Recenzje", "see_all": "Zobacz wszystko", - "header_video": "Film nagłówkowy", + "header_video": "Wideo w nagłówku", "no_course_published": "Nie opublikowano żadnego kursu", "coming_your_way": "Szykujemy dla Ciebie świetne kursy, bądź na bieżąco!!!", "view_less": "Zobacz Mniej", @@ -1073,7 +1073,7 @@ "print": "Wydrukuj", "export_hint": "Eksporty używają Twojego imienia i nazwiska jako odbiorcy, dzięki czemu możesz wyświetlić podgląd ostatecznego układu.", "preview_failed": "Nie można wygenerować podglądu certyfikatu", - "sample_recipient": "Eleonora Vance", + "sample_recipient": "Eleanor Vance", "sample_course": "Certyfikat doskonałości", "sample_description": "W uznaniu wybitnych osiągnięć i wzorowego poświęcenia rzemiosłu.", "sample_org": "Królewska Akademia Sztuk", @@ -1098,7 +1098,7 @@ "search": "Szukaj ludzi", "you": "Ty", "pending": "Oczekujące", - "name": "Imię", + "name": "Nazwa", "role": "Rola", "action": "Akcja", "feedback": "Skopiowano wiadomość e-mail do schowka", @@ -1130,7 +1130,7 @@ "roles": { "admin": "Administrator", "tutor": "Korepetytor", - "student": "Studenta", + "student": "Uczeń", "filter": "Filtruj" }, "delete_confirmation": { @@ -1190,23 +1190,23 @@ "recipient_emails_placeholder": "student1@example.com, student2@example.com", "send_invite_emails": "Natychmiast wysyłaj e-maile z zaproszeniami", "create_email_invites": "Utwórz zaproszenia e-mailowe", - "existing_students_title": "Add existing org students", + "existing_students_title": "Dodaj istniejących uczniów organizacji", "existing_students_description": "Wybierz uczniów już należących do tej organizacji i przyznaj im bezpośredni dostęp do tego kursu.", - "existing_students_search": "Search organization students", - "loading_existing_students": "Loading organization students...", - "no_existing_students": "No organization students are available to add.", - "no_matching_existing_students": "No organization students match your search.", - "notify_existing_students": "Send course access email", - "grant_access": "Grant Access", + "existing_students_search": "Szukaj uczniów organizacji", + "loading_existing_students": "Ładowanie uczniów organizacji...", + "no_existing_students": "Brak uczniów organizacji do dodania.", + "no_matching_existing_students": "Żaden uczeń organizacji nie pasuje do wyszukiwania.", + "notify_existing_students": "Wyślij e-mail o dostępie do kursu", + "grant_access": "Przyznaj dostęp", "grant_access_modal": { "title": "Udostępnij dostęp studentowi", "description": "Przyznaj {email} dostęp do tego kursu. Wyślemy zaproszenie e-mailem, aby dołączył do Twojej organizacji i zapisał się na ten kurs.", "cancel": "Anuluj", "send_invite": "Wyślij zaproszenie" }, - "invite_new_students_title": "Invite new students", - "invite_new_students_description": "Invite new people into your organization and pre-assign them to this course. They will create an account, accept the invite, and get access.", - "invite_new_students": "Invite Students", + "invite_new_students_title": "Zaproś nowych uczniów", + "invite_new_students_description": "Zaproś nowe osoby do organizacji i wstępnie przypisz je do tego kursu. Utworzą konto, zaakceptują zaproszenie i uzyskają dostęp.", + "invite_new_students": "Zaproś uczniów", "existing_invites": "Istniejące zaproszenia", "refresh": "Odśwież", "loading_invites": "Ładowanie zaproszeń...", @@ -1228,7 +1228,7 @@ "audit_email": "E-mail", "audit_actor": "Aktor", "audit_ip": "IP", - "scan_qr": "Zeskanuj kod QR", + "scan_qr": "Skanuj QR", "classroomio_brand": "ClassroomIO.com", "snackbar_invite_link_copied": "Link zaproszenia został skopiowany", "snackbar_invite_link_regenerated": "Wygenerowano nowy link z zaproszeniem", @@ -1240,7 +1240,7 @@ "snackbar_failed_load_audit": "Nie udało się wczytać audytu zaproszeń", "snackbar_metadata_copied": "Zaproś skopiowane metadane", "snackbar_email_invites_success": "Utworzono zaproszenia ({count}). Wysłano {sent}, nie udało się {failed}. Pominięte duplikaty: {duplicates}.", - "select_at_least_one_student": "Select at least one existing student", + "select_at_least_one_student": "Wybierz co najmniej jednego istniejącego ucznia", "presets": { "one_time_24h": "Jednorazowo (24h)", "multi_use_7d": "Wielokrotnego użytku (7 dni)", @@ -1252,8 +1252,8 @@ }, "marks": { "title": "Znaki", - "student": "Studenta", - "total": "Razem", + "student": "Uczeń", + "total": "Suma", "no_student": "Nie dodano żadnego ucznia", "export": { "csv": "Eksportuj jako CSV", @@ -1268,8 +1268,8 @@ "early": "Wcześnie", "late": "Późno", "total_grade": "Całkowita ocena", - "student": "Studenta", - "status": "Stan", + "student": "Uczeń", + "status": "Status", "add_comment": "Dodaj komentarz", "add_comment_placeholder": "Zostaw komentarz", "grade_with_ai": "Oceniaj za pomocą sztucznej inteligencji", @@ -1285,7 +1285,7 @@ "delete_prompt": "Usuń", "delete_error": "Nie udało się usunąć przesłanego zgłoszenia", "delete_success": "Pomyślnie usunięto zgłoszenie", - "student_avatar": "Awatar studenta", + "student_avatar": "Awatar ucznia", "ai_icon": "sztuczna inteligencja" }, "submission_status": { @@ -1304,7 +1304,7 @@ "present": "Obecny", "absent": "Nieobecny", "search_students": "Szukaj studentów", - "student": "Studenta", + "student": "Uczeń", "lesson": "Lekcja", "no_student": "Nie dodano żadnego ucznia" }, @@ -1348,7 +1348,7 @@ "incomplete": "Niekompletny", "complete": "Kompletny", "next": "Następny", - "prev": "Poprzednia", + "prev": "Poprz.", "prev_shortcut": "Poprzedni (←)", "next_shortcut": "Następny (→)", "disabled": "Funkcja jest wyłączona", @@ -1361,7 +1361,7 @@ "poll": { "voted": "Zagłosowano", "created_by": "Stworzony przez", - "status": "Stan", + "status": "Status", "draft": "Wersja robocza", "publish": "Publikuj", "expiration": "Wygaśnięcie", @@ -1435,14 +1435,14 @@ "check": "Sprawdź", "auto_graded_badge": "Ocena automatyczna", "manual_grading_required_badge": "Wymagana ocena ręczna", - "points_required_auto_grade": "Points must be greater than 0 for auto-graded exercises.", + "points_required_auto_grade": "Punkty muszą być większe niż 0 dla ćwiczeń ocenianych automatycznie.", "analytics": { "submissions": "Zgłoszenia", "individual": { - "heading": "Indywidualny", + "heading": "Indywidualnie", "answers": "Indywidualne odpowiedzi", "no": "Nie udzielono żadnej odpowiedzi", - "student_avatar": "Studenta", + "student_avatar": "Uczeń", "answers_for": "Odpowiedzi: {name}", "attempts_count": "{count} próby", "attempt_label": "Próba {number}", @@ -1476,7 +1476,7 @@ "all": "Wszystko wymagane", "due": "Termin do", "no_description": "Brak opisu", - "start": "Zacznij", + "start": "Rozpocznij", "graded": "Ocenione", "pending": "Oczekujące", "submitted": "Przesłane", @@ -1531,9 +1531,9 @@ }, "select_type": "Wybierz typ", "question_type_auto_gradable": "Auto", - "question_type_auto_gradable_description": "Scored automatically by the system", - "question_type_manual_grading": "Manual", - "question_type_manual_grading_description": "Requires human review to score", + "question_type_auto_gradable_description": "Oceniane automatycznie przez system", + "question_type_manual_grading": "Ręcznie", + "question_type_manual_grading_description": "Wymaga oceny przez człowieka", "premium_question_type": "Uaktualnij, aby używać tego typu pytań" }, "delete_confirmation": { @@ -1554,16 +1554,16 @@ "textarea": { "take": { "placeholder": "Napisz swoją odpowiedź", - "min_error": "Answer must be at least {min} characters.", - "max_error": "Answer must be at most {max} characters.", - "range_error": "Answer must be between {min} and {max} characters." + "min_error": "Odpowiedź musi mieć co najmniej {min} znaków.", + "max_error": "Odpowiedź może mieć maksymalnie {max} znaków.", + "range_error": "Odpowiedź musi mieć od {min} do {max} znaków." }, "edit": { "placeholder": "Uczniowie będą odpowiadać za pomocą długiego tekstu", - "min_characters_label": "Minimum characters", - "min_characters_placeholder": "Minimum characters", - "max_characters_label": "Maximum characters", - "max_characters_placeholder": "Maximum characters" + "min_characters_label": "Minimalna liczba znaków", + "min_characters_placeholder": "Minimalna liczba znaków", + "max_characters_label": "Maksymalna liczba znaków", + "max_characters_placeholder": "Maksymalna liczba znaków" } }, "hotspot": { @@ -1611,7 +1611,7 @@ "link": { "preview": { "empty": "Nie przesłano żadnych linków.", - "item_label": "Link „{'index'}'" + "item_label": "Link '{'index'}'" }, "take": { "helper": "Dodaj jeden lub więcej linków. Akceptowane są tylko prawidłowe adresy URL http/https.", @@ -1779,7 +1779,7 @@ "template_helper": "Użyj trzech podkreśleń (___) dla każdego spacji. Uczniowie zobaczą bank słów z poprawnymi odpowiedziami i elementami rozpraszającymi.", "no_blanks_warning": "Dodaj co najmniej jeden ___ pusty znacznik do swojego szablonu.", "correct_answers_heading": "Prawidłowa odpowiedź w każdą lukę", - "blank_label": "Puste", + "blank_label": "Luka", "correct_placeholder": "Prawidłowy termin lub fraza", "distractors_heading": "Dodatkowe słowa (rozpraszacze)", "distractor_placeholder": "Zła opcja", @@ -1830,7 +1830,7 @@ "stop_recording": "Zatrzymaj nagrywanie", "elapsed": "Upłynął", "remaining": "Pozostało", - "max_duration": "Maks", + "max_duration": "Maks.", "too_short": "Nagrywaj przez co najmniej 1 sekundę.", "use_recording": "Skorzystaj z nagrania", "retake": "Powtórz", @@ -1874,7 +1874,7 @@ "collapse_section": "Zwiń sekcję", "expand_section": "Rozwiń sekcję" }, - "more": "Działania", + "more": "Akcje", "settings_completion_policy": "Zasada uzupełnienia", "settings_completion_submitted": "Przesłane — liczy się każde przesłanie", "settings_completion_passed": "Zaliczony — wymagany minimalny wynik", @@ -1981,7 +1981,7 @@ "upload_error": "Nie udało się przesłać dokumentu", "file_type_error": "Typ pliku nie jest obsługiwany. Prześlij pliki PDF, DOCX lub DOC.", "file_size_error": "Rozmiar pliku jest zbyt duży. Maksymalny rozmiar to {size}.", - "type": "Wpisz", + "type": "Typ", "size": "Rozmiar", "upload_error_title": "Błąd przesyłania", "upload_error_message": "Nieobsługiwany format pliku lub przesyłanie nie powiodło się", @@ -2036,7 +2036,7 @@ "add_from_library": "Dodaj z biblioteki", "cancel_upload": "Anuluj przesyłanie", "upload_cancelled": "Przesyłanie anulowane przez użytkownika", - "max_files": "{count, plural, one {You can upload # file} other {You can upload # files}}", + "max_files": "{count, plural, one {Możesz przesłać # plik} other {Możesz przesłać # plików}}", "max_files_and_size": "(do {size} każdy)", "google_drive_choose": "Wybierz z Dysku Google", "google_drive_opening": "Otwieram selektor…", @@ -2057,15 +2057,15 @@ }, "empty_title": "Nie ma jeszcze filmów", "empty_description": "Dodaj filmy z YouTube, prześlij lub ze swojej biblioteki multimediów", - "google_drive": "Dysk Google", - "generate_transcript": "Generate transcription", - "generate_transcript_in_progress": "Transcribing…", + "google_drive": "Google Drive", + "generate_transcript": "Wygeneruj transkrypcję", + "generate_transcript_in_progress": "Transkrypcja…", "transcript": { - "title": "Transcript", - "captions_label": "Captions", - "language": "Language: {language}", - "empty": "No transcript yet. You can generate one from this card’s menu after the video is uploaded.", - "loading": "Loading transcript…", + "title": "Transkrypcja", + "captions_label": "Napisy", + "language": "Język: {language}", + "empty": "Brak transkrypcji. Możesz ją wygenerować z menu tej karty po przesłaniu wideo.", + "loading": "Ładowanie transkrypcji…", "open_side_panel": "Otwórz panel transkrypcji", "edit": "Edytuj transkrypcję", "save": "Zapisz", @@ -2078,7 +2078,7 @@ "simple_card": { "kind_youtube": "YouTube", "kind_upload": "Prześlij", - "kind_google_drive": "Dysk Google", + "kind_google_drive": "Google Drive", "kind_generic": "Wbudowany", "course_fallback": "Kurs", "menu_aria": "Opcje wideo", @@ -2096,7 +2096,7 @@ "playback_auth_action": "Zalogować się" }, "slide": { - "title": "Przesuń", + "title": "Slajd", "slide_link": "Link do slajdu", "helper_message": "Możesz osadzić Prezentacje Google lub Prezentację Canva" }, @@ -2220,7 +2220,7 @@ "add_to_calendar": "Dodaj do kalendarza", "add_google": "Kalendarz Google", "add_outlook": "Outlook.com", - "add_office365": "Biuro 365", + "add_office365": "Office 365", "add_yahoo": "Kalendarz Yahoo", "add_apple": "Kalendarz Apple (.ics)", "starts_in": "Zaczyna się w", @@ -2306,9 +2306,9 @@ "waived": "Zrzeczenie się" }, "fields": { - "learner": "Studenta", + "learner": "Uczeń", "email": "E-mail", - "status": "Stan", + "status": "Status", "cycle": "Cykl", "due_date": "Termin", "completed_at": "Zakończono o godz", @@ -2355,8 +2355,8 @@ "empty": "Nie znaleziono żadnych wyników" }, "header": { - "preview": "Preview course", - "preview_missing_slug": "Generate and save a course slug before previewing.", + "preview": "Podgląd kursu", + "preview_missing_slug": "Wygeneruj i zapisz slug kursu przed podglądem.", "view_as_student": "Wyświetl jako student", "view_course_site": "Zobacz stronę kursu" }, @@ -2547,7 +2547,7 @@ "lessons": "Lekcje", "students": "Studenci", "published": "Opublikowano", - "type": "Wpisz", + "type": "Typ", "tags": "Tagi" }, "context_menu": { @@ -2565,12 +2565,12 @@ "valid_until": "Ważne do" }, "course_filter": { - "date_created_newest": "Date Created: Newest first", - "date_created_oldest": "Date Created: Oldest first", - "published_first": "Published: Published first", - "unpublished_first": "Published: Unpublished first", - "most_lessons": "Lessons: Most first", - "fewest_lessons": "Lessons: Fewest first", + "date_created_newest": "Data utworzenia: od najnowszych", + "date_created_oldest": "Data utworzenia: od najstarszych", + "published_first": "Publikacja: opublikowane najpierw", + "unpublished_first": "Publikacja: nieopublikowane najpierw", + "most_lessons": "Lekcje: od największej liczby", + "fewest_lessons": "Lekcje: od najmniejszej liczby", "date_created": "Data utworzenia", "published": "Opublikowano", "lessons": "Lekcje" @@ -2582,12 +2582,12 @@ "popover_title": "Filtry", "sort": "Sortuj", "order": "Kolejność", - "ascending": "Asc", - "descending": "Desc", + "ascending": "Rosnąco", + "descending": "Malejąco", "tags": "Tagi", "empty_tags": "Brak dostępnych tagów" }, - "page_subtitle": "Where lessons turn into courses and courses turn into enrollments." + "page_subtitle": "Gdzie lekcje stają się kursami, a kursy — zapisami." }, "ai": { "help_me": "Pomóż mi pisać", @@ -2614,20 +2614,20 @@ "lms_dashboard_hero": "Dziś jest kolejny dzień, który przybliży Cię do Twoich celów edukacyjnych. Nie poddawaj się, im więcej się uczysz, tym jesteś lepszy.", "lessons_completed": "Lekcje zakończone", "no_courses_started": "Żadne kursy nie zostały rozpoczęte", - "certificates_earned": "Certificates issued", - "certificates_earned_description": "Total certificates issued to students in your organization", + "certificates_earned": "Wydane certyfikaty", + "certificates_earned_description": "Łączna liczba certyfikatów wydanych uczniom w Twojej organizacji", "certification_rate": "Certyfikowani", - "recent_certifications": "Recent certifications", - "no_certifications_yet": "No certificates earned yet", - "no_certifications_yet_description": "When students complete a course and earn a certificate, they will appear here", - "view_courses": "View courses", + "recent_certifications": "Ostatnie certyfikaty", + "no_certifications_yet": "Brak zdobytych certyfikatów", + "no_certifications_yet_description": "Gdy uczniowie ukończą kurs i zdobędą certyfikat, pojawią się tutaj", + "view_courses": "Zobacz kursy", "no_of_courses": "Liczba kursów", "no_courses_description": "Kursy stworzone w ramach tej organizacji", "total_students": "Razem studenci", "total_students_description": "Na podstawie zapisów studentów", "top_courses": "Najlepsze kursy", "students": "studenci", - "student": "student", + "student": "uczeń", "completion": "ukończenie", "create_first_course": "Stwórz swój pierwszy kurs", "create_first_course_description": "Rozpocznij tworzenie kursów, aby śledzić postępy w kursach", @@ -2637,7 +2637,7 @@ "publish_course": "Publikuj kurs", "items_completed": "Elementy ukończone", "currently_learning": "Aktualnie się uczę", - "learner": "Studenta", + "learner": "Uczeń", "progress": "Postęp", "pick_up_where_you_left_off": "Rozpocznij od miejsca, w którym skończyłeś", "get_your_certificate": "Odbierz swój certyfikat", @@ -2652,7 +2652,7 @@ "compliance_score_empty": "Nie przydzielono jeszcze żadnych kursów z zakresu zgodności", "compliance_met": "Osiągnięto {completed} z {total}", "required_courses_completed": "Ukończono {completed} z {total} wymaganych kursów", - "streak": "Smuga", + "streak": "Seria", "days_active": "dni aktywne", "items_done": "Wykonano {completed} z {total}", "login_activity_title": "Aktywność logowania ucznia", @@ -2685,11 +2685,11 @@ }, "course": { "title": "Kurs", - "newsfeed": "Kanał informacyjny", + "newsfeed": "Aktualności", "grading": "Ocenianie" }, "dashboard": { - "title": "Pulpit nawigacyjny", + "title": "Panel", "community": "Społeczność", "exercises": "Ćwiczenia", "banner_image": "Obraz banera", @@ -2709,7 +2709,7 @@ "domains": { "title": "Domena niestandardowa", "add": "Dodaj", - "url": "Adres URL", + "url": "URL", "update": "Zaktualizuj domenę", "custom": "Domena niestandardowa", "domain": "Dodaj własną nazwę domeny", @@ -2719,9 +2719,9 @@ "custom_domain_not_classroomio": "Domena nie może zawierać „classroomio”", "custom_domain_success": "Domena niestandardowa została pomyślnie dodana", "dns_description": "Aby kontynuować, ustaw następujący rekord u swojego dostawcy DNS:", - "dns_type": "Wpisz", + "dns_type": "Typ", "dns_value": "Wartość", - "dns_name": "Imię", + "dns_name": "Nazwa", "refresh": "Odśwież", "remove": "Usuń", "custom_favicon": "Niestandardowa favikona", @@ -2792,7 +2792,7 @@ "courses": "Kursy", "home": "Dom", "classroomio_home": "Strona główna ClassroomIO", - "dashboard": "Pulpit nawigacyjny", + "dashboard": "Panel", "discussion": "Dyskusja", "people": "Ludzie", "goto_lms": "Przejdź do LMS-a", @@ -2869,7 +2869,7 @@ "plan_names": { "free": "Bezpłatny", "early": "Wczesny nabywca", - "enterprise": "Przedsiębiorstwo" + "enterprise": "Enterprise" } }, "org_navigation": { @@ -2877,7 +2877,7 @@ "home": "Strona główna", "content": "Treść", "people": "Ludzie", - "dashboard": "Pulpit nawigacyjny", + "dashboard": "Panel", "courses": "Kursy", "community": "Społeczność", "audience": "Publiczność", @@ -2900,7 +2900,7 @@ "upgrade_left": "Pozostało {count}" }, "media_manager": { - "page_title": "Menedżer multimediów - ClassroomIO", + "page_title": "Menedżer mediów - ClassroomIO", "heading": "Menedżer multimediów", "empty": "Nie znaleziono żadnych zasobów", "usage": { @@ -2912,7 +2912,7 @@ "table": { "target_type": "Typ celu", "target_id": "Identyfikator celu", - "slot": "Gniazdo", + "slot": "Slot", "position": "Pozycja", "added": "Dodano" }, @@ -2941,7 +2941,7 @@ "thumbnail_drop_size": "Do 5MB", "thumbnail_preview": "Podgląd miniatur", "thumbnail_alt": "Miniatura zasobu", - "status": "Stan" + "status": "Status" }, "edit": { "title": "Edytuj zasób", @@ -2963,12 +2963,12 @@ }, "table": { "title": "Tytuł", - "kind": "Wpisz", + "kind": "Typ", "provider": "Dostawca", - "status": "Stan", + "status": "Status", "size": "Rozmiar", "updated_at": "Zaktualizowano", - "actions": "Działania" + "actions": "Akcje" }, "status": { "active": "Aktywny", @@ -2979,13 +2979,13 @@ "youtube": "YouTube", "generic": "Ogólne", "external_url": "Zewnętrzny adres URL", - "google_drive": "Dysk Google" + "google_drive": "Google Drive" }, "kind": { "video": "Wideo", "document": "Dokument", "image": "Obraz", - "audio": "Dźwięk", + "audio": "Audio", "other": "Inne" }, "filters": { @@ -3001,7 +3001,7 @@ "video": "Wideo", "document": "Dokument", "image": "Obraz", - "audio": "Dźwięk", + "audio": "Audio", "other": "Inne" }, "refresh": "Odświeżać" @@ -3013,16 +3013,16 @@ "bytes_by_kind": "Przechowywanie według typu zasobu" }, "common": { - "not_available": "Nie dotyczy" + "not_available": "N/D" }, "empty_description": "Zasób nie istnieje lub nie jest dostępny w tej organizacji.", - "page_subtitle": "Keep files, videos, and links for your courses in one library.", + "page_subtitle": "Przechowuj pliki, wideo i linki do kursów w jednej bibliotece.", "thumbnails": { "manage_title": "Zarządzaj miniaturami", "manage_description": "Obejrzyj podgląd wideo, wybierz jedną z automatycznie wygenerowanych klatek lub prześlij własną.", "preview_unavailable": "Podgląd niedostępny", "generated": "Wygenerowane miniatury", - "slot_start": "Zacznij", + "slot_start": "Początek", "slot_middle": "Środek", "slot_end": "Koniec", "none_generated_warning": "Nie wygenerowano jeszcze żadnych miniatur. Spróbuj zregenerować lub prześlij niestandardowy obraz.", @@ -3052,7 +3052,7 @@ "provider": "Używamy Polar do zarządzania Twoimi rozliczeniami", "open_billing": "Otwórz rozliczenia", "error": "Wystąpił błąd podczas otwierania rozliczeń", - "page_subtitle": "Your plan, billing portal, and how you pay for ClassroomIO.", + "page_subtitle": "Twój plan, portal rozliczeniowy i sposób płatności za ClassroomIO.", "ai_credits": "AI credits", "ai_tokens_used": "AI credits wykorzystane w tym miesiącu", "ai_bonus_credits": "dostępne bonusowe AI credits" @@ -3066,7 +3066,7 @@ "connect_button": "Połącz", "success_message": "Integracja udana", "disconnect": "Rozłącz", - "page_subtitle": "Connect Telegram to get notified when important things happen." + "page_subtitle": "Połącz Telegram, aby otrzymywać powiadomienia o ważnych zdarzeniach." }, "landing_page": { "heading": "Strona docelowa", @@ -3082,7 +3082,7 @@ "show_links": "Pokaż linki", "description": "Dodaj niestandardowe linki nawigacyjne, które będą wyświetlane na pasku nawigacyjnym nagłówka.", "label": "Etykieta", - "url": "Adres URL", + "url": "URL", "label_placeholder": "np. O nas", "url_placeholder": "np. #o-nas lub https://example.com", "new_tab": "Otwórz w nowej karcie", @@ -3094,8 +3094,8 @@ "heading": "Stopka", "show_section": "Pokaż sekcję", "hide_section": "Ukryj sekcję", - "facebook": "Facebooku", - "twitter": "Twitterze", + "facebook": "Facebook", + "twitter": "Twitter", "linkedin": "LinkedIn" }, "mailing_list": { @@ -3144,7 +3144,7 @@ "select_image": "Wybierz Obraz" }, "actions": { - "heading": "Działania", + "heading": "Akcje", "label": "Etykieta", "link": "Link", "no_redirect": "Brak przekierowania", @@ -3162,7 +3162,7 @@ "show_background": "Pokaż tło", "hide_background": "Ukryj tło" }, - "page_subtitle": "Shape the marketing page people see before they sign up or enroll.", + "page_subtitle": "Kształtuj stronę marketingową, którą ludzie widzą przed rejestracją lub zapisem.", "editor": { "save": "Zapisz", "close": "Zamknij", @@ -3171,22 +3171,22 @@ "text": "Tekst stopki", "add": "Dodaj link do stopki", "default_label": "Nowe łącze", - "link_label": "Etykieta łącza", - "link_href": "Adres URL linku", + "link_label": "Etykieta linku", + "link_href": "URL linku", "remove": "Usuń link ze stopki", "brand": { - "legend": "Brand", - "description": "Your organization logo and name always appear here (from organization settings). Add optional details below.", - "preview_label": "Footer brand preview", - "tagline": "Tagline", - "tagline_placeholder": "Small line under your brand", - "copyright": "Copyright", - "copyright_placeholder": "© 2026 Your Organization", - "social_label": "Social links", - "platform_field": "Platform", - "url_label": "Profile URL", - "add_social": "Add social link", - "remove_social": "Remove social link", + "legend": "Marka", + "description": "Logo i nazwa organizacji zawsze pojawiają się tutaj (z ustawień organizacji). Dodaj opcjonalne szczegóły poniżej.", + "preview_label": "Podgląd marki w stopce", + "tagline": "Slogan", + "tagline_placeholder": "Krótka linia pod Twoją marką", + "copyright": "Prawa autorskie", + "copyright_placeholder": "© 2026 Twoja organizacja", + "social_label": "Linki społecznościowe", + "platform_field": "Platforma", + "url_label": "URL profilu", + "add_social": "Dodaj link społecznościowy", + "remove_social": "Usuń link społecznościowy", "platforms": { "instagram": "Instagram", "x": "X", @@ -3195,29 +3195,29 @@ "youtube": "YouTube", "github": "GitHub", "tiktok": "TikTok", - "website": "Website" + "website": "Strona internetowa" } }, "columns": { - "legend": "Link columns", - "description": "Add grouped links (like Company or Resources). Enables a multi-column footer layout.", - "empty_hint": "No columns yet — add one to show a multi-column footer beside your brand.", - "add": "Add column", - "remove": "Remove column", - "heading_label": "Column heading", - "heading_placeholder": "e.g. Company", - "add_link": "Add link", - "remove_link": "Remove link", - "links_max_reached": "Up to 10 links per column", - "cta_toggle": "Add CTA link", - "cta_label": "CTA label", - "cta_href": "CTA URL", - "cta_default_label": "Explore more", - "max_reached": "Up to 6 columns" + "legend": "Kolumny linków", + "description": "Dodaj pogrupowane linki (np. Firma lub Zasoby). Włącza układ stopki z wieloma kolumnami.", + "empty_hint": "Brak kolumn — dodaj jedną, aby wyświetlić wielokolumnową stopkę obok marki.", + "add": "Dodaj kolumnę", + "remove": "Usuń kolumnę", + "heading_label": "Nagłówek kolumny", + "heading_placeholder": "np. Firma", + "add_link": "Dodaj link", + "remove_link": "Usuń link", + "links_max_reached": "Do 10 linków na kolumnę", + "cta_toggle": "Dodaj link CTA", + "cta_label": "Etykieta CTA", + "cta_href": "URL CTA", + "cta_default_label": "Odkryj więcej", + "max_reached": "Do 6 kolumn" }, "bottom": { - "legend": "Bottom row", - "add_link": "Add bottom link" + "legend": "Dolny wiersz", + "add_link": "Dodaj link w dolnym wierszu" } }, "embed": { @@ -3248,8 +3248,8 @@ "navigation": { "add": "Dodaj łącze nawigacyjne", "default_label": "Nowe łącze", - "link_label": "Etykieta łącza", - "link_href": "Adres URL linku", + "link_label": "Etykieta linku", + "link_href": "URL linku", "remove": "Usuń link nawigacyjny" }, "hero": { @@ -3271,7 +3271,7 @@ "label_field": "Etykieta", "value_field": "Wartość", "label_placeholder": "Aktywni studenci", - "value_placeholder": "1200" + "value_placeholder": "1,200" } }, "sections": { @@ -3284,7 +3284,7 @@ "embed": "Osadź", "embed_desc": "Opcjonalna sekcja iframe pokazywana po kursach.", "footer": "Stopka", - "footer_desc": "Brand line, socials, multi-column links, and bottom legal row.", + "footer_desc": "Linia marki, media społecznościowe, wielokolumnowe linki i dolny wiersz prawny.", "links": "Linki", "links_desc": "Opcjonalny blok linków zewnętrznych (centrum pomocy, społeczność, webinaria) wyświetlanych po kursach." }, @@ -3306,7 +3306,7 @@ "card_placeholder_community": "Społeczność", "card_description": "Opis karty", "card_description_placeholder": "np. Przeglądaj przewodniki i często zadawane pytania", - "card_href": "Adres URL linku", + "card_href": "URL linku", "card_href_placeholder": "https://...", "card_icon": "Ikona", "add_card": "Dodaj kartę łącza", @@ -3344,7 +3344,7 @@ "description": "Wysoki kontrast, redakcyjny i uderzający" }, "minimal": { - "title": "Minimalne", + "title": "Minimalistyczny", "description": "Czyste, jasne i skupione na kursie" }, "terminal": { @@ -3360,7 +3360,7 @@ "description": "Granice linii włosów, gradientowy blask bohatera, polerowanie produktu" }, "tech": { - "title": "Tech", + "title": "Technologiczny", "description": "Odważny zespół marki, nawigacja jednoprzestrzenna, atmosfera akademii inżynieryjnej" }, "saas": { @@ -3393,7 +3393,7 @@ "field_theme": "Temat", "field_hero": "Nagłówek bohatera", "field_nav": "Nawigacja", - "field_nav_count_one": "{count} linków", + "field_nav_count_one": "{count} link", "field_nav_count_other": "{count} linków", "hero_empty": "—", "customize": "Dostosuj stronę docelową" @@ -3458,7 +3458,7 @@ "accepted": "Zaakceptowano:", "validation_error": "Rozmiar pliku przekracza maksymalny limit:" }, - "page_subtitle": "Your name, email, and how you appear wherever you work in ClassroomIO." + "page_subtitle": "Twoje imię, e-mail i sposób, w jaki jesteś widoczny w ClassroomIO." }, "tabs": { "profile_tab": "Profil", @@ -3468,12 +3468,12 @@ "integrations_tab": "Integracje", "language_tab": "Język", "auth_tab": "Uwierzytelnianie", - "sso_tab": "Jednokrotne logowanie", - "token_auth_tab": "Autoryzacja tokenu", + "sso_tab": "SSO", + "token_auth_tab": "Uwierzytelnianie tokenem", "customize_lms_tab": "Dostosuj LMS-a", "domains_tab": "Domeny", "teams_tab": "Zespoły", - "ai_credits_tab": "AI Credits", + "ai_credits_tab": "Kredyty AI", "ai_tutor_tab": "Nauczyciel AI", "notifications_tab": "Powiadomienia" }, @@ -3498,7 +3498,7 @@ "issuer_placeholder": "https://accounts.google.com", "issuer_help": "Wystawca OIDC (bez końcowego ukośnika). Przykłady: Google Workspace — https://accounts.google.com; Okta — https://your-org.okta.com; Usługa Azure AD — https://login.microsoftonline.com/your-tenant-id/v2.0", "domain_label": "Domena e-mail", - "domain_placeholder": "twojafirma.com", + "domain_placeholder": "yourcompany.com", "client_id_label": "Identyfikator klienta", "client_id_placeholder": "Od Twojego dostawcy tożsamości", "client_secret_label": "Sekret Klienta", @@ -3507,7 +3507,7 @@ "providers": { "okta": "Okta", "google_workspace": "Google Workspace", - "auth0": "Autoryzacja0" + "auth0": "Auth0" } }, "policies": { @@ -3518,7 +3518,7 @@ "description": "Zezwól administratorom na ominięcie logowania jednokrotnego przy użyciu adresu e-mail/hasła w nagłych przypadkach." }, "auto_join": { - "label": "Dołącz automatycznie", + "label": "Automatyczne dołączanie", "description": "Zezwalaj użytkownikom z pasującymi domenami e-mail na automatyczne dołączanie do Twojej organizacji." }, "force_sso": { @@ -3583,15 +3583,15 @@ }, "tabs": { "general": "Generał", - "sso": "Jednokrotne logowanie", - "token_auth": "Autoryzacja tokenu" + "sso": "SSO", + "token_auth": "Uwierzytelnianie tokenem" }, - "page_subtitle": "Control sign-up, login, SSO, and token-based access for this org." + "page_subtitle": "Kontroluj rejestrację, logowanie, SSO i dostęp oparty na tokenach dla tej organizacji." }, "token_auth": { - "heading": "Autoryzacja tokenu", + "heading": "Uwierzytelnianie tokenem", "description": "Pozwól użytkownikom logować się z aplikacji za pomocą tokenu JWT — hasło nie jest potrzebne. Wygeneruj sekret podpisu i użyj go w swoim zapleczu, aby wydawać krótkotrwałe JWT.", - "status": "Stan", + "status": "Status", "active": "Aktywny", "inactive": "Nieaktywny", "secret_last4": "Sekret (ostatnie 4):", @@ -3609,12 +3609,12 @@ "actions_menu": "Akcje uwierzytelniania tokenu" }, "teams": { - "page_subtitle": "Invite teammates and control who helps run this organization." + "page_subtitle": "Zaproś współpracowników i kontroluj, kto pomaga zarządzać tą organizacją." }, "ai_credits": { - "sub_title": "AI credits", + "sub_title": "Kredyty AI", "page_subtitle": "Śledź wykorzystanie asystenta AI, zużycie zespołu i kupuj pakiety AI credits.", - "cost_note": "Credit usage is weighted by model cost. Gemini 3.1 Flash Lite counts as 1 credit unit per token. GPT-5.4 Mini and Kimi K2.6 count as 4× per token. Claude Sonnet 4.6 counts as 11× per token, reflecting its higher API cost.", + "cost_note": "Zużycie kredytów jest ważone kosztem modelu. Gemini 3.1 Flash Lite liczy się jako 1 jednostka kredytu na token. GPT-5.4 Mini i Kimi K2.6 liczą się jako 4× na token. Claude Sonnet 4.6 liczy się jako 11× na token, odzwierciedlając wyższy koszt API.", "included": { "title": "Twoje uwzględnione wykorzystanie", "subtitle": "Miesięczne AI credits wliczone w Twój plan.", @@ -3629,8 +3629,8 @@ "chart": { "heading": "Wykorzystanie", "subheading": "Dzienne zużycie AI credits w tym miesiącu.", - "tokens": "Credits", - "total_tokens": "Total credits", + "tokens": "Kredyty", + "total_tokens": "Łączna liczba kredytów", "total_requests": "Łączna liczba żądań", "empty": "W tym miesiącu nie zarejestrowano jeszcze żadnego wykorzystania." }, @@ -3639,14 +3639,14 @@ "this_month": "Bieżący miesiąc", "user": "Użytkownik", "favorite_model": "Ulubiony model", - "tokens": "Credits", + "tokens": "Kredyty", "empty": "Nikt w Twoim zespole nie korzystał z asystenta AI w tym miesiącu." }, "buy_tokens": { "title": "Kup więcej credits", "description": "Każdy pakiet dodaje 5,000,000 credits za $5 USD. Wybierz, ile pakietów potrzebujesz.", "quantity_hint": "pakiety", - "preview": "{quantity} pack(s) · {tokens} credits · ${dollars}", + "preview": "{quantity} pakiet(ów) · {tokens} kredytów · ${dollars}", "buy_button": "Kup za ${dollars}" } }, @@ -3732,7 +3732,7 @@ "see_more": "Zobacz więcej", "whats_new": "Co nowego", "launch_week": "Tydzień uruchomienia", - "feedback": "Informacje zwrotne", + "feedback": "Opinie", "documentation": "Dokumentacja", "need_help": "Potrzebujesz pomocy?" }, @@ -3920,7 +3920,7 @@ } }, "tags_admin": { - "page_title": "Tagi — ClassroomIO", + "page_title": "Tagi - ClassroomIO", "heading": "Tagi", "create": "Utwórz", "tag_modal": { @@ -3947,7 +3947,7 @@ "description": "Najpierw utwórz grupę tagów, a następnie rozpocznij dodawanie tagów." }, "table": { - "tag": "Oznacz", + "tag": "Tag", "total_courses": "Łączna liczba kursów", "course": "oczywiście", "courses": "kursy", @@ -3966,9 +3966,9 @@ "actions_menu": "Oznacz działania" }, "common": { - "not_available": "Nie dotyczy" + "not_available": "N/D" }, - "page_subtitle": "Organize courses with labels so filters and lists stay easy to scan." + "page_subtitle": "Organizuj kursy za pomocą etykiet, aby filtry i listy były łatwe do przeglądania." }, "invite": { "organization": { @@ -4022,12 +4022,12 @@ "generate": "Wygeneruj klucz MCP", "secret_once": "Sekret ten zostaje pokazany raz. Skopiuj go teraz do swojego klienta MCP.", "modal": { - "title": "Create MCP key", - "description": "Choose a name for this MCP key before it is generated.", - "name_label": "Key name", + "title": "Utwórz klucz MCP", + "description": "Wybierz nazwę tego klucza MCP przed jego wygenerowaniem.", + "name_label": "Nazwa klucza", "name_placeholder": "ClassroomIO OpenCode", - "cancel": "Cancel", - "save": "Create key" + "cancel": "Anuluj", + "save": "Utwórz klucz" } }, "usage": { @@ -4041,31 +4041,31 @@ "rate_limits_description": "Żądania odczytu/zapisu/publikowania dozwolone na minutę.", "used_label": "Używane:" }, - "page_subtitle": "Connect AI tools to ClassroomIO with org-scoped keys you can rotate anytime." + "page_subtitle": "Połącz narzędzia AI z ClassroomIO za pomocą kluczy o zasięgu organizacji, które możesz w dowolnym momencie obrócić." }, "api": { - "subtitle": "Manage API keys to integrate with the ClassroomIO public API.", + "subtitle": "Zarządzaj kluczami API, aby integrować się z publicznym API ClassroomIO.", "keys": { - "title": "API keys", - "description": "These keys authenticate the current organization when calling the ClassroomIO public API.", - "generate": "Generate API key", - "secret_once": "This secret is shown once. Copy it and store it securely.", - "empty_title": "No API keys yet", - "empty_description": "Create the first org-scoped API key to use the ClassroomIO public API.", + "title": "Klucze API", + "description": "Te klucze uwierzytelniają bieżącą organizację podczas wywoływania publicznego API ClassroomIO.", + "generate": "Wygeneruj klucz API", + "secret_once": "Ten sekret jest wyświetlany tylko raz. Skopiuj go i przechowuj bezpiecznie.", + "empty_title": "Brak kluczy API", + "empty_description": "Utwórz pierwszy klucz API o zasięgu organizacji, aby korzystać z publicznego API ClassroomIO.", "modal": { - "title": "Create API key", - "description": "Choose a name for this API key before it is generated.", - "name_label": "Key name", - "name_placeholder": "My API integration", - "cancel": "Cancel", - "save": "Create key" + "title": "Utwórz klucz API", + "description": "Wybierz nazwę tego klucza API przed jego wygenerowaniem.", + "name_label": "Nazwa klucza", + "name_placeholder": "Moja integracja API", + "cancel": "Anuluj", + "save": "Utwórz klucz" } }, "setup": { "title": "Szybki start", "description": "Używaj klucza API jako tokena Bearer w każdym żądaniu. Zamień symbol zastępczy na klucz z powyższej listy lub wklej sekret zaraz po wygenerowaniu." }, - "view_docs": "View Docs" + "view_docs": "Zobacz dokumentację" }, "keys": { "active": "Aktywny", @@ -4081,14 +4081,14 @@ "revoke_confirm": "Unieważnić ten klucz automatyzacji?", "rotate_confirm": "Obrócić ten klucz automatyzacji?", "table_key": "Klucz", - "table_status": "Stan", + "table_status": "Status", "table_created": "Utworzono", "table_last_used": "Ostatnio używany" }, "clients": { - "claude_code": "Claude'a Koda", - "codex": "Kodeks", - "cursor": "Kursor", + "claude_code": "Claude Code", + "codex": "Codex", + "cursor": "Cursor", "opencode": "OpenCode", "curl": "cURL", "javascript": "JavaScript", @@ -4097,7 +4097,7 @@ }, "tabs": { "mcp": "MCP", - "zapier": "Zapiera", + "zapier": "Zapier", "api": "API" }, "permissions": { @@ -4105,13 +4105,13 @@ "disabled_description": "Tylko administratorzy organizacji mogą tworzyć, obracać i unieważniać klucze automatyzacji. Nauczyciele mogą zapoznać się z instrukcjami konfiguracji tutaj." }, "zapier": { - "page_subtitle": "Automate ClassroomIO with thousands of apps through Zapier. Coming soon." + "page_subtitle": "Automatyzuj ClassroomIO z tysiącami aplikacji przez Zapier. Wkrótce." } }, "ai_assistant": { "empty_state": "Poproś mnie o pomoc w przygotowaniu treści kursu — szkicuj lekcje, generuj pytania lub planuj kurs na podstawie dokumentu.", "input_placeholder": "Zapytaj asystenta AI...", - "quote_lesson_note": "Quote in assistant", + "quote_lesson_note": "Cytuj w asystencie", "attach_document": "Załącz dokument (PDF, DOCX, PPTX)", "upgrade_to_upload": "Uaktualnij, aby przesyłać dokumenty", "tokens_exhausted": "Osiągnięto miesięczny limit tokenów AI.", @@ -4132,76 +4132,76 @@ "agent_running_warning": "Zmiany pojawią się w kursie po zakończeniu działania agenta. Nie przeładowuj strony.", "agent_running_warning_dismiss": "Zamknij", "quick_action": { - "upload_document_course": "Upload a document to create a course", - "draft_lesson": "Draft a lesson", - "generate_questions_from_lesson": "Generate questions from this lesson", - "summarize_lesson": "Summarize this lesson", - "publish_course": "Help me publish this course" + "upload_document_course": "Prześlij dokument, aby utworzyć kurs", + "draft_lesson": "Przygotuj szkic lekcji", + "generate_questions_from_lesson": "Wygeneruj pytania z tej lekcji", + "summarize_lesson": "Podsumuj tę lekcję", + "publish_course": "Pomóż mi opublikować ten kurs" }, - "plan_applying_changes": "Applying changes", - "plan_working": "Working", - "plan_progress": "{completed} / {total} steps completed", - "stop": "Stop", - "copy_full_error": "Copy full error", - "resize_panel_aria_label": "Resize AI assistant panel", - "generic_working": "Working", - "run_failed_after": "{action} did not finish successfully.", + "plan_applying_changes": "Stosowanie zmian", + "plan_working": "Przetwarzanie", + "plan_progress": "Ukończono {completed} / {total} kroków", + "stop": "Zatrzymaj", + "copy_full_error": "Kopiuj pełny błąd", + "resize_panel_aria_label": "Zmień rozmiar panelu asystenta AI", + "generic_working": "Przetwarzanie", + "run_failed_after": "{action} nie zakończyło się pomyślnie.", "tool": { "pending": { - "working": "Working", - "unknown_tool": "Running {toolName}", - "get_course_structure": "Reading course structure", - "get_lesson_content": "Reading lesson content", - "get_exercise_details": "Reading exercise", - "create_section": "Creating section", - "update_section": "Updating section", - "create_lesson": "Creating lesson", - "update_lesson": "Updating lesson", - "update_lesson_content": "Writing lesson content", - "create_exercise": "Creating exercise", - "create_exercise_section": "Creating exercise section", - "update_exercise": "Updating exercise", - "update_exercise_section": "Updating exercise section", - "add_questions": "Adding questions", - "update_questions": "Updating questions", - "reorder_content": "Reordering content", - "update_course_landing_page": "Updating landing page", - "check_course_go_live_readiness": "Checking go-live readiness", - "go_live_course": "Publishing course", - "generate_course_plan": "Generating course plan", + "working": "Przetwarzanie", + "unknown_tool": "Uruchamianie {toolName}", + "get_course_structure": "Odczytywanie struktury kursu", + "get_lesson_content": "Odczytywanie treści lekcji", + "get_exercise_details": "Odczytywanie ćwiczenia", + "create_section": "Tworzenie sekcji", + "update_section": "Aktualizowanie sekcji", + "create_lesson": "Tworzenie lekcji", + "update_lesson": "Aktualizowanie lekcji", + "update_lesson_content": "Zapisywanie treści lekcji", + "create_exercise": "Tworzenie ćwiczenia", + "create_exercise_section": "Tworzenie sekcji ćwiczenia", + "update_exercise": "Aktualizowanie ćwiczenia", + "update_exercise_section": "Aktualizowanie sekcji ćwiczenia", + "add_questions": "Dodawanie pytań", + "update_questions": "Aktualizowanie pytań", + "reorder_content": "Zmiana kolejności treści", + "update_course_landing_page": "Aktualizowanie strony docelowej", + "check_course_go_live_readiness": "Sprawdzanie gotowości do publikacji", + "go_live_course": "Publikowanie kursu", + "generate_course_plan": "Generowanie planu kursu", "ask_template_questions": "Przygotowanie szablonu formularza", "fetch_documentation_url": "Czytanie strony z dokumentami", "fetch_documentation_url_with_url": "Czytanie {url}" }, "meta": { - "lesson_char_count": "({count, plural, one {# character} other {# characters}})", - "landing_page_preview": "· Preview changes", - "exercise_questions_added": "· {count, plural, one {# question added} other {# questions added}}", - "exercise_questions_updated": "· {count, plural, one {# question updated} other {# questions updated}}" + "lesson_char_count": "({count, plural, one {# znak} other {# znaków}})", + "landing_page_preview": "· Podgląd zmian", + "exercise_questions_added": "· {count, plural, one {dodano # pytanie} other {dodano # pytań}}", + "exercise_questions_updated": "· {count, plural, one {zaktualizowano # pytanie} other {zaktualizowano # pytań}}" }, "done": { - "generic": "Done", - "create_section": "Created section: {title}", - "update_section": "Updated section: {title}", - "create_lesson": "Created lesson: {title}", - "update_lesson": "Updated lesson: {title}", - "update_lesson_content_fallback": "Wrote {count, plural, one {# character} other {# characters}}", - "create_exercise": "Created exercise «{title}» · {count, plural, one {# question} other {# questions}}", - "update_exercise": "Updated exercise: {title}", - "update_exercise_section": "Updated exercise section: {title}", - "add_questions_fallback": "{count, plural, one {Added # question} other {Added # questions}}", - "update_questions_fallback": "{count, plural, one {Updated # question} other {Updated # questions}}", - "create_exercise_section": "Created exercise section: {title}", - "get_course_structure": "Course structure loaded", - "get_lesson_content": "Lesson content loaded", - "get_exercise_details": "Exercise loaded", - "reorder_content": "Content reordered", - "update_course_landing_page": "Updated landing page: {title}", - "check_go_live_ready": "{warningCount, plural, =0{Ready to go live} other{Ready to go live — # warnings}}", - "check_go_live_blocked": "{blockerCount, plural, one{# blocker before go-live} other{# blockers before go-live}}", - "go_live_published": "Published course: {title}", - "go_live_not_published": "Course was not published", - "generate_course_plan": "Course plan generated", + "generic": "Gotowe", + "create_section": "Utworzono sekcję: {title}", + "update_section": "Zaktualizowano sekcję: {title}", + "create_lesson": "Utworzono lekcję: {title}", + "update_lesson": "Zaktualizowano lekcję: {title}", + "update_lesson_content_fallback": "Zapisano {count, plural, one {# znak} other {# znaków}}", + "create_exercise": "Utworzono ćwiczenie «{title}» · {count, plural, one {# pytanie} other {# pytań}}", + "update_exercise": "Zaktualizowano ćwiczenie: {title}", + "update_exercise_section": "Zaktualizowano sekcję ćwiczenia: {title}", + "add_questions_fallback": "{count, plural, one {Dodano # pytanie} other {Dodano # pytań}}", + "update_questions_fallback": "{count, plural, one {Zaktualizowano # pytanie} other {Zaktualizowano # pytań}}", + "create_exercise_section": "Utworzono sekcję ćwiczenia: {title}", + "get_course_structure": "Wczytano strukturę kursu", + "get_lesson_content": "Wczytano treść lekcji", + "get_exercise_details": "Wczytano ćwiczenie", + "reorder_content": "Zmieniono kolejność treści", + "update_course_landing_page": "Zaktualizowano stronę docelową: {title}", + "check_go_live_ready": "{warningCount, plural, =0{Gotowy do publikacji} other{Gotowy do publikacji — # ostrzeżeń}}", + "check_go_live_blocked": "{blockerCount, plural, one{# blokada przed publikacją} other{# blokad przed publikacją}}", + "go_live_published": "Opublikowano kurs: {title}", + "go_live_not_published": "Kurs nie został opublikowany", + "generate_course_plan": "Wygenerowano plan kursu", "ask_template_questions": "Formularz szablonu gotowy", "fetch_documentation_url": "Przeczytaj {url}" } @@ -4223,7 +4223,7 @@ "error_network": "Błąd sieci. Sprawdź połączenie i spróbuj ponownie.", "context_usage_tooltip": "Wykorzystano {used} / {max} tokenów", "context_full_title": "Okno kontekstowe jest pełne", - "context_full_description": "The assistant will summarize older messages automatically so you can keep working in this chat.", + "context_full_description": "Asystent automatycznie podsumuje starsze wiadomości, abyś mógł dalej pracować w tym czacie.", "context_full_compact": "Kompaktowa rozmowa", "context_full_compacting": "Zagęszczanie...", "context_full_new_chat": "Rozpocznij nowy czat z podsumowaniem", @@ -4303,7 +4303,7 @@ "subtitle": "Publikuj markowe zbiory kursów na zewnętrznych stronach internetowych.", "empty_state": "Nie ma jeszcze widżetów. Utwórz go, aby wygenerować osadzony blok kursu.", "filter": { - "status": "Stan", + "status": "Status", "all": "Wszystko", "unpublished": "Niepublikowane", "course_type": "Typ kursu" @@ -4346,7 +4346,7 @@ "custom_css_locked": "Uaktualnij, aby włączyć niestandardowy CSS.", "embed_code": "Wstaw kod", "custom_css_hint": "Maksymalnie 5000 znaków.", - "border_radius_hint": "0 – 32 piks.", + "border_radius_hint": "0 – 32 px.", "font_scale_hint": "0,8 – 1,4 (1 = wartość domyślna)." }, "create": { @@ -4400,10 +4400,10 @@ "draft": "Wersja robocza", "published": "Opublikowano", "archived": "Zarchiwizowane", - "live": "Na żywo" + "live": "Aktywny" }, "sort": { - "manual": "Instrukcja", + "manual": "Ręcznie", "newest": "Najnowszy", "title": "Tytuł" }, @@ -4436,8 +4436,8 @@ "show_thumbnail": "Pokaż miniaturę", "show_tags": "Pokaż tagi", "title_style": "Styl tytułu", - "title_style_serif": "Szeryf", - "title_style_sans": "Bez", + "title_style_serif": "Serif", + "title_style_sans": "Sans", "category_tags": "Tagi kategorii", "category_tags_required": "Wybierz co najmniej jeden tag dla półki kategorii.", "default_category": "Kategoria domyślna", @@ -4493,9 +4493,9 @@ "embed": "Osadź" }, "viewport": { - "mobile": "Mobilny", + "mobile": "Telefon", "tablet": "Tablet", - "desktop": "Pulpit" + "desktop": "Komputer" } }, "tabs": { @@ -4513,11 +4513,11 @@ } }, "side_panel": { - "close_aria": "Close panel", - "resize_panel_aria_label": "Resize panel", + "close_aria": "Zamknij panel", + "resize_panel_aria_label": "Zmień rozmiar panelu", "titles": { - "ai_assistant": "AI Assistant", - "transcript": "Transcript" + "ai_assistant": "Asystent AI", + "transcript": "Transkrypcja" } }, "compliance": { @@ -4527,9 +4527,9 @@ "heading": "Studenci", "subtitle": "dopasowanie {count, number}", "empty": "Żaden uczeń nie pasuje do tego filtra", - "learner": "Studenta", + "learner": "Uczeń", "course": "Kurs", - "status": "Stan", + "status": "Status", "due_date": "Termin", "expires": "Wygasa" }, @@ -4567,7 +4567,7 @@ "learners": "Studenci" }, "summary": { - "heading": "Status studenta", + "heading": "Status ucznia", "description": "Dotyczy wszystkich uczniów na wszystkich kursach dotyczących zgodności." } }, @@ -4629,10 +4629,10 @@ "approaching": "Zbliżamy się do czapki", "totalActive": "Aktywni studenci w tym miesiącu", "learnersHeading": "Studenci", - "headerLearner": "Studenta", + "headerLearner": "Uczeń", "headerMessages": "Wiadomości", "headerTokens": "Żetony", - "headerStatus": "Stan", + "headerStatus": "Status", "statusUnder": "Pod czapką", "statusApproaching": "Zbliża się", "statusAtCap": "Na czapce" @@ -4666,13 +4666,13 @@ "persona": { "encouraging": "Zachęcające", "friendly": "Przyjazny", - "formal": "Formalne", + "formal": "Formalny", "socratic": "Sokratejski", "custom": "Niestandardowe" }, "field": { "enabled": "Włączono nauczyciela AI", - "persona": "Osoba nauczyciela", + "persona": "Persona korepetytora", "customPersona": "Niestandardowa osobowość", "customPersona_description": "Opisz, jak powinien brzmieć korepetytor – ton, styl zwracania się, wszystko, co jest specyficzne dla Twoich odbiorców.", "responseLength": "Długość odpowiedzi", @@ -4772,9 +4772,9 @@ "empty_description": "Utwórz swoją pierwszą kohortę certyfikacyjną lub zgodności.", "settings": { "general": "Generał", - "name_label": "Imię", + "name_label": "Nazwa", "description_label": "Opis", - "status_label": "Stan", + "status_label": "Status", "save": "Zapisz zmiany", "danger_zone": "Strefa zagrożenia", "delete": "Usuń kohorta", @@ -4818,7 +4818,7 @@ "post_submit": "Opublikuj", "empty_title": "Nie ma jeszcze żadnych postów", "empty_description": "Bądź pierwszą osobą, która coś opublikuje.", - "heading": "Kanał informacyjny", + "heading": "Aktualności", "make_a_post": "Napisz post", "edit_post": "Edytuj post", "editor_placeholder": "Udostępnij aktualizację swojej kohorcie", @@ -4846,14 +4846,14 @@ "create_modal": { "title": "Utwórz kohortę", "description": "Dodaj nową kohortę certyfikacyjną lub zgodności.", - "name_label": "Imię", + "name_label": "Nazwa", "name_placeholder": "np. Certyfikat bezpieczeństwa OSHA", "description_label": "Opis", "description_placeholder": "Czego dotyczy ta kohorta?", "submit": "Utwórz" }, "sidebar": { - "newsfeed": "Kanał informacyjny", + "newsfeed": "Aktualności", "courses": "Kursy", "people": "Ludzie", "settings": "Ustawienia" @@ -4872,10 +4872,10 @@ "students": "Studenci" }, "table": { - "name": "Imię", + "name": "Nazwa", "courses": "Kursy", "students": "Studenci", - "status": "Stan", + "status": "Status", "description": "Opis" }, "filters": { @@ -4884,13 +4884,13 @@ "popover_title": "Filtry", "sort": "Sortuj", "order": "Zamów", - "status": "Stan", - "ascending": "rosnąco", - "descending": "Opis", - "sort_name": "Imię", + "status": "Status", + "ascending": "Rosnąco", + "descending": "Malejąco", + "sort_name": "Nazwa", "sort_courses": "Kursy", "sort_students": "Studenci", - "sort_status": "Stan" + "sort_status": "Status" }, "invite_sent": "Zaproszenia wysłane", "goals": { @@ -4947,7 +4947,7 @@ "title_placeholder": "np. Rampa pokładowa", "description_label": "Opis", "description_placeholder": "Opcjonalny kontekst dla zespołu", - "type_label": "Wpisz", + "type_label": "Typ", "courses_label": "Kursy", "required_count_label": "Wymagana liczba kursów", "score_threshold_label": "Wynik zaliczenia na ucznia (%)", diff --git a/apps/dashboard/src/lib/utils/translations/pt.json b/apps/dashboard/src/lib/utils/translations/pt.json index 78acff4c..2a67dd7c 100644 --- a/apps/dashboard/src/lib/utils/translations/pt.json +++ b/apps/dashboard/src/lib/utils/translations/pt.json @@ -513,7 +513,7 @@ "public_api_required": "Faça upgrade para Early Adopter ou Enterprise para acessar a API pública." }, "analytics": { - "title": "Análise", + "title": "Análises", "courses": "Cursos", "progress": "Progresso", "progress_description": "{value, number} de {total, number} concluído", @@ -552,7 +552,7 @@ "showing_students": "Mostrando {start} a {end} de {total} alunos", "no_analytics_data": "Sem dados analíticos", "no_analytics_description": "Não foi possível carregar dados analíticos para este curso. Tente novamente mais tarde ou entre em contato com o suporte se o problema persistir.", - "student": "Estudante", + "student": "Aluno", "student_progress_distribution": "Distribuição do progresso dos alunos", "grade_distribution": "Distribuição de notas", "progress_80_plus": "80%+ Progresso", @@ -577,7 +577,7 @@ "description": "Matrículas agrupadas por tipo de curso", "subtitle": "{total} matrículas em todos os tipos", "empty": "Ainda não há dados de inscrição", - "course_count": "{count, plural, one {# course} other {# courses}}", + "course_count": "{count, plural, one {# curso} other {# cursos}}", "views_short": "visualizações", "types": { "SELF_PACED": "Individualizado", @@ -635,8 +635,8 @@ "progress_distribution_card_description": "Quantos alunos se enquadram em cada faixa de conclusão.", "grade_distribution_card_description": "Quantos alunos se enquadram em cada faixa de série.", "students_table_description": "Visão geral classificável com links para perfis de alunos.", - "kpi_team_tutors": "{count, plural, one {# tutor on the course team} other {# tutors on the course team}}", - "kpi_lessons_exercises": "{count, plural, one {# exercise} other {# exercises}} mapeados para lições", + "kpi_team_tutors": "{count, plural, one {# tutor na equipe do curso} other {# tutores na equipe do curso}}", + "kpi_lessons_exercises": "{count, plural, one {# exercício} other {# exercícios}} mapeados para lições", "kpi_progress_grade": "{grade}% da nota média do exercício entre os alunos matriculados" } }, @@ -651,7 +651,7 @@ "upgrade": "Atualize seu plano para convidar mais alunos", "import_users": "Importar usuários", "search_placeholder": "Pesquisar…", - "status": "Estado", + "status": "Status", "status_active": "Ativo", "status_pending": "Pendente", "status_expired": "Expirado", @@ -702,10 +702,10 @@ "select_cohorts": "Selecione coortes específicas", "select_cohorts_placeholder": "Escolha coortes..." }, - "page_subtitle": "See who belongs to your org, who is learning, who is invited, and how to reach them.", + "page_subtitle": "Veja quem pertence à sua organização, quem está aprendendo, quem foi convidado e como entrar em contato.", "user_analytics": { "title": "Perfil do aluno", - "page_subtitle": "Progress, grades, and activity across their courses." + "page_subtitle": "Progresso, notas e atividade nos cursos deles." }, "delete": { "action": "Excluir", @@ -748,11 +748,11 @@ "cancel": "Cancelar", "give": "Dê uma resposta", "comment": "Comentário", - "page_subtitle": "Start a thread the whole community can see, and tie it to a course if you want." + "page_subtitle": "Inicie uma discussão que toda a comunidade possa ver e vincule-a a um curso, se quiser." }, - "page_subtitle": "Questions and answers shared across your organization's courses.", + "page_subtitle": "Perguntas e respostas compartilhadas nos cursos da sua organização.", "question": { - "page_subtitle": "Follow answers, vote, and join the discussion." + "page_subtitle": "Acompanhe as respostas, vote e participe da discussão." } }, "course": { @@ -857,7 +857,7 @@ } }, "analytics": { - "title": "Análise" + "title": "Análises" }, "landing_page": { "course_content": "Conteúdo do curso", @@ -871,12 +871,12 @@ "certificate": "Certificado", "certificate_text": "Ao concluir todos os cursos da coorte, você ganhará um Certificado para compartilhar com sua rede profissional.", "content": "Conteúdo do curso", - "slide": "1 diapositivo", + "slide": "1 slide", "note": "nota", "video": "vídeo", "reviews": "Avaliações", "see_all": "Ver tudo", - "header_video": "Vídeo de cabeçalho", + "header_video": "Vídeo do cabeçalho", "no_course_published": "Nenhum curso publicado", "coming_your_way": "Temos ótimos cursos chegando até você, fique ligado!!!", "view_less": "Ver menos", @@ -1073,14 +1073,14 @@ "print": "Imprimir", "export_hint": "As exportações usam seu nome como destinatário para que você possa visualizar o layout final.", "preview_failed": "Não foi possível gerar a visualização do certificado", - "sample_recipient": "Leonor Vance", + "sample_recipient": "Eleanor Vance", "sample_course": "Certificado de Excelência", "sample_description": "Em reconhecimento às conquistas notáveis e à dedicação exemplar ao ofício.", "sample_org": "A Academia Real de Artes", "summary_title": "Design ativo", "summary_subtitle": "Instantâneo de como ficará o certificado quando emitido.", "field_template": "Modelo", - "field_accent": "Sotaque", + "field_accent": "Destaque", "field_signatories": "Signatários", "customize_design": "Personalizar design", "signatory_one_toggle": "Mostrar signatário 1", @@ -1130,8 +1130,8 @@ "roles": { "admin": "Administrador", "tutor": "Tutor", - "student": "Estudante", - "filter": "Filtro" + "student": "Aluno", + "filter": "Filtrar" }, "delete_confirmation": { "title": "Excluir", @@ -1187,26 +1187,26 @@ "direct_email_bulk": "Email direto/convite em massa", "direct_email_description": "Cole os endereços de e-mail separados por vírgula, espaço ou nova linha. Um convite seguro exclusivo é criado por e-mail.", "recipient_emails": "E-mails de destinatários", - "recipient_emails_placeholder": "aluno1@exemplo.com, aluno2@exemplo.com", + "recipient_emails_placeholder": "student1@example.com, student2@example.com", "send_invite_emails": "Envie e-mails de convite imediatamente", "create_email_invites": "Crie convites por e-mail", - "existing_students_title": "Add existing org students", + "existing_students_title": "Adicionar alunos existentes da organização", "existing_students_description": "Escolha alunos que já fazem parte desta organização e conceda-lhes acesso direto a este curso.", - "existing_students_search": "Search organization students", - "loading_existing_students": "Loading organization students...", - "no_existing_students": "No organization students are available to add.", - "no_matching_existing_students": "No organization students match your search.", - "notify_existing_students": "Send course access email", - "grant_access": "Grant Access", + "existing_students_search": "Pesquisar alunos da organização", + "loading_existing_students": "Carregando alunos da organização...", + "no_existing_students": "Não há alunos da organização disponíveis para adicionar.", + "no_matching_existing_students": "Nenhum aluno da organização corresponde à sua pesquisa.", + "notify_existing_students": "Enviar e-mail de acesso ao curso", + "grant_access": "Conceder acesso", "grant_access_modal": { "title": "Conceder acesso ao aluno", "description": "Conceda acesso a {email} a este curso. Enviaremos um e-mail de convite para que a pessoa entre na sua organização e se inscreva neste curso.", "cancel": "Cancelar", "send_invite": "Enviar convite" }, - "invite_new_students_title": "Invite new students", - "invite_new_students_description": "Invite new people into your organization and pre-assign them to this course. They will create an account, accept the invite, and get access.", - "invite_new_students": "Invite Students", + "invite_new_students_title": "Convidar novos alunos", + "invite_new_students_description": "Convide novas pessoas para sua organização e pré-atribua-as a este curso. Elas criarão uma conta, aceitarão o convite e terão acesso.", + "invite_new_students": "Convidar alunos", "existing_invites": "Convites existentes", "refresh": "Atualizar", "loading_invites": "Carregando convites...", @@ -1228,8 +1228,8 @@ "audit_email": "E-mail", "audit_actor": "Ator", "audit_ip": "PI", - "scan_qr": "Digitalize QR", - "classroomio_brand": "ClassroomIO. com", + "scan_qr": "Escanear QR", + "classroomio_brand": "ClassroomIO.com", "snackbar_invite_link_copied": "Link de convite copiado", "snackbar_invite_link_regenerated": "Um novo link de convite foi gerado", "snackbar_failed_generate_link": "Falha ao gerar link de convite", @@ -1240,7 +1240,7 @@ "snackbar_failed_load_audit": "Falha ao carregar auditoria de convite", "snackbar_metadata_copied": "Metadados do convite copiados", "snackbar_email_invites_success": "Foram criados {count} convite(s). Enviado {sent}, falhou {failed}. {duplicates} duplicatas ignoradas.", - "select_at_least_one_student": "Select at least one existing student", + "select_at_least_one_student": "Selecione pelo menos um aluno existente", "presets": { "one_time_24h": "Única (24h)", "multi_use_7d": "Multiuso (7 dias)", @@ -1252,7 +1252,7 @@ }, "marks": { "title": "Marcas", - "student": "Estudante", + "student": "Aluno", "total": "Total", "no_student": "Nenhum aluno adicionado", "export": { @@ -1268,8 +1268,8 @@ "early": "Cedo", "late": "Tarde", "total_grade": "Nota total", - "student": "Estudante", - "status": "Estado", + "student": "Aluno", + "status": "Status", "add_comment": "Adicionar comentário", "add_comment_placeholder": "Deixe um comentário", "grade_with_ai": "Nota com IA", @@ -1304,7 +1304,7 @@ "present": "Presente", "absent": "Ausente", "search_students": "Pesquisar alunos", - "student": "Estudante", + "student": "Aluno", "lesson": "Lição", "no_student": "Nenhum aluno adicionado" }, @@ -1361,7 +1361,7 @@ "poll": { "voted": "Votado", "created_by": "Criado por", - "status": "Estado", + "status": "Status", "draft": "Rascunho", "publish": "Publicar", "expiration": "Expiração", @@ -1375,7 +1375,7 @@ "create_poll": "Criar enquete", "question": "Pergunta", "options": "Opções", - "option_label": "Etiqueta de opção", + "option_label": "Rótulo da opção", "cancel": "Cancelar", "poll_question": "Pergunta da enquete" }, @@ -1435,14 +1435,14 @@ "check": "Verifique", "auto_graded_badge": "Avaliação automática", "manual_grading_required_badge": "Avaliação manual obrigatória", - "points_required_auto_grade": "Points must be greater than 0 for auto-graded exercises.", + "points_required_auto_grade": "Os pontos devem ser maiores que 0 para exercícios com correção automática.", "analytics": { "submissions": "Envios", "individual": { "heading": "Individual", "answers": "Respostas individuais", "no": "Nenhuma resposta foi fornecida", - "student_avatar": "Estudante", + "student_avatar": "Aluno", "answers_for": "Respostas de {name}", "attempts_count": "{count} tentativas", "attempt_label": "Tentativa {number}", @@ -1476,7 +1476,7 @@ "all": "Tudo necessário", "due": "Vencido até", "no_description": "Sem descrição", - "start": "Começar", + "start": "Iniciar", "graded": "Classificado", "pending": "Pendente", "submitted": "Enviado", @@ -1523,17 +1523,17 @@ "file_upload": "Carregamento de arquivo", "matching": "Correspondência", "ordering": "Pedido", - "hotspot": "Ponto de acesso", - "link": "Ligações", + "hotspot": "Hotspot", + "link": "Links", "word_bank": "Banco de palavras", "star": "Classificação por estrelas", "video_recording": "Gravação de vídeo" }, "select_type": "Selecione o tipo", - "question_type_auto_gradable": "Auto", - "question_type_auto_gradable_description": "Scored automatically by the system", + "question_type_auto_gradable": "Automático", + "question_type_auto_gradable_description": "Pontuado automaticamente pelo sistema", "question_type_manual_grading": "Manual", - "question_type_manual_grading_description": "Requires human review to score", + "question_type_manual_grading_description": "Requer revisão humana para pontuação", "premium_question_type": "Atualize para usar este tipo de pergunta" }, "delete_confirmation": { @@ -1554,16 +1554,16 @@ "textarea": { "take": { "placeholder": "Escreva sua resposta", - "min_error": "Answer must be at least {min} characters.", - "max_error": "Answer must be at most {max} characters.", - "range_error": "Answer must be between {min} and {max} characters." + "min_error": "A resposta deve ter pelo menos {min} caracteres.", + "max_error": "A resposta deve ter no máximo {max} caracteres.", + "range_error": "A resposta deve ter entre {min} e {max} caracteres." }, "edit": { "placeholder": "Os alunos responderão com texto longo", - "min_characters_label": "Minimum characters", - "min_characters_placeholder": "Minimum characters", - "max_characters_label": "Maximum characters", - "max_characters_placeholder": "Maximum characters" + "min_characters_label": "Mínimo de caracteres", + "min_characters_placeholder": "Mínimo de caracteres", + "max_characters_label": "Máximo de caracteres", + "max_characters_placeholder": "Máximo de caracteres" } }, "hotspot": { @@ -1633,7 +1633,7 @@ }, "take": { "selected_file_label": "Arquivo selecionado", - "upload_button": "Carregar", + "upload_button": "Enviar", "upload_progress": "Fazendo upload...", "upload_error": "Falha no upload", "view": "Ver", @@ -1779,7 +1779,7 @@ "template_helper": "Use três sublinhados (___) para cada espaço em branco. Os alunos verão um banco de palavras com respostas corretas e distratores.", "no_blanks_warning": "Adicione pelo menos um ___ marcador em branco ao seu modelo.", "correct_answers_heading": "Resposta correta para cada espaço em branco", - "blank_label": "Em branco", + "blank_label": "Lacuna", "correct_placeholder": "Termo ou frase correta", "distractors_heading": "Palavras extras (distratores)", "distractor_placeholder": "Opção errada", @@ -2005,7 +2005,7 @@ "video": { "title": "Vídeo", "embed_link": "Incorporar link", - "upload": "Carregar", + "upload": "Enviar", "library": "Biblioteca", "button": "Adicionar/editar vídeo(s)", "remove_video": "Remover vídeo", @@ -2017,7 +2017,7 @@ "add_video": "Adicionar vídeo", "upload_video": "Enviar vídeo", "select_file": "Selecione o arquivo (Mp4, MOV, AVI) para enviar para sua aula.", - "size": "(Máximo de 500MB)", + "size": "(Máx. 500 MB)", "oops": "Ops `😬, não foi possível enviar o vídeo", "big_file": "Desculpe, o vídeo não foi enviado. O tamanho do arquivo é muito grande,", "maximum_size": "o tamanho máximo é 30 MB. Tente novamente!", @@ -2036,7 +2036,7 @@ "add_from_library": "Adicionar da biblioteca", "cancel_upload": "Cancelar upload", "upload_cancelled": "Upload cancelado pelo usuário", - "max_files": "{count, plural, one {You can upload # file} other {You can upload # files}}", + "max_files": "{count, plural, one {Você pode enviar # arquivo} other {Você pode enviar # arquivos}}", "max_files_and_size": "(até {size} cada)", "google_drive_choose": "Escolha no Google Drive", "google_drive_opening": "Abrindo seletor…", @@ -2058,14 +2058,14 @@ "empty_title": "Ainda não há vídeos", "empty_description": "Adicione vídeos do YouTube, upload ou sua biblioteca de mídia", "google_drive": "Google Drive", - "generate_transcript": "Generate transcription", - "generate_transcript_in_progress": "Transcribing…", + "generate_transcript": "Gerar transcrição", + "generate_transcript_in_progress": "Transcrevendo…", "transcript": { - "title": "Transcript", - "captions_label": "Captions", - "language": "Language: {language}", - "empty": "No transcript yet. You can generate one from this card’s menu after the video is uploaded.", - "loading": "Loading transcript…", + "title": "Transcrição", + "captions_label": "Legendas", + "language": "Idioma: {language}", + "empty": "Ainda não há transcrição. Você pode gerar uma pelo menu deste cartão após o envio do vídeo.", + "loading": "Carregando transcrição…", "open_side_panel": "Abrir painel de transcrição", "edit": "Editar transcrição", "save": "Salvar", @@ -2077,7 +2077,7 @@ }, "simple_card": { "kind_youtube": "YouTube", - "kind_upload": "Carregar", + "kind_upload": "Enviar", "kind_google_drive": "Google Drive", "kind_generic": "Incorporado", "course_fallback": "Curso", @@ -2096,7 +2096,7 @@ "playback_auth_action": "Entrar" }, "slide": { - "title": "Deslizar", + "title": "Slide", "slide_link": "Link do slide", "helper_message": "Você pode incorporar Apresentações Google ou Apresentação Canva" }, @@ -2220,7 +2220,7 @@ "add_to_calendar": "Adicionar ao calendário", "add_google": "Google Agenda", "add_outlook": "Outlook.com", - "add_office365": "Escritório 365", + "add_office365": "Office 365", "add_yahoo": "Calendário do Yahoo", "add_apple": "Calendário Apple (.ics)", "starts_in": "Começa em", @@ -2306,9 +2306,9 @@ "waived": "Dispensado" }, "fields": { - "learner": "Estudante", + "learner": "Aluno", "email": "E-mail", - "status": "Estado", + "status": "Status", "cycle": "Ciclo", "due_date": "Data de vencimento", "completed_at": "Concluído em", @@ -2355,8 +2355,8 @@ "empty": "Nenhum resultado encontrado" }, "header": { - "preview": "Preview course", - "preview_missing_slug": "Generate and save a course slug before previewing.", + "preview": "Visualizar curso", + "preview_missing_slug": "Gere e salve um slug do curso antes de visualizar.", "view_as_student": "Ver como aluno", "view_course_site": "Ver site do curso" }, @@ -2374,7 +2374,7 @@ }, "compliance": { "title": "Conformidade", - "due_date": "Devido", + "due_date": "Vencimento", "valid_until": "Válido até" }, "progress": { @@ -2392,7 +2392,7 @@ "nav_marks": "Marcas", "nav_compliance": "Conformidade", "nav_people": "Pessoas", - "nav_analytics": "Análise", + "nav_analytics": "Análises", "nav_certificates": "Certificados", "nav_landing_page": "Página inicial", "nav_settings": "Configurações", @@ -2561,33 +2561,33 @@ "publish_course": "Publicar curso", "copy_course_url": "Copiar URL do curso" }, - "due_date": "Devido", + "due_date": "Vencimento", "valid_until": "Válido até" }, "course_filter": { - "date_created_newest": "Date Created: Newest first", - "date_created_oldest": "Date Created: Oldest first", - "published_first": "Published: Published first", - "unpublished_first": "Published: Unpublished first", - "most_lessons": "Lessons: Most first", - "fewest_lessons": "Lessons: Fewest first", + "date_created_newest": "Data de criação: mais recentes primeiro", + "date_created_oldest": "Data de criação: mais antigos primeiro", + "published_first": "Publicação: publicados primeiro", + "unpublished_first": "Publicação: não publicados primeiro", + "most_lessons": "Lições: mais primeiro", + "fewest_lessons": "Lições: menos primeiro", "date_created": "Data de criação", "published": "Publicado", "lessons": "Lições" }, "tag_filters": { - "filter": "Filtro", + "filter": "Filtrar", "active": "Filtros ativos", "clear_all": "Limpar tudo", "popover_title": "Filtros", "sort": "Classificar", "order": "Ordem", - "ascending": "Asc", - "descending": "Desc", + "ascending": "Crescente", + "descending": "Decrescente", "tags": "Etiquetas", "empty_tags": "Nenhuma tag disponível" }, - "page_subtitle": "Where lessons turn into courses and courses turn into enrollments." + "page_subtitle": "Onde lições viram cursos e cursos viram matrículas." }, "ai": { "help_me": "Ajude-me a escrever", @@ -2614,20 +2614,20 @@ "lms_dashboard_hero": "Hoje é mais um dia para aproximar você de seus objetivos de aprendizagem. Não desista, quanto mais você aprende melhor você fica.", "lessons_completed": "Lições concluídas", "no_courses_started": "Nenhum curso iniciado", - "certificates_earned": "Certificates issued", - "certificates_earned_description": "Total certificates issued to students in your organization", + "certificates_earned": "Certificados emitidos", + "certificates_earned_description": "Total de certificados emitidos para alunos da sua organização", "certification_rate": "Certificados", - "recent_certifications": "Recent certifications", - "no_certifications_yet": "No certificates earned yet", - "no_certifications_yet_description": "When students complete a course and earn a certificate, they will appear here", - "view_courses": "View courses", + "recent_certifications": "Certificações recentes", + "no_certifications_yet": "Nenhum certificado conquistado ainda", + "no_certifications_yet_description": "Quando os alunos concluírem um curso e receberem um certificado, eles aparecerão aqui", + "view_courses": "Ver cursos", "no_of_courses": "Número de cursos", "no_courses_description": "Cursos criados nesta organização", "total_students": "Total de alunos", "total_students_description": "Com base nas matrículas dos alunos", "top_courses": "Principais cursos", "students": "estudantes", - "student": "estudante", + "student": "aluno", "completion": "conclusão", "create_first_course": "Crie seu primeiro curso", "create_first_course_description": "Comece a criar cursos para acompanhar o progresso do curso", @@ -2637,7 +2637,7 @@ "publish_course": "Publicar curso", "items_completed": "Itens concluídos", "currently_learning": "Atualmente aprendendo", - "learner": "Estudante", + "learner": "Aluno", "progress": "Progresso", "pick_up_where_you_left_off": "Continue de onde parou", "get_your_certificate": "Obtenha seu certificado", @@ -2791,7 +2791,7 @@ "goto": "Vá para", "courses": "Cursos", "home": "Página inicial", - "classroomio_home": "Página inicial do ClassroomIO", + "classroomio_home": "Início do ClassroomIO", "dashboard": "Painel", "discussion": "Discussão", "people": "Pessoas", @@ -2820,7 +2820,7 @@ "progress": "Progresso", "completed": "concluído", "done": "Concluído", - "todo": "Tudo", + "todo": "A fazer", "publish_course": { "title": "Publicar um curso", "desc": "Torne seu curso público e comprável", @@ -2869,7 +2869,7 @@ "plan_names": { "free": "Grátis", "early": "Adepto pioneiro", - "enterprise": "Empresa" + "enterprise": "Enterprise" } }, "org_navigation": { @@ -2892,7 +2892,7 @@ "automation": "Automação", "widgets": "Widgets", "stats": "Estatísticas", - "analytics": "Análise", + "analytics": "Análises", "compliance": "Conformidade", "cohorts": "Coortes", "upgrade_now": "Atualize agora", @@ -2941,7 +2941,7 @@ "thumbnail_drop_size": "Até 5MB", "thumbnail_preview": "Visualização em miniatura", "thumbnail_alt": "Miniatura do recurso", - "status": "Estado" + "status": "Status" }, "edit": { "title": "Editar recurso", @@ -2965,7 +2965,7 @@ "title": "Título", "kind": "Tipo", "provider": "Provedor", - "status": "Estado", + "status": "Status", "size": "Tamanho", "updated_at": "Atualizado", "actions": "Ações" @@ -2975,7 +2975,7 @@ "archived": "Arquivado" }, "provider": { - "upload": "Carregar", + "upload": "Enviar", "youtube": "YouTube", "generic": "Genérico", "external_url": "URL externo", @@ -3013,16 +3013,16 @@ "bytes_by_kind": "Armazenamento por tipo de ativo" }, "common": { - "not_available": "N/A" + "not_available": "N/D" }, "empty_description": "O ativo não existe ou não está disponível nesta organização.", - "page_subtitle": "Keep files, videos, and links for your courses in one library.", + "page_subtitle": "Mantenha arquivos, vídeos e links dos seus cursos em uma única biblioteca.", "thumbnails": { "manage_title": "Gerenciar miniaturas", "manage_description": "Visualize o vídeo, escolha um dos quadros gerados automaticamente ou carregue o seu próprio.", "preview_unavailable": "Visualização indisponível", "generated": "Miniaturas geradas", - "slot_start": "Começar", + "slot_start": "Início", "slot_middle": "Meio", "slot_end": "Fim", "none_generated_warning": "Nenhuma miniatura gerada ainda. Tente regenerar ou fazer upload de uma imagem personalizada.", @@ -3052,13 +3052,13 @@ "provider": "Usamos a Polar para ajudar a gerenciar seu faturamento", "open_billing": "Faturamento aberto", "error": "Ocorreu um erro ao abrir o faturamento", - "page_subtitle": "Your plan, billing portal, and how you pay for ClassroomIO.", + "page_subtitle": "Seu plano, portal de cobrança e como você paga pelo ClassroomIO.", "ai_credits": "AI credits", "ai_tokens_used": "AI credits usados este mês", "ai_bonus_credits": "AI credits bônus disponíveis" }, "integrations": { - "heading": "Telegrama", + "heading": "Telegram", "sub_heading": "Conecte sua conta ao Telegram para ser notificado sobre qualquer alteração no aplicativo.", "step_authenticate": "Passo 1: Autentique sua conta por meio do bot ClassroomIO.", "open_bot_button": "Abrir bot", @@ -3066,7 +3066,7 @@ "connect_button": "Conectar", "success_message": "Integração bem-sucedida", "disconnect": "Desconectar", - "page_subtitle": "Connect Telegram to get notified when important things happen." + "page_subtitle": "Conecte o Telegram para ser notificado quando coisas importantes acontecerem." }, "landing_page": { "heading": "Página inicial", @@ -3146,7 +3146,7 @@ "actions": { "heading": "Ações", "label": "Etiqueta", - "link": "Ligação", + "link": "Link", "no_redirect": "Sem redirecionamento", "redirect": "Redirecionar", "show_banner": "Mostrar banner", @@ -3162,7 +3162,7 @@ "show_background": "Mostrar plano de fundo", "hide_background": "Ocultar plano de fundo" }, - "page_subtitle": "Shape the marketing page people see before they sign up or enroll.", + "page_subtitle": "Modele a página de marketing que as pessoas veem antes de se cadastrarem ou se matricularem.", "editor": { "save": "Salvar", "close": "Fechar", @@ -3171,22 +3171,22 @@ "text": "Texto do rodapé", "add": "Adicionar link de rodapé", "default_label": "Novo link", - "link_label": "Etiqueta do link", + "link_label": "Rótulo do link", "link_href": "URL do link", "remove": "Remover link do rodapé", "brand": { - "legend": "Brand", - "description": "Your organization logo and name always appear here (from organization settings). Add optional details below.", - "preview_label": "Footer brand preview", - "tagline": "Tagline", - "tagline_placeholder": "Small line under your brand", + "legend": "Marca", + "description": "O logotipo e o nome da sua organização sempre aparecem aqui (das configurações da organização). Adicione detalhes opcionais abaixo.", + "preview_label": "Visualização da marca do rodapé", + "tagline": "Slogan", + "tagline_placeholder": "Pequena linha abaixo da sua marca", "copyright": "Copyright", - "copyright_placeholder": "© 2026 Your Organization", - "social_label": "Social links", - "platform_field": "Platform", - "url_label": "Profile URL", - "add_social": "Add social link", - "remove_social": "Remove social link", + "copyright_placeholder": "© 2026 Sua organização", + "social_label": "Links sociais", + "platform_field": "Plataforma", + "url_label": "URL do perfil", + "add_social": "Adicionar link social", + "remove_social": "Remover link social", "platforms": { "instagram": "Instagram", "x": "X", @@ -3195,29 +3195,29 @@ "youtube": "YouTube", "github": "GitHub", "tiktok": "TikTok", - "website": "Website" + "website": "Site" } }, "columns": { - "legend": "Link columns", - "description": "Add grouped links (like Company or Resources). Enables a multi-column footer layout.", - "empty_hint": "No columns yet — add one to show a multi-column footer beside your brand.", - "add": "Add column", - "remove": "Remove column", - "heading_label": "Column heading", - "heading_placeholder": "e.g. Company", - "add_link": "Add link", - "remove_link": "Remove link", - "links_max_reached": "Up to 10 links per column", - "cta_toggle": "Add CTA link", - "cta_label": "CTA label", - "cta_href": "CTA URL", - "cta_default_label": "Explore more", - "max_reached": "Up to 6 columns" + "legend": "Colunas de links", + "description": "Adicione links agrupados (como Empresa ou Recursos). Ativa um layout de rodapé com várias colunas.", + "empty_hint": "Ainda não há colunas — adicione uma para exibir um rodapé com várias colunas ao lado da sua marca.", + "add": "Adicionar coluna", + "remove": "Remover coluna", + "heading_label": "Título da coluna", + "heading_placeholder": "ex.: Empresa", + "add_link": "Adicionar link", + "remove_link": "Remover link", + "links_max_reached": "Até 10 links por coluna", + "cta_toggle": "Adicionar link de CTA", + "cta_label": "Rótulo do CTA", + "cta_href": "URL do CTA", + "cta_default_label": "Explorar mais", + "max_reached": "Até 6 colunas" }, "bottom": { - "legend": "Bottom row", - "add_link": "Add bottom link" + "legend": "Linha inferior", + "add_link": "Adicionar link inferior" } }, "embed": { @@ -3248,7 +3248,7 @@ "navigation": { "add": "Adicionar link de navegação", "default_label": "Novo link", - "link_label": "Etiqueta do link", + "link_label": "Rótulo do link", "link_href": "URL do link", "remove": "Remover link de navegação" }, @@ -3284,8 +3284,8 @@ "embed": "Incorporar", "embed_desc": "Seção iframe opcional mostrada após os cursos.", "footer": "Rodapé", - "footer_desc": "Brand line, socials, multi-column links, and bottom legal row.", - "links": "Ligações", + "footer_desc": "Linha da marca, redes sociais, links em várias colunas e linha legal inferior.", + "links": "Links", "links_desc": "Bloco opcional de links externos (central de ajuda, comunidade, webinars) exibidos após os cursos." }, "links": { @@ -3318,7 +3318,7 @@ "book_open": "Documentação", "video": "Vídeo / webinários", "users": "Comunidade", - "message_circle": "Bate-papo", + "message_circle": "Chat", "newspaper": "Notícias", "rocket": "Comece", "calendar": "Eventos", @@ -3344,11 +3344,11 @@ "description": "Alto contraste, editorial e marcante" }, "minimal": { - "title": "Mínimo", + "title": "Minimalista", "description": "Limpo, brilhante e focado no curso" }, "terminal": { - "title": "Terminais", + "title": "Terminal", "description": "Superfície escura, marca nominativa fantasma, catálogo inspirado em CLI" }, "corporate": { @@ -3356,11 +3356,11 @@ "description": "Tipografia sóbria, grades com bordas, aparência pronta para auditoria" }, "studio": { - "title": "Estúdio", + "title": "Studio", "description": "Bordas finas, brilho de herói gradiente, polimento artesanal de produto" }, "tech": { - "title": "Tecnologia", + "title": "Tech", "description": "Banda de marca ousada, navegação monoespaçada, sensação de academia de engenharia" }, "saas": { @@ -3458,7 +3458,7 @@ "accepted": "Aceito:", "validation_error": "O tamanho do arquivo excede o limite máximo:" }, - "page_subtitle": "Your name, email, and how you appear wherever you work in ClassroomIO." + "page_subtitle": "Seu nome, e-mail e como você aparece em qualquer lugar em que trabalhe no ClassroomIO." }, "tabs": { "profile_tab": "Perfil", @@ -3469,11 +3469,11 @@ "language_tab": "Idioma", "auth_tab": "Autenticação", "sso_tab": "SSO", - "token_auth_tab": "Autenticação de token", + "token_auth_tab": "Autenticação por token", "customize_lms_tab": "Personalizar LMS", "domains_tab": "Domínios", "teams_tab": "Equipes", - "ai_credits_tab": "AI Credits", + "ai_credits_tab": "Créditos de IA", "ai_tutor_tab": "Tutor de IA", "notifications_tab": "Notificações" }, @@ -3498,7 +3498,7 @@ "issuer_placeholder": "https://accounts.google.com", "issuer_help": "Emissor OIDC (sem barra final). Exemplos: Google Workspace — https://accounts.google.com; Okta — https://your-org.okta.com; Azure AD — https://login.microsoftonline.com/your-tenant-id/v2.0", "domain_label": "Domínio de e-mail", - "domain_placeholder": "suaempresa.com", + "domain_placeholder": "yourcompany.com", "client_id_label": "ID do cliente", "client_id_placeholder": "Do seu IdP", "client_secret_label": "Segredo do cliente", @@ -3507,7 +3507,7 @@ "providers": { "okta": "Okta", "google_workspace": "Google Workspace", - "auth0": "Autor0" + "auth0": "Auth0" } }, "policies": { @@ -3518,7 +3518,7 @@ "description": "Permita que os administradores ignorem o SSO com e-mail/senha em caso de emergência." }, "auto_join": { - "label": "Associação automática", + "label": "Entrada automática", "description": "Permita que usuários com domínios de e-mail correspondentes ingressem automaticamente na sua organização." }, "force_sso": { @@ -3584,14 +3584,14 @@ "tabs": { "general": "Geral", "sso": "SSO", - "token_auth": "Autenticação de token" + "token_auth": "Autenticação por token" }, - "page_subtitle": "Control sign-up, login, SSO, and token-based access for this org." + "page_subtitle": "Controle cadastro, login, SSO e acesso baseado em token para esta organização." }, "token_auth": { - "heading": "Autenticação de token", + "heading": "Autenticação por token", "description": "Permita que os usuários façam login no seu aplicativo com um JWT, sem necessidade de senha. Gere um segredo de assinatura e use-o em seu back-end para emitir JWTs de curta duração.", - "status": "Estado", + "status": "Status", "active": "Ativo", "inactive": "Inativo", "secret_last4": "Segredo (últimos 4):", @@ -3609,12 +3609,12 @@ "actions_menu": "Ações de autenticação de token" }, "teams": { - "page_subtitle": "Invite teammates and control who helps run this organization." + "page_subtitle": "Convide colegas de equipe e controle quem ajuda a administrar esta organização." }, "ai_credits": { - "sub_title": "AI credits", + "sub_title": "Créditos de IA", "page_subtitle": "Acompanhe o uso do assistente de IA, o consumo da equipe e compre pacotes de AI credits.", - "cost_note": "Credit usage is weighted by model cost. Gemini 3.1 Flash Lite counts as 1 credit unit per token. GPT-5.4 Mini and Kimi K2.6 count as 4× per token. Claude Sonnet 4.6 counts as 11× per token, reflecting its higher API cost.", + "cost_note": "O uso de créditos é ponderado pelo custo do modelo. Gemini 3.1 Flash Lite conta como 1 unidade de crédito por token. GPT-5.4 Mini e Kimi K2.6 contam como 4× por token. Claude Sonnet 4.6 conta como 11× por token, refletindo seu custo de API mais alto.", "included": { "title": "Seu uso incluído", "subtitle": "AI credits mensais incluídos no seu plano.", @@ -3629,8 +3629,8 @@ "chart": { "heading": "Uso", "subheading": "Consumo diário de AI credits neste mês.", - "tokens": "Credits", - "total_tokens": "Total credits", + "tokens": "Créditos", + "total_tokens": "Total de créditos", "total_requests": "Total de solicitações", "empty": "Nenhum uso registrado neste mês ainda." }, @@ -3639,14 +3639,14 @@ "this_month": "Mês atual", "user": "Usuário", "favorite_model": "Modelo favorito", - "tokens": "Credits", + "tokens": "Créditos", "empty": "Ninguém na sua equipe usou o assistente de IA este mês." }, "buy_tokens": { "title": "Comprar mais credits", "description": "Cada pacote adiciona 5,000,000 credits por $5 USD. Escolha quantos pacotes você precisa.", "quantity_hint": "pacotes", - "preview": "{quantity} pack(s) · {tokens} credits · ${dollars}", + "preview": "{quantity} pacote(s) · {tokens} créditos · ${dollars}", "buy_button": "Comprar por ${dollars}" } }, @@ -3732,7 +3732,7 @@ "see_more": "Ver mais", "whats_new": "O que há de novo", "launch_week": "Semana de lançamento", - "feedback": "Comentários", + "feedback": "Feedback", "documentation": "Documentação", "need_help": "Precisa de ajuda?" }, @@ -3920,7 +3920,7 @@ } }, "tags_admin": { - "page_title": "Tags - ClassroomIO", + "page_title": "Etiquetas - ClassroomIO", "heading": "Etiquetas", "create": "Criar", "tag_modal": { @@ -3966,9 +3966,9 @@ "actions_menu": "Ações de tags" }, "common": { - "not_available": "N/A" + "not_available": "N/D" }, - "page_subtitle": "Organize courses with labels so filters and lists stay easy to scan." + "page_subtitle": "Organize cursos com rótulos para que filtros e listas fiquem fáceis de consultar." }, "invite": { "organization": { @@ -4022,12 +4022,12 @@ "generate": "Gerar chave MCP", "secret_once": "Este segredo é mostrado uma vez. Copie-o para o seu cliente MCP agora.", "modal": { - "title": "Create MCP key", - "description": "Choose a name for this MCP key before it is generated.", - "name_label": "Key name", + "title": "Criar chave MCP", + "description": "Escolha um nome para esta chave MCP antes de gerá-la.", + "name_label": "Nome da chave", "name_placeholder": "ClassroomIO OpenCode", - "cancel": "Cancel", - "save": "Create key" + "cancel": "Cancelar", + "save": "Criar chave" } }, "usage": { @@ -4041,31 +4041,31 @@ "rate_limits_description": "Solicitações de leitura/gravação/publicação permitidas por minuto.", "used_label": "Usado:" }, - "page_subtitle": "Connect AI tools to ClassroomIO with org-scoped keys you can rotate anytime." + "page_subtitle": "Conecte ferramentas de IA ao ClassroomIO com chaves da organização que você pode rotacionar a qualquer momento." }, "api": { - "subtitle": "Manage API keys to integrate with the ClassroomIO public API.", + "subtitle": "Gerencie chaves de API para integrar com a API pública do ClassroomIO.", "keys": { - "title": "API keys", - "description": "These keys authenticate the current organization when calling the ClassroomIO public API.", - "generate": "Generate API key", - "secret_once": "This secret is shown once. Copy it and store it securely.", - "empty_title": "No API keys yet", - "empty_description": "Create the first org-scoped API key to use the ClassroomIO public API.", + "title": "Chaves de API", + "description": "Essas chaves autenticam a organização atual ao chamar a API pública do ClassroomIO.", + "generate": "Gerar chave de API", + "secret_once": "Este segredo é exibido apenas uma vez. Copie-o e armazene-o com segurança.", + "empty_title": "Ainda não há chaves de API", + "empty_description": "Crie a primeira chave de API da organização para usar a API pública do ClassroomIO.", "modal": { - "title": "Create API key", - "description": "Choose a name for this API key before it is generated.", - "name_label": "Key name", - "name_placeholder": "My API integration", - "cancel": "Cancel", - "save": "Create key" + "title": "Criar chave de API", + "description": "Escolha um nome para esta chave de API antes de gerá-la.", + "name_label": "Nome da chave", + "name_placeholder": "Minha integração de API", + "cancel": "Cancelar", + "save": "Criar chave" } }, "setup": { "title": "Início rápido", "description": "Use sua chave de API como token Bearer em cada solicitação. Substitua o marcador por uma chave acima ou cole o segredo imediatamente após gerar uma." }, - "view_docs": "View Docs" + "view_docs": "Ver documentação" }, "keys": { "active": "Ativo", @@ -4081,13 +4081,13 @@ "revoke_confirm": "Revogar esta chave de automação?", "rotate_confirm": "Girar esta chave de automação?", "table_key": "Chave", - "table_status": "Estado", + "table_status": "Status", "table_created": "Criado", "table_last_used": "Usado pela última vez" }, "clients": { - "claude_code": "Código Claude", - "codex": "Códice", + "claude_code": "Claude Code", + "codex": "Codex", "cursor": "Cursor", "opencode": "OpenCode", "curl": "cURL", @@ -4096,7 +4096,7 @@ "go": "Go" }, "tabs": { - "mcp": "PCM", + "mcp": "MCP", "zapier": "Zapier", "api": "API" }, @@ -4105,13 +4105,13 @@ "disabled_description": "Somente administradores da organização podem criar, alternar ou revogar chaves de automação. Os professores podem revisar as instruções de configuração aqui." }, "zapier": { - "page_subtitle": "Automate ClassroomIO with thousands of apps through Zapier. Coming soon." + "page_subtitle": "Automatize o ClassroomIO com milhares de aplicativos pelo Zapier. Em breve." } }, "ai_assistant": { "empty_state": "Peça-me para ajudar com o conteúdo do seu curso – redigir lições, gerar perguntas ou planejar um curso a partir de um documento.", "input_placeholder": "Pergunte ao assistente de IA...", - "quote_lesson_note": "Quote in assistant", + "quote_lesson_note": "Citar no assistente", "attach_document": "Anexe um documento (PDF, DOCX, PPTX)", "upgrade_to_upload": "Atualize para fazer upload de documentos", "tokens_exhausted": "Limite mensal de tokens de IA atingido.", @@ -4120,7 +4120,7 @@ "no_conversations": "Ainda não há conversas", "untitled": "Sem título", "new_chat": "Novo bate-papo", - "tokens_label": "fichas", + "tokens_label": "tokens", "implementing_course_plan": "Implementando Plano de Curso", "resume": "Continuar", "stopped_content_kept": "Parado. O conteúdo criado foi mantido.", @@ -4132,76 +4132,76 @@ "agent_running_warning": "As alterações aparecerão no curso assim que o agente terminar. Não recarregue a página.", "agent_running_warning_dismiss": "Dispensar", "quick_action": { - "upload_document_course": "Upload a document to create a course", - "draft_lesson": "Draft a lesson", - "generate_questions_from_lesson": "Generate questions from this lesson", - "summarize_lesson": "Summarize this lesson", - "publish_course": "Help me publish this course" + "upload_document_course": "Enviar um documento para criar um curso", + "draft_lesson": "Rascunhar uma lição", + "generate_questions_from_lesson": "Gerar perguntas desta lição", + "summarize_lesson": "Resumir esta lição", + "publish_course": "Ajude-me a publicar este curso" }, - "plan_applying_changes": "Applying changes", - "plan_working": "Working", - "plan_progress": "{completed} / {total} steps completed", - "stop": "Stop", - "copy_full_error": "Copy full error", - "resize_panel_aria_label": "Resize AI assistant panel", - "generic_working": "Working", - "run_failed_after": "{action} did not finish successfully.", + "plan_applying_changes": "Aplicando alterações", + "plan_working": "Trabalhando", + "plan_progress": "{completed} / {total} etapas concluídas", + "stop": "Parar", + "copy_full_error": "Copiar erro completo", + "resize_panel_aria_label": "Redimensionar painel do assistente de IA", + "generic_working": "Trabalhando", + "run_failed_after": "{action} não foi concluída com sucesso.", "tool": { "pending": { - "working": "Working", - "unknown_tool": "Running {toolName}", - "get_course_structure": "Reading course structure", - "get_lesson_content": "Reading lesson content", - "get_exercise_details": "Reading exercise", - "create_section": "Creating section", - "update_section": "Updating section", - "create_lesson": "Creating lesson", - "update_lesson": "Updating lesson", - "update_lesson_content": "Writing lesson content", - "create_exercise": "Creating exercise", - "create_exercise_section": "Creating exercise section", - "update_exercise": "Updating exercise", - "update_exercise_section": "Updating exercise section", - "add_questions": "Adding questions", - "update_questions": "Updating questions", - "reorder_content": "Reordering content", - "update_course_landing_page": "Updating landing page", - "check_course_go_live_readiness": "Checking go-live readiness", - "go_live_course": "Publishing course", - "generate_course_plan": "Generating course plan", + "working": "Trabalhando", + "unknown_tool": "Executando {toolName}", + "get_course_structure": "Lendo estrutura do curso", + "get_lesson_content": "Lendo conteúdo da lição", + "get_exercise_details": "Lendo exercício", + "create_section": "Criando seção", + "update_section": "Atualizando seção", + "create_lesson": "Criando lição", + "update_lesson": "Atualizando lição", + "update_lesson_content": "Escrevendo conteúdo da lição", + "create_exercise": "Criando exercício", + "create_exercise_section": "Criando seção de exercício", + "update_exercise": "Atualizando exercício", + "update_exercise_section": "Atualizando seção de exercício", + "add_questions": "Adicionando perguntas", + "update_questions": "Atualizando perguntas", + "reorder_content": "Reordenando conteúdo", + "update_course_landing_page": "Atualizando página de destino", + "check_course_go_live_readiness": "Verificando prontidão para publicação", + "go_live_course": "Publicando curso", + "generate_course_plan": "Gerando plano do curso", "ask_template_questions": "Preparando modelo de formulário", "fetch_documentation_url": "Lendo a página de documentos", "fetch_documentation_url_with_url": "Lendo {url}" }, "meta": { - "lesson_char_count": "({count, plural, one {# character} other {# characters}})", - "landing_page_preview": "· Preview changes", - "exercise_questions_added": "· {count, plural, one {# question added} other {# questions added}}", - "exercise_questions_updated": "· {count, plural, one {# question updated} other {# questions updated}}" + "lesson_char_count": "({count, plural, one {# caractere} other {# caracteres}})", + "landing_page_preview": "· Visualizar alterações", + "exercise_questions_added": "· {count, plural, one {# pergunta adicionada} other {# perguntas adicionadas}}", + "exercise_questions_updated": "· {count, plural, one {# pergunta atualizada} other {# perguntas atualizadas}}" }, "done": { - "generic": "Done", - "create_section": "Created section: {title}", - "update_section": "Updated section: {title}", - "create_lesson": "Created lesson: {title}", - "update_lesson": "Updated lesson: {title}", - "update_lesson_content_fallback": "Wrote {count, plural, one {# character} other {# characters}}", - "create_exercise": "Created exercise «{title}» · {count, plural, one {# question} other {# questions}}", - "update_exercise": "Updated exercise: {title}", - "update_exercise_section": "Updated exercise section: {title}", - "add_questions_fallback": "{count, plural, one {Added # question} other {Added # questions}}", - "update_questions_fallback": "{count, plural, one {Updated # question} other {Updated # questions}}", - "create_exercise_section": "Created exercise section: {title}", - "get_course_structure": "Course structure loaded", - "get_lesson_content": "Lesson content loaded", - "get_exercise_details": "Exercise loaded", - "reorder_content": "Content reordered", - "update_course_landing_page": "Updated landing page: {title}", - "check_go_live_ready": "{warningCount, plural, =0{Ready to go live} other{Ready to go live — # warnings}}", - "check_go_live_blocked": "{blockerCount, plural, one{# blocker before go-live} other{# blockers before go-live}}", - "go_live_published": "Published course: {title}", - "go_live_not_published": "Course was not published", - "generate_course_plan": "Course plan generated", + "generic": "Concluído", + "create_section": "Seção criada: {title}", + "update_section": "Seção atualizada: {title}", + "create_lesson": "Lição criada: {title}", + "update_lesson": "Lição atualizada: {title}", + "update_lesson_content_fallback": "Escritos {count, plural, one {# caractere} other {# caracteres}}", + "create_exercise": "Exercício criado «{title}» · {count, plural, one {# pergunta} other {# perguntas}}", + "update_exercise": "Exercício atualizado: {title}", + "update_exercise_section": "Seção de exercício atualizada: {title}", + "add_questions_fallback": "{count, plural, one {Adicionada # pergunta} other {Adicionadas # perguntas}}", + "update_questions_fallback": "{count, plural, one {Atualizada # pergunta} other {Atualizadas # perguntas}}", + "create_exercise_section": "Seção de exercício criada: {title}", + "get_course_structure": "Estrutura do curso carregada", + "get_lesson_content": "Conteúdo da lição carregado", + "get_exercise_details": "Exercício carregado", + "reorder_content": "Conteúdo reordenado", + "update_course_landing_page": "Página de destino atualizada: {title}", + "check_go_live_ready": "{warningCount, plural, =0{Pronto para publicar} other{Pronto para publicar — # avisos}}", + "check_go_live_blocked": "{blockerCount, plural, one{# impedimento antes da publicação} other{# impedimentos antes da publicação}}", + "go_live_published": "Curso publicado: {title}", + "go_live_not_published": "O curso não foi publicado", + "generate_course_plan": "Plano do curso gerado", "ask_template_questions": "Formulário de modelo pronto", "fetch_documentation_url": "Leia {url}" } @@ -4223,7 +4223,7 @@ "error_network": "Erro de rede. Verifique sua conexão e tente novamente.", "context_usage_tooltip": "{used} / {max} tokens usados", "context_full_title": "A janela de contexto está cheia", - "context_full_description": "The assistant will summarize older messages automatically so you can keep working in this chat.", + "context_full_description": "O assistente resumirá automaticamente as mensagens mais antigas para que você possa continuar trabalhando neste chat.", "context_full_compact": "Conversa compacta", "context_full_compacting": "Compactando...", "context_full_new_chat": "Iniciar novo bate-papo com resumo", @@ -4303,7 +4303,7 @@ "subtitle": "Publique coleções de cursos de marca para sites externos.", "empty_state": "Ainda não há widgets. Crie um para gerar um bloco de curso incorporável.", "filter": { - "status": "Estado", + "status": "Status", "all": "Todos", "unpublished": "Não publicado", "course_type": "Tipo de curso" @@ -4346,7 +4346,7 @@ "custom_css_locked": "Atualize para ativar CSS personalizado.", "embed_code": "Incorporar código", "custom_css_hint": "Máximo de 5.000 caracteres.", - "border_radius_hint": "0 – 32px.", + "border_radius_hint": "0 – 32 px.", "font_scale_hint": "0,8 – 1,4 (1 = padrão)." }, "create": { @@ -4403,7 +4403,7 @@ "live": "Ao vivo" }, "sort": { - "manual": "Manuais", + "manual": "Manual", "newest": "Mais recente", "title": "Título" }, @@ -4437,7 +4437,7 @@ "show_tags": "Mostrar tags", "title_style": "Estilo do título", "title_style_serif": "Serif", - "title_style_sans": "Sem", + "title_style_sans": "Sans", "category_tags": "Tags de categoria", "category_tags_required": "Selecione pelo menos uma tag para a divisória de categorias.", "default_category": "Categoria padrão", @@ -4456,7 +4456,7 @@ }, "layout": { "card_grid": "Grade de cartão", - "tag_filter": "Filtro de tags", + "tag_filter": "Filtro de etiquetas", "carousel": "Carrossel", "primary_course": "Curso primário", "compact_list": "Lista compacta", @@ -4470,9 +4470,9 @@ "editor": { "sources": "Fonte do widget", "available_courses": "Cursos Disponíveis", - "layout": "Disposição", + "layout": "Layout", "content": "Conteúdo", - "design": "Projeto", + "design": "Design", "version_history": "Histórico de versões", "save_changes": "Salvar alterações", "rename_widget": "Renomear widget", @@ -4488,20 +4488,20 @@ "load_failed": "Não foi possível carregar este widget. Tente novamente na lista de widgets.", "nav": { "courses": "Cursos", - "layout": "Disposição", - "design": "Projeto", + "layout": "Layout", + "design": "Design", "embed": "Incorporar" }, "viewport": { - "mobile": "Móvel", - "tablet": "Tábua", - "desktop": "Área de trabalho" + "mobile": "Mobile", + "tablet": "Tablet", + "desktop": "Desktop" } }, "tabs": { "select_courses": "Selecione os cursos", - "layout": "Disposição", - "design": "Projeto", + "layout": "Layout", + "design": "Design", "embed": "Código incorporado" }, "defaults": { @@ -4513,11 +4513,11 @@ } }, "side_panel": { - "close_aria": "Close panel", - "resize_panel_aria_label": "Resize panel", + "close_aria": "Fechar painel", + "resize_panel_aria_label": "Redimensionar painel", "titles": { - "ai_assistant": "AI Assistant", - "transcript": "Transcript" + "ai_assistant": "Assistente de IA", + "transcript": "Transcrição" } }, "compliance": { @@ -4527,10 +4527,10 @@ "heading": "Alunos", "subtitle": "{count, number} correspondente", "empty": "Nenhum aluno corresponde a este filtro", - "learner": "Estudante", + "learner": "Aluno", "course": "Curso", - "status": "Estado", - "due_date": "Devido", + "status": "Status", + "due_date": "Vencimento", "expires": "Expira" }, "courses": { @@ -4567,7 +4567,7 @@ "learners": "Alunos" }, "summary": { - "heading": "Status de estudante", + "heading": "Status do aluno", "description": "Conta entre alunos em todos os cursos de conformidade." } }, @@ -4629,10 +4629,10 @@ "approaching": "Aproximando-se do limite", "totalActive": "Alunos ativos este mês", "learnersHeading": "Alunos", - "headerLearner": "Estudante", + "headerLearner": "Aluno", "headerMessages": "Mensagens", "headerTokens": "Fichas", - "headerStatus": "Estado", + "headerStatus": "Status", "statusUnder": "Sob o limite", "statusApproaching": "Aproximando-se", "statusAtCap": "No limite" @@ -4672,7 +4672,7 @@ }, "field": { "enabled": "Tutor de IA ativado", - "persona": "Personalidade do tutor", + "persona": "Persona do tutor", "customPersona": "Personagem personalizada", "customPersona_description": "Descreva como o tutor deve soar – tom, estilo de abordagem, qualquer coisa específica para o seu público.", "responseLength": "Comprimento da resposta", @@ -4774,7 +4774,7 @@ "general": "Geral", "name_label": "Nome", "description_label": "Descrição", - "status_label": "Estado", + "status_label": "Status", "save": "Salvar alterações", "danger_zone": "Zona de perigo", "delete": "Excluir coorte", @@ -4875,22 +4875,22 @@ "name": "Nome", "courses": "Cursos", "students": "Alunos", - "status": "Estado", + "status": "Status", "description": "Descrição" }, "filters": { - "filter": "Filtro", + "filter": "Filtrar", "clear_all": "Limpar tudo", "popover_title": "Filtros", "sort": "Classificar", "order": "Pedido", - "status": "Estado", - "ascending": "Asc", - "descending": "Descrição", + "status": "Status", + "ascending": "Crescente", + "descending": "Decrescente", "sort_name": "Nome", "sort_courses": "Cursos", "sort_students": "Alunos", - "sort_status": "Estado" + "sort_status": "Status" }, "invite_sent": "Convites enviados", "goals": { diff --git a/apps/dashboard/src/lib/utils/translations/ru.json b/apps/dashboard/src/lib/utils/translations/ru.json index 91df12ad..684614bc 100644 --- a/apps/dashboard/src/lib/utils/translations/ru.json +++ b/apps/dashboard/src/lib/utils/translations/ru.json @@ -577,12 +577,12 @@ "description": "Зачисления сгруппированы по типу курса", "subtitle": "{total} зачислений по всем типам", "empty": "Данных о регистрации пока нет", - "course_count": "{count, plural, one {# course} other {# courses}}", + "course_count": "{count, plural, one {# курс} other {# курсов}}", "views_short": "просмотры", "types": { "SELF_PACED": "Самостоятельный темп", "LIVE_CLASS": "Живой урок", - "COMPLIANCE": "Соответствие", + "COMPLIANCE": "Соответствие требованиям", "PUBLIC": "Общественный" } }, @@ -635,8 +635,8 @@ "progress_distribution_card_description": "Сколько студентов попадает в каждую группу завершения.", "grade_distribution_card_description": "Сколько учеников попадает в каждую группу классов.", "students_table_description": "Сортируемый обзор со ссылками на профили студентов.", - "kpi_team_tutors": "{count, plural, one {# tutor on the course team} other {# tutors on the course team}}", - "kpi_lessons_exercises": "{count, plural, one {# exercise} other {# exercises}} сопоставлено с уроками", + "kpi_team_tutors": "{count, plural, one {# преподаватель в команде курса} other {# преподавателей в команде курса}}", + "kpi_lessons_exercises": "{count, plural, one {# упражнение} other {# упражнений}} сопоставлено с уроками", "kpi_progress_grade": "{grade} % средняя оценка за упражнения среди зачисленных учащихся" } }, @@ -646,7 +646,7 @@ "no_audience": "Нет аудитории, которой нужно управлять", "manage": "Управляйте всеми своими учениками здесь и оставайтесь с ними на связи", "name": "Имя", - "email": "электронная почта", + "email": "Эл. почта", "date_joined": "Дата присоединения", "upgrade": "Обновите свой план, чтобы пригласить больше студентов", "import_users": "Импортировать пользователей", @@ -702,10 +702,10 @@ "select_cohorts": "Выберите конкретные когорты", "select_cohorts_placeholder": "Выберите когорты..." }, - "page_subtitle": "See who belongs to your org, who is learning, who is invited, and how to reach them.", + "page_subtitle": "Узнайте, кто входит в вашу организацию, кто учится, кто приглашён и как с ними связаться.", "user_analytics": { "title": "Профиль студента", - "page_subtitle": "Progress, grades, and activity across their courses." + "page_subtitle": "Прогресс, оценки и активность по курсам." }, "delete": { "action": "Удалить", @@ -748,11 +748,11 @@ "cancel": "Отмена", "give": "Дайте ответ", "comment": "Комментарий", - "page_subtitle": "Start a thread the whole community can see, and tie it to a course if you want." + "page_subtitle": "Начните обсуждение, которое увидит всё сообщество, и при желании привяжите его к курсу." }, - "page_subtitle": "Questions and answers shared across your organization's courses.", + "page_subtitle": "Вопросы и ответы, общие для курсов вашей организации.", "question": { - "page_subtitle": "Follow answers, vote, and join the discussion." + "page_subtitle": "Следите за ответами, голосуйте и участвуйте в обсуждении." } }, "course": { @@ -814,7 +814,7 @@ "popover_title": "Выберите теги", "empty_groups": "Тегов пока нет" }, - "compliance": "Соответствие", + "compliance": "Соответствие требованиям", "public": "Общественный", "convert_to_public_blocked": "В этом курсе есть вопросы, которые нельзя оценить автоматически, поэтому его пока нельзя опубликовать.", "fix_blocking_questions": "Исправить блокирующие вопросы", @@ -876,7 +876,7 @@ "video": "видео", "reviews": "Отзывы", "see_all": "Посмотреть все", - "header_video": "Заголовок видео", + "header_video": "Видео в шапке", "no_course_published": "Курс не опубликован", "coming_your_way": "Нас ждут отличные курсы, следите за обновлениями!!!", "view_less": "Посмотреть меньше", @@ -895,7 +895,7 @@ "explore": "Изучите курсы", "find": "Найдите курсы от лучших преподавателей со всего мира, которые вам понравятся.", "find_course": "Найти курс...", - "instructor": "Инструктор", + "instructor": "Преподаватель", "courses": "курсы", "reviews_modal": { "title": "Отзывы", @@ -990,7 +990,7 @@ "description": "Описание", "goals": "Цели", "reviews": "Отзывы", - "instructor": "Инструктор", + "instructor": "Преподаватель", "pricing": "Цены", "certificate": "Сертификат", "curriculum": "учебная программа", @@ -1042,7 +1042,7 @@ "saved": "Дизайн сертификата сохранен.", "unsaved": "несохраненный", "free_plan": "Бесплатный план", - "preview": "Предварительный просмотр в реальном времени", + "preview": "Предпросмотр в реальном времени", "sections": "Разделы редактора", "panel_templates": "Шаблоны", "panel_templates_subtitle": "Выберите шаблон, чтобы закрепить визуальный стиль.", @@ -1054,7 +1054,7 @@ "panel_export_subtitle": "Предварительный просмотр текущего дизайна по мере его реализации.", "section_header": "Копия заголовка", "section_signatories": "Подписавшиеся", - "section_reference": "Ссылка", + "section_reference": "Справка", "subtitle": "Субтитры", "subtitle_placeholder": "Награжден высшим отличием", "description_override": "Переопределение описания", @@ -1073,7 +1073,7 @@ "print": "Распечатать", "export_hint": "При экспорте в качестве получателя используется ваше имя, чтобы вы могли просмотреть окончательный макет.", "preview_failed": "Не удалось создать предварительный просмотр сертификата", - "sample_recipient": "Элеонора Вэнс", + "sample_recipient": "Eleanor Vance", "sample_course": "Сертификат качества", "sample_description": "В знак признания выдающихся достижений и образцовой преданности делу.", "sample_org": "Королевская академия художеств", @@ -1128,8 +1128,8 @@ } }, "roles": { - "admin": "Админ", - "tutor": "Репетитор", + "admin": "Администратор", + "tutor": "Преподаватель", "student": "Студент", "filter": "Фильтр" }, @@ -1187,26 +1187,26 @@ "direct_email_bulk": "Прямая рассылка по электронной почте/массовое приглашение", "direct_email_description": "Вставьте адреса электронной почты, разделенные запятой, пробелом или новой строкой. Для каждого электронного письма создается уникальное безопасное приглашение.", "recipient_emails": "Электронная почта получателя", - "recipient_emails_placeholder": "студент1@example.com, студент2@example.com", + "recipient_emails_placeholder": "student1@example.com, student2@example.com", "send_invite_emails": "Отправляйте приглашения по электронной почте немедленно", "create_email_invites": "Создание приглашений по электронной почте", - "existing_students_title": "Add existing org students", + "existing_students_title": "Добавить существующих студентов организации", "existing_students_description": "Выберите студентов, уже обучающихся в этой организации, и предоставьте им прямой доступ к этому курсу.", - "existing_students_search": "Search organization students", - "loading_existing_students": "Loading organization students...", - "no_existing_students": "No organization students are available to add.", - "no_matching_existing_students": "No organization students match your search.", - "notify_existing_students": "Send course access email", - "grant_access": "Grant Access", + "existing_students_search": "Поиск студентов организации", + "loading_existing_students": "Загрузка студентов организации...", + "no_existing_students": "Нет доступных студентов организации для добавления.", + "no_matching_existing_students": "Ни один студент организации не соответствует вашему поиску.", + "notify_existing_students": "Отправить письмо о доступе к курсу", + "grant_access": "Предоставить доступ", "grant_access_modal": { "title": "Предоставить доступ студенту", "description": "Предоставьте {email} доступ к этому курсу. Мы отправим приглашение по электронной почте, чтобы присоединиться к вашей организации и записаться на курс.", "cancel": "Отмена", "send_invite": "Отправить приглашение" }, - "invite_new_students_title": "Invite new students", - "invite_new_students_description": "Invite new people into your organization and pre-assign them to this course. They will create an account, accept the invite, and get access.", - "invite_new_students": "Invite Students", + "invite_new_students_title": "Пригласить новых студентов", + "invite_new_students_description": "Пригласите новых людей в организацию и заранее назначьте их на этот курс. Они создадут аккаунт, примут приглашение и получат доступ.", + "invite_new_students": "Пригласить студентов", "existing_invites": "Существующие приглашения", "refresh": "Обновить", "loading_invites": "Загрузка приглашений...", @@ -1225,11 +1225,11 @@ "hide_audit": "Скрыть аудит", "no_audit_events": "Нет событий аудита.", "audit_at": "В", - "audit_email": "электронная почта", - "audit_actor": "Актер", + "audit_email": "Эл. почта", + "audit_actor": "Участник", "audit_ip": "ИП", - "scan_qr": "Сканировать QR-код", - "classroomio_brand": "КлассIO.com", + "scan_qr": "Сканировать QR", + "classroomio_brand": "ClassroomIO.com", "snackbar_invite_link_copied": "Ссылка для приглашения скопирована.", "snackbar_invite_link_regenerated": "Создана новая ссылка для приглашения.", "snackbar_failed_generate_link": "Не удалось создать ссылку для приглашения.", @@ -1240,7 +1240,7 @@ "snackbar_failed_load_audit": "Не удалось загрузить аудит приглашений.", "snackbar_metadata_copied": "Метаданные приглашения скопированы.", "snackbar_email_invites_success": "Создано приглашений: {count}. Отправлено {sent}, ошибка {failed}. Пропущено дубликатов: {duplicates}.", - "select_at_least_one_student": "Select at least one existing student", + "select_at_least_one_student": "Выберите хотя бы одного существующего студента", "presets": { "one_time_24h": "Одноразовый (24 часа)", "multi_use_7d": "Многоразовое использование (7 дней)", @@ -1285,7 +1285,7 @@ "delete_prompt": "Удалить", "delete_error": "Не удалось удалить отправку", "delete_success": "Отправка успешно удалена", - "student_avatar": "Студенческий аватар", + "student_avatar": "Аватар студента", "ai_icon": "ИИ" }, "submission_status": { @@ -1348,7 +1348,7 @@ "incomplete": "Неполный", "complete": "Завершить", "next": "Далее", - "prev": "Предыдущий", + "prev": "Назад", "prev_shortcut": "Назад (←)", "next_shortcut": "Далее (→)", "disabled": "Функция отключена", @@ -1375,7 +1375,7 @@ "create_poll": "Создать опрос", "question": "Вопрос", "options": "Опции", - "option_label": "Метка опции", + "option_label": "Метка варианта", "cancel": "Отмена", "poll_question": "Вопрос опроса" }, @@ -1435,11 +1435,11 @@ "check": "Проверить", "auto_graded_badge": "Автоматическая оценка", "manual_grading_required_badge": "Требуется ручная оценка", - "points_required_auto_grade": "Points must be greater than 0 for auto-graded exercises.", + "points_required_auto_grade": "Для автоматически оцениваемых упражнений баллы должны быть больше 0.", "analytics": { "submissions": "Материалы", "individual": { - "heading": "Индивидуальный", + "heading": "Индивидуально", "answers": "Индивидуальные ответы", "no": "Ответ не был предоставлен", "student_avatar": "Студент", @@ -1472,11 +1472,11 @@ "button": "кнопка для добавления", "questions": "вопросы", "sections": "разделы", - "points": "очки", + "points": "баллы", "all": "Все необходимое", "due": "К оплате", "no_description": "Нет описания", - "start": "Старт", + "start": "Начать", "graded": "Оцененный", "pending": "Ожидается", "submitted": "Отправлено", @@ -1523,17 +1523,17 @@ "file_upload": "Загрузка файла", "matching": "Соответствие", "ordering": "Заказ", - "hotspot": "Точка доступа", + "hotspot": "Hotspot", "link": "Ссылки", "word_bank": "Банк слов", "star": "Звездный рейтинг", "video_recording": "Запись видео" }, "select_type": "Выберите тип", - "question_type_auto_gradable": "Auto", - "question_type_auto_gradable_description": "Scored automatically by the system", - "question_type_manual_grading": "Manual", - "question_type_manual_grading_description": "Requires human review to score", + "question_type_auto_gradable": "Авто", + "question_type_auto_gradable_description": "Оценивается автоматически системой", + "question_type_manual_grading": "Вручную", + "question_type_manual_grading_description": "Требует проверки человеком для выставления оценки", "premium_question_type": "Обновите, чтобы использовать этот тип вопроса" }, "delete_confirmation": { @@ -1554,16 +1554,16 @@ "textarea": { "take": { "placeholder": "Напишите свой ответ", - "min_error": "Answer must be at least {min} characters.", - "max_error": "Answer must be at most {max} characters.", - "range_error": "Answer must be between {min} and {max} characters." + "min_error": "Ответ должен содержать не менее {min} символов.", + "max_error": "Ответ должен содержать не более {max} символов.", + "range_error": "Ответ должен содержать от {min} до {max} символов." }, "edit": { "placeholder": "Учащиеся будут отвечать длинным текстом", - "min_characters_label": "Minimum characters", - "min_characters_placeholder": "Minimum characters", - "max_characters_label": "Maximum characters", - "max_characters_placeholder": "Maximum characters" + "min_characters_label": "Минимум символов", + "min_characters_placeholder": "Минимум символов", + "max_characters_label": "Максимум символов", + "max_characters_placeholder": "Максимум символов" } }, "hotspot": { @@ -1661,7 +1661,7 @@ "numeric": { "preview": { "correct_value_label": "Правильное значение", - "tolerance_label": "Толерантность" + "tolerance_label": "Допуск" }, "take": { "placeholder": "Введите номер" @@ -1669,10 +1669,10 @@ "edit": { "correct_value_label": "Правильное значение", "correct_value_info": "Ожидаемый числовой ответ должен быть представлен учащимися, чтобы быть отмеченным как правильный.", - "tolerance_label": "Толерантность", + "tolerance_label": "Допуск", "tolerance_info": "Допустимое отклонение от правильного значения (например, 0,5 принимает +/-0,5).", "correct_value_placeholder": "Правильное значение", - "tolerance_placeholder": "Толерантность" + "tolerance_placeholder": "Допуск" }, "review": { "your_answer_label": "Отправлено:", @@ -1758,7 +1758,7 @@ "add_option": "Добавить вариант", "correct_badge": "Правильно", "not_set": "Не установлено", - "incorrect_badge": "Неправильный" + "incorrect_badge": "Неверно" }, "word_bank": { "review": { @@ -1779,7 +1779,7 @@ "template_helper": "Используйте три подчеркивания (___) для каждого пробела. Учащиеся увидят банк слов с правильными ответами и отвлекающими факторами.", "no_blanks_warning": "Добавьте в шаблон хотя бы один пустой маркер ___.", "correct_answers_heading": "Правильный ответ на каждый пропуск", - "blank_label": "Пустой", + "blank_label": "Пропуск", "correct_placeholder": "Правильный термин или фраза", "distractors_heading": "Лишние слова (отвлекающие слова)", "distractor_placeholder": "Неправильный вариант", @@ -1830,7 +1830,7 @@ "stop_recording": "Остановить запись", "elapsed": "Прошедшее", "remaining": "Осталось", - "max_duration": "Макс", + "max_duration": "Макс.", "too_short": "Запись не менее 1 секунды.", "use_recording": "Использовать запись", "retake": "Пересдать", @@ -1920,7 +1920,7 @@ "finish": "Готово", "select_template": "Выберите шаблон", "questions": "Вопросы", - "points": "Очки", + "points": "Баллы", "back": "Назад", "create_exercises": "Создавайте упражнения из заметок с помощью AI", "choose_questions": "Выберите, сколько вопросов и вариантов вы хотите, и искусственный интеллект поможет вам создать упражнение на основе вашей заметки. Пойдем.", @@ -2036,7 +2036,7 @@ "add_from_library": "Добавить из библиотеки", "cancel_upload": "Отменить загрузку", "upload_cancelled": "Загрузка отменена пользователем", - "max_files": "{count, plural, one {You can upload # file} other {You can upload # files}}", + "max_files": "{count, plural, one {Можно загрузить # файл} other {Можно загрузить # файлов}}", "max_files_and_size": "(до {size} каждый)", "google_drive_choose": "Выберите на Google Диске", "google_drive_opening": "Открытие выбора…", @@ -2057,15 +2057,15 @@ }, "empty_title": "Видео пока нет", "empty_description": "Добавляйте видео с YouTube, загружайте их или из своей медиатеки.", - "google_drive": "Гугл Диск", - "generate_transcript": "Generate transcription", - "generate_transcript_in_progress": "Transcribing…", + "google_drive": "Google Drive", + "generate_transcript": "Сгенерировать транскрипцию", + "generate_transcript_in_progress": "Транскрибирование…", "transcript": { - "title": "Transcript", - "captions_label": "Captions", - "language": "Language: {language}", - "empty": "No transcript yet. You can generate one from this card’s menu after the video is uploaded.", - "loading": "Loading transcript…", + "title": "Транскрипция", + "captions_label": "Субтитры", + "language": "Язык: {language}", + "empty": "Транскрипции пока нет. После загрузки видео её можно сгенерировать в меню этой карточки.", + "loading": "Загрузка транскрипции…", "open_side_panel": "Открыть панель стенограммы", "edit": "Изменить стенограмму", "save": "Сохранить", @@ -2076,9 +2076,9 @@ "next_video": "Транскрипт следующего видео" }, "simple_card": { - "kind_youtube": "Ютуб", + "kind_youtube": "YouTube", "kind_upload": "Загрузить", - "kind_google_drive": "Гугл Диск", + "kind_google_drive": "Google Drive", "kind_generic": "Встроенный", "course_fallback": "Курс", "menu_aria": "Параметры видео", @@ -2097,7 +2097,7 @@ }, "slide": { "title": "Слайд", - "slide_link": "Слайд-ссылка", + "slide_link": "Ссылка на слайд", "helper_message": "Вы можете встроить Google Slides или Canva Presentation." }, "note": { @@ -2220,7 +2220,7 @@ "add_to_calendar": "Добавить в календарь", "add_google": "Google Календарь", "add_outlook": "Outlook.com", - "add_office365": "Офис 365", + "add_office365": "Office 365", "add_yahoo": "Yahoo-календарь", "add_apple": "Календарь Apple (.ics)", "starts_in": "Начинается через", @@ -2263,14 +2263,14 @@ "delete": "Удалить" }, "card": { - "pin": "Пин-код", + "pin": "Закрепить", "unpin": "Открепить", "edit": "Редактировать", "delete": "Удалить" } }, "compliance": { - "title": "Соответствие", + "title": "Соответствие требованиям", "not_compliance_title": "Соответствие не включено", "not_compliance_description": "Этот курс не настроен как курс соответствия.", "loading": "Загрузка записей о соответствии...", @@ -2307,13 +2307,13 @@ }, "fields": { "learner": "Студент", - "email": "электронная почта", + "email": "Эл. почта", "status": "Статус", "cycle": "Цикл", "due_date": "Срок сдачи", "completed_at": "Завершено в", "valid_until": "Действительно до", - "score": "Оценка", + "score": "Балл", "attempts": "Попытки" }, "bulk_actions": { @@ -2355,8 +2355,8 @@ "empty": "Результаты не найдены" }, "header": { - "preview": "Preview course", - "preview_missing_slug": "Generate and save a course slug before previewing.", + "preview": "Предпросмотр курса", + "preview_missing_slug": "Создайте и сохраните slug курса перед предпросмотром.", "view_as_student": "Посмотреть как студент", "view_course_site": "Посмотреть сайт курса" }, @@ -2373,8 +2373,8 @@ "exercises": "{count} упражнений" }, "compliance": { - "title": "Соответствие", - "due_date": "Срок погашения", + "title": "Соответствие требованиям", + "due_date": "Срок", "valid_until": "Действительно до" }, "progress": { @@ -2390,7 +2390,7 @@ "nav_attendance": "посещаемость", "nav_submissions": "Материалы", "nav_marks": "Знаки", - "nav_compliance": "Соответствие", + "nav_compliance": "Соответствие требованиям", "nav_people": "Люди", "nav_analytics": "Аналитика", "nav_certificates": "Сертификаты", @@ -2561,16 +2561,16 @@ "publish_course": "Опубликовать курс", "copy_course_url": "Копировать URL курса" }, - "due_date": "Срок погашения", + "due_date": "Срок", "valid_until": "Действительно до" }, "course_filter": { - "date_created_newest": "Date Created: Newest first", - "date_created_oldest": "Date Created: Oldest first", - "published_first": "Published: Published first", - "unpublished_first": "Published: Unpublished first", - "most_lessons": "Lessons: Most first", - "fewest_lessons": "Lessons: Fewest first", + "date_created_newest": "Дата создания: сначала новые", + "date_created_oldest": "Дата создания: сначала старые", + "published_first": "Публикация: сначала опубликованные", + "unpublished_first": "Публикация: сначала неопубликованные", + "most_lessons": "Уроки: сначала больше", + "fewest_lessons": "Уроки: сначала меньше", "date_created": "Дата создания", "published": "Опубликовано", "lessons": "Уроки" @@ -2582,12 +2582,12 @@ "popover_title": "Фильтры", "sort": "Сортировать", "order": "Порядок", - "ascending": "Asc", - "descending": "Desc", + "ascending": "По возр.", + "descending": "По убыв.", "tags": "Теги", "empty_tags": "Нет доступных тегов" }, - "page_subtitle": "Where lessons turn into courses and courses turn into enrollments." + "page_subtitle": "Здесь уроки превращаются в курсы, а курсы — в зачисления." }, "ai": { "help_me": "Помогите мне написать", @@ -2614,13 +2614,13 @@ "lms_dashboard_hero": "Сегодня еще один день, который приблизит вас к вашим целям обучения. Не сдавайтесь, чем больше вы узнаете, тем лучше у вас получится.", "lessons_completed": "Уроки завершены", "no_courses_started": "Курсы не начались", - "certificates_earned": "Certificates issued", - "certificates_earned_description": "Total certificates issued to students in your organization", + "certificates_earned": "Выданные сертификаты", + "certificates_earned_description": "Общее число сертификатов, выданных студентам вашей организации", "certification_rate": "Сертифицированы", - "recent_certifications": "Recent certifications", - "no_certifications_yet": "No certificates earned yet", - "no_certifications_yet_description": "When students complete a course and earn a certificate, they will appear here", - "view_courses": "View courses", + "recent_certifications": "Недавние сертификаты", + "no_certifications_yet": "Сертификатов пока нет", + "no_certifications_yet_description": "Когда студенты завершат курс и получат сертификат, они появятся здесь", + "view_courses": "Просмотреть курсы", "no_of_courses": "Количество курсов", "no_courses_description": "Курсы, созданные в этой организации", "total_students": "Всего студентов", @@ -2647,18 +2647,18 @@ "lms_today_progress": "Ваш прогресс в обучении – {progress} %. Каждый шаг имеет значение.", "lms_today_empty": "Ваш путь обучения готов, когда вы будете готовы.", "compliance_score": "Оценка соответствия", - "compliance": "Соответствие", + "compliance": "Соответствие требованиям", "compliance_score_subtitle": "{completed} из {total} курсов по обеспечению соответствия требованиям, пройденных на данный момент", "compliance_score_empty": "Курсы соответствия еще не назначены", "compliance_met": "выполнено {completed} из {total}", "required_courses_completed": "Пройдено {completed} из {total} обязательных курсов", - "streak": "Полоса", + "streak": "Серия", "days_active": "дней активности", "items_done": "{completed} из {total} выполнено", "login_activity_title": "Активность входа учащихся", "login_activity_description": "Самые активные дни недели (последние 90 дней)", "login_activity_no_data": "Пока нет активности входа", - "login_activity_logins": "логины", + "login_activity_logins": "входов", "open_academy": "Открытая Академия", "explore_more_courses": "Ознакомьтесь с другими курсами", "view_more": "Посмотреть больше", @@ -2709,7 +2709,7 @@ "domains": { "title": "Пользовательский домен", "add": "Добавить", - "url": "URL-адрес", + "url": "URL", "update": "Обновить домен", "custom": "Пользовательский домен", "domain": "Добавьте свое собственное доменное имя", @@ -2774,7 +2774,7 @@ "continue": "Продолжить", "rename": "Переименовать", "updated": "Обновлено", - "start": "Начать викторину", + "start": "Начать тест", "start_typing": "Начните вводить свой вопрос", "required_field": "Это поле обязательно для заполнения", "type_answer": "Введите ответ", @@ -2791,7 +2791,7 @@ "goto": "Перейти к", "courses": "Курсы", "home": "Главная", - "classroomio_home": "КлассIO Главная страница", + "classroomio_home": "Главная ClassroomIO", "dashboard": "Панель управления", "discussion": "Обсуждение", "people": "Люди", @@ -2820,7 +2820,7 @@ "progress": "Прогресс", "completed": "завершено", "done": "Готово", - "todo": "Тодо", + "todo": "Задачи", "publish_course": { "title": "Опубликовать курс", "desc": "Сделайте свой курс общедоступным и доступным для покупки", @@ -2881,7 +2881,7 @@ "courses": "Курсы", "community": "Сообщество", "audience": "Аудитория", - "media": "СМИ", + "media": "Медиа", "setup": "Настройка", "help": "Помощь", "settings": "Настройки", @@ -2893,14 +2893,14 @@ "widgets": "Виджеты", "stats": "Статистика", "analytics": "Аналитика", - "compliance": "Соответствие", + "compliance": "Соответствие требованиям", "cohorts": "Когорты", "upgrade_now": "Обновите сейчас", "upgrade_students": "{studentCount} из {studentLimit} студентов", "upgrade_left": "{count} осталось" }, "media_manager": { - "page_title": "Медиа-менеджер — ClassroomIO", + "page_title": "Медиаменеджер — ClassroomIO", "heading": "Медиа-менеджер", "empty": "Активы не найдены", "usage": { @@ -2976,10 +2976,10 @@ }, "provider": { "upload": "Загрузить", - "youtube": "Ютуб", + "youtube": "YouTube", "generic": "Общий", "external_url": "Внешний URL-адрес", - "google_drive": "Гугл Диск" + "google_drive": "Google Drive" }, "kind": { "video": "Видео", @@ -3016,13 +3016,13 @@ "not_available": "Н/Д" }, "empty_description": "Актив не существует или недоступен в этой организации.", - "page_subtitle": "Keep files, videos, and links for your courses in one library.", + "page_subtitle": "Храните файлы, видео и ссылки для курсов в одной библиотеке.", "thumbnails": { "manage_title": "Управление миниатюрами", "manage_description": "Просмотрите видео, выберите один из автоматически созданных кадров или загрузите свой собственный.", "preview_unavailable": "Предварительный просмотр недоступен", "generated": "Созданные миниатюры", - "slot_start": "Старт", + "slot_start": "Начало", "slot_middle": "Средний", "slot_end": "Конец", "none_generated_warning": "Миниатюры еще не созданы. Попробуйте восстановить или загрузить собственное изображение.", @@ -3052,13 +3052,13 @@ "provider": "Мы используем Polar, чтобы управлять вашими платежами.", "open_billing": "Открыть биллинг", "error": "Произошла ошибка при открытии счета.", - "page_subtitle": "Your plan, billing portal, and how you pay for ClassroomIO.", + "page_subtitle": "Ваш тариф, портал оплаты и способы оплаты ClassroomIO.", "ai_credits": "AI credits", "ai_tokens_used": "AI credits использовано в этом месяце", "ai_bonus_credits": "доступны bonus AI credits" }, "integrations": { - "heading": "Телеграмма", + "heading": "Telegram", "sub_heading": "Подключите свою учетную запись к Telegram, чтобы получать уведомления о любых изменениях в приложении.", "step_authenticate": "Шаг 1. Подтвердите свою учетную запись с помощью бота ClassroomIO.", "open_bot_button": "Открыть бот", @@ -3066,7 +3066,7 @@ "connect_button": "Подключиться", "success_message": "Интеграция прошла успешно", "disconnect": "Отключить", - "page_subtitle": "Connect Telegram to get notified when important things happen." + "page_subtitle": "Подключите Telegram, чтобы получать уведомления о важных событиях." }, "landing_page": { "heading": "Целевая страница", @@ -3082,7 +3082,7 @@ "show_links": "Показать ссылки", "description": "Добавьте пользовательские навигационные ссылки, которые будут отображаться на панели навигации в заголовке.", "label": "Этикетка", - "url": "URL-адрес", + "url": "URL", "label_placeholder": "например, О нас", "url_placeholder": "например, #about-us или https://example.com.", "new_tab": "Открыть в новой вкладке", @@ -3094,8 +3094,8 @@ "heading": "Нижний колонтитул", "show_section": "Показать раздел", "hide_section": "Скрыть раздел", - "facebook": "Фейсбук", - "twitter": "Твиттер", + "facebook": "Facebook", + "twitter": "Twitter", "linkedin": "LinkedIn" }, "mailing_list": { @@ -3114,7 +3114,7 @@ "title_highlight": "Название-Выделение", "subtitle": "Субтитры", "phone_number": "Номер телефона", - "email": "электронная почта", + "email": "Эл. почта", "address": "Адрес" }, "faq": { @@ -3162,7 +3162,7 @@ "show_background": "Показать фон", "hide_background": "Скрыть фон" }, - "page_subtitle": "Shape the marketing page people see before they sign up or enroll.", + "page_subtitle": "Настройте маркетинговую страницу, которую люди видят до регистрации или зачисления.", "editor": { "save": "Сохранить", "close": "Закрыть", @@ -3171,22 +3171,22 @@ "text": "Текст нижнего колонтитула", "add": "Добавить ссылку в нижнем колонтитуле", "default_label": "Новая ссылка", - "link_label": "Ярлык ссылки", - "link_href": "URL-адрес ссылки", + "link_label": "Метка ссылки", + "link_href": "URL ссылки", "remove": "Удалить ссылку в нижнем колонтитуле", "brand": { - "legend": "Brand", - "description": "Your organization logo and name always appear here (from organization settings). Add optional details below.", - "preview_label": "Footer brand preview", - "tagline": "Tagline", - "tagline_placeholder": "Small line under your brand", - "copyright": "Copyright", - "copyright_placeholder": "© 2026 Your Organization", - "social_label": "Social links", - "platform_field": "Platform", - "url_label": "Profile URL", - "add_social": "Add social link", - "remove_social": "Remove social link", + "legend": "Бренд", + "description": "Логотип и название организации всегда отображаются здесь (из настроек организации). Добавьте дополнительные сведения ниже.", + "preview_label": "Предпросмотр бренда в подвале", + "tagline": "Слоган", + "tagline_placeholder": "Короткая строка под вашим брендом", + "copyright": "Авторские права", + "copyright_placeholder": "© 2026 Ваша организация", + "social_label": "Ссылки на соцсети", + "platform_field": "Платформа", + "url_label": "URL профиля", + "add_social": "Добавить ссылку на соцсеть", + "remove_social": "Удалить ссылку на соцсеть", "platforms": { "instagram": "Instagram", "x": "X", @@ -3195,29 +3195,29 @@ "youtube": "YouTube", "github": "GitHub", "tiktok": "TikTok", - "website": "Website" + "website": "Веб-сайт" } }, "columns": { - "legend": "Link columns", - "description": "Add grouped links (like Company or Resources). Enables a multi-column footer layout.", - "empty_hint": "No columns yet — add one to show a multi-column footer beside your brand.", - "add": "Add column", - "remove": "Remove column", - "heading_label": "Column heading", - "heading_placeholder": "e.g. Company", - "add_link": "Add link", - "remove_link": "Remove link", - "links_max_reached": "Up to 10 links per column", - "cta_toggle": "Add CTA link", - "cta_label": "CTA label", - "cta_href": "CTA URL", - "cta_default_label": "Explore more", - "max_reached": "Up to 6 columns" + "legend": "Колонки ссылок", + "description": "Добавьте сгруппированные ссылки (например, «Компания» или «Ресурсы»). Включает много колоночный макет подвала.", + "empty_hint": "Колонок пока нет — добавьте одну, чтобы показать много колоночный подвал рядом с брендом.", + "add": "Добавить колонку", + "remove": "Удалить колонку", + "heading_label": "Заголовок колонки", + "heading_placeholder": "например, Компания", + "add_link": "Добавить ссылку", + "remove_link": "Удалить ссылку", + "links_max_reached": "До 10 ссылок в колонке", + "cta_toggle": "Добавить ссылку CTA", + "cta_label": "Метка CTA", + "cta_href": "URL CTA", + "cta_default_label": "Узнать больше", + "max_reached": "До 6 колонок" }, "bottom": { - "legend": "Bottom row", - "add_link": "Add bottom link" + "legend": "Нижняя строка", + "add_link": "Добавить нижнюю ссылку" } }, "embed": { @@ -3248,8 +3248,8 @@ "navigation": { "add": "Добавить навигационную ссылку", "default_label": "Новая ссылка", - "link_label": "Ярлык ссылки", - "link_href": "URL-адрес ссылки", + "link_label": "Метка ссылки", + "link_href": "URL ссылки", "remove": "Удалить навигационную ссылку" }, "hero": { @@ -3271,7 +3271,7 @@ "label_field": "Этикетка", "value_field": "Значение", "label_placeholder": "Активные студенты", - "value_placeholder": "1200" + "value_placeholder": "1,200" } }, "sections": { @@ -3284,7 +3284,7 @@ "embed": "Встроить", "embed_desc": "Дополнительный раздел iframe, отображаемый после курсов.", "footer": "Нижний колонтитул", - "footer_desc": "Brand line, socials, multi-column links, and bottom legal row.", + "footer_desc": "Строка бренда, соцсети, много колоночные ссылки и нижняя юридическая строка.", "links": "Ссылки", "links_desc": "Дополнительный блок внешних ссылок (справочный центр, сообщество, вебинары), отображаемых после курсов." }, @@ -3306,7 +3306,7 @@ "card_placeholder_community": "Сообщество", "card_description": "Описание карты", "card_description_placeholder": "например Просмотрите руководства и часто задаваемые вопросы", - "card_href": "URL-адрес ссылки", + "card_href": "URL ссылки", "card_href_placeholder": "https://...", "card_icon": "Значок", "add_card": "Добавить карточку со ссылкой", @@ -3322,7 +3322,7 @@ "newspaper": "Новости", "rocket": "Начать", "calendar": "События", - "mail": "электронная почта" + "mail": "Эл. почта" } } }, @@ -3382,7 +3382,7 @@ "description": "Создан с использованием основных функций, которые можно легко настроить — кодирование не требуется.", "by_classroomio": "от ClassroomIO", "add": "Добавить", - "upgrade": "Обновление", + "upgrade": "Обновить", "apply_theme": "Применить тему", "preview": "Предварительный просмотр", "card_menu_label": "Опции темы" @@ -3393,7 +3393,7 @@ "field_theme": "Тема", "field_hero": "Главный заголовок", "field_nav": "Навигация", - "field_nav_count_one": "{count} ссылки", + "field_nav_count_one": "{count} ссылка", "field_nav_count_other": "{count} ссылок", "hero_empty": "—", "customize": "Настройте целевую страницу" @@ -3445,7 +3445,7 @@ "heading": "Личная информация", "full_name": "Полное имя", "username": "Имя пользователя", - "email": "электронная почта", + "email": "Эл. почта", "confirm": "Подтвердить", "cancel": "Отмена", "email_change_verification_note": "На ваш текущий адрес электронной почты было отправлено письмо с подтверждением. Новый адрес электронной почты не вступит в силу, пока вы не примете письмо с подтверждением.", @@ -3458,7 +3458,7 @@ "accepted": "Принято:", "validation_error": "Размер файла превышает максимальный предел:" }, - "page_subtitle": "Your name, email, and how you appear wherever you work in ClassroomIO." + "page_subtitle": "Ваше имя, эл. почта и то, как вы отображаетесь в ClassroomIO." }, "tabs": { "profile_tab": "Профиль", @@ -3468,12 +3468,12 @@ "integrations_tab": "Интеграции", "language_tab": "Язык", "auth_tab": "Аутентификация", - "sso_tab": "система единого входа", - "token_auth_tab": "Токен аутентификации", + "sso_tab": "SSO", + "token_auth_tab": "Аутентификация по токену", "customize_lms_tab": "Настроить систему управления обучением", "domains_tab": "Домены", "teams_tab": "Команды", - "ai_credits_tab": "AI Credits", + "ai_credits_tab": "Кредиты ИИ", "ai_tutor_tab": "Репетитор по искусственному интеллекту", "notifications_tab": "Уведомления" }, @@ -3505,9 +3505,9 @@ "client_secret_placeholder": "От вашего поставщика удостоверений личности", "create_button": "Создать соединение", "providers": { - "okta": "Окта", - "google_workspace": "Google Рабочая область", - "auth0": "Авторизация0" + "okta": "Okta", + "google_workspace": "Google Workspace", + "auth0": "Auth0" } }, "policies": { @@ -3518,7 +3518,7 @@ "description": "Разрешить администраторам обходить систему единого входа с помощью адреса электронной почты и пароля в случае чрезвычайной ситуации." }, "auto_join": { - "label": "Автоматическое присоединение", + "label": "Автоприсоединение", "description": "Разрешите пользователям с соответствующими доменами электронной почты автоматически присоединяться к вашей организации." }, "force_sso": { @@ -3583,13 +3583,13 @@ }, "tabs": { "general": "Общий", - "sso": "система единого входа", - "token_auth": "Токен аутентификации" + "sso": "SSO", + "token_auth": "Аутентификация по токену" }, - "page_subtitle": "Control sign-up, login, SSO, and token-based access for this org." + "page_subtitle": "Управляйте регистрацией, входом, SSO и доступом по токену для этой организации." }, "token_auth": { - "heading": "Токен аутентификации", + "heading": "Аутентификация по токену", "description": "Разрешите пользователям входить в систему из вашего приложения с помощью JWT — пароль не требуется. Создайте секрет подписи и используйте его в своей серверной части для выдачи кратковременных JWT.", "status": "Статус", "active": "Активный", @@ -3609,12 +3609,12 @@ "actions_menu": "Действия по авторизации токена" }, "teams": { - "page_subtitle": "Invite teammates and control who helps run this organization." + "page_subtitle": "Приглашайте коллег и управляйте тем, кто помогает вести эту организацию." }, "ai_credits": { - "sub_title": "AI credits", + "sub_title": "Кредиты ИИ", "page_subtitle": "Отслеживайте использование AI-ассистента, расход команды и покупайте пакеты AI credits.", - "cost_note": "Credit usage is weighted by model cost. Gemini 3.1 Flash Lite counts as 1 credit unit per token. GPT-5.4 Mini and Kimi K2.6 count as 4× per token. Claude Sonnet 4.6 counts as 11× per token, reflecting its higher API cost.", + "cost_note": "Расход кредитов зависит от стоимости модели. Gemini 3.1 Flash Lite учитывается как 1 единица кредита за токен. GPT-5.4 Mini и Kimi K2.6 — как 4× за токен. Claude Sonnet 4.6 — как 11× за токен, что отражает более высокую стоимость API.", "included": { "title": "Включённое использование", "subtitle": "Ежемесячные AI credits включены в ваш план.", @@ -3629,8 +3629,8 @@ "chart": { "heading": "Использование", "subheading": "Ежедневное потребление AI credits в этом месяце.", - "tokens": "Credits", - "total_tokens": "Total credits", + "tokens": "Кредиты", + "total_tokens": "Всего кредитов", "total_requests": "Всего запросов", "empty": "В этом месяце использование пока не зафиксировано." }, @@ -3639,14 +3639,14 @@ "this_month": "Текущий месяц", "user": "Пользователь", "favorite_model": "Любимая model", - "tokens": "Credits", + "tokens": "Кредиты", "empty": "Никто в вашей команде не использовал AI-ассистента в этом месяце." }, "buy_tokens": { "title": "Купить больше credits", "description": "Каждый пакет добавляет 5,000,000 credits за $5 USD. Выберите, сколько пакетов вам нужно.", "quantity_hint": "пакеты", - "preview": "{quantity} pack(s) · {tokens} credits · ${dollars}", + "preview": "{quantity} пак. · {tokens} кредитов · ${dollars}", "buy_button": "Купить за ${dollars}" } }, @@ -3831,7 +3831,7 @@ "live_class_subtitle": "Идеально подходит для учебных курсов, где уроки основаны на времени", "self_paced_label": "Самостоятельный темп", "self_paced_subtitle": "Лучше всего подходит для курсов, где студенты могут брать уроки в удобном для них темпе.", - "compliance_label": "Соответствие", + "compliance_label": "Соответствие требованиям", "compliance_subtitle": "Регулярное обучение с повторной сдачей, напоминаниями и отслеживанием продлений", "public_label": "Общественный", "public_subtitle": "Бесплатные страницы курсов без регистрации, которыми вы можете поделиться публично — отлично подходит для привлечения потенциальных клиентов." @@ -3920,7 +3920,7 @@ } }, "tags_admin": { - "page_title": "Теги - КлассIO", + "page_title": "Теги — ClassroomIO", "heading": "Теги", "create": "Создать", "tag_modal": { @@ -3968,7 +3968,7 @@ "common": { "not_available": "Н/Д" }, - "page_subtitle": "Organize courses with labels so filters and lists stay easy to scan." + "page_subtitle": "Организуйте курсы с помощью меток, чтобы фильтры и списки было легко просматривать." }, "invite": { "organization": { @@ -3977,7 +3977,7 @@ "invitation_teacher": "Вас пригласили в {orgName} в качестве преподавателя.", "invitation_admin": "Вас пригласили в {orgName} в качестве администратора.", "invitation_fallback": "Вас пригласили в {orgName} в качестве {role}.", - "email_line": "Электронная почта: {email}", + "email_line": "Эл. почта: {email}", "accept_button": "Принять приглашение", "go_to_dashboard": "Перейти в панель управления", "messages": { @@ -4022,12 +4022,12 @@ "generate": "Создать ключ MCP", "secret_once": "Этот секрет раскрывается один раз. Скопируйте его в свой клиент MCP сейчас.", "modal": { - "title": "Create MCP key", - "description": "Choose a name for this MCP key before it is generated.", - "name_label": "Key name", + "title": "Создать MCP-ключ", + "description": "Выберите имя для этого MCP-ключа перед его созданием.", + "name_label": "Имя ключа", "name_placeholder": "ClassroomIO OpenCode", - "cancel": "Cancel", - "save": "Create key" + "cancel": "Отмена", + "save": "Создать ключ" } }, "usage": { @@ -4041,31 +4041,31 @@ "rate_limits_description": "Запросы на чтение/запись/публикацию разрешены в минуту.", "used_label": "Использовано:" }, - "page_subtitle": "Connect AI tools to ClassroomIO with org-scoped keys you can rotate anytime." + "page_subtitle": "Подключайте ИИ-инструменты к ClassroomIO с помощью ключей организации, которые можно менять в любое время." }, "api": { - "subtitle": "Manage API keys to integrate with the ClassroomIO public API.", + "subtitle": "Управляйте API-ключами для интеграции с публичным API ClassroomIO.", "keys": { - "title": "API keys", - "description": "These keys authenticate the current organization when calling the ClassroomIO public API.", - "generate": "Generate API key", - "secret_once": "This secret is shown once. Copy it and store it securely.", - "empty_title": "No API keys yet", - "empty_description": "Create the first org-scoped API key to use the ClassroomIO public API.", + "title": "API-ключи", + "description": "Эти ключи аутентифицируют текущую организацию при вызове публичного API ClassroomIO.", + "generate": "Сгенерировать API-ключ", + "secret_once": "Этот секрет показывается один раз. Скопируйте и сохраните его в надёжном месте.", + "empty_title": "API-ключей пока нет", + "empty_description": "Создайте первый API-ключ организации для использования публичного API ClassroomIO.", "modal": { - "title": "Create API key", - "description": "Choose a name for this API key before it is generated.", - "name_label": "Key name", - "name_placeholder": "My API integration", - "cancel": "Cancel", - "save": "Create key" + "title": "Создать API-ключ", + "description": "Выберите имя для этого API-ключа перед его созданием.", + "name_label": "Имя ключа", + "name_placeholder": "Моя API-интеграция", + "cancel": "Отмена", + "save": "Создать ключ" } }, "setup": { "title": "Быстрый старт", "description": "Используйте ключ API как Bearer-токен в каждом запросе. Замените заполнитель ключом из списка выше или вставьте секрет сразу после генерации." }, - "view_docs": "View Docs" + "view_docs": "Документация" }, "keys": { "active": "Активный", @@ -4086,9 +4086,9 @@ "table_last_used": "Последнее использование" }, "clients": { - "claude_code": "Клод Код", - "codex": "Кодекс", - "cursor": "Курсор", + "claude_code": "Claude Code", + "codex": "Codex", + "cursor": "Cursor", "opencode": "OpenCode", "curl": "cURL", "javascript": "JavaScript", @@ -4096,8 +4096,8 @@ "go": "Go" }, "tabs": { - "mcp": "МКП", - "zapier": "Запир", + "mcp": "MCP", + "zapier": "Zapier", "api": "API" }, "permissions": { @@ -4105,13 +4105,13 @@ "disabled_description": "Только администраторы организации могут создавать, менять или отзывать ключи автоматизации. Учителя могут ознакомиться с инструкциями по настройке здесь." }, "zapier": { - "page_subtitle": "Automate ClassroomIO with thousands of apps through Zapier. Coming soon." + "page_subtitle": "Автоматизируйте ClassroomIO с тысячами приложений через Zapier. Скоро." } }, "ai_assistant": { "empty_state": "Попросите меня помочь с содержанием вашего курса: набросайте уроки, сформулируйте вопросы или спланируйте курс на основе документа.", "input_placeholder": "Спросите ИИ-помощника...", - "quote_lesson_note": "Quote in assistant", + "quote_lesson_note": "Цитировать в помощнике", "attach_document": "Прикрепите документ (PDF, DOCX, PPTX)", "upgrade_to_upload": "Обновите, чтобы загружать документы", "tokens_exhausted": "Достигнут месячный лимит токенов AI.", @@ -4120,7 +4120,7 @@ "no_conversations": "Пока нет разговоров", "untitled": "Без названия", "new_chat": "Новый чат", - "tokens_label": "жетоны", + "tokens_label": "токены", "implementing_course_plan": "Реализация плана курса", "resume": "Продолжить", "stopped_content_kept": "Остановился. Созданный контент сохранен.", @@ -4132,76 +4132,76 @@ "agent_running_warning": "Изменения появятся в курсе, как только агент завершит работу. Не перезагружайте страницу.", "agent_running_warning_dismiss": "Закрыть", "quick_action": { - "upload_document_course": "Upload a document to create a course", - "draft_lesson": "Draft a lesson", - "generate_questions_from_lesson": "Generate questions from this lesson", - "summarize_lesson": "Summarize this lesson", - "publish_course": "Help me publish this course" + "upload_document_course": "Загрузить документ для создания курса", + "draft_lesson": "Набросать урок", + "generate_questions_from_lesson": "Сгенерировать вопросы по этому уроку", + "summarize_lesson": "Суммировать этот урок", + "publish_course": "Помогите опубликовать этот курс" }, - "plan_applying_changes": "Applying changes", - "plan_working": "Working", - "plan_progress": "{completed} / {total} steps completed", - "stop": "Stop", - "copy_full_error": "Copy full error", - "resize_panel_aria_label": "Resize AI assistant panel", - "generic_working": "Working", - "run_failed_after": "{action} did not finish successfully.", + "plan_applying_changes": "Применение изменений", + "plan_working": "Выполняется", + "plan_progress": "Выполнено шагов: {completed} / {total}", + "stop": "Остановить", + "copy_full_error": "Скопировать полный текст ошибки", + "resize_panel_aria_label": "Изменить размер панели ИИ-помощника", + "generic_working": "Выполняется", + "run_failed_after": "{action} не завершилось успешно.", "tool": { "pending": { - "working": "Working", - "unknown_tool": "Running {toolName}", - "get_course_structure": "Reading course structure", - "get_lesson_content": "Reading lesson content", - "get_exercise_details": "Reading exercise", - "create_section": "Creating section", - "update_section": "Updating section", - "create_lesson": "Creating lesson", - "update_lesson": "Updating lesson", - "update_lesson_content": "Writing lesson content", - "create_exercise": "Creating exercise", - "create_exercise_section": "Creating exercise section", - "update_exercise": "Updating exercise", - "update_exercise_section": "Updating exercise section", - "add_questions": "Adding questions", - "update_questions": "Updating questions", - "reorder_content": "Reordering content", - "update_course_landing_page": "Updating landing page", - "check_course_go_live_readiness": "Checking go-live readiness", - "go_live_course": "Publishing course", - "generate_course_plan": "Generating course plan", + "working": "Выполняется", + "unknown_tool": "Выполняется {toolName}", + "get_course_structure": "Чтение структуры курса", + "get_lesson_content": "Чтение содержимого урока", + "get_exercise_details": "Чтение упражнения", + "create_section": "Создание раздела", + "update_section": "Обновление раздела", + "create_lesson": "Создание урока", + "update_lesson": "Обновление урока", + "update_lesson_content": "Запись содержимого урока", + "create_exercise": "Создание упражнения", + "create_exercise_section": "Создание раздела упражнений", + "update_exercise": "Обновление упражнения", + "update_exercise_section": "Обновление раздела упражнений", + "add_questions": "Добавление вопросов", + "update_questions": "Обновление вопросов", + "reorder_content": "Переупорядочивание содержимого", + "update_course_landing_page": "Обновление целевой страницы", + "check_course_go_live_readiness": "Проверка готовности к публикации", + "go_live_course": "Публикация курса", + "generate_course_plan": "Генерация плана курса", "ask_template_questions": "Подготовка шаблонной формы", "fetch_documentation_url": "Чтение страницы документации", "fetch_documentation_url_with_url": "Чтение {url}" }, "meta": { - "lesson_char_count": "({count, plural, one {# character} other {# characters}})", - "landing_page_preview": "· Preview changes", - "exercise_questions_added": "· {count, plural, one {# question added} other {# questions added}}", - "exercise_questions_updated": "· {count, plural, one {# question updated} other {# questions updated}}" + "lesson_char_count": "({count, plural, one {# символ} other {# символов}})", + "landing_page_preview": "· Предпросмотр изменений", + "exercise_questions_added": "· {count, plural, one {добавлен # вопрос} other {добавлено # вопросов}}", + "exercise_questions_updated": "· {count, plural, one {обновлён # вопрос} other {обновлено # вопросов}}" }, "done": { - "generic": "Done", - "create_section": "Created section: {title}", - "update_section": "Updated section: {title}", - "create_lesson": "Created lesson: {title}", - "update_lesson": "Updated lesson: {title}", - "update_lesson_content_fallback": "Wrote {count, plural, one {# character} other {# characters}}", - "create_exercise": "Created exercise «{title}» · {count, plural, one {# question} other {# questions}}", - "update_exercise": "Updated exercise: {title}", - "update_exercise_section": "Updated exercise section: {title}", - "add_questions_fallback": "{count, plural, one {Added # question} other {Added # questions}}", - "update_questions_fallback": "{count, plural, one {Updated # question} other {Updated # questions}}", - "create_exercise_section": "Created exercise section: {title}", - "get_course_structure": "Course structure loaded", - "get_lesson_content": "Lesson content loaded", - "get_exercise_details": "Exercise loaded", - "reorder_content": "Content reordered", - "update_course_landing_page": "Updated landing page: {title}", - "check_go_live_ready": "{warningCount, plural, =0{Ready to go live} other{Ready to go live — # warnings}}", - "check_go_live_blocked": "{blockerCount, plural, one{# blocker before go-live} other{# blockers before go-live}}", - "go_live_published": "Published course: {title}", - "go_live_not_published": "Course was not published", - "generate_course_plan": "Course plan generated", + "generic": "Готово", + "create_section": "Создан раздел: {title}", + "update_section": "Раздел обновлён: {title}", + "create_lesson": "Создан урок: {title}", + "update_lesson": "Урок обновлён: {title}", + "update_lesson_content_fallback": "Записано {count, plural, one {# символ} other {# символов}}", + "create_exercise": "Создано упражнение «{title}» · {count, plural, one {# вопрос} other {# вопросов}}", + "update_exercise": "Упражнение обновлено: {title}", + "update_exercise_section": "Раздел упражнений обновлён: {title}", + "add_questions_fallback": "{count, plural, one {Добавлен # вопрос} other {Добавлено # вопросов}}", + "update_questions_fallback": "{count, plural, one {Обновлён # вопрос} other {Обновлено # вопросов}}", + "create_exercise_section": "Создан раздел упражнений: {title}", + "get_course_structure": "Структура курса загружена", + "get_lesson_content": "Содержимое урока загружено", + "get_exercise_details": "Упражнение загружено", + "reorder_content": "Содержимое переупорядочено", + "update_course_landing_page": "Целевая страница обновлена: {title}", + "check_go_live_ready": "{warningCount, plural, =0{Готово к публикации} other{Готово к публикации — предупреждений: #}}", + "check_go_live_blocked": "{blockerCount, plural, one{# препятствие перед публикацией} other{# препятствий перед публикацией}}", + "go_live_published": "Курс опубликован: {title}", + "go_live_not_published": "Курс не был опубликован", + "generate_course_plan": "План курса сгенерирован", "ask_template_questions": "Шаблон формы готов.", "fetch_documentation_url": "Прочитать {url}" } @@ -4223,7 +4223,7 @@ "error_network": "Ошибка сети. Пожалуйста, проверьте подключение и повторите попытку.", "context_usage_tooltip": "{used} / {max} использовано токенов", "context_full_title": "Контекстное окно заполнено", - "context_full_description": "The assistant will summarize older messages automatically so you can keep working in this chat.", + "context_full_description": "Помощник автоматически сократит старые сообщения, чтобы вы могли продолжать работу в этом чате.", "context_full_compact": "Компактный разговор", "context_full_compacting": "Уплотнение...", "context_full_new_chat": "Начать новый чат с кратким описанием", @@ -4346,7 +4346,7 @@ "custom_css_locked": "Обновите, чтобы включить пользовательский CSS.", "embed_code": "Встроить код", "custom_css_hint": "Максимум 5000 символов.", - "border_radius_hint": "0 – 32 пикселей.", + "border_radius_hint": "0 – 32 px.", "font_scale_hint": "0,8–1,4 (1 = по умолчанию)." }, "create": { @@ -4400,10 +4400,10 @@ "draft": "Черновик", "published": "Опубликовано", "archived": "В архиве", - "live": "Живи" + "live": "Активен" }, "sort": { - "manual": "Руководство", + "manual": "Вручную", "newest": "Новейший", "title": "Название" }, @@ -4456,7 +4456,7 @@ }, "layout": { "card_grid": "Сетка карточек", - "tag_filter": "Фильтр тегов", + "tag_filter": "Фильтр по тегам", "carousel": "Карусель", "primary_course": "Начальный курс", "compact_list": "Компактный список", @@ -4493,8 +4493,8 @@ "embed": "Встроить" }, "viewport": { - "mobile": "мобильный", - "tablet": "Таблетка", + "mobile": "Мобильный", + "tablet": "Планшет", "desktop": "Рабочий стол" } }, @@ -4513,15 +4513,15 @@ } }, "side_panel": { - "close_aria": "Close panel", - "resize_panel_aria_label": "Resize panel", + "close_aria": "Закрыть панель", + "resize_panel_aria_label": "Изменить размер панели", "titles": { - "ai_assistant": "AI Assistant", - "transcript": "Transcript" + "ai_assistant": "ИИ-помощник", + "transcript": "Транскрипция" } }, "compliance": { - "title": "Соответствие", + "title": "Соответствие требованиям", "subtitle": "Отслеживайте статус сертификации по каждому курсу соответствия в вашей организации.", "learners": { "heading": "Студенты", @@ -4530,7 +4530,7 @@ "learner": "Студент", "course": "Курс", "status": "Статус", - "due_date": "Срок погашения", + "due_date": "Срок", "expires": "Срок действия истекает" }, "courses": { @@ -4567,7 +4567,7 @@ "learners": "Студенты" }, "summary": { - "heading": "Статус студента", + "heading": "Статус студентов", "description": "Учитывается среди студентов на всех курсах соответствия." } }, @@ -4602,7 +4602,7 @@ "create_cta_used": "использовано {used} из {allowance}", "create_cta_disabled_limit": "Вы достигли предела рабочего пространства {allowance}. Свяжитесь с нами для расширения.", "create_cta_disabled_upgrade": "Мультирабочее пространство — это функция Enterprise.", - "upgrade_link": "Обновление", + "upgrade_link": "Обновить", "primary_badge": "Первичный", "delete_action": "Удалить", "delete_confirm_title": "Удалить это рабочее пространство?", @@ -4672,7 +4672,7 @@ }, "field": { "enabled": "Репетитор по искусственному интеллекту включен", - "persona": "Образ репетитора", + "persona": "Персона репетитора", "customPersona": "Пользовательский персонаж", "customPersona_description": "Опишите, как должен звучать преподаватель — тон, стиль обращения, что-то особенное для вашей аудитории.", "responseLength": "Длина ответа", @@ -4789,7 +4789,7 @@ "invite": "Пригласить", "invite_modal_title": "Пригласить участников", "invite_modal_description": "Добавляйте людей в эту когорту по электронной почте.", - "email_label": "электронная почта", + "email_label": "Эл. почта", "role_label": "Роль", "add_another": "Добавить еще", "invite_submit": "Отправить приглашения", @@ -4837,7 +4837,7 @@ "delete": "Удалить" }, "card": { - "pin": "Пин-код", + "pin": "Закрепить", "unpin": "Открепить", "edit": "Редактировать", "delete": "Удалить" @@ -4885,8 +4885,8 @@ "sort": "Сортировать", "order": "Заказать", "status": "Статус", - "ascending": "по возрастанию", - "descending": "Описание", + "ascending": "По возр.", + "descending": "По убыв.", "sort_name": "Имя", "sort_courses": "Курсы", "sort_students": "Студенты", @@ -4952,7 +4952,7 @@ "required_count_label": "Необходимое количество курсов", "score_threshold_label": "Проходной балл на одного учащегося (%)", "team_pass_rate_label": "Процент проходов команды (%)", - "deadline_label": "Крайний срок", + "deadline_label": "Срок", "deadline_date_label": "Крайний срок", "relative_days_label": "Дни с момента присоединения студента", "recurring_months_label": "Повторять каждые (месяцев)", diff --git a/apps/dashboard/src/lib/utils/translations/vi.json b/apps/dashboard/src/lib/utils/translations/vi.json index 2c2a0e34..efca787d 100644 --- a/apps/dashboard/src/lib/utils/translations/vi.json +++ b/apps/dashboard/src/lib/utils/translations/vi.json @@ -545,14 +545,14 @@ "lessons_completed": "Bài học đã hoàn thành", "exercises_submitted": "Bài tập đã gửi", "average_grade": "Điểm trung bình", - "actions": "hành động", + "actions": "Hành động", "view_details": "Xem chi tiết", "no_students_found": "Không tìm thấy sinh viên nào", "no_students_description": "Hiện chưa có học viên nào đăng ký khóa học này. Học sinh sẽ xuất hiện ở đây khi họ tham gia khóa học.", "showing_students": "Đang hiển thị {start} cho {end} trong tổng số {total} sinh viên", "no_analytics_data": "Không có dữ liệu phân tích", "no_analytics_description": "Không thể tải dữ liệu phân tích cho khóa học này. Vui lòng thử lại sau hoặc liên hệ với bộ phận hỗ trợ nếu sự cố vẫn tiếp diễn.", - "student": "sinh viên", + "student": "Học viên", "student_progress_distribution": "Phân phối tiến bộ của học sinh", "grade_distribution": "Phân phối lớp", "progress_80_plus": "Tiến độ trên 80%", @@ -564,7 +564,7 @@ "grade_below_70": "Dưới 70% lớp", "number_of_students": "Số lượng sinh viên", "progress_range": "Phạm vi tiến độ", - "grade_range": "Phạm vi lớp", + "grade_range": "Khoảng điểm", "no_progress_data": "Không có dữ liệu tiến độ", "no_grade_data": "Không có dữ liệu điểm", "loading_chart": "Đang tải biểu đồ...", @@ -577,7 +577,7 @@ "description": "Tuyển sinh được nhóm theo loại khóa học", "subtitle": "{total} lượt đăng ký trên tất cả các loại", "empty": "Chưa có dữ liệu tuyển sinh", - "course_count": "{count, plural, one {# course} other {# courses}}", + "course_count": "{count, plural, one {# khóa học} other {# khóa học}}", "views_short": "lượt xem", "types": { "SELF_PACED": "Tự nhịp độ", @@ -635,8 +635,8 @@ "progress_distribution_card_description": "Có bao nhiêu học sinh rơi vào mỗi mức độ hoàn thành.", "grade_distribution_card_description": "Có bao nhiêu học sinh rơi vào từng nhóm lớp.", "students_table_description": "Tổng quan có thể sắp xếp với các liên kết đến hồ sơ sinh viên.", - "kpi_team_tutors": "{count, plural, one {# tutor on the course team} other {# tutors on the course team}}", - "kpi_lessons_exercises": "{count, plural, one {# exercise} other {# exercises}} được ánh xạ tới bài học", + "kpi_team_tutors": "{count, plural, one {# gia sư trong nhóm khóa học} other {# gia sư trong nhóm khóa học}}", + "kpi_lessons_exercises": "{count, plural, one {# bài tập} other {# bài tập}} được ánh xạ tới bài học", "kpi_progress_grade": "{grade}% điểm bài tập trung bình của các học sinh đã đăng ký" } }, @@ -702,10 +702,10 @@ "select_cohorts": "Chọn nhóm học tập cụ thể", "select_cohorts_placeholder": "Chọn nhóm học tập..." }, - "page_subtitle": "See who belongs to your org, who is learning, who is invited, and how to reach them.", + "page_subtitle": "Xem ai thuộc tổ chức của bạn, ai đang học, ai được mời và cách liên hệ với họ.", "user_analytics": { "title": "Hồ sơ sinh viên", - "page_subtitle": "Progress, grades, and activity across their courses." + "page_subtitle": "Tiến độ, điểm số và hoạt động trên các khóa học của họ." }, "delete": { "action": "Xóa", @@ -748,11 +748,11 @@ "cancel": "Hủy bỏ", "give": "Đưa ra câu trả lời", "comment": "Bình luận", - "page_subtitle": "Start a thread the whole community can see, and tie it to a course if you want." + "page_subtitle": "Bắt đầu một chủ đề mà cả cộng đồng có thể xem, và liên kết với khóa học nếu bạn muốn." }, - "page_subtitle": "Questions and answers shared across your organization's courses.", + "page_subtitle": "Câu hỏi và câu trả lời được chia sẻ trên các khóa học trong tổ chức của bạn.", "question": { - "page_subtitle": "Follow answers, vote, and join the discussion." + "page_subtitle": "Theo dõi câu trả lời, bình chọn và tham gia thảo luận." } }, "course": { @@ -895,7 +895,7 @@ "explore": "Khám phá các khóa học", "find": "Tìm các khóa học bạn sẽ yêu thích từ những giáo viên giỏi nhất trên toàn thế giới", "find_course": "Tìm một khóa học...", - "instructor": "Người hướng dẫn", + "instructor": "Giảng viên", "courses": "các khóa học", "reviews_modal": { "title": "Đánh giá", @@ -990,7 +990,7 @@ "description": "Mô tả", "goals": "Bàn thắng", "reviews": "Đánh giá", - "instructor": "Người hướng dẫn", + "instructor": "Giảng viên", "pricing": "Định giá", "certificate": "Giấy chứng nhận", "curriculum": "chương trình giảng dạy", @@ -1054,7 +1054,7 @@ "panel_export_subtitle": "Xem trước thiết kế hiện tại vì nó sẽ được chuyển giao.", "section_header": "Bản sao tiêu đề", "section_signatories": "Người ký", - "section_reference": "Tài liệu tham khảo", + "section_reference": "Tham chiếu", "subtitle": "phụ đề", "subtitle_placeholder": "Được trao giải cao nhất", "description_override": "Ghi đè mô tả", @@ -1068,8 +1068,8 @@ "id_format_hint": "Sử dụng '{'seq'}' cho bốn chữ số cuối, '{'year'}' cho năm phát hành, '{'month'}' cho tháng.", "accent_hint": "Màu nhấn xuất hiện trên quy tắc người nhận, tem và phần đánh dấu tiêu đề của mẫu.", "templates_hint": "Các mẫu hiển thị với cùng một trình kết xuất được sử dụng cho tệp PDF và PNG đã tải xuống.", - "download_pdf": "Tải xuống bản PDF", - "download_png": "Tải xuống PNG", + "download_pdf": "Tải PDF", + "download_png": "Tải PNG", "print": "In", "export_hint": "Quá trình xuất sử dụng tên của bạn làm người nhận để bạn có thể xem trước bố cục cuối cùng.", "preview_failed": "Không thể tạo bản xem trước chứng chỉ", @@ -1080,7 +1080,7 @@ "summary_title": "Thiết kế năng động", "summary_subtitle": "Ảnh chụp nhanh về hình thức của chứng chỉ khi được cấp.", "field_template": "mẫu", - "field_accent": "Giọng", + "field_accent": "Màu nhấn", "field_signatories": "Người ký", "customize_design": "Tùy chỉnh thiết kế", "signatory_one_toggle": "Hiển thị người ký 1", @@ -1100,7 +1100,7 @@ "pending": "Đang chờ xử lý", "name": "Tên", "role": "Vai trò", - "action": "hành động", + "action": "Hành động", "feedback": "Đã sao chép email vào clipboard", "view": "Xem", "delete_profile": "Xóa hồ sơ", @@ -1129,8 +1129,8 @@ }, "roles": { "admin": "Quản trị viên", - "tutor": "gia sư", - "student": "sinh viên", + "tutor": "Gia sư", + "student": "Học viên", "filter": "Lọc" }, "delete_confirmation": { @@ -1187,26 +1187,26 @@ "direct_email_bulk": "Email trực tiếp / Lời mời hàng loạt", "direct_email_description": "Dán các địa chỉ email được phân tách bằng dấu phẩy, dấu cách hoặc dòng mới. Một lời mời an toàn duy nhất được tạo cho mỗi email.", "recipient_emails": "Email người nhận", - "recipient_emails_placeholder": "sinh viên1@example.com, sinh viên2@example.com", + "recipient_emails_placeholder": "student1@example.com, student2@example.com", "send_invite_emails": "Gửi email mời ngay lập tức", "create_email_invites": "Tạo lời mời qua email", - "existing_students_title": "Add existing org students", + "existing_students_title": "Thêm học viên hiện có trong tổ chức", "existing_students_description": "Chọn những sinh viên đã tham gia tổ chức này và cấp cho họ quyền truy cập trực tiếp vào khóa học này.", - "existing_students_search": "Search organization students", - "loading_existing_students": "Loading organization students...", - "no_existing_students": "No organization students are available to add.", - "no_matching_existing_students": "No organization students match your search.", - "notify_existing_students": "Send course access email", - "grant_access": "Grant Access", + "existing_students_search": "Tìm kiếm học viên trong tổ chức", + "loading_existing_students": "Đang tải học viên trong tổ chức...", + "no_existing_students": "Không có học viên nào trong tổ chức để thêm.", + "no_matching_existing_students": "Không có học viên nào trong tổ chức khớp với tìm kiếm của bạn.", + "notify_existing_students": "Gửi email quyền truy cập khóa học", + "grant_access": "Cấp quyền truy cập", "grant_access_modal": { "title": "Cấp quyền truy cập cho học viên", "description": "Cấp cho {email} quyền truy cập khóa học này. Chúng tôi sẽ gửi email mời để tham gia tổ chức của bạn và đăng ký khóa học.", "cancel": "Hủy", "send_invite": "Gửi lời mời" }, - "invite_new_students_title": "Invite new students", - "invite_new_students_description": "Invite new people into your organization and pre-assign them to this course. They will create an account, accept the invite, and get access.", - "invite_new_students": "Invite Students", + "invite_new_students_title": "Mời học viên mới", + "invite_new_students_description": "Mời người mới vào tổ chức của bạn và gán trước cho khóa học này. Họ sẽ tạo tài khoản, chấp nhận lời mời và nhận quyền truy cập.", + "invite_new_students": "Mời học viên", "existing_invites": "Lời mời hiện có", "refresh": "Làm mới", "loading_invites": "Đang tải lời mời...", @@ -1226,10 +1226,10 @@ "no_audit_events": "Không có sự kiện kiểm toán.", "audit_at": "Tại", "audit_email": "Email", - "audit_actor": "diễn viên", + "audit_actor": "Người thực hiện", "audit_ip": "IP", - "scan_qr": "Quét QR", - "classroomio_brand": "Lớp họcIO.com", + "scan_qr": "Quét mã QR", + "classroomio_brand": "ClassroomIO.com", "snackbar_invite_link_copied": "Đã sao chép liên kết mời", "snackbar_invite_link_regenerated": "Một liên kết mời mới đã được tạo", "snackbar_failed_generate_link": "Không tạo được liên kết mời", @@ -1240,7 +1240,7 @@ "snackbar_failed_load_audit": "Không tải được lời mời kiểm tra", "snackbar_metadata_copied": "Đã sao chép siêu dữ liệu lời mời", "snackbar_email_invites_success": "Đã tạo {count} lời mời. Đã gửi {sent}, không thành công {failed}. Đã bỏ qua {duplicates} bản sao.", - "select_at_least_one_student": "Select at least one existing student", + "select_at_least_one_student": "Chọn ít nhất một học viên hiện có", "presets": { "one_time_24h": "Một lần (24h)", "multi_use_7d": "Sử dụng nhiều lần (7 ngày)", @@ -1252,8 +1252,8 @@ }, "marks": { "title": "Điểm", - "student": "sinh viên", - "total": "Tổng cộng", + "student": "Học viên", + "total": "Tổng", "no_student": "Không có sinh viên nào được thêm vào", "export": { "csv": "Xuất dưới dạng CSV", @@ -1268,7 +1268,7 @@ "early": "Sớm", "late": "Muộn", "total_grade": "Tổng điểm", - "student": "sinh viên", + "student": "Học viên", "status": "Trạng thái", "add_comment": "Thêm nhận xét", "add_comment_placeholder": "Để lại một bình luận", @@ -1285,7 +1285,7 @@ "delete_prompt": "Xóa", "delete_error": "Không thể xóa bài nộp", "delete_success": "Đã xóa bài nộp thành công", - "student_avatar": "Hình đại diện sinh viên", + "student_avatar": "Ảnh đại diện học viên", "ai_icon": "trí tuệ nhân tạo" }, "submission_status": { @@ -1304,7 +1304,7 @@ "present": "hiện tại", "absent": "Vắng mặt", "search_students": "Tìm kiếm sinh viên", - "student": "sinh viên", + "student": "Học viên", "lesson": "Bài học", "no_student": "Không có sinh viên nào được thêm vào" }, @@ -1340,7 +1340,7 @@ "no_tutor": "Không có gia sư nào được thêm vào", "body_header": "Chưa có bài học nào", "body_content": "Chia sẻ kiến thức của bạn với thế giới bằng cách tạo ra những bài học hấp dẫn. Bắt đầu bằng cách nhấp vào nút Thêm.", - "download_pdf": "Tải xuống bản PDF", + "download_pdf": "Tải PDF", "autosaving": "Tự động lưu...", "done": "Xong", "edit": "Chỉnh sửa", @@ -1348,7 +1348,7 @@ "incomplete": "Chưa hoàn thành", "complete": "Hoàn thành", "next": "Tiếp theo", - "prev": "Trước đó", + "prev": "Trước", "prev_shortcut": "Trước (←)", "next_shortcut": "Tiếp (→)", "disabled": "Tính năng bị vô hiệu hóa", @@ -1375,7 +1375,7 @@ "create_poll": "Tạo cuộc thăm dò", "question": "Câu hỏi", "options": "Tùy chọn", - "option_label": "Nhãn tùy chọn", + "option_label": "Nhãn lựa chọn", "cancel": "Hủy bỏ", "poll_question": "Câu hỏi thăm dò ý kiến" }, @@ -1435,14 +1435,14 @@ "check": "Kiểm tra", "auto_graded_badge": "Chấm tự động", "manual_grading_required_badge": "Cần chấm thủ công", - "points_required_auto_grade": "Points must be greater than 0 for auto-graded exercises.", + "points_required_auto_grade": "Điểm phải lớn hơn 0 đối với bài tập chấm tự động.", "analytics": { "submissions": "bài nộp", "individual": { "heading": "Cá nhân", "answers": "Câu trả lời cá nhân", "no": "Không có câu trả lời nào được đưa ra", - "student_avatar": "sinh viên", + "student_avatar": "Học viên", "answers_for": "Câu trả lời của {name}", "attempts_count": "{count} lần làm", "attempt_label": "Lần làm {number}", @@ -1523,17 +1523,17 @@ "file_upload": "Tải tập tin lên", "matching": "Kết hợp", "ordering": "Đặt hàng", - "hotspot": "Điểm phát sóng", + "hotspot": "Điểm nóng", "link": "Liên kết", "word_bank": "Ngân hàng từ", "star": "Xếp hạng sao", "video_recording": "Quay video" }, "select_type": "Chọn loại", - "question_type_auto_gradable": "Auto", - "question_type_auto_gradable_description": "Scored automatically by the system", - "question_type_manual_grading": "Manual", - "question_type_manual_grading_description": "Requires human review to score", + "question_type_auto_gradable": "Tự động", + "question_type_auto_gradable_description": "Hệ thống chấm điểm tự động", + "question_type_manual_grading": "Thủ công", + "question_type_manual_grading_description": "Cần người xem xét để chấm điểm", "premium_question_type": "Nâng cấp để sử dụng loại câu hỏi này" }, "delete_confirmation": { @@ -1554,16 +1554,16 @@ "textarea": { "take": { "placeholder": "Viết câu trả lời của bạn", - "min_error": "Answer must be at least {min} characters.", - "max_error": "Answer must be at most {max} characters.", - "range_error": "Answer must be between {min} and {max} characters." + "min_error": "Câu trả lời phải có ít nhất {min} ký tự.", + "max_error": "Câu trả lời phải có tối đa {max} ký tự.", + "range_error": "Câu trả lời phải có từ {min} đến {max} ký tự." }, "edit": { "placeholder": "Học sinh sẽ trả lời bằng văn bản dài", - "min_characters_label": "Minimum characters", - "min_characters_placeholder": "Minimum characters", - "max_characters_label": "Maximum characters", - "max_characters_placeholder": "Maximum characters" + "min_characters_label": "Số ký tự tối thiểu", + "min_characters_placeholder": "Số ký tự tối thiểu", + "max_characters_label": "Số ký tự tối đa", + "max_characters_placeholder": "Số ký tự tối đa" } }, "hotspot": { @@ -1753,12 +1753,12 @@ "finish": "Kết thúc" }, "common": { - "option_prefix": "Tùy chọn", + "option_prefix": "Lựa chọn", "remove": "Xóa", "add_option": "Thêm tùy chọn", "correct_badge": "Đúng", "not_set": "Chưa đặt", - "incorrect_badge": "sai" + "incorrect_badge": "Sai" }, "word_bank": { "review": { @@ -1779,7 +1779,7 @@ "template_helper": "Sử dụng ba dấu gạch dưới (___) cho mỗi chỗ trống. Học sinh sẽ thấy một ngân hàng từ có câu trả lời đúng và các từ gây phân tâm.", "no_blanks_warning": "Thêm ít nhất một điểm đánh dấu trống ___ vào mẫu của bạn.", "correct_answers_heading": "Câu trả lời đúng cho mỗi chỗ trống", - "blank_label": "trống", + "blank_label": "Chỗ trống", "correct_placeholder": "Thuật ngữ hoặc cụm từ đúng", "distractors_heading": "Những từ bổ sung (làm mất tập trung)", "distractor_placeholder": "Lựa chọn sai", @@ -1874,7 +1874,7 @@ "collapse_section": "Thu gọn phần", "expand_section": "Mở rộng phần" }, - "more": "hành động", + "more": "Hành động", "settings_completion_policy": "Quy tắc hoàn thành", "settings_completion_submitted": "Đã gửi - mọi lần gửi đều được tính", "settings_completion_passed": "Đạt - yêu cầu điểm tối thiểu", @@ -1981,7 +1981,7 @@ "upload_error": "Không thể tải tài liệu lên", "file_type_error": "Loại tệp không được hỗ trợ. Vui lòng tải lên tệp PDF, DOCX hoặc DOC.", "file_size_error": "Kích thước tệp quá lớn. Kích thước tối đa là {size}.", - "type": "loại", + "type": "Loại", "size": "Kích thước", "upload_error_title": "Lỗi tải lên", "upload_error_message": "Định dạng tệp không được hỗ trợ hoặc tải lên không thành công", @@ -2036,7 +2036,7 @@ "add_from_library": "Thêm từ thư viện", "cancel_upload": "Hủy tải lên", "upload_cancelled": "Tải lên bị người dùng hủy", - "max_files": "{count, plural, one {You can upload # file} other {You can upload # files}}", + "max_files": "{count, plural, one {Bạn có thể tải lên # tệp} other {Bạn có thể tải lên # tệp}}", "max_files_and_size": "(tối đa {size} mỗi cái)", "google_drive_choose": "Chọn từ Google Drive", "google_drive_opening": "Đang mở bộ chọn…", @@ -2058,14 +2058,14 @@ "empty_title": "Chưa có video nào", "empty_description": "Thêm video từ YouTube, tải lên hoặc thư viện phương tiện của bạn", "google_drive": "Google Drive", - "generate_transcript": "Generate transcription", - "generate_transcript_in_progress": "Transcribing…", + "generate_transcript": "Tạo bản ghi", + "generate_transcript_in_progress": "Đang ghi lại…", "transcript": { - "title": "Transcript", - "captions_label": "Captions", - "language": "Language: {language}", - "empty": "No transcript yet. You can generate one from this card’s menu after the video is uploaded.", - "loading": "Loading transcript…", + "title": "Bản ghi", + "captions_label": "Phụ đề", + "language": "Ngôn ngữ: {language}", + "empty": "Chưa có bản ghi. Bạn có thể tạo một bản từ menu của thẻ này sau khi video được tải lên.", + "loading": "Đang tải bản ghi…", "open_side_panel": "Mở bảng chép lời", "edit": "Chỉnh sửa bản ghi", "save": "Lưu", @@ -2096,8 +2096,8 @@ "playback_auth_action": "Đăng nhập" }, "slide": { - "title": "Trượt", - "slide_link": "Liên kết trượt", + "title": "Slide", + "slide_link": "Liên kết slide", "helper_message": "Bạn có thể nhúng Google Trang trình bày hoặc Bản trình bày Canva" }, "note": { @@ -2220,7 +2220,7 @@ "add_to_calendar": "Thêm vào lịch", "add_google": "Lịch Google", "add_outlook": "Outlook.com", - "add_office365": "Văn phòng 365", + "add_office365": "Office 365", "add_yahoo": "Lịch Yahoo", "add_apple": "Lịch Apple (.ics)", "starts_in": "Bắt đầu vào", @@ -2306,10 +2306,10 @@ "waived": "Miễn trừ" }, "fields": { - "learner": "sinh viên", + "learner": "Học viên", "email": "Email", "status": "Trạng thái", - "cycle": "chu kỳ", + "cycle": "Chu kỳ", "due_date": "Ngày đến hạn", "completed_at": "Hoàn thành lúc", "valid_until": "Có hiệu lực cho đến khi", @@ -2355,8 +2355,8 @@ "empty": "Không tìm thấy kết quả nào" }, "header": { - "preview": "Preview course", - "preview_missing_slug": "Generate and save a course slug before previewing.", + "preview": "Xem trước khóa học", + "preview_missing_slug": "Tạo và lưu slug khóa học trước khi xem trước.", "view_as_student": "Xem với tư cách sinh viên", "view_course_site": "Xem trang khóa học" }, @@ -2374,7 +2374,7 @@ }, "compliance": { "title": "Tuân thủ", - "due_date": "Đến hạn", + "due_date": "Hạn", "valid_until": "Có hiệu lực cho đến khi" }, "progress": { @@ -2547,7 +2547,7 @@ "lessons": "Bài học", "students": "Sinh viên", "published": "Đã xuất bản", - "type": "loại", + "type": "Loại", "tags": "Thẻ" }, "context_menu": { @@ -2561,16 +2561,16 @@ "publish_course": "Xuất bản khóa học", "copy_course_url": "Sao chép URL khóa học" }, - "due_date": "Đến hạn", + "due_date": "Hạn", "valid_until": "Có hiệu lực cho đến khi" }, "course_filter": { - "date_created_newest": "Date Created: Newest first", - "date_created_oldest": "Date Created: Oldest first", - "published_first": "Published: Published first", - "unpublished_first": "Published: Unpublished first", - "most_lessons": "Lessons: Most first", - "fewest_lessons": "Lessons: Fewest first", + "date_created_newest": "Ngày tạo: Mới nhất trước", + "date_created_oldest": "Ngày tạo: Cũ nhất trước", + "published_first": "Xuất bản: Đã xuất bản trước", + "unpublished_first": "Xuất bản: Chưa xuất bản trước", + "most_lessons": "Bài học: Nhiều nhất trước", + "fewest_lessons": "Bài học: Ít nhất trước", "date_created": "Ngày tạo", "published": "Đã xuất bản", "lessons": "Bài học" @@ -2582,12 +2582,12 @@ "popover_title": "Bộ lọc", "sort": "Sắp xếp", "order": "Thứ tự", - "ascending": "Asc", - "descending": "Desc", + "ascending": "Tăng dần", + "descending": "Giảm dần", "tags": "Thẻ", "empty_tags": "Không có thẻ nào" }, - "page_subtitle": "Where lessons turn into courses and courses turn into enrollments." + "page_subtitle": "Nơi các bài học trở thành khóa học và khóa học trở thành đăng ký." }, "ai": { "help_me": "Giúp tôi viết", @@ -2614,20 +2614,20 @@ "lms_dashboard_hero": "Hôm nay là một ngày khác để đưa bạn đến gần hơn với mục tiêu học tập của mình. Đừng bỏ cuộc, bạn càng học nhiều thì bạn càng tiến bộ hơn.", "lessons_completed": "Bài học đã hoàn thành", "no_courses_started": "Không có khóa học nào bắt đầu", - "certificates_earned": "Certificates issued", - "certificates_earned_description": "Total certificates issued to students in your organization", + "certificates_earned": "Chứng chỉ đã cấp", + "certificates_earned_description": "Tổng số chứng chỉ đã cấp cho học viên trong tổ chức của bạn", "certification_rate": "Đã chứng nhận", - "recent_certifications": "Recent certifications", - "no_certifications_yet": "No certificates earned yet", - "no_certifications_yet_description": "When students complete a course and earn a certificate, they will appear here", - "view_courses": "View courses", + "recent_certifications": "Chứng chỉ gần đây", + "no_certifications_yet": "Chưa có chứng chỉ nào", + "no_certifications_yet_description": "Khi học viên hoàn thành khóa học và nhận chứng chỉ, chúng sẽ xuất hiện ở đây", + "view_courses": "Xem khóa học", "no_of_courses": "Số lượng khóa học", "no_courses_description": "Các khóa học được tạo trong tổ chức này", "total_students": "Tổng số học sinh", "total_students_description": "Căn cứ vào số lượng tuyển sinh", "top_courses": "Các khóa học hàng đầu", "students": "sinh viên", - "student": "sinh viên", + "student": "học viên", "completion": "hoàn thành", "create_first_course": "Tạo khóa học đầu tiên của bạn", "create_first_course_description": "Bắt đầu tạo các khóa học để theo dõi tiến độ khóa học", @@ -2637,7 +2637,7 @@ "publish_course": "Xuất bản khóa học", "items_completed": "Các hạng mục đã hoàn thành", "currently_learning": "Hiện đang học", - "learner": "sinh viên", + "learner": "Học viên", "progress": "Tiến độ", "pick_up_where_you_left_off": "Tiếp tục nơi bạn đã dừng lại", "get_your_certificate": "Nhận chứng chỉ của bạn", @@ -2652,13 +2652,13 @@ "compliance_score_empty": "Chưa có khóa học tuân thủ nào được chỉ định", "compliance_met": "{completed} trong tổng số {total} đã đáp ứng", "required_courses_completed": "Đã hoàn thành {completed} trong số {total} khóa học bắt buộc", - "streak": "Vệt", + "streak": "Chuỗi ngày", "days_active": "ngày hoạt động", "items_done": "{completed} trong tổng số {total} đã hoàn thành", "login_activity_title": "Hoạt động đăng nhập của sinh viên", "login_activity_description": "Những ngày hoạt động tích cực nhất trong tuần (90 ngày qua)", "login_activity_no_data": "Chưa có hoạt động đăng nhập", - "login_activity_logins": "thông tin đăng nhập", + "login_activity_logins": "lần đăng nhập", "open_academy": "Học viện mở", "explore_more_courses": "Khám phá thêm các khóa học", "view_more": "Xem thêm", @@ -2685,11 +2685,11 @@ }, "course": { "title": "Khóa học", - "newsfeed": "Nguồn cấp tin tức", + "newsfeed": "Bảng tin", "grading": "Chấm điểm" }, "dashboard": { - "title": "Trang tổng quan", + "title": "Bảng điều khiển", "community": "cộng đồng", "exercises": "Bài tập", "banner_image": "Hình ảnh biểu ngữ", @@ -2719,7 +2719,7 @@ "custom_domain_not_classroomio": "Tên miền không thể chứa 'classroomio'", "custom_domain_success": "Đã thêm miền tùy chỉnh thành công", "dns_description": "Đặt bản ghi sau trên nhà cung cấp DNS của bạn để tiếp tục:", - "dns_type": "loại", + "dns_type": "Loại", "dns_value": "Giá trị", "dns_name": "Tên", "refresh": "Làm mới", @@ -2791,8 +2791,8 @@ "goto": "đi đến", "courses": "Khóa học", "home": "Trang chủ", - "classroomio_home": "Lớp họcIO Trang chủ", - "dashboard": "Trang tổng quan", + "classroomio_home": "Trang chủ ClassroomIO", + "dashboard": "Bảng điều khiển", "discussion": "Thảo luận", "people": "mọi người", "goto_lms": "Đi tới LMS", @@ -2803,7 +2803,7 @@ "loading_state": "Đang đưa bạn đến trang tiếp theo, vui lòng đợi.", "org_loading_state": "Đưa bạn đến tổ chức của bạn...", "add_organization": "+ Thêm tổ chức", - "goto_dashboard": "Trang tổng quan" + "goto_dashboard": "Bảng điều khiển" }, "add_org": { "create_org": "Tạo tổ chức", @@ -2820,7 +2820,7 @@ "progress": "Tiến độ", "completed": "hoàn thành", "done": "Xong", - "todo": "việc cần làm", + "todo": "Việc cần làm", "publish_course": { "title": "Xuất bản một khóa học", "desc": "Làm cho khóa học của bạn trở nên công khai và có thể mua được", @@ -2869,7 +2869,7 @@ "plan_names": { "free": "miễn phí", "early": "Áp dụng sớm", - "enterprise": "Doanh nghiệp" + "enterprise": "Enterprise" } }, "org_navigation": { @@ -2877,11 +2877,11 @@ "home": "Trang chủ", "content": "Nội dung", "people": "Mọi người", - "dashboard": "Trang tổng quan", + "dashboard": "Bảng điều khiển", "courses": "Khóa học", "community": "cộng đồng", "audience": "khán giả", - "media": "Phương tiện truyền thông", + "media": "Phương tiện", "setup": "thiết lập", "help": "Trợ giúp", "settings": "Cài đặt", @@ -2900,7 +2900,7 @@ "upgrade_left": "còn {count}" }, "media_manager": { - "page_title": "Quản lý truyền thông - ClassroomIO", + "page_title": "Trình quản lý phương tiện - ClassroomIO", "heading": "Trình quản lý phương tiện", "empty": "Không tìm thấy nội dung nào", "usage": { @@ -2912,7 +2912,7 @@ "table": { "target_type": "Loại mục tiêu", "target_id": "ID mục tiêu", - "slot": "Khe cắm", + "slot": "Vị trí", "position": "Vị trí", "added": "Đã thêm" }, @@ -2963,12 +2963,12 @@ }, "table": { "title": "Tiêu đề", - "kind": "loại", + "kind": "Loại", "provider": "nhà cung cấp", "status": "Trạng thái", "size": "Kích thước", "updated_at": "Đã cập nhật", - "actions": "hành động" + "actions": "Hành động" }, "status": { "active": "Đang hoạt động", @@ -3013,10 +3013,10 @@ "bytes_by_kind": "Lưu trữ theo loại nội dung" }, "common": { - "not_available": "không áp dụng" + "not_available": "N/A" }, "empty_description": "Tài sản không tồn tại hoặc không có sẵn trong tổ chức này.", - "page_subtitle": "Keep files, videos, and links for your courses in one library.", + "page_subtitle": "Giữ tệp, video và liên kết cho các khóa học của bạn trong một thư viện.", "thumbnails": { "manage_title": "Quản lý hình thu nhỏ", "manage_description": "Xem trước video, chọn một trong các khung được tạo tự động hoặc tải lên khung của riêng bạn.", @@ -3052,13 +3052,13 @@ "provider": "Chúng tôi sử dụng Polar để giúp quản lý việc thanh toán của bạn", "open_billing": "Thanh toán mở", "error": "Đã xảy ra lỗi khi mở thanh toán", - "page_subtitle": "Your plan, billing portal, and how you pay for ClassroomIO.", + "page_subtitle": "Gói của bạn, cổng thanh toán và cách bạn thanh toán cho ClassroomIO.", "ai_credits": "AI credits", "ai_tokens_used": "AI credits đã dùng trong tháng này", "ai_bonus_credits": "AI credits thưởng có sẵn" }, "integrations": { - "heading": "điện tín", + "heading": "Telegram", "sub_heading": "Kết nối tài khoản của bạn với điện tín để nhận thông báo về bất kỳ thay đổi nào trong ứng dụng.", "step_authenticate": "Bước 1: Xác thực tài khoản của bạn thông qua bot ClassroomIO.", "open_bot_button": "Mở Bot", @@ -3066,7 +3066,7 @@ "connect_button": "Kết nối", "success_message": "Tích hợp thành công", "disconnect": "Ngắt kết nối", - "page_subtitle": "Connect Telegram to get notified when important things happen." + "page_subtitle": "Kết nối Telegram để nhận thông báo khi có sự kiện quan trọng." }, "landing_page": { "heading": "Trang đích", @@ -3144,9 +3144,9 @@ "select_image": "Chọn hình ảnh" }, "actions": { - "heading": "hành động", + "heading": "Hành động", "label": "Nhãn", - "link": "liên kết", + "link": "Liên kết", "no_redirect": "Không chuyển hướng", "redirect": "Chuyển hướng", "show_banner": "Hiển thị biểu ngữ", @@ -3162,7 +3162,7 @@ "show_background": "Hiển thị nền", "hide_background": "Ẩn nền" }, - "page_subtitle": "Shape the marketing page people see before they sign up or enroll.", + "page_subtitle": "Thiết kế trang marketing mà mọi người thấy trước khi đăng ký hoặc ghi danh.", "editor": { "save": "Lưu", "close": "Đóng", @@ -3175,18 +3175,18 @@ "link_href": "URL liên kết", "remove": "Xóa liên kết chân trang", "brand": { - "legend": "Brand", - "description": "Your organization logo and name always appear here (from organization settings). Add optional details below.", - "preview_label": "Footer brand preview", - "tagline": "Tagline", - "tagline_placeholder": "Small line under your brand", - "copyright": "Copyright", - "copyright_placeholder": "© 2026 Your Organization", - "social_label": "Social links", - "platform_field": "Platform", - "url_label": "Profile URL", - "add_social": "Add social link", - "remove_social": "Remove social link", + "legend": "Thương hiệu", + "description": "Logo và tên tổ chức của bạn luôn hiển thị ở đây (từ cài đặt tổ chức). Thêm chi tiết tùy chọn bên dưới.", + "preview_label": "Xem trước thương hiệu chân trang", + "tagline": "Khẩu hiệu", + "tagline_placeholder": "Dòng nhỏ dưới thương hiệu của bạn", + "copyright": "Bản quyền", + "copyright_placeholder": "© 2026 Tổ chức của bạn", + "social_label": "Liên kết mạng xã hội", + "platform_field": "Nền tảng", + "url_label": "URL hồ sơ", + "add_social": "Thêm liên kết mạng xã hội", + "remove_social": "Xóa liên kết mạng xã hội", "platforms": { "instagram": "Instagram", "x": "X", @@ -3195,29 +3195,29 @@ "youtube": "YouTube", "github": "GitHub", "tiktok": "TikTok", - "website": "Website" + "website": "Trang web" } }, "columns": { - "legend": "Link columns", - "description": "Add grouped links (like Company or Resources). Enables a multi-column footer layout.", - "empty_hint": "No columns yet — add one to show a multi-column footer beside your brand.", - "add": "Add column", - "remove": "Remove column", - "heading_label": "Column heading", - "heading_placeholder": "e.g. Company", - "add_link": "Add link", - "remove_link": "Remove link", - "links_max_reached": "Up to 10 links per column", - "cta_toggle": "Add CTA link", - "cta_label": "CTA label", - "cta_href": "CTA URL", - "cta_default_label": "Explore more", - "max_reached": "Up to 6 columns" + "legend": "Cột liên kết", + "description": "Thêm các liên kết được nhóm (như Công ty hoặc Tài nguyên). Bật bố cục chân trang nhiều cột.", + "empty_hint": "Chưa có cột nào — thêm một cột để hiển thị chân trang nhiều cột bên cạnh thương hiệu của bạn.", + "add": "Thêm cột", + "remove": "Xóa cột", + "heading_label": "Tiêu đề cột", + "heading_placeholder": "ví dụ: Công ty", + "add_link": "Thêm liên kết", + "remove_link": "Xóa liên kết", + "links_max_reached": "Tối đa 10 liên kết mỗi cột", + "cta_toggle": "Thêm liên kết CTA", + "cta_label": "Nhãn CTA", + "cta_href": "URL CTA", + "cta_default_label": "Khám phá thêm", + "max_reached": "Tối đa 6 cột" }, "bottom": { - "legend": "Bottom row", - "add_link": "Add bottom link" + "legend": "Hàng dưới", + "add_link": "Thêm liên kết hàng dưới" } }, "embed": { @@ -3271,7 +3271,7 @@ "label_field": "Nhãn", "value_field": "Giá trị", "label_placeholder": "Sinh viên năng động", - "value_placeholder": "1.200" + "value_placeholder": "1,200" } }, "sections": { @@ -3284,7 +3284,7 @@ "embed": "Nhúng", "embed_desc": "Phần iframe tùy chọn hiển thị sau các khóa học.", "footer": "Chân trang", - "footer_desc": "Brand line, socials, multi-column links, and bottom legal row.", + "footer_desc": "Dòng thương hiệu, mạng xã hội, liên kết nhiều cột và hàng pháp lý phía dưới.", "links": "Liên kết", "links_desc": "Khối liên kết bên ngoài tùy chọn (trung tâm trợ giúp, cộng đồng, hội thảo trên web) được hiển thị sau các khóa học." }, @@ -3344,15 +3344,15 @@ "description": "Độ tương phản cao, biên tập và nổi bật" }, "minimal": { - "title": "Tối thiểu", + "title": "Tối giản", "description": "Sạch sẽ, sáng sủa và tập trung vào khóa học" }, "terminal": { - "title": "thiết bị đầu cuối", + "title": "Terminal", "description": "Bề mặt tối, nhãn từ bóng mờ, danh mục lấy cảm hứng từ CLI" }, "corporate": { - "title": "Công ty", + "title": "Doanh nghiệp", "description": "Kiểu chữ trang nhã, lưới có viền, giao diện sẵn sàng kiểm tra" }, "studio": { @@ -3360,7 +3360,7 @@ "description": "Đường viền chân tóc, độ dốc tỏa sáng anh hùng, đánh bóng sản phẩm thủ công" }, "tech": { - "title": "công nghệ", + "title": "Công nghệ", "description": "Dải thương hiệu táo bạo, điều hướng đơn không gian, cảm giác học viện kỹ thuật" }, "saas": { @@ -3393,7 +3393,7 @@ "field_theme": "chủ đề", "field_hero": "Tiêu đề anh hùng", "field_nav": "Điều hướng", - "field_nav_count_one": "liên kết {count}", + "field_nav_count_one": "{count} liên kết", "field_nav_count_other": "{count} liên kết", "hero_empty": "—", "customize": "Tùy chỉnh trang đích" @@ -3411,7 +3411,7 @@ "upload_image": "Tải hình ảnh lên", "update_organization": "Cập nhật tổ chức", "team": { - "heading": "đội", + "heading": "Nhóm", "sub_heading": "Thiết lập nhóm của bạn", "body": "Thêm đồng đội vào tổ chức của bạn để cả hai có thể cộng tác trong các dự án.", "button": "Quản lý nhóm" @@ -3458,7 +3458,7 @@ "accepted": "Đã chấp nhận:", "validation_error": "Kích thước tệp vượt quá giới hạn tối đa:" }, - "page_subtitle": "Your name, email, and how you appear wherever you work in ClassroomIO." + "page_subtitle": "Tên, email và cách bạn xuất hiện ở mọi nơi bạn làm việc trong ClassroomIO." }, "tabs": { "profile_tab": "Hồ sơ", @@ -3469,11 +3469,11 @@ "language_tab": "Ngôn ngữ", "auth_tab": "Xác thực", "sso_tab": "SSO", - "token_auth_tab": "Xác thực mã thông báo", + "token_auth_tab": "Token Auth", "customize_lms_tab": "Tùy chỉnh LMS", "domains_tab": "Tên miền", "teams_tab": "Đội", - "ai_credits_tab": "AI Credits", + "ai_credits_tab": "Tín dụng AI", "ai_tutor_tab": "Gia sư AI", "notifications_tab": "Thông báo" }, @@ -3584,12 +3584,12 @@ "tabs": { "general": "chung", "sso": "SSO", - "token_auth": "Xác thực mã thông báo" + "token_auth": "Token Auth" }, - "page_subtitle": "Control sign-up, login, SSO, and token-based access for this org." + "page_subtitle": "Kiểm soát đăng ký, đăng nhập, SSO và quyền truy cập dựa trên token cho tổ chức này." }, "token_auth": { - "heading": "Xác thực mã thông báo", + "heading": "Token Auth", "description": "Cho phép người dùng đăng nhập từ ứng dụng của bạn bằng JWT—không cần mật khẩu. Tạo bí mật ký và sử dụng nó trong phần phụ trợ của bạn để phát hành JWT tồn tại trong thời gian ngắn.", "status": "Trạng thái", "active": "Đang hoạt động", @@ -3609,12 +3609,12 @@ "actions_menu": "Hành động xác thực mã thông báo" }, "teams": { - "page_subtitle": "Invite teammates and control who helps run this organization." + "page_subtitle": "Mời đồng đội và kiểm soát ai giúp vận hành tổ chức này." }, "ai_credits": { - "sub_title": "AI credits", + "sub_title": "Tín dụng AI", "page_subtitle": "Theo dõi việc sử dụng trợ lý AI, mức tiêu thụ của nhóm và mua các gói AI credits.", - "cost_note": "Credit usage is weighted by model cost. Gemini 3.1 Flash Lite counts as 1 credit unit per token. GPT-5.4 Mini and Kimi K2.6 count as 4× per token. Claude Sonnet 4.6 counts as 11× per token, reflecting its higher API cost.", + "cost_note": "Việc sử dụng tín dụng được tính theo chi phí mô hình. Gemini 3.1 Flash Lite tính 1 đơn vị tín dụng mỗi token. GPT-5.4 Mini và Kimi K2.6 tính gấp 4 lần mỗi token. Claude Sonnet 4.6 tính gấp 11 lần mỗi token, phản ánh chi phí API cao hơn.", "included": { "title": "Mức sử dụng được bao gồm", "subtitle": "AI credits hàng tháng có trong gói của bạn.", @@ -3629,8 +3629,8 @@ "chart": { "heading": "Sử dụng", "subheading": "Mức tiêu thụ AI credits hàng ngày trong tháng này.", - "tokens": "Credits", - "total_tokens": "Total credits", + "tokens": "Tín dụng", + "total_tokens": "Tổng tín dụng", "total_requests": "Tổng số yêu cầu", "empty": "Chưa ghi nhận mức sử dụng nào trong tháng này." }, @@ -3639,14 +3639,14 @@ "this_month": "Tháng hiện tại", "user": "Người dùng", "favorite_model": "Model yêu thích", - "tokens": "Credits", + "tokens": "Tín dụng", "empty": "Không ai trong nhóm của bạn đã sử dụng trợ lý AI trong tháng này." }, "buy_tokens": { "title": "Mua thêm credits", "description": "Mỗi gói bổ sung thêm 5,000,000 credits với giá $5 USD. Chọn số lượng gói bạn cần.", "quantity_hint": "gói", - "preview": "{quantity} pack(s) · {tokens} credits · ${dollars}", + "preview": "{quantity} gói · {tokens} tín dụng · ${dollars}", "buy_button": "Mua với ${dollars}" } }, @@ -3814,7 +3814,7 @@ "employees": "Đào tạo nhân viên của tôi", "customers": "Tạo khóa học cho khách hàng của tôi", "explore": "Chỉ ở đây để khám phá", - "articles": "bài viết", + "articles": "Bài viết", "search": "Công cụ tìm kiếm", "social": "Phương tiện truyền thông xã hội", "friends": "Bạn bè và gia đình", @@ -3920,7 +3920,7 @@ } }, "tags_admin": { - "page_title": "Thẻ - Lớp họcIO", + "page_title": "Thẻ - ClassroomIO", "heading": "Thẻ", "create": "Tạo", "tag_modal": { @@ -3930,7 +3930,7 @@ "description": "Mô tả", "description_placeholder": "Mô tả tùy chọn", "category": "Danh mục", - "color": "Màu sắc", + "color": "Màu", "color_help": "Chọn một trong 10 màu", "select_category": "Chọn một danh mục", "no_groups": "Tạo nhóm thẻ trước khi tạo thẻ" @@ -3947,13 +3947,13 @@ "description": "Trước tiên hãy tạo nhóm thẻ, sau đó bắt đầu thêm thẻ." }, "table": { - "tag": "Gắn thẻ", + "tag": "Thẻ", "total_courses": "Tổng số khóa học", "course": "khóa học", "courses": "các khóa học", "description": "Mô tả", "category": "Danh mục", - "action": "hành động", + "action": "Hành động", "empty_group": "Chưa có thẻ nào trong nhóm này" }, "actions": { @@ -3966,9 +3966,9 @@ "actions_menu": "Hành động gắn thẻ" }, "common": { - "not_available": "không áp dụng" + "not_available": "N/A" }, - "page_subtitle": "Organize courses with labels so filters and lists stay easy to scan." + "page_subtitle": "Sắp xếp khóa học bằng nhãn để bộ lọc và danh sách dễ quét hơn." }, "invite": { "organization": { @@ -4022,12 +4022,12 @@ "generate": "Tạo khóa MCP", "secret_once": "Bí mật này được hiển thị một lần. Sao chép nó vào ứng dụng khách MCP của bạn ngay bây giờ.", "modal": { - "title": "Create MCP key", - "description": "Choose a name for this MCP key before it is generated.", - "name_label": "Key name", + "title": "Tạo khóa MCP", + "description": "Chọn tên cho khóa MCP này trước khi tạo.", + "name_label": "Tên khóa", "name_placeholder": "ClassroomIO OpenCode", - "cancel": "Cancel", - "save": "Create key" + "cancel": "Hủy", + "save": "Tạo khóa" } }, "usage": { @@ -4041,31 +4041,31 @@ "rate_limits_description": "Yêu cầu đọc/ghi/xuất bản được phép mỗi phút.", "used_label": "Đã sử dụng:" }, - "page_subtitle": "Connect AI tools to ClassroomIO with org-scoped keys you can rotate anytime." + "page_subtitle": "Kết nối công cụ AI với ClassroomIO bằng khóa trong phạm vi tổ chức mà bạn có thể xoay bất cứ lúc nào." }, "api": { - "subtitle": "Manage API keys to integrate with the ClassroomIO public API.", + "subtitle": "Quản lý khóa API để tích hợp với API công khai ClassroomIO.", "keys": { - "title": "API keys", - "description": "These keys authenticate the current organization when calling the ClassroomIO public API.", - "generate": "Generate API key", - "secret_once": "This secret is shown once. Copy it and store it securely.", - "empty_title": "No API keys yet", - "empty_description": "Create the first org-scoped API key to use the ClassroomIO public API.", + "title": "Khóa API", + "description": "Các khóa này xác thực tổ chức hiện tại khi gọi API công khai ClassroomIO.", + "generate": "Tạo khóa API", + "secret_once": "Bí mật này chỉ hiển thị một lần. Hãy sao chép và lưu trữ an toàn.", + "empty_title": "Chưa có khóa API", + "empty_description": "Tạo khóa API trong phạm vi tổ chức đầu tiên để sử dụng API công khai ClassroomIO.", "modal": { - "title": "Create API key", - "description": "Choose a name for this API key before it is generated.", - "name_label": "Key name", - "name_placeholder": "My API integration", - "cancel": "Cancel", - "save": "Create key" + "title": "Tạo khóa API", + "description": "Chọn tên cho khóa API này trước khi tạo.", + "name_label": "Tên khóa", + "name_placeholder": "Tích hợp API của tôi", + "cancel": "Hủy", + "save": "Tạo khóa" } }, "setup": { "title": "Bắt đầu nhanh", "description": "Dùng khóa API làm Bearer token cho mọi yêu cầu. Thay chỗ giữ chỗ bằng khóa ở trên, hoặc dán secret ngay sau khi tạo khóa." }, - "view_docs": "View Docs" + "view_docs": "Xem tài liệu" }, "keys": { "active": "Đang hoạt động", @@ -4086,9 +4086,9 @@ "table_last_used": "Lần sử dụng cuối cùng" }, "clients": { - "claude_code": "Mã Claude", + "claude_code": "Claude Code", "codex": "Codex", - "cursor": "Con trỏ", + "cursor": "Cursor", "opencode": "OpenCode", "curl": "cURL", "javascript": "JavaScript", @@ -4105,13 +4105,13 @@ "disabled_description": "Chỉ quản trị viên tổ chức mới có thể tạo, xoay hoặc thu hồi khóa tự động hóa. Thầy cô có thể xem lại hướng dẫn thiết lập tại đây." }, "zapier": { - "page_subtitle": "Automate ClassroomIO with thousands of apps through Zapier. Coming soon." + "page_subtitle": "Tự động hóa ClassroomIO với hàng nghìn ứng dụng qua Zapier. Sắp ra mắt." } }, "ai_assistant": { "empty_state": "Hãy yêu cầu tôi trợ giúp về nội dung khóa học của bạn — soạn thảo bài học, tạo câu hỏi hoặc lên kế hoạch cho khóa học từ một tài liệu.", "input_placeholder": "Hãy hỏi trợ lý AI...", - "quote_lesson_note": "Quote in assistant", + "quote_lesson_note": "Trích dẫn trong trợ lý", "attach_document": "Đính kèm tài liệu (PDF, DOCX, PPTX)", "upgrade_to_upload": "Nâng cấp để tải lên tài liệu", "tokens_exhausted": "Đã đạt đến giới hạn mã thông báo AI hàng tháng.", @@ -4132,76 +4132,76 @@ "agent_running_warning": "Những thay đổi sẽ xuất hiện trong khóa học sau khi tác nhân hoàn tất. Đừng tải lại trang.", "agent_running_warning_dismiss": "Đóng", "quick_action": { - "upload_document_course": "Upload a document to create a course", - "draft_lesson": "Draft a lesson", - "generate_questions_from_lesson": "Generate questions from this lesson", - "summarize_lesson": "Summarize this lesson", - "publish_course": "Help me publish this course" + "upload_document_course": "Tải lên tài liệu để tạo khóa học", + "draft_lesson": "Soạn thảo bài học", + "generate_questions_from_lesson": "Tạo câu hỏi từ bài học này", + "summarize_lesson": "Tóm tắt bài học này", + "publish_course": "Giúp tôi xuất bản khóa học này" }, - "plan_applying_changes": "Applying changes", - "plan_working": "Working", - "plan_progress": "{completed} / {total} steps completed", - "stop": "Stop", - "copy_full_error": "Copy full error", - "resize_panel_aria_label": "Resize AI assistant panel", - "generic_working": "Working", - "run_failed_after": "{action} did not finish successfully.", + "plan_applying_changes": "Đang áp dụng thay đổi", + "plan_working": "Đang xử lý", + "plan_progress": "{completed} / {total} bước đã hoàn thành", + "stop": "Dừng", + "copy_full_error": "Sao chép toàn bộ lỗi", + "resize_panel_aria_label": "Thay đổi kích thước bảng trợ lý AI", + "generic_working": "Đang xử lý", + "run_failed_after": "{action} không hoàn thành thành công.", "tool": { "pending": { - "working": "Working", - "unknown_tool": "Running {toolName}", - "get_course_structure": "Reading course structure", - "get_lesson_content": "Reading lesson content", - "get_exercise_details": "Reading exercise", - "create_section": "Creating section", - "update_section": "Updating section", - "create_lesson": "Creating lesson", - "update_lesson": "Updating lesson", - "update_lesson_content": "Writing lesson content", - "create_exercise": "Creating exercise", - "create_exercise_section": "Creating exercise section", - "update_exercise": "Updating exercise", - "update_exercise_section": "Updating exercise section", - "add_questions": "Adding questions", - "update_questions": "Updating questions", - "reorder_content": "Reordering content", - "update_course_landing_page": "Updating landing page", - "check_course_go_live_readiness": "Checking go-live readiness", - "go_live_course": "Publishing course", - "generate_course_plan": "Generating course plan", + "working": "Đang xử lý", + "unknown_tool": "Đang chạy {toolName}", + "get_course_structure": "Đang đọc cấu trúc khóa học", + "get_lesson_content": "Đang đọc nội dung bài học", + "get_exercise_details": "Đang đọc bài tập", + "create_section": "Đang tạo phần", + "update_section": "Đang cập nhật phần", + "create_lesson": "Đang tạo bài học", + "update_lesson": "Đang cập nhật bài học", + "update_lesson_content": "Đang ghi nội dung bài học", + "create_exercise": "Đang tạo bài tập", + "create_exercise_section": "Đang tạo phần bài tập", + "update_exercise": "Đang cập nhật bài tập", + "update_exercise_section": "Đang cập nhật phần bài tập", + "add_questions": "Đang thêm câu hỏi", + "update_questions": "Đang cập nhật câu hỏi", + "reorder_content": "Đang sắp xếp lại nội dung", + "update_course_landing_page": "Đang cập nhật trang đích", + "check_course_go_live_readiness": "Đang kiểm tra điều kiện xuất bản", + "go_live_course": "Đang xuất bản khóa học", + "generate_course_plan": "Đang tạo kế hoạch khóa học", "ask_template_questions": "Chuẩn bị mẫu biểu mẫu", "fetch_documentation_url": "Trang đọc tài liệu", "fetch_documentation_url_with_url": "Đang đọc {url}" }, "meta": { - "lesson_char_count": "({count, plural, one {# character} other {# characters}})", - "landing_page_preview": "· Preview changes", - "exercise_questions_added": "· {count, plural, one {# question added} other {# questions added}}", - "exercise_questions_updated": "· {count, plural, one {# question updated} other {# questions updated}}" + "lesson_char_count": "({count, plural, one {# ký tự} other {# ký tự}})", + "landing_page_preview": "· Xem trước thay đổi", + "exercise_questions_added": "· {count, plural, one {Đã thêm # câu hỏi} other {Đã thêm # câu hỏi}}", + "exercise_questions_updated": "· {count, plural, one {Đã cập nhật # câu hỏi} other {Đã cập nhật # câu hỏi}}" }, "done": { - "generic": "Done", - "create_section": "Created section: {title}", - "update_section": "Updated section: {title}", - "create_lesson": "Created lesson: {title}", - "update_lesson": "Updated lesson: {title}", - "update_lesson_content_fallback": "Wrote {count, plural, one {# character} other {# characters}}", - "create_exercise": "Created exercise «{title}» · {count, plural, one {# question} other {# questions}}", - "update_exercise": "Updated exercise: {title}", - "update_exercise_section": "Updated exercise section: {title}", - "add_questions_fallback": "{count, plural, one {Added # question} other {Added # questions}}", - "update_questions_fallback": "{count, plural, one {Updated # question} other {Updated # questions}}", - "create_exercise_section": "Created exercise section: {title}", - "get_course_structure": "Course structure loaded", - "get_lesson_content": "Lesson content loaded", - "get_exercise_details": "Exercise loaded", - "reorder_content": "Content reordered", - "update_course_landing_page": "Updated landing page: {title}", - "check_go_live_ready": "{warningCount, plural, =0{Ready to go live} other{Ready to go live — # warnings}}", - "check_go_live_blocked": "{blockerCount, plural, one{# blocker before go-live} other{# blockers before go-live}}", - "go_live_published": "Published course: {title}", - "go_live_not_published": "Course was not published", - "generate_course_plan": "Course plan generated", + "generic": "Hoàn tất", + "create_section": "Đã tạo phần: {title}", + "update_section": "Đã cập nhật phần: {title}", + "create_lesson": "Đã tạo bài học: {title}", + "update_lesson": "Đã cập nhật bài học: {title}", + "update_lesson_content_fallback": "Đã ghi {count, plural, one {# ký tự} other {# ký tự}}", + "create_exercise": "Đã tạo bài tập «{title}» · {count, plural, one {# câu hỏi} other {# câu hỏi}}", + "update_exercise": "Đã cập nhật bài tập: {title}", + "update_exercise_section": "Đã cập nhật phần bài tập: {title}", + "add_questions_fallback": "{count, plural, one {Đã thêm # câu hỏi} other {Đã thêm # câu hỏi}}", + "update_questions_fallback": "{count, plural, one {Đã cập nhật # câu hỏi} other {Đã cập nhật # câu hỏi}}", + "create_exercise_section": "Đã tạo phần bài tập: {title}", + "get_course_structure": "Đã tải cấu trúc khóa học", + "get_lesson_content": "Đã tải nội dung bài học", + "get_exercise_details": "Đã tải bài tập", + "reorder_content": "Đã sắp xếp lại nội dung", + "update_course_landing_page": "Đã cập nhật trang đích: {title}", + "check_go_live_ready": "{warningCount, plural, =0{Sẵn sàng xuất bản} other{Sẵn sàng xuất bản — # cảnh báo}}", + "check_go_live_blocked": "{blockerCount, plural, one{# vấn đề cần giải quyết trước khi xuất bản} other{# vấn đề cần giải quyết trước khi xuất bản}}", + "go_live_published": "Đã xuất bản khóa học: {title}", + "go_live_not_published": "Khóa học chưa được xuất bản", + "generate_course_plan": "Đã tạo kế hoạch khóa học", "ask_template_questions": "Mẫu biểu đã sẵn sàng", "fetch_documentation_url": "Đọc {url}" } @@ -4223,7 +4223,7 @@ "error_network": "Lỗi mạng. Vui lòng kiểm tra kết nối của bạn và thử lại.", "context_usage_tooltip": "Đã sử dụng mã thông báo {used} / {max}", "context_full_title": "Cửa sổ ngữ cảnh đã đầy", - "context_full_description": "The assistant will summarize older messages automatically so you can keep working in this chat.", + "context_full_description": "Trợ lý sẽ tự động tóm tắt các tin nhắn cũ hơn để bạn có thể tiếp tục làm việc trong cuộc trò chuyện này.", "context_full_compact": "Cuộc trò chuyện nhỏ gọn", "context_full_compacting": "Đang nén...", "context_full_new_chat": "Bắt đầu cuộc trò chuyện mới với bản tóm tắt", @@ -4320,7 +4320,7 @@ "name": "Tên tiện ích", "selection_mode": "Chế độ lựa chọn", "course_search": "Tìm kiếm khóa học", - "layout_type": "Kiểu bố cục", + "layout_type": "Loại bố cục", "sort_by": "Sắp xếp theo", "cta_label": "Nhãn CTA", "load_more_label": "Tải thêm nhãn", @@ -4346,7 +4346,7 @@ "custom_css_locked": "Nâng cấp để kích hoạt CSS tùy chỉnh.", "embed_code": "Nhúng mã", "custom_css_hint": "Tối đa 5.000 ký tự.", - "border_radius_hint": "0 – 32px.", + "border_radius_hint": "0 – 32 px.", "font_scale_hint": "0,8 – 1,4 (1 = mặc định)." }, "create": { @@ -4403,7 +4403,7 @@ "live": "Trực tiếp" }, "sort": { - "manual": "Hướng dẫn sử dụng", + "manual": "Thủ công", "newest": "Mới nhất", "title": "Tiêu đề" }, @@ -4437,7 +4437,7 @@ "show_tags": "Hiển thị thẻ", "title_style": "Kiểu tiêu đề", "title_style_serif": "Serif", - "title_style_sans": "không có", + "title_style_sans": "Sans", "category_tags": "Thẻ danh mục", "category_tags_required": "Chọn ít nhất một thẻ cho giá danh mục.", "default_category": "Danh mục mặc định", @@ -4493,9 +4493,9 @@ "embed": "Nhúng" }, "viewport": { - "mobile": "Điện thoại di động", + "mobile": "Di động", "tablet": "Máy tính bảng", - "desktop": "Máy tính để bàn" + "desktop": "Máy tính" } }, "tabs": { @@ -4513,11 +4513,11 @@ } }, "side_panel": { - "close_aria": "Close panel", - "resize_panel_aria_label": "Resize panel", + "close_aria": "Đóng bảng", + "resize_panel_aria_label": "Thay đổi kích thước bảng", "titles": { - "ai_assistant": "AI Assistant", - "transcript": "Transcript" + "ai_assistant": "Trợ lý AI", + "transcript": "Bản ghi" } }, "compliance": { @@ -4527,10 +4527,10 @@ "heading": "Sinh viên", "subtitle": "{count, number} khớp", "empty": "Không có học sinh nào phù hợp với bộ lọc này", - "learner": "sinh viên", + "learner": "Học viên", "course": "Khóa học", "status": "Trạng thái", - "due_date": "Đến hạn", + "due_date": "Hạn", "expires": "Hết hạn" }, "courses": { @@ -4567,7 +4567,7 @@ "learners": "Sinh viên" }, "summary": { - "heading": "Tình trạng sinh viên", + "heading": "Trạng thái học viên", "description": "Đếm số học sinh trong tất cả các khóa học tuân thủ." } }, @@ -4629,7 +4629,7 @@ "approaching": "Đang đến gần nắp", "totalActive": "Sinh viên năng động trong tháng này", "learnersHeading": "Sinh viên", - "headerLearner": "sinh viên", + "headerLearner": "Học viên", "headerMessages": "Tin nhắn", "headerTokens": "Mã thông báo", "headerStatus": "Trạng thái", @@ -4666,13 +4666,13 @@ "persona": { "encouraging": "Khuyến khích", "friendly": "Thân thiện", - "formal": "chính thức", + "formal": "Trang trọng", "socratic": "Socrate", "custom": "tùy chỉnh" }, "field": { "enabled": "Đã bật gia sư AI", - "persona": "tính cách gia sư", + "persona": "Persona gia sư", "customPersona": "Tính cách tùy chỉnh", "customPersona_description": "Mô tả cách phát âm của gia sư - giọng điệu, phong cách xưng hô, bất cứ điều gì cụ thể đối với khán giả của bạn.", "responseLength": "Độ dài phản hồi", @@ -4818,7 +4818,7 @@ "post_submit": "bài đăng", "empty_title": "Chưa có bài viết nào", "empty_description": "Hãy là người đầu tiên đăng một cái gì đó.", - "heading": "Nguồn cấp tin tức", + "heading": "Bảng tin", "make_a_post": "Tạo một bài đăng", "edit_post": "Chỉnh sửa bài đăng", "editor_placeholder": "Chia sẻ bản cập nhật với nhóm học tập của bạn", @@ -4853,7 +4853,7 @@ "submit": "Tạo" }, "sidebar": { - "newsfeed": "Nguồn cấp tin tức", + "newsfeed": "Bảng tin", "courses": "Khóa học", "people": "mọi người", "settings": "Cài đặt" @@ -4885,8 +4885,8 @@ "sort": "Sắp xếp", "order": "Đặt hàng", "status": "Trạng thái", - "ascending": "tăng dần", - "descending": "mô tả", + "ascending": "Tăng dần", + "descending": "Giảm dần", "sort_name": "Tên", "sort_courses": "Khóa học", "sort_students": "Sinh viên", @@ -4947,12 +4947,12 @@ "title_placeholder": "ví dụ: Đoạn đường nối", "description_label": "Mô tả", "description_placeholder": "Bối cảnh tùy chọn cho nhóm", - "type_label": "loại", + "type_label": "Loại", "courses_label": "Khóa học", "required_count_label": "Số lượng khóa học yêu cầu", "score_threshold_label": "Điểm đậu của mỗi học sinh (%)", "team_pass_rate_label": "Tỷ lệ vượt qua của đội (%)", - "deadline_label": "thời hạn", + "deadline_label": "Hạn chót", "deadline_date_label": "Ngày hết hạn", "relative_days_label": "Ngày kể từ khi học viên tham gia", "recurring_months_label": "Lặp lại mỗi (tháng)",