diff --git a/apps/dashboard/src/lib/features/ai-assistant/utils/template-display.ts b/apps/dashboard/src/lib/features/ai-assistant/utils/template-display.ts index 77540927..ab229bed 100644 --- a/apps/dashboard/src/lib/features/ai-assistant/utils/template-display.ts +++ b/apps/dashboard/src/lib/features/ai-assistant/utils/template-display.ts @@ -20,7 +20,7 @@ export const DISPLAY_BY_ID: Record = { audience: 'course.creator.template.field.audience', outcome: 'course.creator.template.field.outcome', depth: 'course.creator.template.field.depth', - documentation_url: 'course.creator.template.field.documentation_url' + documentation_url: 'course.creator.template.field.documentation_url.label' } }, product_onboarding: { @@ -32,7 +32,7 @@ export const DISPLAY_BY_ID: Record = { product_name: 'course.creator.template.field.product_name', audience: 'course.creator.template.field.audience', outcome: 'course.creator.template.field.outcome', - documentation_url: 'course.creator.template.field.documentation_url' + documentation_url: 'course.creator.template.field.documentation_url.label' } }, expert_on_x: { @@ -44,7 +44,7 @@ export const DISPLAY_BY_ID: Record = { topic: 'course.creator.template.field.topic', expertise_level: 'course.creator.template.field.expertise_level', outcome: 'course.creator.template.field.outcome', - documentation_url: 'course.creator.template.field.documentation_url' + documentation_url: 'course.creator.template.field.documentation_url.label' } } }; diff --git a/apps/dashboard/src/lib/utils/translations/da.json b/apps/dashboard/src/lib/utils/translations/da.json index f5aeba8c..027c3e0d 100644 --- a/apps/dashboard/src/lib/utils/translations/da.json +++ b/apps/dashboard/src/lib/utils/translations/da.json @@ -915,8 +915,17 @@ "reviews": "Anmeldelser", "instructor": "Instruktør", "pricing": "Prissætning", - "certificate": "Certifikat" - } + "certificate": "Certifikat", + "curriculum": "Læreplan", + "chips": "Færdigheder og værktøjer", + "skills": "Færdigheder du får", + "tools": "Værktøjer du lærer" + }, + "skills_help": "Tryk på Enter for at tilføje. Disse vises som chips under læseplanen.", + "tools_help": "Tryk på Enter for at tilføje. Disse vises som chips under læseplanen.", + "skills_placeholder": "f.eks. Dataanalyse", + "tools_placeholder": "f.eks. Figma", + "remove": "Fjern" } }, "certificates": { @@ -1721,7 +1730,8 @@ "submit": "Indsend øvelse", "collapse_section": "Skjul afsnit", "expand_section": "Udvid afsnit" - } + }, + "more": "Handlinger" }, "new_exercise_modal": { "heading": "Ny øvelse", @@ -2171,7 +2181,10 @@ "depth": "Hvor dybt skal kurset gå?", "topic": "Emne eller niche", "expertise_level": "Mål ekspertiseniveau", - "documentation_url": "Dokumentations-URL (valgfrit)" + "documentation_url": { + "label": "Dokumentations-URL (valgfrit)", + "hint": "Vi læser dette websted for at basere kurset på dit rigtige produkt." + } }, "expert_on_x": { "title": "Bliv ekspert på X", @@ -4032,7 +4045,14 @@ "cancel": "Annuller kørsel", "dismiss": "Afvis", "now_doing": "Nu", - "input_disabled_hint": "Chatten er sat på pause, mens agenten er færdig med at bygge kurset. Annuller eller vent på, at det er fuldført." + "input_disabled_hint": "Chatten er sat på pause, mens agenten er færdig med at bygge kurset. Annuller eller vent på, at det er fuldført.", + "dismiss_confirm": "Gå væk", + "dismiss_cancel": "Fortsæt løb", + "dismiss_confirm_body": "Vil du gå væk fra dette aflyste løb? Genoptag-knappen forsvinder - enhver yderligere chat starter på en frisk og fortsætter ikke planen.", + "stuck_queued": { + "title": "Arbejder reagerer ikke", + "body": "Denne kørsel har ventet i mere end 30 sekunder uden nogen afhentning af arbejderen. Baggrundsarbejderen er muligvis nede eller genstarter." + } } }, "widgets": { @@ -4471,5 +4491,27 @@ "description": "Standarder for hvert kursus i dette arbejdsområde. Kurser kan arve disse eller tilsidesætte dem." } } + }, + "hls_upload": { + "rungs": { + "p360": "360p", + "p720": "720p", + "p1080": "1080p" + }, + "error": { + "webcodecs_unsupported": "Din browser understøtter ikke hardware-videokodning. Brug en nyere version af Chrome, Edge eller Safari.", + "encode_failed": "Kodning mislykkedes. Prøv en anden kildefil, eller opdater, og prøv igen.", + "upload_failed": "Kunne ikke uploade et videosegment. Tjek din forbindelse og prøv igen.", + "finalize_failed": "Kunne ikke gemme den uploadede video." + }, + "stage": { + "probing": "Læser video...", + "encoding": "Kodning {rung} ({percent}%)", + "uploading": "Uploader segmenter ({uploaded}/{total})", + "thumbnail": "Genererer thumbnail...", + "finalizing": "Gemmer...", + "done": "Klar", + "failed": "Upload mislykkedes" + } } } diff --git a/apps/dashboard/src/lib/utils/translations/de.json b/apps/dashboard/src/lib/utils/translations/de.json index 77d5ced3..00dc42ae 100644 --- a/apps/dashboard/src/lib/utils/translations/de.json +++ b/apps/dashboard/src/lib/utils/translations/de.json @@ -915,8 +915,17 @@ "reviews": "Rezensionen", "instructor": "Lehrer", "pricing": "Preise", - "certificate": "Zertifikat" - } + "certificate": "Zertifikat", + "curriculum": "Lehrplan", + "chips": "Fähigkeiten und Werkzeuge", + "skills": "Fähigkeiten, die Sie erwerben werden", + "tools": "Werkzeuge, die Sie lernen werden" + }, + "skills_help": "Drücken Sie zum Hinzufügen die Eingabetaste. Diese erscheinen als Chips unterhalb des Lehrplans.", + "tools_help": "Drücken Sie zum Hinzufügen die Eingabetaste. Diese erscheinen als Chips unterhalb des Lehrplans.", + "skills_placeholder": "z.B. Datenanalyse", + "tools_placeholder": "z.B. Figma", + "remove": "Entfernen" } }, "certificates": { @@ -1721,7 +1730,8 @@ "submit": "Übung einreichen", "collapse_section": "Abschnitt einklappen", "expand_section": "Abschnitt ausklappen" - } + }, + "more": "Aktionen" }, "new_exercise_modal": { "heading": "Neue Übung", @@ -2171,7 +2181,10 @@ "depth": "Wie tief soll der Kurs gehen?", "topic": "Thema oder Nische", "expertise_level": "Zielkompetenzniveau", - "documentation_url": "Dokumentations-URL (optional)" + "documentation_url": { + "label": "Dokumentations-URL (optional)", + "hint": "Wir werden diese Website lesen, um den Kurs in Ihrem realen Produkt zu verankern." + } }, "expert_on_x": { "title": "Werden Sie Experte für X", @@ -4032,7 +4045,14 @@ "cancel": "Lauf abbrechen", "dismiss": "Entlassen", "now_doing": "Jetzt", - "input_disabled_hint": "Der Chat wird angehalten, während der Agent mit der Erstellung des Kurses fertig ist. Brechen Sie den Vorgang ab oder warten Sie, bis der Vorgang abgeschlossen ist." + "input_disabled_hint": "Der Chat wird angehalten, während der Agent mit der Erstellung des Kurses fertig ist. Brechen Sie den Vorgang ab oder warten Sie, bis der Vorgang abgeschlossen ist.", + "dismiss_confirm": "Geh weg", + "dismiss_cancel": "Lauf weiter", + "dismiss_confirm_body": "Von diesem abgesagten Lauf weggehen? Die Schaltfläche „Fortsetzen“ wird nicht mehr angezeigt – jeder weitere Chat beginnt neu und führt den Plan nicht fort.", + "stuck_queued": { + "title": "Arbeiter reagiert nicht", + "body": "Dieser Lauf hat mehr als 30 Sekunden gewartet, ohne dass ein Arbeiter abgeholt wurde. Der Hintergrund-Worker ist möglicherweise nicht verfügbar oder wird neu gestartet." + } } }, "widgets": { @@ -4471,5 +4491,27 @@ "description": "Standardwerte für jeden Kurs in diesem Arbeitsbereich. Kurse können diese erben oder überschreiben." } } + }, + "hls_upload": { + "rungs": { + "p360": "360p", + "p720": "720p", + "p1080": "1080p" + }, + "error": { + "webcodecs_unsupported": "Ihr Browser unterstützt keine Hardware-Videokodierung. Verwenden Sie eine aktuelle Version von Chrome, Edge oder Safari.", + "encode_failed": "Die Codierung ist fehlgeschlagen. Versuchen Sie es mit einer anderen Quelldatei oder aktualisieren Sie die Datei und versuchen Sie es erneut.", + "upload_failed": "Ein Videosegment konnte nicht hochgeladen werden. Überprüfen Sie Ihre Verbindung und versuchen Sie es erneut.", + "finalize_failed": "Das hochgeladene Video konnte nicht gespeichert werden." + }, + "stage": { + "probing": "Video lesen…", + "encoding": "Codierung {rung} ({percent}%)", + "uploading": "Segmente werden hochgeladen ({uploaded}/{total})", + "thumbnail": "Miniaturbild wird erstellt…", + "finalizing": "Sparen…", + "done": "Bereit", + "failed": "Der Upload ist fehlgeschlagen" + } } } diff --git a/apps/dashboard/src/lib/utils/translations/en.json b/apps/dashboard/src/lib/utils/translations/en.json index bb984dee..aa671773 100644 --- a/apps/dashboard/src/lib/utils/translations/en.json +++ b/apps/dashboard/src/lib/utils/translations/en.json @@ -983,6 +983,28 @@ } } }, + "hls_upload": { + "stage": { + "probing": "Reading video…", + "encoding": "Encoding {rung} ({percent}%)", + "uploading": "Uploading segments ({uploaded}/{total})", + "thumbnail": "Generating thumbnail…", + "finalizing": "Saving…", + "done": "Ready", + "failed": "Upload failed" + }, + "error": { + "webcodecs_unsupported": "Your browser does not support hardware video encoding. Use a recent version of Chrome, Edge, or Safari.", + "encode_failed": "Encoding failed. Try a different source file or refresh and try again.", + "upload_failed": "Failed to upload a video segment. Check your connection and retry.", + "finalize_failed": "Failed to save the uploaded video." + }, + "rungs": { + "p360": "360p", + "p720": "720p", + "p1080": "1080p" + } + }, "media_manager": { "page_title": "Media Manager - ClassroomIO", "heading": "Media Manager", @@ -2031,8 +2053,10 @@ "depth": "How deep should the course go?", "topic": "Topic or niche", "expertise_level": "Target expertise level", - "documentation_url": "Documentation URL (optional)", - "documentation_url.hint": "We'll read this site to ground the course in your real product." + "documentation_url": { + "label": "Documentation URL (optional)", + "hint": "We'll read this site to ground the course in your real product." + } } } }, @@ -2422,7 +2446,8 @@ "save": "Save", "preview": "Preview", "add": "Add", - "add_question": "Add a question", + "more": "Actions", + "add_question": "Add question", "add_section": "Add section", "reorder": "Reorder Questions", "reorder_done": "Done reordering", @@ -2490,7 +2515,9 @@ "yes": "Yes, delete", "select_type": "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", "premium_question_type": "Upgrade to use this question type", "deleting": "Deleting...", "error": "You have some errors", @@ -3261,8 +3288,17 @@ "reviews": "Reviews", "instructor": "Instructor", "pricing": "Pricing", - "certificate": "Certificate" + "certificate": "Certificate", + "curriculum": "Curriculum", + "chips": "Skills & Tools", + "skills": "Skills you'll gain", + "tools": "Tools you'll learn" }, + "skills_help": "Press Enter to add. These appear as chips below the curriculum.", + "tools_help": "Press Enter to add. These appear as chips below the curriculum.", + "skills_placeholder": "e.g. Data Analysis", + "tools_placeholder": "e.g. Figma", + "remove": "Remove", "save": "Save", "page_builder": "Page Builder", "section": "section", @@ -4335,8 +4371,15 @@ "run_monitor": { "cancel": "Cancel run", "dismiss": "Dismiss", + "dismiss_confirm": "Walk away", + "dismiss_cancel": "Keep run", + "dismiss_confirm_body": "Walk away from this canceled run? The Resume button will be gone — any further chat will start fresh and won't continue the plan.", "now_doing": "Now", - "input_disabled_hint": "Chat is paused while the agent finishes building the course. Cancel or wait for it to complete." + "input_disabled_hint": "Chat is paused while the agent finishes building the course. Cancel or wait for it to complete.", + "stuck_queued": { + "title": "Worker not responding", + "body": "This run has been waiting more than 30 seconds with no worker pickup. The background worker may be down or restarting." + } }, "plan_view": { "expand": "Expand plan", diff --git a/apps/dashboard/src/lib/utils/translations/es.json b/apps/dashboard/src/lib/utils/translations/es.json index 90609cbd..aa14e4c1 100644 --- a/apps/dashboard/src/lib/utils/translations/es.json +++ b/apps/dashboard/src/lib/utils/translations/es.json @@ -915,8 +915,17 @@ "reviews": "Reseñas", "instructor": "Instructor", "pricing": "Precios", - "certificate": "Certificado" - } + "certificate": "Certificado", + "curriculum": "Plan de estudios", + "chips": "Habilidades y herramientas", + "skills": "Habilidades que obtendrás", + "tools": "Herramientas que aprenderás" + }, + "skills_help": "Presione Entrar para agregar. Estos aparecen como fichas debajo del plan de estudios.", + "tools_help": "Presione Entrar para agregar. Estos aparecen como fichas debajo del plan de estudios.", + "skills_placeholder": "p.ej. Análisis de datos", + "tools_placeholder": "por ej. figura", + "remove": "Quitar" } }, "certificates": { @@ -1721,7 +1730,8 @@ "submit": "Enviar ejercicio", "collapse_section": "Contraer sección", "expand_section": "Expandir sección" - } + }, + "more": "Acciones" }, "new_exercise_modal": { "heading": "Nuevo ejercicio", @@ -2171,7 +2181,10 @@ "depth": "¿Qué profundidad debe tener el curso?", "topic": "Tema o nicho", "expertise_level": "Nivel de experiencia objetivo", - "documentation_url": "URL de documentación (opcional)" + "documentation_url": { + "label": "URL de documentación (opcional)", + "hint": "Leeremos este sitio para basar el curso en su producto real." + } }, "expert_on_x": { "title": "Conviértete en un experto en X", @@ -4032,7 +4045,14 @@ "cancel": "Cancelar ejecución", "dismiss": "Descartar", "now_doing": "ahora", - "input_disabled_hint": "El chat se pausa mientras el agente termina de crear el curso. Cancele o espere a que se complete." + "input_disabled_hint": "El chat se pausa mientras el agente termina de crear el curso. Cancele o espere a que se complete.", + "dismiss_confirm": "alejarse", + "dismiss_cancel": "seguir corriendo", + "dismiss_confirm_body": "¿Abandonarse de esta carrera cancelada? El botón Reanudar desaparecerá; cualquier conversación adicional comenzará de nuevo y no continuará con el plan.", + "stuck_queued": { + "title": "trabajador no responde", + "body": "Esta ejecución ha estado esperando más de 30 segundos sin que ningún trabajador haya sido recogido. Es posible que el trabajador en segundo plano esté inactivo o reiniciándose." + } } }, "widgets": { @@ -4471,5 +4491,27 @@ "description": "Valores predeterminados para cada curso en este espacio de trabajo. Los cursos pueden heredar estos o anularlos." } } + }, + "hls_upload": { + "rungs": { + "p360": "360p", + "p720": "720p", + "p1080": "1080p" + }, + "error": { + "webcodecs_unsupported": "Su navegador no admite codificación de video por hardware. Utilice una versión reciente de Chrome, Edge o Safari.", + "encode_failed": "Error de codificación. Pruebe con un archivo fuente diferente o actualice e inténtelo de nuevo.", + "upload_failed": "No se pudo cargar un segmento de video. Verifique su conexión y vuelva a intentarlo.", + "finalize_failed": "No se pudo guardar el video subido." + }, + "stage": { + "probing": "Leyendo vídeo…", + "encoding": "Codificación {rung} ({percent}%)", + "uploading": "Subiendo segmentos ({uploaded}/{total})", + "thumbnail": "Generando miniatura…", + "finalizing": "Guardando…", + "done": "Listo", + "failed": "Error al subir" + } } } diff --git a/apps/dashboard/src/lib/utils/translations/fr.json b/apps/dashboard/src/lib/utils/translations/fr.json index 7340ca20..40e159c1 100644 --- a/apps/dashboard/src/lib/utils/translations/fr.json +++ b/apps/dashboard/src/lib/utils/translations/fr.json @@ -915,8 +915,17 @@ "reviews": "Avis", "instructor": "Instructeur", "pricing": "Tarifs", - "certificate": "Certificat" - } + "certificate": "Certificat", + "curriculum": "Programme d'études", + "chips": "Compétences et outils", + "skills": "Compétences que vous gagnerez", + "tools": "Outils que vous apprendrez" + }, + "skills_help": "Appuyez sur Entrée pour ajouter. Ceux-ci apparaissent sous forme de puces sous le programme.", + "tools_help": "Appuyez sur Entrée pour ajouter. Ceux-ci apparaissent sous forme de puces sous le programme.", + "skills_placeholder": "par ex. Analyse des données", + "tools_placeholder": "par ex. Figma", + "remove": "Supprimer" } }, "certificates": { @@ -1721,7 +1730,8 @@ "submit": "Soumettre l'exercice", "collapse_section": "Réduire la section", "expand_section": "Développer la section" - } + }, + "more": "Actions" }, "new_exercise_modal": { "heading": "Nouvel exercice", @@ -2171,7 +2181,10 @@ "depth": "Jusqu’où doit aller le cours ?", "topic": "Sujet ou niche", "expertise_level": "Niveau d’expertise cible", - "documentation_url": "URL de la documentation (facultatif)" + "documentation_url": { + "label": "URL de documentation (facultatif)", + "hint": "Nous lirons ce site pour ancrer le cours dans votre produit réel." + } }, "expert_on_x": { "title": "Devenez un expert sur X", @@ -4032,7 +4045,14 @@ "cancel": "Annuler l'exécution", "dismiss": "Rejeter", "now_doing": "Maintenant", - "input_disabled_hint": "La conversation est suspendue pendant que l'agent termine la création du cours. Annulez ou attendez qu'il soit terminé." + "input_disabled_hint": "La conversation est suspendue pendant que l'agent termine la création du cours. Annulez ou attendez qu'il soit terminé.", + "dismiss_confirm": "S'éloigner", + "dismiss_cancel": "Continuez à courir", + "dismiss_confirm_body": "S'éloigner de cette course annulée ? Le bouton Reprendre disparaîtra : toute nouvelle discussion recommencera à zéro et ne poursuivra pas le plan.", + "stuck_queued": { + "title": "Le travailleur ne répond pas", + "body": "Cette exécution attend depuis plus de 30 secondes sans qu'aucun travailleur ne soit récupéré. Le travailleur en arrière-plan est peut-être en panne ou redémarre." + } } }, "widgets": { @@ -4471,5 +4491,27 @@ "description": "Valeurs par défaut pour chaque cours de cet espace de travail. Les cours peuvent en hériter ou les remplacer." } } + }, + "hls_upload": { + "rungs": { + "p360": "360p", + "p720": "720p", + "p1080": "1080p" + }, + "error": { + "webcodecs_unsupported": "Votre navigateur ne prend pas en charge l'encodage vidéo matériel. Utilisez une version récente de Chrome, Edge ou Safari.", + "encode_failed": "L'encodage a échoué. Essayez un autre fichier source ou actualisez et réessayez.", + "upload_failed": "Échec du téléchargement d'un segment vidéo. Vérifiez votre connexion et réessayez.", + "finalize_failed": "Échec de l'enregistrement de la vidéo téléchargée." + }, + "stage": { + "probing": "Lecture de la vidéo…", + "encoding": "Encodage de {rung} ({percent} %)", + "uploading": "Segments en ligne ({uploaded}/{total})", + "thumbnail": "Générer une vignette…", + "finalizing": "Sauvegarde…", + "done": "Prêt", + "failed": "Échec du téléchargement" + } } } diff --git a/apps/dashboard/src/lib/utils/translations/hi.json b/apps/dashboard/src/lib/utils/translations/hi.json index 2cad4b81..37c57b53 100644 --- a/apps/dashboard/src/lib/utils/translations/hi.json +++ b/apps/dashboard/src/lib/utils/translations/hi.json @@ -915,8 +915,17 @@ "reviews": "समीक्षाएँ", "instructor": "प्रशिक्षक", "pricing": "मूल्य निर्धारण", - "certificate": "प्रमाणपत्र" - } + "certificate": "प्रमाणपत्र", + "curriculum": "पाठ्यचर्या", + "chips": "कौशल एवं उपकरण", + "skills": "कौशल आप हासिल करेंगे", + "tools": "उपकरण आप सीखेंगे" + }, + "skills_help": "जोड़ने के लिए Enter दबाएँ. ये पाठ्यक्रम के नीचे चिप्स के रूप में दिखाई देते हैं।", + "tools_help": "जोड़ने के लिए Enter दबाएँ. ये पाठ्यक्रम के नीचे चिप्स के रूप में दिखाई देते हैं।", + "skills_placeholder": "जैसे डेटा विश्लेषण", + "tools_placeholder": "जैसे फिग्मा", + "remove": "हटाओ" } }, "certificates": { @@ -1721,7 +1730,8 @@ "submit": "व्यायाम सबमिट करें", "collapse_section": "अनुभाग संकुचित करें", "expand_section": "अनुभाग विस्तारित करें" - } + }, + "more": "क्रियाएँ" }, "new_exercise_modal": { "heading": "नया व्यायाम", @@ -2171,7 +2181,10 @@ "depth": "पाठ्यक्रम कितना गहरा होना चाहिए?", "topic": "विषय या आला", "expertise_level": "लक्ष्य विशेषज्ञता स्तर", - "documentation_url": "दस्तावेज़ीकरण URL (वैकल्पिक)" + "documentation_url": { + "label": "दस्तावेज़ीकरण URL (वैकल्पिक)", + "hint": "हम आपके वास्तविक उत्पाद में पाठ्यक्रम को आधार बनाने के लिए इस साइट को पढ़ेंगे।" + } }, "expert_on_x": { "title": "एक्स पर विशेषज्ञ बनें", @@ -4032,7 +4045,14 @@ "cancel": "चलाएँ रद्द करें", "dismiss": "ख़ारिज करें", "now_doing": "अभी", - "input_disabled_hint": "जब एजेंट पाठ्यक्रम का निर्माण पूरा कर लेता है तो चैट रोक दी जाती है। रद्द करें या इसके पूरा होने तक प्रतीक्षा करें।" + "input_disabled_hint": "जब एजेंट पाठ्यक्रम का निर्माण पूरा कर लेता है तो चैट रोक दी जाती है। रद्द करें या इसके पूरा होने तक प्रतीक्षा करें।", + "dismiss_confirm": "चले जाओ", + "dismiss_cancel": "भागते रहो", + "dismiss_confirm_body": "इस रद्द किए गए रन से दूर चले जाएं? बायोडाटा बटन गायब हो जाएगा - आगे की कोई भी बातचीत नए सिरे से शुरू होगी और योजना जारी नहीं रहेगी।", + "stuck_queued": { + "title": "कर्मी जवाब नहीं दे रहा है", + "body": "इस रन के लिए 30 सेकंड से अधिक समय से प्रतीक्षा की जा रही है और कोई कर्मचारी पिकअप नहीं कर रहा है। बैकग्राउंड वर्कर डाउन या रीस्टार्ट हो सकता है।" + } } }, "widgets": { @@ -4471,5 +4491,27 @@ "description": "इस कार्यक्षेत्र में प्रत्येक पाठ्यक्रम के लिए डिफ़ॉल्ट. पाठ्यक्रम इन्हें विरासत में प्राप्त कर सकते हैं या उन्हें ओवरराइड कर सकते हैं।" } } + }, + "hls_upload": { + "rungs": { + "p360": "360पी", + "p720": "720पी", + "p1080": "1080p" + }, + "error": { + "webcodecs_unsupported": "आपका ब्राउज़र हार्डवेयर वीडियो एन्कोडिंग का समर्थन नहीं करता है. Chrome, Edge, या Safari के नवीनतम संस्करण का उपयोग करें।", + "encode_failed": "एन्कोडिंग विफल. कोई भिन्न स्रोत फ़ाइल आज़माएँ या ताज़ा करें और पुनः प्रयास करें।", + "upload_failed": "वीडियो खंड अपलोड करने में विफल. अपना कनेक्शन जांचें और पुनः प्रयास करें.", + "finalize_failed": "अपलोड किया गया वीडियो सहेजने में विफल." + }, + "stage": { + "probing": "वीडियो पढ़ रहा हूँ...", + "encoding": "एन्कोडिंग {rung} ({percent}%)", + "uploading": "सेगमेंट अपलोड हो रहे हैं ({uploaded}/{total})", + "thumbnail": "थंबनेल जनरेट किया जा रहा है...", + "finalizing": "सहेजा जा रहा है...", + "done": "तैयार", + "failed": "अपलोड विफल रहा" + } } } diff --git a/apps/dashboard/src/lib/utils/translations/pl.json b/apps/dashboard/src/lib/utils/translations/pl.json index 547e4e29..1e44cf30 100644 --- a/apps/dashboard/src/lib/utils/translations/pl.json +++ b/apps/dashboard/src/lib/utils/translations/pl.json @@ -915,8 +915,17 @@ "reviews": "Recenzje", "instructor": "Instruktor", "pricing": "Ceny", - "certificate": "Certyfikat" - } + "certificate": "Certyfikat", + "curriculum": "Program nauczania", + "chips": "Umiejętności i narzędzia", + "skills": "Umiejętności, które zyskasz", + "tools": "Narzędzia, których się nauczysz" + }, + "skills_help": "Naciśnij Enter, aby dodać. Pojawiają się one jako elementy poniżej programu nauczania.", + "tools_help": "Naciśnij Enter, aby dodać. Pojawiają się one jako elementy poniżej programu nauczania.", + "skills_placeholder": "np. Analiza danych", + "tools_placeholder": "np. Figma", + "remove": "Usuń" } }, "certificates": { @@ -1721,7 +1730,8 @@ "submit": "Prześlij ćwiczenie", "collapse_section": "Zwiń sekcję", "expand_section": "Rozwiń sekcję" - } + }, + "more": "Działania" }, "new_exercise_modal": { "heading": "Nowe ćwiczenie", @@ -2171,7 +2181,10 @@ "depth": "Jak głęboko powinien sięgać kurs?", "topic": "Temat lub nisza", "expertise_level": "Docelowy poziom wiedzy", - "documentation_url": "Adres URL dokumentacji (opcjonalnie)" + "documentation_url": { + "label": "Adres URL dokumentacji (opcjonalnie)", + "hint": "Przeczytamy tę witrynę, aby oprzeć kurs na Twoim prawdziwym produkcie." + } }, "expert_on_x": { "title": "Zostań ekspertem w dziedzinie X", @@ -4032,7 +4045,14 @@ "cancel": "Anuluj bieg", "dismiss": "Odrzuć", "now_doing": "Teraz", - "input_disabled_hint": "Czat zostaje wstrzymany, gdy agent kończy tworzenie kursu. Anuluj lub poczekaj na zakończenie." + "input_disabled_hint": "Czat zostaje wstrzymany, gdy agent kończy tworzenie kursu. Anuluj lub poczekaj na zakończenie.", + "dismiss_confirm": "Odejdź", + "dismiss_cancel": "Biegnij dalej", + "dismiss_confirm_body": "Czy chcesz zrezygnować z tego odwołanego biegu? Przycisk Wznów zniknie — każdy kolejny czat rozpocznie się od nowa i nie będzie kontynuowany planu.", + "stuck_queued": { + "title": "Pracownik nie odpowiada", + "body": "Ten przebieg czekał ponad 30 sekund bez odbioru pracownika. Proces roboczy działający w tle może być wyłączony lub uruchamiany ponownie." + } } }, "widgets": { @@ -4471,5 +4491,27 @@ "description": "Wartości domyślne dla każdego kursu w tym obszarze roboczym. Kursy mogą je dziedziczyć lub zastępować." } } + }, + "hls_upload": { + "rungs": { + "p360": "360p", + "p720": "720p", + "p1080": "1080p" + }, + "error": { + "webcodecs_unsupported": "Twoja przeglądarka nie obsługuje sprzętowego kodowania wideo. Użyj najnowszej wersji przeglądarki Chrome, Edge lub Safari.", + "encode_failed": "Kodowanie nie powiodło się. Wypróbuj inny plik źródłowy lub odśwież i spróbuj ponownie.", + "upload_failed": "Nie udało się przesłać segmentu wideo. Sprawdź połączenie i spróbuj ponownie.", + "finalize_failed": "Nie udało się zapisać przesłanego filmu." + }, + "stage": { + "probing": "Czytanie wideo…", + "encoding": "Kodowanie {rung} ({percent}%)", + "uploading": "Przesyłanie segmentów ({uploaded}/{total})", + "thumbnail": "Generuję miniaturę…", + "finalizing": "Zapisuję…", + "done": "Gotowy", + "failed": "Przesyłanie nie powiodło się" + } } } diff --git a/apps/dashboard/src/lib/utils/translations/pt.json b/apps/dashboard/src/lib/utils/translations/pt.json index 64b726de..55d8ea5b 100644 --- a/apps/dashboard/src/lib/utils/translations/pt.json +++ b/apps/dashboard/src/lib/utils/translations/pt.json @@ -915,8 +915,17 @@ "reviews": "Avaliações", "instructor": "Instrutor", "pricing": "Preços", - "certificate": "Certificado" - } + "certificate": "Certificado", + "curriculum": "Currículo", + "chips": "Habilidades e ferramentas", + "skills": "Habilidades que você ganhará", + "tools": "Ferramentas que você aprenderá" + }, + "skills_help": "Pressione Enter para adicionar. Eles aparecem como fichas abaixo do currículo.", + "tools_help": "Pressione Enter para adicionar. Eles aparecem como fichas abaixo do currículo.", + "skills_placeholder": "por exemplo Análise de dados", + "tools_placeholder": "por exemplo Figura", + "remove": "Remover" } }, "certificates": { @@ -1721,7 +1730,8 @@ "submit": "Enviar exercício", "collapse_section": "Recolher seção", "expand_section": "Expandir seção" - } + }, + "more": "Ações" }, "new_exercise_modal": { "heading": "Novo exercício", @@ -2171,7 +2181,10 @@ "depth": "Quão profundo o curso deve ir?", "topic": "Tópico ou nicho", "expertise_level": "Nível de especialização alvo", - "documentation_url": "URL da documentação (opcional)" + "documentation_url": { + "label": "URL de documentação (opcional)", + "hint": "Leremos este site para fundamentar o curso em seu produto real." + } }, "expert_on_x": { "title": "Torne-se um especialista em X", @@ -4032,7 +4045,14 @@ "cancel": "Cancelar execução", "dismiss": "Dispensar", "now_doing": "Agora", - "input_disabled_hint": "O chat é pausado enquanto o agente termina de criar o curso. Cancele ou aguarde a conclusão." + "input_disabled_hint": "O chat é pausado enquanto o agente termina de criar o curso. Cancele ou aguarde a conclusão.", + "dismiss_confirm": "Vá embora", + "dismiss_cancel": "Continue correndo", + "dismiss_confirm_body": "Sair desta corrida cancelada? O botão Continuar desaparecerá – qualquer bate-papo adicional começará do zero e não dará continuidade ao plano.", + "stuck_queued": { + "title": "O trabalhador não responde", + "body": "Esta execução está aguardando há mais de 30 segundos sem nenhuma coleta de trabalhador. O trabalhador em segundo plano pode estar inativo ou reiniciando." + } } }, "widgets": { @@ -4471,5 +4491,27 @@ "description": "Padrões para cada curso neste espaço de trabalho. Os cursos podem herdá-los ou substituí-los." } } + }, + "hls_upload": { + "rungs": { + "p360": "360p", + "p720": "720p", + "p1080": "1080p" + }, + "error": { + "webcodecs_unsupported": "Seu navegador não suporta codificação de vídeo por hardware. Use a recent version of Chrome, Edge, or Safari.", + "encode_failed": "A codificação falhou. Tente um arquivo de origem diferente ou atualize e tente novamente.", + "upload_failed": "Falha ao enviar um segmento de vídeo. Verifique sua conexão e tente novamente.", + "finalize_failed": "Falha ao salvar o vídeo enviado." + }, + "stage": { + "probing": "Lendo vídeo…", + "encoding": "Codificação {rung} ({percent}%)", + "uploading": "Fazendo upload de segmentos ({uploaded}/{total})", + "thumbnail": "Gerando miniatura…", + "finalizing": "Salvando…", + "done": "Pronto", + "failed": "Falha no upload" + } } } diff --git a/apps/dashboard/src/lib/utils/translations/ru.json b/apps/dashboard/src/lib/utils/translations/ru.json index 24b71162..311164bd 100644 --- a/apps/dashboard/src/lib/utils/translations/ru.json +++ b/apps/dashboard/src/lib/utils/translations/ru.json @@ -915,8 +915,17 @@ "reviews": "Отзывы", "instructor": "Инструктор", "pricing": "Цены", - "certificate": "Сертификат" - } + "certificate": "Сертификат", + "curriculum": "учебная программа", + "chips": "Навыки и инструменты", + "skills": "Навыки, которые вы получите", + "tools": "Инструменты, которые вы изучите" + }, + "skills_help": "Нажмите Enter, чтобы добавить. Они отображаются в виде фишек под учебной программой.", + "tools_help": "Нажмите Enter, чтобы добавить. Они отображаются в виде фишек под учебной программой.", + "skills_placeholder": "например Анализ данных", + "tools_placeholder": "например Фигма", + "remove": "Удалить" } }, "certificates": { @@ -1721,7 +1730,8 @@ "submit": "Отправить упражнение", "collapse_section": "Свернуть раздел", "expand_section": "Развернуть раздел" - } + }, + "more": "Действия" }, "new_exercise_modal": { "heading": "Новое упражнение", @@ -2171,7 +2181,10 @@ "depth": "Насколько глубоким должен быть курс?", "topic": "Тема или ниша", "expertise_level": "Целевой уровень экспертизы", - "documentation_url": "URL-адрес документации (необязательно)" + "documentation_url": { + "label": "URL документации (необязательно)", + "hint": "Мы прочитаем этот сайт, чтобы закрепить курс на вашем реальном продукте." + } }, "expert_on_x": { "title": "Станьте экспертом по X", @@ -4032,7 +4045,14 @@ "cancel": "Отменить запуск", "dismiss": "Уволить", "now_doing": "Сейчас", - "input_disabled_hint": "Чат приостановлен, пока агент завершает создание курса. Отмените или дождитесь завершения." + "input_disabled_hint": "Чат приостановлен, пока агент завершает создание курса. Отмените или дождитесь завершения.", + "dismiss_confirm": "Уйти", + "dismiss_cancel": "Продолжайте бежать", + "dismiss_confirm_body": "Уйти с отмененного забега? Кнопка «Возобновить» исчезнет — любой дальнейший чат начнется заново и не будет продолжать выполнение плана.", + "stuck_queued": { + "title": "Работник не отвечает", + "body": "Этот запуск ожидает более 30 секунд, а работник не подъезжает. Фоновый рабочий процесс может быть отключен или перезапущен." + } } }, "widgets": { @@ -4471,5 +4491,27 @@ "description": "Значения по умолчанию для каждого курса в этой рабочей области. Курсы могут наследовать их или переопределять." } } + }, + "hls_upload": { + "rungs": { + "p360": "360p", + "p720": "720p", + "p1080": "1080p" + }, + "error": { + "webcodecs_unsupported": "Ваш браузер не поддерживает аппаратное кодирование видео. Используйте последнюю версию Chrome, Edge или Safari.", + "encode_failed": "Кодирование не удалось. Попробуйте другой исходный файл или обновите и повторите попытку.", + "upload_failed": "Не удалось загрузить фрагмент видео. Проверьте соединение и повторите попытку.", + "finalize_failed": "Не удалось сохранить загруженное видео." + }, + "stage": { + "probing": "Чтение видео…", + "encoding": "Кодирование {rung} ({percent}%)", + "uploading": "Загрузка сегментов ({uploaded}/{total})", + "thumbnail": "Создание миниатюры…", + "finalizing": "Сохранение…", + "done": "Готово", + "failed": "Загрузка не удалась" + } } } diff --git a/apps/dashboard/src/lib/utils/translations/vi.json b/apps/dashboard/src/lib/utils/translations/vi.json index 17f9036a..55a1e6e0 100644 --- a/apps/dashboard/src/lib/utils/translations/vi.json +++ b/apps/dashboard/src/lib/utils/translations/vi.json @@ -915,8 +915,17 @@ "reviews": "Đánh giá", "instructor": "Người hướng dẫn", "pricing": "Định giá", - "certificate": "Giấy chứng nhận" - } + "certificate": "Giấy chứng nhận", + "curriculum": "chương trình giảng dạy", + "chips": "Kỹ năng & Công cụ", + "skills": "Những kỹ năng bạn sẽ đạt được", + "tools": "Công cụ bạn sẽ học" + }, + "skills_help": "Nhấn Enter để thêm. Chúng xuất hiện dưới dạng chip bên dưới chương trình giảng dạy.", + "tools_help": "Nhấn Enter để thêm. Chúng xuất hiện dưới dạng chip bên dưới chương trình giảng dạy.", + "skills_placeholder": "ví dụ. Phân tích dữ liệu", + "tools_placeholder": "ví dụ: hình ảnh", + "remove": "Xóa" } }, "certificates": { @@ -1721,7 +1730,8 @@ "submit": "Gửi bài tập", "collapse_section": "Thu gọn phần", "expand_section": "Mở rộng phần" - } + }, + "more": "hành động" }, "new_exercise_modal": { "heading": "Bài tập mới", @@ -2171,7 +2181,10 @@ "depth": "Khóa học nên đi sâu đến mức nào?", "topic": "Chủ đề hoặc niche", "expertise_level": "Mục tiêu trình độ chuyên môn", - "documentation_url": "URL tài liệu (tùy chọn)" + "documentation_url": { + "label": "URL tài liệu (tùy chọn)", + "hint": "Chúng tôi sẽ đọc trang web này để xây dựng khóa học về sản phẩm thực của bạn." + } }, "expert_on_x": { "title": "Trở thành chuyên gia về X", @@ -4032,7 +4045,14 @@ "cancel": "Hủy chạy", "dismiss": "Loại bỏ", "now_doing": "bây giờ", - "input_disabled_hint": "Cuộc trò chuyện bị tạm dừng trong khi nhân viên hỗ trợ hoàn tất việc xây dựng khóa học. Hủy bỏ hoặc đợi cho đến khi nó hoàn thành." + "input_disabled_hint": "Cuộc trò chuyện bị tạm dừng trong khi nhân viên hỗ trợ hoàn tất việc xây dựng khóa học. Hủy bỏ hoặc đợi cho đến khi nó hoàn thành.", + "dismiss_confirm": "Bỏ đi", + "dismiss_cancel": "Tiếp tục chạy", + "dismiss_confirm_body": "Rời khỏi cuộc chạy bị hủy bỏ này? Nút Tiếp tục sẽ biến mất - mọi cuộc trò chuyện tiếp theo sẽ bắt đầu mới và sẽ không tiếp tục kế hoạch.", + "stuck_queued": { + "title": "Công nhân không phản hồi", + "body": "Lần chạy này đã chờ hơn 30 giây mà không có công nhân đón. Nhân viên chạy nền có thể không hoạt động hoặc đang khởi động lại." + } } }, "widgets": { @@ -4471,5 +4491,27 @@ "description": "Mặc định cho mọi khóa học trong không gian làm việc này. Các khóa học có thể kế thừa hoặc ghi đè chúng." } } + }, + "hls_upload": { + "rungs": { + "p360": "360p", + "p720": "720p", + "p1080": "1080p" + }, + "error": { + "webcodecs_unsupported": "Trình duyệt của bạn không hỗ trợ mã hóa video phần cứng. Sử dụng phiên bản Chrome, Edge hoặc Safari gần đây.", + "encode_failed": "Mã hóa không thành công. Hãy thử một tệp nguồn khác hoặc làm mới và thử lại.", + "upload_failed": "Không thể tải lên một đoạn video. Kiểm tra kết nối của bạn và thử lại.", + "finalize_failed": "Không lưu được video đã tải lên." + }, + "stage": { + "probing": "Đang đọc video…", + "encoding": "Mã hóa {rung} ({percent}%)", + "uploading": "Đang tải lên các phân đoạn ({uploaded}/{total})", + "thumbnail": "Đang tạo hình thu nhỏ…", + "finalizing": "Đang lưu…", + "done": "Sẵn sàng", + "failed": "Tải lên không thành công" + } } }