Merge pull request #3805 from crazyserver/MOBILE-4362

Mobile 4362
main
Dani Palou 2023-10-03 16:10:38 +02:00 committed by GitHub
commit b6e914a24e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 41 additions and 29 deletions

View File

@ -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ă",

View File

@ -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

View File

@ -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"
} }

View File

@ -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

View File

@ -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"
} }

View File

@ -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",

View File

@ -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('');
}
} }
/** /**

View File

@ -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",

View File

@ -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');
} }