From f6306f13b5c126c7eda17a75c87f79a5d0778bd5 Mon Sep 17 00:00:00 2001 From: mohsentaba Date: Tue, 19 May 2026 13:41:11 +0330 Subject: [PATCH] admin live chat translation to russian added. --- apps/chat/admin_views.py | 23 +- locale/fa/LC_MESSAGES/django.po | 4419 +++++++++++++++++++++++++++ locale/ru/LC_MESSAGES/django.po | 1199 +++++--- static/js/live_chat.js | 10 +- templates/admin/chat/live_chat.html | 27 +- utils/unfold_translations.py | 18 + 6 files changed, 5228 insertions(+), 468 deletions(-) create mode 100644 locale/fa/LC_MESSAGES/django.po diff --git a/apps/chat/admin_views.py b/apps/chat/admin_views.py index a5d95be..9ac2622 100644 --- a/apps/chat/admin_views.py +++ b/apps/chat/admin_views.py @@ -63,8 +63,10 @@ def api_get_rooms(request): data = [] for r in rooms: - title = r.name or f"Room #{r.id}" - if r.room_type == 'group' and r.course: + title = r.name or _("Room #{}").format(r.id) + if r.room_type == 'private' and title and title.startswith("Chat with "): + title = _("Chat with {}").format(title[10:]) + elif r.room_type == 'group' and r.course: title = r.course.title unread_count = getattr(r, 'admin_unread_count', 0) @@ -106,7 +108,7 @@ def api_get_messages(request, room_id): data = [] for m in messages: avatar = m.sender.avatar.url if getattr(m.sender, 'avatar', None) else None - sender_name = m.sender.fullname or m.sender.email or "Unknown" + sender_name = m.sender.fullname or m.sender.email or _("Unknown") data.append({ "id": m.id, @@ -148,7 +150,7 @@ def api_send_message(request, room_id): # 🟢 ساخت ساختار JSON پیام دقیقاً شبیه به چیزی که FastAPI به فرانت می‌فرستد avatar_url = request.user.avatar.url if getattr(request.user, 'avatar', None) else None - sender_name = request.user.fullname or request.user.email or "Support" + sender_name = request.user.fullname or request.user.email or _("Support") message_data = { "id": msg.id, @@ -200,12 +202,16 @@ def api_get_users(request): users_qs = users_qs.order_by('-date_joined')[:50] # محدود کردن به 50 نفر اول data = [] + from django.utils.translation import gettext as _gt for u in users_qs: + role = getattr(u, 'user_type', 'Member') or 'Member' + translated_role = _gt(str(role).capitalize()) + name = u.fullname or u.email data.append({ "id": u.id, "name": name, - "role": getattr(u, 'user_type', 'Member') + "role": translated_role }) return JsonResponse({"users": data}) @@ -237,10 +243,13 @@ def api_create_or_get_room(request): if existing_room: # روم از قبل وجود دارد + title = existing_room.name or recipient.fullname or recipient.email + if title and title.startswith("Chat with "): + title = _("Chat with {}").format(title[10:]) return JsonResponse({ "success": True, "room_id": existing_room.id, - "title": existing_room.name or recipient.fullname or recipient.email + "title": title }) # روم وجود ندارد، می‌سازیم @@ -254,7 +263,7 @@ def api_create_or_get_room(request): return JsonResponse({ "success": True, "room_id": new_room.id, - "title": new_room.name + "title": _("Chat with {}").format(recipient.fullname or recipient.email) }) except Exception as e: diff --git a/locale/fa/LC_MESSAGES/django.po b/locale/fa/LC_MESSAGES/django.po new file mode 100644 index 0000000..784ddd8 --- /dev/null +++ b/locale/fa/LC_MESSAGES/django.po @@ -0,0 +1,4419 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#: .\config\settings\base.py:570 .\config\settings\base.py:589 +#: .\config\settings\base.py:655 .\utils\schema.py:64 +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-19 13:18+0330\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: .\apps\account\admin\location.py:21 .\apps\account\admin\location.py:22 +#: .\apps\account\models\user.py:331 .\apps\account\models\user.py:332 +msgid "Location History" +msgstr "" + +#: .\apps\account\admin\location.py:42 .\apps\hadis\admin\hadis.py:683 +#: .\apps\hadis\admin\hadis.py:939 .\apps\hadis\admin\transmitter.py:481 +#: .\apps\hadis\admin\transmitter.py:671 +msgid "Additional Information" +msgstr "" + +#: .\apps\account\admin\location.py:48 .\apps\account\admin\user.py:83 +#: .\apps\account\admin\user.py:246 +msgid "Location" +msgstr "" + +#: .\apps\account\admin\location.py:52 +msgid "Date & Time" +msgstr "" + +#: .\apps\account\admin\professor.py:22 +msgid "Enter the phone number in international format. Example: +989012023212" +msgstr "" + +#: .\apps\account\admin\professor.py:45 .\apps\account\admin\student.py:32 +msgid "other" +msgstr "" + +#: .\apps\account\admin\professor.py:49 .\apps\account\admin\student.py:36 +#: .\apps\account\admin\user.py:87 +msgid "Password" +msgstr "" + +#: .\apps\account\admin\professor.py:59 .\apps\account\admin\student.py:45 +msgid "Personal info" +msgstr "" + +#: .\apps\account\admin\professor.py:60 .\apps\account\admin\student.py:46 +#: .\apps\account\admin\user.py:91 .\apps\account\admin\user.py:115 +#: .\apps\account\admin\user.py:138 .\apps\account\admin\user.py:402 +#: .\apps\account\admin\user.py:465 .\apps\account\admin\user.py:468 +#: .\templates\admin\filer\folder\directory_table.html:129 +msgid "Permissions" +msgstr "" + +#: .\apps\account\admin\professor.py:63 .\apps\account\admin\student.py:49 +#: .\apps\account\admin\user.py:119 +msgid "Important dates" +msgstr "" + +#: .\apps\account\admin\professor.py:75 +#, python-brace-format +msgid "A professor with the email {email} already exists." +msgstr "" + +#: .\apps\account\admin\professor.py:96 +#, python-brace-format +msgid "The user with email {email} has been converted to a professor." +msgstr "" + +#: .\apps\account\admin\professor.py:109 .\apps\account\admin\student.py:51 +#: .\apps\account\models\user.py:52 +msgid "Phone Number" +msgstr "" + +#: .\apps\account\admin\student.py:55 +msgid "Enrolled Courses" +msgstr "" + +#: .\apps\account\admin\student.py:59 +#, python-brace-format +msgid "{count} course" +msgid_plural "{count} courses" +msgstr[0] "" +msgstr[1] "" + +#: .\apps\account\admin\user.py:47 +msgid "A user with this email already exists." +msgstr "" + +#: .\apps\account\admin\user.py:99 .\apps\account\admin\user.py:143 +#: .\apps\blog\admin.py:67 .\apps\blog\admin.py:109 +msgid "Basic Information" +msgstr "" + +#: .\apps\account\admin\user.py:103 +msgid "Country & City" +msgstr "" + +#: .\apps\account\admin\user.py:107 +msgid "Device Information" +msgstr "" + +#: .\apps\account\admin\user.py:111 .\config\settings\base.py:593 +msgid "Authentication" +msgstr "" + +#: .\apps\account\admin\user.py:159 .\apps\account\admin\user.py:196 +#: .\apps\account\models\user.py:59 +msgid "Date Joined" +msgstr "" + +#: .\apps\account\admin\user.py:163 +msgid "Last Login" +msgstr "" + +#: .\apps\account\admin\user.py:167 +msgid "Authentication Token" +msgstr "" + +#: .\apps\account\admin\user.py:207 +msgid "Course Participation" +msgstr "" + +#: .\apps\account\admin\user.py:208 +msgid "Course Participations" +msgstr "" + +#: .\apps\account\admin\user.py:216 .\apps\course\models\course.py:98 +#: .\templates\course\course_stats.html:106 +msgid "Course Status" +msgstr "" + +#: .\apps\account\admin\user.py:222 .\apps\account\admin\user.py:408 +#: .\apps\account\models\user.py:22 .\apps\course\admin\course.py:341 +#: .\apps\course\models\course.py:73 .\utils\unfold_translations.py:111 +msgid "Professor" +msgstr "" + +#: .\apps\account\admin\user.py:250 +msgid "password" +msgstr "" + +#: .\apps\account\admin\user.py:257 .\apps\account\models\user.py:24 +#: .\apps\certificate\models.py:17 .\apps\course\admin\course.py:539 +#: .\apps\course\models\lesson.py:153 .\apps\course\models\participant.py:13 +#: .\templates\course\course_analytics.html:186 +#: .\utils\unfold_translations.py:110 +msgid "Student" +msgstr "" + +#: .\apps\account\admin\user.py:272 +msgid "Age" +msgstr "" + +#: .\apps\account\admin\user.py:281 +#, python-brace-format +msgid "Born on {date}" +msgstr "" + +#: .\apps\account\admin\user.py:283 .\apps\account\admin\user.py:424 +#: .\apps\course\admin\course.py:67 .\apps\course\models\course.py:157 +#: .\config\settings\base.py:485 .\config\settings\base.py:620 +#: .\config\settings\base.py:632 +msgid "Courses" +msgstr "" + +#: .\apps\account\admin\user.py:307 .\apps\account\admin\user.py:447 +#, python-brace-format +msgid "{total} course" +msgid_plural "{total} courses" +msgstr[0] "" +msgstr[1] "" + +#: .\apps\account\admin\user.py:321 .\apps\course\admin\course.py:38 +msgid "Course Categories" +msgstr "" + +#: .\apps\account\admin\user.py:333 .\apps\course\admin\course.py:54 +msgid "Edit" +msgstr "" + +#: .\apps\account\admin\user.py:339 +msgid "Select Existing User" +msgstr "" + +#: .\apps\account\admin\user.py:340 +msgid "Choose an existing user to upgrade to Professor." +msgstr "" + +#: .\apps\account\admin\user.py:471 +#, python-brace-format +msgid "{count} permission" +msgid_plural "{count} permissions" +msgstr[0] "" +msgstr[1] "" + +#: .\apps\account\middleware\admin_access.py:107 +msgid "You have limited access as a professor." +msgstr "" + +#: .\apps\account\middleware\admin_access.py:115 +msgid "You do not have permission to access this page." +msgstr "" + +#: .\apps\account\models\groups.py:23 +msgid "Professor User" +msgstr "" + +#: .\apps\account\models\groups.py:24 +msgid "Professor Users" +msgstr "" + +#: .\apps\account\models\groups.py:43 .\apps\account\models\user.py:294 +#: .\apps\chat\models.py:166 .\apps\course\models\live_session.py:83 +#: .\apps\quiz\models\participant.py:11 .\apps\transaction\models.py:30 +msgid "User" +msgstr "" + +#: .\apps\account\models\groups.py:44 .\apps\account\models\user.py:295 +#: .\config\settings\base.py:447 +msgid "Users" +msgstr "" + +#: .\apps\account\models\groups.py:61 +msgid "Admin User" +msgstr "" + +#: .\apps\account\models\groups.py:62 +msgid "Admin Users" +msgstr "" + +#: .\apps\account\models\groups.py:78 +msgid "Super Admin User" +msgstr "" + +#: .\apps\account\models\groups.py:79 +msgid "Super Admin Users" +msgstr "" + +#: .\apps\account\models\groups.py:95 +msgid "Student User" +msgstr "" + +#: .\apps\account\models\groups.py:96 +msgid "Student Users" +msgstr "" + +#: .\apps\account\models\groups.py:111 +msgid "Consultant User" +msgstr "" + +#: .\apps\account\models\groups.py:112 +msgid "Consultant Users" +msgstr "" + +#: .\apps\account\models\notification.py:7 +msgid "Imam Javad" +msgstr "" + +#: .\apps\account\models\notification.py:8 +msgid "Doboodi" +msgstr "" + +#: .\apps\account\models\notification.py:10 .\apps\article\models.py:9 +#: .\apps\article\models.py:184 .\apps\dobodbi_calendar\models.py:20 +#: .\apps\podcast\models.py:9 .\apps\podcast\models.py:128 +#: .\apps\video\models.py:11 .\apps\video\models.py:144 +msgid "title" +msgstr "" + +#: .\apps\account\models\notification.py:11 +msgid "message" +msgstr "" + +#: .\apps\account\models\notification.py:12 .\apps\account\models\user.py:303 +#: .\apps\account\models\user.py:320 .\apps\library\models.py:171 +#: .\apps\podcast\models.py:255 +msgid "user" +msgstr "" + +#: .\apps\account\models\notification.py:13 +msgid "is read" +msgstr "" + +#: .\apps\account\models\notification.py:18 +msgid "service" +msgstr "" + +#: .\apps\account\models\notification.py:20 .\apps\article\models.py:14 +#: .\apps\article\models.py:50 .\apps\article\models.py:109 +#: .\apps\article\models.py:161 .\apps\article\models.py:189 +#: .\apps\article\models.py:213 .\apps\article\models.py:239 +#: .\apps\dobodbi_calendar\models.py:39 .\apps\hadis\models\hadis.py:20 +#: .\apps\hadis\models\hadis.py:128 .\apps\hadis\models\hadis.py:143 +#: .\apps\hadis\models\hadis.py:286 .\apps\hadis\models\hadis.py:429 +#: .\apps\hadis\models\hadis.py:499 .\apps\hadis\models\reference.py:9 +#: .\apps\hadis\models\reference.py:35 .\apps\hadis\models\reference.py:91 +#: .\apps\hadis\models\reference.py:226 .\apps\hadis\models\reference.py:294 +#: .\apps\hadis\models\reference.py:337 .\apps\hadis\models\transmitter.py:24 +#: .\apps\hadis\models\transmitter.py:292 +#: .\apps\hadis\models\transmitter.py:469 +#: .\apps\hadis\models\transmitter.py:601 .\apps\library\models.py:75 +#: .\apps\library\models.py:138 .\apps\library\models.py:174 +#: .\apps\podcast\models.py:14 .\apps\podcast\models.py:50 +#: .\apps\podcast\models.py:98 .\apps\podcast\models.py:153 +#: .\apps\podcast\models.py:202 .\apps\podcast\models.py:230 +#: .\apps\podcast\models.py:264 .\apps\video\models.py:16 +#: .\apps\video\models.py:52 .\apps\video\models.py:107 +#: .\apps\video\models.py:169 .\apps\video\models.py:218 +#: .\apps\video\models.py:246 +msgid "created at" +msgstr "" + +#: .\apps\account\models\notification.py:21 .\apps\article\models.py:15 +#: .\apps\article\models.py:51 .\apps\article\models.py:110 +#: .\apps\article\models.py:162 .\apps\article\models.py:190 +#: .\apps\article\models.py:214 .\apps\article\models.py:240 +#: .\apps\dobodbi_calendar\models.py:38 .\apps\hadis\models\hadis.py:21 +#: .\apps\hadis\models\hadis.py:144 .\apps\hadis\models\hadis.py:287 +#: .\apps\hadis\models\hadis.py:500 .\apps\hadis\models\reference.py:10 +#: .\apps\hadis\models\reference.py:36 .\apps\hadis\models\reference.py:92 +#: .\apps\hadis\models\reference.py:295 .\apps\hadis\models\reference.py:338 +#: .\apps\hadis\models\transmitter.py:25 .\apps\hadis\models\transmitter.py:293 +#: .\apps\hadis\models\transmitter.py:602 .\apps\library\models.py:76 +#: .\apps\library\models.py:139 .\apps\library\models.py:175 +#: .\apps\podcast\models.py:15 .\apps\podcast\models.py:51 +#: .\apps\podcast\models.py:99 .\apps\podcast\models.py:154 +#: .\apps\podcast\models.py:203 .\apps\podcast\models.py:231 +#: .\apps\podcast\models.py:265 .\apps\video\models.py:17 +#: .\apps\video\models.py:53 .\apps\video\models.py:108 +#: .\apps\video\models.py:170 .\apps\video\models.py:219 +#: .\apps\video\models.py:247 +msgid "updated at" +msgstr "" + +#: .\apps\account\models\notification.py:24 +msgid "Notification" +msgstr "" + +#: .\apps\account\models\notification.py:25 +msgid "Notifications" +msgstr "" + +#: .\apps\account\models\user.py:17 +msgid "android" +msgstr "" + +#: .\apps\account\models\user.py:18 +msgid "apple" +msgstr "" + +#: .\apps\account\models\user.py:19 +msgid "web" +msgstr "" + +#: .\apps\account\models\user.py:23 +msgid "Client" +msgstr "کاربر" + +#: .\apps\account\models\user.py:25 .\utils\unfold_translations.py:114 +msgid "Admin" +msgstr "" + +#: .\apps\account\models\user.py:26 +msgid "Super Admin" +msgstr "" + +#: .\apps\account\models\user.py:27 .\utils\unfold_translations.py:112 +msgid "Consultant" +msgstr "" + +#: .\apps\account\models\user.py:30 .\apps\transaction\models.py:66 +msgid "Male" +msgstr "" + +#: .\apps\account\models\user.py:31 .\apps\transaction\models.py:67 +msgid "Female" +msgstr "" + +#: .\apps\account\models\user.py:36 +msgid "Username" +msgstr "" + +#: .\apps\account\models\user.py:37 +msgid "A user with that username already exists." +msgstr "" + +#: .\apps\account\models\user.py:38 .\apps\transaction\models.py:76 +msgid "Email Address" +msgstr "" + +#: .\apps\account\models\user.py:39 .\apps\transaction\models.py:76 +msgid "Enter the user's email address." +msgstr "" + +#: .\apps\account\models\user.py:41 +msgid "A user with that email already exists." +msgstr "" + +#: .\apps\account\models\user.py:42 .\apps\hadis\admin\transmitter.py:490 +#: .\apps\hadis\models\transmitter.py:233 .\apps\transaction\models.py:75 +msgid "Full Name" +msgstr "" + +#: .\apps\account\models\user.py:43 .\apps\transaction\models.py:75 +msgid "Enter the full name of the user." +msgstr "" + +#: .\apps\account\models\user.py:45 .\apps\transaction\models.py:81 +msgid "birthdate" +msgstr "" + +#: .\apps\account\models\user.py:47 +msgid "Avatar" +msgstr "" + +#: .\apps\account\models\user.py:53 +msgid "e.g., +49 151 12345678" +msgstr "" + +#: .\apps\account\models\user.py:55 .\apps\blog\models.py:199 +#: .\apps\hadis\models\reference.py:67 .\apps\library\models.py:119 +msgid "Language" +msgstr "" + +#: .\apps\account\models\user.py:57 .\apps\transaction\models.py:79 +msgid "Gender" +msgstr "" + +#: .\apps\account\models\user.py:57 .\apps\transaction\models.py:79 +msgid "Select the user's gender." +msgstr "" + +#: .\apps\account\models\user.py:58 .\utils\unfold_translations.py:80 +msgid "User Type" +msgstr "" + +#: .\apps\account\models\user.py:58 +msgid "Type of the user." +msgstr "" + +#: .\apps\account\models\user.py:59 +msgid "The date and time the user registered." +msgstr "" + +#: .\apps\account\models\user.py:61 +msgid "City" +msgstr "" + +#: .\apps\account\models\user.py:62 .\apps\account\models\user.py:306 +#: .\apps\account\models\user.py:323 +msgid "country" +msgstr "" + +#: .\apps\account\models\user.py:64 +msgid "device id" +msgstr "" + +#: .\apps\account\models\user.py:65 +msgid "device os" +msgstr "" + +#: .\apps\account\models\user.py:66 .\apps\account\models\user.py:310 +msgid "user agent" +msgstr "" + +#: .\apps\account\models\user.py:67 +msgid "client ip" +msgstr "" + +#: .\apps\account\models\user.py:69 +msgid "fcm" +msgstr "" + +#: .\apps\account\models\user.py:70 .\apps\article\models.py:10 +#: .\apps\hadis\models\hadis.py:14 .\apps\hadis\models\hadis.py:170 +#: .\apps\hadis\models\hadis.py:266 .\apps\hadis\models\hadis.py:495 +#: .\apps\hadis\models\reference.py:73 .\apps\hadis\models\transmitter.py:22 +#: .\apps\hadis\models\transmitter.py:128 +#: .\apps\hadis\models\transmitter.py:237 +#: .\apps\hadis\models\transmitter.py:492 +#: .\apps\hadis\models\transmitter.py:658 .\apps\podcast\models.py:10 +#: .\apps\podcast\models.py:129 .\apps\video\models.py:12 +#: .\apps\video\models.py:145 +msgid "slug" +msgstr "" + +#: .\apps\account\models\user.py:71 +msgid "Experience years" +msgstr "" + +#: .\apps\account\models\user.py:72 +msgid "is staff" +msgstr "" + +#: .\apps\account\models\user.py:73 .\apps\api\models.py:111 +#: .\apps\chat\admin.py:359 .\apps\hadis\models\version.py:10 +#: .\apps\library\admin.py:212 .\apps\quiz\admin\quiz.py:79 +msgid "Active" +msgstr "" + +#: .\apps\account\models\user.py:73 +msgid "" +"Designates whether this user should be treated as active. Unselect this " +"instead of deleting accounts." +msgstr "" + +#: .\apps\account\models\user.py:74 +msgid "deleted at" +msgstr "" + +#: .\apps\account\models\user.py:75 +msgid "Info" +msgstr "" + +#: .\apps\account\models\user.py:76 +msgid "skill" +msgstr "" + +#: .\apps\account\models\user.py:119 +msgid "Email is required for all regular users." +msgstr "" + +#: .\apps\account\models\user.py:304 .\apps\account\models\user.py:321 +msgid "lat" +msgstr "" + +#: .\apps\account\models\user.py:305 .\apps\account\models\user.py:322 +msgid "lon" +msgstr "" + +#: .\apps\account\models\user.py:307 .\apps\account\models\user.py:324 +msgid "city" +msgstr "" + +#: .\apps\account\models\user.py:308 .\apps\account\models\user.py:326 +msgid "ip" +msgstr "" + +#: .\apps\account\models\user.py:309 .\apps\account\models\user.py:327 +msgid "timezone" +msgstr "" + +#: .\apps\account\models\user.py:311 +msgid "Device os" +msgstr "" + +#: .\apps\account\models\user.py:312 .\apps\account\models\user.py:328 +msgid "at time" +msgstr "" + +#: .\apps\account\models\user.py:315 +msgid "Login History" +msgstr "" + +#: .\apps\account\models\user.py:316 +msgid "Login Histories" +msgstr "" + +#: .\apps\account\models\user.py:325 +msgid "selected manually" +msgstr "" + +#: .\apps\account\templates\account\group_help_text.html:5 +msgid "Driver before template" +msgstr "" + +#: .\apps\account\templates\account\group_help_text.html:11 +msgid "Active drivers" +msgstr "" + +#: .\apps\account\templates\account\group_help_text.html:19 +msgid "Inactive drivers" +msgstr "" + +#: .\apps\account\templates\account\group_help_text.html:27 +msgid "Total points" +msgstr "" + +#: .\apps\account\templates\account\group_help_text.html:35 +msgid "Total races" +msgstr "" + +#: .\apps\account\templates\account\user_list_section.html:8 +#: .\utils\unfold_translations.py:83 +msgid "Total Active Users" +msgstr "" + +#: .\apps\account\templates\account\user_list_section.html:16 +#: .\utils\unfold_translations.py:84 +msgid "Total Guest Users" +msgstr "" + +#: .\apps\account\templates\account\user_list_section.html:22 +#: .\utils\unfold_translations.py:85 +msgid "Total Students" +msgstr "" + +#: .\apps\account\templates\account\user_list_section.html:28 +#: .\utils\unfold_translations.py:86 +msgid "Total Professors" +msgstr "" + +#: .\apps\api\admin.py:30 +msgid "Dimensions" +msgstr "" + +#: .\apps\api\admin.py:34 +msgid "Preview" +msgstr "" + +#: .\apps\api\models.py:16 +msgid "User Avatar" +msgstr "" + +#: .\apps\api\models.py:20 +msgid "User Full Name" +msgstr "" + +#: .\apps\api\models.py:21 +msgid "Full name of the user who made the comment" +msgstr "" + +#: .\apps\api\models.py:27 +msgid "User Slogan" +msgstr "" + +#: .\apps\api\models.py:28 +msgid "User slogan or bio" +msgstr "" + +#: .\apps\api\models.py:33 +msgid "Comment Text" +msgstr "" + +#: .\apps\api\models.py:34 +msgid "The actual comment content" +msgstr "" + +#: .\apps\api\models.py:40 .\apps\blog\models.py:149 +#: .\apps\hadis\models\reference.py:77 .\apps\hadis\models\transmitter.py:465 +msgid "Order" +msgstr "" + +#: .\apps\api\models.py:41 +msgid "Order for sorting comments" +msgstr "" + +#: .\apps\api\models.py:45 .\apps\api\models.py:117 .\apps\blog\models.py:34 +#: .\apps\blog\models.py:155 .\apps\chat\models.py:47 +#: .\apps\course\models\live_session.py:46 +#: .\apps\course\models\live_session.py:108 +#: .\apps\course\models\live_session.py:170 .\apps\quiz\models\quiz.py:50 +msgid "Created At" +msgstr "" + +#: .\apps\api\models.py:50 +msgid "Comment" +msgstr "" + +#: .\apps\api\models.py:51 +msgid "Comments" +msgstr "" + +#: .\apps\api\models.py:62 +msgid "Google Play" +msgstr "" + +#: .\apps\api\models.py:63 +msgid "App Store" +msgstr "" + +#: .\apps\api\models.py:73 +msgid "Version" +msgstr "" + +#: .\apps\api\models.py:74 +msgid "Application version in format X.Y.Z (e.g., 1.0.0)" +msgstr "" + +#: .\apps\api\models.py:79 +msgid "APK File" +msgstr "" + +#: .\apps\api\models.py:80 +msgid "Application APK file" +msgstr "" + +#: .\apps\api\models.py:84 .\apps\blog\models.py:195 .\apps\chat\models.py:28 +#: .\apps\course\admin\course.py:451 .\apps\course\models\course.py:175 +#: .\apps\hadis\admin\hadis.py:649 .\apps\hadis\models\category.py:16 +#: .\apps\hadis\models\category.py:78 .\apps\hadis\models\hadis.py:173 +#: .\apps\hadis\models\hadis.py:269 .\apps\hadis\models\hadis.py:431 +#: .\apps\hadis\models\reference.py:66 .\apps\hadis\models\reference.py:224 +#: .\apps\hadis\models\transmitter.py:21 .\apps\hadis\models\transmitter.py:289 +#: .\apps\quiz\models\quiz.py:12 .\apps\transaction\admin.py:158 +#: .\apps\transaction\models.py:110 .\utils\keyval_field.py:162 +#: .\utils\keyval_field.py:172 +msgid "Description" +msgstr "" + +#: .\apps\api\models.py:85 +msgid "Release notes and changes for this version" +msgstr "" + +#: .\apps\api\models.py:93 +msgid "App Type" +msgstr "" + +#: .\apps\api\models.py:94 +msgid "App distribution platform" +msgstr "" + +#: .\apps\api\models.py:99 +msgid "App Store Downloads" +msgstr "" + +#: .\apps\api\models.py:100 +msgid "Total number of downloads on Apple App Store" +msgstr "" + +#: .\apps\api\models.py:105 +msgid "Google Play Downloads" +msgstr "" + +#: .\apps\api\models.py:106 +msgid "Total number of downloads on Google Play" +msgstr "" + +#: .\apps\api\models.py:112 +msgid "Is this version active?" +msgstr "" + +#: .\apps\api\models.py:122 .\apps\blog\models.py:38 .\apps\blog\models.py:159 +#: .\apps\chat\models.py:50 .\apps\chat\models.py:126 +#: .\apps\course\models\course.py:119 .\apps\course\models\course.py:177 +#: .\apps\course\models\course.py:195 .\apps\course\models\course.py:226 +#: .\apps\course\models\course.py:250 .\apps\course\models\lesson.py:36 +#: .\apps\course\models\lesson.py:93 .\apps\course\models\live_session.py:47 +#: .\apps\course\models\live_session.py:109 +#: .\apps\course\models\live_session.py:171 +msgid "Updated At" +msgstr "" + +#: .\apps\api\models.py:126 +msgid "App Version" +msgstr "" + +#: .\apps\api\models.py:127 .\config\settings\base.py:890 +msgid "App Versions" +msgstr "" + +#: .\apps\article\admin.py:38 .\apps\article\admin.py:236 +#: .\apps\article\models.py:141 +msgid "Article" +msgstr "" + +#: .\apps\article\admin.py:39 .\apps\article\models.py:142 +#: .\config\settings\base.py:746 .\config\settings\base.py:752 +msgid "Articles" +msgstr "" + +#: .\apps\article\admin.py:48 .\apps\article\models.py:243 +msgid "Text Section" +msgstr "" + +#: .\apps\article\admin.py:49 .\apps\article\models.py:244 +msgid "Text Sections" +msgstr "" + +#: .\apps\article\admin.py:56 .\apps\article\models.py:217 +msgid "Content Part" +msgstr "" + +#: .\apps\article\admin.py:57 .\apps\article\models.py:218 +msgid "Content Parts" +msgstr "" + +#: .\apps\article\admin.py:66 .\apps\article\models.py:193 +msgid "Article Content" +msgstr "" + +#: .\apps\article\admin.py:67 .\apps\article\models.py:194 +#: .\config\settings\base.py:776 +msgid "Article Contents" +msgstr "" + +#: .\apps\article\admin.py:90 .\apps\article\admin.py:131 +#: .\apps\blog\admin.py:85 .\apps\blog\admin.py:124 .\apps\blog\models.py:12 +#: .\apps\course\admin\course.py:447 .\apps\course\admin\course.py:508 +#: .\apps\course\models\live_session.py:143 .\apps\hadis\admin\category.py:181 +#: .\apps\hadis\admin\category.py:216 .\apps\hadis\admin\hadis.py:617 +#: .\apps\hadis\admin\hadis.py:645 .\apps\hadis\admin\hadis.py:693 +#: .\apps\hadis\admin\hadis.py:768 .\apps\hadis\admin\hadis.py:949 +#: .\apps\hadis\admin\reference.py:470 .\apps\hadis\admin\reference.py:559 +#: .\apps\hadis\admin\transmitter.py:577 .\apps\hadis\admin\transmitter.py:604 +#: .\apps\hadis\admin\transmitter.py:677 .\apps\hadis\models\category.py:15 +#: .\apps\hadis\models\category.py:77 .\apps\hadis\models\hadis.py:13 +#: .\apps\hadis\models\hadis.py:141 .\apps\hadis\models\hadis.py:169 +#: .\apps\hadis\models\hadis.py:268 .\apps\hadis\models\hadis.py:494 +#: .\apps\hadis\models\hadis.py:572 .\apps\hadis\models\reference.py:8 +#: .\apps\hadis\models\reference.py:34 .\apps\hadis\models\reference.py:65 +#: .\apps\hadis\models\reference.py:327 .\apps\hadis\models\transmitter.py:127 +#: .\apps\hadis\models\transmitter.py:491 +#: .\apps\hadis\models\transmitter.py:659 .\apps\library\admin.py:105 +#: .\apps\podcast\admin.py:49 .\apps\podcast\admin.py:94 +#: .\apps\quiz\models\quiz.py:11 .\apps\video\admin.py:49 +#: .\apps\video\admin.py:83 .\utils\keyval_field.py:39 +#: .\utils\keyval_field.py:59 .\utils\keyval_field.py:76 +#: .\utils\keyval_field.py:139 .\utils\keyval_field.py:167 .\utils\schema.py:51 +#: .\utils\unfold_translations.py:74 +msgid "Title" +msgstr "" + +#: .\apps\article\admin.py:94 .\apps\article\models.py:47 +#: .\apps\library\models.py:27 .\apps\podcast\admin.py:53 +#: .\apps\podcast\models.py:47 .\apps\video\models.py:50 +msgid "Display Position" +msgstr "" + +#: .\apps\article\admin.py:101 .\apps\article\admin.py:173 +msgid "Number of Articles" +msgstr "" + +#: .\apps\article\admin.py:196 +msgid "Search by title, slug, description or content" +msgstr "" + +#: .\apps\article\admin.py:197 +msgid "Search articles" +msgstr "" + +#: .\apps\article\admin.py:207 .\apps\chat\admin.py:345 +#: .\apps\chat\admin.py:396 .\apps\chat\models.py:79 +#: .\apps\course\admin\course.py:512 +msgid "File" +msgstr "" + +#: .\apps\article\admin.py:210 .\apps\bookmark\admin.py:42 +#: .\apps\bookmark\admin.py:112 .\apps\certificate\admin.py:30 +#: .\apps\certificate\models.py:19 .\apps\chat\admin.py:281 +#: .\apps\chat\admin.py:355 .\apps\course\admin\live_session.py:167 +#: .\apps\library\admin.py:68 .\apps\library\admin.py:207 +#: .\apps\podcast\admin.py:160 .\apps\quiz\admin\quiz.py:76 +#: .\apps\quiz\models\quiz.py:14 .\apps\video\admin.py:169 +msgid "Status" +msgstr "" + +#: .\apps\article\admin.py:213 .\apps\blog\admin.py:73 +#: .\apps\library\admin.py:77 .\apps\podcast\admin.py:163 +#: .\apps\podcast\admin.py:244 .\apps\video\admin.py:172 +#: .\apps\video\admin.py:256 +msgid "Statistics" +msgstr "" + +#: .\apps\article\admin.py:228 +msgid "Contents" +msgstr "" + +#: .\apps\article\admin.py:280 +msgid "Parts" +msgstr "" + +#: .\apps\article\models.py:12 .\apps\article\models.py:42 +#: .\apps\article\models.py:107 .\apps\article\models.py:188 +#: .\apps\hadis\models\hadis.py:16 .\apps\hadis\models\hadis.py:142 +#: .\apps\library\models.py:29 .\apps\library\models.py:72 +#: .\apps\library\models.py:124 .\apps\library\models.py:173 +#: .\apps\podcast\models.py:12 .\apps\podcast\models.py:42 +#: .\apps\podcast\models.py:96 .\apps\podcast\models.py:149 +#: .\apps\podcast\models.py:263 .\apps\video\models.py:14 +#: .\apps\video\models.py:45 .\apps\video\models.py:105 +#: .\apps\video\models.py:165 +msgid "status" +msgstr "" + +#: .\apps\article\models.py:13 .\apps\article\models.py:41 +#: .\apps\article\models.py:159 .\apps\article\models.py:211 +#: .\apps\article\models.py:237 .\apps\hadis\models\category.py:18 +#: .\apps\hadis\models\category.py:79 .\apps\hadis\models\hadis.py:18 +#: .\apps\hadis\models\hadis.py:127 .\apps\hadis\models\hadis.py:172 +#: .\apps\hadis\models\reference.py:223 .\apps\hadis\models\reference.py:266 +#: .\apps\library\models.py:30 .\apps\podcast\models.py:13 +#: .\apps\podcast\models.py:41 .\apps\podcast\models.py:148 +#: .\apps\podcast\models.py:200 .\apps\video\models.py:15 +#: .\apps\video\models.py:43 .\apps\video\models.py:164 +#: .\apps\video\models.py:216 +msgid "order" +msgstr "" + +#: .\apps\article\models.py:26 +msgid "Article Category" +msgstr "" + +#: .\apps\article\models.py:27 +msgid "Article Categories" +msgstr "" + +#: .\apps\article\models.py:33 .\apps\library\models.py:15 +#: .\apps\podcast\models.py:33 .\apps\video\models.py:35 +msgid "Pinned" +msgstr "" + +#: .\apps\article\models.py:34 .\apps\library\models.py:16 +#: .\apps\podcast\models.py:34 .\apps\video\models.py:36 +msgid "Middle Section" +msgstr "" + +#: .\apps\article\models.py:38 .\apps\library\models.py:21 +#: .\apps\library\models.py:109 .\apps\podcast\models.py:38 +#: .\apps\video\models.py:40 +msgid "could be null" +msgstr "" + +#: .\apps\article\models.py:39 .\apps\hadis\models\hadis.py:17 +#: .\apps\library\models.py:22 .\apps\podcast\models.py:39 +#: .\apps\video\models.py:41 +msgid "pin top" +msgstr "" + +#: .\apps\article\models.py:40 .\apps\article\models.py:90 +#: .\apps\hadis\models\hadis.py:19 .\apps\hadis\models\transmitter.py:290 +#: .\apps\library\models.py:110 .\apps\podcast\models.py:40 +#: .\apps\podcast\models.py:85 .\apps\video\models.py:42 +#: .\apps\video\models.py:91 +msgid "image allowed" +msgstr "" + +#: .\apps\article\models.py:56 +msgid "articles" +msgstr "" + +#: .\apps\article\models.py:68 +msgid "Article Collection" +msgstr "" + +#: .\apps\article\models.py:69 +msgid "Articles Collections" +msgstr "" + +#: .\apps\article\models.py:75 .\apps\podcast\models.py:69 +msgid "Pinned Collection (Top Section)" +msgstr "" + +#: .\apps\article\models.py:76 .\apps\podcast\models.py:70 +msgid "Pinned Collections (Top Section)" +msgstr "" + +#: .\apps\article\models.py:82 .\apps\podcast\models.py:76 +msgid "Regular Collection (Middle Section)" +msgstr "" + +#: .\apps\article\models.py:83 .\apps\podcast\models.py:77 +msgid "Regular Collections (Middle Section)" +msgstr "" + +#: .\apps\article\models.py:93 +msgid "PDF or other document files" +msgstr "" + +#: .\apps\article\models.py:95 .\apps\library\models.py:127 +#: .\apps\podcast\models.py:88 .\apps\podcast\models.py:137 +#: .\apps\video\models.py:153 +msgid "categories" +msgstr "" + +#: .\apps\article\models.py:100 .\apps\library\models.py:128 +#: .\apps\podcast\models.py:144 .\apps\video\models.py:160 +msgid "collections" +msgstr "" + +#: .\apps\article\models.py:103 .\apps\article\models.py:105 +#: .\apps\library\models.py:131 .\apps\library\models.py:132 +#: .\apps\podcast\models.py:93 .\apps\podcast\models.py:150 +#: .\apps\video\models.py:103 .\apps\video\models.py:166 +msgid "view count" +msgstr "" + +#: .\apps\article\models.py:151 .\apps\hadis\models\hadis.py:126 +#: .\apps\podcast\models.py:192 .\apps\video\models.py:208 +msgid "collection" +msgstr "" + +#: .\apps\article\models.py:157 .\apps\article\models.py:182 +msgid "article" +msgstr "" + +#: .\apps\article\models.py:168 +msgid "Article in Collection" +msgstr "" + +#: .\apps\article\models.py:169 +msgid "Articles in Collections" +msgstr "" + +#: .\apps\article\models.py:185 +msgid "content" +msgstr "" + +#: .\apps\article\models.py:186 .\apps\podcast\models.py:228 +#: .\apps\video\models.py:244 +msgid "priority" +msgstr "" + +#: .\apps\article\models.py:209 +msgid "article content" +msgstr "" + +#: .\apps\article\models.py:233 +msgid "content part" +msgstr "" + +#: .\apps\article\models.py:235 +msgid "Arabic text" +msgstr "" + +#: .\apps\article\models.py:236 .\apps\hadis\models\hadis.py:574 +#: .\utils\keyval_field.py:16 .\utils\keyval_field.py:37 +#: .\utils\keyval_field.py:74 .\utils\keyval_field.py:94 +#: .\utils\keyval_field.py:116 .\utils\keyval_field.py:137 +msgid "Translation" +msgstr "" + +#: .\apps\blog\admin.py:70 .\apps\blog\admin.py:112 .\apps\blog\models.py:137 +#: .\apps\course\admin\lesson.py:53 .\apps\hadis\admin\hadis.py:677 +#: .\apps\hadis\admin\hadis.py:936 .\apps\hadis\admin\transmitter.py:541 +#: .\apps\hadis\admin\transmitter.py:631 .\apps\hadis\admin\transmitter.py:668 +msgid "Content" +msgstr "" + +#: .\apps\blog\admin.py:77 .\apps\blog\admin.py:115 .\apps\bookmark\admin.py:45 +#: .\apps\bookmark\admin.py:115 .\apps\certificate\admin.py:24 +#: .\apps\chat\admin.py:174 .\apps\chat\admin.py:285 +#: .\apps\course\admin\live_session.py:117 +#: .\apps\course\admin\live_session.py:140 +#: .\apps\course\admin\live_session.py:168 .\apps\hadis\admin\hadis.py:611 +#: .\apps\hadis\admin\hadis.py:687 .\apps\hadis\admin\hadis.py:719 +#: .\apps\hadis\admin\hadis.py:762 .\apps\hadis\admin\hadis.py:814 +#: .\apps\hadis\admin\hadis.py:943 .\apps\hadis\admin\reference.py:512 +#: .\apps\hadis\admin\transmitter.py:485 .\apps\hadis\admin\transmitter.py:520 +#: .\apps\hadis\admin\transmitter.py:544 .\apps\hadis\admin\transmitter.py:634 +#: .\apps\hadis\admin\version.py:21 .\apps\library\admin.py:199 +#: .\apps\transaction\admin.py:51 .\apps\transaction\admin.py:152 +msgid "Timestamps" +msgstr "" + +#: .\apps\blog\models.py:16 .\apps\course\models\course.py:76 +#: .\apps\course\models\live_session.py:165 +msgid "Thumbnail" +msgstr "" + +#: .\apps\blog\models.py:17 +msgid "Blog thumbnail image" +msgstr "" + +#: .\apps\blog\models.py:19 +msgid "Slogan" +msgstr "" + +#: .\apps\blog\models.py:21 .\apps\hadis\models\hadis.py:15 +#: .\apps\library\models.py:107 +#: .\templates\admin\includes\object_delete_summary.html:2 +msgid "Summary" +msgstr "" + +#: .\apps\blog\models.py:25 +msgid "Views Count" +msgstr "" + +#: .\apps\blog\models.py:26 +msgid "Number of times this blog was viewed" +msgstr "" + +#: .\apps\blog\models.py:29 .\apps\blog\models.py:138 +msgid "Slug" +msgstr "" + +#: .\apps\blog\models.py:29 +msgid "URL slug for the blog" +msgstr "" + +#: .\apps\blog\models.py:43 .\apps\blog\models.py:134 .\apps\blog\models.py:184 +msgid "Blog" +msgstr "" + +#: .\apps\blog\models.py:44 .\config\settings\base.py:672 +msgid "Blogs" +msgstr "" + +#: .\apps\blog\models.py:136 +msgid "Content Title" +msgstr "" + +#: .\apps\blog\models.py:136 +msgid "Title of this content section" +msgstr "" + +#: .\apps\blog\models.py:137 +msgid "The main content text" +msgstr "" + +#: .\apps\blog\models.py:138 +msgid "URL slug for this content (optional)" +msgstr "" + +#: .\apps\blog\models.py:144 .\apps\chat\admin.py:347 .\apps\chat\admin.py:387 +#: .\apps\chat\models.py:81 +msgid "Image" +msgstr "" + +#: .\apps\blog\models.py:145 +msgid "Optional image for this content section" +msgstr "" + +#: .\apps\blog\models.py:150 +msgid "Order of this content within the blog" +msgstr "" + +#: .\apps\blog\models.py:164 +msgid "Blog Content" +msgstr "" + +#: .\apps\blog\models.py:165 +msgid "Blog Contents" +msgstr "" + +#: .\apps\blog\models.py:186 +msgid "SEO Title" +msgstr "" + +#: .\apps\blog\models.py:187 +msgid "maximum length of page title is 70 characters and minimum length is 30" +msgstr "" + +#: .\apps\blog\models.py:190 +msgid "Keywords" +msgstr "" + +#: .\apps\blog\models.py:192 +msgid "" +"keywords in the content that make it possible for people to find the site " +"via search engines" +msgstr "" + +#: .\apps\blog\models.py:197 +msgid "" +"describes and summarizes the contents of the page for the benefit of users " +"and search engines" +msgstr "" + +#: .\apps\blog\models.py:203 +msgid "Blog SEO" +msgstr "" + +#: .\apps\blog\models.py:204 +msgid "Blog SEOs" +msgstr "" + +#: .\apps\bookmark\admin.py:23 .\apps\bookmark\admin.py:82 +msgid "Service" +msgstr "" + +#: .\apps\bookmark\admin.py:50 .\apps\bookmark\admin.py:120 +msgid "View Content" +msgstr "" + +#: .\apps\bookmark\admin.py:97 +msgid "Rate" +msgstr "" + +#: .\apps\certificate\models.py:12 +msgid "pending" +msgstr "" + +#: .\apps\certificate\models.py:13 +msgid "approved" +msgstr "" + +#: .\apps\certificate\models.py:14 +msgid "canceled" +msgstr "" + +#: .\apps\certificate\models.py:18 .\apps\chat\models.py:32 +#: .\apps\course\admin\course.py:325 .\apps\course\admin\course.py:557 +#: .\apps\course\models\course.py:156 .\apps\course\models\course.py:192 +#: .\apps\course\models\course.py:247 .\apps\course\models\lesson.py:54 +#: .\apps\course\models\lesson.py:85 .\apps\course\models\live_session.py:13 +#: .\apps\course\models\participant.py:19 .\apps\quiz\models\quiz.py:9 +#: .\apps\transaction\models.py:31 +msgid "Course" +msgstr "" + +#: .\apps\certificate\models.py:20 +msgid "certificate_file" +msgstr "" + +#: .\apps\certificate\models.py:22 .\apps\course\models\course.py:118 +#: .\apps\course\models\course.py:176 .\apps\course\models\course.py:194 +#: .\apps\course\models\course.py:225 .\apps\course\models\course.py:249 +#: .\apps\course\models\lesson.py:35 .\apps\course\models\lesson.py:92 +#: .\apps\course\models\lesson.py:163 .\apps\transaction\models.py:36 +msgid "Created at" +msgstr "" + +#: .\apps\chat\admin.py:101 +msgid "Recent Message" +msgstr "" + +#: .\apps\chat\admin.py:102 +msgid "Recent Messages (Latest 50)" +msgstr "" + +#: .\apps\chat\admin.py:140 .\apps\chat\admin.py:232 +msgid "Read Status" +msgstr "" + +#: .\apps\chat\admin.py:143 +msgid "Read" +msgstr "" + +#: .\apps\chat\admin.py:144 +msgid "Unread" +msgstr "" + +#: .\apps\chat\admin.py:166 +msgid "Room Information" +msgstr "" + +#: .\apps\chat\admin.py:170 .\apps\library\admin.py:74 +msgid "Relations" +msgstr "" + +#: .\apps\chat\admin.py:186 +msgid "Messages Count" +msgstr "" + +#: .\apps\chat\admin.py:194 .\apps\chat\models.py:62 +msgid "Room Type" +msgstr "" + +#: .\apps\chat\admin.py:197 .\apps\chat\models.py:20 +#: .\utils\unfold_translations.py:37 +msgid "Group" +msgstr "" + +#: .\apps\chat\admin.py:198 .\apps\chat\models.py:21 +#: .\utils\unfold_translations.py:38 +msgid "Private" +msgstr "" + +#: .\apps\chat\admin.py:208 .\utils\unfold_translations.py:31 +msgid "Manage All Messages" +msgstr "" + +#: .\apps\chat\admin.py:215 +msgid "Room not found" +msgstr "" + +#: .\apps\chat\admin.py:233 +msgid "Read Statuses" +msgstr "" + +#: .\apps\chat\admin.py:269 +msgid "Message Information" +msgstr "" + +#: .\apps\chat\admin.py:273 .\apps\course\models\course.py:239 +msgid "Attachments" +msgstr "" + +#: .\apps\chat\admin.py:277 +msgid "Additional Info" +msgstr "" + +#: .\apps\chat\admin.py:327 +msgid "Back to Chat Rooms" +msgstr "" + +#: .\apps\chat\admin.py:334 +msgid "Content Preview" +msgstr "" + +#: .\apps\chat\admin.py:339 +#, python-format +msgid "%(type)s content" +msgstr "" + +#: .\apps\chat\admin.py:341 +msgid "Type" +msgstr "" + +#: .\apps\chat\admin.py:344 .\apps\chat\models.py:78 +#: .\apps\hadis\models\transmitter.py:660 +msgid "Text" +msgstr "" + +#: .\apps\chat\admin.py:346 .\apps\chat\models.py:80 +msgid "Audio" +msgstr "" + +#: .\apps\chat\admin.py:358 +msgid "Deleted" +msgstr "" + +#: .\apps\chat\admin.py:361 +#: .\templates\admin\filer\folder\directory_table.html:15 +msgid "Size" +msgstr "" + +#: .\apps\chat\admin.py:367 +#, python-brace-format +msgid "{} bytes" +msgstr "" + +#: .\apps\chat\admin.py:370 .\apps\course\models\course.py:238 +#: .\apps\course\models\course.py:248 +msgid "Attachment" +msgstr "" + +#: .\apps\chat\admin.py:373 +msgid "📷 Image" +msgstr "" + +#: .\apps\chat\admin.py:375 +msgid "📎 File" +msgstr "" + +#: .\apps\chat\admin.py:377 +msgid "🔗 Legacy" +msgstr "" + +#: .\apps\chat\admin.py:380 +msgid "Attachment Preview" +msgstr "" + +#: .\apps\chat\admin.py:390 +msgid "Open in new tab" +msgstr "" + +#: .\apps\chat\admin.py:398 +msgid "📥 Download File" +msgstr "" + +#: .\apps\chat\admin.py:403 +msgid "Legacy URL" +msgstr "" + +#: .\apps\chat\admin_views.py:35 +msgid "Live Support Chat" +msgstr "چت پشتیبانی زنده" + +#: .\apps\chat\admin_views.py:66 .\utils\unfold_translations.py:107 +#, python-brace-format +msgid "Room #{}" +msgstr "اتاق شماره {}" + +#: .\apps\chat\admin_views.py:109 .\apps\hadis\models\transmitter.py:230 +#: .\utils\unfold_translations.py:108 +msgid "Unknown" +msgstr "نامشخص" + +#: .\apps\chat\admin_views.py:151 .\utils\unfold_translations.py:109 +msgid "Support" +msgstr "پشتیبانی" + +#: .\apps\chat\admin_views.py:252 .\utils\unfold_translations.py:116 +#, python-brace-format +msgid "Chat with {}" +msgstr "" + +#: .\apps\chat\management\commands\clear_chat_data.py:16 +#: .\apps\course\management\commands\clear_course_data.py:23 +msgid "Force deletion without confirmation" +msgstr "" + +#: .\apps\chat\management\commands\clear_chat_data.py:22 +msgid "Delete ALL rooms including course-related rooms" +msgstr "" + +#: .\apps\chat\management\commands\clear_chat_data.py:31 +msgid "" +"This will delete ALL chat data including course rooms. Are you sure? (yes/" +"no): " +msgstr "" + +#: .\apps\chat\management\commands\clear_chat_data.py:33 +msgid "" +"This will delete all messages and read statuses, and non-course rooms. " +"Course rooms will be preserved but their messages will be deleted. Are you " +"sure? (yes/no): " +msgstr "" + +#: .\apps\chat\management\commands\clear_chat_data.py:36 +#: .\apps\course\management\commands\clear_course_data.py:61 +msgid "Operation cancelled." +msgstr "" + +#: .\apps\chat\management\commands\clear_chat_data.py:75 +msgid "Chat data clearing completed successfully!" +msgstr "" + +#: .\apps\chat\models.py:25 +msgid "Room Name" +msgstr "" + +#: .\apps\chat\models.py:37 .\utils\unfold_translations.py:29 +msgid "Initiator" +msgstr "" + +#: .\apps\chat\models.py:43 .\utils\unfold_translations.py:30 +msgid "Recipient" +msgstr "" + +#: .\apps\chat\models.py:55 .\utils\unfold_translations.py:28 +msgid "Is Locked" +msgstr "" + +#: .\apps\chat\models.py:56 +msgid "If True, only the professor and admins can send new messages." +msgstr "" + +#: .\apps\chat\models.py:64 .\apps\course\models\participant.py:23 +msgid "Unread Messages Count" +msgstr "" + +#: .\apps\chat\models.py:72 +msgid "Room Message" +msgstr "" + +#: .\apps\chat\models.py:73 +msgid "Room Messages" +msgstr "" + +#: .\apps\chat\models.py:87 +msgid "Room" +msgstr "" + +#: .\apps\chat\models.py:93 .\utils\unfold_translations.py:32 +msgid "Sender" +msgstr "" + +#: .\apps\chat\models.py:95 .\utils\unfold_translations.py:33 +msgid "Message Content" +msgstr "" + +#: .\apps\chat\models.py:100 .\utils\unfold_translations.py:34 +msgid "Chat Type" +msgstr "" + +#: .\apps\chat\models.py:103 +msgid "Content Size (bytes)" +msgstr "" + +#: .\apps\chat\models.py:112 +msgid "File Attachment" +msgstr "" + +#: .\apps\chat\models.py:113 +msgid "For file and audio messages" +msgstr "" + +#: .\apps\chat\models.py:120 +msgid "Image Attachment" +msgstr "" + +#: .\apps\chat\models.py:121 +msgid "For image messages" +msgstr "" + +#: .\apps\chat\models.py:123 .\apps\chat\models.py:174 +msgid "Is Read" +msgstr "" + +#: .\apps\chat\models.py:124 +msgid "Message Metadata" +msgstr "" + +#: .\apps\chat\models.py:125 .\utils\unfold_translations.py:35 +msgid "Sent At" +msgstr "" + +#: .\apps\chat\models.py:127 +msgid "Deleted At" +msgstr "" + +#: .\apps\chat\models.py:128 .\utils\unfold_translations.py:36 +msgid "Is deleted" +msgstr "" + +#: .\apps\chat\models.py:157 +msgid "Chat Message" +msgstr "" + +#: .\apps\chat\models.py:158 +msgid "Chat Messages" +msgstr "" + +#: .\apps\chat\models.py:172 +msgid "Message" +msgstr "" + +#: .\apps\chat\models.py:175 +msgid "Read At" +msgstr "" + +#: .\apps\chat\models.py:179 +msgid "Message Read Status" +msgstr "" + +#: .\apps\chat\models.py:180 +msgid "Message Read Statuses" +msgstr "" + +#: .\apps\course\admin\course.py:81 +msgid "Course Weekly Schedule" +msgstr "" + +#: .\apps\course\admin\course.py:85 .\utils\schema.py:49 +msgid "Course Features" +msgstr "" + +#: .\apps\course\admin\course.py:89 +msgid "If set to inactive, the course will not be displayed." +msgstr "" + +#: .\apps\course\admin\course.py:104 +msgid "This field is required and cannot be cleared." +msgstr "" + +#: .\apps\course\admin\course.py:108 +msgid "This field is required." +msgstr "" + +#: .\apps\course\admin\course.py:128 .\apps\course\admin\live_session.py:52 +msgid "Select a value" +msgstr "" + +#: .\apps\course\admin\course.py:143 .\apps\quiz\models\participant.py:10 +#: .\apps\quiz\models\quiz.py:18 .\apps\quiz\models\quiz.py:43 +msgid "Quiz" +msgstr "" + +#: .\apps\course\admin\course.py:144 .\apps\quiz\models\quiz.py:19 +#: .\config\settings\base.py:509 +msgid "Quizzes" +msgstr "" + +#: .\apps\course\admin\course.py:161 .\apps\course\models\course.py:269 +msgid "Course Attachment" +msgstr "" + +#: .\apps\course\admin\course.py:162 .\apps\course\models\course.py:270 +#: .\config\settings\base.py:497 +msgid "Course Attachments" +msgstr "" + +#: .\apps\course\admin\course.py:184 .\apps\course\models\lesson.py:86 +msgid "Chapter" +msgstr "" + +#: .\apps\course\admin\course.py:185 +msgid "Chapters" +msgstr "" + +#: .\apps\course\admin\course.py:224 .\apps\quiz\admin\participant.py:36 +msgid "Recent Participant" +msgstr "" + +#: .\apps\course\admin\course.py:225 .\apps\quiz\admin\participant.py:37 +msgid "Recent Participants (Latest 10)" +msgstr "" + +#: .\apps\course\admin\course.py:249 +msgid "Select Student" +msgstr "" + +#: .\apps\course\admin\course.py:296 +msgid "Settings & Status" +msgstr "" + +#: .\apps\course\admin\course.py:305 .\apps\course\admin\live_session.py:91 +msgid "Media" +msgstr "" + +#: .\apps\course\admin\course.py:311 +msgid "Pricing" +msgstr "" + +#: .\apps\course\admin\course.py:318 +msgid "Advanced Configuration" +msgstr "" + +#: .\apps\course\admin\course.py:345 .\apps\transaction\admin.py:75 +#: .\templates\course\course_stats.html:142 +msgid "Price" +msgstr "" + +#: .\apps\course\admin\course.py:348 .\apps\transaction\models.py:27 +#: .\templates\course\course_stats.html:145 +msgid "Free" +msgstr "" + +#: .\apps\course\admin\course.py:373 +msgid "Add Student" +msgstr "" + +#: .\apps\course\admin\course.py:380 .\apps\course\admin\course.py:417 +msgid "Course not found" +msgstr "" + +#: .\apps\course\admin\course.py:388 +#, python-brace-format +msgid "Student {} is already enrolled in this course" +msgstr "" + +#: .\apps\course\admin\course.py:393 +#, python-brace-format +msgid "Student {} has been successfully added to {}" +msgstr "" + +#: .\apps\course\admin\course.py:404 +#, python-brace-format +msgid "Add Student to {}" +msgstr "" + +#: .\apps\course\admin\course.py:410 +msgid "Manage All Students" +msgstr "" + +#: .\apps\course\admin\course.py:516 +msgid "File Size" +msgstr "" + +#: .\apps\course\admin\course.py:534 +msgid "Enrollment Details" +msgstr "" + +#: .\apps\course\admin\lesson.py:72 .\apps\course\admin\lesson.py:117 +#: .\templates\course\course_stats.html:118 +msgid "Duration" +msgstr "" + +#: .\apps\course\admin\lesson.py:74 .\apps\course\admin\lesson.py:119 +msgid "min" +msgstr "" + +#: .\apps\course\admin\live_session.py:65 .\apps\course\models\course.py:116 +msgid "Timing" +msgstr "" + +#: .\apps\course\admin\live_session.py:71 +msgid "Session User" +msgstr "" + +#: .\apps\course\admin\live_session.py:72 .\config\settings\base.py:532 +msgid "Session Users" +msgstr "" + +#: .\apps\course\admin\live_session.py:97 +msgid "Session Recording" +msgstr "" + +#: .\apps\course\admin\live_session.py:98 .\config\settings\base.py:538 +msgid "Session Recordings" +msgstr "" + +#: .\apps\course\admin\live_session.py:139 +msgid "Session Timing" +msgstr "" + +#: .\apps\course\admin\live_session.py:166 .\apps\hadis\admin\category.py:198 +msgid "Files" +msgstr "" + +#: .\apps\course\management\commands\clear_course_data.py:16 +msgid "Clear all course-related data from the database" +msgstr "" + +#: .\apps\course\management\commands\clear_course_data.py:29 +msgid "Specify a single model to clear (e.g., \"Course\", \"Lesson\", etc.)" +msgstr "" + +#: .\apps\course\management\commands\clear_course_data.py:35 +msgid "Clear only legacy models (before migration to new structure)" +msgstr "" + +#: .\apps\course\management\commands\clear_course_data.py:59 +msgid "This will delete ALL course-related data. Are you sure? (yes/no): " +msgstr "" + +#: .\apps\course\management\commands\clear_course_data.py:95 +msgid ", " +msgstr "" + +#: .\apps\course\management\commands\clear_course_data.py:134 +msgid "Course data clearing completed" +msgstr "" + +#: .\apps\course\models\course.py:30 +msgid "Category Name" +msgstr "" + +#: .\apps\course\models\course.py:49 +msgid "Beginner" +msgstr "" + +#: .\apps\course\models\course.py:50 +msgid "Mid Level" +msgstr "" + +#: .\apps\course\models\course.py:51 +msgid "Advanced" +msgstr "" + +#: .\apps\course\models\course.py:54 .\apps\library\admin.py:216 +#: .\apps\quiz\admin\quiz.py:80 +msgid "Inactive" +msgstr "" + +#: .\apps\course\models\course.py:55 +msgid "Upcoming" +msgstr "" + +#: .\apps\course\models\course.py:56 +msgid "Registering" +msgstr "" + +#: .\apps\course\models\course.py:57 +msgid "Ongoing" +msgstr "" + +#: .\apps\course\models\course.py:58 +msgid "Finished" +msgstr "" + +#: .\apps\course\models\course.py:61 .\apps\course\models\lesson.py:21 +msgid "Youtube Link" +msgstr "" + +#: .\apps\course\models\course.py:62 .\apps\course\models\course.py:86 +#: .\apps\course\models\lesson.py:22 +msgid "Video File" +msgstr "" + +#: .\apps\course\models\course.py:66 +msgid "Course Title" +msgstr "" + +#: .\apps\course\models\course.py:68 .\apps\hadis\models\hadis.py:569 +#: .\apps\library\models.py:92 +msgid "Category" +msgstr "" + +#: .\apps\course\models\course.py:80 +msgid "Preview Video Type (YouTube Link or File Upload)" +msgstr "" + +#: .\apps\course\models\course.py:88 .\utils\unfold_translations.py:71 +msgid "Video Link" +msgstr "" + +#: .\apps\course\models\course.py:90 +msgid "Is Online Course" +msgstr "" + +#: .\apps\course\models\course.py:91 +msgid "Online Class Link" +msgstr "" + +#: .\apps\course\models\course.py:92 +msgid "Course Level" +msgstr "" + +#: .\apps\course\models\course.py:93 +msgid "Duration (in hours)" +msgstr "" + +#: .\apps\course\models\course.py:94 +msgid "Number of Lessons" +msgstr "" + +#: .\apps\course\models\course.py:96 +msgid "Course Description" +msgstr "" + +#: .\apps\course\models\course.py:97 +msgid "Short Description" +msgstr "" + +#: .\apps\course\models\course.py:99 +msgid "Is Free" +msgstr "" + +#: .\apps\course\models\course.py:100 +msgid "Course Price" +msgstr "" + +#: .\apps\course\models\course.py:101 +msgid "Discount Percentage" +msgstr "" + +#: .\apps\course\models\course.py:103 +msgid "Course Final Price" +msgstr "" + +#: .\apps\course\models\course.py:104 +msgid "" +"This field is automatically calculated based on the discount percentage." +msgstr "" + +#: .\apps\course\models\course.py:109 +msgid "Lock Group Chat" +msgstr "" + +#: .\apps\course\models\course.py:113 +msgid "Lock Private Chats with Professor" +msgstr "" + +#: .\apps\course\models\course.py:117 +msgid "Course features" +msgstr "" + +#: .\apps\course\models\course.py:174 +msgid "Glossary Title" +msgstr "" + +#: .\apps\course\models\course.py:183 .\apps\course\models\course.py:193 +msgid "Glossary" +msgstr "" + +#: .\apps\course\models\course.py:184 +msgid "Glossaries" +msgstr "" + +#: .\apps\course\models\course.py:210 .\config\settings\base.py:503 +msgid "Course Glossary" +msgstr "" + +#: .\apps\course\models\course.py:211 +msgid "Course Glossaries" +msgstr "" + +#: .\apps\course\models\course.py:219 +msgid "Attachment Title" +msgstr "" + +#: .\apps\course\models\course.py:222 +msgid "Attachment File" +msgstr "" + +#: .\apps\course\models\course.py:224 +msgid "File Size (in bytes)" +msgstr "" + +#: .\apps\course\models\lesson.py:24 +msgid "Lesson Title" +msgstr "" + +#: .\apps\course\models\lesson.py:25 +msgid "Content Type" +msgstr "" + +#: .\apps\course\models\lesson.py:32 +msgid "Link" +msgstr "" + +#: .\apps\course\models\lesson.py:33 +msgid "Duration (in minutes)" +msgstr "" + +#: .\apps\course\models\lesson.py:42 .\apps\course\models\lesson.py:87 +#: .\apps\quiz\models\quiz.py:8 +msgid "Lesson" +msgstr "" + +#: .\apps\course\models\lesson.py:43 +msgid "Lessons" +msgstr "" + +#: .\apps\course\models\lesson.py:55 +msgid "Chapter Title" +msgstr "" + +#: .\apps\course\models\lesson.py:56 .\apps\course\models\lesson.py:89 +#: .\apps\hadis\models\hadis.py:467 .\apps\quiz\models\quiz.py:51 +msgid "Priority" +msgstr "" + +#: .\apps\course\models\lesson.py:57 .\apps\course\models\lesson.py:91 +#: .\apps\course\models\live_session.py:174 +#: .\apps\course\models\participant.py:21 .\apps\hadis\models\category.py:17 +msgid "Is Active" +msgstr "" + +#: .\apps\course\models\lesson.py:77 +msgid "Course Chapter" +msgstr "" + +#: .\apps\course\models\lesson.py:78 +msgid "Course Chapters" +msgstr "" + +#: .\apps\course\models\lesson.py:88 +msgid "Sub-lesson Title" +msgstr "" + +#: .\apps\course\models\lesson.py:137 .\apps\course\models\lesson.py:159 +msgid "Course Lesson" +msgstr "" + +#: .\apps\course\models\lesson.py:138 .\config\settings\base.py:491 +msgid "Course Lessons" +msgstr "" + +#: .\apps\course\models\lesson.py:167 +msgid "Lesson Completion" +msgstr "" + +#: .\apps\course\models\lesson.py:168 +msgid "Lesson Completions" +msgstr "" + +#: .\apps\course\models\live_session.py:14 +msgid "Course that this live session belongs to." +msgstr "" + +#: .\apps\course\models\live_session.py:18 +msgid "Room ID" +msgstr "" + +#: .\apps\course\models\live_session.py:19 +msgid "Identifier of the PlugNMeet room." +msgstr "" + +#: .\apps\course\models\live_session.py:26 +msgid "Subject" +msgstr "" + +#: .\apps\course\models\live_session.py:27 +msgid "Topic of the live session." +msgstr "" + +#: .\apps\course\models\live_session.py:30 .\apps\quiz\models\participant.py:12 +msgid "Started At" +msgstr "" + +#: .\apps\course\models\live_session.py:31 +msgid "Start time of the live session." +msgstr "" + +#: .\apps\course\models\live_session.py:34 .\apps\quiz\models\participant.py:13 +msgid "Ended At" +msgstr "" + +#: .\apps\course\models\live_session.py:35 +msgid "End time of the live session." +msgstr "" + +#: .\apps\course\models\live_session.py:41 +msgid "Recorded File" +msgstr "" + +#: .\apps\course\models\live_session.py:42 +msgid "Recorded file of the live session." +msgstr "" + +#: .\apps\course\models\live_session.py:54 +msgid "Course Live Session" +msgstr "" + +#: .\apps\course\models\live_session.py:55 +msgid "Course Live Sessions" +msgstr "" + +#: .\apps\course\models\live_session.py:64 +#: .\apps\course\models\participant.py:27 .\apps\quiz\models\participant.py:21 +#: .\apps\quiz\models\participant.py:50 +msgid "Participant" +msgstr "" + +#: .\apps\course\models\live_session.py:65 +msgid "Moderator" +msgstr "" + +#: .\apps\course\models\live_session.py:66 +msgid "Observer" +msgstr "" + +#: .\apps\course\models\live_session.py:76 +#: .\apps\course\models\live_session.py:138 +msgid "Live Session" +msgstr "" + +#: .\apps\course\models\live_session.py:77 +msgid "Live session that the user joined." +msgstr "" + +#: .\apps\course\models\live_session.py:84 +msgid "User participating in the live session." +msgstr "" + +#: .\apps\course\models\live_session.py:89 +msgid "Role" +msgstr "" + +#: .\apps\course\models\live_session.py:90 +msgid "Role of the user in the session" +msgstr "" + +#: .\apps\course\models\live_session.py:93 +msgid "Entered At" +msgstr "" + +#: .\apps\course\models\live_session.py:94 +msgid "Time the user entered the session" +msgstr "" + +#: .\apps\course\models\live_session.py:97 +msgid "Exited At" +msgstr "" + +#: .\apps\course\models\live_session.py:98 +msgid "Time the user exited the session" +msgstr "" + +#: .\apps\course\models\live_session.py:105 +msgid "Is online" +msgstr "" + +#: .\apps\course\models\live_session.py:106 +msgid "Is the user currently online?" +msgstr "" + +#: .\apps\course\models\live_session.py:115 +msgid "User Session" +msgstr "" + +#: .\apps\course\models\live_session.py:116 +msgid "User Sessions" +msgstr "" + +#: .\apps\course\models\live_session.py:127 +msgid "Voice" +msgstr "" + +#: .\apps\course\models\live_session.py:128 +msgid "Video" +msgstr "" + +#: .\apps\course\models\live_session.py:139 +msgid "Live session that this recording belongs to." +msgstr "" + +#: .\apps\course\models\live_session.py:144 +msgid "Title of the recording" +msgstr "" + +#: .\apps\course\models\live_session.py:148 +msgid "Recording File" +msgstr "" + +#: .\apps\course\models\live_session.py:149 +msgid "File of the recorded session" +msgstr "" + +#: .\apps\course\models\live_session.py:152 +msgid "File Duration" +msgstr "" + +#: .\apps\course\models\live_session.py:153 +msgid "Duration of the recording file" +msgstr "" + +#: .\apps\course\models\live_session.py:160 +msgid "Recording Type" +msgstr "" + +#: .\apps\course\models\live_session.py:161 +msgid "Type of the recording (voice or video)" +msgstr "" + +#: .\apps\course\models\live_session.py:166 +msgid "Thumbnail image for video recordings" +msgstr "" + +#: .\apps\course\models\live_session.py:170 +msgid "Time the recording was created" +msgstr "" + +#: .\apps\course\models\live_session.py:171 +msgid "The datetime when the recording was last updated" +msgstr "" + +#: .\apps\course\models\live_session.py:175 +msgid "Whether this recording is active or not" +msgstr "" + +#: .\apps\course\models\live_session.py:183 +msgid "Live Session Recording" +msgstr "" + +#: .\apps\course\models\live_session.py:184 +msgid "Live Session Recordings" +msgstr "" + +#: .\apps\course\models\participant.py:22 +msgid "Joined Date" +msgstr "" + +#: .\apps\course\models\participant.py:28 .\apps\quiz\models\participant.py:22 +#: .\templates\admin\index.html:89 +msgid "Participants" +msgstr "" + +#: .\apps\course\templates\course\add_student_form.html:25 +msgid "Submit form" +msgstr "" + +#: .\apps\dobodbi_calendar\admin.py:38 +msgid "Dates" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:12 +msgid "georgian" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:13 +msgid "lunar" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:16 +msgid "National" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:17 +msgid "International" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:18 +msgid "Religious" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:22 +msgid "is global" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:23 +msgid "check this field if event is global" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:30 +msgid "Choose between georgian or lunar. default to georgian" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:31 +msgid "occasion type" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:33 +msgid "dates" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:35 +msgid "is yearly" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:36 +msgid "check this field if event is annually" +msgstr "" + +#: .\apps\dobodbi_calendar\models.py:40 +msgid "event type" +msgstr "" + +#: .\apps\hadis\admin\hadis.py:680 +msgid "Status & Classification" +msgstr "" + +#: .\apps\hadis\admin\hadis.py:780 .\apps\podcast\admin.py:219 +#: .\apps\video\admin.py:231 +msgid "Collection" +msgstr "" + +#: .\apps\hadis\admin\reference.py:457 .\apps\hadis\admin\reference.py:500 +msgid "Basic Info" +msgstr "" + +#: .\apps\hadis\admin\reference.py:460 +msgid "Publication Info" +msgstr "" + +#: .\apps\hadis\admin\reference.py:463 +msgid "Rating & Stats" +msgstr "" + +#: .\apps\hadis\admin\reference.py:474 .\apps\hadis\models\reference.py:74 +msgid "Publisher" +msgstr "" + +#: .\apps\hadis\admin\reference.py:503 +msgid "Dates (Hijri)" +msgstr "" + +#: .\apps\hadis\admin\reference.py:506 +msgid "Dates (Miladi)" +msgstr "" + +#: .\apps\hadis\admin\reference.py:509 +msgid "References" +msgstr "" + +#: .\apps\hadis\admin\reference.py:518 .\apps\hadis\admin\transmitter.py:550 +#: .\apps\hadis\models\reference.py:282 .\apps\hadis\models\transmitter.py:19 +#: .\templates\admin\filer\folder\directory_table.html:13 +#: .\utils\keyval_field.py:118 +msgid "Name" +msgstr "" + +#: .\apps\hadis\admin\reference.py:563 .\apps\hadis\models\reference.py:328 +msgid "Value" +msgstr "" + +#: .\apps\hadis\admin\reference.py:567 .\apps\hadis\models\reference.py:98 +msgid "Book Reference" +msgstr "" + +#: .\apps\hadis\admin\transmitter.py:502 .\apps\hadis\models\transmitter.py:300 +msgid "Transmitter" +msgstr "" + +#: .\apps\hadis\admin\transmitter.py:640 .\apps\hadis\models\transmitter.py:590 +msgid "Scholar Name" +msgstr "" + +#: .\apps\hadis\models\category.py:11 .\apps\hadis\models\transmitter.py:223 +#: .\apps\hadis\templates\admin\category_index.html:25 +msgid "Shia" +msgstr "" + +#: .\apps\hadis\models\category.py:12 .\apps\hadis\models\transmitter.py:224 +#: .\apps\hadis\templates\admin\category_index.html:31 +msgid "Sunni" +msgstr "" + +#: .\apps\hadis\models\category.py:14 +msgid "Sect Name" +msgstr "" + +#: .\apps\hadis\models\category.py:61 +msgid "Hadis Sect" +msgstr "" + +#: .\apps\hadis\models\category.py:62 .\config\settings\base.py:834 +msgid "Hadis Sects" +msgstr "" + +#: .\apps\hadis\models\category.py:68 +#: .\apps\hadis\templates\admin\category_index.html:158 +msgid "Quran" +msgstr "" + +#: .\apps\hadis\models\category.py:69 +#: .\apps\hadis\templates\admin\category_index.html:161 +msgid "Hadith" +msgstr "" + +#: .\apps\hadis\models\category.py:70 +msgid "History" +msgstr "" + +#: .\apps\hadis\models\category.py:71 +msgid "Fatwa" +msgstr "" + +#: .\apps\hadis\models\category.py:72 +msgid "Quote" +msgstr "" + +#: .\apps\hadis\models\category.py:75 +msgid "Sect" +msgstr "" + +#: .\apps\hadis\models\category.py:76 +msgid "Source Type" +msgstr "" + +#: .\apps\hadis\models\category.py:80 +msgid "xmind file" +msgstr "" + +#: .\apps\hadis\models\category.py:90 +msgid "Child category must have the same sect_type as its parent. " +msgstr "" + +#: .\apps\hadis\models\category.py:173 +msgid "Hadis Category" +msgstr "" + +#: .\apps\hadis\models\category.py:174 .\config\settings\base.py:840 +msgid "Hadis Categories" +msgstr "" + +#: .\apps\hadis\models\hadis.py:119 +msgid "hadis collection" +msgstr "" + +#: .\apps\hadis\models\hadis.py:120 +msgid "hadis collections" +msgstr "" + +#: .\apps\hadis\models\hadis.py:125 .\apps\hadis\models\hadis.py:403 +#: .\apps\hadis\models\hadis.py:413 .\apps\hadis\models\transmitter.py:429 +msgid "hadis" +msgstr "" + +#: .\apps\hadis\models\hadis.py:131 +msgid "hadis in collection" +msgstr "" + +#: .\apps\hadis\models\hadis.py:132 +msgid "hadis in collections" +msgstr "" + +#: .\apps\hadis\models\hadis.py:255 .\apps\hadis\models\hadis.py:275 +msgid "hadis status" +msgstr "" + +#: .\apps\hadis\models\hadis.py:256 +msgid "hadis statuses" +msgstr "" + +#: .\apps\hadis\models\hadis.py:263 +msgid "category" +msgstr "" + +#: .\apps\hadis\models\hadis.py:264 +msgid "number" +msgstr "" + +#: .\apps\hadis\models\hadis.py:267 +msgid "Title Narrator" +msgstr "" + +#: .\apps\hadis\models\hadis.py:271 +msgid "text" +msgstr "" + +#: .\apps\hadis\models\hadis.py:272 .\apps\hadis\models\hadis.py:498 +#: .\apps\hadis\models\transmitter.py:661 +msgid "translation" +msgstr "" + +#: .\apps\hadis\models\hadis.py:273 +msgid "visibility" +msgstr "" + +#: .\apps\hadis\models\hadis.py:276 +msgid "Status text" +msgstr "" + +#: .\apps\hadis\models\hadis.py:277 +msgid "Address" +msgstr "" + +#: .\apps\hadis\models\hadis.py:278 +msgid "links" +msgstr "" + +#: .\apps\hadis\models\hadis.py:279 +msgid "tags" +msgstr "" + +#: .\apps\hadis\models\hadis.py:281 .\apps\hadis\models\hadis.py:501 +#: .\apps\hadis\models\transmitter.py:662 +msgid "share link" +msgstr "" + +#: .\apps\hadis\models\hadis.py:282 +msgid "Explanation" +msgstr "" + +#: .\apps\hadis\models\hadis.py:404 +msgid "hadises" +msgstr "" + +#: .\apps\hadis\models\hadis.py:421 .\apps\hadis\models\reference.py:219 +#: .\apps\hadis\models\reference.py:261 +msgid "book reference" +msgstr "" + +#: .\apps\hadis\models\hadis.py:427 +msgid "Hadith Number in Book" +msgstr "" + +#: .\apps\hadis\models\hadis.py:438 +msgid "Hadis Reference" +msgstr "" + +#: .\apps\hadis\models\hadis.py:439 .\config\settings\base.py:852 +msgid "Hadis References" +msgstr "" + +#: .\apps\hadis\models\hadis.py:464 .\apps\podcast\models.py:132 +#: .\apps\video\models.py:148 +msgid "thumbnail" +msgstr "" + +#: .\apps\hadis\models\hadis.py:468 +msgid "Priority of the image, lower values mean higher priority." +msgstr "" + +#: .\apps\hadis\models\hadis.py:477 +msgid "Reference Image" +msgstr "" + +#: .\apps\hadis\models\hadis.py:478 +msgid "Reference Images" +msgstr "" + +#: .\apps\hadis\models\hadis.py:493 +msgid "hadis correction" +msgstr "" + +#: .\apps\hadis\models\hadis.py:497 .\apps\hadis\models\hadis.py:573 +msgid "Original Text" +msgstr "" + +#: .\apps\hadis\models\hadis.py:505 +msgid "Hadis Correction" +msgstr "" + +#: .\apps\hadis\models\hadis.py:506 +msgid "Hadis Corrections" +msgstr "" + +#: .\apps\hadis\models\hadis.py:580 +msgid "Hadis Interpretation" +msgstr "" + +#: .\apps\hadis\models\hadis.py:581 +msgid "Hadis Interpretations" +msgstr "" + +#: .\apps\hadis\models\reference.py:64 +msgid "Source URL" +msgstr "" + +#: .\apps\hadis\models\reference.py:68 +msgid "ISBN" +msgstr "" + +#: .\apps\hadis\models\reference.py:69 +msgid "volume" +msgstr "" + +#: .\apps\hadis\models\reference.py:70 +msgid "Total Number of Volumes" +msgstr "" + +#: .\apps\hadis\models\reference.py:71 +msgid "year of publication" +msgstr "" + +#: .\apps\hadis\models\reference.py:72 +msgid "number of pages" +msgstr "" + +#: .\apps\hadis\models\reference.py:75 +msgid "subject area" +msgstr "" + +#: .\apps\hadis\models\reference.py:76 +msgid "type" +msgstr "" + +#: .\apps\hadis\models\reference.py:78 +msgid "Researcher" +msgstr "" + +#: .\apps\hadis\models\reference.py:79 +msgid "City of Publication" +msgstr "" + +#: .\apps\hadis\models\reference.py:80 +msgid "Country of Publication" +msgstr "" + +#: .\apps\hadis\models\reference.py:81 +msgid "Edition Number" +msgstr "" + +#: .\apps\hadis\models\reference.py:85 +msgid "rate" +msgstr "" + +#: .\apps\hadis\models\reference.py:88 +msgid "Rating from 0 to 5" +msgstr "" + +#: .\apps\hadis\models\reference.py:99 +msgid "Book References" +msgstr "" + +#: .\apps\hadis\models\reference.py:221 +msgid "image" +msgstr "" + +#: .\apps\hadis\models\reference.py:222 .\apps\hadis\models\reference.py:264 +msgid "Volume" +msgstr "" + +#: .\apps\hadis\models\reference.py:229 +msgid "Book Reference Image" +msgstr "" + +#: .\apps\hadis\models\reference.py:230 +msgid "Book Reference Images" +msgstr "" + +#: .\apps\hadis\models\reference.py:263 +msgid "Document File" +msgstr "" + +#: .\apps\hadis\models\reference.py:265 +msgid "e.g., Volume 1, 01.pdf" +msgstr "" + +#: .\apps\hadis\models\reference.py:270 +msgid "Book Reference Document" +msgstr "" + +#: .\apps\hadis\models\reference.py:271 +msgid "Book Reference Documents" +msgstr "" + +#: .\apps\hadis\models\reference.py:283 .\apps\hadis\models\transmitter.py:257 +msgid "Birth Year (Hijri)" +msgstr "" + +#: .\apps\hadis\models\reference.py:284 .\apps\hadis\models\transmitter.py:258 +msgid "Death Year (Hijri)" +msgstr "" + +#: .\apps\hadis\models\reference.py:285 +msgid "Birth Year (Miladi)" +msgstr "" + +#: .\apps\hadis\models\reference.py:286 +msgid "Death Year (Miladi)" +msgstr "" + +#: .\apps\hadis\models\reference.py:290 +msgid "book references" +msgstr "" + +#: .\apps\hadis\models\reference.py:298 +msgid "Book Author" +msgstr "" + +#: .\apps\hadis\models\reference.py:299 +msgid "Book Authors" +msgstr "" + +#: .\apps\hadis\models\reference.py:333 +msgid "book attribute" +msgstr "" + +#: .\apps\hadis\models\reference.py:341 +msgid "Book Attribute" +msgstr "" + +#: .\apps\hadis\models\reference.py:342 +msgid "Book Attributes" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:20 +msgid "layer number" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:28 +msgid "Narrator Layer" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:29 +msgid "Narrator Layers" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:34 +msgid "Layer" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:208 +msgid "Transmitter Reliability" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:209 +msgid "Transmitter Reliabilities" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:229 +msgid "Other" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:234 +msgid "Kunya" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:235 +msgid "Known as" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:236 +msgid "Nick Name" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:240 +msgid "Raw Relatives Data" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:241 +msgid "Father" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:242 +msgid "Mother" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:244 +msgid "Siblings" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:246 +msgid "Freed Slave Of" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:247 +msgid "Occupation" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:248 +msgid "Features" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:249 +msgid "Tags" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:252 +msgid "Origin" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:253 +msgid "Lived in" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:254 +msgid "Died in" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:259 +msgid "Age at Death" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:260 +msgid "Generation" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:265 +msgid "reliability" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:273 +msgid "Madhhab/School of Thought" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:279 +msgid "In Sahih Muslim" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:280 +msgid "Is this narrator present in Sahih Muslim?" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:284 +msgid "In Sahih Bukhari" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:285 +msgid "Is this narrator present in Sahih Bukhari?" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:301 .\config\settings\base.py:870 +msgid "Transmitters" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:435 +#: .\apps\hadis\models\transmitter.py:587 +#: .\apps\hadis\models\transmitter.py:655 +msgid "transmitter" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:441 +msgid "Chain Index" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:442 +msgid "Which chain/branch this belongs to (0, 1, 2...)" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:448 +msgid "narrator layer" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:452 +msgid "The layer/class (Tabaqah) this narrator belongs to" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:457 +msgid "reliability status" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:461 +msgid "Reliability status of the narrator" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:466 +msgid "Order in the chain of transmission" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:468 +msgid "is gap" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:477 +msgid "Hadis Transmitter" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:478 .\config\settings\base.py:876 +msgid "Hadis Transmitters" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:571 +msgid "Opinion Status" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:572 +msgid "Opinion Statuses" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:591 +msgid "Opinion Text" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:595 +msgid "opinion status" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:609 +msgid "Transmitter Opinion" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:610 +msgid "Transmitter Opinions" +msgstr "" + +#: .\apps\hadis\models\transmitter.py:670 +#: .\apps\hadis\models\transmitter.py:671 +msgid "Transmitter Original Text" +msgstr "" + +#: .\apps\hadis\models\version.py:5 +msgid "Version Name" +msgstr "" + +#: .\apps\hadis\models\version.py:6 +msgid "Published Date" +msgstr "" + +#: .\apps\hadis\models\version.py:7 +msgid "Release Description" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:11 +msgid "Category Tree Editor" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:15 +msgid "" +"Make your category and sort it by drag and drop . and try to edit items by " +"double click." +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:62 +msgid "Parent: " +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:70 +msgid "Category Level:" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:77 +msgid "L1" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:83 +msgid "L2" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:89 +msgid "L3" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:99 +msgid "Level 1 categories represent source types: Shia or Sunni" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:106 +msgid "" +"Level 2 categories are children of Shia/Sunni with content type: Quran or " +"Hadith" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:113 +msgid "Level 3 categories are children of Quran or Hadith categories" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:127 +msgid "Parent Category:" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:130 +msgid "-- Select Parent Category --" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:134 +msgid "Select a parent category or leave empty for top-level category" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:916 +msgid "Search for a category..." +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:925 +msgid "No categories found" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:928 +msgid "Searching..." +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:931 +#: .\utils\unfold_translations.py:66 +msgid "Type to search..." +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:1021 +#: .\apps\hadis\templates\admin\category_index.html:1190 +msgid "Level 1 Categories" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:1028 +#: .\apps\hadis\templates\admin\category_index.html:1197 +msgid "Level 2 Categories" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:1035 +#: .\apps\hadis\templates\admin\category_index.html:1204 +msgid "Level 3 Categories" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:1344 +msgid "Level 1 must have a source type" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:1347 +msgid "Level 2 must have a category type" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:1423 +#: .\apps\hadis\templates\admin\category_index.html:1498 +#: .\apps\hadis\templates\admin\category_index.html:1719 +#: .\apps\hadis\templates\admin\category_index.html:2119 +msgid "Add Child Category" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:1992 +msgid "No Items Found" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:2206 +#: .\apps\hadis\templates\admin\category_index.html:2214 +msgid "No Quran categories" +msgstr "" + +#: .\apps\hadis\templates\admin\category_index.html:2210 +#: .\apps\hadis\templates\admin\category_index.html:2215 +msgid "No Hadith categories" +msgstr "" + +#: .\apps\hadis\templates\admin\hadiscategory\change_form.html:28 +msgid "Add Category" +msgstr "" + +#: .\apps\hadis\templates\admin\hadisowerview_change_form.html:8 +msgid "Save And Edit Next Hadis" +msgstr "" + +#: .\apps\hadis\templates\admin\hadisowerview_change_form.html:12 +msgid "Save And Edit Previus Hadis" +msgstr "" + +#: .\apps\hadis\templates\admin\hadisowerview_change_form.html:16 +msgid "Save And Edit Random" +msgstr "" + +#: .\apps\library\admin.py:44 .\apps\library\models.py:93 +#: .\apps\podcast\admin.py:238 .\apps\video\admin.py:250 +#: .\config\settings\base.py:626 .\config\settings\base.py:700 +#: .\config\settings\base.py:726 .\config\settings\base.py:758 +#: .\config\settings\base.py:796 +msgid "Categories" +msgstr "" + +#: .\apps\library\admin.py:51 .\apps\podcast\admin.py:220 +#: .\apps\video\admin.py:232 .\config\settings\base.py:392 +#: .\config\settings\base.py:410 .\config\settings\base.py:706 +#: .\config\settings\base.py:732 +msgid "Collections" +msgstr "" + +#: .\apps\library\admin.py:71 +msgid "File Information" +msgstr "" + +#: .\apps\library\admin.py:98 .\apps\library\admin.py:143 +#: .\apps\library\models.py:31 .\apps\library\models.py:164 +#: .\config\settings\base.py:694 +msgid "Books" +msgstr "" + +#: .\apps\library\admin.py:121 .\apps\library\admin.py:219 +msgid "Number of Books" +msgstr "" + +#: .\apps\library\admin.py:227 +msgid "Mark selected categories as active" +msgstr "" + +#: .\apps\library\admin.py:230 +#, python-format +msgid "%(count)d categories were successfully marked as active." +msgstr "" + +#: .\apps\library\admin.py:232 +msgid "Mark selected categories as inactive" +msgstr "" + +#: .\apps\library\admin.py:235 +#, python-format +msgid "%(count)d categories were successfully marked as inactive." +msgstr "" + +#: .\apps\library\admin.py:237 +msgid "Toggle status" +msgstr "" + +#: .\apps\library\admin.py:241 +msgid "active" +msgstr "" + +#: .\apps\library\admin.py:241 +msgid "inactive" +msgstr "" + +#: .\apps\library\admin.py:242 +#, python-format +msgid "Category '%(title)s' is now %(status)s." +msgstr "" + +#: .\apps\library\apps.py:8 +msgid "Library" +msgstr "" + +#: .\apps\library\models.py:37 +msgid "Book Collection" +msgstr "" + +#: .\apps\library\models.py:38 +msgid "Book Collections" +msgstr "" + +#: .\apps\library\models.py:53 +msgid "Pinned Book Collection" +msgstr "" + +#: .\apps\library\models.py:54 +msgid "Pinned Book Collections" +msgstr "" + +#: .\apps\library\models.py:63 +msgid "Middle Section Book Collection" +msgstr "" + +#: .\apps\library\models.py:64 +msgid "Middle Section Book Collections" +msgstr "" + +#: .\apps\library\models.py:106 +msgid "Summary Title" +msgstr "" + +#: .\apps\library\models.py:120 +msgid "Main Themes" +msgstr "" + +#: .\apps\library\models.py:120 +msgid "List of main themes" +msgstr "" + +#: .\apps\library\models.py:121 +msgid "Notable Works" +msgstr "" + +#: .\apps\library\models.py:121 +msgid "List of notable works" +msgstr "" + +#: .\apps\library\models.py:123 +msgid "Number of Pages" +msgstr "" + +#: .\apps\library\models.py:123 +msgid "eg. 34" +msgstr "" + +#: .\apps\library\models.py:125 +msgid "Pin to top" +msgstr "" + +#: .\apps\library\models.py:135 +msgid "File Type" +msgstr "" + +#: .\apps\library\models.py:163 +msgid "Book" +msgstr "" + +#: .\apps\library\models.py:172 +msgid "book" +msgstr "" + +#: .\apps\library\models.py:178 +msgid "Book Download" +msgstr "" + +#: .\apps\library\models.py:179 +msgid "Book Downloads" +msgstr "" + +#: .\apps\podcast\admin.py:25 .\apps\video\admin.py:26 +msgid "Playlist" +msgstr "" + +#: .\apps\podcast\admin.py:26 .\apps\video\admin.py:27 +#: .\config\settings\base.py:738 .\config\settings\base.py:814 +msgid "Playlists" +msgstr "" + +#: .\apps\podcast\admin.py:60 .\apps\podcast\admin.py:129 +#: .\apps\video\admin.py:53 +msgid "Number of Playlists" +msgstr "" + +#: .\apps\podcast\admin.py:126 +msgid "Search by title or slug" +msgstr "" + +#: .\apps\podcast\admin.py:127 +msgid "Search categories" +msgstr "" + +#: .\apps\podcast\admin.py:150 .\apps\video\admin.py:159 +msgid "Search by title, slug, or description" +msgstr "" + +#: .\apps\podcast\admin.py:151 +msgid "Search podcasts" +msgstr "" + +#: .\apps\podcast\admin.py:157 +msgid "Audio Information" +msgstr "" + +#: .\apps\podcast\admin.py:197 +#, python-brace-format +msgid "" +"This podcast is already used in playlist \"{}\". Each podcast can only be in " +"one playlist." +msgstr "" + +#: .\apps\podcast\admin.py:209 .\apps\podcast\models.py:237 +#: .\apps\video\admin.py:221 .\apps\video\models.py:253 +msgid "Playlist Item" +msgstr "" + +#: .\apps\podcast\admin.py:210 .\apps\podcast\models.py:238 +#: .\apps\video\admin.py:222 .\apps\video\models.py:254 +msgid "Playlist Items" +msgstr "" + +#: .\apps\podcast\admin.py:241 .\apps\video\admin.py:253 +msgid "Display Settings" +msgstr "" + +#: .\apps\podcast\admin.py:257 +msgid "Will be auto-calculated from podcasts" +msgstr "" + +#: .\apps\podcast\admin.py:261 +msgid "Number of Podcasts" +msgstr "" + +#: .\apps\podcast\admin.py:295 +msgid "A podcast cannot be used multiple times in the same playlist." +msgstr "" + +#: .\apps\podcast\admin.py:318 +#, python-brace-format +msgid "" +"Podcast \"{}\" is already used in playlist \"{}\". Each podcast can only be " +"in one playlist." +msgstr "" + +#: .\apps\podcast\models.py:26 +msgid "Podcast Category" +msgstr "" + +#: .\apps\podcast\models.py:27 +msgid "Podcast Categories" +msgstr "" + +#: .\apps\podcast\models.py:62 +msgid "Podcast Collection" +msgstr "" + +#: .\apps\podcast\models.py:63 +msgid "Podcasts Collections" +msgstr "" + +#: .\apps\podcast\models.py:94 +msgid "download_count view count" +msgstr "" + +#: .\apps\podcast\models.py:123 +msgid "Podcast" +msgstr "" + +#: .\apps\podcast\models.py:124 .\config\settings\base.py:784 +#: .\config\settings\base.py:790 +msgid "Podcasts" +msgstr "" + +#: .\apps\podcast\models.py:130 .\apps\video\models.py:146 +msgid "slogan" +msgstr "" + +#: .\apps\podcast\models.py:131 .\apps\video\models.py:147 +msgid "description" +msgstr "" + +#: .\apps\podcast\models.py:151 .\apps\video\models.py:167 +msgid "total time" +msgstr "" + +#: .\apps\podcast\models.py:182 +msgid "Podcast Playlist" +msgstr "" + +#: .\apps\podcast\models.py:183 +msgid "Podcast Playlists" +msgstr "" + +#: .\apps\podcast\models.py:198 .\apps\podcast\models.py:220 +#: .\apps\video\models.py:214 .\apps\video\models.py:236 +msgid "playlist" +msgstr "" + +#: .\apps\podcast\models.py:209 +msgid "Podcast Playlist in Collection" +msgstr "" + +#: .\apps\podcast\models.py:210 +msgid "Podcast Playlists in Collections" +msgstr "" + +#: .\apps\podcast\models.py:226 .\apps\podcast\models.py:261 +msgid "podcast" +msgstr "" + +#: .\apps\podcast\models.py:268 +msgid "User Playlist" +msgstr "" + +#: .\apps\podcast\models.py:269 .\config\settings\base.py:820 +msgid "User Playlists" +msgstr "" + +#: .\apps\quiz\admin\participant.py:61 .\apps\quiz\models\quiz.py:49 +#: .\utils\unfold_translations.py:24 +msgid "Correct Answer" +msgstr "" + +#: .\apps\quiz\admin\participant.py:77 +msgid "User Email" +msgstr "" + +#: .\apps\quiz\admin\quiz.py:82 .\apps\quiz\admin\quiz.py:85 +#: .\apps\quiz\models\quiz.py:56 +msgid "Questions" +msgstr "" + +#: .\apps\quiz\admin\quiz.py:89 +msgid "Manage All Participants" +msgstr "" + +#: .\apps\quiz\admin\quiz.py:96 +msgid "Quiz not found" +msgstr "" + +#: .\apps\quiz\admin\quiz.py:107 +msgid "View Course" +msgstr "" + +#: .\apps\quiz\admin\quiz.py:119 +msgid "Course not found for this quiz." +msgstr "" + +#: .\apps\quiz\models\participant.py:14 +msgid "Total Timing" +msgstr "" + +#: .\apps\quiz\models\participant.py:14 +msgid "Seconds take to finish the quiz" +msgstr "" + +#: .\apps\quiz\models\participant.py:16 +msgid "Question Score" +msgstr "" + +#: .\apps\quiz\models\participant.py:17 +msgid "Timing Score" +msgstr "" + +#: .\apps\quiz\models\participant.py:18 +msgid "Total Score" +msgstr "" + +#: .\apps\quiz\models\participant.py:44 .\apps\quiz\models\quiz.py:37 +#: .\apps\quiz\models\quiz.py:45 +msgid "Option 1" +msgstr "" + +#: .\apps\quiz\models\participant.py:45 .\apps\quiz\models\quiz.py:38 +#: .\apps\quiz\models\quiz.py:46 +msgid "Option 2" +msgstr "" + +#: .\apps\quiz\models\participant.py:46 .\apps\quiz\models\quiz.py:39 +#: .\apps\quiz\models\quiz.py:47 +msgid "Option 3" +msgstr "" + +#: .\apps\quiz\models\participant.py:47 .\apps\quiz\models\quiz.py:40 +#: .\apps\quiz\models\quiz.py:48 +msgid "Option 4" +msgstr "" + +#: .\apps\quiz\models\participant.py:51 .\apps\quiz\models\quiz.py:44 +#: .\apps\quiz\models\quiz.py:55 +msgid "Question" +msgstr "" + +#: .\apps\quiz\models\participant.py:52 +msgid "Selected Option" +msgstr "" + +#: .\apps\quiz\models\participant.py:53 +msgid "At Time" +msgstr "" + +#: .\apps\quiz\models\participant.py:54 +msgid "Seconds Take to Answer" +msgstr "" + +#: .\apps\quiz\models\participant.py:58 +msgid "User Quiz Answer" +msgstr "" + +#: .\apps\quiz\models\participant.py:59 +msgid "User Quiz Answers" +msgstr "" + +#: .\apps\quiz\models\quiz.py:11 +msgid "Quiz Title" +msgstr "" + +#: .\apps\quiz\models\quiz.py:13 +msgid "Each Question Timing" +msgstr "" + +#: .\apps\quiz\models\quiz.py:69 +msgid "Rank Quiz" +msgstr "" + +#: .\apps\quiz\models\quiz.py:70 +msgid "Rank Quizzes" +msgstr "" + +#: .\apps\transaction\admin.py:32 +msgid "Payment Receipt" +msgstr "" + +#: .\apps\transaction\admin.py:33 +msgid "Payment Receipts" +msgstr "" + +#: .\apps\transaction\admin.py:57 +msgid "Payment Status" +msgstr "" + +#: .\apps\transaction\admin.py:60 +msgid "Paid" +msgstr "" + +#: .\apps\transaction\admin.py:62 .\apps\transaction\models.py:23 +#: .\templates\admin\index.html:156 .\utils\unfold_translations.py:56 +msgid "Failed" +msgstr "" + +#: .\apps\transaction\admin.py:64 +msgid "Waiting Approval" +msgstr "" + +#: .\apps\transaction\admin.py:65 .\apps\transaction\models.py:20 +#: .\templates\admin\index.html:146 .\utils\unfold_translations.py:54 +msgid "Pending" +msgstr "" + +#: .\apps\transaction\admin.py:67 +msgid "Receipts Count" +msgstr "" + +#: .\apps\transaction\admin.py:72 +msgid "receipts" +msgstr "" + +#: .\apps\transaction\admin.py:73 +msgid "No receipts" +msgstr "" + +#: .\apps\transaction\admin.py:79 +msgid "Course Participant Status" +msgstr "" + +#: .\apps\transaction\admin.py:88 +msgid "Enrolled" +msgstr "" + +#: .\apps\transaction\admin.py:90 +msgid "Not Enrolled" +msgstr "" + +#: .\apps\transaction\admin.py:92 +msgid "Not Applicable" +msgstr "" + +#: .\apps\transaction\admin.py:116 +#, python-brace-format +msgid "" +"Transaction status updated to SUCCESS. User {user_email} is now enrolled in " +"course '{course_title}'." +msgstr "" + +#: .\apps\transaction\admin.py:124 +#, python-brace-format +msgid "" +"Transaction status updated to SUCCESS, but there was an issue enrolling user " +"{user_email} in course '{course_title}'. Please check the logs." +msgstr "" + +#: .\apps\transaction\models.py:21 +msgid "Waiting for Approval" +msgstr "" + +#: .\apps\transaction\models.py:22 .\templates\admin\index.html:133 +#: .\templates\admin\index.html:141 .\utils\unfold_translations.py:53 +msgid "Success" +msgstr "" + +#: .\apps\transaction\models.py:26 +msgid "Receipt" +msgstr "" + +#: .\apps\transaction\models.py:28 +msgid "Payment Gateway" +msgstr "" + +#: .\apps\transaction\models.py:32 +msgid "Transaction Payment Method" +msgstr "" + +#: .\apps\transaction\models.py:34 +msgid "Transaction Price" +msgstr "" + +#: .\apps\transaction\models.py:35 .\templates\admin\index.html:103 +msgid "Transaction Status" +msgstr "" + +#: .\apps\transaction\models.py:37 +msgid "Updated at" +msgstr "" + +#: .\apps\transaction\models.py:38 +msgid "Is Deleted" +msgstr "" + +#: .\apps\transaction\models.py:60 .\apps\transaction\models.py:73 +msgid "Transaction Participant" +msgstr "" + +#: .\apps\transaction\models.py:61 +msgid "Transaction Participants" +msgstr "" + +#: .\apps\transaction\models.py:77 +msgid "phone" +msgstr "" + +#: .\apps\transaction\models.py:87 +msgid "Participant Info" +msgstr "" + +#: .\apps\transaction\models.py:88 +msgid "Participant Infos" +msgstr "" + +#: .\apps\transaction\models.py:99 +msgid "Transaction" +msgstr "" + +#: .\apps\transaction\models.py:103 +msgid "Receipt File" +msgstr "" + +#: .\apps\transaction\models.py:104 +msgid "Upload payment receipt image or document" +msgstr "" + +#: .\apps\transaction\models.py:106 +msgid "Uploaded At" +msgstr "" + +#: .\apps\transaction\models.py:111 +msgid "Optional description or notes about the receipt" +msgstr "" + +#: .\apps\transaction\models.py:115 +msgid "Transaction Receipt" +msgstr "" + +#: .\apps\transaction\models.py:116 +msgid "Transaction Receipts" +msgstr "" + +#: .\apps\video\admin.py:126 .\apps\video\admin.py:272 +msgid "Number of Videos" +msgstr "" + +#: .\apps\video\admin.py:160 +msgid "Search videos" +msgstr "" + +#: .\apps\video\admin.py:166 +msgid "Video Information" +msgstr "" + +#: .\apps\video\admin.py:209 +#, python-brace-format +msgid "" +"This video is already used in playlist \"{}\". Each video can only be in one " +"playlist." +msgstr "" + +#: .\apps\video\admin.py:269 +msgid "Will be auto-calculated from videos" +msgstr "" + +#: .\apps\video\admin.py:306 +msgid "A video cannot be used multiple times in the same playlist." +msgstr "" + +#: .\apps\video\admin.py:329 +#, python-brace-format +msgid "" +"Video \"{}\" is already used in playlist \"{}\". Each video can only be in " +"one playlist." +msgstr "" + +#: .\apps\video\models.py:28 +msgid "Video Category" +msgstr "" + +#: .\apps\video\models.py:29 +msgid "Video Categories" +msgstr "" + +#: .\apps\video\models.py:65 +msgid "Video Collection" +msgstr "" + +#: .\apps\video\models.py:66 +msgid "Video Collections" +msgstr "" + +#: .\apps\video\models.py:71 +msgid "Pinned Video Collection" +msgstr "" + +#: .\apps\video\models.py:72 +msgid "Pinned Video Collections" +msgstr "" + +#: .\apps\video\models.py:78 +msgid "Middle Section Video Collection" +msgstr "" + +#: .\apps\video\models.py:79 +msgid "Middle Section Video Collections" +msgstr "" + +#: .\apps\video\models.py:129 +msgid "This field is required when video type is Link." +msgstr "" + +#: .\apps\video\models.py:133 +msgid "This field is required when video type is File." +msgstr "" + +#: .\apps\video\models.py:198 +msgid "Video Playlist" +msgstr "" + +#: .\apps\video\models.py:199 +msgid "Video Playlists" +msgstr "" + +#: .\apps\video\models.py:225 +msgid "Video Playlist in Collection" +msgstr "" + +#: .\apps\video\models.py:226 +msgid "Video Playlists in Collections" +msgstr "" + +#: .\apps\video\models.py:242 +msgid "video" +msgstr "" + +#: .\config\settings\base.py:210 +msgid "English" +msgstr "" + +#: .\config\settings\base.py:211 +msgid "Russia" +msgstr "" + +#: .\config\settings\base.py:398 .\config\settings\base.py:416 +msgid "Middle Collections" +msgstr "" + +#: .\config\settings\base.py:429 .\config\settings\base.py:550 +#: .\config\settings\base.py:764 .\config\settings\base.py:802 +msgid "Pinned Collections" +msgstr "" + +#: .\config\settings\base.py:435 .\config\settings\base.py:556 +#: .\config\settings\base.py:770 .\config\settings\base.py:808 +msgid "Regular Collections" +msgstr "" + +#: .\config\settings\base.py:455 +msgid "Guest Users" +msgstr "" + +#: .\config\settings\base.py:467 +msgid "Groups" +msgstr "" + +#: .\config\settings\base.py:526 .\config\settings\base.py:638 +msgid "Live Sessions" +msgstr "" + +#: .\config\settings\base.py:574 .\templates\admin\index.html:7 +#: .\utils\admin.py:510 +msgid "Dashboard" +msgstr "" + +#: .\config\settings\base.py:579 +msgid "Calender" +msgstr "" + +#: .\config\settings\base.py:599 .\utils\unfold_translations.py:40 +msgid "All Users" +msgstr "" + +#: .\config\settings\base.py:605 +msgid "Students" +msgstr "" + +#: .\config\settings\base.py:611 .\utils\admin.py:596 +msgid "Professors" +msgstr "" + +#: .\config\settings\base.py:644 +msgid "Certificates" +msgstr "" + +#: .\config\settings\base.py:660 +msgid "Transactions" +msgstr "" + +#: .\config\settings\base.py:666 .\templates\admin\chat\live_chat.html:50 +msgid "Chat Rooms" +msgstr "" + +#: .\config\settings\base.py:678 +msgid "Live Chat" +msgstr "چت زنده" + +#: .\config\settings\base.py:688 +msgid "Libraries" +msgstr "" + +#: .\config\settings\base.py:714 .\config\settings\base.py:720 +msgid "Videos" +msgstr "" + +#: .\config\settings\base.py:828 .\config\settings\base.py:846 +msgid "Hadis" +msgstr "" + +#: .\config\settings\base.py:858 +msgid "Hadis Tags" +msgstr "" + +#: .\config\settings\base.py:864 +msgid "Hadis Status" +msgstr "" + +#: .\config\settings\base.py:886 +msgid "System Settings" +msgstr "" + +#: .\config\settings\base.py:895 +msgid "Global Preferences" +msgstr "" + +#: .\templates\admin\auth\user\change_password.html:10 +msgid "Home" +msgstr "" + +#: .\templates\admin\auth\user\change_password.html:14 +#: .\templates\admin\auth\user\change_password.html:52 +msgid "Change password" +msgstr "" + +#: .\templates\admin\auth\user\change_password.html:25 +msgid "Please correct the error below." +msgstr "" + +#: .\templates\admin\auth\user\change_password.html:25 +msgid "Please correct the errors below." +msgstr "" + +#: .\templates\admin\auth\user\change_password.html:29 +#, python-format +msgid "Enter a new password for the user %(username)s." +msgstr "" + +#: .\templates\admin\base_site.html:3 .\templates\admin\chat\live_chat.html:7 +#: .\templates\admin\index.html:7 +msgid "Django site admin" +msgstr "" + +#: .\templates\admin\chat\live_chat.html:56 +msgid "New Chat" +msgstr "گفتگوی جدید" + +#: .\templates\admin\chat\live_chat.html:75 +msgid "Select Contact" +msgstr "انتخاب مخاطب" + +#: .\templates\admin\chat\live_chat.html:82 +msgid "Search users..." +msgstr "جستجوی کاربران..." + +#: .\templates\admin\chat\live_chat.html:121 .\utils\unfold_translations.py:99 +msgid "No Chat Selected" +msgstr "گفتگویی انتخاب نشده است" + +#: .\templates\admin\chat\live_chat.html:122 .\utils\unfold_translations.py:100 +msgid "Select a chat from the sidebar to start messaging" +msgstr "یک گفتگو را از سایدبار انتخاب کنید تا پیام‌رسانی شروع شود" + +#: .\templates\admin\chat\live_chat.html:131 +msgid "Type your message..." +msgstr "پیام خود را تایپ کنید..." + +#: .\templates\admin\chat\live_chat.html:151 .\utils\unfold_translations.py:101 +msgid "Failed to load users." +msgstr "خطا در بارگذاری کاربران." + +#: .\templates\admin\chat\live_chat.html:152 .\utils\unfold_translations.py:102 +msgid "No users found." +msgstr "" + +#: .\templates\admin\chat\live_chat.html:153 .\utils\unfold_translations.py:103 +msgid "No active chats found." +msgstr "" + +#: .\templates\admin\chat\live_chat.html:154 .\utils\unfold_translations.py:104 +msgid "Group Chat" +msgstr "گفتگوی گروهی" + +#: .\templates\admin\chat\live_chat.html:155 .\utils\unfold_translations.py:105 +msgid "Private Chat" +msgstr "گفتگوی خصوصی" + +#: .\templates\admin\chat\live_chat.html:156 .\utils\unfold_translations.py:106 +msgid "No messages yet. Start the conversation!" +msgstr "هنوز پیامی وجود ندارد. گفتگو را آغاز کنید!" + +#: .\templates\admin\filer\folder\directory_table.html:4 +#: .\templates\admin\filer\folder\directory_table.html:160 +msgid "Unsorted Uploads" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:14 +msgid "Owner" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:16 +msgid "Action" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:25 +#: .\templates\admin\filer\folder\directory_table.html:32 +#: .\templates\admin\filer\folder\directory_table.html:55 +#: .\templates\admin\filer\folder\directory_table.html:62 +#, python-format +msgid "Change '%(item_label)s' folder details" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:26 +#: .\templates\admin\filer\folder\directory_table.html:56 +#: .\templates\admin\filer\folder\directory_table.html:167 +msgid "Folder Icon" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:73 +#, python-format +msgid "%(counter)s folder" +msgid_plural "%(counter)s folders" +msgstr[0] "" +msgstr[1] "" + +#: .\templates\admin\filer\folder\directory_table.html:74 +#, python-format +msgid "%(counter)s file" +msgid_plural "%(counter)s files" +msgstr[0] "" +msgstr[1] "" + +#: .\templates\admin\filer\folder\directory_table.html:80 +msgid "Change folder details" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:81 +msgid "Remove folder" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:93 +#: .\templates\admin\filer\folder\directory_table.html:102 +#: .\templates\admin\filer\folder\directory_table.html:117 +msgid "Select this file" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:105 +#: .\templates\admin\filer\folder\directory_table.html:120 +#: .\templates\admin\filer\folder\directory_table.html:146 +#, python-format +msgid "Change '%(item_label)s' details" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:129 +msgid "disabled" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:129 +msgid "enabled" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:142 +#, python-format +msgid "Canonical url '%(item_label)s'" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:144 +#, python-format +msgid "Download '%(item_label)s'" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:147 +msgid "Remove file" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:154 +msgid "Drop files here or use the \"Upload Files\" button" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:164 +msgid "Drop your file to upload into:" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:174 +msgid "Upload" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:186 +msgid "cancel" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:190 +msgid "Upload success!" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:194 +msgid "Upload canceled!" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:201 +msgid "previous" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:206 +#, python-format +msgid "Page %(number)s of %(num_pages)s." +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:211 +msgid "next" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:221 +msgid "Click here to select the objects across all pages" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:221 +#, python-format +msgid "Select all %(total_count)s" +msgstr "" + +#: .\templates\admin\filer\folder\directory_table.html:223 +msgid "Clear selection" +msgstr "" + +#: .\templates\admin\index.html:19 +msgid "System Overview" +msgstr "" + +#: .\templates\admin\index.html:47 +msgid "No statistics available for this panel." +msgstr "" + +#: .\templates\admin\index.html:60 .\utils\unfold_translations.py:52 +msgid "Top 5 Popular Courses" +msgstr "" + +#: .\templates\admin\index.html:93 +msgid "No courses found." +msgstr "" + +#: .\templates\admin\index.html:151 .\utils\unfold_translations.py:55 +msgid "Waiting" +msgstr "" + +#: .\templates\admin\index.html:164 +msgid "No transactions recorded yet." +msgstr "" + +#: .\templates\course\course_analytics.html:9 +msgid "Course Analytics Dashboard" +msgstr "" + +#: .\templates\course\course_analytics.html:12 +msgid "Comprehensive analytics and insights for your course" +msgstr "" + +#: .\templates\course\course_analytics.html:20 +msgid "Export" +msgstr "" + +#: .\templates\course\course_analytics.html:26 +msgid "Refresh Data" +msgstr "" + +#: .\templates\course\course_analytics.html:46 +#: .\templates\course\course_stats.html:44 +msgid "Total Lessons" +msgstr "" + +#: .\templates\course\course_analytics.html:65 +#: .\templates\course\course_stats.html:64 +msgid "Total Quizzes" +msgstr "" + +#: .\templates\course\course_analytics.html:84 +#: .\templates\course\course_stats.html:83 +msgid "Active Participants" +msgstr "" + +#: .\templates\course\course_analytics.html:97 +msgid "Lesson Completion Distribution" +msgstr "" + +#: .\templates\course\course_analytics.html:100 +msgid "Percentage of course completion by participants" +msgstr "" + +#: .\templates\course\course_analytics.html:113 +msgid "Quiz Scores Distribution" +msgstr "" + +#: .\templates\course\course_analytics.html:116 +msgid "Distribution of scores across all quizzes" +msgstr "" + +#: .\templates\course\course_analytics.html:131 +msgid "Course Engagement Metrics" +msgstr "" + +#: .\templates\course\course_analytics.html:138 +msgid "Lesson Completion Rate" +msgstr "" + +#: .\templates\course\course_analytics.html:143 +msgid "Average percentage of lessons completed by participants" +msgstr "" + +#: .\templates\course\course_analytics.html:149 +msgid "Quiz Participation Rate" +msgstr "" + +#: .\templates\course\course_analytics.html:154 +msgid "Percentage of participants who attempted at least one quiz" +msgstr "" + +#: .\templates\course\course_analytics.html:160 +msgid "Average Quiz Score" +msgstr "" + +#: .\templates\course\course_analytics.html:165 +msgid "Average score across all quizzes" +msgstr "" + +#: .\templates\course\course_analytics.html:178 +msgid "Top Performing Students" +msgstr "" + +#: .\templates\course\course_analytics.html:189 +msgid "Completion" +msgstr "" + +#: .\templates\course\course_analytics.html:192 +msgid "Avg. Score" +msgstr "" + +#: .\templates\course\course_analytics.html:229 +msgid "Recent Activity" +msgstr "" + +#: .\templates\course\course_stats.html:10 +msgid "Course Overview" +msgstr "" + +#: .\templates\course\course_stats.html:13 +msgid "Key metrics and statistics for this course" +msgstr "" + +#: .\templates\course\course_stats.html:21 +msgid "View Detailed Analytics" +msgstr "" + +#: .\templates\course\course_stats.html:95 +msgid "Course Summary" +msgstr "" + +#: .\templates\course\course_stats.html:119 +msgid "hours" +msgstr "" + +#: .\templates\course\course_stats.html:130 +msgid "Level" +msgstr "" + +#: .\templates\docs.html:4 +msgid "Django site adminssss" +msgstr "" + +#: .\templates\utils\widgets\multilang_json_widget.html:34 +msgid "Click a language code to add or edit its title." +msgstr "" + +#: .\utils\__init__.py:78 +msgid "Development" +msgstr "" + +#: .\utils\__init__.py:80 +msgid "Production" +msgstr "" + +#: .\utils\admin.py:154 .\utils\admin.py:155 .\utils\admin.py:294 +#: .\utils\unfold_translations.py:93 +msgid "Imam Javad Admin" +msgstr "" + +#: .\utils\admin.py:156 .\utils\admin.py:269 .\utils\unfold_translations.py:39 +msgid "System Administration" +msgstr "" + +#: .\utils\admin.py:157 .\utils\unfold_translations.py:94 +msgid "Imam Javad School" +msgstr "" + +#: .\utils\admin.py:171 .\utils\admin.py:289 +msgid "Imam Javad Site" +msgstr "" + +#: .\utils\admin.py:176 .\utils\admin.py:284 +msgid "Dovoodi Site" +msgstr "" + +#: .\utils\admin.py:181 .\utils\admin.py:267 .\utils\admin.py:268 +#: .\utils\unfold_translations.py:95 +msgid "Dovoodi Admin" +msgstr "" + +#: .\utils\admin.py:270 .\utils\unfold_translations.py:96 +msgid "Dovodbi Application" +msgstr "" + +#: .\utils\admin.py:595 +msgid "Active Students" +msgstr "" + +#: .\utils\admin.py:597 .\utils\unfold_translations.py:49 +msgid "Active Courses" +msgstr "" + +#: .\utils\admin.py:598 +msgid "Total Blogs" +msgstr "" + +#: .\utils\admin.py:599 .\utils\unfold_translations.py:50 +msgid "30-Day Revenue" +msgstr "" + +#: .\utils\admin.py:599 .\utils\unfold_translations.py:97 +msgid "Updated Today" +msgstr "" + +#: .\utils\admin.py:600 +msgid "Pending Certificates" +msgstr "" + +#: .\utils\admin.py:600 .\utils\unfold_translations.py:98 +msgid "Requires Action" +msgstr "" + +#: .\utils\admin.py:620 +msgid "Hadith Database" +msgstr "" + +#: .\utils\admin.py:621 +msgid "Books & Articles" +msgstr "" + +#: .\utils\admin.py:622 +msgid "Multimedia" +msgstr "" + +#: .\utils\keyval_field.py:18 .\utils\keyval_field.py:96 +msgid "Detail" +msgstr "" + +#: .\utils\keyval_field.py:23 .\utils\keyval_field.py:44 +#: .\utils\keyval_field.py:81 .\utils\keyval_field.py:101 +#: .\utils\keyval_field.py:123 .\utils\keyval_field.py:144 +msgid "Language Code" +msgstr "" + +#: .\utils\keyval_field.py:57 +msgid "Tour Features" +msgstr "" + +#: .\utils\mixins.py:6 +msgid "Red" +msgstr "" + +#: .\utils\mixins.py:7 +msgid "Green" +msgstr "" + +#: .\utils\mixins.py:8 +msgid "Blue" +msgstr "" + +#: .\utils\mixins.py:9 +msgid "Yellow" +msgstr "" + +#: .\utils\mixins.py:10 +msgid "Orange" +msgstr "" + +#: .\utils\mixins.py:11 +msgid "Purple" +msgstr "" + +#: .\utils\mixins.py:12 +msgid "Gray" +msgstr "" + +#: .\utils\mixins.py:33 +msgid "color" +msgstr "" + +#: .\utils\schema.py:25 +msgid "Weekly Timing" +msgstr "" + +#: .\utils\schema.py:31 .\utils\unfold_translations.py:41 +msgid "Monday" +msgstr "" + +#: .\utils\schema.py:31 .\utils\unfold_translations.py:42 +msgid "Tuesday" +msgstr "" + +#: .\utils\schema.py:31 .\utils\unfold_translations.py:43 +msgid "Wednesday" +msgstr "" + +#: .\utils\schema.py:31 .\utils\unfold_translations.py:44 +msgid "Thursday" +msgstr "" + +#: .\utils\schema.py:31 .\utils\unfold_translations.py:45 +msgid "Friday" +msgstr "" + +#: .\utils\schema.py:31 .\utils\unfold_translations.py:46 +msgid "Saturday" +msgstr "" + +#: .\utils\schema.py:31 .\utils\unfold_translations.py:47 +msgid "Sunday" +msgstr "" + +#: .\utils\schema.py:33 +msgid "Day" +msgstr "" + +#: .\utils\schema.py:36 .\utils\unfold_translations.py:72 +msgid "Time" +msgstr "" + +#: .\utils\schema.py:66 +msgid "year" +msgstr "" + +#: .\utils\schema.py:67 +msgid "month" +msgstr "" + +#: .\utils\schema.py:68 +msgid "day" +msgstr "" + +#: .\utils\unfold_translations.py:6 +msgid "Search" +msgstr "" + +#: .\utils\unfold_translations.py:7 +msgid "Search apps and models" +msgstr "" + +#: .\utils\unfold_translations.py:8 +msgid "View site" +msgstr "" + +#: .\utils\unfold_translations.py:9 +msgid "Log out" +msgstr "" + +#: .\utils\unfold_translations.py:10 +msgid "general" +msgstr "" + +#: .\utils\unfold_translations.py:11 +msgid "manage all Participants" +msgstr "" + +#: .\utils\unfold_translations.py:12 +msgid "questions" +msgstr "" + +#: .\utils\unfold_translations.py:13 +msgid "question" +msgstr "" + +#: .\utils\unfold_translations.py:14 +msgid "option" +msgstr "" + +#: .\utils\unfold_translations.py:15 +msgid "correct answer" +msgstr "" + +#: .\utils\unfold_translations.py:16 +msgid "Total score" +msgstr "" + +#: .\utils\unfold_translations.py:17 +msgid "Timing score" +msgstr "" + +#: .\utils\unfold_translations.py:18 +msgid "Question score" +msgstr "" + +#: .\utils\unfold_translations.py:19 +msgid "Total timing" +msgstr "" + +#: .\utils\unfold_translations.py:20 +msgid "Ended at" +msgstr "" + +#: .\utils\unfold_translations.py:21 +msgid "Started at" +msgstr "" + +#: .\utils\unfold_translations.py:22 +msgid "Participant Answer" +msgstr "" + +#: .\utils\unfold_translations.py:23 +msgid "Selected option" +msgstr "" + +#: .\utils\unfold_translations.py:25 +msgid "Seconds take to answer" +msgstr "" + +#: .\utils\unfold_translations.py:26 +msgid "Recent Messages Latest" +msgstr "" + +#: .\utils\unfold_translations.py:27 +msgid "Room name" +msgstr "" + +#: .\utils\unfold_translations.py:48 +msgid "Active Course" +msgstr "" + +#: .\utils\unfold_translations.py:51 +msgid "Popular Courses" +msgstr "" + +#: .\utils\unfold_translations.py:57 +msgid "Success:" +msgstr "" + +#: .\utils\unfold_translations.py:58 +msgid "Pending:" +msgstr "" + +#: .\utils\unfold_translations.py:59 +msgid "Waiting:" +msgstr "" + +#: .\utils\unfold_translations.py:60 +msgid "Failed:" +msgstr "" + +#: .\utils\unfold_translations.py:61 +msgid "Choose file to upload" +msgstr "" + +#: .\utils\unfold_translations.py:62 +msgid "Date from" +msgstr "" + +#: .\utils\unfold_translations.py:63 +msgid "Date to" +msgstr "" + +#: .\utils\unfold_translations.py:64 .\utils\unfold_translations.py:90 +msgid "By Date Joined" +msgstr "" + +#: .\utils\unfold_translations.py:65 +msgid "Type to search" +msgstr "" + +#: .\utils\unfold_translations.py:67 +msgid "Apply filters" +msgstr "" + +#: .\utils\unfold_translations.py:68 +msgid "From" +msgstr "" + +#: .\utils\unfold_translations.py:69 +msgid "To" +msgstr "" + +#: .\utils\unfold_translations.py:70 +msgid "video link" +msgstr "" + +#: .\utils\unfold_translations.py:73 +msgid "Delete" +msgstr "" + +#: .\utils\unfold_translations.py:75 +msgid "Add Weekly Timing" +msgstr "" + +#: .\utils\unfold_translations.py:76 +msgid "Delete All" +msgstr "" + +#: .\utils\unfold_translations.py:77 +msgid "Add Course Features" +msgstr "" + +#: .\utils\unfold_translations.py:78 +msgid "Is Staff" +msgstr "" + +#: .\utils\unfold_translations.py:79 +msgid "Deleted at" +msgstr "" + +#: .\utils\unfold_translations.py:81 +msgid "Type of the user" +msgstr "" + +#: .\utils\unfold_translations.py:82 +#, python-brace-format +msgid "" +"Raw passwords are not stored, so there is no way to see this user’s " +"password, but you can change the password using this form." +msgstr "" + +#: .\utils\unfold_translations.py:87 +msgid "Users:" +msgstr "" + +#: .\utils\unfold_translations.py:88 +msgid "users :" +msgstr "" + +#: .\utils\unfold_translations.py:89 +msgid "By" +msgstr "" + +#: .\utils\unfold_translations.py:91 +msgid "( both fields are showing )" +msgstr "" + +#: .\utils\unfold_translations.py:92 +msgid "(both fields are showing)" +msgstr "" + +#: .\utils\unfold_translations.py:113 +msgid "Member" +msgstr "عضو" + +#: .\utils\unfold_translations.py:115 +msgid "Staff" +msgstr "" diff --git a/locale/ru/LC_MESSAGES/django.po b/locale/ru/LC_MESSAGES/django.po index 69068a2..fd772c8 100644 --- a/locale/ru/LC_MESSAGES/django.po +++ b/locale/ru/LC_MESSAGES/django.po @@ -3,13 +3,13 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#: .\config\settings\base.py:580 .\config\settings\base.py:599 -#: .\config\settings\base.py:665 .\utils\schema.py:64 +#: .\config\settings\base.py:570 .\config\settings\base.py:589 +#: .\config\settings\base.py:655 .\utils\schema.py:64 msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-05-04 12:19+0330\n" +"POT-Creation-Date: 2026-05-19 13:05+0330\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,7 +22,7 @@ msgstr "" "(n%100>=11 && n%100<=14)? 2 : 3);\n" #: .\apps\account\admin\location.py:21 .\apps\account\admin\location.py:22 -#: .\apps\account\models\user.py:326 .\apps\account\models\user.py:327 +#: .\apps\account\models\user.py:331 .\apps\account\models\user.py:332 msgid "Location History" msgstr "История местоположений" @@ -85,7 +85,7 @@ msgid "The user with email {email} has been converted to a professor." msgstr "Пользователь с email {email} был преобразован в профессора." #: .\apps\account\admin\professor.py:109 .\apps\account\admin\student.py:51 -#: .\apps\account\models\user.py:51 +#: .\apps\account\models\user.py:52 msgid "Phone Number" msgstr "Номер телефона" @@ -93,12 +93,14 @@ msgstr "Номер телефона" msgid "Enrolled Courses" msgstr "Записанные курсы" - #: .\apps\account\admin\student.py:59 -#, fuzzy, python-brace-format -#| msgid "courses" -msgid "{count} courses" -msgstr "{count} курсов" +#, python-brace-format +msgid "{count} course" +msgid_plural "{count} courses" +msgstr[0] "{count} курс" +msgstr[1] "{count} курса" +msgstr[2] "{count} курсов" +msgstr[3] "{count} курсов" #: .\apps\account\admin\user.py:47 msgid "A user with this email already exists." @@ -117,12 +119,12 @@ msgstr "Страна и город" msgid "Device Information" msgstr "Информация об устройстве" -#: .\apps\account\admin\user.py:111 .\config\settings\base.py:603 +#: .\apps\account\admin\user.py:111 .\config\settings\base.py:593 msgid "Authentication" msgstr "Аутентификация" #: .\apps\account\admin\user.py:159 .\apps\account\admin\user.py:196 -#: .\apps\account\models\user.py:58 +#: .\apps\account\models\user.py:59 msgid "Date Joined" msgstr "Дата регистрации" @@ -148,8 +150,8 @@ msgid "Course Status" msgstr "Статус курса" #: .\apps\account\admin\user.py:222 .\apps\account\admin\user.py:408 -#: .\apps\account\models\user.py:22 .\apps\course\admin\course.py:287 -#: .\apps\course\models\course.py:73 +#: .\apps\account\models\user.py:22 .\apps\course\admin\course.py:341 +#: .\apps\course\models\course.py:73 .\utils\unfold_translations.py:111 msgid "Professor" msgstr "Профессор" @@ -158,9 +160,10 @@ msgid "password" msgstr "пароль" #: .\apps\account\admin\user.py:257 .\apps\account\models\user.py:24 -#: .\apps\certificate\models.py:17 .\apps\course\admin\course.py:485 -#: .\apps\course\models\lesson.py:125 .\apps\course\models\participant.py:13 +#: .\apps\certificate\models.py:17 .\apps\course\admin\course.py:539 +#: .\apps\course\models\lesson.py:153 .\apps\course\models\participant.py:13 #: .\templates\course\course_analytics.html:186 +#: .\utils\unfold_translations.py:110 msgid "Student" msgstr "Студент" @@ -174,23 +177,26 @@ msgid "Born on {date}" msgstr "Дата рождения: {date}" #: .\apps\account\admin\user.py:283 .\apps\account\admin\user.py:424 -#: .\apps\course\admin\course.py:64 .\apps\course\models\course.py:157 -#: .\config\settings\base.py:480 .\config\settings\base.py:630 -#: .\config\settings\base.py:642 +#: .\apps\course\admin\course.py:67 .\apps\course\models\course.py:157 +#: .\config\settings\base.py:485 .\config\settings\base.py:620 +#: .\config\settings\base.py:632 msgid "Courses" msgstr "Курсы" #: .\apps\account\admin\user.py:307 .\apps\account\admin\user.py:447 -#, fuzzy, python-brace-format -#| msgid "Total Score" -msgid "{total} courses" -msgstr "Общий балл" +#, python-brace-format +msgid "{total} course" +msgid_plural "{total} courses" +msgstr[0] "{total} курс" +msgstr[1] "{total} курса" +msgstr[2] "{total} курсов" +msgstr[3] "{total} курсов" -#: .\apps\account\admin\user.py:321 .\apps\course\admin\course.py:35 +#: .\apps\account\admin\user.py:321 .\apps\course\admin\course.py:38 msgid "Course Categories" msgstr "Категории курсов" -#: .\apps\account\admin\user.py:333 .\apps\course\admin\course.py:51 +#: .\apps\account\admin\user.py:333 .\apps\course\admin\course.py:54 msgid "Edit" msgstr "Редактировать" @@ -203,10 +209,13 @@ msgid "Choose an existing user to upgrade to Professor." msgstr "Выберите существующего пользователя, чтобы назначить его профессором." #: .\apps\account\admin\user.py:471 -#, fuzzy, python-brace-format -#| msgid "permissions" -msgid "{count} permissions" -msgstr "права доступа" +#, python-brace-format +msgid "{count} permission" +msgid_plural "{count} permissions" +msgstr[0] "{count} разрешение" +msgstr[1] "{count} разрешения" +msgstr[2] "{count} разрешений" +msgstr[3] "{count} разрешений" #: .\apps\account\middleware\admin_access.py:107 msgid "You have limited access as a professor." @@ -228,14 +237,14 @@ msgstr "Профессора" msgid "Professor Users" msgstr "Профессора" -#: .\apps\account\models\groups.py:43 .\apps\account\models\user.py:289 +#: .\apps\account\models\groups.py:43 .\apps\account\models\user.py:294 #: .\apps\chat\models.py:166 .\apps\course\models\live_session.py:83 #: .\apps\quiz\models\participant.py:11 .\apps\transaction\models.py:30 msgid "User" msgstr "Пользователь" -#: .\apps\account\models\groups.py:44 .\apps\account\models\user.py:290 -#: .\config\settings\base.py:444 +#: .\apps\account\models\groups.py:44 .\apps\account\models\user.py:295 +#: .\config\settings\base.py:447 msgid "Users" msgstr "Пользователи" @@ -275,6 +284,16 @@ msgstr "Студенты" msgid "Student Users" msgstr "Студенты" +#: .\apps\account\models\groups.py:111 +msgid "Consultant User" +msgstr "Консультант" + +#: .\apps\account\models\groups.py:112 +#, fuzzy +#| msgid "Students" +msgid "Consultant Users" +msgstr "Студенты" + #: .\apps\account\models\notification.py:7 #, fuzzy #| msgid "Imam Javad Site" @@ -298,8 +317,8 @@ msgstr "название" msgid "message" msgstr "сообщение" -#: .\apps\account\models\notification.py:12 .\apps\account\models\user.py:298 -#: .\apps\account\models\user.py:315 .\apps\library\models.py:171 +#: .\apps\account\models\notification.py:12 .\apps\account\models\user.py:303 +#: .\apps\account\models\user.py:320 .\apps\library\models.py:171 #: .\apps\podcast\models.py:255 msgid "user" msgstr "пользователь" @@ -318,14 +337,14 @@ msgstr "сервис" #: .\apps\article\models.py:213 .\apps\article\models.py:239 #: .\apps\dobodbi_calendar\models.py:39 .\apps\hadis\models\hadis.py:20 #: .\apps\hadis\models\hadis.py:128 .\apps\hadis\models\hadis.py:143 -#: .\apps\hadis\models\hadis.py:285 .\apps\hadis\models\hadis.py:424 -#: .\apps\hadis\models\hadis.py:493 .\apps\hadis\models\reference.py:9 -#: .\apps\hadis\models\reference.py:35 .\apps\hadis\models\reference.py:83 -#: .\apps\hadis\models\reference.py:217 .\apps\hadis\models\reference.py:261 -#: .\apps\hadis\models\reference.py:304 .\apps\hadis\models\transmitter.py:24 -#: .\apps\hadis\models\transmitter.py:280 -#: .\apps\hadis\models\transmitter.py:450 -#: .\apps\hadis\models\transmitter.py:580 .\apps\library\models.py:75 +#: .\apps\hadis\models\hadis.py:286 .\apps\hadis\models\hadis.py:429 +#: .\apps\hadis\models\hadis.py:499 .\apps\hadis\models\reference.py:9 +#: .\apps\hadis\models\reference.py:35 .\apps\hadis\models\reference.py:91 +#: .\apps\hadis\models\reference.py:226 .\apps\hadis\models\reference.py:294 +#: .\apps\hadis\models\reference.py:337 .\apps\hadis\models\transmitter.py:24 +#: .\apps\hadis\models\transmitter.py:292 +#: .\apps\hadis\models\transmitter.py:469 +#: .\apps\hadis\models\transmitter.py:601 .\apps\library\models.py:75 #: .\apps\library\models.py:138 .\apps\library\models.py:174 #: .\apps\podcast\models.py:14 .\apps\podcast\models.py:50 #: .\apps\podcast\models.py:98 .\apps\podcast\models.py:153 @@ -342,12 +361,12 @@ msgstr "создано" #: .\apps\article\models.py:162 .\apps\article\models.py:190 #: .\apps\article\models.py:214 .\apps\article\models.py:240 #: .\apps\dobodbi_calendar\models.py:38 .\apps\hadis\models\hadis.py:21 -#: .\apps\hadis\models\hadis.py:144 .\apps\hadis\models\hadis.py:286 -#: .\apps\hadis\models\hadis.py:494 .\apps\hadis\models\reference.py:10 -#: .\apps\hadis\models\reference.py:36 .\apps\hadis\models\reference.py:84 -#: .\apps\hadis\models\reference.py:262 .\apps\hadis\models\reference.py:305 -#: .\apps\hadis\models\transmitter.py:25 .\apps\hadis\models\transmitter.py:281 -#: .\apps\hadis\models\transmitter.py:581 .\apps\library\models.py:76 +#: .\apps\hadis\models\hadis.py:144 .\apps\hadis\models\hadis.py:287 +#: .\apps\hadis\models\hadis.py:500 .\apps\hadis\models\reference.py:10 +#: .\apps\hadis\models\reference.py:36 .\apps\hadis\models\reference.py:92 +#: .\apps\hadis\models\reference.py:295 .\apps\hadis\models\reference.py:338 +#: .\apps\hadis\models\transmitter.py:25 .\apps\hadis\models\transmitter.py:293 +#: .\apps\hadis\models\transmitter.py:602 .\apps\library\models.py:76 #: .\apps\library\models.py:139 .\apps\library\models.py:175 #: .\apps\podcast\models.py:15 .\apps\podcast\models.py:51 #: .\apps\podcast\models.py:99 .\apps\podcast\models.py:154 @@ -373,23 +392,23 @@ msgstr "Местоположение" #: .\apps\account\models\user.py:17 msgid "android" -msgstr "" +msgstr "android" #: .\apps\account\models\user.py:18 msgid "apple" -msgstr "" +msgstr "apple" #: .\apps\account\models\user.py:19 msgid "web" msgstr "веб" #: .\apps\account\models\user.py:23 -#, fuzzy + #| msgid "client ip" msgid "Client" -msgstr "ip клиента" +msgstr "Клиент" -#: .\apps\account\models\user.py:25 +#: .\apps\account\models\user.py:25 .\utils\unfold_translations.py:114 msgid "Admin" msgstr "Админ" @@ -397,139 +416,143 @@ msgstr "Админ" msgid "Super Admin" msgstr "Супер Админ" -#: .\apps\account\models\user.py:29 .\apps\transaction\models.py:66 +#: .\apps\account\models\user.py:27 .\utils\unfold_translations.py:112 +msgid "Consultant" +msgstr "Консультант" + +#: .\apps\account\models\user.py:30 .\apps\transaction\models.py:66 msgid "Male" msgstr "Мужской" -#: .\apps\account\models\user.py:30 .\apps\transaction\models.py:67 +#: .\apps\account\models\user.py:31 .\apps\transaction\models.py:67 msgid "Female" msgstr "Женский" -#: .\apps\account\models\user.py:35 +#: .\apps\account\models\user.py:36 msgid "Username" msgstr "Имя пользователя" -#: .\apps\account\models\user.py:36 +#: .\apps\account\models\user.py:37 msgid "A user with that username already exists." msgstr "Пользователь с таким именем уже существует." -#: .\apps\account\models\user.py:37 .\apps\transaction\models.py:76 +#: .\apps\account\models\user.py:38 .\apps\transaction\models.py:76 msgid "Email Address" msgstr "Email адрес" -#: .\apps\account\models\user.py:38 .\apps\transaction\models.py:76 +#: .\apps\account\models\user.py:39 .\apps\transaction\models.py:76 msgid "Enter the user's email address." msgstr "Введите email адрес пользователя." -#: .\apps\account\models\user.py:40 +#: .\apps\account\models\user.py:41 msgid "A user with that email already exists." msgstr "Пользователь с таким email уже существует." -#: .\apps\account\models\user.py:41 .\apps\hadis\admin\transmitter.py:490 +#: .\apps\account\models\user.py:42 .\apps\hadis\admin\transmitter.py:490 #: .\apps\hadis\models\transmitter.py:233 .\apps\transaction\models.py:75 msgid "Full Name" msgstr "Полное имя" -#: .\apps\account\models\user.py:42 .\apps\transaction\models.py:75 +#: .\apps\account\models\user.py:43 .\apps\transaction\models.py:75 msgid "Enter the full name of the user." msgstr "Введите полное имя пользователя." -#: .\apps\account\models\user.py:44 .\apps\transaction\models.py:81 +#: .\apps\account\models\user.py:45 .\apps\transaction\models.py:81 msgid "birthdate" msgstr "дата рождения" -#: .\apps\account\models\user.py:46 +#: .\apps\account\models\user.py:47 msgid "Avatar" msgstr "Аватар пользователя" -#: .\apps\account\models\user.py:52 +#: .\apps\account\models\user.py:53 msgid "e.g., +49 151 12345678" msgstr "Например, +49 151 12345678" -#: .\apps\account\models\user.py:54 .\apps\blog\models.py:199 -#: .\apps\hadis\models\reference.py:65 .\apps\library\models.py:119 +#: .\apps\account\models\user.py:55 .\apps\blog\models.py:199 +#: .\apps\hadis\models\reference.py:67 .\apps\library\models.py:119 msgid "Language" msgstr "Язык" -#: .\apps\account\models\user.py:56 .\apps\transaction\models.py:79 +#: .\apps\account\models\user.py:57 .\apps\transaction\models.py:79 msgid "Gender" msgstr "Пол" -#: .\apps\account\models\user.py:56 .\apps\transaction\models.py:79 +#: .\apps\account\models\user.py:57 .\apps\transaction\models.py:79 msgid "Select the user's gender." msgstr "Выберите пол пользователя." -#: .\apps\account\models\user.py:57 .\utils\unfold_translations.py:80 +#: .\apps\account\models\user.py:58 .\utils\unfold_translations.py:80 msgid "User Type" msgstr "Тип файла" -#: .\apps\account\models\user.py:57 +#: .\apps\account\models\user.py:58 msgid "Type of the user." msgstr "Введите для поиска..." -#: .\apps\account\models\user.py:58 +#: .\apps\account\models\user.py:59 msgid "The date and time the user registered." msgstr "Дата и время регистрации пользователя." -#: .\apps\account\models\user.py:60 +#: .\apps\account\models\user.py:61 msgid "City" msgstr "Город" -#: .\apps\account\models\user.py:61 .\apps\account\models\user.py:301 -#: .\apps\account\models\user.py:318 +#: .\apps\account\models\user.py:62 .\apps\account\models\user.py:306 +#: .\apps\account\models\user.py:323 msgid "country" msgstr "страна" -#: .\apps\account\models\user.py:63 +#: .\apps\account\models\user.py:64 msgid "device id" msgstr "id устройства" -#: .\apps\account\models\user.py:64 +#: .\apps\account\models\user.py:65 #, fuzzy #| msgid "Device os" msgid "device os" msgstr "id устройства" -#: .\apps\account\models\user.py:65 .\apps\account\models\user.py:305 +#: .\apps\account\models\user.py:66 .\apps\account\models\user.py:310 msgid "user agent" msgstr "user agent" -#: .\apps\account\models\user.py:66 +#: .\apps\account\models\user.py:67 msgid "client ip" msgstr "ip клиента" -#: .\apps\account\models\user.py:68 +#: .\apps\account\models\user.py:69 msgid "fcm" -msgstr "" +msgstr "FCM" -#: .\apps\account\models\user.py:69 .\apps\article\models.py:10 +#: .\apps\account\models\user.py:70 .\apps\article\models.py:10 #: .\apps\hadis\models\hadis.py:14 .\apps\hadis\models\hadis.py:170 -#: .\apps\hadis\models\hadis.py:265 .\apps\hadis\models\hadis.py:490 -#: .\apps\hadis\models\reference.py:70 .\apps\hadis\models\transmitter.py:22 +#: .\apps\hadis\models\hadis.py:266 .\apps\hadis\models\hadis.py:495 +#: .\apps\hadis\models\reference.py:73 .\apps\hadis\models\transmitter.py:22 #: .\apps\hadis\models\transmitter.py:128 #: .\apps\hadis\models\transmitter.py:237 -#: .\apps\hadis\models\transmitter.py:471 -#: .\apps\hadis\models\transmitter.py:637 .\apps\podcast\models.py:10 +#: .\apps\hadis\models\transmitter.py:492 +#: .\apps\hadis\models\transmitter.py:658 .\apps\podcast\models.py:10 #: .\apps\podcast\models.py:129 .\apps\video\models.py:12 #: .\apps\video\models.py:145 msgid "slug" msgstr "ярлык (slug)" -#: .\apps\account\models\user.py:70 +#: .\apps\account\models\user.py:71 msgid "Experience years" msgstr "Годы опыта" -#: .\apps\account\models\user.py:71 +#: .\apps\account\models\user.py:72 msgid "is staff" msgstr "статус хадиса" -#: .\apps\account\models\user.py:72 .\apps\api\models.py:111 -#: .\apps\chat\admin.py:315 .\apps\hadis\models\version.py:10 -#: .\apps\library\admin.py:212 .\apps\quiz\admin\quiz.py:68 +#: .\apps\account\models\user.py:73 .\apps\api\models.py:111 +#: .\apps\chat\admin.py:359 .\apps\hadis\models\version.py:10 +#: .\apps\library\admin.py:212 .\apps\quiz\admin\quiz.py:79 msgid "Active" msgstr "Активно" -#: .\apps\account\models\user.py:72 +#: .\apps\account\models\user.py:73 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -537,67 +560,67 @@ msgstr "" "Обозначает, должен ли этот пользователь считаться активным. Вместо удаления " "учетных записей отключите это." -#: .\apps\account\models\user.py:73 +#: .\apps\account\models\user.py:74 #, fuzzy #| msgid "Deleted At" msgid "deleted at" msgstr "Удалено в" -#: .\apps\account\models\user.py:74 +#: .\apps\account\models\user.py:75 msgid "Info" msgstr "Инфо" -#: .\apps\account\models\user.py:75 +#: .\apps\account\models\user.py:76 msgid "skill" msgstr "навык" -#: .\apps\account\models\user.py:118 +#: .\apps\account\models\user.py:119 msgid "Email is required for all regular users." msgstr "Email обязателен для всех обычных пользователей." -#: .\apps\account\models\user.py:299 .\apps\account\models\user.py:316 +#: .\apps\account\models\user.py:304 .\apps\account\models\user.py:321 msgid "lat" msgstr "широта" -#: .\apps\account\models\user.py:300 .\apps\account\models\user.py:317 +#: .\apps\account\models\user.py:305 .\apps\account\models\user.py:322 msgid "lon" msgstr "долгота" -#: .\apps\account\models\user.py:302 .\apps\account\models\user.py:319 +#: .\apps\account\models\user.py:307 .\apps\account\models\user.py:324 msgid "city" msgstr "город" -#: .\apps\account\models\user.py:303 .\apps\account\models\user.py:321 +#: .\apps\account\models\user.py:308 .\apps\account\models\user.py:326 msgid "ip" msgstr "Ай Пи" -#: .\apps\account\models\user.py:304 .\apps\account\models\user.py:322 +#: .\apps\account\models\user.py:309 .\apps\account\models\user.py:327 msgid "timezone" msgstr "часовой пояс" -#: .\apps\account\models\user.py:306 +#: .\apps\account\models\user.py:311 msgid "Device os" msgstr "id устройства" -#: .\apps\account\models\user.py:307 .\apps\account\models\user.py:323 +#: .\apps\account\models\user.py:312 .\apps\account\models\user.py:328 #, fuzzy #| msgid "total time" msgid "at time" msgstr "общее время" -#: .\apps\account\models\user.py:310 +#: .\apps\account\models\user.py:315 #, fuzzy #| msgid "Location History" msgid "Login History" msgstr "История местоположений" -#: .\apps\account\models\user.py:311 +#: .\apps\account\models\user.py:316 #, fuzzy #| msgid "Location History" msgid "Login Histories" msgstr "История местоположений" -#: .\apps\account\models\user.py:320 +#: .\apps\account\models\user.py:325 msgid "selected manually" msgstr "выбрано вручную" @@ -680,7 +703,7 @@ msgid "The actual comment content" msgstr "Фактическое содержимое комментария" #: .\apps\api\models.py:40 .\apps\blog\models.py:149 -#: .\apps\hadis\models\transmitter.py:446 +#: .\apps\hadis\models\reference.py:77 .\apps\hadis\models\transmitter.py:465 msgid "Order" msgstr "Порядок" @@ -692,7 +715,7 @@ msgstr "Порядок для сортировки комментариев" #: .\apps\blog\models.py:155 .\apps\chat\models.py:47 #: .\apps\course\models\live_session.py:46 #: .\apps\course\models\live_session.py:108 -#: .\apps\course\models\live_session.py:170 .\apps\quiz\models\quiz.py:43 +#: .\apps\course\models\live_session.py:170 .\apps\quiz\models\quiz.py:50 msgid "Created At" msgstr "Дата создания" @@ -729,15 +752,15 @@ msgid "Application APK file" msgstr "APK файл приложения" #: .\apps\api\models.py:84 .\apps\blog\models.py:195 .\apps\chat\models.py:28 -#: .\apps\course\admin\course.py:397 .\apps\course\models\course.py:175 +#: .\apps\course\admin\course.py:451 .\apps\course\models\course.py:175 #: .\apps\hadis\admin\hadis.py:649 .\apps\hadis\models\category.py:16 #: .\apps\hadis\models\category.py:78 .\apps\hadis\models\hadis.py:173 -#: .\apps\hadis\models\hadis.py:268 .\apps\hadis\models\hadis.py:426 -#: .\apps\hadis\models\hadis.py:491 .\apps\hadis\models\reference.py:64 -#: .\apps\hadis\models\reference.py:215 .\apps\hadis\models\transmitter.py:21 -#: .\apps\hadis\models\transmitter.py:277 .\apps\quiz\models\quiz.py:11 -#: .\apps\transaction\admin.py:158 .\apps\transaction\models.py:110 -#: .\utils\keyval_field.py:162 .\utils\keyval_field.py:172 +#: .\apps\hadis\models\hadis.py:269 .\apps\hadis\models\hadis.py:431 +#: .\apps\hadis\models\reference.py:66 .\apps\hadis\models\reference.py:224 +#: .\apps\hadis\models\transmitter.py:21 .\apps\hadis\models\transmitter.py:289 +#: .\apps\quiz\models\quiz.py:12 .\apps\transaction\admin.py:158 +#: .\apps\transaction\models.py:110 .\utils\keyval_field.py:162 +#: .\utils\keyval_field.py:172 msgid "Description" msgstr "Описание" @@ -778,7 +801,7 @@ msgstr "Эта версия активна?" #: .\apps\course\models\course.py:119 .\apps\course\models\course.py:177 #: .\apps\course\models\course.py:195 .\apps\course\models\course.py:226 #: .\apps\course\models\course.py:250 .\apps\course\models\lesson.py:36 -#: .\apps\course\models\lesson.py:62 .\apps\course\models\live_session.py:47 +#: .\apps\course\models\lesson.py:93 .\apps\course\models\live_session.py:47 #: .\apps\course\models\live_session.py:109 #: .\apps\course\models\live_session.py:171 msgid "Updated At" @@ -788,7 +811,7 @@ msgstr "Дата обновления" msgid "App Version" msgstr "Версия приложения" -#: .\apps\api\models.py:127 .\config\settings\base.py:899 +#: .\apps\api\models.py:127 .\config\settings\base.py:890 msgid "App Versions" msgstr "Версии приложения" @@ -798,7 +821,7 @@ msgid "Article" msgstr "Статья" #: .\apps\article\admin.py:39 .\apps\article\models.py:142 -#: .\config\settings\base.py:755 .\config\settings\base.py:761 +#: .\config\settings\base.py:746 .\config\settings\base.py:752 msgid "Articles" msgstr "Статьи" @@ -823,13 +846,13 @@ msgid "Article Content" msgstr "Содержимое статьи" #: .\apps\article\admin.py:67 .\apps\article\models.py:194 -#: .\config\settings\base.py:785 +#: .\config\settings\base.py:776 msgid "Article Contents" msgstr "Содержимое статей" #: .\apps\article\admin.py:90 .\apps\article\admin.py:131 #: .\apps\blog\admin.py:85 .\apps\blog\admin.py:124 .\apps\blog\models.py:12 -#: .\apps\course\admin\course.py:393 .\apps\course\admin\course.py:454 +#: .\apps\course\admin\course.py:447 .\apps\course\admin\course.py:508 #: .\apps\course\models\live_session.py:143 .\apps\hadis\admin\category.py:181 #: .\apps\hadis\admin\category.py:216 .\apps\hadis\admin\hadis.py:617 #: .\apps\hadis\admin\hadis.py:645 .\apps\hadis\admin\hadis.py:693 @@ -839,14 +862,14 @@ msgstr "Содержимое статей" #: .\apps\hadis\admin\transmitter.py:677 .\apps\hadis\models\category.py:15 #: .\apps\hadis\models\category.py:77 .\apps\hadis\models\hadis.py:13 #: .\apps\hadis\models\hadis.py:141 .\apps\hadis\models\hadis.py:169 -#: .\apps\hadis\models\hadis.py:267 .\apps\hadis\models\hadis.py:489 -#: .\apps\hadis\models\reference.py:8 .\apps\hadis\models\reference.py:34 -#: .\apps\hadis\models\reference.py:63 .\apps\hadis\models\reference.py:294 -#: .\apps\hadis\models\transmitter.py:127 -#: .\apps\hadis\models\transmitter.py:470 -#: .\apps\hadis\models\transmitter.py:638 .\apps\library\admin.py:105 +#: .\apps\hadis\models\hadis.py:268 .\apps\hadis\models\hadis.py:494 +#: .\apps\hadis\models\hadis.py:572 .\apps\hadis\models\reference.py:8 +#: .\apps\hadis\models\reference.py:34 .\apps\hadis\models\reference.py:65 +#: .\apps\hadis\models\reference.py:327 .\apps\hadis\models\transmitter.py:127 +#: .\apps\hadis\models\transmitter.py:491 +#: .\apps\hadis\models\transmitter.py:659 .\apps\library\admin.py:105 #: .\apps\podcast\admin.py:49 .\apps\podcast\admin.py:94 -#: .\apps\quiz\models\quiz.py:10 .\apps\video\admin.py:49 +#: .\apps\quiz\models\quiz.py:11 .\apps\video\admin.py:49 #: .\apps\video\admin.py:83 .\utils\keyval_field.py:39 #: .\utils\keyval_field.py:59 .\utils\keyval_field.py:76 #: .\utils\keyval_field.py:139 .\utils\keyval_field.py:167 .\utils\schema.py:51 @@ -872,19 +895,19 @@ msgstr "Поиск по названию, ярлыку (slug), описанию msgid "Search articles" msgstr "Поиск статей" -#: .\apps\article\admin.py:207 .\apps\chat\admin.py:301 -#: .\apps\chat\admin.py:352 .\apps\chat\models.py:79 -#: .\apps\course\admin\course.py:458 +#: .\apps\article\admin.py:207 .\apps\chat\admin.py:345 +#: .\apps\chat\admin.py:396 .\apps\chat\models.py:79 +#: .\apps\course\admin\course.py:512 msgid "File" msgstr "Файл" #: .\apps\article\admin.py:210 .\apps\bookmark\admin.py:42 #: .\apps\bookmark\admin.py:112 .\apps\certificate\admin.py:30 -#: .\apps\certificate\models.py:19 .\apps\chat\admin.py:257 -#: .\apps\chat\admin.py:311 .\apps\course\admin\live_session.py:167 +#: .\apps\certificate\models.py:19 .\apps\chat\admin.py:281 +#: .\apps\chat\admin.py:355 .\apps\course\admin\live_session.py:167 #: .\apps\library\admin.py:68 .\apps\library\admin.py:207 -#: .\apps\podcast\admin.py:160 .\apps\quiz\admin\quiz.py:65 -#: .\apps\quiz\models\quiz.py:13 .\apps\video\admin.py:169 +#: .\apps\podcast\admin.py:160 .\apps\quiz\admin\quiz.py:76 +#: .\apps\quiz\models\quiz.py:14 .\apps\video\admin.py:169 msgid "Status" msgstr "Статус" @@ -921,11 +944,12 @@ msgstr "статус" #: .\apps\article\models.py:237 .\apps\hadis\models\category.py:18 #: .\apps\hadis\models\category.py:79 .\apps\hadis\models\hadis.py:18 #: .\apps\hadis\models\hadis.py:127 .\apps\hadis\models\hadis.py:172 -#: .\apps\hadis\models\reference.py:214 .\apps\library\models.py:30 -#: .\apps\podcast\models.py:13 .\apps\podcast\models.py:41 -#: .\apps\podcast\models.py:148 .\apps\podcast\models.py:200 -#: .\apps\video\models.py:15 .\apps\video\models.py:43 -#: .\apps\video\models.py:164 .\apps\video\models.py:216 +#: .\apps\hadis\models\reference.py:223 .\apps\hadis\models\reference.py:266 +#: .\apps\library\models.py:30 .\apps\podcast\models.py:13 +#: .\apps\podcast\models.py:41 .\apps\podcast\models.py:148 +#: .\apps\podcast\models.py:200 .\apps\video\models.py:15 +#: .\apps\video\models.py:43 .\apps\video\models.py:164 +#: .\apps\video\models.py:216 msgid "order" msgstr "порядок" @@ -960,7 +984,7 @@ msgid "pin top" msgstr "закрепить наверху" #: .\apps\article\models.py:40 .\apps\article\models.py:90 -#: .\apps\hadis\models\hadis.py:19 .\apps\hadis\models\transmitter.py:278 +#: .\apps\hadis\models\hadis.py:19 .\apps\hadis\models\transmitter.py:290 #: .\apps\library\models.py:110 .\apps\podcast\models.py:40 #: .\apps\podcast\models.py:85 .\apps\video\models.py:42 #: .\apps\video\models.py:91 @@ -1055,10 +1079,10 @@ msgstr "часть контента" msgid "Arabic text" msgstr "Арабский текст" -#: .\apps\article\models.py:236 .\utils\keyval_field.py:16 -#: .\utils\keyval_field.py:37 .\utils\keyval_field.py:74 -#: .\utils\keyval_field.py:94 .\utils\keyval_field.py:116 -#: .\utils\keyval_field.py:137 +#: .\apps\article\models.py:236 .\apps\hadis\models\hadis.py:574 +#: .\utils\keyval_field.py:16 .\utils\keyval_field.py:37 +#: .\utils\keyval_field.py:74 .\utils\keyval_field.py:94 +#: .\utils\keyval_field.py:116 .\utils\keyval_field.py:137 msgid "Translation" msgstr "Перевод" @@ -1071,7 +1095,7 @@ msgstr "Содержимое" #: .\apps\blog\admin.py:77 .\apps\blog\admin.py:115 .\apps\bookmark\admin.py:45 #: .\apps\bookmark\admin.py:115 .\apps\certificate\admin.py:24 -#: .\apps\chat\admin.py:150 .\apps\chat\admin.py:261 +#: .\apps\chat\admin.py:174 .\apps\chat\admin.py:285 #: .\apps\course\admin\live_session.py:117 #: .\apps\course\admin\live_session.py:140 #: .\apps\course\admin\live_session.py:168 .\apps\hadis\admin\hadis.py:611 @@ -1124,7 +1148,7 @@ msgstr "URL ярлык (slug) для блога" msgid "Blog" msgstr "Блог" -#: .\apps\blog\models.py:44 .\config\settings\base.py:688 +#: .\apps\blog\models.py:44 .\config\settings\base.py:672 msgid "Blogs" msgstr "Блоги" @@ -1144,7 +1168,7 @@ msgstr "Основной текст контента" msgid "URL slug for this content (optional)" msgstr "URL ярлык (slug) для этого контента (необязательно)" -#: .\apps\blog\models.py:144 .\apps\chat\admin.py:303 .\apps\chat\admin.py:343 +#: .\apps\blog\models.py:144 .\apps\chat\admin.py:347 .\apps\chat\admin.py:387 #: .\apps\chat\models.py:81 msgid "Image" msgstr "Изображение" @@ -1225,11 +1249,12 @@ msgid "canceled" msgstr "отменено" #: .\apps\certificate\models.py:18 .\apps\chat\models.py:32 -#: .\apps\course\admin\course.py:271 .\apps\course\admin\course.py:503 +#: .\apps\course\admin\course.py:325 .\apps\course\admin\course.py:557 #: .\apps\course\models\course.py:156 .\apps\course\models\course.py:192 -#: .\apps\course\models\course.py:247 .\apps\course\models\lesson.py:55 -#: .\apps\course\models\live_session.py:13 -#: .\apps\course\models\participant.py:19 .\apps\transaction\models.py:31 +#: .\apps\course\models\course.py:247 .\apps\course\models\lesson.py:54 +#: .\apps\course\models\lesson.py:85 .\apps\course\models\live_session.py:13 +#: .\apps\course\models\participant.py:19 .\apps\quiz\models\quiz.py:9 +#: .\apps\transaction\models.py:31 msgid "Course" msgstr "Курс" @@ -1240,154 +1265,180 @@ msgstr "файл_сертификата" #: .\apps\certificate\models.py:22 .\apps\course\models\course.py:118 #: .\apps\course\models\course.py:176 .\apps\course\models\course.py:194 #: .\apps\course\models\course.py:225 .\apps\course\models\course.py:249 -#: .\apps\course\models\lesson.py:35 .\apps\course\models\lesson.py:61 -#: .\apps\course\models\lesson.py:135 .\apps\transaction\models.py:36 +#: .\apps\course\models\lesson.py:35 .\apps\course\models\lesson.py:92 +#: .\apps\course\models\lesson.py:163 .\apps\transaction\models.py:36 msgid "Created at" msgstr "Дата создания" -#: .\apps\chat\admin.py:77 +#: .\apps\chat\admin.py:101 msgid "Recent Message" msgstr "Последнее сообщение" -#: .\apps\chat\admin.py:78 +#: .\apps\chat\admin.py:102 msgid "Recent Messages (Latest 50)" msgstr "Недавние сообщения (последние 50)" -#: .\apps\chat\admin.py:116 .\apps\chat\admin.py:208 +#: .\apps\chat\admin.py:140 .\apps\chat\admin.py:232 msgid "Read Status" msgstr "Статус прочтения" -#: .\apps\chat\admin.py:119 +#: .\apps\chat\admin.py:143 msgid "Read" msgstr "Прочитано" -#: .\apps\chat\admin.py:120 +#: .\apps\chat\admin.py:144 msgid "Unread" msgstr "Непрочитано" -#: .\apps\chat\admin.py:142 +#: .\apps\chat\admin.py:166 msgid "Room Information" msgstr "Информация о комнате" -#: .\apps\chat\admin.py:146 .\apps\library\admin.py:74 +#: .\apps\chat\admin.py:170 .\apps\library\admin.py:74 msgid "Relations" msgstr "Связи" -#: .\apps\chat\admin.py:162 +#: .\apps\chat\admin.py:186 msgid "Messages Count" msgstr "Количество сообщений" -#: .\apps\chat\admin.py:170 .\apps\chat\models.py:62 +#: .\apps\chat\admin.py:194 .\apps\chat\models.py:62 msgid "Room Type" msgstr "Тип комнаты" -#: .\apps\chat\admin.py:173 .\apps\chat\models.py:20 +#: .\apps\chat\admin.py:197 .\apps\chat\models.py:20 #: .\utils\unfold_translations.py:37 msgid "Group" msgstr "Группа" -#: .\apps\chat\admin.py:174 .\apps\chat\models.py:21 +#: .\apps\chat\admin.py:198 .\apps\chat\models.py:21 #: .\utils\unfold_translations.py:38 msgid "Private" msgstr "Личный" -#: .\apps\chat\admin.py:184 .\utils\unfold_translations.py:31 +#: .\apps\chat\admin.py:208 .\utils\unfold_translations.py:31 msgid "Manage All Messages" msgstr "Управление всеми сообщениями" -#: .\apps\chat\admin.py:191 +#: .\apps\chat\admin.py:215 msgid "Room not found" msgstr "Комната не найдена" -#: .\apps\chat\admin.py:209 +#: .\apps\chat\admin.py:233 msgid "Read Statuses" msgstr "Статусы прочтения" -#: .\apps\chat\admin.py:245 +#: .\apps\chat\admin.py:269 msgid "Message Information" msgstr "Информация о сообщении" -#: .\apps\chat\admin.py:249 .\apps\course\models\course.py:239 +#: .\apps\chat\admin.py:273 .\apps\course\models\course.py:239 msgid "Attachments" msgstr "Вложения" -#: .\apps\chat\admin.py:253 +#: .\apps\chat\admin.py:277 msgid "Additional Info" msgstr "Дополнительная инфо" -#: .\apps\chat\admin.py:283 +#: .\apps\chat\admin.py:327 msgid "Back to Chat Rooms" msgstr "Вернуться в чаты" -#: .\apps\chat\admin.py:290 +#: .\apps\chat\admin.py:334 msgid "Content Preview" msgstr "Предпросмотр контента" -#: .\apps\chat\admin.py:295 +#: .\apps\chat\admin.py:339 #, python-format msgid "%(type)s content" msgstr "Содержимое (%(type)s)" -#: .\apps\chat\admin.py:297 +#: .\apps\chat\admin.py:341 msgid "Type" msgstr "Тип" -#: .\apps\chat\admin.py:300 .\apps\chat\models.py:78 -#: .\apps\hadis\models\transmitter.py:639 +#: .\apps\chat\admin.py:344 .\apps\chat\models.py:78 +#: .\apps\hadis\models\transmitter.py:660 msgid "Text" msgstr "Текст" -#: .\apps\chat\admin.py:302 .\apps\chat\models.py:80 +#: .\apps\chat\admin.py:346 .\apps\chat\models.py:80 msgid "Audio" msgstr "Аудио" -#: .\apps\chat\admin.py:314 +#: .\apps\chat\admin.py:358 msgid "Deleted" msgstr "Удалено" -#: .\apps\chat\admin.py:317 +#: .\apps\chat\admin.py:361 #: .\templates\admin\filer\folder\directory_table.html:15 msgid "Size" msgstr "Размер" -#: .\apps\chat\admin.py:323 +#: .\apps\chat\admin.py:367 #, python-brace-format msgid "{} bytes" msgstr "{} байт" -#: .\apps\chat\admin.py:326 .\apps\course\models\course.py:238 +#: .\apps\chat\admin.py:370 .\apps\course\models\course.py:238 #: .\apps\course\models\course.py:248 msgid "Attachment" msgstr "Вложение" -#: .\apps\chat\admin.py:329 +#: .\apps\chat\admin.py:373 msgid "📷 Image" msgstr "📷 Изображение" -#: .\apps\chat\admin.py:331 +#: .\apps\chat\admin.py:375 msgid "📎 File" msgstr "📎 Файл" -#: .\apps\chat\admin.py:333 +#: .\apps\chat\admin.py:377 msgid "🔗 Legacy" msgstr "🔗 Устаревший" -#: .\apps\chat\admin.py:336 +#: .\apps\chat\admin.py:380 msgid "Attachment Preview" msgstr "Предпросмотр вложения" -#: .\apps\chat\admin.py:346 +#: .\apps\chat\admin.py:390 msgid "Open in new tab" msgstr "Открыть в новой вкладке" -#: .\apps\chat\admin.py:354 +#: .\apps\chat\admin.py:398 msgid "📥 Download File" msgstr "📥 Скачать файл" -#: .\apps\chat\admin.py:359 +#: .\apps\chat\admin.py:403 msgid "Legacy URL" msgstr "Устаревший URL" +#: .\apps\chat\admin_views.py:35 +msgid "Live Support Chat" +msgstr "Чат поддержки" + +#: .\apps\chat\admin_views.py:66 .\utils\unfold_translations.py:107 +#, python-brace-format +#| msgid "Room ID" +msgid "Room #{}" +msgstr "Комната №{}" + +#: .\apps\chat\admin_views.py:109 .\apps\hadis\models\transmitter.py:230 +#: .\utils\unfold_translations.py:108 +msgid "Unknown" +msgstr "Неизвестно" + +#: .\apps\chat\admin_views.py:151 .\utils\unfold_translations.py:109 + +#| msgid "Export" +msgid "Support" +msgstr "Поддержка" + +#: .\apps\chat\admin_views.py:252 .\utils\unfold_translations.py:116 +#, python-brace-format +msgid "Chat with {}" +msgstr "Чат с {}" + #: .\apps\chat\management\commands\clear_chat_data.py:16 #: .\apps\course\management\commands\clear_course_data.py:23 msgid "Force deletion without confirmation" @@ -1537,118 +1588,136 @@ msgstr "Статус прочтения сообщения" msgid "Message Read Statuses" msgstr "Статусы прочтения сообщений" -#: .\apps\course\admin\course.py:78 +#: .\apps\course\admin\course.py:81 msgid "Course Weekly Schedule" msgstr "Еженедельное расписание курса" -#: .\apps\course\admin\course.py:82 .\utils\schema.py:49 +#: .\apps\course\admin\course.py:85 .\utils\schema.py:49 msgid "Course Features" msgstr "Особенности курса" -#: .\apps\course\admin\course.py:86 +#: .\apps\course\admin\course.py:89 msgid "If set to inactive, the course will not be displayed." msgstr "Если курс неактивен, он не будет отображаться." -#: .\apps\course\admin\course.py:101 +#: .\apps\course\admin\course.py:104 msgid "This field is required and cannot be cleared." msgstr "Это поле обязательно для заполнения и не может быть очищено." -#: .\apps\course\admin\course.py:105 +#: .\apps\course\admin\course.py:108 msgid "This field is required." msgstr "Это поле обязательно." -#: .\apps\course\admin\course.py:125 .\apps\course\admin\live_session.py:52 +#: .\apps\course\admin\course.py:128 .\apps\course\admin\live_session.py:52 msgid "Select a value" msgstr "Выберите значение" -#: .\apps\course\admin\course.py:135 .\apps\course\models\course.py:269 +#: .\apps\course\admin\course.py:143 .\apps\quiz\models\participant.py:10 +#: .\apps\quiz\models\quiz.py:18 .\apps\quiz\models\quiz.py:43 +msgid "Quiz" +msgstr "Тест" + +#: .\apps\course\admin\course.py:144 .\apps\quiz\models\quiz.py:19 +#: .\config\settings\base.py:509 +msgid "Quizzes" +msgstr "Тесты" + +#: .\apps\course\admin\course.py:161 .\apps\course\models\course.py:269 msgid "Course Attachment" msgstr "Вложение курса" -#: .\apps\course\admin\course.py:136 .\apps\course\models\course.py:270 -#: .\config\settings\base.py:492 +#: .\apps\course\admin\course.py:162 .\apps\course\models\course.py:270 +#: .\config\settings\base.py:497 msgid "Course Attachments" msgstr "Вложения курсов" -#: .\apps\course\admin\course.py:170 .\apps\quiz\admin\participant.py:36 +#: .\apps\course\admin\course.py:184 .\apps\course\models\lesson.py:86 +msgid "Chapter" +msgstr "Глава" + +#: .\apps\course\admin\course.py:185 +msgid "Chapters" +msgstr "Главы" + +#: .\apps\course\admin\course.py:224 .\apps\quiz\admin\participant.py:36 msgid "Recent Participant" msgstr "Недавний участник" -#: .\apps\course\admin\course.py:171 .\apps\quiz\admin\participant.py:37 +#: .\apps\course\admin\course.py:225 .\apps\quiz\admin\participant.py:37 msgid "Recent Participants (Latest 10)" msgstr "Недавние участники (последние 10)" -#: .\apps\course\admin\course.py:195 +#: .\apps\course\admin\course.py:249 msgid "Select Student" msgstr "Выберите студента" -#: .\apps\course\admin\course.py:242 +#: .\apps\course\admin\course.py:296 msgid "Settings & Status" msgstr "Настройки и статус" -#: .\apps\course\admin\course.py:251 .\apps\course\admin\live_session.py:91 +#: .\apps\course\admin\course.py:305 .\apps\course\admin\live_session.py:91 msgid "Media" msgstr "Медиа" -#: .\apps\course\admin\course.py:257 +#: .\apps\course\admin\course.py:311 msgid "Pricing" msgstr "Цены" -#: .\apps\course\admin\course.py:264 +#: .\apps\course\admin\course.py:318 msgid "Advanced Configuration" msgstr "Расширенные настройки" -#: .\apps\course\admin\course.py:291 .\apps\transaction\admin.py:75 +#: .\apps\course\admin\course.py:345 .\apps\transaction\admin.py:75 #: .\templates\course\course_stats.html:142 msgid "Price" msgstr "Цена" -#: .\apps\course\admin\course.py:294 .\apps\transaction\models.py:27 +#: .\apps\course\admin\course.py:348 .\apps\transaction\models.py:27 #: .\templates\course\course_stats.html:145 msgid "Free" msgstr "Бесплатно" -#: .\apps\course\admin\course.py:319 +#: .\apps\course\admin\course.py:373 msgid "Add Student" msgstr "Добавить студента" -#: .\apps\course\admin\course.py:326 .\apps\course\admin\course.py:363 +#: .\apps\course\admin\course.py:380 .\apps\course\admin\course.py:417 msgid "Course not found" msgstr "Курс не найден" -#: .\apps\course\admin\course.py:334 +#: .\apps\course\admin\course.py:388 #, python-brace-format msgid "Student {} is already enrolled in this course" msgstr "Студент {} уже зачислен на этот курс." -#: .\apps\course\admin\course.py:339 +#: .\apps\course\admin\course.py:393 #, python-brace-format msgid "Student {} has been successfully added to {}" msgstr "Студент {} был успешно добавлен в {}." -#: .\apps\course\admin\course.py:350 +#: .\apps\course\admin\course.py:404 #, python-brace-format msgid "Add Student to {}" msgstr "Добавить студента в {}" -#: .\apps\course\admin\course.py:356 +#: .\apps\course\admin\course.py:410 msgid "Manage All Students" msgstr "Управление всеми студентами" -#: .\apps\course\admin\course.py:462 +#: .\apps\course\admin\course.py:516 msgid "File Size" msgstr "Размер файла" -#: .\apps\course\admin\course.py:480 +#: .\apps\course\admin\course.py:534 msgid "Enrollment Details" msgstr "Детали зачисления" -#: .\apps\course\admin\lesson.py:72 .\apps\course\admin\lesson.py:99 +#: .\apps\course\admin\lesson.py:72 .\apps\course\admin\lesson.py:117 #: .\templates\course\course_stats.html:118 msgid "Duration" msgstr "Продолжительность" -#: .\apps\course\admin\lesson.py:74 .\apps\course\admin\lesson.py:101 +#: .\apps\course\admin\lesson.py:74 .\apps\course\admin\lesson.py:119 msgid "min" msgstr "мин" @@ -1660,7 +1729,7 @@ msgstr "Расписание" msgid "Session User" msgstr "Пользователь сессии" -#: .\apps\course\admin\live_session.py:72 .\config\settings\base.py:521 +#: .\apps\course\admin\live_session.py:72 .\config\settings\base.py:532 msgid "Session Users" msgstr "Пользователи сессии" @@ -1668,7 +1737,7 @@ msgstr "Пользователи сессии" msgid "Session Recording" msgstr "Запись сессии" -#: .\apps\course\admin\live_session.py:98 .\config\settings\base.py:527 +#: .\apps\course\admin\live_session.py:98 .\config\settings\base.py:538 msgid "Session Recordings" msgstr "Записи сессий" @@ -1723,7 +1792,7 @@ msgid "Advanced" msgstr "Продвинутый" #: .\apps\course\models\course.py:54 .\apps\library\admin.py:216 -#: .\apps\quiz\admin\quiz.py:69 +#: .\apps\quiz\admin\quiz.py:80 msgid "Inactive" msgstr "Неактивно" @@ -1756,7 +1825,8 @@ msgstr "Видеофайл" msgid "Course Title" msgstr "Название курса" -#: .\apps\course\models\course.py:68 .\apps\library\models.py:92 +#: .\apps\course\models\course.py:68 .\apps\hadis\models\hadis.py:569 +#: .\apps\library\models.py:92 msgid "Category" msgstr "Категория" @@ -1843,7 +1913,7 @@ msgstr "Глоссарий" msgid "Glossaries" msgstr "Глоссарии" -#: .\apps\course\models\course.py:210 .\config\settings\base.py:498 +#: .\apps\course\models\course.py:210 .\config\settings\base.py:503 msgid "Course Glossary" msgstr "Глоссарий курса" @@ -1879,7 +1949,7 @@ msgstr "Ссылка" msgid "Duration (in minutes)" msgstr "Продолжительность (в минутах)" -#: .\apps\course\models\lesson.py:42 .\apps\course\models\lesson.py:56 +#: .\apps\course\models\lesson.py:42 .\apps\course\models\lesson.py:87 #: .\apps\quiz\models\quiz.py:8 msgid "Lesson" msgstr "Урок" @@ -1888,33 +1958,54 @@ msgstr "Урок" msgid "Lessons" msgstr "Уроки" -#: .\apps\course\models\lesson.py:57 -msgid "Course Lesson Title" -msgstr "Название урока курса" +#: .\apps\course\models\lesson.py:55 +#, fuzzy +#| msgid "Content Title" +msgid "Chapter Title" +msgstr "Название контента" -#: .\apps\course\models\lesson.py:58 .\apps\hadis\models\hadis.py:462 -#: .\apps\quiz\models\quiz.py:44 +#: .\apps\course\models\lesson.py:56 .\apps\course\models\lesson.py:89 +#: .\apps\hadis\models\hadis.py:467 .\apps\quiz\models\quiz.py:51 msgid "Priority" msgstr "Приоритет" -#: .\apps\course\models\lesson.py:60 .\apps\course\models\live_session.py:174 +#: .\apps\course\models\lesson.py:57 .\apps\course\models\lesson.py:91 +#: .\apps\course\models\live_session.py:174 #: .\apps\course\models\participant.py:21 .\apps\hadis\models\category.py:17 msgid "Is Active" msgstr "Активен" -#: .\apps\course\models\lesson.py:107 .\apps\course\models\lesson.py:131 +#: .\apps\course\models\lesson.py:77 +#, fuzzy +#| msgid "Course Categories" +msgid "Course Chapter" +msgstr "Категории курсов" + +#: .\apps\course\models\lesson.py:78 +#, fuzzy +#| msgid "Course Categories" +msgid "Course Chapters" +msgstr "Категории курсов" + +#: .\apps\course\models\lesson.py:88 +#, fuzzy +#| msgid "Lesson Title" +msgid "Sub-lesson Title" +msgstr "Название урока" + +#: .\apps\course\models\lesson.py:137 .\apps\course\models\lesson.py:159 msgid "Course Lesson" msgstr "Урок курса" -#: .\apps\course\models\lesson.py:108 .\config\settings\base.py:486 +#: .\apps\course\models\lesson.py:138 .\config\settings\base.py:491 msgid "Course Lessons" msgstr "Уроки курса" -#: .\apps\course\models\lesson.py:139 +#: .\apps\course\models\lesson.py:167 msgid "Lesson Completion" msgstr "Завершение урока" -#: .\apps\course\models\lesson.py:140 +#: .\apps\course\models\lesson.py:168 msgid "Lesson Completions" msgstr "Завершения уроков" @@ -2191,7 +2282,7 @@ msgstr "Информация об издании" msgid "Rating & Stats" msgstr "Рейтинг и статистика" -#: .\apps\hadis\admin\reference.py:474 .\apps\hadis\models\reference.py:71 +#: .\apps\hadis\admin\reference.py:474 .\apps\hadis\models\reference.py:74 msgid "Publisher" msgstr "Издатель" @@ -2208,25 +2299,25 @@ msgid "References" msgstr "Источники" #: .\apps\hadis\admin\reference.py:518 .\apps\hadis\admin\transmitter.py:550 -#: .\apps\hadis\models\reference.py:249 .\apps\hadis\models\transmitter.py:19 +#: .\apps\hadis\models\reference.py:282 .\apps\hadis\models\transmitter.py:19 #: .\templates\admin\filer\folder\directory_table.html:13 #: .\utils\keyval_field.py:118 msgid "Name" msgstr "Название" -#: .\apps\hadis\admin\reference.py:563 .\apps\hadis\models\reference.py:295 +#: .\apps\hadis\admin\reference.py:563 .\apps\hadis\models\reference.py:328 msgid "Value" msgstr "Значение" -#: .\apps\hadis\admin\reference.py:567 .\apps\hadis\models\reference.py:90 +#: .\apps\hadis\admin\reference.py:567 .\apps\hadis\models\reference.py:98 msgid "Book Reference" msgstr "Ссылка на книгу" -#: .\apps\hadis\admin\transmitter.py:502 .\apps\hadis\models\transmitter.py:288 +#: .\apps\hadis\admin\transmitter.py:502 .\apps\hadis\models\transmitter.py:300 msgid "Transmitter" msgstr "Передатчик" -#: .\apps\hadis\admin\transmitter.py:640 .\apps\hadis\models\transmitter.py:569 +#: .\apps\hadis\admin\transmitter.py:640 .\apps\hadis\models\transmitter.py:590 msgid "Scholar Name" msgstr "Имя ученого" @@ -2248,7 +2339,7 @@ msgstr "Название течения" msgid "Hadis Sect" msgstr "Течение хадисов" -#: .\apps\hadis\models\category.py:62 .\config\settings\base.py:843 +#: .\apps\hadis\models\category.py:62 .\config\settings\base.py:834 msgid "Hadis Sects" msgstr "Течения хадисов" @@ -2295,7 +2386,7 @@ msgstr "" msgid "Hadis Category" msgstr "Категория хадисов" -#: .\apps\hadis\models\category.py:174 .\config\settings\base.py:849 +#: .\apps\hadis\models\category.py:174 .\config\settings\base.py:840 msgid "Hadis Categories" msgstr "Категории хадисов" @@ -2307,8 +2398,8 @@ msgstr "коллекция хадисов" msgid "hadis collections" msgstr "коллекции хадисов" -#: .\apps\hadis\models\hadis.py:125 .\apps\hadis\models\hadis.py:402 -#: .\apps\hadis\models\hadis.py:412 .\apps\hadis\models\transmitter.py:417 +#: .\apps\hadis\models\hadis.py:125 .\apps\hadis\models\hadis.py:403 +#: .\apps\hadis\models\hadis.py:413 .\apps\hadis\models\transmitter.py:429 msgid "hadis" msgstr "хадис" @@ -2320,7 +2411,7 @@ msgstr "хадис в коллекции" msgid "hadis in collections" msgstr "хадисы в коллекциях" -#: .\apps\hadis\models\hadis.py:255 .\apps\hadis\models\hadis.py:274 +#: .\apps\hadis\models\hadis.py:255 .\apps\hadis\models\hadis.py:275 msgid "hadis status" msgstr "статус хадиса" @@ -2336,179 +2427,269 @@ msgstr "категория" msgid "number" msgstr "номер" -#: .\apps\hadis\models\hadis.py:266 +#: .\apps\hadis\models\hadis.py:267 msgid "Title Narrator" msgstr "Имя рассказчика" -#: .\apps\hadis\models\hadis.py:270 +#: .\apps\hadis\models\hadis.py:271 msgid "text" msgstr "текст" -#: .\apps\hadis\models\hadis.py:271 .\apps\hadis\models\hadis.py:492 -#: .\apps\hadis\models\transmitter.py:640 +#: .\apps\hadis\models\hadis.py:272 .\apps\hadis\models\hadis.py:498 +#: .\apps\hadis\models\transmitter.py:661 msgid "translation" msgstr "перевод" -#: .\apps\hadis\models\hadis.py:272 +#: .\apps\hadis\models\hadis.py:273 msgid "visibility" msgstr "видимость" -#: .\apps\hadis\models\hadis.py:275 +#: .\apps\hadis\models\hadis.py:276 msgid "Status text" msgstr "Текст статуса" -#: .\apps\hadis\models\hadis.py:276 +#: .\apps\hadis\models\hadis.py:277 msgid "Address" msgstr "Адрес" -#: .\apps\hadis\models\hadis.py:277 +#: .\apps\hadis\models\hadis.py:278 msgid "links" msgstr "ссылки" -#: .\apps\hadis\models\hadis.py:278 +#: .\apps\hadis\models\hadis.py:279 msgid "tags" msgstr "теги" -#: .\apps\hadis\models\hadis.py:280 .\apps\hadis\models\hadis.py:495 -#: .\apps\hadis\models\transmitter.py:641 +#: .\apps\hadis\models\hadis.py:281 .\apps\hadis\models\hadis.py:501 +#: .\apps\hadis\models\transmitter.py:662 msgid "share link" msgstr "ссылка поделиться" -#: .\apps\hadis\models\hadis.py:281 +#: .\apps\hadis\models\hadis.py:282 msgid "Explanation" msgstr "Пояснение" -#: .\apps\hadis\models\hadis.py:403 +#: .\apps\hadis\models\hadis.py:404 msgid "hadises" msgstr "хадисы" -#: .\apps\hadis\models\hadis.py:420 .\apps\hadis\models\reference.py:211 +#: .\apps\hadis\models\hadis.py:421 .\apps\hadis\models\reference.py:219 +#: .\apps\hadis\models\reference.py:261 msgid "book reference" msgstr "ссылка на книгу" -#: .\apps\hadis\models\hadis.py:433 +#: .\apps\hadis\models\hadis.py:427 +#, fuzzy +#| msgid "Number of Books" +msgid "Hadith Number in Book" +msgstr "Количество книг" + +#: .\apps\hadis\models\hadis.py:438 msgid "Hadis Reference" msgstr "Источник хадиса" -#: .\apps\hadis\models\hadis.py:434 .\config\settings\base.py:861 +#: .\apps\hadis\models\hadis.py:439 .\config\settings\base.py:852 msgid "Hadis References" msgstr "Источники хадисов" -#: .\apps\hadis\models\hadis.py:459 .\apps\podcast\models.py:132 +#: .\apps\hadis\models\hadis.py:464 .\apps\podcast\models.py:132 #: .\apps\video\models.py:148 msgid "thumbnail" msgstr "миниатюра" -#: .\apps\hadis\models\hadis.py:463 +#: .\apps\hadis\models\hadis.py:468 msgid "Priority of the image, lower values mean higher priority." msgstr "" "Приоритет изображения, меньшие значения означают более высокий приоритет." -#: .\apps\hadis\models\hadis.py:472 +#: .\apps\hadis\models\hadis.py:477 msgid "Reference Image" msgstr "Изображение источника" -#: .\apps\hadis\models\hadis.py:473 +#: .\apps\hadis\models\hadis.py:478 msgid "Reference Images" msgstr "Справочные изображения" -#: .\apps\hadis\models\hadis.py:488 +#: .\apps\hadis\models\hadis.py:493 msgid "hadis correction" msgstr "исправление хадиса" -#: .\apps\hadis\models\hadis.py:499 +#: .\apps\hadis\models\hadis.py:497 .\apps\hadis\models\hadis.py:573 +#, fuzzy +#| msgid "Opinion Text" +msgid "Original Text" +msgstr "Текст мнения" + +#: .\apps\hadis\models\hadis.py:505 msgid "Hadis Correction" msgstr "Исправление хадиса" -#: .\apps\hadis\models\hadis.py:500 +#: .\apps\hadis\models\hadis.py:506 msgid "Hadis Corrections" msgstr "Исправления хадисов" -#: .\apps\hadis\models\reference.py:66 +#: .\apps\hadis\models\hadis.py:580 +#, fuzzy +#| msgid "Hadis Correction" +msgid "Hadis Interpretation" +msgstr "Исправление хадиса" + +#: .\apps\hadis\models\hadis.py:581 +#, fuzzy +#| msgid "Hadis Corrections" +msgid "Hadis Interpretations" +msgstr "Исправления хадисов" + +#: .\apps\hadis\models\reference.py:64 +#, fuzzy +#| msgid "Source Type" +msgid "Source URL" +msgstr "Тип источника" + +#: .\apps\hadis\models\reference.py:68 msgid "ISBN" msgstr "ISBN" -#: .\apps\hadis\models\reference.py:67 +#: .\apps\hadis\models\reference.py:69 msgid "volume" msgstr "том" -#: .\apps\hadis\models\reference.py:68 +#: .\apps\hadis\models\reference.py:70 +#, fuzzy +#| msgid "Number of Videos" +msgid "Total Number of Volumes" +msgstr "Количество видео" + +#: .\apps\hadis\models\reference.py:71 msgid "year of publication" msgstr "год издания" -#: .\apps\hadis\models\reference.py:69 +#: .\apps\hadis\models\reference.py:72 msgid "number of pages" msgstr "количество страниц" -#: .\apps\hadis\models\reference.py:72 +#: .\apps\hadis\models\reference.py:75 msgid "subject area" msgstr "предметная область" -#: .\apps\hadis\models\reference.py:73 +#: .\apps\hadis\models\reference.py:76 msgid "type" msgstr "тип" -#: .\apps\hadis\models\reference.py:77 +# --- Unfold Internal Strings Override --- +#: .\apps\hadis\models\reference.py:78 +#, fuzzy +#| msgid "Search" +msgid "Researcher" +msgstr "Поиск" + +#: .\apps\hadis\models\reference.py:79 +#, fuzzy +#| msgid "year of publication" +msgid "City of Publication" +msgstr "год издания" + +#: .\apps\hadis\models\reference.py:80 +#, fuzzy +#| msgid "year of publication" +msgid "Country of Publication" +msgstr "год издания" + +#: .\apps\hadis\models\reference.py:81 +#, fuzzy +#| msgid "Phone Number" +msgid "Edition Number" +msgstr "Номер телефона" + +#: .\apps\hadis\models\reference.py:85 msgid "rate" msgstr "оценка" -#: .\apps\hadis\models\reference.py:80 +#: .\apps\hadis\models\reference.py:88 msgid "Rating from 0 to 5" msgstr "Оценка от 0 до 5" -#: .\apps\hadis\models\reference.py:91 +#: .\apps\hadis\models\reference.py:99 msgid "Book References" msgstr "Ссылки на книги" -#: .\apps\hadis\models\reference.py:213 +#: .\apps\hadis\models\reference.py:221 msgid "image" msgstr "изображение" -#: .\apps\hadis\models\reference.py:220 +#: .\apps\hadis\models\reference.py:222 .\apps\hadis\models\reference.py:264 +#, fuzzy +#| msgid "volume" +msgid "Volume" +msgstr "том" + +#: .\apps\hadis\models\reference.py:229 msgid "Book Reference Image" msgstr "Изображение источника книги" -#: .\apps\hadis\models\reference.py:221 +#: .\apps\hadis\models\reference.py:230 msgid "Book Reference Images" msgstr "Изображения источников книг" -#: .\apps\hadis\models\reference.py:250 .\apps\hadis\models\transmitter.py:245 +#: .\apps\hadis\models\reference.py:263 +#, fuzzy +#| msgid "Attachment File" +msgid "Document File" +msgstr "Файл вложения" + +#: .\apps\hadis\models\reference.py:265 +msgid "e.g., Volume 1, 01.pdf" +msgstr "например: Том 1, 01.pdf" + +#: .\apps\hadis\models\reference.py:270 +#, fuzzy +#| msgid "Book Reference Image" +msgid "Book Reference Document" +msgstr "Изображение источника книги" + +#: .\apps\hadis\models\reference.py:271 +#, fuzzy +#| msgid "Book Reference Images" +msgid "Book Reference Documents" +msgstr "Изображения источников книг" + +#: .\apps\hadis\models\reference.py:283 .\apps\hadis\models\transmitter.py:257 msgid "Birth Year (Hijri)" msgstr "Год рождения (по Хиджре)" -#: .\apps\hadis\models\reference.py:251 .\apps\hadis\models\transmitter.py:246 +#: .\apps\hadis\models\reference.py:284 .\apps\hadis\models\transmitter.py:258 msgid "Death Year (Hijri)" msgstr "Год смерти (по Хиджре)" -#: .\apps\hadis\models\reference.py:252 +#: .\apps\hadis\models\reference.py:285 msgid "Birth Year (Miladi)" msgstr "Год рождения (Милади)" -#: .\apps\hadis\models\reference.py:253 +#: .\apps\hadis\models\reference.py:286 msgid "Death Year (Miladi)" msgstr "Год смерти (Милади)" -#: .\apps\hadis\models\reference.py:257 +#: .\apps\hadis\models\reference.py:290 msgid "book references" msgstr "ссылки на книги" -#: .\apps\hadis\models\reference.py:265 +#: .\apps\hadis\models\reference.py:298 msgid "Book Author" msgstr "Автор книги" -#: .\apps\hadis\models\reference.py:266 +#: .\apps\hadis\models\reference.py:299 msgid "Book Authors" msgstr "Авторы книг" -#: .\apps\hadis\models\reference.py:300 +#: .\apps\hadis\models\reference.py:333 msgid "book attribute" msgstr "атрибут книги" -#: .\apps\hadis\models\reference.py:308 +#: .\apps\hadis\models\reference.py:341 msgid "Book Attribute" msgstr "Атрибут книги" -#: .\apps\hadis\models\reference.py:309 +#: .\apps\hadis\models\reference.py:342 msgid "Book Attributes" msgstr "Атрибуты книги" @@ -2540,10 +2721,6 @@ msgstr "Достоверности передатчиков" msgid "Other" msgstr "Другой" -#: .\apps\hadis\models\transmitter.py:230 -msgid "Unknown" -msgstr "Неизвестно" - #: .\apps\hadis\models\transmitter.py:234 msgid "Kunya" msgstr "Кунья" @@ -2557,117 +2734,167 @@ msgid "Nick Name" msgstr "Прозвище" #: .\apps\hadis\models\transmitter.py:240 +#, fuzzy +#| msgid "Refresh Data" +msgid "Raw Relatives Data" +msgstr "Обновить данные" + +#: .\apps\hadis\models\transmitter.py:241 +#, fuzzy +#| msgid "Other" +msgid "Father" +msgstr "Другой" + +#: .\apps\hadis\models\transmitter.py:242 +#, fuzzy +#| msgid "Other" +msgid "Mother" +msgstr "Другой" + +#: .\apps\hadis\models\transmitter.py:244 +msgid "Siblings" +msgstr "Братья и сестры" + +#: .\apps\hadis\models\transmitter.py:246 +msgid "Freed Slave Of" +msgstr "Вольноотпущенник" + +#: .\apps\hadis\models\transmitter.py:247 +#, fuzzy +#| msgid "Location" +msgid "Occupation" +msgstr "Местоположение" + +#: .\apps\hadis\models\transmitter.py:248 +#, fuzzy +#| msgid "Tour Features" +msgid "Features" +msgstr "Особенности тура" + +#: .\apps\hadis\models\transmitter.py:249 +msgid "Tags" +msgstr "Теги" + +#: .\apps\hadis\models\transmitter.py:252 msgid "Origin" msgstr "Происхождение" -#: .\apps\hadis\models\transmitter.py:241 +#: .\apps\hadis\models\transmitter.py:253 msgid "Lived in" msgstr "Жил в" -#: .\apps\hadis\models\transmitter.py:242 +#: .\apps\hadis\models\transmitter.py:254 msgid "Died in" msgstr "Умер в" -#: .\apps\hadis\models\transmitter.py:247 +#: .\apps\hadis\models\transmitter.py:259 msgid "Age at Death" msgstr "Возраст на момент смерти" -#: .\apps\hadis\models\transmitter.py:248 +#: .\apps\hadis\models\transmitter.py:260 msgid "Generation" msgstr "Поколение" -#: .\apps\hadis\models\transmitter.py:253 +#: .\apps\hadis\models\transmitter.py:265 msgid "reliability" msgstr "достоверность" -#: .\apps\hadis\models\transmitter.py:261 +#: .\apps\hadis\models\transmitter.py:273 msgid "Madhhab/School of Thought" msgstr "Мазхаб / Религиозная школа" -#: .\apps\hadis\models\transmitter.py:267 +#: .\apps\hadis\models\transmitter.py:279 msgid "In Sahih Muslim" msgstr "В Сахихе Муслима" -#: .\apps\hadis\models\transmitter.py:268 +#: .\apps\hadis\models\transmitter.py:280 msgid "Is this narrator present in Sahih Muslim?" msgstr "Присутствует ли этот передатчик в Сахихе Муслима?" -#: .\apps\hadis\models\transmitter.py:272 +#: .\apps\hadis\models\transmitter.py:284 msgid "In Sahih Bukhari" msgstr "В Сахихе аль-Бухари" -#: .\apps\hadis\models\transmitter.py:273 +#: .\apps\hadis\models\transmitter.py:285 msgid "Is this narrator present in Sahih Bukhari?" msgstr "Присутствует ли этот передатчик в Сахихе аль-Бухари?" -#: .\apps\hadis\models\transmitter.py:289 .\config\settings\base.py:879 +#: .\apps\hadis\models\transmitter.py:301 .\config\settings\base.py:870 msgid "Transmitters" msgstr "Передатчики" -#: .\apps\hadis\models\transmitter.py:423 -#: .\apps\hadis\models\transmitter.py:566 -#: .\apps\hadis\models\transmitter.py:634 +#: .\apps\hadis\models\transmitter.py:435 +#: .\apps\hadis\models\transmitter.py:587 +#: .\apps\hadis\models\transmitter.py:655 msgid "transmitter" msgstr "передатчик" -#: .\apps\hadis\models\transmitter.py:429 +#: .\apps\hadis\models\transmitter.py:441 +msgid "Chain Index" +msgstr "Индекс цепи" + +#: .\apps\hadis\models\transmitter.py:442 +msgid "Which chain/branch this belongs to (0, 1, 2...)" +msgstr "К какой цепи/ветви это относится (0, 1, 2...)" + +#: .\apps\hadis\models\transmitter.py:448 msgid "narrator layer" msgstr "уровень передатчика" -#: .\apps\hadis\models\transmitter.py:433 +#: .\apps\hadis\models\transmitter.py:452 msgid "The layer/class (Tabaqah) this narrator belongs to" msgstr "Уровень/класс (Табака), к которому принадлежит этот передатчик" -#: .\apps\hadis\models\transmitter.py:438 +#: .\apps\hadis\models\transmitter.py:457 msgid "reliability status" msgstr "статус достоверности" -#: .\apps\hadis\models\transmitter.py:442 +#: .\apps\hadis\models\transmitter.py:461 msgid "Reliability status of the narrator" msgstr "Статус достоверности передатчика" -#: .\apps\hadis\models\transmitter.py:447 +#: .\apps\hadis\models\transmitter.py:466 msgid "Order in the chain of transmission" msgstr "Порядок в цепочке передачи" -#: .\apps\hadis\models\transmitter.py:449 +#: .\apps\hadis\models\transmitter.py:468 msgid "is gap" msgstr "является разрывом" -#: .\apps\hadis\models\transmitter.py:458 +#: .\apps\hadis\models\transmitter.py:477 msgid "Hadis Transmitter" msgstr "Передатчик хадиса" -#: .\apps\hadis\models\transmitter.py:459 .\config\settings\base.py:885 +#: .\apps\hadis\models\transmitter.py:478 .\config\settings\base.py:876 msgid "Hadis Transmitters" msgstr "Передатчики хадисов" -#: .\apps\hadis\models\transmitter.py:550 +#: .\apps\hadis\models\transmitter.py:571 msgid "Opinion Status" msgstr "Статус мнения" -#: .\apps\hadis\models\transmitter.py:551 +#: .\apps\hadis\models\transmitter.py:572 msgid "Opinion Statuses" msgstr "Статусы мнений" -#: .\apps\hadis\models\transmitter.py:570 +#: .\apps\hadis\models\transmitter.py:591 msgid "Opinion Text" msgstr "Текст мнения" -#: .\apps\hadis\models\transmitter.py:574 +#: .\apps\hadis\models\transmitter.py:595 msgid "opinion status" msgstr "статус мнения" -#: .\apps\hadis\models\transmitter.py:588 +#: .\apps\hadis\models\transmitter.py:609 msgid "Transmitter Opinion" msgstr "Мнение о передатчике" -#: .\apps\hadis\models\transmitter.py:589 +#: .\apps\hadis\models\transmitter.py:610 msgid "Transmitter Opinions" msgstr "Мнения о передатчиках" -#: .\apps\hadis\models\transmitter.py:649 -#: .\apps\hadis\models\transmitter.py:650 +#: .\apps\hadis\models\transmitter.py:670 +#: .\apps\hadis\models\transmitter.py:671 msgid "Transmitter Original Text" msgstr "Оригинальный текст о передатчике" @@ -2824,16 +3051,16 @@ msgstr "Сохранить и редактировать случайный" #: .\apps\library\admin.py:44 .\apps\library\models.py:93 #: .\apps\podcast\admin.py:238 .\apps\video\admin.py:250 -#: .\config\settings\base.py:636 .\config\settings\base.py:709 -#: .\config\settings\base.py:735 .\config\settings\base.py:767 -#: .\config\settings\base.py:805 +#: .\config\settings\base.py:626 .\config\settings\base.py:700 +#: .\config\settings\base.py:726 .\config\settings\base.py:758 +#: .\config\settings\base.py:796 msgid "Categories" msgstr "Категории" #: .\apps\library\admin.py:51 .\apps\podcast\admin.py:220 -#: .\apps\video\admin.py:232 .\config\settings\base.py:389 -#: .\config\settings\base.py:407 .\config\settings\base.py:715 -#: .\config\settings\base.py:741 +#: .\apps\video\admin.py:232 .\config\settings\base.py:392 +#: .\config\settings\base.py:410 .\config\settings\base.py:706 +#: .\config\settings\base.py:732 msgid "Collections" msgstr "Коллекции" @@ -2843,7 +3070,7 @@ msgstr "Информация о файле" #: .\apps\library\admin.py:98 .\apps\library\admin.py:143 #: .\apps\library\models.py:31 .\apps\library\models.py:164 -#: .\config\settings\base.py:703 +#: .\config\settings\base.py:694 msgid "Books" msgstr "Книги" @@ -2971,7 +3198,7 @@ msgid "Playlist" msgstr "Плейлист" #: .\apps\podcast\admin.py:26 .\apps\video\admin.py:27 -#: .\config\settings\base.py:747 .\config\settings\base.py:823 +#: .\config\settings\base.py:738 .\config\settings\base.py:814 msgid "Playlists" msgstr "Плейлисты" @@ -3068,8 +3295,8 @@ msgstr "количество скачиваний и просмотров" msgid "Podcast" msgstr "Подкаст" -#: .\apps\podcast\models.py:124 .\config\settings\base.py:793 -#: .\config\settings\base.py:799 +#: .\apps\podcast\models.py:124 .\config\settings\base.py:784 +#: .\config\settings\base.py:790 msgid "Podcasts" msgstr "Подкасты" @@ -3114,11 +3341,11 @@ msgstr "подкаст" msgid "User Playlist" msgstr "Плейлист пользователя" -#: .\apps\podcast\models.py:269 .\config\settings\base.py:829 +#: .\apps\podcast\models.py:269 .\config\settings\base.py:820 msgid "User Playlists" msgstr "Плейлисты пользователей" -#: .\apps\quiz\admin\participant.py:61 .\apps\quiz\models\quiz.py:42 +#: .\apps\quiz\admin\participant.py:61 .\apps\quiz\models\quiz.py:49 #: .\utils\unfold_translations.py:24 msgid "Correct Answer" msgstr "Правильный ответ" @@ -3127,23 +3354,30 @@ msgstr "Правильный ответ" msgid "User Email" msgstr "Email пользователя" -#: .\apps\quiz\admin\quiz.py:71 .\apps\quiz\admin\quiz.py:74 -#: .\apps\quiz\models\quiz.py:49 +#: .\apps\quiz\admin\quiz.py:82 .\apps\quiz\admin\quiz.py:85 +#: .\apps\quiz\models\quiz.py:56 msgid "Questions" msgstr "Вопросы" -#: .\apps\quiz\admin\quiz.py:78 +#: .\apps\quiz\admin\quiz.py:89 msgid "Manage All Participants" msgstr "Управление всеми участниками" -#: .\apps\quiz\admin\quiz.py:85 +#: .\apps\quiz\admin\quiz.py:96 msgid "Quiz not found" msgstr "Тест не найден" -#: .\apps\quiz\models\participant.py:10 .\apps\quiz\models\quiz.py:17 -#: .\apps\quiz\models\quiz.py:36 -msgid "Quiz" -msgstr "Тест" +#: .\apps\quiz\admin\quiz.py:107 +#, fuzzy +#| msgid "Active Course" +msgid "View Course" +msgstr "Активный курс" + +#: .\apps\quiz\admin\quiz.py:119 +#, fuzzy +#| msgid "Course not found" +msgid "Course not found for this quiz." +msgstr "Курс не найден" #: .\apps\quiz\models\participant.py:14 msgid "Total Timing" @@ -3165,28 +3399,28 @@ msgstr "Балл за время" msgid "Total Score" msgstr "Общий балл" -#: .\apps\quiz\models\participant.py:44 .\apps\quiz\models\quiz.py:30 -#: .\apps\quiz\models\quiz.py:38 +#: .\apps\quiz\models\participant.py:44 .\apps\quiz\models\quiz.py:37 +#: .\apps\quiz\models\quiz.py:45 msgid "Option 1" msgstr "Вариант 1" -#: .\apps\quiz\models\participant.py:45 .\apps\quiz\models\quiz.py:31 -#: .\apps\quiz\models\quiz.py:39 +#: .\apps\quiz\models\participant.py:45 .\apps\quiz\models\quiz.py:38 +#: .\apps\quiz\models\quiz.py:46 msgid "Option 2" msgstr "Вариант 2" -#: .\apps\quiz\models\participant.py:46 .\apps\quiz\models\quiz.py:32 -#: .\apps\quiz\models\quiz.py:40 +#: .\apps\quiz\models\participant.py:46 .\apps\quiz\models\quiz.py:39 +#: .\apps\quiz\models\quiz.py:47 msgid "Option 3" msgstr "Вариант 3" -#: .\apps\quiz\models\participant.py:47 .\apps\quiz\models\quiz.py:33 -#: .\apps\quiz\models\quiz.py:41 +#: .\apps\quiz\models\participant.py:47 .\apps\quiz\models\quiz.py:40 +#: .\apps\quiz\models\quiz.py:48 msgid "Option 4" msgstr "Вариант 4" -#: .\apps\quiz\models\participant.py:51 .\apps\quiz\models\quiz.py:37 -#: .\apps\quiz\models\quiz.py:48 +#: .\apps\quiz\models\participant.py:51 .\apps\quiz\models\quiz.py:44 +#: .\apps\quiz\models\quiz.py:55 msgid "Question" msgstr "Вопрос" @@ -3210,24 +3444,19 @@ msgstr "Ответ пользователя на тест" msgid "User Quiz Answers" msgstr "Ответы пользователя на тест" -#: .\apps\quiz\models\quiz.py:10 +#: .\apps\quiz\models\quiz.py:11 msgid "Quiz Title" msgstr "Название теста" -#: .\apps\quiz\models\quiz.py:12 +#: .\apps\quiz\models\quiz.py:13 msgid "Each Question Timing" msgstr "Время на каждый вопрос" -#: .\apps\quiz\models\quiz.py:18 .\config\settings\base.py:560 -#: .\config\settings\base.py:670 -msgid "Quizzes" -msgstr "Тесты" - -#: .\apps\quiz\models\quiz.py:62 +#: .\apps\quiz\models\quiz.py:69 msgid "Rank Quiz" msgstr "Рейтинговый тест" -#: .\apps\quiz\models\quiz.py:63 +#: .\apps\quiz\models\quiz.py:70 msgid "Rank Quizzes" msgstr "Рейтинговые тесты" @@ -3491,102 +3720,102 @@ msgstr "Плейлисты видео в коллекциях" msgid "video" msgstr "видео" -#: .\config\settings\base.py:207 +#: .\config\settings\base.py:210 msgid "English" msgstr "Английский" -#: .\config\settings\base.py:208 +#: .\config\settings\base.py:211 msgid "Russia" msgstr "Русский" -#: .\config\settings\base.py:395 .\config\settings\base.py:413 +#: .\config\settings\base.py:398 .\config\settings\base.py:416 msgid "Middle Collections" msgstr "Средние коллекции" -#: .\config\settings\base.py:426 .\config\settings\base.py:539 -#: .\config\settings\base.py:773 .\config\settings\base.py:811 +#: .\config\settings\base.py:429 .\config\settings\base.py:550 +#: .\config\settings\base.py:764 .\config\settings\base.py:802 msgid "Pinned Collections" msgstr "Закрепленные коллекции" -#: .\config\settings\base.py:432 .\config\settings\base.py:545 -#: .\config\settings\base.py:779 .\config\settings\base.py:817 +#: .\config\settings\base.py:435 .\config\settings\base.py:556 +#: .\config\settings\base.py:770 .\config\settings\base.py:808 msgid "Regular Collections" msgstr "Обычные коллекции" -#: .\config\settings\base.py:452 +#: .\config\settings\base.py:455 msgid "Guest Users" msgstr "Гостевые пользователи" -#: .\config\settings\base.py:464 +#: .\config\settings\base.py:467 msgid "Groups" msgstr "Группы" -#: .\config\settings\base.py:515 .\config\settings\base.py:648 +#: .\config\settings\base.py:526 .\config\settings\base.py:638 msgid "Live Sessions" msgstr "Онлайн-сессии" -#: .\config\settings\base.py:566 -msgid "Quiz Participants" -msgstr "Участники теста" - -#: .\config\settings\base.py:584 .\templates\admin\index.html:7 -#: .\utils\admin.py:469 +#: .\config\settings\base.py:574 .\templates\admin\index.html:7 +#: .\utils\admin.py:510 msgid "Dashboard" msgstr "Панель управления" -#: .\config\settings\base.py:589 +#: .\config\settings\base.py:579 msgid "Calender" msgstr "Календарь" -#: .\config\settings\base.py:609 .\utils\unfold_translations.py:40 +#: .\config\settings\base.py:599 .\utils\unfold_translations.py:40 msgid "All Users" msgstr "Все пользователи" -#: .\config\settings\base.py:615 +#: .\config\settings\base.py:605 msgid "Students" msgstr "Студенты" -#: .\config\settings\base.py:621 .\utils\admin.py:555 +#: .\config\settings\base.py:611 .\utils\admin.py:596 msgid "Professors" msgstr "Профессора" -#: .\config\settings\base.py:654 +#: .\config\settings\base.py:644 msgid "Certificates" msgstr "Сертификаты" -#: .\config\settings\base.py:676 +#: .\config\settings\base.py:660 msgid "Transactions" msgstr "Транзакции" -#: .\config\settings\base.py:682 +#: .\config\settings\base.py:666 .\templates\admin\chat\live_chat.html:50 msgid "Chat Rooms" msgstr "Комнаты чатов" -#: .\config\settings\base.py:697 +#: .\config\settings\base.py:678 +msgid "Live Chat" +msgstr "Живой чат" + +#: .\config\settings\base.py:688 msgid "Libraries" msgstr "Библиотеки" -#: .\config\settings\base.py:723 .\config\settings\base.py:729 +#: .\config\settings\base.py:714 .\config\settings\base.py:720 msgid "Videos" msgstr "Видео" -#: .\config\settings\base.py:837 .\config\settings\base.py:855 +#: .\config\settings\base.py:828 .\config\settings\base.py:846 msgid "Hadis" msgstr "Хадис" -#: .\config\settings\base.py:867 +#: .\config\settings\base.py:858 msgid "Hadis Tags" msgstr "Теги хадисов" -#: .\config\settings\base.py:873 +#: .\config\settings\base.py:864 msgid "Hadis Status" msgstr "Статус хадиса" -#: .\config\settings\base.py:895 +#: .\config\settings\base.py:886 msgid "System Settings" msgstr "Системные настройки" -#: .\config\settings\base.py:904 +#: .\config\settings\base.py:895 msgid "Global Preferences" msgstr "Глобальные настройки" @@ -3612,10 +3841,73 @@ msgstr "Пожалуйста, исправьте ошибки ниже." msgid "Enter a new password for the user %(username)s." msgstr "Введите новый пароль для пользователя %(username)s." -#: .\templates\admin\base_site.html:3 .\templates\admin\index.html:7 +#: .\templates\admin\base_site.html:3 .\templates\admin\chat\live_chat.html:7 +#: .\templates\admin\index.html:7 msgid "Django site admin" msgstr "Администрирование сайта Django" +#: .\templates\admin\chat\live_chat.html:56 +msgid "New Chat" +msgstr "Новый чат" + +#: .\templates\admin\chat\live_chat.html:75 + +#| msgid "Select Student" +msgid "Select Contact" +msgstr "Выбрать контакт" + +#: .\templates\admin\chat\live_chat.html:82 + +#| msgid "Searching..." +msgid "Search users..." +msgstr "Поиск пользователей..." + +#: .\templates\admin\chat\live_chat.html:121 .\utils\unfold_translations.py:99 +msgid "No Chat Selected" +msgstr "Чат не выбран" + +#: .\templates\admin\chat\live_chat.html:122 .\utils\unfold_translations.py:100 +msgid "Select a chat from the sidebar to start messaging" +msgstr "Выберите чат на боковой панели, чтобы начать общение" + +#: .\templates\admin\chat\live_chat.html:131 + +#| msgid "Type to search..." +msgid "Type your message..." +msgstr "Введите сообщение..." + +#: .\templates\admin\chat\live_chat.html:151 .\utils\unfold_translations.py:101 +msgid "Failed to load users." +msgstr "Не удалось загрузить пользователей." + +#: .\templates\admin\chat\live_chat.html:152 .\utils\unfold_translations.py:102 +#, fuzzy +#| msgid "No courses found." +msgid "No users found." +msgstr "Курсы не найдены." + +#: .\templates\admin\chat\live_chat.html:153 .\utils\unfold_translations.py:103 +#, fuzzy +#| msgid "No categories found" +msgid "No active chats found." +msgstr "Категории не найдены" + +#: .\templates\admin\chat\live_chat.html:154 .\utils\unfold_translations.py:104 + +#| msgid "Lock Group Chat" +msgid "Group Chat" +msgstr "Групповой чат" + +#: .\templates\admin\chat\live_chat.html:155 .\utils\unfold_translations.py:105 + +#| msgid "Private" +msgid "Private Chat" +msgstr "Личный чат" + +#: .\templates\admin\chat\live_chat.html:156 .\utils\unfold_translations.py:106 +msgid "No messages yet. Start the conversation!" +msgstr "Сообщений пока нет. Начните беседу!" + #: .\templates\admin\filer\folder\directory_table.html:4 #: .\templates\admin\filer\folder\directory_table.html:160 msgid "Unsorted Uploads" @@ -3911,44 +4203,73 @@ msgstr "Разработка" msgid "Production" msgstr "Продакшн" -#: .\utils\admin.py:139 .\utils\admin.py:251 +#: .\utils\admin.py:154 .\utils\admin.py:155 .\utils\admin.py:294 +#: .\utils\unfold_translations.py:93 +msgid "Imam Javad Admin" +msgstr "Админ Имам Джавад" + +#: .\utils\admin.py:156 .\utils\admin.py:269 .\utils\unfold_translations.py:39 +msgid "System Administration" +msgstr "Системное Администрирование" + +#: .\utils\admin.py:157 .\utils\unfold_translations.py:94 +msgid "Imam Javad School" +msgstr "Школа Имама Джавада" + +#: .\utils\admin.py:171 .\utils\admin.py:289 msgid "Imam Javad Site" msgstr "Сайт Имам Джавад" -#: .\utils\admin.py:144 .\utils\admin.py:246 +#: .\utils\admin.py:176 .\utils\admin.py:284 msgid "Dovoodi Site" msgstr "Сайт Довуди" +#: .\utils\admin.py:181 .\utils\admin.py:267 .\utils\admin.py:268 +#: .\utils\unfold_translations.py:95 +msgid "Dovoodi Admin" +msgstr "Админ Довуди" -#: .\utils\admin.py:554 +#: .\utils\admin.py:270 .\utils\unfold_translations.py:96 +msgid "Dovodbi Application" +msgstr "Приложение Довудби" + +#: .\utils\admin.py:595 msgid "Active Students" msgstr "Активные студенты" -#: .\utils\admin.py:556 .\utils\unfold_translations.py:49 +#: .\utils\admin.py:597 .\utils\unfold_translations.py:49 msgid "Active Courses" msgstr "Активные водители" -#: .\utils\admin.py:557 +#: .\utils\admin.py:598 msgid "Total Blogs" msgstr "Всего блогов" -#: .\utils\admin.py:558 .\utils\unfold_translations.py:50 +#: .\utils\admin.py:599 .\utils\unfold_translations.py:50 msgid "30-Day Revenue" msgstr "Доход за 30 дней" -#: .\utils\admin.py:559 +#: .\utils\admin.py:599 .\utils\unfold_translations.py:97 +msgid "Updated Today" +msgstr "Обновлено сегодня" + +#: .\utils\admin.py:600 msgid "Pending Certificates" msgstr "Сертификаты в ожидании" -#: .\utils\admin.py:579 +#: .\utils\admin.py:600 .\utils\unfold_translations.py:98 +msgid "Requires Action" +msgstr "Требуется действие" + +#: .\utils\admin.py:620 msgid "Hadith Database" msgstr "База данных хадисов" -#: .\utils\admin.py:580 +#: .\utils\admin.py:621 msgid "Books & Articles" msgstr "Книги и статьи" -#: .\utils\admin.py:581 +#: .\utils\admin.py:622 msgid "Multimedia" msgstr "Мультимедиа" @@ -4135,10 +4456,6 @@ msgstr "Последние сообщения" msgid "Room name" msgstr "Название комнаты" -#: .\utils\unfold_translations.py:39 -msgid "System Administration" -msgstr "Системное Администрирование" - #: .\utils\unfold_translations.py:48 msgid "Active Course" msgstr "Активный курс" @@ -4232,7 +4549,10 @@ msgstr "Тип пользователя" msgid "" "Raw passwords are not stored, so there is no way to see this user’s " "password, but you can change the password using this form." -msgstr "Исходные пароли не хранятся, поэтому нет возможности увидеть пароль этого пользователя, но вы можете изменить пароль, используя эту форму." +msgstr "" +"Исходные пароли не хранятся, поэтому нет возможности увидеть пароль этого " +"пользователя, но вы можете изменить пароль, используя эту " +"форму." #: .\utils\unfold_translations.py:87 msgid "Users:" @@ -4254,50 +4574,35 @@ msgstr "( показаны оба поля )" msgid "(both fields are showing)" msgstr "(показаны оба поля)" -#: .\utils\unfold_translations.py:93 -msgid "Imam Javad Admin" -msgstr "Админ Имам Джавад" - -#: .\utils\unfold_translations.py:94 -msgid "Imam Javad School" -msgstr "Школа Имама Джавада" +#: .\utils\unfold_translations.py:113 -#: .\utils\unfold_translations.py:95 -msgid "Dovoodi Admin" -msgstr "Админ Довуди" +#| msgid "number" +msgid "Member" +msgstr "Участник" -#: .\utils\unfold_translations.py:96 -msgid "Dovodbi Application" -msgstr "Приложение Довудби" +#: .\utils\unfold_translations.py:115 +#, fuzzy +#| msgid "Is Staff" +msgid "Staff" +msgstr "Статус персонала" -#: .\utils\unfold_translations.py:97 -msgid "Updated Today" -msgstr "Обновлено сегодня" +#, fuzzy, python-brace-format +#~| msgid "courses" +#~ msgid "{count} courses" +#~ msgstr "{count} курсов" -#: .\utils\unfold_translations.py:98 -msgid "Requires Action" -msgstr "Требуется действие" +#, fuzzy, python-brace-format +#~| msgid "Total Score" +#~ msgid "{total} courses" +#~ msgstr "Общий балл" -#: .\apps\account\admin\user.py:471 -msgid "{count} permission" -msgid_plural "{count} permissions" -msgstr[0] "{count} разрешение" -msgstr[1] "{count} разрешения" -msgstr[2] "{count} разрешений" -msgstr[3] "{count} разрешений" +#, fuzzy, python-brace-format +#~| msgid "permissions" +#~ msgid "{count} permissions" +#~ msgstr "права доступа" -#: .\apps\account\admin\student.py:59 -msgid "{count} course" -msgid_plural "{count} courses" -msgstr[0] "{count} курс" -msgstr[1] "{count} курса" -msgstr[2] "{count} курсов" -msgstr[3] "{count} курсов" +#~ msgid "Course Lesson Title" +#~ msgstr "Название урока курса" -#: .\apps\account\admin\user.py:307 .\apps\account\admin\user.py:447 -msgid "{total} course" -msgid_plural "{total} courses" -msgstr[0] "{total} курс" -msgstr[1] "{total} курса" -msgstr[2] "{total} курсов" -msgstr[3] "{total} курсов" +#~ msgid "Quiz Participants" +#~ msgstr "Участники теста" diff --git a/static/js/live_chat.js b/static/js/live_chat.js index 4e8475e..f20ebb3 100644 --- a/static/js/live_chat.js +++ b/static/js/live_chat.js @@ -59,13 +59,13 @@ document.addEventListener('DOMContentLoaded', function () { renderUsers(data.users); } catch (e) { console.error("Failed to fetch users:", e); - UI.usersList.innerHTML = '

Failed to load users.

'; + UI.usersList.innerHTML = `

${window.CHAT_CONFIG.trans.failedToLoadUsers}

`; } } function renderUsers(users) { if (users.length === 0) { - UI.usersList.innerHTML = '

No users found.

'; + UI.usersList.innerHTML = `

${window.CHAT_CONFIG.trans.noUsersFound}

`; return; } @@ -131,7 +131,7 @@ document.addEventListener('DOMContentLoaded', function () { function renderRooms(rooms) { if (rooms.length === 0) { - UI.roomList.innerHTML = '

No active chats found.

'; + UI.roomList.innerHTML = `

${window.CHAT_CONFIG.trans.noActiveChatsFound}

`; return; } @@ -154,7 +154,7 @@ document.addEventListener('DOMContentLoaded', function () { ${room.time}
- ${room.type === 'group' ? '👥 Group Chat' : '👤 Private Chat'} + ${room.type === 'group' ? '👥 ' + window.CHAT_CONFIG.trans.groupChat : '👤 ' + window.CHAT_CONFIG.trans.privateChat} ${room.unread > 0 ? `${room.unread}` : ''}
@@ -214,7 +214,7 @@ document.addEventListener('DOMContentLoaded', function () { lastMessageId = data.messages[data.messages.length - 1].id; scrollToBottom(); } else if (lastMessageId === 0) { - UI.messages.innerHTML = '
chat

No messages yet. Start the conversation!

'; + UI.messages.innerHTML = `
chat

${window.CHAT_CONFIG.trans.noMessagesYet}

`; } } catch (e) { console.error("Failed to fetch messages:", e); diff --git a/templates/admin/chat/live_chat.html b/templates/admin/chat/live_chat.html index e9aee4e..2702dc3 100644 --- a/templates/admin/chat/live_chat.html +++ b/templates/admin/chat/live_chat.html @@ -110,26 +110,27 @@ -
chat
-

No Chat Selected

-

Select a chat from - the sidebar to start messaging

+

{% trans "No Chat Selected" %}

+

{% trans "Select a chat from the sidebar to start messaging" %}

-