commit
b6e914a24e
|
@ -48,6 +48,7 @@
|
||||||
"nl": "Nederlands",
|
"nl": "Nederlands",
|
||||||
"no": "Norsk",
|
"no": "Norsk",
|
||||||
"pl": "Polski",
|
"pl": "Polski",
|
||||||
|
"ps": "پښتو",
|
||||||
"pt": "Português - Portugal",
|
"pt": "Português - Portugal",
|
||||||
"pt-br": "Português - Brasil",
|
"pt-br": "Português - Brasil",
|
||||||
"ro": "Română",
|
"ro": "Română",
|
||||||
|
|
|
@ -154,13 +154,15 @@ function generate_local_module_file {
|
||||||
|
|
||||||
print_title "Generating $APPMODULENAME..."
|
print_title "Generating $APPMODULENAME..."
|
||||||
|
|
||||||
|
gulp
|
||||||
|
|
||||||
module_translations=''
|
module_translations=''
|
||||||
|
|
||||||
keys=$(jq -r 'map_values(select(contains("local_moodlemobileapp"))) | keys[]' langindex.json)
|
keys=$(jq -r 'map_values(select(contains("local_moodlemobileapp"))) | keys[]' langindex.json)
|
||||||
for key in $keys; do
|
for key in $keys; do
|
||||||
# Check if already parsed.
|
# Check if already parsed.
|
||||||
translation=$(jq -r .\""$key"\" "$LANG_PATH"/en.json)
|
translation=$(jq -r .\""$key"\" "$LANG_PATH"/en.json)
|
||||||
if [ -z "$translation" ]; then
|
if [ -z "$translation" ] || [ "$translation" == 'null' ]; then
|
||||||
echo "Key $key not translated!"
|
echo "Key $key not translated!"
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"guestaccess_withpassword": "Guest access requires password",
|
|
||||||
"guestaccess_withoutpassword": "Guest access",
|
"guestaccess_withoutpassword": "Guest access",
|
||||||
|
"guestaccess_withpassword": "Guest access requires password",
|
||||||
"passwordinvalid": "Incorrect access password, please try again"
|
"passwordinvalid": "Incorrect access password, please try again"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"pluginname": "Self enrolment",
|
|
||||||
"confirmselfenrol": "Are you sure you want to enrol yourself in this course?",
|
"confirmselfenrol": "Are you sure you want to enrol yourself in this course?",
|
||||||
"errorselfenrol": "An error occurred while self enrolling.",
|
"errorselfenrol": "An error occurred while self enrolling.",
|
||||||
"nopassword": "No enrolment key required.",
|
"nopassword": "No enrolment key required.",
|
||||||
"password": "Enrolment key"
|
"password": "Enrolment key",
|
||||||
|
"pluginname": "Self enrolment"
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 26 KiB |
|
@ -12,11 +12,11 @@
|
||||||
"completion_manual:aria:markdone": "Mark {{$a}} as done",
|
"completion_manual:aria:markdone": "Mark {{$a}} as done",
|
||||||
"completion_manual:done": "Done",
|
"completion_manual:done": "Done",
|
||||||
"completion_manual:markdone": "Mark as done",
|
"completion_manual:markdone": "Mark as done",
|
||||||
"completionmenuitem": "Completion",
|
|
||||||
"completion_setby:auto:done": "Done: {{$a.condition}} (set by {{$a.setby}})",
|
"completion_setby:auto:done": "Done: {{$a.condition}} (set by {{$a.setby}})",
|
||||||
"completion_setby:auto:todo": "To do: {{$a.condition}} (set by {{$a.setby}})",
|
"completion_setby:auto:todo": "To do: {{$a.condition}} (set by {{$a.setby}})",
|
||||||
"completion_setby:manual:done": "{{$a.activityname}} is marked by {{$a.setby}} as done. Press to undo.",
|
"completion_setby:manual:done": "{{$a.activityname}} is marked by {{$a.setby}} as done. Press to undo.",
|
||||||
"completion_setby:manual:markdone": "{{$a.activityname}} is marked by {{$a.setby}} as not done. Press to mark as done.",
|
"completion_setby:manual:markdone": "{{$a.activityname}} is marked by {{$a.setby}} as not done. Press to mark as done.",
|
||||||
|
"completionmenuitem": "Completion",
|
||||||
"completionrequirements": "Completion requirements for {{$a}}",
|
"completionrequirements": "Completion requirements for {{$a}}",
|
||||||
"confirmdownload": "You are about to download {{size}}.{{availableSpace}} Are you sure you want to continue?",
|
"confirmdownload": "You are about to download {{size}}.{{availableSpace}} Are you sure you want to continue?",
|
||||||
"confirmdownloadunknownsize": "It was not possible to calculate the size of the download.{{availableSpace}} Are you sure you want to continue?",
|
"confirmdownloadunknownsize": "It was not possible to calculate the size of the download.{{availableSpace}} Are you sure you want to continue?",
|
||||||
|
@ -63,6 +63,6 @@
|
||||||
"useactivityonbrowser": "You can still use it using your device's web browser.",
|
"useactivityonbrowser": "You can still use it using your device's web browser.",
|
||||||
"viewcourse": "View course",
|
"viewcourse": "View course",
|
||||||
"warningmanualcompletionmodified": "The manual completion of an activity was modified on the site.",
|
"warningmanualcompletionmodified": "The manual completion of an activity was modified on the site.",
|
||||||
"youmust": "You must",
|
"warningofflinemanualcompletiondeleted": "Some offline manual completion of course '{{name}}' has been deleted. {{error}}",
|
||||||
"warningofflinemanualcompletiondeleted": "Some offline manual completion of course '{{name}}' has been deleted. {{error}}"
|
"youmust": "You must"
|
||||||
}
|
}
|
||||||
|
|
|
@ -119,7 +119,7 @@
|
||||||
"sitenotallowed": "This site is no longer available.",
|
"sitenotallowed": "This site is no longer available.",
|
||||||
"sitepolicynotagreederror": "Site policy not agreed.",
|
"sitepolicynotagreederror": "Site policy not agreed.",
|
||||||
"siteurl": "Site URL",
|
"siteurl": "Site URL",
|
||||||
"siteurlrequired": "Site URL required i.e <i>http://www.yourmoodlesite.org</i>",
|
"siteurlrequired": "Site URL required i.e <i>https://campus.example.edu</i>",
|
||||||
"startsignup": "Create new account",
|
"startsignup": "Create new account",
|
||||||
"stillcantconnect": "Still can't connect?",
|
"stillcantconnect": "Still can't connect?",
|
||||||
"supplyinfo": "More details",
|
"supplyinfo": "More details",
|
||||||
|
|
|
@ -53,6 +53,7 @@ export const GET_STARTED_URL = 'https://moodle.com';
|
||||||
export class CoreLoginHelperProvider {
|
export class CoreLoginHelperProvider {
|
||||||
|
|
||||||
static readonly ONBOARDING_DONE = 'onboarding_done';
|
static readonly ONBOARDING_DONE = 'onboarding_done';
|
||||||
|
static readonly FAQ_QRCODE_INFO_DONE = 'qrcode_info_done';
|
||||||
static readonly FAQ_URL_IMAGE_HTML = '<img src="assets/img/login/faq_url.png" role="presentation" alt="">';
|
static readonly FAQ_URL_IMAGE_HTML = '<img src="assets/img/login/faq_url.png" role="presentation" alt="">';
|
||||||
static readonly FAQ_QRCODE_IMAGE_HTML = '<img src="assets/img/login/faq_qrcode.png" role="presentation" alt="">';
|
static readonly FAQ_QRCODE_IMAGE_HTML = '<img src="assets/img/login/faq_qrcode.png" role="presentation" alt="">';
|
||||||
|
|
||||||
|
@ -1221,26 +1222,33 @@ export class CoreLoginHelperProvider {
|
||||||
* @returns Promise resolved if the user accepts to scan QR.
|
* @returns Promise resolved if the user accepts to scan QR.
|
||||||
*/
|
*/
|
||||||
async showScanQRInstructions(): Promise<void> {
|
async showScanQRInstructions(): Promise<void> {
|
||||||
await new Promise<void>((resolve, reject) => {
|
const dontShowWarning = await CoreConfig.get(CoreLoginHelperProvider.FAQ_QRCODE_INFO_DONE, 0);
|
||||||
CoreDomUtils.showAlertWithOptions({
|
if (dontShowWarning) {
|
||||||
header: Translate.instant('core.login.faqwhereisqrcode'),
|
return;
|
||||||
message: Translate.instant(
|
}
|
||||||
'core.login.faqwhereisqrcodeanswer',
|
|
||||||
{ $image: CoreLoginHelperProvider.FAQ_QRCODE_IMAGE_HTML },
|
const message = Translate.instant(
|
||||||
),
|
'core.login.faqwhereisqrcodeanswer',
|
||||||
buttons: [
|
{ $image: '<div class="text-center">'+ CoreLoginHelperProvider.FAQ_QRCODE_IMAGE_HTML + '</div>' },
|
||||||
{
|
);
|
||||||
text: Translate.instant('core.cancel'),
|
const header = Translate.instant('core.login.faqwhereisqrcode');
|
||||||
role: 'cancel',
|
|
||||||
handler: () => reject(new CoreCanceledError()),
|
try {
|
||||||
},
|
const dontShowAgain = await CoreDomUtils.showPrompt(
|
||||||
{
|
message,
|
||||||
text: Translate.instant('core.next'),
|
header,
|
||||||
handler: () => resolve(),
|
Translate.instant('core.dontshowagain'),
|
||||||
},
|
'checkbox',
|
||||||
],
|
{ okText: Translate.instant('core.next'), cancelText: Translate.instant('core.cancel') },
|
||||||
});
|
);
|
||||||
});
|
|
||||||
|
if (dontShowAgain) {
|
||||||
|
CoreConfig.set(CoreLoginHelperProvider.FAQ_QRCODE_INFO_DONE, 1);
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
// User canceled.
|
||||||
|
throw new CoreCanceledError('');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"allcourses": "All courses",
|
|
||||||
"allcategories": "All categories",
|
"allcategories": "All categories",
|
||||||
|
"allcourses": "All courses",
|
||||||
"empty": "What are you searching for?",
|
"empty": "What are you searching for?",
|
||||||
"filtercategories": "Filter results by",
|
"filtercategories": "Filter results by",
|
||||||
"filtercourses": "Search in",
|
"filtercourses": "Search in",
|
||||||
|
|
|
@ -165,6 +165,7 @@ export class CoreSettingsDevPage implements OnInit {
|
||||||
await CoreUserTours.resetTours();
|
await CoreUserTours.resetTours();
|
||||||
|
|
||||||
await CoreConfig.delete(CoreLoginHelperProvider.ONBOARDING_DONE);
|
await CoreConfig.delete(CoreLoginHelperProvider.ONBOARDING_DONE);
|
||||||
|
await CoreConfig.delete(CoreLoginHelperProvider.FAQ_QRCODE_INFO_DONE);
|
||||||
|
|
||||||
CoreDomUtils.showToast('User tours have been reseted');
|
CoreDomUtils.showToast('User tours have been reseted');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue