Merge pull request #558 from mawoka-myblock/translation

Translations update from Hosted Weblate
This commit is contained in:
Marlon
2026-07-19 10:56:18 +02:00
committed by GitHub
9 changed files with 213 additions and 88 deletions
+6 -20
View File
@@ -47,29 +47,17 @@ class OpenIDResponse(BaseModel):
@router.get("/login") @router.get("/login")
async def openid_login(req: Request): async def openid_login(req: Request):
if ( if settings.custom_openid_provider.client_id is None or settings.custom_openid_provider.client_secret is None:
settings.custom_openid_provider.client_id is None raise HTTPException(status_code=501, detail="Custom-OAuth-Login isn't available on this server")
or settings.custom_openid_provider.client_secret is None
):
raise HTTPException(
status_code=501, detail="Custom-OAuth-Login isn't available on this server"
)
oauth = init_oauth() oauth = init_oauth()
return await oauth.custom.authorize_redirect( return await oauth.custom.authorize_redirect(req, f"{settings.root_address}/api/v1/users/oauth/custom/auth")
req, f"{settings.root_address}/api/v1/users/oauth/custom/auth"
)
@router.get("/auth") @router.get("/auth")
async def auth(request: Request, response: Response): async def auth(request: Request, response: Response):
if ( if settings.custom_openid_provider.client_id is None or settings.custom_openid_provider.client_secret is None:
settings.custom_openid_provider.client_id is None raise HTTPException(status_code=501, detail="Custom-OAuth-Login isn't available on this server")
or settings.custom_openid_provider.client_secret is None
):
raise HTTPException(
status_code=501, detail="Custom-OAuth-Login isn't available on this server"
)
access_token = request.cookies.get("access_token") access_token = request.cookies.get("access_token")
rememberme_token = request.cookies.get("rememberme_token") rememberme_token = request.cookies.get("rememberme_token")
if access_token is not None: if access_token is not None:
@@ -80,9 +68,7 @@ async def auth(request: Request, response: Response):
except HTTPException: except HTTPException:
pass pass
if rememberme_token is not None: if rememberme_token is not None:
return await rememberme_check( return await rememberme_check(rememberme_token=rememberme_token, response=response)
rememberme_token=rememberme_token, response=response
)
oauth = init_oauth() oauth = init_oauth()
user_data = await oauth.custom.authorize_access_token(request) user_data = await oauth.custom.authorize_access_token(request)
+4 -12
View File
@@ -76,21 +76,15 @@ class GitHubOauthResponse(BaseModel):
@router.get("/login") @router.get("/login")
async def github_login(req: Request): async def github_login(req: Request):
if settings.github_client_id is None or settings.github_client_secret is None: if settings.github_client_id is None or settings.github_client_secret is None:
raise HTTPException( raise HTTPException(status_code=501, detail="GitHub-Login isn't available on this server")
status_code=501, detail="GitHub-Login isn't available on this server"
)
oauth = init_oauth() oauth = init_oauth()
return await oauth.github.authorize_redirect( return await oauth.github.authorize_redirect(req, f"{settings.root_address}/api/v1/users/oauth/github/auth")
req, f"{settings.root_address}/api/v1/users/oauth/github/auth"
)
@router.get("/auth") @router.get("/auth")
async def auth(request: Request, response: Response): async def auth(request: Request, response: Response):
if settings.github_client_id is None or settings.github_client_secret is None: if settings.github_client_id is None or settings.github_client_secret is None:
raise HTTPException( raise HTTPException(status_code=501, detail="GitHub-Login isn't available on this server")
status_code=501, detail="GitHub-Login isn't available on this server"
)
access_token = request.cookies.get("access_token") access_token = request.cookies.get("access_token")
rememberme_token = request.cookies.get("rememberme_token") rememberme_token = request.cookies.get("rememberme_token")
if access_token is not None: if access_token is not None:
@@ -101,9 +95,7 @@ async def auth(request: Request, response: Response):
except HTTPException: except HTTPException:
pass pass
if rememberme_token is not None: if rememberme_token is not None:
return await rememberme_check( return await rememberme_check(rememberme_token=rememberme_token, response=response)
rememberme_token=rememberme_token, response=response
)
oauth = init_oauth() oauth = init_oauth()
try: try:
token = await oauth.github.authorize_access_token(request) token = await oauth.github.authorize_access_token(request)
+4 -12
View File
@@ -51,22 +51,16 @@ class OauthGoogleResponse(BaseModel):
@router.get("/login") @router.get("/login")
async def google_login(req: Request): async def google_login(req: Request):
if settings.google_client_secret is None or settings.google_client_id is None: if settings.google_client_secret is None or settings.google_client_id is None:
raise HTTPException( raise HTTPException(status_code=501, detail="Google-Login isn't available on this server")
status_code=501, detail="Google-Login isn't available on this server"
)
oauth = init_oauth() oauth = init_oauth()
return await oauth.google.authorize_redirect( return await oauth.google.authorize_redirect(req, f"{settings.root_address}/api/v1/users/oauth/google/auth")
req, f"{settings.root_address}/api/v1/users/oauth/google/auth"
)
@router.get("/auth") @router.get("/auth")
async def auth(request: Request, response: Response): async def auth(request: Request, response: Response):
if settings.google_client_secret is None or settings.google_client_id is None: if settings.google_client_secret is None or settings.google_client_id is None:
raise HTTPException( raise HTTPException(status_code=501, detail="Google-Login isn't available on this server")
status_code=501, detail="Google-Login isn't available on this server"
)
access_token = request.cookies.get("access_token") access_token = request.cookies.get("access_token")
rememberme_token = request.cookies.get("rememberme_token") rememberme_token = request.cookies.get("rememberme_token")
if access_token is not None: if access_token is not None:
@@ -77,9 +71,7 @@ async def auth(request: Request, response: Response):
except HTTPException: except HTTPException:
pass pass
if rememberme_token is not None: if rememberme_token is not None:
return await rememberme_check( return await rememberme_check(rememberme_token=rememberme_token, response=response)
rememberme_token=rememberme_token, response=response
)
oauth = init_oauth() oauth = init_oauth()
user_data = await oauth.google.authorize_access_token(request) user_data = await oauth.google.authorize_access_token(request)
+1 -1
View File
@@ -191,7 +191,7 @@
"play_quiz": "2. Resol el qüestionari", "play_quiz": "2. Resol el qüestionari",
"see_all_quizzes": "Mostra tots els teus qüestionaris", "see_all_quizzes": "Mostra tots els teus qüestionaris",
"completely_free": "Completament gratuït", "completely_free": "Completament gratuït",
"completely_free_content": "", "completely_free_content": "ClassQuiz és completament gratuït (per a l'usuari), sense cap pla de pagament o redireccions molestes a pàgines d'actualitzacions. Les donacions són molt apreciades.",
"user_friendly_content": "ClassQuiz pretén ser senzill, per tal de poder ser emprat per tothom.", "user_friendly_content": "ClassQuiz pretén ser senzill, per tal de poder ser emprat per tothom.",
"no_tracking_content": "Altres aplicacions registren el que feu i envien aquesta informació a terceres parts. ClassQuiz no ho fa.", "no_tracking_content": "Altres aplicacions registren el que feu i envien aquesta informació a terceres parts. ClassQuiz no ho fa.",
"multilingual_content": "", "multilingual_content": "",
+5 -5
View File
@@ -160,7 +160,7 @@
"backup_code": "Código de la copia de seguridad", "backup_code": "Código de la copia de seguridad",
"totp": "contraseña de un solo uso (Totp)", "totp": "contraseña de un solo uso (Totp)",
"text": "Texto", "text": "Texto",
"order": "Ordenar", "order": "Pedido",
"results": "Resultados", "results": "Resultados",
"note": "Nota", "note": "Nota",
"player_plural": "Jugadores", "player_plural": "Jugadores",
@@ -173,7 +173,7 @@
"finish": "Finalizar", "finish": "Finalizar",
"normal": "Normal", "normal": "Normal",
"selected": "Seleccionado", "selected": "Seleccionado",
"select": "Seleccionar", "select": "Selección",
"quiz": "Cuestionario", "quiz": "Cuestionario",
"quiztivity": "Quiztivity", "quiztivity": "Quiztivity",
"next": "Siguiente", "next": "Siguiente",
@@ -288,7 +288,7 @@
"order_description": "Las respuestas se pueden poner en el orden correcto", "order_description": "Las respuestas se pueden poner en el orden correcto",
"text_description": "Los jugadores pueden introducir texto", "text_description": "Los jugadores pueden introducir texto",
"range_description": "Se puede seleccionar un intervalo de números con un control deslizante", "range_description": "Se puede seleccionar un intervalo de números con un control deslizante",
"check_choice_description": "Todas las respuestas correctas deben seleccionarse para obtener puntos", "check_choice_description": "Hay que elegir todas las respuestas correctas para sumar puntos",
"need_more_help": "¿Necesitas más ayuda?", "need_more_help": "¿Necesitas más ayuda?",
"enter_answer": "Escribe una respuesta", "enter_answer": "Escribe una respuesta",
"visit_docs": "Visita los documentos.", "visit_docs": "Visita los documentos.",
@@ -362,7 +362,7 @@
"player_count": "Número de jugadores", "player_count": "Número de jugadores",
"no_results_so_far": "No hay resultados guardados hasta ahora...", "no_results_so_far": "No hay resultados guardados hasta ahora...",
"general_overview": { "general_overview": {
"sentence": "El cuestionario \"{{title}}\", el cual tuvo {{date}} jugadores, tenía {{player_count}} jugadores con una puntuación media de {{average_score}}." "sentence": "La prueba \"{{title}}\", el cual tuvo jugadores en {{date}} tenía {{player_count}} jugadores con una puntuación media de {{average_score}}."
} }
}, },
"result_page": { "result_page": {
@@ -406,7 +406,7 @@
"enable_totp": "Activar TOTP" "enable_totp": "Activar TOTP"
}, },
"view_quiz_page": { "view_quiz_page": {
"made_by": "Hecho por", "made_by": "Realizado por Anonimous",
"view_on_kahoot": "Ver en el original" "view_on_kahoot": "Ver en el original"
}, },
"start_game": { "start_game": {
+176 -20
View File
@@ -1,36 +1,192 @@
{ {
"index_page": { "index_page": {
"get_ranking_and_winners": "צפו בניקוד וראו מי זכה", "get_ranking_and_winners": "צפייה בניקוד והצגת הזוכה",
"completely_free": "לגמרי ללא עלות", "completely_free": "לגמרי בחינם",
"create_a_quiz_from_scratch": "צור חידון מאפס בעזרת העורך וכלול תמונות ועוד", "create_a_quiz_from_scratch": "אפשר ליצור חידון מאפס בעזרת העורך ולכלול תמונות ועוד",
"see_how_many_true_and_false": "צפו בכמה צדקו או טעו", "see_how_many_true_and_false": "לראות כמה צדקו או טעו",
"see_all_quizzes": "צפו בכל החידונים שלכם", "see_all_quizzes": "צפייה בכל החידונים שיצרת",
"meta": { "meta": {
"description": "ClassQuiz היא אפליקציית חידון ללמידה אינטראקטיבית עבור תלמידים, בקוד פתוח וחינמית לשימוש", "description": "ClassQuiz היא יישום ליצירת חידונים ללמידה אינטראקטיבית לתלמידים, הזמין בקוד פתוח ובאופן חופשי",
"title": "בית" "title": "בית"
}, },
"stats": "כבר יש {{user_count}} משתמשים ו-{{quiz_count}} חידונים ב-ClassQuiz.", "stats": "כבר יש {{user_count}} משתמשים ו־{{quiz_count}} חידונים ב־ClassQuiz.",
"see_what_true_and_false": "צפו במה היה נכון או לא נכון", "see_what_true_and_false": "לראות היכן צדקנו או טעינו",
"teachers_site": "אתר המורה", "teachers_site": "אתר למורים",
"students_site": "אתר התלמיד", "students_site": "אתר לתלמידים",
"no_tracking": "ללא מעקב", "no_tracking": "ללא מעקב",
"self_hostable": "ניתן לאחסון מקומי", "self_hostable": "ניתן לאירוח מקומי",
"german_server": "שרת גרמני", "german_server": "שרת גרמני",
"user_friendly": "ידידותי למשתמש", "user_friendly": "ידידותי למשתמש",
"quiz_results_downloadable": "תוצאות החידון ניתנות להורדה", "quiz_results_downloadable": "תוצאות החידון ניתנות להורדה",
"multilingual": "רב לשוני", "multilingual": "רב לשוני",
"dark_mode": "מצב כהה", "dark_mode": "מצב כהה",
"get_a_quiz": "1. קבל חידון", "get_a_quiz": "1. השגת חידון",
"play_quiz": "2. שחקו את החידון", "play_quiz": "2. הפעלת החידון",
"select_answer": "בחר את התשובה", "select_answer": "בחירת התשובה",
"choose_answer_wisely": "בחר את התשובה בחכמה", "choose_answer_wisely": "יש לבחור את התשובה בתבונה",
"view_results": "צפייה בתוצאות", "view_results": "צפייה בתוצאות",
"check_if_chosen_wisely": "בדקו, אם בחרת בחוכמה", "check_if_chosen_wisely": "אפשר לבדוק אם בחרת תשובה בתבונה",
"list_winners": "רשימת הזוכים", "list_winners": "רשימת הזוכים",
"why_classquiz": "למה ClassQuiz?", "why_classquiz": "למה ClassQuiz?",
"no_tracking_content": "אחרים עוקבים אחריך ושולחים את המידע הזה לצד שלישי, אבל ClassQuiz לא.", "no_tracking_content": תרים אחרים עוקבים אחריך ושולחים את המידע הזה לצד שלישי, אבל ClassQuiz לא.",
"slogan": "פלטפורמת חידון בקוד פתוח!", "slogan": "פלטפורמת הקוד הפתוח ליצירת חידונים!",
"create_or_import": "צור או יבא", "create_or_import": "יצירה או ייבוא",
"find_or_explore": "מצא (או גלה) חידונים שנוצרו או יובאו על ידי אנשים אחרים" "find_or_explore": "אפשר למצוא (או לגלות) חידונים שנוצרו או יובאו על ידי אנשים אחרים",
"no_player_limit": "אין מגבלה על כמות השחקנים",
"no_player_limit_content": "ל־ClassQuiz אין מגבלה מלאכותית על כמות השחקנים. תיאורטית, יותר מאלף שחקנים יכולים להשתתף באותו החידון, אבל בפועל נבדקה כמות של עד 300 שחקנים לחידון.",
"import_quiz_from_kahoot_and_edit": "אפשר לייבא חידוני Kahoot! ולערוך אותם ב־ClassQuiz"
},
"overview_page": {
"created_at": "מועד יצירה",
"question_count": "כמות שאלות",
"no_quizzes": "יש ללחוץ על הכפתור „יצירה” או לייבא חידון כדי להתחיל."
},
"edit_page": {
"success_update_title": "החידון התעדכן."
},
"create_page": {
"success": {
"title": "החידון נוצר."
}
},
"register_page": {
"greeting": "נעים להכיר!",
"create_account": "יצירת חשבון",
"forgot_password?": "שכחת את הסיסמה?",
"already_have_account?": "כבר יש לך חשבון?"
},
"login_page": {
"welcome_back": "ברוך שובך.",
"login_or_create_account": "התחברות או יצירת חשבון",
"already_have_account": "אין לך חשבון?",
"email_or_username": "דוא״ל או שם משתמש",
"modal": {
"success": {
"success_check_mail": "התחברת. נא לבדוק את תיבת הדואר הנכנס.",
"success": "התחברת.",
"description": {
"success": "התחברת."
}
},
"error": {
"wrong_creds": "כתובת דוא״ל או סיסמה שגויות.",
"unexpected": "שגיאה לא צפויה!"
}
},
"use_backup_code": "שימוש בקוד גיבוי"
},
"words": {
"question": "שאלה",
"answer": "תשובה",
"stats": "סטטיסטיקה",
"features": "תכונות",
"login": "התחברות",
"email": "כתובת דוא״ל",
"username": "שם משתמש",
"password": "סיסמה",
"play": "הפעלה",
"edit": "עריכה",
"delete": "מחיקה",
"public": "ציבורי",
"start": "התחלה",
"create": "יצירה",
"import": "ייבוא",
"logout": "התנתקות",
"title": "כותרת",
"url": "כתובת",
"submit": "שליחה",
"connect": "התחברות",
"kick": "סילוק",
"register": "הרשמה",
"docs": "תיעוד",
"close": "סגירה",
"save": "שמירה",
"description": "תיאור",
"image": "תמונה",
"settings": "הגדרות",
"repeat_password": "חזרה על הסיסמה",
"overview": "סקירה כוללת",
"report": "דיווח",
"explore": "היחשפות",
"search": "חיפוש",
"screenshot": "צילום מסך",
"screenshot_plural": "צילומי מסך",
"browser": "דפדפן",
"view": "תצוגה",
"view_plural": "תצוגות",
"result": "תוצאה",
"result_plural": "תוצאות",
"count": "כמות",
"range": "טווח",
"multiple_choice": "בחירה מרובה",
"private": "פרטי",
"question_plural": "שאלות",
"find": "איתור",
"error": "שגיאה",
"download": "הורדה",
"continue": "המשך",
"backup_code": "קוד גיבוי",
"text": "טקסט",
"order": "סדר",
"note": "הערה",
"player_plural": "שחקנים",
"results": "תוצאות",
"unknown": "לא ידוע",
"never": "אף פעם",
"update": "עדכון",
"score": "ניקוד",
"slide": "שקופית",
"name": "שם",
"point": "נקודה",
"point_plural": "נקודות",
"back": "חזרה",
"finish": "סיום",
"select": "בחירה",
"quiz": "חידון",
"video": "סרטון",
"library": "ספרייה",
"progress": "התקדמות",
"speed": "מהירות",
"upload": "העלאה",
"files_library": "ספריית קבצים",
"answer_plural": "תשובות",
"yes": "כן",
"no": "לא",
"analytics": "ניתוח נתונים",
"rating": "דירוג",
"like": "לייק",
"like_plural": "לייקים",
"play_plural": "הפעלות",
"info": "מידע",
"player": "שחקן"
},
"editor": {
"time_in_seconds": "זמן בשניות",
"add_new_answer": "הוספת תשובה חדשה",
"add_new_question": "הוספת שאלה חדשה",
"delete_question": "מחיקת שאלה",
"delete_answer": "מחיקת תשובה",
"no_title": "אין כותרת...",
"empty": "ריק...",
"bg_image": "תמונת רקע",
"slide": {
"text": "טקסט",
"rectangle": "מלבן",
"rectangle_description": "פשוט מלבן"
},
"visit_docs": "נא לעיין בתיעוד.",
"advanced_settings": "הגדרות מתקדמות"
},
"import_page": {
"a_kahoot_quiz": "חידון Kahoot!",
"url_should_look_like_this": "הכתובת צריכה להיראות כך: https://create.kahoot.it/details/...",
"classquiz_quiz": "חידון ClassQuiz"
},
"admin_page": {
"start_game": "התחלת המשחק",
"time_left": "זמן נותר",
"get_results": "קבלת התוצאות",
"get_final_results": "קבלת התוצאות הסופיות",
"show_next_question": "הצגת השאלה הבאה"
} }
} }
+8 -4
View File
@@ -46,7 +46,7 @@
"how_does_classquiz_work": "கிளாச் க்விச் கூட எவ்வாறு செயல்படுகிறது?", "how_does_classquiz_work": "கிளாச் க்விச் கூட எவ்வாறு செயல்படுகிறது?",
"no_player_limit": "வீரர் வரம்பு இல்லை", "no_player_limit": "வீரர் வரம்பு இல்லை",
"no_player_limit_content": "ClassQuiz க்கு செயற்கை வீரர் வரம்பு இல்லை. கோட்பாட்டில், 1000+ வீரர்கள் ஒரே நொடி வினாவை விளையாட முடியும், ஆனால் இது ஒரு நொடி வினா வரை 300 வீரர்களுடன் சோதிக்கப்படுகிறது.", "no_player_limit_content": "ClassQuiz க்கு செயற்கை வீரர் வரம்பு இல்லை. கோட்பாட்டில், 1000+ வீரர்கள் ஒரே நொடி வினாவை விளையாட முடியும், ஆனால் இது ஒரு நொடி வினா வரை 300 வீரர்களுடன் சோதிக்கப்படுகிறது.",
"import_quiz_from_kahoot_and_edit": "ஏற்றுமதி" "import_quiz_from_kahoot_and_edit": "கஊட்டிலிருந்து நொடி வினாவை இறக்குமதி செய்! வகுப்பு வினாடிவினாவில் அவற்றைத் திருத்தவும்"
}, },
"play_page": { "play_page": {
"join_description": "{{pin} at இல் சேரவும், {{url}}} ஐ உள்ளிடவும்.", "join_description": "{{pin} at இல் சேரவும், {{url}}} ஐ உள்ளிடவும்.",
@@ -247,7 +247,9 @@
"visit_docs": "டாக்சைப் பார்வையிடவும்.", "visit_docs": "டாக்சைப் பார்வையிடவும்.",
"enter_answer": "ஒரு பதிலை உள்ளிடவும்", "enter_answer": "ஒரு பதிலை உள்ளிடவும்",
"enable_reorder": "மறுதொடக்கம் பயன்முறையை இயக்கவும்", "enable_reorder": "மறுதொடக்கம் பயன்முறையை இயக்கவும்",
"disable_reorder": "மறுதொடக்கம் பயன்முறையை முடக்கு" "disable_reorder": "மறுதொடக்கம் பயன்முறையை முடக்கு",
"advanced_settings": "மேம்பட்ட அமைப்புகள்",
"hide_question_results": "கேள்வி முடிவுகளை மறைக்கவா?"
}, },
"import_page": { "import_page": {
"need_help": "உதவி தேவையா?", "need_help": "உதவி தேவையா?",
@@ -314,7 +316,8 @@
"search_for_own_quizzes": "உங்கள் சொந்த நொடி வினாக்களைத் தேடுங்கள்", "search_for_own_quizzes": "உங்கள் சொந்த நொடி வினாக்களைத் தேடுங்கள்",
"views_n_plays": "காட்சிகள் மற்றும் நாடகங்கள்", "views_n_plays": "காட்சிகள் மற்றும் நாடகங்கள்",
"info_analytics": "\"நாடகங்கள்\" நொடி வினா எவ்வளவு அடிக்கடி தொடங்கப்பட்டது என்பதை மட்டுமே காட்டுகிறது (நீங்கள் சேர்த்துள்ளீர்கள்), அதேசமயம் \"காட்சிகள்\" \"பார்வை\"-பக்கம் எவ்வளவு அடிக்கடி பார்வையிடப்பட்டது என்பதை கணக்கிடுகிறது, எனவே இது போட்களையும் கணக்கிடுகிறது (அதற்காக மன்னிக்கவும்).", "info_analytics": "\"நாடகங்கள்\" நொடி வினா எவ்வளவு அடிக்கடி தொடங்கப்பட்டது என்பதை மட்டுமே காட்டுகிறது (நீங்கள் சேர்த்துள்ளீர்கள்), அதேசமயம் \"காட்சிகள்\" \"பார்வை\"-பக்கம் எவ்வளவு அடிக்கடி பார்வையிடப்பட்டது என்பதை கணக்கிடுகிறது, எனவே இது போட்களையும் கணக்கிடுகிறது (அதற்காக மன்னிக்கவும்).",
"commandpalette_notice": "கட்டளைத் தட்டுகளைத் திறக்க <kbd> ctr </kbd>+<kbd> k </kbd> அல்லது <kbd> மேவு </kbd>+<kbd> k </kbd> ஐ அழுத்தவும்" "commandpalette_notice": "கட்டளைத் தட்டுகளைத் திறக்க <kbd> ctr </kbd>+<kbd> k </kbd> அல்லது <kbd> மேவு </kbd>+<kbd> k </kbd> ஐ அழுத்தவும்",
"create_quiz": "புதிய நொடி வினாவை உருவாக்கவும்"
}, },
"footer": { "footer": {
"self_ads": "{{mawoka_link} by மற்றும் {{others_link} of உதவியுடன் தயாரிக்கப்பட்டது.", "self_ads": "{{mawoka_link} by மற்றும் {{others_link} of உதவியுடன் தயாரிக்கப்பட்டது.",
@@ -370,7 +373,8 @@
"correct_answer": "{{count}} சரியான பதில்", "correct_answer": "{{count}} சரியான பதில்",
"correct_answer_plural": "{{count}} சரியான பதில்கள்", "correct_answer_plural": "{{count}} சரியான பதில்கள்",
"time_taken": "எடுக்கப்பட்ட நேரம்", "time_taken": "எடுக்கப்பட்ட நேரம்",
"player_score": "பிளேயர் ச்கோர்" "player_score": "பிளேயர் ச்கோர்",
"player_correct_questions": "சரியான பதில்கள்"
}, },
"controllers": { "controllers": {
"add_new_controller": "புதிய கட்டுப்படுத்தியைச் சேர்க்கவும்", "add_new_controller": "புதிய கட்டுப்படுத்தியைச் சேர்க்கவும்",
+8 -8
View File
@@ -40,7 +40,7 @@
"multilingual_content": "", "multilingual_content": "",
"dark_mode": "暗黑模式", "dark_mode": "暗黑模式",
"why_classquiz": "为什么选择ClassQuiz", "why_classquiz": "为什么选择ClassQuiz",
"community_driven": "", "community_driven": "社区驱动",
"play_quiz": "2. 开始测验", "play_quiz": "2. 开始测验",
"see_all_quizzes": "查看您的所有测验", "see_all_quizzes": "查看您的所有测验",
"download_quizzes_content": "" "download_quizzes_content": ""
@@ -233,7 +233,7 @@
}, },
"overview_page": { "overview_page": {
"question_count": "", "question_count": "",
"created_at": "", "created_at": "创建于",
"no_quizzes": "" "no_quizzes": ""
}, },
"settings_page": { "settings_page": {
@@ -382,15 +382,15 @@
"login_page": { "login_page": {
"use_backup_code": "", "use_backup_code": "",
"email_or_username": "", "email_or_username": "",
"already_have_account": "", "already_have_account": "没有账号吗?",
"modal": { "modal": {
"error": { "error": {
"description": { "description": {
"unexpected": "", "unexpected": "",
"wrong_creds": "" "wrong_creds": "请确保你的密码和电子邮件地址是正确的。"
}, },
"wrong_creds": "", "wrong_creds": "电子邮件地址或密码错误。",
"unexpected": "" "unexpected": "发生了未预料的错误!"
}, },
"success": { "success": {
"success": "", "success": "",
@@ -401,8 +401,8 @@
"success_check_mail": "" "success_check_mail": ""
} }
}, },
"login_or_create_account": "", "login_or_create_account": "登录或创建账户",
"welcome_back": "" "welcome_back": "欢迎回来。"
}, },
"password_reset_page": { "password_reset_page": {
"reset_password": "" "reset_password": ""
+1 -6
View File
@@ -65,12 +65,7 @@ export interface Question {
} }
export type Answers = export type Answers =
| Answer[] Answer[] | RangeQuizAnswer | VotingAnswer[] | string | TextQuizAnswer[] | OrderQuizAnswer[];
| RangeQuizAnswer
| VotingAnswer[]
| string
| TextQuizAnswer[]
| OrderQuizAnswer[];
export interface Answer { export interface Answer {
right: boolean; right: boolean;