Merge pull request #558 from mawoka-myblock/translation
Translations update from Hosted Weblate
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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": "",
|
||||||
|
|||||||
@@ -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": {
|
||||||
|
|||||||
@@ -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": "הצגת השאלה הבאה"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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": "புதிய கட்டுப்படுத்தியைச் சேர்க்கவும்",
|
||||||
|
|||||||
@@ -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": ""
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user