Merge branch 'MDL-76105-master-enfix' of https://github.com/vmdef/moodle

This commit is contained in:
Paul Holden 2022-11-17 16:29:51 +00:00
commit 1ad023bba6
37 changed files with 107 additions and 110 deletions

View File

@ -7,13 +7,13 @@ Feature: Outgoing mail configuration
Background:
Given I log in as "admin"
Scenario: SMTP Auth Type without OAuth 2 Service setup yet
Scenario: SMTP Auth Type without OAuth 2 service setup yet
Given I navigate to "Server > Email > Outgoing mail configuration" in site administration
And I should not see "XOAUTH2" in the "SMTP Auth Type" "select"
And I should see "LOGIN" in the "SMTP Auth Type" "select"
And I should see "PLAIN" in the "SMTP Auth Type" "select"
Scenario: SMTP Auth Type with OAuth 2 Service setup
Scenario: SMTP Auth Type with OAuth 2 service setup
Given I navigate to "Server > OAuth 2 services" in site administration
And I press "Google"
And I should see "Create new service: Google"
@ -26,4 +26,4 @@ Feature: Outgoing mail configuration
Then I should see "XOAUTH2" in the "SMTP Auth Type" "select"
And I should see "LOGIN" in the "SMTP Auth Type" "select"
And I should see "PLAIN" in the "SMTP Auth Type" "select"
And I should see "Testing service" in the "OAuth 2 Service" "select"
And I should see "Testing service" in the "OAuth 2 service" "select"

View File

@ -75,7 +75,7 @@ $string['messageinboundenabled_desc'] = 'Incoming mail processing must be enable
$string['messageinboundgeneralconfiguration'] = 'General configuration';
$string['messageinboundgeneralconfiguration_desc'] = 'Inbound message processing allows you to receive and process email within Moodle. This has applications such as sending email replies to forum posts or adding files to a user\'s private files.';
$string['messageinboundhost'] = 'Incoming Mail Server';
$string['messageinboundhostoauth_help'] = 'OAuth2 Service to use to access the IMAP server, using XOAUTH2 authentication. If the service does not exist yet, you will need to create it.';
$string['messageinboundhostoauth_help'] = 'OAuth 2 service to use to access the IMAP server, using XOAUTH2 authentication. If the service doesn\'t exist yet, you will need to create it.';
$string['messageinboundhostpass'] = 'Password';
$string['messageinboundhostpass_desc'] = 'This is the password your service provider will have provided to log in to your email account with.';
$string['messageinboundhostssl'] = 'Use SSL';

View File

@ -7,11 +7,11 @@ Feature: Incoming mail configuration
Background:
Given I log in as "admin"
Scenario: Incoming mail server settings without OAuth 2 Service setup yet
Scenario: Incoming mail server settings without OAuth 2 service setup yet
Given I navigate to "Server > Email > Incoming mail configuration" in site administration
And "OAuth 2 Service" "select" should not exist
And "OAuth 2 service" "select" should not exist
Scenario: Incoming mail server settings with OAuth 2 Service setup
Scenario: Incoming mail server settings with OAuth 2 service setup
Given I navigate to "Server > OAuth 2 services" in site administration
And I press "Google"
And I should see "Create new service: Google"
@ -21,5 +21,5 @@ Feature: Incoming mail configuration
| Client secret | supersecret |
And I press "Save changes"
When I navigate to "Server > Email > Incoming mail configuration" in site administration
Then "OAuth 2 Service" "select" should exist
And I should see "Testing service" in the "OAuth 2 Service" "select"
Then "OAuth 2 service" "select" should exist
And I should see "Testing service" in the "OAuth 2 service" "select"

View File

@ -127,7 +127,7 @@ $string['qrkeyttl'] = 'QR authentication key duration';
$string['qrkeyttl_desc'] = 'The length of time for which a QR code for automatic login is valid.';
$string['qrsameipcheck'] = 'QR authentication same IP check';
$string['qrsameipcheck_desc'] = 'This setting forces users to use the same network for both generating and scanning a QR code for login. Only disable it in case your users are reporting issues with QR login.';
$string['readingthisemailgettheapp'] = 'Reading this in an email? <a href="{$a}">Download the mobile app and receive notifications on your mobile device</a>.';
$string['readingthisemailgettheapp'] = 'Are you reading this in an email? <a href="{$a}">Download the mobile app and receive notifications on your mobile device</a>.';
$string['remoteaddons'] = 'Remote add-ons';
$string['scanqrcode'] = 'Scan QR code';
$string['selfsignedoruntrustedcertificatewarning'] = 'It seems that the HTTPS certificate is self-signed or not trusted. The mobile app will only work with trusted sites. Please use any online SSL checker to diagnose the problem. If it indicates that your certificate is OK, you can ignore this warning.';

View File

@ -86,7 +86,7 @@ Please log in as before, using the link on the login page.
{$a->admin}';
$string['emailpasswordchangeinfosubject'] = '{$a}: Change password information';
$string['info'] = 'External account';
$string['issuer'] = 'OAuth 2 Service';
$string['issuer'] = 'OAuth 2 service';
$string['issuernologin'] = 'This issuer can not be used to login';
$string['key'] = 'Key';
$string['linkedlogins'] = 'Linked logins';
@ -98,7 +98,7 @@ $string['loginerror_invaliddomain'] = 'The email address is not allowed at this
$string['loginerror_authenticationfailed'] = 'The authentication process failed.';
$string['loginerror_cannotcreateaccounts'] = 'An account with your email address could not be found.';
$string['noconfiguredidps'] = 'There are no configured OAuth2 providers.';
$string['noissuersavailable'] = 'None of the configured OAuth2 services allow you to link login accounts';
$string['noissuersavailable'] = 'None of the configured OAuth 2 services allow you to link login accounts.';
$string['notloggedindebug'] = 'The login attempt failed. Reason: {$a}';
$string['notwhileloggedinas'] = 'Linked logins cannot be managed while logged in as another user.';
$string['oauth2:managelinkedlogins'] = 'Manage own linked login accounts';

View File

@ -23,13 +23,13 @@
*/
$string['aftersaving...'] = 'Once you have saved your settings, you may wish to';
$string['allowunenrol'] = 'Allow the IMS data to <strong>unenrol</strong> students/teachers';
$string['allowunenrol'] = 'Allow IMS data to unenrol students and teachers';
$string['allowunenrol_desc'] = 'If enabled, course enrolments will be removed when specified in the Enterprise data.';
$string['basicsettings'] = 'Basic settings';
$string['categoryidnumber'] = 'Allow category idnumber';
$string['categoryidnumber_desc'] = 'If enabled IMS Enterprise will create category with idnumber';
$string['categoryidnumber'] = 'Allow category ID number';
$string['categoryidnumber_desc'] = 'If enabled IMS Enterprise will create a category with ID number.';
$string['categoryseparator'] = 'Category separator character';
$string['categoryseparator_desc'] = 'Required when "Category idnumber" is enabled. Character to separate the category name and idnumber.';
$string['categoryseparator_desc'] = 'Required when \'Allow category ID number\' is enabled. Character to separate the category name and ID number.';
$string['coursesettings'] = 'Course data options';
$string['createnewcategories'] = 'Create new (hidden) course categories if not found in Moodle';
$string['createnewcategories_desc'] = 'If the &lt;org&gt;&lt;orgunit&gt; element is present in a course\'s incoming data, its content will be used to specify a category if the course is to be created from scratch. The plugin will NOT re-categorise existing courses.
@ -38,9 +38,9 @@ If no category exists with the desired name, then a hidden category will be crea
$string['createnewcourses'] = 'Create new (hidden) courses if not found in Moodle';
$string['createnewcourses_desc'] = 'If enabled, the IMS Enterprise enrolment plugin can create new courses for any it finds in the IMS data but not in Moodle\'s database. Any newly-created courses are initially hidden.';
$string['createnewusers'] = 'Create user accounts for users not yet registered in Moodle';
$string['createnewusers_desc'] = 'IMS Enterprise enrolment data typically describes a set of users. If enabled, accounts can be created for any users not found in Moodle\'s database.
$string['createnewusers_desc'] = 'IMS Enterprise enrolment data typically describes a set of users. If enabled, accounts can be created for any users not found in the Moodle database.
Users are searched for first by their "idnumber", and second by their Moodle username. Passwords are not imported by the IMS Enterprise plugin. The use of an authentication plugin is recommended for authenticating users.';
Users are searched for first by their ID number, and then by their Moodle username. Passwords are not imported by the IMS Enterprise plugin. The use of an authentication plugin is recommended for authenticating users.';
$string['cronfrequency'] = 'Frequency of processing';
$string['deleteusers'] = 'Delete user accounts when specified in IMS data';
$string['deleteusers_desc'] = 'If enabled, IMS Enterprise enrolment data can specify the deletion of user accounts (if the "recstatus" flag is set to 3, which represents deletion of an account). As is standard in Moodle, the user record isn\'t actually deleted from Moodle\'s database, but a flag is set to mark the account as deleted.';
@ -94,8 +94,8 @@ $string['ignore'] = 'Ignore';
$string['importimsfile'] = 'Import IMS Enterprise file';
$string['privacy:metadata'] = 'The IMS Enterprise file enrolment plugin does not store any personal data.';
$string['unenrolaction'] = 'Unenrol action';
$string['unenrolaction_desc'] = 'Action to be taken when a user is unenrolled from a course (only applied when the <strong>unenrol</strong> setting above is active)';
$string['unenrolaction_desc'] = 'Action to be taken when a user is unenrolled from a course (only applies when the unenrol setting above is enabled).';
$string['disableenrolonly'] = 'Suspend enrolment only';
$string['disableenrolmentandremoveallroles'] = 'Suspend enrolment & remove roles';
$string['disableenrolmentandremoveallroles'] = 'Suspend enrolment and remove roles';
$string['noaction'] = 'No action';
$string['removeenrolmentandallroles'] = 'Delete enrolment & roles';
$string['removeenrolmentandallroles'] = 'Delete enrolment and roles';

View File

@ -30,7 +30,7 @@ $string['ajaxfieldchanged'] = 'The field you are currently editing has changed,
$string['ajaxchoosescale'] = 'Choose';
$string['eventgradereportviewed'] = 'Grader report viewed';
$string['grader:manage'] = 'Manage the grader report';
$string['grader:view'] = 'View the grader report';
$string['grader:view'] = 'View grader report';
$string['pluginname'] = 'Grader report';
$string['preferences'] = 'Grader report preferences';
$string['privacy:metadata:preference:grade_report_aggregationposition'] = 'Whether the category and course total columns are displayed first or last in the gradebook reports';

View File

@ -40,7 +40,7 @@ $string['finishselectingusers'] = 'Finish selecting users';
$string['gradenew'] = 'Revised grade';
$string['gradeold'] = 'Original grade';
$string['grader'] = 'Grader';
$string['history:view'] = 'View the grade history';
$string['history:view'] = 'View grade history';
$string['historyperpage'] = 'History entries per page';
$string['historyperpage_help'] = 'This setting determines the number of history entries displayed per page in the history report.';
$string['loadmoreusers'] = 'Load more users...';

View File

@ -29,5 +29,5 @@ $string['coursespecoutcome'] = 'Course outcomes';
$string['eventgradereportviewed'] = 'Grade outcomes report viewed';
$string['pluginname'] = 'Outcomes report';
$string['privacy:metadata'] = 'The Grade outcomes report only shows data stored in other locations.';
$string['outcomes:view'] = 'View the outcomes report';
$string['outcomes:view'] = 'View outcomes report';
$string['usedgradeitem'] = 'Number of grade items';

View File

@ -26,4 +26,4 @@ $string['eventgradereportviewed'] = 'Grade overview report viewed';
$string['gradesoverview'] = 'Grades overview';
$string['pluginname'] = 'Overview report';
$string['privacy:metadata'] = 'The Grade overview report only shows data stored in other locations.';
$string['overview:view'] = 'View the overview report';
$string['overview:view'] = 'View overview report';

View File

@ -66,7 +66,7 @@ $string['removeoverridesave'] = 'Remove overrides';
$string['savegrades'] = 'Saving grades';
$string['save'] = 'Save';
$string['savegradessuccess'] = 'Grades were set for {$a} items';
$string['singleview:view'] = 'View report';
$string['singleview:view'] = 'View single view';
$string['summarygrade'] = 'A table of users, with columns for range, grade, feedback, and whether to override or exclude a particular grade.';
$string['summaryuser'] = 'A table of grade items, with columns for grade category, range, grade, feedback, and whether to override or exclude a particular grade.';
$string['unsavedataalert'] = 'You have unsaved changes in the grades table, you will lose these changes if you proceed with the bulk insert.';
@ -80,7 +80,7 @@ $string['viewsinglegradeitem'] = 'View a single grade item';
$string['viewsingleuserorgradeitem'] = 'View all the grades of a single user or grade item.';
$string['searchgrades'] = 'Search grade items';
$string['selectagrade'] = 'Select a grade item';
$string['selectgradeitemlink'] = 'Click to select a grade item';
$string['selectgradeitemlink'] = 'Select a grade item';
$string['singleviewdescription'] = 'In single view you can override or exclude selected grades and bulk insert grades.';
$string['unsaveddatawarning'] = 'Unsaved data warning';

View File

@ -29,7 +29,7 @@ $string['eventgradereportviewed'] = 'Grade user report viewed';
$string['gotonextreport'] = 'Go to next user report';
$string['gotopreviousreport'] = 'Go to previous user report';
$string['pluginname'] = 'User report';
$string['user:view'] = 'View your own grade report';
$string['user:view'] = 'View user report';
$string['userreportdesc'] = 'View a user\'s grades, any feedback and the course total.';
$string['userreports'] = 'User reports';
$string['privacy:metadata:preference:gradereport_user_view_user'] = 'Whether to view report as current user or another user in the gradebook reports';

View File

@ -364,8 +364,8 @@ $string['configsitemaxcategorydepth'] = 'Maximum category depth';
$string['configsitemaxcategorydepthhelp'] = 'This specifies the maximum depth of child categories expanded when displaying categories or combo list. Deeper level categories will appear as links and user can expand them with AJAX request.';
$string['configslasharguments'] = '\'Slash arguments\' (using <em>PATH_INFO</em>) is required for SCORM packages and multiple-file resources to display correctly. If your web server doesn\'t support \'slash arguments\' and you are unable to configure it, this setting can be disabled, though it will result in things not working.<br />Note: The use of \'slash arguments\' will be required in future versions of Moodle.';
$string['configsmartpix'] = 'With this on, icons are served through a PHP script that searches the current theme, then all parent themes, then the Moodle /pix folder. This reduces the need to duplicate image files within themes, but has a slight performance cost.';
$string['configsmtpauthtype'] = 'This sets the authentication type to use on smtp server.';
$string['configsmtpoauthservice'] = 'Select the OAuth 2 service that is configured to talk to the smtp server. If the service does not exist yet, you will need to create it. Please note: This setting only runs if the SMTP Auth Type is set to XOAUTH2';
$string['configsmtpauthtype'] = 'This sets the authentication type to use on SMTP server.';
$string['configsmtpoauthservice'] = 'Select the OAuth 2 service that is configured to talk to the SMTP server. If the service doesn\'t exist yet, you will need to create it. Note that you need to set the SMTP Auth Type to XOAUTH2.';
$string['configsmtphosts'] = 'Give the full name of one or more local SMTP servers that Moodle should use to send mail (eg \'mail.a.com\' or \'mail.a.com;mail.b.com\'). To specify a non-default port (i.e other than port 25), you can use the [server]:[port] syntax (eg \'mail.a.com:587\'). For secure connections, port 465 is usually used with SSL, port 587 is usually used with TLS, specify security protocol below if required. If you leave this field blank, Moodle will use the PHP default method of sending mail.';
$string['configsmtpmaxbulk'] = 'Maximum number of messages sent per SMTP session. Grouping messages may speed up the sending of emails. Values lower than 2 force creation of new SMTP session for each email.';
$string['configsmtpsecure'] = 'If SMTP server requires secure connection, specify the correct protocol type.';
@ -620,7 +620,7 @@ $string['extendedusernamechars'] = 'Allow extended characters in usernames';
$string['extramemorylimit'] = 'Extra PHP memory limit';
$string['fatalsessionautostart'] = '<p>Serious configuration error detected, please notify server administrator.</p><p> To operate properly, Moodle requires that administrator changes PHP settings.</p><p><code>session.auto_start</code> must be set to <code>off</code>.</p><p>This setting is controlled by editing <code>php.ini</code>, Apache/IIS <br />configuration or <code>.htaccess</code> file on the server.</p>';
$string['favicon'] = 'Favicon';
$string['favicon_desc'] = 'Favicon file to be displayed as site icon';
$string['favicon_desc'] = 'The favicon is displayed next to the page title in the browser tab. A Moodle favicon is displayed if a custom favicon is not provided.';
$string['feedbacksettings'] = 'Feedback settings';
$string['filescleanupperiod'] = 'Clean up trash pool files';
$string['filescleanupperiod_help'] = 'How often trash pool files are deleted. These are files that are associated with a context that no longer exists, for example when a course is deleted. Please note: This setting can result in missing files in a course which is backed up, deleted and then restored if the setting \'Include files\' (backup_auto_files) in \'Automated backup settings\' is disabled.';

View File

@ -30,7 +30,7 @@ $string['auth_data_mapping'] = 'Data mapping';
$string['authenticationoptions'] = 'Authentication options';
$string['auth_fieldlock'] = 'Lock value';
$string['auth_fieldlockfield'] = 'Lock value ({$a})';
$string['auth_fieldlock_expl'] = '<p><b>Lock value:</b> If enabled, will prevent Moodle users and admins from editing the field directly. Use this option if you are maintaining this data in the external auth system. </p>';
$string['auth_fieldlock_expl'] = '<p>Lock value: If enabled, users will not be able to edit the field. Use this option if you are maintaining this data in the external auth system. </p>';
$string['auth_fieldlocks'] = 'Lock user fields';
$string['auth_fieldlocks_help'] = '<p>You can lock user data fields. This is useful for sites where the user data is maintained by the administrators manually by editing user records or uploading using the \'Upload users\' facility. If you are locking fields that are required by Moodle, make sure that you provide that data when creating user accounts or the accounts will be unusable.</p><p>Consider setting the lock mode to \'Unlocked if empty\' to avoid this problem.</p>';
$string['auth_fieldmapping'] = 'Data mapping ({$a})';

View File

@ -61,7 +61,7 @@ $string['cachedef_databasemeta'] = 'Database meta information';
$string['cachedef_eventinvalidation'] = 'Event invalidation';
$string['cachedef_externalbadges'] = 'External badges for particular user';
$string['cachedef_fontawesomeiconmapping'] = 'Mapping of icons for font awesome';
$string['cachedef_file_imageinfo'] = 'File image info eg dimensions';
$string['cachedef_file_imageinfo'] = 'File image info e.g. dimensions';
$string['cachedef_suspended_userids'] = 'List of suspended users per course';
$string['cachedef_groupdata'] = 'Course group information';
$string['cachedef_h5p_content_type_translations'] = 'H5P content-type libraries translations';

View File

@ -330,7 +330,7 @@ $string['invalidcourseid'] = 'You are trying to use an invalid course ID';
$string['invalidcourselevel'] = 'Incorrect context level';
$string['invalidcourseformat'] = 'Invalid course format';
$string['invalidcoursemodule'] = 'Invalid course module ID';
$string['invalidcoursemoduleid'] = 'Invalid course module id: {$a}';
$string['invalidcoursemoduleid'] = 'Invalid course module ID: {$a}';
$string['invalidcoursenameshort'] = 'Invalid short course name';
$string['invalidcountrycode'] = 'Invalid country code: {$a}';
$string['invaliddata'] = 'Data submitted is invalid';

View File

@ -119,7 +119,7 @@ $string['categoryname'] = 'Category name';
$string['categorytotal'] = 'Category total';
$string['categorytotalname'] = 'Category total name';
$string['categorytotalfull'] = '{$a->category} total';
$string['selectuserlink'] = 'Click to select a user';
$string['selectuserlink'] = 'Select a user';
$string['collapsecriterion'] = 'Collapse criterion';
$string['compact'] = 'Compact';
$string['componentcontrolsvisibility'] = 'Whether this grade item is hidden is controlled by the activity settings.';
@ -735,7 +735,7 @@ $string['select'] = 'Select {$a}';
$string['selectalloroneuser'] = 'Select all or one user';
$string['selectauser'] = 'Select a user';
$string['selectdestination'] = 'Select destination of {$a}';
$string['selectgrouplink'] = 'Click to select a group';
$string['selectgrouplink'] = 'Select a group';
$string['separator'] = 'Separator';
$string['separator_help'] = 'Select the separator used in the CSV file. (Normally this is a comma.)';
$string['sepcolon'] = 'Colon';

View File

@ -1125,7 +1125,7 @@ class modinfolib_test extends advanced_testcase {
// Assert exception text.
$this->expectException(\moodle_exception::class);
$this->expectExceptionMessage('Invalid course module id: ' . $forum1->cmid);
$this->expectExceptionMessage('Invalid course module ID: ' . $forum1->cmid);
delete_course($course, false);
}

View File

@ -111,8 +111,8 @@ $string['completionengagementpollvotes'] = 'Poll votes';
$string['completionengagementpollvotes_desc'] = 'Vote in polls {$a} time(s).';
$string['completionengagementpollvotes_event_desc'] = 'Has answered {$a} poll vote(s)';
$string['completionengagementemojis'] = 'Emojis';
$string['completionengagementemojis_desc'] = 'Change {$a} times his/her emoji(s).';
$string['completionengagementemojis_event_desc'] = 'Changed {$a} time his/her emoji(s)';
$string['completionengagementemojis_desc'] = 'Change their emoji {$a} time(s).';
$string['completionengagementemojis_event_desc'] = 'Changed their emoji {$a} time(s)';
$string['completionengagement_desc'] = 'Engage in activities during the meeting.';
$string['completionengagementgroup'] = 'Require participation';
@ -221,9 +221,8 @@ $string['config_participant_description'] = 'These settings define the default r
$string['config_participant_moderator_default'] = 'Moderator';
$string['config_participant_moderator_default_description'] = 'This rule is used by default when a new room is added.';
$string['config_poll_interval'] = 'Poll interval to refresh the room\'s status';
$string['config_poll_interval_description'] = 'Poll interval to refresh the room\'s status. Please make sure that this value is
no too low as it might have an impact on the remote server. It cannot be less than two seconds.';
$string['config_poll_interval'] = 'Poll interval (in seconds) to refresh the room\'s status';
$string['config_poll_interval_description'] = 'The poll interval must be at least 2 seconds. If necessary, you can lower the load on the remote server by increasing the interval.';
$string['config_userlimit'] = 'User limit';
$string['config_userlimit_description'] = 'These settings enable or disable options in the UI and also define default values for these options.';
@ -302,7 +301,7 @@ $string['general_error_unable_connect'] = 'Unable to connect. Please check the u
Details : {$a}';
$string['general_error_no_answer'] = 'Empty response. Please check the url of the BigBlueButton server AND check to see if the BigBlueButton server is running.';
$string['general_error_not_allowed_to_create_instances'] = 'User is not allowed to create any type of instance.';
$string['general_error_not_found'] = 'Cannot find the BigBlueButton activity ({$a}).';
$string['general_error_not_found'] = 'Cannot find the BigBlueButton activity with ID {$a}.';
$string['general_error_cannot_create_meeting'] = 'Cannot create session.';
$string['general_error_cannot_get_recordings'] = 'Cannot get recordings.';
$string['guestaccess_add'] = 'Add guests';
@ -518,8 +517,7 @@ $string['view_message_conference_in_progress'] = 'The session is in progress.';
$string['view_message_conference_has_ended'] = 'The session has ended.';
$string['view_message_tab_close'] = 'This tab/window must be closed manually';
$string['view_message_recordings_disabled'] = 'Recordings are disabled on the server. BigBlueButton activities of type \'Recordings only\' cannot be used.';
$string['view_message_cron_disabled'] = 'The scheduled task to fetch pending recordings has not been run for a while.
Please contact the site administrator with the following information: {$a}.';
$string['view_message_cron_disabled'] = 'The list of recordings may not be up to date. Please contact the site administrator with the following information: {$a}';
$string['view_message_importrecordings_disabled'] = 'Import recording links is disabled on the server.';
$string['view_groups_selection_warning'] = 'There is a room for each group and you have access to more than one. Be sure to select the correct one.';

View File

@ -27,4 +27,4 @@
$string['pluginname'] = 'Image';
$string['fieldtypelabel'] = 'Image';
$string['privacy:metadata'] = 'The Image field component doesn\'t store any personal data; it uses tables defined in mod_data.';
$string['sample'] = 'Image description sample';
$string['sample'] = 'Image description placeholder';

View File

@ -29,4 +29,4 @@ $string['maxbytes_desc'] = 'If set to zero will be unlimited by default';
$string['pluginname'] = 'Text area';
$string['fieldtypelabel'] = 'Text area';
$string['privacy:metadata'] = 'The Text area field component doesn\'t store any personal data; it uses tables defined in mod_data.';
$string['sample'] = '<p>This is a text area. It lets users enter long form text which spans over multiple lines.</p><p>You can choose the size of your text areas in rows and columns.</p><p>The text in a text area can be formatted, for example in <b>bold</b>, and also include <a href="#">hyperlinks</a> or images.</p>';
$string['sample'] = '<p>This is a text area. It lets users enter long form text which spans over multiple lines.</p><p>You can choose the size of your text areas in rows and columns.</p><p>The text in a text area can be formatted, for example in <strong>bold</strong>, and also include <a href="#">links</a> or images.</p>';

View File

@ -80,8 +80,8 @@ $string['confirmdeleterecord'] = 'Are you sure you want to delete this entry?';
$string['confirmdeleterecords'] = 'Are you sure you want to delete these entries?';
$string['createactivity'] = 'Create your own fields to collect data, or use a preset which includes fields already.';
$string['createfields'] = 'Create fields to collect different types of data.';
$string['createtemplates'] = 'Create fields for your activity to generate a template, or import a preset with existing fields and templates.';
$string['csstemplate'] = 'CSS template';
$string['createtemplates'] = 'Templates define the interface of your activity. Once you create fields, templates will be created automatically. Alternatively, you can use a preset, which includes fields and templates.';
$string['csstemplate'] = 'Custom CSS';
$string['csvfailed'] = 'Unable to read the raw data from the CSV file';
$string['csvfile'] = 'CSV file';
$string['csvimport'] = 'CSV file import';
@ -176,8 +176,8 @@ $string['fielddelimiter'] = 'Field separator';
$string['fielddescription'] = 'Field description';
$string['fieldenclosure'] = 'Field enclosure';
$string['fieldheight'] = 'Height';
$string['fieldheightlistview'] = 'Height in list view';
$string['fieldheightsingleview'] = 'Height in single view';
$string['fieldheightlistview'] = 'Height (in pixels) in list view';
$string['fieldheightsingleview'] = 'Height (in pixels) in single view';
$string['fieldids'] = 'Field ids';
$string['fieldmappings'] = 'Fields mappings';
$string['fieldmappings_help'] = 'This menu allows you to keep the data from the existing database. To preserve the data in a field, you must map it to a new field, where the data will appear. Any field can also be left blank, with no information copied into it. Any old field not mapped to a new one will be lost and all its data removed.
@ -187,12 +187,12 @@ $string['fieldnametype'] = '{$a->name} ({$a->type})';
$string['fieldnotmatched'] = 'The following fields in your file are not known in this database: {$a}';
$string['fieldoptions'] = 'Options (one per line)';
$string['fields'] = 'Fields';
$string['fieldshelp'] = 'Create fields to collect different types of data for your entries or customise the existing ones if you used a preset.';
$string['fieldshelp'] = 'Create fields to collect different types of data. Fields define the structure of the entries in your database.';
$string['fieldsnavigation'] = 'Fields tertiary navigation';
$string['fieldupdated'] = 'Field updated';
$string['fieldwidth'] = 'Width';
$string['fieldwidthlistview'] = 'Width in list view';
$string['fieldwidthsingleview'] = 'Width in single view';
$string['fieldwidthlistview'] = 'Width (in pixels) in list view';
$string['fieldwidthsingleview'] = 'Width (in pixels) in single view';
$string['file'] = 'File';
$string['filesnotgenerated'] = 'Not all files were generated: {$a}';
$string['filtername'] = 'Database auto-linking';
@ -204,13 +204,13 @@ $string['fromfile'] = 'Import from zip file';
$string['fromfile_help'] = 'The import from zip file feature allows you to browse for and upload a preset zip of templates and fields.';
$string['generateerror'] = 'Not all files generated!';
$string['header'] = 'Header';
$string['headeraddtemplate'] = 'Defines the interface for adding or editing entries';
$string['headerasearchtemplate'] = 'Defines the interface for the advanced search';
$string['headercsstemplate'] = 'Defines local CSS styles for the other templates';
$string['headerjstemplate'] = 'Defines custom Javascript for manipulating the way elements are displayed in the List, Single or Add templates';
$string['headerlisttemplate'] = 'Defines browsing interface for multiple entries';
$string['headerrsstemplate'] = 'Defines appearance of entries in RSS feeds';
$string['headersingletemplate'] = 'Defines browsing interface for a single entry';
$string['headeraddtemplate'] = 'Define the interface for adding or editing entries.';
$string['headerasearchtemplate'] = 'Define the interface for the advanced search.';
$string['headercsstemplate'] = 'Add custom CSS to templates.';
$string['headerjstemplate'] = 'Add custom JavaScript for the List, Single or Add entry templates.';
$string['headerlisttemplate'] = 'Define the appearance of List view.';
$string['headerrsstemplate'] = 'Define the appearance of entries in RSS feeds.';
$string['headersingletemplate'] = 'Define the appearance of Single view.';
$string['checkbox'] = 'Checkboxes';
$string['id'] = 'Entry ID';
$string['chooseexportfields'] = 'Choose the fields you wish to export';
@ -245,8 +245,7 @@ $string['invalidfieldname'] = 'Please choose another name for this field';
$string['invalidfieldtype'] = 'Field type is incorrect';
$string['invalidid'] = 'Incorrect data ID';
$string['missingfieldtype'] = 'Field type for {$a->name} not found';
$string['missingfieldtypes'] = 'The following fields do not have their corresponding field types installed and will not be included in the forms when adding or editing entries.
Their labels may still show on the form, so please update the "Add entry template" accordingly:';
$string['missingfieldtypes'] = 'The following fields do not have their corresponding field types installed and will not be included in the Add entry form. You need to check the Add entry template and remove any field names.';
$string['missingfieldtypeimport'] = 'The following fields were not imported because their corresponding field types are not installed:';
$string['unknown'] = 'Unknown field';
$string['invalidpreset'] = '{$a} is not a preset.';
@ -255,7 +254,7 @@ $string['invalidurl'] = 'The URL you just entered is not valid';
$string['importandapply'] = 'Import preset and apply';
$string['importpreset_desc'] = 'The preset will be applied to this activity, creating fields and templates.
It won\'t appear in the list of presets.';
$string['jstemplate'] = 'Javascript template';
$string['jstemplate'] = 'Custom JavaScript';
$string['latitude'] = 'Latitude';
$string['latlong'] = 'Coordinates';
$string['latlongboth'] = 'Both latitude and longitude are required.';
@ -326,7 +325,7 @@ $string['norecords'] = 'No entries yet';
$string['notapproved'] = 'Pending approval';
$string['notapprovederror'] = 'Entry is not approved yet.';
$string['notinjectivemap'] = 'Not an injective map';
$string['notemplates'] = 'Not templates yet';
$string['notemplates'] = 'No templates yet';
$string['notopenyet'] = 'Sorry, this activity is not available until {$a}';
$string['number'] = 'Number';
$string['numberrssarticles'] = 'Entries in the RSS feed';

View File

@ -25,4 +25,4 @@
$string['modulename'] = 'Journal';
$string['modulename_help'] = 'Use this preset for a journal, diary, reflections tool or research log.';
$string['pluginname'] = 'Journal';
$string['privacy:metadata'] = 'The Reflections plugin does not store any personal data.';
$string['privacy:metadata'] = 'The Journal plugin doesn\'t store any personal data.';

View File

@ -86,23 +86,23 @@ Feature: Users can edit the database templates
And I set the following fields to these values:
| Repeated entry | <span class="hideme">Nope</span>Yep! |
And I click on "Save" "button" in the "sticky-footer" "region"
And I set the field "Templates tertiary navigation" to "CSS template"
And I set the field "Templates tertiary navigation" to "Custom CSS"
And I set the following fields to these values:
| CSS template | .hideme {display: none;} |
| Custom CSS | .hideme {display: none;} |
And I click on "Save" "button" in the "sticky-footer" "region"
When I navigate to "Database" in current page administration
Then I should not see "Nope"
And I should see "Yep!"
@javascript
Scenario: Edit Javascript template
Scenario: Edit Custom JavaScript
Given I click on "Enable code editor" "checkbox"
And I set the following fields to these values:
| Repeated entry | <span id="hideme">Nope</span>Yep! |
And I click on "Save" "button" in the "sticky-footer" "region"
And I set the field "Templates tertiary navigation" to "Javascript template"
And I set the field "Templates tertiary navigation" to "Custom JavaScript"
And I set the following fields to these values:
| Javascript template | window.onload = () => document.querySelector('#hideme').style.display = 'none'; |
| Custom JavaScript | window.onload = () => document.querySelector('#hideme').style.display = 'none'; |
And I click on "Save" "button" in the "sticky-footer" "region"
When I navigate to "Database" in current page administration
Then I should not see "Nope"

View File

@ -23,38 +23,38 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
$string['configdndmedia'] = 'Offer to create a Text and media resource when media files are dragged and dropped onto a course.';
$string['configdndresizeheight'] = 'When a Text and media resource is created from a dragged and dropped media file, resize it if it is higher than this many pixels. If set to zero, the media file will not be resized.';
$string['configdndresizewidth'] = 'When a Text and media resource is created from a dragged and dropped media file, resize it if it is wider than this many pixels. If set to zero, the media file will not be resized.';
$string['configdndmedia'] = 'Offer to create a Text and media area when media files are dragged and dropped onto a course.';
$string['configdndresizeheight'] = 'When a Text and media area is created from a dragged and dropped media file, resize it if it is higher than this many pixels. If set to zero, the media file will not be resized.';
$string['configdndresizewidth'] = 'When a Text and media area is created from a dragged and dropped media file, resize it if it is wider than this many pixels. If set to zero, the media file will not be resized.';
$string['dndmedia'] = 'Media drag and drop';
$string['dndresizeheight'] = 'Resize drag and drop height';
$string['dndresizewidth'] = 'Resize drag and drop width';
$string['dnduploadlabel'] = 'Add media to course page';
$string['dnduploadlabeltext'] = 'Add a Text and media resource to the course page';
$string['indicator:cognitivedepth'] = 'Text and media cognitive';
$string['indicator:cognitivedepth_help'] = 'This indicator is based on the cognitive depth reached by the student in a Text and media resource.';
$string['indicator:cognitivedepthdef'] = 'Text and media cognitive';
$string['indicator:cognitivedepthdef_help'] = 'The participant has reached this percentage of the cognitive engagement offered by the Text and media resources during this analysis interval (Levels = No view, View)';
$string['dnduploadlabeltext'] = 'Add a Text and media area to the course page';
$string['indicator:cognitivedepth'] = 'Text and media area cognitive';
$string['indicator:cognitivedepth_help'] = 'This indicator is based on the cognitive depth reached by the student in a Text and media area resource.';
$string['indicator:cognitivedepthdef'] = 'Text and media area cognitive';
$string['indicator:cognitivedepthdef_help'] = 'The participant has reached this percentage of the cognitive engagement offered by the Text and media area resources during this analysis interval (Levels = No view, View)';
$string['indicator:cognitivedepthdef_link'] = 'Learning_analytics_indicators#Cognitive_depth';
$string['indicator:socialbreadth'] = 'Text and media social';
$string['indicator:socialbreadth_help'] = 'This indicator is based on the social breadth reached by the student in a Text and media resource.';
$string['indicator:socialbreadthdef'] = 'Text and media social';
$string['indicator:socialbreadthdef_help'] = 'The participant has reached this percentage of the social engagement offered by the Text and media resources during this analysis interval (Levels = No participation, Participant alone)';
$string['indicator:socialbreadth'] = 'Text and media area social';
$string['indicator:socialbreadth_help'] = 'This indicator is based on the social breadth reached by the student in a Text and media area resource.';
$string['indicator:socialbreadthdef'] = 'Text and media area social';
$string['indicator:socialbreadthdef_help'] = 'The participant has reached this percentage of the social engagement offered by the Text and media area resources during this analysis interval (Levels = No participation, Participant alone)';
$string['indicator:socialbreadthdef_link'] = 'Learning_analytics_indicators#Social_breadth';
$string['label:addinstance'] = 'Add a new Text and media resource';
$string['label:view'] = 'View Text and media resource';
$string['label:addinstance'] = 'Add a new Text and media area';
$string['label:view'] = 'View Text and media area';
$string['labeltext'] = 'Text';
$string['modulename'] = 'Text and media';
$string['modulename_help'] = 'Text and media enables you to display text and multimedia on the course page.
$string['modulename'] = 'Text and media area';
$string['modulename_help'] = 'The Text and media area enables you to display text and multimedia on the course page.
You can use Text and media to:
You can use a Text and media area to:
* Split up a long list of course activities with a subheading or an image
* Display an embedded video directly on the course page
* Add a short description to a course section';
$string['modulename_link'] = 'mod/label/view';
$string['modulenameplural'] = 'Text and media';
$string['privacy:metadata'] = 'The Text and media resource plugin does not store any personal data.';
$string['pluginadministration'] = 'Text and media administration';
$string['pluginname'] = 'Text and media';
$string['search:activity'] = 'Text and media';
$string['modulenameplural'] = 'Text and media areas';
$string['privacy:metadata'] = 'The Text and media area plugin does not store any personal data.';
$string['pluginadministration'] = 'Text and media area administration';
$string['pluginname'] = 'Text and media area';
$string['search:activity'] = 'Text and media area';

View File

@ -27,7 +27,7 @@
defined('MOODLE_INTERNAL') || die();
$string['notavailable'] = 'This quiz is not currently available';
$string['notavailable'] = 'This quiz is currently not available.';
$string['pluginname'] = 'Open and close date access rule';
$string['privacy:metadata'] = 'The Open and close date quiz access rule plugin does not store any personal data.';

View File

@ -49,7 +49,7 @@ $string['duplicatetemplate'] = 'A template with the same name already exists.';
$string['edittemplate'] = 'Edit template';
$string['enabled'] = 'Enabled';
$string['error:ws:nokeyprovided'] = 'At least one SEB key must be provided.';
$string['error:ws:quiznotexists'] = 'Quiz not found matching course module id: {$a}';
$string['error:ws:quiznotexists'] = 'Quiz not found matching course module ID: {$a}';
$string['event:accessprevented'] = "Quiz access was prevented";
$string['event:templatecreated'] = 'SEB template was created';
$string['event:templatedeleted'] = 'SEB template was deleted';

View File

@ -147,7 +147,7 @@ class validate_quiz_access_test extends \advanced_testcase {
$this->setAdminUser();
$forum = $this->getDataGenerator()->create_module('forum', ['course' => $this->course->id]);
$this->expectException(\invalid_parameter_exception::class);
$this->expectExceptionMessage('Quiz not found matching course module id: ' . $forum->cmid);
$this->expectExceptionMessage('Quiz not found matching course module ID: ' . $forum->cmid);
validate_quiz_keys::execute($forum->cmid, 'https://www.example.com/moodle', 'configkey');
}

View File

@ -195,7 +195,7 @@ $string['configadaptive'] = 'If you choose Yes for this option then the student
$string['configattemptsallowed'] = 'Restriction on the number of attempts students are allowed at the quiz.';
$string['configdecimaldigits'] = 'Number of digits that should be shown after the decimal point when displaying grades.';
$string['configdecimalplaces'] = 'Number of digits that should be shown after the decimal point when displaying grades for the quiz.';
$string['configdecimalplacesquestion'] = 'Number of digits that should be shown after the decimal point when displaying the grade for individual questions.';
$string['configdecimalplacesquestion'] = 'Number of digits that should be shown after the decimal point when displaying the mark for individual questions.';
$string['configdelaylater'] = 'If you set a time delay here, the student cannot start their third, fourth, ... attempt until this much time has passed since the end of their previous attempt.';
$string['configdelay1'] = 'If you set a time delay, then a student has to wait for that time before they can attempt a quiz after the first attempt.';
$string['configdelay1st2nd'] = 'If you set a time delay here, the student cannot start their second attempt until this much time has passed since the end of their first attempt.';
@ -258,8 +258,8 @@ $string['daysavailable'] = 'Days available';
$string['decimaldigits'] = 'Decimal digits in grades';
$string['decimalplaces'] = 'Decimal places in grades';
$string['decimalplaces_help'] = 'This setting specifies the number of digits shown after the decimal point when displaying grades. It only affects the display of grades, not the grades stored in the database, nor the internal calculations, which are carried out to full accuracy.';
$string['decimalplacesquestion'] = 'Decimal places in question grades';
$string['decimalplacesquestion_help'] = 'This setting specifies the number of digits shown after the decimal point when displaying the grades for individual questions.';
$string['decimalplacesquestion'] = 'Decimal places in marks for questions';
$string['decimalplacesquestion_help'] = 'The number of digits shown after the decimal point when displaying the marks for individual questions.';
$string['decimalpoints'] = 'Decimal places';
$string['default'] = 'Default';
$string['defaultgrade'] = 'Default question grade';
@ -600,7 +600,7 @@ $string['noreviewshort'] = 'Not permitted';
$string['noreviewuntil'] = 'You are not allowed to review this quiz until {$a}';
$string['noreviewuntilshort'] = 'Available {$a}';
$string['noscript'] = 'JavaScript must be enabled to continue!';
$string['notavailabletostudents'] = 'Note: This quiz is not currently available to your students';
$string['notavailabletostudents'] = 'Note: This quiz is currently not available to your students.';
$string['notenoughrandomquestions'] = 'There are not enough questions in category {$a->category} to create the question {$a->name} ({$a->id}).';
$string['notenoughsubquestions'] = 'Not enough sub-questions have been defined!<br />Do you want to go back and fix this question?';
$string['notifyattemptsgradedtask'] = 'Send quiz attempt graded notifications';

View File

@ -103,7 +103,7 @@ $string['random_guess_score'] = 'Random guess score';
$string['rangeofvalues'] = 'Range of statistics for these questions';
$string['rangebetween'] = '{$a->min} {$a->max}';
$string['recalculatenow'] = 'Recalculate now';
$string['recalculatetask'] = 'Re-calculate question statistics';
$string['recalculatetask'] = 'Recalculate question statistics';
$string['reportsettings'] = 'Statistics calculation settings';
$string['response'] = 'Response';
$string['slotstructureanalysis'] = 'Structural analysis for question number {$a}';

View File

@ -68,7 +68,7 @@ Feature: Edit quiz marks with no attempts
And I am on the "Quiz 1" "quiz activity editing" page
When I set the following fields to these values:
| Decimal places in grades | 3 |
| Decimal places in question grades | 5 |
| Decimal places in marks for questions | 5 |
And I press "Save and display"
When I am on the "Quiz 1" "mod_quiz > Edit" page
# Then the field "maxgrade" matches value "20.000" -- with exact match on decimal places.

View File

@ -72,7 +72,7 @@ Feature: Edit quiz marks with attempts
When I am on the "Quiz 1" "quiz activity editing" page
And I set the following fields to these values:
| Decimal places in grades | 3 |
| Decimal places in question grades | 5 |
| Decimal places in marks for questions | 5 |
And I press "Save and display"
And I am on the "Quiz 1" "mod_quiz > Edit" page
# Then the field "maxgrade" matches value "20.000" -- with exact match on decimal places.

View File

@ -69,7 +69,7 @@ Feature: Preview a quiz as a teacher
| TF1 | 1 | |
| TF2 | 1 | 3.0 |
When I am on the "Quiz 2" "mod_quiz > View" page logged in as "admin"
And I should see "This quiz is not currently available"
And I should see "This quiz is currently not available."
And I press "Preview quiz"
Then I should see "if this were a real attempt, you would be blocked" in the ".alert-warning" "css_element"

View File

@ -29,7 +29,7 @@ $string['privacy:metadata'] = 'The Question usage question bank plugin does not
$string['questionusage'] = 'Usage';
$string['questionusage_help'] = 'The number of quizzes in which the question is used, with a link to open a window listing the quizzes and the number of attempts.';
$string['questionlastused'] = 'Last used';
$string['questionlastused_help'] = 'When was the question last attempted by a student.';
$string['questionlastused_help'] = 'The date when the question was last attempted.';
$string['usageheader'] = 'Question usage';
// Table.

View File

@ -29,7 +29,7 @@ $string['deletedquestion'] = 'Missing question';
$string['deletedquestiontext'] = 'This question is missing. Unable to display anything.';
$string['missingqtypewarning'] = 'This question is of a type that is not currently installed on this system. You will not be able to do anything with this question.';
$string['missing'] = 'Question of a type that is not installed on this system';
$string['pluginname'] = 'Missing type';
$string['pluginname'] = 'Missing question type placeholder';
$string['pluginnameadding'] = 'Adding a question of a type that is not installed on this system';
$string['pluginnameediting'] = 'Editing a question of a type that is not installed on this system';
$string['privacy:metadata'] = 'The Select missing words question type plugin does not store any personal data.';

View File

@ -71,7 +71,7 @@ $string['privacy:preference:penalty'] = 'The penalty for each incorrect try when
$string['privacy:preference:single'] = 'Whether the answer is single with radio buttons or multiple with checkboxes.';
$string['privacy:preference:shuffleanswers'] = 'Whether the answers should be automatically shuffled.';
$string['privacy:preference:answernumbering'] = 'Which numbering style should be used (\'1, 2, 3, ...\', \'a, b, c, ...\' etc.).';
$string['privacy:preference:showstandardinstruction'] = 'Whether showing standard instruction.';
$string['privacy:preference:showstandardinstruction'] = 'Whether standard instructions are shown.';
$string['regradeissuenumchoiceschanged'] = 'The number of choices in the question has changed.';
$string['selectmulti'] = 'Select one or more:';
$string['selectone'] = 'Select one:';
@ -81,5 +81,5 @@ $string['shuffleanswers_help'] = 'If enabled, the order of the answers is random
$string['singleanswer'] = 'Choose one answer.';
$string['showstandardinstruction'] = 'Show standard instructions';
$string['showstandardinstruction_desc'] = 'Whether to show the instructions "Select one:" or "Select one or more:" before multiple choice answers.';
$string['showstandardinstruction_help'] = 'Whether to show the instructions "Select one:" or "Select one or more:" before multiple choice answers. If disabled, question authors can instead include instructions in the question content, if required.';
$string['showstandardinstruction_help'] = 'Whether to show the instructions \'Select one:\' or \'Select one or more:\' before multiple choice answers. Alternatively, you can include instructions in the question text.';
$string['toomanyselected'] = 'You have selected too many options.';

View File

@ -28,8 +28,8 @@ $string['notitle'] = 'notitle';
$string['remember'] = 'Remember me';
$string['pluginname'] = 'Dropbox';
$string['dropbox'] = 'Dropbox';
$string['issuer'] = 'OAuth2 service';
$string['issuer_help'] = 'Select the OAuth2 service that is configured to talk to the Dropbox API. If the service does not exist yet, you will need to create it.';
$string['issuer'] = 'OAuth 2 service';
$string['issuer_help'] = 'Select the OAuth 2 service that is configured to talk to the Dropbox API. If the service doesn\'t exist yet, you will need to create it.';
$string['cachelimit'] = 'Cache limit';
$string['cachelimit_info'] = 'Enter the maximum size of files (in bytes) to be cached on server for Dropbox aliases/shortcuts. Cached files will be served when the source is no longer available. Empty value or zero mean caching of all files regardless of size.';
$string['dropbox:view'] = 'View a Dropbox folder';