Merge pull request #1352 from frappe/develop
chore: merge 'develop' into 'main'
This commit is contained in:
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -39,7 +39,7 @@ jobs:
|
|||||||
node-version: '18'
|
node-version: '18'
|
||||||
check-latest: true
|
check-latest: true
|
||||||
- name: setup cache for bench
|
- name: setup cache for bench
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ~/bench-cache
|
path: ~/bench-cache
|
||||||
key: ${{ runner.os }}
|
key: ${{ runner.os }}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"codemirror-editor-vue3": "^2.8.0",
|
"codemirror-editor-vue3": "^2.8.0",
|
||||||
"dayjs": "^1.11.6",
|
"dayjs": "^1.11.6",
|
||||||
"feather-icons": "^4.28.0",
|
"feather-icons": "^4.28.0",
|
||||||
"frappe-ui": "^0.1.109",
|
"frappe-ui": "^0.1.112",
|
||||||
"lucide-vue-next": "^0.383.0",
|
"lucide-vue-next": "^0.383.0",
|
||||||
"markdown-it": "^14.0.0",
|
"markdown-it": "^14.0.0",
|
||||||
"pinia": "^2.0.33",
|
"pinia": "^2.0.33",
|
||||||
|
|||||||
@@ -65,8 +65,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<TrialBanner
|
<TrialBanner
|
||||||
v-if="
|
v-if="
|
||||||
userResource.data?.user_type == 'System User' &&
|
userResource.data?.is_system_manager && userResource.data?.is_fc_site
|
||||||
userResource.data?.is_fc_site
|
|
||||||
"
|
"
|
||||||
:isSidebarCollapsed="sidebarStore.isSidebarCollapsed"
|
:isSidebarCollapsed="sidebarStore.isSidebarCollapsed"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ import {
|
|||||||
ComboboxOptions,
|
ComboboxOptions,
|
||||||
ComboboxOption,
|
ComboboxOption,
|
||||||
} from '@headlessui/vue'
|
} from '@headlessui/vue'
|
||||||
import { Popover, Button } from 'frappe-ui'
|
import { Popover } from 'frappe-ui'
|
||||||
import { ChevronDown, X } from 'lucide-vue-next'
|
import { ChevronDown, X } from 'lucide-vue-next'
|
||||||
import { ref, computed, useAttrs, useSlots, watch, nextTick } from 'vue'
|
import { ref, computed, useAttrs, useSlots, watch, nextTick } from 'vue'
|
||||||
|
|
||||||
|
|||||||
23
frontend/src/components/Icons/FrappeCloudIcon.vue
Normal file
23
frontend/src/components/Icons/FrappeCloudIcon.vue
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<template>
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 32 32"
|
||||||
|
fill="none"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
>
|
||||||
|
<rect
|
||||||
|
x="0.75"
|
||||||
|
y="0.75"
|
||||||
|
width="30.5"
|
||||||
|
height="30.5"
|
||||||
|
rx="6.25"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="1.5"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M24.5011 14.1124C23.3954 12.4873 21.532 11.5477 19.594 11.6747C18.7616 10.1384 17.2211 9.12267 15.4198 9.0084C14.1651 8.93222 12.8979 9.3766 11.9165 10.24C11.2456 10.8367 10.7611 11.5223 10.463 12.2968C10.289 12.7539 9.89151 13.0459 9.46912 13.0459H6.5V15.5852H9.46912C10.9226 15.5852 12.2271 14.6584 12.7737 13.2237C12.9227 12.8301 13.1712 12.4873 13.5439 12.1571C14.0284 11.7255 14.662 11.4969 15.2583 11.535C16.1528 11.5985 16.7863 12.0175 17.1839 12.538C17.6063 13.0205 17.8423 13.7696 17.979 14.5187C18.774 14.2902 19.6437 14.0997 20.476 14.2394C21.1593 14.3536 21.7929 14.7218 22.2525 15.2678C22.327 15.3567 22.4016 15.4456 22.4637 15.5471C23.06 16.4232 23.1718 17.5024 22.7743 18.5689C22.414 19.5592 21.0847 20.4607 19.9791 20.4607H11.3326C10.1524 20.4607 9.18339 19.5592 9.03432 18.4038H6.54969C6.71119 20.9686 8.78585 23 11.3326 23H19.9915C22.1283 23 24.3769 21.451 25.1098 19.4704C25.7931 17.6167 25.5695 15.6614 24.5135 14.0997L24.5011 14.1124Z"
|
||||||
|
fill="currentColor"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</template>
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
<template>
|
|
||||||
<Dialog
|
|
||||||
v-model="show"
|
|
||||||
:options="{
|
|
||||||
size: 'xl',
|
|
||||||
title: __('Login to Frappe Cloud'),
|
|
||||||
actions: [
|
|
||||||
{
|
|
||||||
label: __('Verify'),
|
|
||||||
variant: 'solid',
|
|
||||||
onClick: (close) => {
|
|
||||||
verifyCode(close)
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}"
|
|
||||||
>
|
|
||||||
<template #body-content>
|
|
||||||
<div>
|
|
||||||
<p>
|
|
||||||
{{ __('We have sent the verificaton code to your email id ') }}
|
|
||||||
<b>{{ props.email }}</b>
|
|
||||||
</p>
|
|
||||||
<FormControl
|
|
||||||
v-model="code"
|
|
||||||
:label="__('Verification Code')"
|
|
||||||
class="mb-4"
|
|
||||||
/>
|
|
||||||
<p>
|
|
||||||
{{ __("Didn't receive the code?") }}
|
|
||||||
<a href="#" @click="resendCode">{{ __('Resend') }}</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</Dialog>
|
|
||||||
</template>
|
|
||||||
<script setup>
|
|
||||||
import { call, Dialog } from 'frappe-ui'
|
|
||||||
import { showToast } from '@/utils'
|
|
||||||
|
|
||||||
const show = defineModel()
|
|
||||||
const code = ref('')
|
|
||||||
|
|
||||||
const props = defineProps({
|
|
||||||
email: {
|
|
||||||
type: String,
|
|
||||||
required: true,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
const verifyCode = (close) => {
|
|
||||||
if (!code.value) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
call(
|
|
||||||
'frappe.integrations.frappe_providers.frappecloud_billing.verify_verification_code',
|
|
||||||
{
|
|
||||||
verification_code: code.value,
|
|
||||||
route: window.route,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
.then((data) => {
|
|
||||||
if (data.message.login_token) {
|
|
||||||
close()
|
|
||||||
window.open(
|
|
||||||
`${frappeCloudBaseEndpoint}/api/method/press.api.developer.saas.login_to_fc?token=${data.message.login_token}`,
|
|
||||||
'_blank'
|
|
||||||
)
|
|
||||||
showToast(
|
|
||||||
__('Frappe Cloud Login Successful'),
|
|
||||||
`<p>${__('You will be redirected to Frappe Cloud soon.')}</p><p>${__(
|
|
||||||
"If you haven't been redirected,"
|
|
||||||
)} <a href="${frappeCloudBaseEndpoint}/api/method/press.api.developer.saas.login_to_fc?token=${
|
|
||||||
data.message.login_token
|
|
||||||
}" target="_blank">${__('Click here to login')}</a></p>`,
|
|
||||||
'check'
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
showToast(__('Login failed'), __('Please try again'), 'x')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
showToast(__('Login failed'), __('Please try again'), 'x')
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const resendCode = () => {
|
|
||||||
call(
|
|
||||||
'frappe.integrations.frappe_providers.frappecloud_billing.send_verification_code'
|
|
||||||
).catch((err) => {
|
|
||||||
showToast(__('Failed to resend code'), __('Please try again'), 'x')
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
@@ -39,13 +39,19 @@
|
|||||||
:required="true"
|
:required="true"
|
||||||
/>
|
/>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<FormControl
|
|
||||||
v-model="liveClass.timezone"
|
<div class="space-y-1.5">
|
||||||
type="select"
|
<label class="block text-ink-gray-5 text-xs" for="batchTimezone">
|
||||||
:options="getTimezoneOptions()"
|
{{ __('Timezone') }}
|
||||||
:label="__('Timezone')"
|
<span class="text-ink-red-3">*</span>
|
||||||
:required="true"
|
</label>
|
||||||
/>
|
<Autocomplete
|
||||||
|
@update:modelValue="(opt) => (liveClass.timezone = opt.value)"
|
||||||
|
:modelValue="liveClass.timezone"
|
||||||
|
:options="getTimezoneOptions()"
|
||||||
|
:required="true"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<FormControl
|
<FormControl
|
||||||
@@ -83,18 +89,14 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import {
|
import {
|
||||||
Input,
|
|
||||||
DatePicker,
|
|
||||||
Select,
|
|
||||||
Textarea,
|
|
||||||
Dialog,
|
Dialog,
|
||||||
createResource,
|
createResource,
|
||||||
Tooltip,
|
Tooltip,
|
||||||
FormControl,
|
FormControl,
|
||||||
|
Autocomplete,
|
||||||
} from 'frappe-ui'
|
} from 'frappe-ui'
|
||||||
import { reactive, inject } from 'vue'
|
import { reactive, inject } from 'vue'
|
||||||
import { getTimezones, createToast } from '@/utils/'
|
import { getTimezones, createToast } from '@/utils/'
|
||||||
import { Info } from 'lucide-vue-next'
|
|
||||||
|
|
||||||
const liveClasses = defineModel('reloadLiveClasses')
|
const liveClasses = defineModel('reloadLiveClasses')
|
||||||
const show = defineModel()
|
const show = defineModel()
|
||||||
|
|||||||
@@ -59,22 +59,21 @@
|
|||||||
v-if="userResource.data?.is_moderator"
|
v-if="userResource.data?.is_moderator"
|
||||||
v-model="showSettingsModal"
|
v-model="showSettingsModal"
|
||||||
/>
|
/>
|
||||||
<FCVerfiyCodeModal v-if="showFCLoginDialog" :email="verificationEmail" />
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import LMSLogo from '@/components/Icons/LMSLogo.vue'
|
import LMSLogo from '@/components/Icons/LMSLogo.vue'
|
||||||
import { sessionStore } from '@/stores/session'
|
import { sessionStore } from '@/stores/session'
|
||||||
import { call, Dropdown } from 'frappe-ui'
|
import { Dropdown } from 'frappe-ui'
|
||||||
import Apps from '@/components/Apps.vue'
|
import Apps from '@/components/Apps.vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { convertToTitleCase, showToast } from '@/utils'
|
import { convertToTitleCase } from '@/utils'
|
||||||
import { usersStore } from '@/stores/user'
|
import { usersStore } from '@/stores/user'
|
||||||
import { useSettings } from '@/stores/settings'
|
import { useSettings } from '@/stores/settings'
|
||||||
import { markRaw, watch, ref, onMounted, computed } from 'vue'
|
import { markRaw, watch, ref, onMounted, computed } from 'vue'
|
||||||
import SettingsModal from '@/components/Modals/Settings.vue'
|
|
||||||
import { createDialog } from '@/utils/dialogs'
|
import { createDialog } from '@/utils/dialogs'
|
||||||
import FCVerfiyCodeModal from './Modals/FCVerfiyCodeModal.vue'
|
import SettingsModal from '@/components/Modals/Settings.vue'
|
||||||
|
import FrappeCloudIcon from '@/components/Icons/FrappeCloudIcon.vue'
|
||||||
import {
|
import {
|
||||||
ChevronDown,
|
ChevronDown,
|
||||||
LogIn,
|
LogIn,
|
||||||
@@ -83,7 +82,6 @@ import {
|
|||||||
User,
|
User,
|
||||||
Settings,
|
Settings,
|
||||||
Sun,
|
Sun,
|
||||||
LogInIcon,
|
|
||||||
} from 'lucide-vue-next'
|
} from 'lucide-vue-next'
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
@@ -93,11 +91,8 @@ const settingsStore = useSettings()
|
|||||||
let { isLoggedIn } = sessionStore()
|
let { isLoggedIn } = sessionStore()
|
||||||
const showSettingsModal = ref(false)
|
const showSettingsModal = ref(false)
|
||||||
const theme = ref('light')
|
const theme = ref('light')
|
||||||
const $dialog = createDialog
|
|
||||||
const frappeCloudBaseEndpoint = 'https://frappecloud.com'
|
const frappeCloudBaseEndpoint = 'https://frappecloud.com'
|
||||||
|
const $dialog = createDialog
|
||||||
const showFCLoginDialog = ref(false)
|
|
||||||
const verificationEmail = ref(null)
|
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
isCollapsed: {
|
isCollapsed: {
|
||||||
@@ -166,15 +161,29 @@ const userDropdownOptions = computed(() => {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
icon: LogInIcon,
|
icon: FrappeCloudIcon,
|
||||||
label: 'Login to Frappe Cloud',
|
label: 'Login to Frappe Cloud',
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
initiateRequestForLoginToFrappeCloud()
|
$dialog({
|
||||||
|
title: __('Login to Frappe Cloud?'),
|
||||||
|
message: __(
|
||||||
|
'Are you sure you want to login to your Frappe Cloud dashboard?'
|
||||||
|
),
|
||||||
|
actions: [
|
||||||
|
{
|
||||||
|
label: __('Confirm'),
|
||||||
|
variant: 'solid',
|
||||||
|
onClick(close) {
|
||||||
|
loginToFrappeCloud()
|
||||||
|
close()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
})
|
||||||
},
|
},
|
||||||
condition: () => {
|
condition: () => {
|
||||||
return (
|
return (
|
||||||
userResource.data?.user_type == 'System User' &&
|
userResource.data?.is_system_manager && userResource.data?.is_fc_site
|
||||||
userResource.data?.is_fc_site
|
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -203,47 +212,11 @@ const userDropdownOptions = computed(() => {
|
|||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
const initiateRequestForLoginToFrappeCloud = () => {
|
const loginToFrappeCloud = () => {
|
||||||
$dialog({
|
let redirect_to = '/dashboard/welcome'
|
||||||
title: __('Login to Frappe Cloud?'),
|
if (userResource.data?.site_info.is_payment_method_added) {
|
||||||
message: __(
|
redirect_to = '/dashboard/sites/' + userResource.data.sitename
|
||||||
'Are you sure you want to login to your Frappe Cloud dashboard?'
|
}
|
||||||
),
|
window.open(`${frappeCloudBaseEndpoint}${redirect_to}`, '_blank')
|
||||||
actions: [
|
|
||||||
{
|
|
||||||
label: __('Confirm'),
|
|
||||||
variant: 'solid',
|
|
||||||
onClick(close) {
|
|
||||||
requestLoginToFC()
|
|
||||||
close()
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const requestLoginToFC = () => {
|
|
||||||
call(
|
|
||||||
'frappe.integrations.frappe_providers.frappecloud_billing.send_verification_code'
|
|
||||||
)
|
|
||||||
.then((data) => {
|
|
||||||
if (data.message.is_user_logged_in) {
|
|
||||||
window.open(
|
|
||||||
`${frappeCloudBaseEndpoint}${data.message.redirect_to}`,
|
|
||||||
'_blank'
|
|
||||||
)
|
|
||||||
return
|
|
||||||
} else {
|
|
||||||
showFCLoginDialog.value = true
|
|
||||||
verificationEmail.value = data.message.email
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
showToast(
|
|
||||||
__('Failed to login to Frappe Cloud'),
|
|
||||||
__('Please try again'),
|
|
||||||
'x'
|
|
||||||
)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ const isStudent = computed(() => {
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
const tabIndex = useRouteQuery('tab', 0)
|
const tabIndex = useRouteQuery('tab', 0, { transform: Number })
|
||||||
const tabs = computed(() => {
|
const tabs = computed(() => {
|
||||||
let batchTabs = []
|
let batchTabs = []
|
||||||
batchTabs.push({
|
batchTabs.push({
|
||||||
|
|||||||
2441
frontend/yarn.lock
Normal file
2441
frontend/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1 +1 @@
|
|||||||
__version__ = "2.23.0"
|
__version__ = "2.24.0"
|
||||||
|
|||||||
@@ -23,7 +23,10 @@ from frappe.utils import (
|
|||||||
from lms.lms.utils import get_average_rating, get_lesson_count
|
from lms.lms.utils import get_average_rating, get_lesson_count
|
||||||
from xml.dom.minidom import parseString
|
from xml.dom.minidom import parseString
|
||||||
from lms.lms.doctype.course_lesson.course_lesson import save_progress
|
from lms.lms.doctype.course_lesson.course_lesson import save_progress
|
||||||
from frappe.integrations.frappe_providers.frappecloud_billing import is_fc_site
|
from frappe.integrations.frappe_providers.frappecloud_billing import (
|
||||||
|
is_fc_site,
|
||||||
|
current_site_info,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
@@ -177,6 +180,10 @@ def get_user_info():
|
|||||||
user.is_evaluator = "Batch Evaluator" in user.roles
|
user.is_evaluator = "Batch Evaluator" in user.roles
|
||||||
user.is_student = "LMS Student" in user.roles
|
user.is_student = "LMS Student" in user.roles
|
||||||
user.is_fc_site = is_fc_site()
|
user.is_fc_site = is_fc_site()
|
||||||
|
user.is_system_manager = "System Manager" in user.roles
|
||||||
|
if user.is_fc_site and user.is_system_manager:
|
||||||
|
user.site_info = current_site_info()
|
||||||
|
user.sitename = frappe.local.site
|
||||||
return user
|
return user
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
1086
lms/locale/bs.po
1086
lms/locale/bs.po
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: frappe\n"
|
"Project-Id-Version: frappe\n"
|
||||||
"Report-Msgid-Bugs-To: jannat@frappe.io\n"
|
"Report-Msgid-Bugs-To: jannat@frappe.io\n"
|
||||||
"POT-Creation-Date: 2025-02-21 16:04+0000\n"
|
"POT-Creation-Date: 2025-02-21 16:04+0000\n"
|
||||||
"PO-Revision-Date: 2025-02-24 19:35\n"
|
"PO-Revision-Date: 2025-02-28 20:30\n"
|
||||||
"Last-Translator: jannat@frappe.io\n"
|
"Last-Translator: jannat@frappe.io\n"
|
||||||
"Language-Team: Persian\n"
|
"Language-Team: Persian\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -1080,7 +1080,7 @@ msgstr "ثبت نام خود را تکمیل کنید - فرصت را از دس
|
|||||||
#: lms/lms/doctype/lms_certificate_request/lms_certificate_request.json
|
#: lms/lms/doctype/lms_certificate_request/lms_certificate_request.json
|
||||||
#: lms/lms/widgets/CourseCard.html:78
|
#: lms/lms/widgets/CourseCard.html:78
|
||||||
msgid "Completed"
|
msgid "Completed"
|
||||||
msgstr "تکمیل شد"
|
msgstr "تکمیل شده"
|
||||||
|
|
||||||
#: frontend/src/components/BatchStudents.vue:369
|
#: frontend/src/components/BatchStudents.vue:369
|
||||||
msgid "Completed by Students"
|
msgid "Completed by Students"
|
||||||
@@ -1525,7 +1525,7 @@ msgstr "عزیز "
|
|||||||
#. Label of the default_currency (Link) field in DocType 'LMS Settings'
|
#. Label of the default_currency (Link) field in DocType 'LMS Settings'
|
||||||
#: lms/lms/doctype/lms_settings/lms_settings.json
|
#: lms/lms/doctype/lms_settings/lms_settings.json
|
||||||
msgid "Default Currency"
|
msgid "Default Currency"
|
||||||
msgstr "ارز پیش فرض"
|
msgstr "ارز پیشفرض"
|
||||||
|
|
||||||
#. Label of the degree_type (Data) field in DocType 'Education Detail'
|
#. Label of the degree_type (Data) field in DocType 'Education Detail'
|
||||||
#: lms/lms/doctype/education_detail/education_detail.json
|
#: lms/lms/doctype/education_detail/education_detail.json
|
||||||
@@ -4464,7 +4464,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: frontend/src/pages/BatchForm.vue:77 frontend/src/pages/CourseForm.vue:99
|
#: frontend/src/pages/BatchForm.vue:77 frontend/src/pages/CourseForm.vue:99
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "برداشتن"
|
msgstr "حدف"
|
||||||
|
|
||||||
#: frontend/src/components/Modals/AnnouncementModal.vue:27
|
#: frontend/src/components/Modals/AnnouncementModal.vue:27
|
||||||
msgid "Reply To"
|
msgid "Reply To"
|
||||||
@@ -5105,7 +5105,7 @@ msgstr "خلاصه"
|
|||||||
#: lms/lms/doctype/evaluator_schedule/evaluator_schedule.json
|
#: lms/lms/doctype/evaluator_schedule/evaluator_schedule.json
|
||||||
#: lms/lms/doctype/lms_certificate_request/lms_certificate_request.json
|
#: lms/lms/doctype/lms_certificate_request/lms_certificate_request.json
|
||||||
msgid "Sunday"
|
msgid "Sunday"
|
||||||
msgstr "یکشنبه"
|
msgstr "یکشنبه"
|
||||||
|
|
||||||
#: lms/lms/api.py:999
|
#: lms/lms/api.py:999
|
||||||
msgid "Suspicious pattern found in {0}: {1}"
|
msgid "Suspicious pattern found in {0}: {1}"
|
||||||
@@ -5352,7 +5352,7 @@ msgstr ""
|
|||||||
#: lms/lms/doctype/evaluator_schedule/evaluator_schedule.json
|
#: lms/lms/doctype/evaluator_schedule/evaluator_schedule.json
|
||||||
#: lms/lms/doctype/lms_certificate_request/lms_certificate_request.json
|
#: lms/lms/doctype/lms_certificate_request/lms_certificate_request.json
|
||||||
msgid "Thursday"
|
msgid "Thursday"
|
||||||
msgstr "پنج شنبه"
|
msgstr "پنجشنبه"
|
||||||
|
|
||||||
#. Label of the time (Time) field in DocType 'LMS Live Class'
|
#. Label of the time (Time) field in DocType 'LMS Live Class'
|
||||||
#: frontend/src/components/Modals/Event.vue:48
|
#: frontend/src/components/Modals/Event.vue:48
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Frappe LMS VERSION\n"
|
"Project-Id-Version: Frappe LMS VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: jannat@frappe.io\n"
|
"Report-Msgid-Bugs-To: jannat@frappe.io\n"
|
||||||
"POT-Creation-Date: 2025-02-21 16:04+0000\n"
|
"POT-Creation-Date: 2025-02-28 16:04+0000\n"
|
||||||
"PO-Revision-Date: 2025-02-21 16:04+0000\n"
|
"PO-Revision-Date: 2025-02-28 16:04+0000\n"
|
||||||
"Last-Translator: jannat@frappe.io\n"
|
"Last-Translator: jannat@frappe.io\n"
|
||||||
"Language-Team: jannat@frappe.io\n"
|
"Language-Team: jannat@frappe.io\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -65,6 +65,10 @@ msgstr ""
|
|||||||
msgid "<span style=\"font-size: 18px;\"><b>Statistics</b></span>"
|
msgid "<span style=\"font-size: 18px;\"><b>Statistics</b></span>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lms/lms/doctype/lms_course/lms_course.py:58
|
||||||
|
msgid "A course cannot have both paid certificate and certificate of completion."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/CourseForm.vue:40
|
#: frontend/src/pages/CourseForm.vue:40
|
||||||
msgid "A one line introduction to the course that appears on the course card"
|
msgid "A one line introduction to the course that appears on the course card"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -187,16 +191,16 @@ msgid "Add your assignment as {0}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the address (Link) field in DocType 'LMS Payment'
|
#. Label of the address (Link) field in DocType 'LMS Payment'
|
||||||
#: frontend/src/pages/Billing.vue:17 frontend/src/pages/Billing.vue:69
|
#: frontend/src/pages/Billing.vue:64
|
||||||
#: lms/lms/doctype/lms_payment/lms_payment.json
|
#: lms/lms/doctype/lms_payment/lms_payment.json
|
||||||
msgid "Address"
|
msgid "Address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:79
|
#: frontend/src/pages/Billing.vue:74
|
||||||
msgid "Address Line 1"
|
msgid "Address Line 1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:83
|
#: frontend/src/pages/Billing.vue:78
|
||||||
msgid "Address Line 2"
|
msgid "Address Line 2"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -267,9 +271,11 @@ msgid "Already Registered"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the amount (Currency) field in DocType 'LMS Batch'
|
#. Label of the amount (Currency) field in DocType 'LMS Batch'
|
||||||
|
#. Label of the course_price (Currency) field in DocType 'LMS Course'
|
||||||
#. Label of the amount (Currency) field in DocType 'LMS Payment'
|
#. Label of the amount (Currency) field in DocType 'LMS Payment'
|
||||||
#: frontend/src/pages/BatchForm.vue:209
|
#: frontend/src/pages/BatchForm.vue:209 frontend/src/pages/CourseForm.vue:220
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.json
|
#: lms/lms/doctype/lms_batch/lms_batch.json
|
||||||
|
#: lms/lms/doctype/lms_course/lms_course.json
|
||||||
#: lms/lms/doctype/lms_payment/lms_payment.json
|
#: lms/lms/doctype/lms_payment/lms_payment.json
|
||||||
#: lms/public/js/common_functions.js:379
|
#: lms/public/js/common_functions.js:379
|
||||||
msgid "Amount"
|
msgid "Amount"
|
||||||
@@ -283,11 +289,15 @@ msgstr ""
|
|||||||
msgid "Amount (USD)"
|
msgid "Amount (USD)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:61
|
#: lms/lms/doctype/lms_batch/lms_batch.py:60
|
||||||
msgid "Amount and currency are required for paid batches."
|
msgid "Amount and currency are required for paid batches."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_course/lms_course.py:57
|
#: lms/lms/doctype/lms_course/lms_course.py:69
|
||||||
|
msgid "Amount and currency are required for paid certificates."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: lms/lms/doctype/lms_course/lms_course.py:66
|
||||||
msgid "Amount and currency are required for paid courses."
|
msgid "Amount and currency are required for paid courses."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -362,7 +372,7 @@ msgstr ""
|
|||||||
msgid "Archived"
|
msgid "Archived"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/UpcomingEvaluations.vue:129
|
#: frontend/src/components/UpcomingEvaluations.vue:135
|
||||||
msgid "Are you sure you want to cancel this evaluation? This action cannot be undone."
|
msgid "Are you sure you want to cancel this evaluation? This action cannot be undone."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -398,7 +408,7 @@ msgstr ""
|
|||||||
msgid "Assessment added successfully"
|
msgid "Assessment added successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:71
|
#: lms/lms/doctype/lms_batch/lms_batch.py:70
|
||||||
msgid "Assessment {0} has already been added to this batch."
|
msgid "Assessment {0} has already been added to this batch."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -494,7 +504,7 @@ msgstr ""
|
|||||||
msgid "Average of Feedback Received"
|
msgid "Average of Feedback Received"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Lesson.vue:96
|
#: frontend/src/pages/Lesson.vue:97
|
||||||
msgid "Back to Course"
|
msgid "Back to Course"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -600,7 +610,7 @@ msgstr ""
|
|||||||
msgid "Batch Start Date:"
|
msgid "Batch Start Date:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:430
|
#: lms/lms/doctype/lms_batch/lms_batch.py:418
|
||||||
msgid "Batch Start Reminder"
|
msgid "Batch Start Reminder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -615,7 +625,7 @@ msgstr ""
|
|||||||
msgid "Batch Updated"
|
msgid "Batch Updated"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:42
|
#: lms/lms/doctype/lms_batch/lms_batch.py:41
|
||||||
msgid "Batch end date cannot be before the batch start date"
|
msgid "Batch end date cannot be before the batch start date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -651,7 +661,7 @@ msgid "Billing Details"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the billing_name (Data) field in DocType 'LMS Payment'
|
#. Label of the billing_name (Data) field in DocType 'LMS Payment'
|
||||||
#: frontend/src/pages/Billing.vue:75
|
#: frontend/src/pages/Billing.vue:70
|
||||||
#: lms/lms/doctype/lms_payment/lms_payment.json
|
#: lms/lms/doctype/lms_payment/lms_payment.json
|
||||||
msgid "Billing Name"
|
msgid "Billing Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -680,7 +690,7 @@ msgstr ""
|
|||||||
msgid "Business Owner"
|
msgid "Business Owner"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:45
|
#: frontend/src/components/CourseCardOverlay.vue:47
|
||||||
msgid "Buy this course"
|
msgid "Buy this course"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -693,12 +703,12 @@ msgstr ""
|
|||||||
msgid "CGPA/4"
|
msgid "CGPA/4"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/UpcomingEvaluations.vue:55
|
#: frontend/src/components/UpcomingEvaluations.vue:61
|
||||||
#: frontend/src/components/UpcomingEvaluations.vue:134
|
#: frontend/src/components/UpcomingEvaluations.vue:140
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/UpcomingEvaluations.vue:128
|
#: frontend/src/components/UpcomingEvaluations.vue:134
|
||||||
msgid "Cancel this evaluation?"
|
msgid "Cancel this evaluation?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -739,7 +749,9 @@ msgstr ""
|
|||||||
msgid "Category Name"
|
msgid "Category Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. Label of the certificate (Link) field in DocType 'LMS Enrollment'
|
||||||
#. Label of a shortcut in the LMS Workspace
|
#. Label of a shortcut in the LMS Workspace
|
||||||
|
#: lms/lms/doctype/lms_enrollment/lms_enrollment.json
|
||||||
#: lms/lms/workspace/lms/lms.json
|
#: lms/lms/workspace/lms/lms.json
|
||||||
msgid "Certificate"
|
msgid "Certificate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -753,6 +765,10 @@ msgstr ""
|
|||||||
msgid "Certificate Link"
|
msgid "Certificate Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: frontend/src/components/CourseCardOverlay.vue:124
|
||||||
|
msgid "Certificate of Completion"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/Modals/Event.vue:310
|
#: frontend/src/components/Modals/Event.vue:310
|
||||||
msgid "Certificate saved successfully"
|
msgid "Certificate saved successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -768,15 +784,20 @@ msgstr ""
|
|||||||
#. Label of the certification (Table) field in DocType 'User'
|
#. Label of the certification (Table) field in DocType 'User'
|
||||||
#. Name of a DocType
|
#. Name of a DocType
|
||||||
#. Label of the certification (Check) field in DocType 'LMS Batch'
|
#. Label of the certification (Check) field in DocType 'LMS Batch'
|
||||||
#. Label of the certification_tab (Tab Break) field in DocType 'LMS Course'
|
#. Label of the certification_section (Section Break) field in DocType 'LMS
|
||||||
|
#. Enrollment'
|
||||||
#. Label of a Card Break in the LMS Workspace
|
#. Label of a Card Break in the LMS Workspace
|
||||||
#. Label of a Link in the LMS Workspace
|
#. Label of a Link in the LMS Workspace
|
||||||
|
#: frontend/src/components/CourseCard.vue:110
|
||||||
#: frontend/src/components/Modals/Event.vue:371
|
#: frontend/src/components/Modals/Event.vue:371
|
||||||
#: frontend/src/pages/BatchForm.vue:37 frontend/src/pages/Batches.vue:38
|
#: frontend/src/pages/BatchForm.vue:37 frontend/src/pages/Batches.vue:38
|
||||||
|
#: frontend/src/pages/CourseCertification.vue:10
|
||||||
|
#: frontend/src/pages/CourseCertification.vue:114
|
||||||
#: lms/fixtures/custom_field.json
|
#: lms/fixtures/custom_field.json
|
||||||
#: lms/lms/doctype/certification/certification.json
|
#: lms/lms/doctype/certification/certification.json
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.json
|
#: lms/lms/doctype/lms_batch/lms_batch.json
|
||||||
#: lms/lms/doctype/lms_course/lms_course.json lms/lms/workspace/lms/lms.json
|
#: lms/lms/doctype/lms_enrollment/lms_enrollment.json
|
||||||
|
#: lms/lms/workspace/lms/lms.json
|
||||||
msgid "Certification"
|
msgid "Certification"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -785,11 +806,6 @@ msgstr ""
|
|||||||
msgid "Certification Details"
|
msgid "Certification Details"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the expiry (Int) field in DocType 'LMS Course'
|
|
||||||
#: lms/lms/doctype/lms_course/lms_course.json
|
|
||||||
msgid "Certification Expires After (Years)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. Label of the certification_name (Data) field in DocType 'Certification'
|
#. Label of the certification_name (Data) field in DocType 'Certification'
|
||||||
#: lms/lms/doctype/certification/certification.json
|
#: lms/lms/doctype/certification/certification.json
|
||||||
msgid "Certification Name"
|
msgid "Certification Name"
|
||||||
@@ -877,7 +893,7 @@ msgid "Choose one answer"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the city (Data) field in DocType 'User'
|
#. Label of the city (Data) field in DocType 'User'
|
||||||
#: frontend/src/pages/Billing.vue:86 lms/fixtures/custom_field.json
|
#: frontend/src/pages/Billing.vue:81 lms/fixtures/custom_field.json
|
||||||
msgid "City"
|
msgid "City"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1084,7 +1100,9 @@ msgstr ""
|
|||||||
msgid "Completed by Students"
|
msgid "Completed by Students"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/CourseForm.vue:201
|
#. Label of the enable_certification (Check) field in DocType 'LMS Course'
|
||||||
|
#: frontend/src/pages/CourseForm.vue:212
|
||||||
|
#: lms/lms/doctype/lms_course/lms_course.json
|
||||||
msgid "Completion Certificate"
|
msgid "Completion Certificate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1124,7 +1142,7 @@ msgstr ""
|
|||||||
msgid "Congratulations on getting certified!"
|
msgid "Congratulations on getting certified!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:53
|
#: frontend/src/components/CourseCardOverlay.vue:55
|
||||||
msgid "Contact the Administrator to enroll for this course."
|
msgid "Contact the Administrator to enroll for this course."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1146,7 +1164,7 @@ msgstr ""
|
|||||||
msgid "Contract"
|
msgid "Contract"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:438
|
#: lms/lms/utils.py:437
|
||||||
msgid "Cookie Policy"
|
msgid "Cookie Policy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1174,7 +1192,7 @@ msgstr ""
|
|||||||
|
|
||||||
#. Label of the country (Link) field in DocType 'User'
|
#. Label of the country (Link) field in DocType 'User'
|
||||||
#. Label of the country (Link) field in DocType 'Payment Country'
|
#. Label of the country (Link) field in DocType 'Payment Country'
|
||||||
#: frontend/src/pages/Billing.vue:97 lms/fixtures/custom_field.json
|
#: frontend/src/pages/Billing.vue:92 lms/fixtures/custom_field.json
|
||||||
#: lms/lms/doctype/payment_country/payment_country.json
|
#: lms/lms/doctype/payment_country/payment_country.json
|
||||||
msgid "Country"
|
msgid "Country"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1253,10 +1271,6 @@ msgstr ""
|
|||||||
msgid "Course Completed"
|
msgid "Course Completed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/widgets/CourseOutline.html:9
|
|
||||||
msgid "Course Content"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. Name of a role
|
#. Name of a role
|
||||||
#: frontend/src/pages/ProfileRoles.vue:16
|
#: frontend/src/pages/ProfileRoles.vue:16
|
||||||
#: lms/lms/doctype/course_chapter/course_chapter.json
|
#: lms/lms/doctype/course_chapter/course_chapter.json
|
||||||
@@ -1307,12 +1321,6 @@ msgstr ""
|
|||||||
msgid "Course Outline"
|
msgid "Course Outline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the course_price (Currency) field in DocType 'LMS Course'
|
|
||||||
#: frontend/src/pages/CourseForm.vue:219
|
|
||||||
#: lms/lms/doctype/lms_course/lms_course.json
|
|
||||||
msgid "Course Price"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. Name of a report
|
#. Name of a report
|
||||||
#: lms/lms/report/course_progress_summary/course_progress_summary.json
|
#: lms/lms/report/course_progress_summary/course_progress_summary.json
|
||||||
msgid "Course Progress Summary"
|
msgid "Course Progress Summary"
|
||||||
@@ -1345,11 +1353,11 @@ msgstr ""
|
|||||||
msgid "Course added to program"
|
msgid "Course added to program"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:277
|
#: lms/lms/doctype/lms_batch/lms_batch.py:265
|
||||||
msgid "Course already added to the batch."
|
msgid "Course already added to the batch."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/CourseForm.vue:461
|
#: frontend/src/pages/CourseForm.vue:469
|
||||||
msgid "Course deleted successfully"
|
msgid "Course deleted successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1357,7 +1365,7 @@ msgstr ""
|
|||||||
msgid "Course moved successfully"
|
msgid "Course moved successfully"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:50
|
#: lms/lms/doctype/lms_batch/lms_batch.py:49
|
||||||
#: lms/lms/doctype/lms_program/lms_program.py:19
|
#: lms/lms/doctype/lms_program/lms_program.py:19
|
||||||
msgid "Course {0} has already been added to this batch."
|
msgid "Course {0} has already been added to this batch."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1371,6 +1379,7 @@ msgstr ""
|
|||||||
#: frontend/src/components/BatchStudents.vue:92
|
#: frontend/src/components/BatchStudents.vue:92
|
||||||
#: frontend/src/components/Modals/BatchStudentProgress.vue:79
|
#: frontend/src/components/Modals/BatchStudentProgress.vue:79
|
||||||
#: frontend/src/pages/BatchDetail.vue:21 frontend/src/pages/BatchDetail.vue:70
|
#: frontend/src/pages/BatchDetail.vue:21 frontend/src/pages/BatchDetail.vue:70
|
||||||
|
#: frontend/src/pages/CourseCertification.vue:106
|
||||||
#: frontend/src/pages/Courses.vue:8 frontend/src/pages/Statistics.vue:21
|
#: frontend/src/pages/Courses.vue:8 frontend/src/pages/Statistics.vue:21
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.json
|
#: lms/lms/doctype/lms_batch/lms_batch.json
|
||||||
#: lms/lms/doctype/lms_settings/lms_settings.json
|
#: lms/lms/doctype/lms_settings/lms_settings.json
|
||||||
@@ -1431,7 +1440,7 @@ msgstr ""
|
|||||||
#. Label of the currency (Link) field in DocType 'LMS Batch'
|
#. Label of the currency (Link) field in DocType 'LMS Batch'
|
||||||
#. Label of the currency (Link) field in DocType 'LMS Course'
|
#. Label of the currency (Link) field in DocType 'LMS Course'
|
||||||
#. Label of the currency (Link) field in DocType 'LMS Payment'
|
#. Label of the currency (Link) field in DocType 'LMS Payment'
|
||||||
#: frontend/src/pages/BatchForm.vue:217 frontend/src/pages/CourseForm.vue:226
|
#: frontend/src/pages/BatchForm.vue:217 frontend/src/pages/CourseForm.vue:225
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.json
|
#: lms/lms/doctype/lms_batch/lms_batch.json
|
||||||
#: lms/lms/doctype/lms_course/lms_course.json
|
#: lms/lms/doctype/lms_course/lms_course.json
|
||||||
#: lms/lms/doctype/lms_payment/lms_payment.json
|
#: lms/lms/doctype/lms_payment/lms_payment.json
|
||||||
@@ -1532,7 +1541,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: frontend/src/components/CourseOutline.vue:240
|
#: frontend/src/components/CourseOutline.vue:240
|
||||||
#: frontend/src/components/CourseOutline.vue:298
|
#: frontend/src/components/CourseOutline.vue:298
|
||||||
#: frontend/src/pages/CourseForm.vue:15 frontend/src/pages/CourseForm.vue:474
|
#: frontend/src/pages/CourseForm.vue:15 frontend/src/pages/CourseForm.vue:482
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1540,7 +1549,7 @@ msgstr ""
|
|||||||
msgid "Delete Chapter"
|
msgid "Delete Chapter"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/CourseForm.vue:468
|
#: frontend/src/pages/CourseForm.vue:476
|
||||||
msgid "Delete Course"
|
msgid "Delete Course"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1552,7 +1561,7 @@ msgstr ""
|
|||||||
msgid "Delete this lesson?"
|
msgid "Delete this lesson?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/CourseForm.vue:469
|
#: frontend/src/pages/CourseForm.vue:477
|
||||||
msgid "Deleting the course will also delete all its chapters and lessons. Are you sure you want to delete this course?"
|
msgid "Deleting the course will also delete all its chapters and lessons. Are you sure you want to delete this course?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1607,7 +1616,7 @@ msgstr ""
|
|||||||
msgid "Didn't receive the code?"
|
msgid "Didn't receive the code?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/CourseForm.vue:196
|
#: frontend/src/pages/CourseForm.vue:194
|
||||||
msgid "Disable Self Enrollment"
|
msgid "Disable Self Enrollment"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1684,9 +1693,9 @@ msgid "E-mail"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/BatchOverlay.vue:107
|
#: frontend/src/components/BatchOverlay.vue:107
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:86
|
#: frontend/src/components/CourseCardOverlay.vue:88
|
||||||
#: frontend/src/components/Modals/ChapterModal.vue:9
|
#: frontend/src/components/Modals/ChapterModal.vue:9
|
||||||
#: frontend/src/pages/JobDetail.vue:31 frontend/src/pages/Lesson.vue:65
|
#: frontend/src/pages/JobDetail.vue:31 frontend/src/pages/Lesson.vue:66
|
||||||
#: frontend/src/pages/Profile.vue:32 frontend/src/pages/Programs.vue:53
|
#: frontend/src/pages/Profile.vue:32 frontend/src/pages/Programs.vue:53
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1756,11 +1765,6 @@ msgstr ""
|
|||||||
msgid "Enable"
|
msgid "Enable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the enable_certification (Check) field in DocType 'LMS Course'
|
|
||||||
#: lms/lms/doctype/lms_course/lms_course.json
|
|
||||||
msgid "Enable Certification"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_settings/lms_settings.py:20
|
#: lms/lms/doctype/lms_settings/lms_settings.py:20
|
||||||
msgid "Enable Google API in Google Settings to send calendar invites for evaluations."
|
msgid "Enable Google API in Google Settings to send calendar invites for evaluations."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1825,7 +1829,7 @@ msgid "Enrolled"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/CourseCard.vue:41
|
#: frontend/src/components/CourseCard.vue:41
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:104
|
#: frontend/src/components/CourseCardOverlay.vue:106
|
||||||
#: frontend/src/pages/CourseDetail.vue:33
|
#: frontend/src/pages/CourseDetail.vue:33
|
||||||
msgid "Enrolled Students"
|
msgid "Enrolled Students"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1843,7 +1847,7 @@ msgstr ""
|
|||||||
msgid "Enrollment Count"
|
msgid "Enrollment Count"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:1740
|
#: lms/lms/utils.py:1769
|
||||||
msgid "Enrollment Failed"
|
msgid "Enrollment Failed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1884,13 +1888,13 @@ msgstr ""
|
|||||||
#: frontend/src/components/Quiz.vue:589
|
#: frontend/src/components/Quiz.vue:589
|
||||||
#: frontend/src/components/SettingDetails.vue:62
|
#: frontend/src/components/SettingDetails.vue:62
|
||||||
#: frontend/src/pages/AssignmentForm.vue:139
|
#: frontend/src/pages/AssignmentForm.vue:139
|
||||||
#: frontend/src/pages/AssignmentForm.vue:159 frontend/src/pages/Billing.vue:264
|
#: frontend/src/pages/AssignmentForm.vue:159 frontend/src/pages/Billing.vue:263
|
||||||
#: frontend/src/pages/QuizForm.vue:346 frontend/src/pages/QuizForm.vue:361
|
#: frontend/src/pages/QuizForm.vue:346 frontend/src/pages/QuizForm.vue:361
|
||||||
#: frontend/src/pages/QuizSubmission.vue:147
|
#: frontend/src/pages/QuizSubmission.vue:147
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:181
|
#: lms/lms/doctype/lms_batch/lms_batch.py:180
|
||||||
msgid "Error creating live class. Please try again. {0}"
|
msgid "Error creating live class. Please try again. {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1918,7 +1922,7 @@ msgstr ""
|
|||||||
msgid "Evaluation Request"
|
msgid "Evaluation Request"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:78
|
#: lms/lms/doctype/lms_batch/lms_batch.py:77
|
||||||
msgid "Evaluation end date cannot be less than the batch end date."
|
msgid "Evaluation end date cannot be less than the batch end date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1932,15 +1936,17 @@ msgstr ""
|
|||||||
#. Label of the evaluator (Link) field in DocType 'LMS Certificate'
|
#. Label of the evaluator (Link) field in DocType 'LMS Certificate'
|
||||||
#. Label of the evaluator (Link) field in DocType 'LMS Certificate Evaluation'
|
#. Label of the evaluator (Link) field in DocType 'LMS Certificate Evaluation'
|
||||||
#. Label of the evaluator (Link) field in DocType 'LMS Certificate Request'
|
#. Label of the evaluator (Link) field in DocType 'LMS Certificate Request'
|
||||||
|
#. Label of the evaluator (Link) field in DocType 'LMS Course'
|
||||||
#: frontend/src/components/Modals/BatchCourseModal.vue:26
|
#: frontend/src/components/Modals/BatchCourseModal.vue:26
|
||||||
#: frontend/src/components/Modals/BulkCertificates.vue:22
|
#: frontend/src/components/Modals/BulkCertificates.vue:22
|
||||||
#: frontend/src/pages/ProfileRoles.vue:22
|
#: frontend/src/pages/CourseForm.vue:231 frontend/src/pages/ProfileRoles.vue:22
|
||||||
#: lms/lms/doctype/batch_course/batch_course.json
|
#: lms/lms/doctype/batch_course/batch_course.json
|
||||||
#: lms/lms/doctype/course_evaluator/course_evaluator.json
|
#: lms/lms/doctype/course_evaluator/course_evaluator.json
|
||||||
#: lms/lms/doctype/lms_assignment_submission/lms_assignment_submission.json
|
#: lms/lms/doctype/lms_assignment_submission/lms_assignment_submission.json
|
||||||
#: lms/lms/doctype/lms_certificate/lms_certificate.json
|
#: lms/lms/doctype/lms_certificate/lms_certificate.json
|
||||||
#: lms/lms/doctype/lms_certificate_evaluation/lms_certificate_evaluation.json
|
#: lms/lms/doctype/lms_certificate_evaluation/lms_certificate_evaluation.json
|
||||||
#: lms/lms/doctype/lms_certificate_request/lms_certificate_request.json
|
#: lms/lms/doctype/lms_certificate_request/lms_certificate_request.json
|
||||||
|
#: lms/lms/doctype/lms_course/lms_course.json
|
||||||
#: lms/templates/upcoming_evals.html:33
|
#: lms/templates/upcoming_evals.html:33
|
||||||
msgid "Evaluator"
|
msgid "Evaluator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1965,6 +1971,10 @@ msgstr ""
|
|||||||
msgid "Evaluator is Unavailable"
|
msgid "Evaluator is Unavailable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lms/lms/doctype/lms_course/lms_course.py:62
|
||||||
|
msgid "Evaluator is required for paid certificates."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the event (Select) field in DocType 'LMS Badge'
|
#. Label of the event (Select) field in DocType 'LMS Badge'
|
||||||
#. Label of the event (Link) field in DocType 'LMS Live Class'
|
#. Label of the event (Link) field in DocType 'LMS Live Class'
|
||||||
#: lms/lms/doctype/lms_badge/lms_badge.json
|
#: lms/lms/doctype/lms_badge/lms_badge.json
|
||||||
@@ -2177,11 +2187,11 @@ msgstr ""
|
|||||||
msgid "Function"
|
msgid "Function"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:48
|
#: frontend/src/pages/Billing.vue:43
|
||||||
msgid "GST Amount"
|
msgid "GST Amount"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:115
|
#: frontend/src/pages/Billing.vue:110
|
||||||
msgid "GST Number"
|
msgid "GST Number"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2204,10 +2214,12 @@ msgstr ""
|
|||||||
msgid "Generate Google Meet Link"
|
msgid "Generate Google Meet Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:73
|
#: frontend/src/components/CourseCardOverlay.vue:75
|
||||||
msgid "Get Certificate"
|
msgid "Get Certificate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: frontend/src/components/CertificationLinks.vue:24
|
||||||
|
#: frontend/src/components/CertificationLinks.vue:40
|
||||||
#: frontend/src/pages/CertifiedParticipants.vue:11
|
#: frontend/src/pages/CertifiedParticipants.vue:11
|
||||||
msgid "Get Certified"
|
msgid "Get Certified"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -2487,7 +2499,7 @@ msgstr ""
|
|||||||
|
|
||||||
#. Label of the instructor_notes (Markdown Editor) field in DocType 'Course
|
#. Label of the instructor_notes (Markdown Editor) field in DocType 'Course
|
||||||
#. Lesson'
|
#. Lesson'
|
||||||
#: frontend/src/pages/Lesson.vue:128 frontend/src/pages/LessonForm.vue:42
|
#: frontend/src/pages/Lesson.vue:129 frontend/src/pages/LessonForm.vue:42
|
||||||
#: lms/lms/doctype/course_lesson/course_lesson.json
|
#: lms/lms/doctype/course_lesson/course_lesson.json
|
||||||
msgid "Instructor Notes"
|
msgid "Instructor Notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -2580,6 +2592,7 @@ msgid "Issue Date"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the issued_on (Date) field in DocType 'LMS Badge Assignment'
|
#. Label of the issued_on (Date) field in DocType 'LMS Badge Assignment'
|
||||||
|
#: frontend/src/pages/CourseCertification.vue:27
|
||||||
#: lms/lms/doctype/lms_badge_assignment/lms_badge_assignment.json
|
#: lms/lms/doctype/lms_badge_assignment/lms_badge_assignment.json
|
||||||
msgid "Issued On"
|
msgid "Issued On"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -2655,7 +2668,7 @@ msgstr ""
|
|||||||
msgid "Join"
|
msgid "Join"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/UpcomingEvaluations.vue:45
|
#: frontend/src/components/UpcomingEvaluations.vue:51
|
||||||
msgid "Join Call"
|
msgid "Join Call"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2956,7 +2969,7 @@ msgstr ""
|
|||||||
#. Group in Course Chapter's connections
|
#. Group in Course Chapter's connections
|
||||||
#. Label of the lessons (Data) field in DocType 'LMS Course'
|
#. Label of the lessons (Data) field in DocType 'LMS Course'
|
||||||
#: frontend/src/components/CourseCard.vue:32
|
#: frontend/src/components/CourseCard.vue:32
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:97
|
#: frontend/src/components/CourseCardOverlay.vue:99
|
||||||
#: lms/lms/doctype/course_chapter/course_chapter.json
|
#: lms/lms/doctype/course_chapter/course_chapter.json
|
||||||
#: lms/lms/doctype/lms_course/lms_course.json
|
#: lms/lms/doctype/lms_course/lms_course.json
|
||||||
msgid "Lessons"
|
msgid "Lessons"
|
||||||
@@ -3052,7 +3065,7 @@ msgstr ""
|
|||||||
#: frontend/src/components/AssignmentBlock.vue:13
|
#: frontend/src/components/AssignmentBlock.vue:13
|
||||||
#: frontend/src/components/NoPermission.vue:28
|
#: frontend/src/components/NoPermission.vue:28
|
||||||
#: frontend/src/components/QuizBlock.vue:9 frontend/src/pages/Batch.vue:188
|
#: frontend/src/components/QuizBlock.vue:9 frontend/src/pages/Batch.vue:188
|
||||||
#: frontend/src/pages/Lesson.vue:24
|
#: frontend/src/pages/Lesson.vue:25
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3087,8 +3100,8 @@ msgstr ""
|
|||||||
msgid "Make an Announcement"
|
msgid "Make an Announcement"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:128
|
#: frontend/src/pages/Billing.vue:123
|
||||||
msgid "Make sure to enter the right billing name as the same will be used in your invoice."
|
msgid "Make sure to enter the correct billing name as the same will be used in your invoice."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/BatchOverlay.vue:60
|
#: frontend/src/components/BatchOverlay.vue:60
|
||||||
@@ -3469,11 +3482,11 @@ msgstr ""
|
|||||||
msgid "New Sign Up"
|
msgid "New Sign Up"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:605
|
#: lms/lms/utils.py:604
|
||||||
msgid "New comment in batch {0}"
|
msgid "New comment in batch {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:598
|
#: lms/lms/utils.py:597
|
||||||
msgid "New reply on the topic {0} in course {1}"
|
msgid "New reply on the topic {0} in course {1}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3482,7 +3495,7 @@ msgstr ""
|
|||||||
msgid "New {0}"
|
msgid "New {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/Quiz.vue:213 frontend/src/pages/Lesson.vue:84
|
#: frontend/src/components/Quiz.vue:213 frontend/src/pages/Lesson.vue:85
|
||||||
msgid "Next"
|
msgid "Next"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3579,10 +3592,6 @@ msgstr ""
|
|||||||
msgid "No submissions"
|
msgid "No submissions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/UpcomingEvaluations.vue:63
|
|
||||||
msgid "No upcoming evaluations."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lms/templates/course_list.html:13
|
#: lms/templates/course_list.html:13
|
||||||
msgid "No {0}"
|
msgid "No {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -3684,7 +3693,7 @@ msgstr ""
|
|||||||
msgid "Only files of type {0} will be accepted."
|
msgid "Only files of type {0} will be accepted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/CourseForm.vue:498 frontend/src/utils/index.js:533
|
#: frontend/src/pages/CourseForm.vue:506 frontend/src/utils/index.js:533
|
||||||
msgid "Only image file is allowed."
|
msgid "Only image file is allowed."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3750,10 +3759,6 @@ msgstr ""
|
|||||||
msgid "Order ID"
|
msgid "Order ID"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:26
|
|
||||||
msgid "Ordered Item"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: frontend/src/pages/JobDetail.vue:74
|
#: frontend/src/pages/JobDetail.vue:74
|
||||||
msgid "Organisation"
|
msgid "Organisation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -3763,7 +3768,7 @@ msgstr ""
|
|||||||
msgid "Organization"
|
msgid "Organization"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:37
|
#: frontend/src/pages/Billing.vue:32
|
||||||
msgid "Original Amount"
|
msgid "Original Amount"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3802,13 +3807,23 @@ msgstr ""
|
|||||||
msgid "Paid Batch"
|
msgid "Paid Batch"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. Label of the paid_certificate (Check) field in DocType 'LMS Course'
|
||||||
|
#: frontend/src/pages/CourseForm.vue:217
|
||||||
|
#: lms/lms/doctype/lms_course/lms_course.json
|
||||||
|
msgid "Paid Certificate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: frontend/src/components/CourseCardOverlay.vue:133
|
||||||
|
msgid "Paid Certificate after Evaluation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the paid_course (Check) field in DocType 'LMS Course'
|
#. Label of the paid_course (Check) field in DocType 'LMS Course'
|
||||||
#: frontend/src/pages/CourseForm.vue:214
|
#: frontend/src/pages/CourseForm.vue:207
|
||||||
#: lms/lms/doctype/lms_course/lms_course.json
|
#: lms/lms/doctype/lms_course/lms_course.json
|
||||||
msgid "Paid Course"
|
msgid "Paid Course"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:120
|
#: frontend/src/pages/Billing.vue:115
|
||||||
msgid "Pan Number"
|
msgid "Pan Number"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3896,6 +3911,15 @@ msgstr ""
|
|||||||
msgid "Payment Settings"
|
msgid "Payment Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: frontend/src/pages/Billing.vue:21
|
||||||
|
msgid "Payment for "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Label of the payment_for_certificate (Check) field in DocType 'LMS Payment'
|
||||||
|
#: lms/lms/doctype/lms_payment/lms_payment.json
|
||||||
|
msgid "Payment for Certificate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the payment_for_document (Dynamic Link) field in DocType 'LMS
|
#. Label of the payment_for_document (Dynamic Link) field in DocType 'LMS
|
||||||
#. Payment'
|
#. Payment'
|
||||||
#: lms/lms/doctype/lms_payment/lms_payment.json
|
#: lms/lms/doctype/lms_payment/lms_payment.json
|
||||||
@@ -3943,11 +3967,11 @@ msgstr ""
|
|||||||
msgid "Percentage/Status"
|
msgid "Percentage/Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:104
|
#: frontend/src/pages/Billing.vue:99
|
||||||
msgid "Phone Number"
|
msgid "Phone Number"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:148
|
#: frontend/src/components/CourseCardOverlay.vue:169
|
||||||
msgid "Please Login"
|
msgid "Please Login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -3967,11 +3991,11 @@ msgstr ""
|
|||||||
msgid "Please click on the following button to set your new password"
|
msgid "Please click on the following button to set your new password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:1863 lms/lms/utils.py:1867
|
#: lms/lms/utils.py:1901 lms/lms/utils.py:1905
|
||||||
msgid "Please complete the previous courses in the program to enroll in this course."
|
msgid "Please complete the previous courses in the program to enroll in this course."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:188
|
#: lms/lms/doctype/lms_batch/lms_batch.py:187
|
||||||
msgid "Please enable Zoom Settings to use this feature."
|
msgid "Please enable Zoom Settings to use this feature."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -4004,7 +4028,7 @@ msgstr ""
|
|||||||
msgid "Please enter your answer"
|
msgid "Please enter your answer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:57
|
#: lms/lms/doctype/lms_batch/lms_batch.py:56
|
||||||
msgid "Please install the Payments app to create a paid batches."
|
msgid "Please install the Payments app to create a paid batches."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -4012,7 +4036,7 @@ msgstr ""
|
|||||||
msgid "Please install the Payments app to create a paid courses."
|
msgid "Please install the Payments app to create a paid courses."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:256
|
#: frontend/src/pages/Billing.vue:255
|
||||||
msgid "Please let us know where you heard about us from."
|
msgid "Please let us know where you heard about us from."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -4037,6 +4061,10 @@ msgstr ""
|
|||||||
msgid "Please prepare well and be on time for the evaluations."
|
msgid "Please prepare well and be on time for the evaluations."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: frontend/src/components/UpcomingEvaluations.vue:69
|
||||||
|
msgid "Please schedule an evaluation to get certified."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/Modals/LiveClassModal.vue:167
|
#: frontend/src/components/Modals/LiveClassModal.vue:167
|
||||||
msgid "Please select a date."
|
msgid "Please select a date."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -4110,7 +4138,7 @@ msgstr ""
|
|||||||
msgid "Post"
|
msgid "Post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:100
|
#: frontend/src/pages/Billing.vue:95
|
||||||
msgid "Postal Code"
|
msgid "Postal Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -4153,19 +4181,22 @@ msgstr ""
|
|||||||
msgid "Preview Video"
|
msgid "Preview Video"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Lesson.vue:49
|
#: frontend/src/pages/Lesson.vue:50
|
||||||
msgid "Previous"
|
msgid "Previous"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the pricing_tab (Tab Break) field in DocType 'LMS Batch'
|
#. Label of the pricing_tab (Tab Break) field in DocType 'LMS Batch'
|
||||||
#. Label of the pricing_tab (Tab Break) field in DocType 'LMS Course'
|
|
||||||
#: frontend/src/pages/CourseForm.vue:208
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.json
|
#: lms/lms/doctype/lms_batch/lms_batch.json
|
||||||
#: lms/lms/doctype/lms_course/lms_course.json
|
|
||||||
#: lms/public/js/common_functions.js:368
|
#: lms/public/js/common_functions.js:368
|
||||||
msgid "Pricing"
|
msgid "Pricing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. Label of the pricing_tab (Tab Break) field in DocType 'LMS Course'
|
||||||
|
#: frontend/src/pages/CourseForm.vue:201
|
||||||
|
#: lms/lms/doctype/lms_course/lms_course.json
|
||||||
|
msgid "Pricing and Certification"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the exception_country (Table MultiSelect) field in DocType 'LMS
|
#. Label of the exception_country (Table MultiSelect) field in DocType 'LMS
|
||||||
#. Settings'
|
#. Settings'
|
||||||
#: lms/lms/doctype/lms_settings/lms_settings.json
|
#: lms/lms/doctype/lms_settings/lms_settings.json
|
||||||
@@ -4177,7 +4208,7 @@ msgstr ""
|
|||||||
msgid "Primary Subgroup"
|
msgid "Primary Subgroup"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:437
|
#: lms/lms/utils.py:436
|
||||||
msgid "Privacy Policy"
|
msgid "Privacy Policy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -4192,7 +4223,7 @@ msgstr ""
|
|||||||
msgid "Private Information includes your Grade and Work Environment Preferences"
|
msgid "Private Information includes your Grade and Work Environment Preferences"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:134
|
#: frontend/src/pages/Billing.vue:129
|
||||||
msgid "Proceed to Payment"
|
msgid "Proceed to Payment"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -4272,6 +4303,11 @@ msgstr ""
|
|||||||
msgid "Published On"
|
msgid "Published On"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. Label of the purchased_certificate (Check) field in DocType 'LMS Enrollment'
|
||||||
|
#: lms/lms/doctype/lms_enrollment/lms_enrollment.json
|
||||||
|
msgid "Purchased Certificate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Label of the question (Small Text) field in DocType 'Course Lesson'
|
#. Label of the question (Small Text) field in DocType 'Course Lesson'
|
||||||
#. Label of the question (Text Editor) field in DocType 'LMS Assignment'
|
#. Label of the question (Text Editor) field in DocType 'LMS Assignment'
|
||||||
#. Label of the question (Text Editor) field in DocType 'LMS Assignment
|
#. Label of the question (Text Editor) field in DocType 'LMS Assignment
|
||||||
@@ -4389,7 +4425,7 @@ msgstr ""
|
|||||||
#. Label of the rating (Rating) field in DocType 'LMS Certificate Evaluation'
|
#. Label of the rating (Rating) field in DocType 'LMS Certificate Evaluation'
|
||||||
#. Label of the rating (Data) field in DocType 'LMS Course'
|
#. Label of the rating (Data) field in DocType 'LMS Course'
|
||||||
#. Label of the rating (Rating) field in DocType 'LMS Course Review'
|
#. Label of the rating (Rating) field in DocType 'LMS Course Review'
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:113
|
#: frontend/src/components/CourseCardOverlay.vue:115
|
||||||
#: frontend/src/components/Modals/Event.vue:86
|
#: frontend/src/components/Modals/Event.vue:86
|
||||||
#: frontend/src/components/Modals/ReviewModal.vue:20
|
#: frontend/src/components/Modals/ReviewModal.vue:20
|
||||||
#: lms/lms/doctype/lms_certificate_evaluation/lms_certificate_evaluation.json
|
#: lms/lms/doctype/lms_certificate_evaluation/lms_certificate_evaluation.json
|
||||||
@@ -4538,19 +4574,19 @@ msgstr ""
|
|||||||
msgid "Route"
|
msgid "Route"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:127
|
#: lms/lms/doctype/lms_batch/lms_batch.py:126
|
||||||
msgid "Row #{0} Date cannot be outside the batch duration."
|
msgid "Row #{0} Date cannot be outside the batch duration."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:122
|
#: lms/lms/doctype/lms_batch/lms_batch.py:121
|
||||||
msgid "Row #{0} End time cannot be outside the batch duration."
|
msgid "Row #{0} End time cannot be outside the batch duration."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:104
|
#: lms/lms/doctype/lms_batch/lms_batch.py:103
|
||||||
msgid "Row #{0} Start time cannot be greater than or equal to end time."
|
msgid "Row #{0} Start time cannot be greater than or equal to end time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:113
|
#: lms/lms/doctype/lms_batch/lms_batch.py:112
|
||||||
msgid "Row #{0} Start time cannot be outside the batch duration."
|
msgid "Row #{0} Start time cannot be outside the batch duration."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -4604,7 +4640,7 @@ msgid "Schedule"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/Modals/EvaluationModal.vue:5
|
#: frontend/src/components/Modals/EvaluationModal.vue:5
|
||||||
#: frontend/src/components/UpcomingEvaluations.vue:8
|
#: frontend/src/components/UpcomingEvaluations.vue:14
|
||||||
msgid "Schedule Evaluation"
|
msgid "Schedule Evaluation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -4903,8 +4939,8 @@ msgstr ""
|
|||||||
msgid "Start Date:"
|
msgid "Start Date:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:63
|
#: frontend/src/components/CourseCardOverlay.vue:65
|
||||||
#: frontend/src/pages/Lesson.vue:21 frontend/src/pages/SCORMChapter.vue:28
|
#: frontend/src/pages/Lesson.vue:22 frontend/src/pages/SCORMChapter.vue:28
|
||||||
#: lms/templates/emails/lms_course_interest.html:9
|
#: lms/templates/emails/lms_course_interest.html:9
|
||||||
msgid "Start Learning"
|
msgid "Start Learning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -4943,7 +4979,7 @@ msgstr ""
|
|||||||
msgid "Startup Organization"
|
msgid "Startup Organization"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:88
|
#: frontend/src/pages/Billing.vue:83
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -5072,7 +5108,7 @@ msgstr ""
|
|||||||
#: frontend/src/components/BatchCourses.vue:151
|
#: frontend/src/components/BatchCourses.vue:151
|
||||||
#: frontend/src/components/BatchOverlay.vue:150
|
#: frontend/src/components/BatchOverlay.vue:150
|
||||||
#: frontend/src/components/BatchStudents.vue:324
|
#: frontend/src/components/BatchStudents.vue:324
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:168
|
#: frontend/src/components/CourseCardOverlay.vue:189
|
||||||
#: frontend/src/components/Modals/AnnouncementModal.vue:99
|
#: frontend/src/components/Modals/AnnouncementModal.vue:99
|
||||||
#: frontend/src/components/Modals/AssessmentModal.vue:73
|
#: frontend/src/components/Modals/AssessmentModal.vue:73
|
||||||
#: frontend/src/components/Modals/BulkCertificates.vue:121
|
#: frontend/src/components/Modals/BulkCertificates.vue:121
|
||||||
@@ -5083,7 +5119,7 @@ msgstr ""
|
|||||||
#: frontend/src/components/Modals/Question.vue:264
|
#: frontend/src/components/Modals/Question.vue:264
|
||||||
#: frontend/src/components/Modals/Question.vue:315
|
#: frontend/src/components/Modals/Question.vue:315
|
||||||
#: frontend/src/pages/AssignmentForm.vue:155
|
#: frontend/src/pages/AssignmentForm.vue:155
|
||||||
#: frontend/src/pages/CourseForm.vue:461 frontend/src/pages/ProgramForm.vue:229
|
#: frontend/src/pages/CourseForm.vue:469 frontend/src/pages/ProgramForm.vue:229
|
||||||
#: frontend/src/pages/ProgramForm.vue:251
|
#: frontend/src/pages/ProgramForm.vue:251
|
||||||
#: frontend/src/pages/ProgramForm.vue:272
|
#: frontend/src/pages/ProgramForm.vue:272
|
||||||
#: frontend/src/pages/ProgramForm.vue:298 frontend/src/pages/QuizForm.vue:339
|
#: frontend/src/pages/ProgramForm.vue:298 frontend/src/pages/QuizForm.vue:339
|
||||||
@@ -5105,7 +5141,7 @@ msgstr ""
|
|||||||
msgid "Sunday"
|
msgid "Sunday"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/api.py:999
|
#: lms/lms/api.py:1012
|
||||||
msgid "Suspicious pattern found in {0}: {1}"
|
msgid "Suspicious pattern found in {0}: {1}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -5190,7 +5226,7 @@ msgstr ""
|
|||||||
msgid "Temporarily Disabled"
|
msgid "Temporarily Disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:436
|
#: lms/lms/utils.py:435
|
||||||
msgid "Terms of Use"
|
msgid "Terms of Use"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -5226,7 +5262,7 @@ msgstr ""
|
|||||||
msgid "Thanks and Regards"
|
msgid "Thanks and Regards"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:1772
|
#: lms/lms/utils.py:1801
|
||||||
msgid "The batch is full. Please contact the Administrator."
|
msgid "The batch is full. Please contact the Administrator."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -5274,7 +5310,7 @@ msgstr ""
|
|||||||
msgid "There are no programs available at the moment. Keep an eye out, fresh learning experiences are on the way soon!"
|
msgid "There are no programs available at the moment. Keep an eye out, fresh learning experiences are on the way soon!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_batch/lms_batch.py:95
|
#: lms/lms/doctype/lms_batch/lms_batch.py:94
|
||||||
msgid "There are no seats available in this batch."
|
msgid "There are no seats available in this batch."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -5317,11 +5353,11 @@ msgstr ""
|
|||||||
msgid "This class has ended"
|
msgid "This class has ended"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:92
|
#: frontend/src/components/CourseCardOverlay.vue:94
|
||||||
msgid "This course has:"
|
msgid "This course has:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:1620
|
#: lms/lms/utils.py:1644
|
||||||
msgid "This course is free."
|
msgid "This course is free."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -5329,11 +5365,7 @@ msgstr ""
|
|||||||
msgid "This is a chapter in the course {0}"
|
msgid "This is a chapter in the course {0}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/widgets/CourseOutline.html:62
|
#: frontend/src/pages/Lesson.vue:16
|
||||||
msgid "This lesson is not available for preview. As you are the Instructor of the course only you can see it."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: frontend/src/pages/Lesson.vue:15
|
|
||||||
msgid "This lesson is not available for preview. Please enroll in the course to access it."
|
msgid "This lesson is not available for preview. Please enroll in the course to access it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -5467,7 +5499,7 @@ msgstr ""
|
|||||||
msgid "To Date"
|
msgid "To Date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:1631
|
#: lms/lms/utils.py:1655
|
||||||
msgid "To join this batch, please contact the Administrator."
|
msgid "To join this batch, please contact the Administrator."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -5479,7 +5511,7 @@ msgstr ""
|
|||||||
msgid "Too many users signed up recently, so the registration is disabled. Please try back in an hour"
|
msgid "Too many users signed up recently, so the registration is disabled. Please try back in an hour"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:58
|
#: frontend/src/pages/Billing.vue:53
|
||||||
msgid "Total"
|
msgid "Total"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -5776,7 +5808,7 @@ msgstr ""
|
|||||||
msgid "When a course gets submitted for review, it will be listed here."
|
msgid "When a course gets submitted for review, it will be listed here."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Billing.vue:111
|
#: frontend/src/pages/Billing.vue:106
|
||||||
msgid "Where did you hear about us?"
|
msgid "Where did you hear about us?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -5825,6 +5857,10 @@ msgstr ""
|
|||||||
msgid "You already have an evaluation on {0} at {1} for the course {2}."
|
msgid "You already have an evaluation on {0} at {1} for the course {2}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: frontend/src/pages/CourseCertification.vue:14
|
||||||
|
msgid "You are already certified for this course. Click on the card below to open your certificate."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/api.py:224
|
#: lms/lms/api.py:224
|
||||||
msgid "You are already enrolled for this batch."
|
msgid "You are already enrolled for this batch."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -5907,6 +5943,10 @@ msgstr ""
|
|||||||
msgid "You have already exceeded the maximum number of attempts allowed for this quiz."
|
msgid "You have already exceeded the maximum number of attempts allowed for this quiz."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: lms/lms/api.py:237
|
||||||
|
msgid "You have already purchased the certificate for this course."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/doctype/lms_course_review/lms_course_review.py:17
|
#: lms/lms/doctype/lms_course_review/lms_course_review.py:17
|
||||||
msgid "You have already reviewed this course"
|
msgid "You have already reviewed this course"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -5915,7 +5955,7 @@ msgstr ""
|
|||||||
msgid "You have been enrolled in this batch"
|
msgid "You have been enrolled in this batch"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:169
|
#: frontend/src/components/CourseCardOverlay.vue:190
|
||||||
msgid "You have been enrolled in this course"
|
msgid "You have been enrolled in this course"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -5939,7 +5979,7 @@ msgstr ""
|
|||||||
msgid "You have opted to be notified for this course. You will receive an email when the course becomes available."
|
msgid "You have opted to be notified for this course. You will receive an email when the course becomes available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/components/CourseCardOverlay.vue:149
|
#: frontend/src/components/CourseCardOverlay.vue:170
|
||||||
msgid "You need to login first to enroll for this course"
|
msgid "You need to login first to enroll for this course"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -6025,7 +6065,7 @@ msgstr ""
|
|||||||
msgid "cancel your application"
|
msgid "cancel your application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: frontend/src/pages/Lesson.vue:177
|
#: frontend/src/pages/Lesson.vue:178
|
||||||
msgid "completed"
|
msgid "completed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -6085,7 +6125,7 @@ msgstr ""
|
|||||||
msgid "you can"
|
msgid "you can"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/api.py:789 lms/lms/api.py:797
|
#: lms/lms/api.py:802 lms/lms/api.py:810
|
||||||
msgid "{0} Settings not found"
|
msgid "{0} Settings not found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -6125,7 +6165,7 @@ msgstr ""
|
|||||||
msgid "{0} is your evaluator"
|
msgid "{0} is your evaluator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:682
|
#: lms/lms/utils.py:681
|
||||||
msgid "{0} mentioned you in a comment"
|
msgid "{0} mentioned you in a comment"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -6133,11 +6173,11 @@ msgstr ""
|
|||||||
msgid "{0} mentioned you in a comment in your batch."
|
msgid "{0} mentioned you in a comment in your batch."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:635 lms/lms/utils.py:641
|
#: lms/lms/utils.py:634 lms/lms/utils.py:640
|
||||||
msgid "{0} mentioned you in a comment in {1}"
|
msgid "{0} mentioned you in a comment in {1}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lms/lms/utils.py:458
|
#: lms/lms/utils.py:457
|
||||||
msgid "{0}k"
|
msgid "{0}k"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user