Enhance audience management features with new components and API integrations
- Added `AssignCoursesModal`, `AudienceMemberRow`, `AudienceTable`, and related components for improved audience management UI. - Implemented audience invite actions including resend and revoke functionality. - Updated audience API to support importing members and assigning courses. - Refactored audience data handling to include status and invite management. - Improved overall user experience with pagination and selection features in the audience table.
This commit is contained in:
@@ -475,7 +475,54 @@
|
||||
"name": "Navn",
|
||||
"email": "E-mail",
|
||||
"date_joined": "Dato tilmeldt",
|
||||
"upgrade": "Opgrader din plan for at invitere flere elever"
|
||||
"upgrade": "Opgrader din plan for at invitere flere elever",
|
||||
"import_users": "Importer brugere",
|
||||
"search_placeholder": "Søg...",
|
||||
"status": "Status",
|
||||
"status_active": "Aktiv",
|
||||
"status_pending": "Afventer",
|
||||
"status_expired": "Udløbet",
|
||||
"status_revoked": "Tilbagekaldt",
|
||||
"select_all": "Vælg alle",
|
||||
"selected_count": "{count} valgt",
|
||||
"assign_courses": "Tildel til kurser",
|
||||
"invite": {
|
||||
"row_actions_aria": "Åbne handlinger",
|
||||
"resend": "Send invitationen igen",
|
||||
"revoke": "Tilbagekald afventende invitation",
|
||||
"resend_snackbar_success": "Invitationsmail sendt",
|
||||
"resend_snackbar_email_failed": "Invitationen blev fornyet, men e-mailen kunne ikke sendes",
|
||||
"revoke_snackbar_success": "Afventende invitation tilbagekaldt"
|
||||
},
|
||||
"assign": {
|
||||
"title": "Tildel til kurser",
|
||||
"description": "Giv de valgte brugere adgang til kurser og giv dem eventuelt besked via e-mail.",
|
||||
"select_courses": "Vælg kurser",
|
||||
"select_courses_placeholder": "Vælg kurser...",
|
||||
"send_email": "Send notifikations-e-mail",
|
||||
"submit": "Tildel",
|
||||
"cancel": "Annuller",
|
||||
"snackbar_success": "Tildelt {assigned} brugere til kurser ({alreadyEnrolled} allerede tilmeldt, {emailsSent} e-mails sendt)",
|
||||
"snackbar_no_courses": "Vælg venligst mindst ét kursus",
|
||||
"snackbar_failed": "Kunne ikke tildele kurser"
|
||||
},
|
||||
"import": {
|
||||
"title": "Importer brugere",
|
||||
"description": "Tilføj elever til din organisation ved at indtaste deres e-mailadresser. Tildel dem eventuelt til kurser og send invitationsmails.",
|
||||
"emails_label": "E-mail-adresser",
|
||||
"emails_placeholder": "Indtast e-mails adskilt af kommaer, nye linjer eller semikolon\nf.eks. alice@example.com, bob@example.com",
|
||||
"course_access": "Kursusadgang",
|
||||
"no_courses": "Ingen kursusopgave",
|
||||
"all_courses": "Alle kurser",
|
||||
"select_courses": "Vælg specifikke kurser",
|
||||
"select_courses_placeholder": "Vælg kurser...",
|
||||
"send_email": "Send invitationsmail til importerede brugere",
|
||||
"submit": "Importer brugere",
|
||||
"back": "Tilbage til Publikum",
|
||||
"snackbar_success": "Importerede {importerede} brugere ({skipped} eksisterede allerede, {emailsSent} e-mails sendt)",
|
||||
"snackbar_no_emails": "Indtast venligst mindst én e-mailadresse",
|
||||
"snackbar_failed": "Kunne ikke importere brugere"
|
||||
}
|
||||
},
|
||||
"community": {
|
||||
"title": "Fællesskab",
|
||||
@@ -940,6 +987,8 @@
|
||||
"complete": "Komplet",
|
||||
"next": "Næste",
|
||||
"prev": "Prev",
|
||||
"prev_shortcut": "Forrige (←)",
|
||||
"next_shortcut": "Næste (→)",
|
||||
"disabled": "Funktionen er deaktiveret",
|
||||
"version_history": {
|
||||
"title": "Versionshistorik",
|
||||
@@ -1200,6 +1249,9 @@
|
||||
},
|
||||
"edit": {
|
||||
"accepted_answers_placeholder": "Accepterede svar (kommasepareret)"
|
||||
},
|
||||
"review": {
|
||||
"your_answer_label": "Indsendt:"
|
||||
}
|
||||
},
|
||||
"numeric": {
|
||||
@@ -1217,6 +1269,11 @@
|
||||
"tolerance_info": "Tilladt forskel fra den korrekte værdi (f.eks. accepterer 0,5 +/-0,5).",
|
||||
"correct_value_placeholder": "Korrekt værdi",
|
||||
"tolerance_placeholder": "Tolerance"
|
||||
},
|
||||
"review": {
|
||||
"your_answer_label": "Indsendt:",
|
||||
"in_range": "Inden for tolerance",
|
||||
"out_of_range": "Ydre tolerance"
|
||||
}
|
||||
},
|
||||
"short_answer": {
|
||||
@@ -1228,6 +1285,10 @@
|
||||
},
|
||||
"edit": {
|
||||
"instructions_placeholder": "Valgfri instruktioner"
|
||||
},
|
||||
"review": {
|
||||
"your_answer_label": "Indsendt:",
|
||||
"accepted_label": "Accepterede svar"
|
||||
}
|
||||
},
|
||||
"true_false": {
|
||||
@@ -1291,8 +1352,9 @@
|
||||
"option_prefix": "Mulighed",
|
||||
"remove": "Fjern",
|
||||
"add_option": "Tilføj mulighed",
|
||||
"correct_badge": "(korrekt)",
|
||||
"not_set": "Ikke indstillet"
|
||||
"correct_badge": "korrekt",
|
||||
"not_set": "Ikke indstillet",
|
||||
"incorrect_badge": "Forkert"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1473,7 +1535,10 @@
|
||||
"cancel": "Annuller"
|
||||
},
|
||||
"content_locked_title": "Dette indhold er låst",
|
||||
"content_locked_description": "Din instruktør har ikke låst dette indhold op endnu. Fuldfør tidligere indhold, eller tjek tilbage senere."
|
||||
"content_locked_description": "Din instruktør har ikke låst dette indhold op endnu. Fuldfør tidligere indhold, eller tjek tilbage senere.",
|
||||
"saving": "Gemmer...",
|
||||
"saved": "Gemt",
|
||||
"draft_recovery": "Der blev fundet et ikke-gemt udkast til denne lektion. Vil du gendanne den?"
|
||||
},
|
||||
"news_feed": {
|
||||
"heading": "Nyhedsfeed",
|
||||
@@ -1582,6 +1647,7 @@
|
||||
"unpublished": "Upubliceret",
|
||||
"continue_course": "Fortsæt",
|
||||
"learn_more": "Få flere oplysninger",
|
||||
"tags_overflow_aria": "{count} flere tags",
|
||||
"list_view": {
|
||||
"title": "Titel",
|
||||
"description": "Beskrivelse",
|
||||
@@ -2245,7 +2311,8 @@
|
||||
"email_password_disabled_message": "E-mail/adgangskodelogin er deaktiveret for denne organisation.",
|
||||
"google_auth_disabled": "Google-godkendelse er deaktiveret.",
|
||||
"signup_disabled_error": "Tilmelding er deaktiveret for denne organisation. Kontakt venligst din administrator.",
|
||||
"or_continue_with": "Eller fortsæt med e-mail og adgangskode"
|
||||
"or_continue_with": "Eller fortsæt med e-mail og adgangskode",
|
||||
"sso_enabled": "{provider} er aktiveret for denne organisation"
|
||||
},
|
||||
"tabs": {
|
||||
"general": "Generelt",
|
||||
@@ -2471,7 +2538,8 @@
|
||||
"edit_group": "Rediger gruppe",
|
||||
"edit_tag": "Rediger tag",
|
||||
"save": "Gem",
|
||||
"cancel": "Annuller"
|
||||
"cancel": "Annuller",
|
||||
"actions_menu": "Tag handlinger"
|
||||
},
|
||||
"common": {
|
||||
"not_available": "N/A"
|
||||
@@ -2480,9 +2548,13 @@
|
||||
"invite": {
|
||||
"organization": {
|
||||
"page_title": "Tilmeld dig {orgName} på ClassroomIO",
|
||||
"role_label": "Rolle: {role}",
|
||||
"email_label": "Inviteret e-mail: {email}",
|
||||
"join_button": "Deltag i organisationen",
|
||||
"invitation_student": "Du er blevet inviteret til {orgName} som elev.",
|
||||
"invitation_teacher": "Du er blevet inviteret til {orgName} som lærer.",
|
||||
"invitation_admin": "Du er blevet inviteret til {orgName} som administrator.",
|
||||
"invitation_fallback": "Du er blevet inviteret til {orgName} som {role}.",
|
||||
"email_line": "E-mail: {email}",
|
||||
"accept_button": "Acceptér invitation",
|
||||
"go_to_dashboard": "Gå til dashboard",
|
||||
"messages": {
|
||||
"email_mismatch": "Du er logget ind med en anden e-mail end denne invitation.",
|
||||
"expired": "Dette invitationslink er udløbet.",
|
||||
@@ -2520,6 +2592,17 @@
|
||||
"cancel": "Cancel",
|
||||
"save": "Create key"
|
||||
}
|
||||
},
|
||||
"usage": {
|
||||
"title": "Anvendelse og grænser",
|
||||
"description": "MCP er tilgængelig på alle abonnementer, men brugen styres med månedlige automatiseringskreditter og nøglegrænser.",
|
||||
"credits_title": "Kreditter tilbage",
|
||||
"credits_description": "Muterende MCP-handlinger bruger kreditter. Læsehandlinger er gratis.",
|
||||
"keys_title": "Aktive nøgler",
|
||||
"keys_description": "Brug én MCP-nøgle pr. integration, så adgang kan roteres eller tilbagekaldes rent.",
|
||||
"rate_limits_title": "Satsgrænser",
|
||||
"rate_limits_description": "Læs/skriv/publicér anmodninger tilladt pr. minut.",
|
||||
"used_label": "Brugt:"
|
||||
}
|
||||
},
|
||||
"keys": {
|
||||
@@ -2534,7 +2617,11 @@
|
||||
"never_used": "Aldrig",
|
||||
"scopes_label": "Omfang:",
|
||||
"revoke_confirm": "Vil du tilbagekalde denne automatiseringsnøgle?",
|
||||
"rotate_confirm": "Drej denne automatiseringsnøgle?"
|
||||
"rotate_confirm": "Drej denne automatiseringsnøgle?",
|
||||
"table_key": "Nøgle",
|
||||
"table_status": "Status",
|
||||
"table_created": "Oprettet",
|
||||
"table_last_used": "Sidst brugt"
|
||||
},
|
||||
"clients": {
|
||||
"claude_code": "Claude kode",
|
||||
|
||||
Reference in New Issue
Block a user