Merge branch 'MDL-84321-main-enfix' of https://github.com/mudrd8mz/moodle
This commit is contained in:
@@ -23,14 +23,14 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
$string['capability:cannotpassfactor'] = 'STOPS a role from passing the MFA user capability factor.';
|
||||
$string['capability:cannotpassfactor'] = 'Must use other factor in MFA to authenticate';
|
||||
$string['pluginname'] = 'User capability';
|
||||
$string['privacy:metadata'] = 'The User capability factor plugin does not store any personal data.';
|
||||
$string['settings:adminpasses'] = 'Site admins can pass this factor';
|
||||
$string['settings:adminpasses_help'] = 'By default admins pass all capability checks, including this one which uses \'factor/capability:cannotpassfactor\', which means they will fail this factor.
|
||||
If checked then all site admins will pass this factor if they do not have this capability from another role.
|
||||
If unchecked site admins will fail this factor.';
|
||||
$string['settings:description'] = '<p>Use the capability \'factor/capability:cannotpassfactor\' to specify which users need multiple-factor authentication.</p>
|
||||
<p>You can assign this capability to users in the <a href="roles/manage.php">Define roles</a> page.</p>';
|
||||
$string['settings:description'] = '<p>Use the capability factor/capability:cannotpassfactor to specify which users must use another factor to authenticate.</p>
|
||||
<p>Allow this capability for selected roles in <a href="roles/manage.php">Define roles</a>.</p>';
|
||||
$string['settings:shortdescription'] = 'Specify which users must use other factors to authenticate. Must be combined with other factors.';
|
||||
$string['summarycondition'] = 'does NOT have the \'factor/capability:cannotpassfactor\' capability in any role including site administrator.';
|
||||
|
||||
@@ -31,7 +31,7 @@ $string['adhoctasksdue'] = 'Ad hoc tasks due';
|
||||
$string['adhoctasksfailed'] = 'Ad hoc tasks failed';
|
||||
$string['adhoctasksfuture'] = 'Future ad hoc tasks';
|
||||
$string['adhoctasksrunning'] = 'Ad hoc tasks running';
|
||||
$string['asap'] = 'ASAP';
|
||||
$string['asap'] = '<abbr title="As soon as possible">ASAP</abbr>';
|
||||
$string['adhocempty'] = 'Ad hoc task queue is empty';
|
||||
$string['adhocqueuesize'] = 'Ad hoc task queue has {$a} tasks';
|
||||
$string['adhocqueueold'] = 'Oldest unprocessed task is {$a->age}, which is more than {$a->max}';
|
||||
@@ -47,7 +47,7 @@ $string['checklongrunningtasks'] = 'Long running tasks';
|
||||
$string['checklongrunningtaskcount'] = 'Long running tasks: {$a}';
|
||||
$string['clearfaildelay_confirm'] = 'Are you sure you want to clear the fail delay for task \'{$a}\'? After clearing the delay, the task will run according to its normal schedule.';
|
||||
$string['component'] = 'Component';
|
||||
$string['confirmdeletetaskwithid'] = 'Are you sure you want to delete the task with id: {$a->id}?';
|
||||
$string['confirmdeletetaskwithid'] = 'Are you sure you want to delete the task with ID {$a->id}?';
|
||||
$string['corecomponent'] = 'Core';
|
||||
$string['crondisabled'] = 'Cron is disabled. No new tasks will be started. The system will not operate properly until it is enabled again.';
|
||||
$string['cronok'] = 'Cron is running frequently';
|
||||
|
||||
@@ -22,7 +22,7 @@ use flexible_table;
|
||||
use moodle_url;
|
||||
|
||||
/**
|
||||
* Table to manage AI Provider plugins.
|
||||
* Table to manage AI provider plugins.
|
||||
*
|
||||
* @package core_ai
|
||||
* @copyright 2024 Matt Porritt <[email protected]>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
namespace core_ai\table;
|
||||
|
||||
/**
|
||||
* AI Provider management table filter set.
|
||||
* AI provider management table filter set.
|
||||
*
|
||||
* @package core_ai
|
||||
* @copyright 2024 Matt Porritt <[email protected]>
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace aiprovider_azureai;
|
||||
use core_ai\hook\after_ai_provider_form_hook;
|
||||
|
||||
/**
|
||||
* Hook listener for Azure AI Provider.
|
||||
* Hook listener for Azure AI provider.
|
||||
*
|
||||
* @package aiprovider_azureai
|
||||
* @copyright 2024 Matt Porritt <[email protected]>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Hook listener callbacks for the Azure AI Provider.
|
||||
* Hook listener callbacks for the Azure AI provider.
|
||||
*
|
||||
* @package aiprovider_azureai
|
||||
* @copyright 2024 Matt Porritt <[email protected]>
|
||||
|
||||
@@ -24,33 +24,33 @@
|
||||
|
||||
$string['action:generate_image:apiversion'] = 'API version';
|
||||
$string['action:generate_image:deployment'] = 'Deployment ID';
|
||||
$string['action:generate_image:deployment_help'] = 'The deployment ID that relates to the API endpoint the provider uses for this action.';
|
||||
$string['action:generate_image:deployment_help'] = 'The deployment ID that relates to the API endpoint the provider uses for this action.';
|
||||
$string['action:generate_text:apiversion'] = 'API version';
|
||||
$string['action:generate_text:deployment'] = 'Deployment ID';
|
||||
$string['action:generate_text:deployment_help'] = 'The deployment ID that relates to the API endpoint the provider uses for this action.';
|
||||
$string['action:generate_text:systeminstruction'] = 'System Instruction';
|
||||
$string['action:generate_text:deployment_help'] = 'The deployment ID that relates to the API endpoint the provider uses for this action.';
|
||||
$string['action:generate_text:systeminstruction'] = 'System instruction';
|
||||
$string['action:generate_text:systeminstruction_help'] = 'This instruction is sent to the AI model along with the user\'s prompt. Editing this instruction is not recommended unless absolutely required.';
|
||||
$string['action:summarise_text:apiversion'] = 'API version';
|
||||
$string['action:summarise_text:deployment'] = 'Deployment ID';
|
||||
$string['action:summarise_text:deployment_help'] = 'The deployment ID that relates to the API endpoint the provider uses for this action.';
|
||||
$string['action:summarise_text:systeminstruction'] = 'System Instruction';
|
||||
$string['action:summarise_text:deployment_help'] = 'The deployment ID that relates to the API endpoint the provider uses for this action.';
|
||||
$string['action:summarise_text:systeminstruction'] = 'System instruction';
|
||||
$string['action:summarise_text:systeminstruction_help'] = 'This instruction is sent to the AI model along with the user\'s prompt. Editing this instruction is not recommended unless absolutely required.';
|
||||
$string['apikey'] = 'Azure AI API key';
|
||||
$string['apikey_help'] = 'Enter your Azure AI API key.';
|
||||
$string['endpoint'] = 'Azure AI API endpoint';
|
||||
$string['endpoint_help'] = 'Enter the endpoint URL for your Azure AI API in the following format: https://YOUR_RESOURCE_NAME.openai.azure.com';
|
||||
$string['pluginname'] = 'Azure AI API Provider';
|
||||
$string['privacy:metadata'] = 'The Azure Ai API provider plugin does not store any personal data.';
|
||||
$string['pluginname'] = 'Azure AI API provider';
|
||||
$string['privacy:metadata'] = 'The Azure AI API provider plugin does not store any personal data.';
|
||||
$string['privacy:metadata:aiprovider_azureai:externalpurpose'] = 'This information is sent to the Azure API in order for a response to be generated. Your Azure AI account settings may change how Microsoft stores and retains this data. No user data is explicitly sent to Microsoft or stored in Moodle LMS by this plugin.';
|
||||
$string['privacy:metadata:aiprovider_azureai:model'] = 'The model used to generate the response.';
|
||||
$string['privacy:metadata:aiprovider_azureai:numberimages'] = 'When generating images the number of images used in the response.';
|
||||
$string['privacy:metadata:aiprovider_azureai:prompttext'] = 'The user entered text prompt used to generate the response.';
|
||||
$string['privacy:metadata:aiprovider_azureai:responseformat'] = 'The format of the response. When generating images.';
|
||||
$string['privacy:metadata:aiprovider_azureai:responseformat'] = 'The format of the response when generating images.';
|
||||
|
||||
// Deprecated since Moodle 5.0.
|
||||
$string['action_apiversion'] = 'API version';
|
||||
$string['action_deployment'] = 'Deployment ID';
|
||||
$string['action_deployment_desc'] = 'The deployment ID that relates to the API endpoint the provider uses for this action.';
|
||||
$string['action_deployment_desc'] = 'The deployment ID that relates to the API endpoint the provider uses for this action.';
|
||||
$string['action_systeminstruction'] = 'System instruction';
|
||||
$string['action_systeminstruction_desc'] = 'This instruction is sent to the AI model along with the user\'s prompt. Editing this instruction is not recommended unless absolutely required.';
|
||||
$string['apikey_desc'] = 'Enter your Azure AI API key.';
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace aiprovider_openai;
|
||||
use core_ai\hook\after_ai_provider_form_hook;
|
||||
|
||||
/**
|
||||
* Hook listener for Open AI Provider.
|
||||
* Hook listener for Open AI provider.
|
||||
*
|
||||
* @package aiprovider_openai
|
||||
* @copyright 2024 Matt Porritt <[email protected]>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Hook listener callbacks for the Open AI Provider.
|
||||
* Hook listener callbacks for the Open AI provider.
|
||||
*
|
||||
* @package aiprovider_openai
|
||||
* @copyright 2024 Matt Porritt <[email protected]>
|
||||
|
||||
@@ -39,7 +39,7 @@ $string['apikey'] = 'OpenAI API key';
|
||||
$string['apikey_help'] = 'Get a key from your <a href="https://platform.openai.com/account/api-keys" target="_blank">OpenAI API keys</a>.';
|
||||
$string['orgid'] = 'OpenAI organization ID';
|
||||
$string['orgid_help'] = 'Get your OpenAI organization ID from your <a href="https://platform.openai.com/account/org-settings" target="_blank">OpenAI account</a>.';
|
||||
$string['pluginname'] = 'OpenAI API Provider';
|
||||
$string['pluginname'] = 'OpenAI API provider';
|
||||
$string['privacy:metadata'] = 'The OpenAI API provider plugin does not store any personal data.';
|
||||
$string['privacy:metadata:aiprovider_openai:externalpurpose'] = 'This information is sent to the OpenAI API in order for a response to be generated. Your OpenAI account settings may change how OpenAI stores and retains this data. No user data is explicitly sent to OpenAI or stored in Moodle LMS by this plugin.';
|
||||
$string['privacy:metadata:aiprovider_openai:model'] = 'The model used to generate the response.';
|
||||
|
||||
@@ -5,31 +5,31 @@ Feature: An administrator can manage AI subsystem settings
|
||||
I can manage AI subsystem settings
|
||||
|
||||
@javascript
|
||||
Scenario: An administrator can create AI Provider plugin instances using JavaScript
|
||||
Scenario: An administrator can create AI provider plugin instances using JavaScript
|
||||
Given I am logged in as "admin"
|
||||
And I navigate to "AI > AI providers" in site administration
|
||||
And I should see "Nothing to display"
|
||||
When I click on "Create a new provider instance" "link"
|
||||
And I select "OpenAI API Provider" from the "Choose AI Provider plugin" singleselect
|
||||
And I select "OpenAI API provider" from the "Choose AI provider plugin" singleselect
|
||||
And I set the following fields to these values:
|
||||
| Name for instance | OpenAI API provider test|
|
||||
| OpenAI API key | 123 |
|
||||
| OpenAI organization ID| abc |
|
||||
And I click on "Create instance" "button"
|
||||
And I should see "OpenAI API provider test AI Provider instance created"
|
||||
And I should see "OpenAI API provider test AI provider instance created"
|
||||
And I should see "OpenAI API provider test"
|
||||
And I click on "Create a new provider instance" "link"
|
||||
And I select "Azure AI API Provider" from the "Choose AI Provider plugin" singleselect
|
||||
And I select "Azure AI API provider" from the "Choose AI provider plugin" singleselect
|
||||
And I set the following fields to these values:
|
||||
| Name for instance | Azure AI provider test |
|
||||
| Azure AI API key | 123 |
|
||||
| Azure AI API endpoint| https://api.cognitive.microsofttranslator.com/ |
|
||||
And I click on "Create instance" "button"
|
||||
And I should see "Azure AI provider test AI Provider instance created"
|
||||
And I should see "Azure AI provider test AI provider instance created"
|
||||
And I should see "Azure AI provider test"
|
||||
|
||||
@javascript
|
||||
Scenario: An administrator can enable AI Provider plugin instances using JavaScript
|
||||
Scenario: An administrator can enable AI provider plugin instances using JavaScript
|
||||
Given the following "core_ai > ai providers" exist:
|
||||
|provider | name | enabled | apikey | orgid |
|
||||
|aiprovider_openai| OpenAI API test | 0 | 123 | abc |
|
||||
@@ -53,7 +53,7 @@ Feature: An administrator can manage AI subsystem settings
|
||||
Then I should see "Azure AI API test disabled."
|
||||
|
||||
@javascript
|
||||
Scenario: An administrator can configure AI Provider plugin instance
|
||||
Scenario: An administrator can configure AI provider plugin instance
|
||||
action settings using JavaScript
|
||||
Given the following "core_ai > ai providers" exist:
|
||||
|provider | name | enabled | apikey | orgid |
|
||||
@@ -71,16 +71,16 @@ Feature: An administrator can manage AI subsystem settings
|
||||
Then I should see "Generate text action settings updated"
|
||||
|
||||
@javascript
|
||||
Scenario: An administrator can delete AI Provider plugin instances using JavaScript
|
||||
Scenario: An administrator can delete AI provider plugin instances using JavaScript
|
||||
Given the following "core_ai > ai providers" exist:
|
||||
|provider | name | enabled | apikey | orgid |
|
||||
|aiprovider_openai| OpenAI API test | 0 | 123 | abc |
|
||||
And I am logged in as "admin"
|
||||
And I navigate to "AI > AI providers" in site administration
|
||||
And I click on the "Delete" link in the table row containing "OpenAI API test"
|
||||
And "Delete AI Provider instance" "dialogue" should be visible
|
||||
And I click on "Delete" "button" in the "Delete AI Provider instance" "dialogue"
|
||||
Then I should see "OpenAI API test AI Provider instance deleted"
|
||||
And "Delete AI provider instance" "dialogue" should be visible
|
||||
And I click on "Delete" "button" in the "Delete AI provider instance" "dialogue"
|
||||
Then I should see "OpenAI API test AI provider instance deleted"
|
||||
|
||||
@javascript
|
||||
Scenario: An administrator can control the enabled state of AI placement plugins using JavaScript
|
||||
@@ -94,7 +94,7 @@ Feature: An administrator can manage AI subsystem settings
|
||||
Then I should see "Text editor placement disabled."
|
||||
|
||||
@javascript
|
||||
Scenario: Placement actions should be available when an Administrator enables AI Providers using JavaScript
|
||||
Scenario: Placement actions should be available when an Administrator enables AI providers using JavaScript
|
||||
Given the following "core_ai > ai providers" exist:
|
||||
|provider | name | enabled | apikey | orgid |
|
||||
|aiprovider_openai| OpenAI API test | 1 | 123 | abc |
|
||||
@@ -104,7 +104,7 @@ Feature: An administrator can manage AI subsystem settings
|
||||
Then I should not see "This action is unavailable."
|
||||
|
||||
@javascript
|
||||
Scenario: Placement actions should not be available when an Administrator disables AI Providers using JavaScript
|
||||
Scenario: Placement actions should not be available when an Administrator disables AI providers using JavaScript
|
||||
Given the following "core_ai > ai providers" exist:
|
||||
|provider | name | enabled | apikey | orgid |
|
||||
|aiprovider_openai| OpenAI API test | 1 | 123 | abc |
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
*/
|
||||
|
||||
$string['cachedef_serverversions'] = 'Matrix server version information for running servers';
|
||||
$string['matrixhomeservername'] = 'Homeserver Name';
|
||||
$string['matrixhomeservername'] = 'Homeserver name';
|
||||
$string['matrixhomeservername_desc'] = 'The part after <code>@user:</code> in your Matrix ID (e.g. <code>example.com</code> in <code>@user:example.com</code>)';
|
||||
$string['matrixhomeserverurl'] = 'Homeserver URL';
|
||||
$string['matrixhomeserverurl_desc'] = 'Server URL for connecting and creating accounts (e.g., https://matrix.example.com)';
|
||||
$string['matrixhomeserverurl_desc'] = 'Server URL for connecting and creating accounts e.g. https://matrix.example.com.';
|
||||
$string['matrixaccesstoken'] = 'Access token';
|
||||
$string['matrixaccesstoken_desc'] = 'Access token for the account which will perform actions on the homeserver.';
|
||||
$string['matrixelementurl'] = 'Element web URL';
|
||||
|
||||
@@ -42,7 +42,7 @@ Feature: Inline editing H5P content anywhere
|
||||
# Add H5P content to the page.
|
||||
And I am on the "PageName1" "page activity" page logged in as "teacher1"
|
||||
And I navigate to "Settings" in current page administration
|
||||
And I click on "Configure H5P content" "button" in the "#fitem_id_page" "css_element"
|
||||
And I click on "Insert H5P content" "button" in the "#fitem_id_page" "css_element"
|
||||
And I click on "Browse repositories..." "button" in the "Insert H5P content" "dialogue"
|
||||
And I select "Private files" repository in file picker
|
||||
And I click on "greeting-card.h5p" "file" in repository content area
|
||||
@@ -86,7 +86,7 @@ Feature: Inline editing H5P content anywhere
|
||||
# Add H5P content to the page.
|
||||
And I am on the "PageName1" "page activity" page
|
||||
And I navigate to "Settings" in current page administration
|
||||
And I click on "Configure H5P content" "button" in the "#fitem_id_page" "css_element"
|
||||
And I click on "Insert H5P content" "button" in the "#fitem_id_page" "css_element"
|
||||
And I click on "Browse repositories..." "button" in the "Insert H5P content" "dialogue"
|
||||
And I select "Content bank" repository in file picker
|
||||
And I click on "Greeting card" "file" in repository content area
|
||||
@@ -130,7 +130,7 @@ Feature: Inline editing H5P content anywhere
|
||||
# Add H5P content to the page.
|
||||
And I am on the "PageName1" "page activity" page
|
||||
And I navigate to "Settings" in current page administration
|
||||
And I click on "Configure H5P content" "button" in the "#fitem_id_page" "css_element"
|
||||
And I click on "Insert H5P content" "button" in the "#fitem_id_page" "css_element"
|
||||
And I click on "Browse repositories..." "button" in the "Insert H5P content" "dialogue"
|
||||
And I select "Content bank" repository in file picker
|
||||
And I click on "Greeting card" "file" in repository content area
|
||||
@@ -176,7 +176,7 @@ Feature: Inline editing H5P content anywhere
|
||||
# Add H5P content to the page.
|
||||
And I am on the "PageName1" "page activity" page
|
||||
And I navigate to "Settings" in current page administration
|
||||
And I click on "Configure H5P content" "button" in the "#fitem_id_page" "css_element"
|
||||
And I click on "Insert H5P content" "button" in the "#fitem_id_page" "css_element"
|
||||
And I set the field "H5P URL or file upload" to "https://moodle.h5p.com/content/1290772960722742119"
|
||||
And I click on "Insert H5P" "button" in the "Insert H5P content" "dialogue"
|
||||
And I click on "Save and display" "button"
|
||||
@@ -219,7 +219,7 @@ Feature: Inline editing H5P content anywhere
|
||||
| Text block title | H5PTest |
|
||||
| Content | - |
|
||||
And I configure the "H5PTest" block
|
||||
And I click on "Configure H5P content" "button" in the "//div[contains(@id,'fitem_id_config_text')]" "xpath_element"
|
||||
And I click on "Insert H5P content" "button" in the "//div[contains(@id,'fitem_id_config_text')]" "xpath_element"
|
||||
And I click on "Browse repositories..." "button" in the "Insert H5P content" "dialogue"
|
||||
And I select "Content bank" repository in file picker
|
||||
And I click on "Greeting card" "file" in repository content area
|
||||
|
||||
@@ -26,7 +26,7 @@ Feature: Undeployed H5P content should be only available to users that can deplo
|
||||
And the following "contentbank content" exist:
|
||||
| contextlevel | reference | contenttype | user | contentname | filepath |
|
||||
| Course | C1 | contenttype_h5p | teacher1 | filltheblanks.h5p | /h5p/tests/fixtures/filltheblanks.h5p |
|
||||
And I click on the "Configure H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on the "Insert H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on "Browse repositories..." "button" in the "Insert H5P content" "dialogue"
|
||||
And I click on "Content bank" "link" in the ".fp-repo-area" "css_element"
|
||||
And I click on "filltheblanks.h5p" "link"
|
||||
|
||||
+2
-2
@@ -341,7 +341,7 @@ $string['configperfdebug'] = 'If you turn this on, performance info will be prin
|
||||
$string['configprofileroles'] = 'Roles that are listed in user profiles and on the participants page.';
|
||||
$string['configprofilesforenrolledusersonly'] = 'To prevent misuse by spammers, profile descriptions of users who are not yet enrolled in any course are hidden. New users must enrol in at least one course before they can add a profile description.';
|
||||
$string['configprotectusernames'] = 'If enabled, the forgotten password form will not display any hints allowing account usernames or email addresses to be guessed.';
|
||||
$string['configproxybypass'] = 'List of (partial) hostnames or IP addresses that should bypass the proxy. Separate each item by commas, with no spaces. For example: 192.168.0.0/16,*.mydomain.com.';
|
||||
$string['configproxybypass'] = 'List of (partial) hostnames or IP addresses that should bypass the proxy. Separate items by a comma and no spaces, for example 192.168.0.0/16,*.mydomain.com.';
|
||||
$string['configproxyhost'] = 'If this <b>server</b> needs to use a proxy computer (eg a firewall) to access the Internet, then provide the proxy hostname here. Otherwise leave it blank.';
|
||||
$string['configproxypassword'] = 'Password needed to access internet through proxy if required, empty if none (PHP cURL extension required).';
|
||||
$string['configproxyport'] = 'If this server needs to use a proxy computer, then provide the proxy port here.';
|
||||
@@ -1486,7 +1486,7 @@ $string['tools'] = 'Admin tools';
|
||||
$string['toolsmanage'] = 'Manage admin tools';
|
||||
$string['unattendedoperation'] = 'Unattended operation';
|
||||
$string['unbookmarkthispage'] = 'Unbookmark this page';
|
||||
$string['unicoderequired'] = 'It is required that you store all your data in Unicode format (UTF-8). New installations must be performed into databases that have their default character set as Unicode. If you are upgrading, you should perform the UTF-8 migration process (see the Admin page).';
|
||||
$string['unicoderequired'] = 'All data must be stored in Unicode format (UTF-8). For new installations, the database must have UTF-8 as default character set. If you are upgrading, you need to follow the UTF-8 migration process.';
|
||||
$string['uninstallplugin'] = 'Uninstall';
|
||||
$string['unlockaccount'] = 'Unlock account';
|
||||
$string['unoconvwarning'] = 'The version of unoconv you have installed is not supported.';
|
||||
|
||||
+11
-11
@@ -48,7 +48,7 @@ $string['action_translate_text_desc'] = 'Translate provided text from one langua
|
||||
$string['actionsettingprovider'] = '{$a} action settings';
|
||||
$string['actionsettingprovider_desc'] = 'These settings control how the {$a->providername} performs the action {$a->actionname}.';
|
||||
$string['actionsettings'] = 'Action settings';
|
||||
$string['actionsettings_desc'] = 'These settings control how the AI actions for this provider instance.';
|
||||
$string['actionsettings_desc'] = 'These settings control the AI actions for this provider instance.';
|
||||
$string['ai'] = 'AI';
|
||||
$string['aiactionregister'] = 'AI action register';
|
||||
$string['aiplacements'] = 'AI placements';
|
||||
@@ -72,9 +72,9 @@ $string['createnewprovider'] = 'Create a new provider instance';
|
||||
$string['dateaccepted'] = 'Date accepted';
|
||||
$string['declineaipolicy'] = 'Decline';
|
||||
$string['enableglobalratelimit'] = 'Set site-wide rate limit';
|
||||
$string['enableglobalratelimit_help'] = 'Limit the number of requests that the OpenAI API provider can receive across the entire site every hour.';
|
||||
$string['enableglobalratelimit_help'] = 'Limit the number of requests that the AI provider can receive across the entire site every hour.';
|
||||
$string['enableuserratelimit'] = 'Set user rate limit';
|
||||
$string['enableuserratelimit_help'] = 'Limit the number of requests each user can make to the OpenAI API provider every hour.';
|
||||
$string['enableuserratelimit_help'] = 'Limit the number of requests each user can make to the AI provider every hour.';
|
||||
$string['globalratelimit'] = 'Maximum number of site-wide requests';
|
||||
$string['globalratelimit_help'] = 'The number of site-wide requests allowed per hour.';
|
||||
$string['manageaiplacements'] = 'Manage AI placements';
|
||||
@@ -125,17 +125,17 @@ $string['provider'] = 'Provider';
|
||||
$string['provideractionsettings'] = 'Actions';
|
||||
$string['provideractionsettings_desc'] = 'Choose and configure the actions that the {$a} can perform on your site.';
|
||||
$string['providerinstanceactionupdated'] = '{$a} action settings updated';
|
||||
$string['providerinstancecreated'] = '{$a} AI Provider instance created';
|
||||
$string['providerinstancedelete'] = 'Delete AI Provider instance';
|
||||
$string['providerinstancedeleteconfirm'] = 'You are about to delete the AI Provider instance: "{$a->name} ({$a->provider})". Are you sure?';
|
||||
$string['providerinstancedeleted'] = '{$a} AI Provider instance deleted';
|
||||
$string['providerinstancedeletefailed'] = 'Cannot delete the {$a} AI Provider instance. The provider is either in use or there\'s a database issue. Check if the private is active or contact your database administrator for help.';
|
||||
$string['providerinstancedisablefailed'] = 'Cannot disable the AI Provider instance. The provider is either in use or there\'s a database issue. Check if the provider is active or contact your database administrator for help.';
|
||||
$string['providerinstanceupdated'] = '{$a} AI Provider instance updated';
|
||||
$string['providerinstancecreated'] = '{$a} AI provider instance created.';
|
||||
$string['providerinstancedelete'] = 'Delete AI provider instance';
|
||||
$string['providerinstancedeleteconfirm'] = 'You are about to delete the AI provider instance {$a->name} ({$a->provider}). Are you sure?';
|
||||
$string['providerinstancedeleted'] = '{$a} AI provider instance deleted.';
|
||||
$string['providerinstancedeletefailed'] = 'Cannot delete the {$a} AI provider instance. The provider is either in use or there is a database issue. Check if the provider is active or contact your database administrator for help.';
|
||||
$string['providerinstancedisablefailed'] = 'Cannot disable the AI provider instance. The provider is either in use or there is a database issue. Check if the provider is active or contact your database administrator for help.';
|
||||
$string['providerinstanceupdated'] = '{$a} AI provider instance updated.';
|
||||
$string['providername'] = 'Name for instance';
|
||||
$string['providers'] = 'Providers';
|
||||
$string['providersettings'] = 'Settings';
|
||||
$string['providertype'] = 'Choose AI Provider plugin';
|
||||
$string['providertype'] = 'Choose AI provider plugin';
|
||||
$string['timegenerated'] = 'Time generated';
|
||||
$string['unknownvalue'] = '—';
|
||||
$string['userpolicy'] = '<h4><strong>Welcome to the new AI feature!</strong></h4>
|
||||
|
||||
+2
-2
@@ -38,7 +38,7 @@ $string['auth_changepasswordhelp'] = 'Change password help';
|
||||
$string['auth_changepasswordhelp_expl'] = 'Display lost password help to users who have lost their {$a} password. This will be displayed either as well as or instead of the <strong>Change Password URL</strong> or Internal Moodle password change.';
|
||||
$string['auth_changepasswordurl'] = 'Change password URL';
|
||||
$string['auth_changepasswordurl_expl'] = 'Specify the url to send users who have lost their {$a} password. Set <strong>Use standard Change Password page</strong> to <strong>No</strong>.';
|
||||
$string['auth_changingemailaddress'] = 'You have requested a change of email address, from {$a->oldemail} to {$a->newemail}. For security reasons, we are sending you an email message at the new address to confirm that it belongs to you. Your email address will be updated as soon as you open the URL sent to you in that message. The confirmation link will expire in <b>10 minutes</b>';
|
||||
$string['auth_changingemailaddress'] = 'You requested a change of email address, from {$a->oldemail} to {$a->newemail}. For security reasons, we are sending you a message to your new address to confirm that it belongs to you. Your email address will be updated as soon as you open the URL sent to you in the message. The confirmation link will expire in 10 minutes.';
|
||||
$string['authinstructions'] = 'Leave this blank for the default login instructions to be displayed on the login page. If you want to provide custom login instructions, enter them here.';
|
||||
$string['auth_invalidnewemailkey'] = 'Error: if you are trying to confirm a change of email address, you may have made a mistake in copying the URL we sent you by email. Please copy the address and try again.';
|
||||
$string['auth_loginpasswordtoggle'] = 'Password visibility toggle';
|
||||
@@ -161,7 +161,7 @@ $string['showguestlogin'] = 'You can hide or show the guest login button on the
|
||||
$string['showloginform'] = 'Display manual login form';
|
||||
$string['showloginform_desc'] = 'If all users on the site use an authentication method such as OAuth 2 that doesn\'t require them to enter a username and password, you can hide the manual login form. Note that users with manual accounts will not be able to log in.
|
||||
|
||||
If you hide the manual login form then can\'t log in, you can display it again using the command line php admin/cli/cfg.php --name=showloginform --set=1.';
|
||||
If you hide the manual login form then can\'t log in, you can display it again using the command line php admin/cli/cfg.php --name=showloginform --set=1';
|
||||
$string['stdchangepassword'] = 'Use standard page for changing password';
|
||||
$string['stdchangepassword_expl'] = 'If the external authentication system allows password changes through Moodle, switch this to Yes. This setting overrides \'Change Password URL\'.';
|
||||
$string['stdchangepassword_explldap'] = 'NOTE: It is recommended that you use LDAP over an SSL encrypted tunnel (ldaps://) if the LDAP server is remote.';
|
||||
|
||||
+1
-1
@@ -229,7 +229,7 @@ $string['dndmaxbytes'] = 'The file is too large. The maximum size allowed is {$a
|
||||
$string['dndread'] = 'Error reading the file';
|
||||
$string['dndupload'] = 'An unknown error ocurred while uploading the file';
|
||||
$string['dndunkownfile'] = 'This file type is not supported';
|
||||
$string['downgradedcore'] = 'ERROR!!! The code you are using is OLDER than the version that made these databases!';
|
||||
$string['downgradedcore'] = 'Error: The code you are using is older than the version recorded in the database.';
|
||||
$string['downloadedfilecheckfailed'] = 'Downloaded file check failed';
|
||||
$string['duplicatefieldname'] = 'Duplicate field name "{$a}" detected';
|
||||
$string['duplicatenosupport'] = '\'{$a->modname}\' activity could not be duplicated because the {$a->modtype} module does not support backup and restore.';
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@ $string['errorws'] = '{$a}';
|
||||
$string['errorwstokenreset'] = '{$a}. Registration token on this site has been reset. You can now register your site again.';
|
||||
$string['errorregistrationupdate'] = 'An error occurred during registration update ({$a})';
|
||||
$string['experttipsandinsights'] = 'Expert tips and insights';
|
||||
$string['experttipsandinsightsdesc'] = 'Yes, sign me up for exclusive tips, strategies, and insights from Moodle experts and Certified Partners. Update your preferences or unsubscribe anytime, and view our <a href="{$a}" target="_blank">Privacy Policy</a> for more information.';
|
||||
$string['experttipsandinsightsdesc'] = 'Yes, sign me up for exclusive tips, strategies, and insights from Moodle experts and Certified Partners. Update your preferences or unsubscribe any time, as covered in our <a href="{$a}">Privacy Notice</a>.';
|
||||
$string['geolocation'] = 'Geolocation';
|
||||
$string['geolocation_help'] = 'In future we may provide location-based searching. If you want to specify the location for your course use a latitude/longitude value here (eg: -31.947884,115.871285). One way to find this is to use Google Maps.';
|
||||
$string['imageurl'] = 'Image URL';
|
||||
|
||||
+5
-7
@@ -1504,20 +1504,18 @@ $string['newuser'] = 'New user';
|
||||
$string['newusernewpasswordsubj'] = 'New user account';
|
||||
$string['newusernewpasswordtext'] = 'Hi {$a->firstname},
|
||||
|
||||
A new account has been created for you at \'{$a->sitename}\'
|
||||
and you have been issued with a new temporary password.
|
||||
An account has been created for you at \'{$a->sitename}\'.
|
||||
|
||||
Your login information is:
|
||||
username: {$a->username}
|
||||
password: {$a->newpassword}
|
||||
(you will have to change your password
|
||||
when you log in for the first time)
|
||||
|
||||
(You will be prompted to change your password when you log in for the first time.)
|
||||
|
||||
To start using \'{$a->sitename}\', log in at
|
||||
{$a->link}
|
||||
|
||||
If you need help, you can contact the site administrator,
|
||||
{$a->admin}';
|
||||
If you need help, contact the site administrator,
|
||||
{$a->signoff}';
|
||||
$string['newusers'] = 'New users';
|
||||
$string['newwindow'] = 'New window';
|
||||
$string['next'] = 'Next';
|
||||
|
||||
@@ -251,7 +251,7 @@ $string['movingquestions'] = 'Moving questions and any files';
|
||||
$string['movingquestionsandfiles'] = 'Are you sure you want to move question(s) {$a->questions} to context for <strong>"{$a->tocontext}"</strong>?<br /> We have detected <strong>{$a->urlcount} files</strong> linked from these question(s) in {$a->fromareaname}, would you like to copy or move these to {$a->toareaname}?';
|
||||
$string['movingquestionsnofiles'] = 'Are you sure you want to move question(s) {$a->questions} to context for <strong>"{$a->tocontext}"</strong>?<br /> There are <strong>no files</strong> linked from these question(s) in {$a->fromareaname}.';
|
||||
$string['needtochoosecat'] = 'You need to choose a category to move this question to or press \'cancel\'.';
|
||||
$string['nobanks'] = 'This course does not have any question banks yet';
|
||||
$string['nobanks'] = 'This course does not have any question banks yet.';
|
||||
$string['nocate'] = 'No such category {$a}!';
|
||||
$string['nopermissionadd'] = 'You don\'t have permission to add questions here.';
|
||||
$string['nopermissionedit'] = 'You don\'t have permission to edit questions from here.';
|
||||
@@ -414,7 +414,7 @@ $string['notchanged'] = 'Not changed since last attempt';
|
||||
$string['notyourpreview'] = 'This preview does not belong to you';
|
||||
$string['options'] = 'Options';
|
||||
$string['otherbanks'] = 'Other activities with questions';
|
||||
$string['otherbanksdesc'] = "The following activities in this course also contain questions,<br /> although they cannot be shared.";
|
||||
$string['otherbanksdesc'] = 'The following activities in this course also contain questions, although they cannot be shared.';
|
||||
$string['parent'] = 'Parent';
|
||||
$string['partiallycorrect'] = 'Partially correct';
|
||||
$string['partiallycorrectfeedback'] = 'For any partially correct response';
|
||||
@@ -503,7 +503,7 @@ $string['submit'] = 'Submit';
|
||||
$string['submitandfinish'] = 'Submit and finish';
|
||||
$string['submitted'] = 'Submit: {$a}';
|
||||
$string['systembank'] = "System shared question bank";
|
||||
$string['systembankdescription'] = "This type of question bank is created automatically. It will be used for things such as backup restores that could not find a target context, and for when deleting a category and it's contents could not be deleted safely";
|
||||
$string['systembankdescription'] = 'This question bank is created automatically. It is used for backup and restore when a target context can\'t be found, and when deleting a category when the contents can\'t be deleted safely.';
|
||||
$string['tagarea_question'] = 'Questions';
|
||||
$string['technicalinfo'] = 'Technical information';
|
||||
$string['technicalinfo_help'] = 'This technical information is probably only useful for developers working on new question types. It may also be helpful when trying to diagnose problems with questions.';
|
||||
|
||||
+1
-1
@@ -640,7 +640,7 @@ $definitions = array(
|
||||
'canuselocalstore' => true,
|
||||
],
|
||||
// Cache to store AI rate limits.
|
||||
// Used by AI Provider plugins to limit the number of requests to external services.
|
||||
// Used by AI provider plugins to limit the number of requests to external services.
|
||||
'ai_ratelimit' => [
|
||||
'mode' => cache_store::MODE_APPLICATION,
|
||||
'simplekeys' => true, // Cache must use simple keys (a-zA-Z0-9_).
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
*/
|
||||
|
||||
$string['modaltitle'] = 'Insert H5P content';
|
||||
$string['buttontitle'] = 'Configure H5P content';
|
||||
$string['buttontitle'] = 'Insert H5P content';
|
||||
$string['insert'] = 'Insert H5P content';
|
||||
$string['pluginname'] = 'Insert H5P';
|
||||
$string['browserepositories'] = 'Browse repositories...';
|
||||
|
||||
@@ -25,7 +25,7 @@ Feature: Use the TinyMCE editor to upload an h5p package
|
||||
Scenario: TinyMCE can be used to embed an H5P activity
|
||||
Given I change window size to "large"
|
||||
And I am on the PageName1 "page activity editing" page logged in as admin
|
||||
And I click on the "Configure H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on the "Insert H5P content" button for the "Page content" TinyMCE editor
|
||||
And I set the field "H5P URL or file upload" to "https://moodle.h5p.com/content/1290772960722742119"
|
||||
And I click on "Insert H5P content" "button" in the "Insert H5P content" "dialogue"
|
||||
When I click on "Save and display" "button"
|
||||
@@ -40,7 +40,7 @@ Feature: Use the TinyMCE editor to upload an h5p package
|
||||
| filepath | h5p/tests/fixtures/guess-the-answer.h5p |
|
||||
And I change window size to "large"
|
||||
And I am on the "PageName1" "page activity editing" page logged in as "admin"
|
||||
And I click on the "Configure H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on the "Insert H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on "Browse repositories..." "button" in the "Insert H5P content" "dialogue"
|
||||
And I click on "Private files" "link" in the ".fp-repo-area" "css_element"
|
||||
And I click on "guess-the-answer.h5p" "link"
|
||||
@@ -55,7 +55,7 @@ Feature: Use the TinyMCE editor to upload an h5p package
|
||||
| capability | permission | role | contextlevel | reference |
|
||||
| tiny/h5p:addembed | Prohibit | editingteacher | Course | C1 |
|
||||
When I am on the PageName1 "page activity editing" page logged in as teacher1
|
||||
Then "Configure H5P content" "button" should not exist
|
||||
Then "Insert H5P content" "button" should not exist
|
||||
|
||||
@javascript
|
||||
Scenario: When a user does not have the Upload H5P capability, they can embed but not upload H5P content with TinyMCE
|
||||
@@ -63,7 +63,7 @@ Feature: Use the TinyMCE editor to upload an h5p package
|
||||
| capability | permission | role | contextlevel | reference |
|
||||
| moodle/h5p:deploy | Prohibit | editingteacher | Course | C1 |
|
||||
When I am on the PageName1 "page activity editing" page logged in as teacher1
|
||||
And I click on the "Configure H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on the "Insert H5P content" button for the "Page content" TinyMCE editor
|
||||
Then I should not see "H5P file upload" in the "Insert H5P content" "dialogue"
|
||||
And I should see "H5P URL" in the "Insert H5P content" "dialogue"
|
||||
And I should not see "H5P options" in the "Insert H5P content" "dialogue"
|
||||
@@ -74,7 +74,7 @@ Feature: Use the TinyMCE editor to upload an h5p package
|
||||
| user | admin |
|
||||
| filepath | h5p/tests/fixtures/drag.h5p |
|
||||
And I am on the "PageName1" "page activity editing" page logged in as "admin"
|
||||
And I click on the "Configure H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on the "Insert H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on "Browse repositories..." "button" in the "Insert H5P content" "dialogue"
|
||||
And I click on "Private files" "link" in the ".fp-repo-area" "css_element"
|
||||
And I click on "drag" "link"
|
||||
@@ -88,7 +88,7 @@ Feature: Use the TinyMCE editor to upload an h5p package
|
||||
And I switch to the main frame
|
||||
And I navigate to "Settings" in current page administration
|
||||
And I select the ".h5p-placeholder" "css_element" in the "Page content" TinyMCE editor
|
||||
And I click on the "Configure H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on the "Insert H5P content" button for the "Page content" TinyMCE editor
|
||||
And I set the field "H5P URL or file upload" to "https://moodle.h5p.com/content/1290772960722742119"
|
||||
And I click on "Insert H5P" "button" in the "Insert H5P content" "dialogue"
|
||||
And I wait "1" seconds
|
||||
@@ -103,7 +103,7 @@ Feature: Use the TinyMCE editor to upload an h5p package
|
||||
| user | admin |
|
||||
| filepath | h5p/tests/fixtures/guess-the-answer.h5p |
|
||||
And I am on the "PageName1" "page activity editing" page logged in as "admin"
|
||||
And I click on the "Configure H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on the "Insert H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on "Browse repositories..." "button" in the "Insert H5P content" "dialogue"
|
||||
And I click on "Private files" "link" in the ".fp-repo-area" "css_element"
|
||||
And I click on "guess-the-answer.h5p" "link"
|
||||
@@ -116,7 +116,7 @@ Feature: Use the TinyMCE editor to upload an h5p package
|
||||
And I switch to the main frame
|
||||
And I navigate to "Settings" in current page administration
|
||||
And I select the ".h5p-placeholder" "css_element" in the "Page content" TinyMCE editor
|
||||
And I click on the "Configure H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on the "Insert H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on "H5P options" "link"
|
||||
And I click on "Allow download" "checkbox"
|
||||
And I click on "Insert H5P" "button" in the "Insert H5P content" "dialogue"
|
||||
@@ -130,7 +130,7 @@ Feature: Use the TinyMCE editor to upload an h5p package
|
||||
And I switch to the main frame
|
||||
And I navigate to "Settings" in current page administration
|
||||
And I select the ".h5p-placeholder" "css_element" in the "Page content" TinyMCE editor
|
||||
And I click on the "Configure H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on the "Insert H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on "Allow download" "checkbox"
|
||||
And I click on "Embed button" "checkbox"
|
||||
And I click on "Copyright button" "checkbox"
|
||||
@@ -147,7 +147,7 @@ Feature: Use the TinyMCE editor to upload an h5p package
|
||||
Scenario: H5P options are ignored for H5P URLs
|
||||
Given I change window size to "large"
|
||||
And I am on the PageName1 "page activity editing" page logged in as admin
|
||||
And I click on the "Configure H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on the "Insert H5P content" button for the "Page content" TinyMCE editor
|
||||
And I set the field "H5P URL or file upload" to "https://moodle.h5p.com/content/1291366510035871129"
|
||||
And I click on "H5P options" "link"
|
||||
And I click on "Embed button" "checkbox"
|
||||
@@ -160,7 +160,7 @@ Feature: Use the TinyMCE editor to upload an h5p package
|
||||
And I switch to the main frame
|
||||
And I navigate to "Settings" in current page administration
|
||||
And I select the ".h5p-placeholder" "css_element" in the "Page content" TinyMCE editor
|
||||
And I click on the "Configure H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on the "Insert H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on "H5P options" "link"
|
||||
And "input[aria-label=\"Embed button\"]:not([checked=checked])" "css_element" should exist
|
||||
|
||||
@@ -176,7 +176,7 @@ Feature: Use the TinyMCE editor to upload an h5p package
|
||||
| user | admin |
|
||||
| filepath | h5p/tests/fixtures/guess-the-answer.h5p |
|
||||
And I am on the "PageName1" "page activity editing" page logged in as "admin"
|
||||
And I click on the "Configure H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on the "Insert H5P content" button for the "Page content" TinyMCE editor
|
||||
And I click on "Browse repositories..." "button" in the "Insert H5P content" "dialogue"
|
||||
And I click on "Private files" "link" in the ".fp-repo-area" "css_element"
|
||||
And I click on "guess-the-answer.h5p" "link"
|
||||
|
||||
@@ -81,7 +81,7 @@ Feature: Users can add entries to database activities
|
||||
And I am on the "Course 1" course page logged in as teacher1
|
||||
When I click on "Test database name" "link"
|
||||
And I click on "Add entry" "button"
|
||||
And I click on "Configure H5P content" "button"
|
||||
And I click on "Insert H5P content" "button"
|
||||
Then I should see "Browse repositories..." in the "Insert H5P content" "dialogue"
|
||||
|
||||
@javascript
|
||||
|
||||
@@ -35,7 +35,7 @@ Feature: Inline editing H5P content in mod_forum
|
||||
Scenario: Edit H5P content from a forum intro using copy to content bank file
|
||||
Given I am on the "ForumName1" "forum activity editing" page logged in as admin
|
||||
# Add H5P content to the forum description.
|
||||
And I click on "Configure H5P content" "button" in the "#fitem_id_introeditor" "css_element"
|
||||
And I click on "Insert H5P content" "button" in the "#fitem_id_introeditor" "css_element"
|
||||
And I click on "Browse repositories..." "button" in the "Insert H5P content" "dialogue"
|
||||
And I select "Content bank" repository in file picker
|
||||
And I click on "Greeting card" "file" in repository content area
|
||||
@@ -82,7 +82,7 @@ Feature: Inline editing H5P content in mod_forum
|
||||
# Add H5P content to a forum post as admin.
|
||||
And I set the following fields to these values:
|
||||
| Subject | Forum post by admin |
|
||||
And I click on "Configure H5P content" "button" in the "#fitem_id_message" "css_element"
|
||||
And I click on "Insert H5P content" "button" in the "#fitem_id_message" "css_element"
|
||||
And I click on "Browse repositories..." "button" in the "Insert H5P content" "dialogue"
|
||||
And I select "Content bank" repository in file picker
|
||||
And I click on "Greeting card" "file" in repository content area
|
||||
|
||||
@@ -74,7 +74,7 @@ $string['cnfapprovalstatus'] = 'Define the approval status by default of an entr
|
||||
$string['cnfcasesensitive'] = 'Define if an entry, when linked, is case sensitive by default';
|
||||
$string['cnfdefaulthook'] = 'Select the default selection to show when the glossary is first viewed';
|
||||
$string['cnfdefaultmode'] = 'Select the default frame to show when the glossary is first viewed.';
|
||||
$string['cnffullmatch'] = 'Define if an entry, when linked, should match the case in the target text by default';
|
||||
$string['cnffullmatch'] = 'Define if an entry, when linked, should match whole words (and not words inside other words) by default.';
|
||||
$string['cnflinkentry'] = 'Define if an entry should be automatically linked by default';
|
||||
$string['cnflinkglossaries'] = 'Define if a glossary should be automatically linked by default';
|
||||
$string['cnfrelatedview'] = 'Select the display format to be used for automatic linking and entry view.';
|
||||
|
||||
@@ -29,22 +29,22 @@ $string['courserestore'] = 'Course restore';
|
||||
$string['modulename'] = 'Question bank';
|
||||
$string['modulename_help'] = 'This activity allows a teacher to create, preview, and edit questions in a database of question categories.
|
||||
|
||||
These questions are then used by the quiz activity, or by other plugins.
|
||||
Questions are then used in a quiz or other activity.
|
||||
|
||||
Questions are given version control and statistics once they have been used, and other parameters.';
|
||||
After a question is used, version control and statistics are available.';
|
||||
$string['modulenameplural'] = 'Question banks';
|
||||
$string['noqbankinstances'] = 'There are no Question bank in this course.';
|
||||
$string['noqbankinstances'] = 'There are no question banks in this course.';
|
||||
$string['pluginadministration'] = 'Question bank administration';
|
||||
$string['pluginname'] = 'Question bank';
|
||||
$string['privacy:metadata'] = 'The Question bank plugin does not store any personal data, core_question automatically tracks all sorts of data for questions.';
|
||||
$string['qbank:addinstance'] = 'Add a new Question bank';
|
||||
$string['qbank:view'] = 'View the Question bank';
|
||||
$string['qbank:addinstance'] = 'Add a new question bank';
|
||||
$string['qbank:view'] = 'View question bank';
|
||||
$string['qbankname'] = 'Question bank name';
|
||||
$string['qbankname_help'] = 'Enter the Question bank name';
|
||||
$string['qbankname_help'] = 'Enter the question bank name.';
|
||||
$string['saveanddisplay'] = 'Save and display';
|
||||
$string['saveandreturn'] = 'Save and return to question bank list';
|
||||
$string['sharedbank'] = '{$a} shared question bank';
|
||||
$string['showdescription'] = 'Display description on manage question banks page';
|
||||
$string['showdescription_help'] = 'If enabled, the description above will be displayed on the question bank manage page just below the link to the bank.';
|
||||
$string['transfernotfinished'] = "Adhoc task \\mod_qbank\\task\\transfer_question_categories has not yet completed or has failed. Some of your pre-install banks may not have been transferred to mod_qbank instances yet. Any question categories they contained will not be able to be shared or managed until the task has completed successfully";
|
||||
$string['showdescription_help'] = 'If enabled, the description above will be displayed on the manage question bank page just below the link to the bank.';
|
||||
$string['transfernotfinished'] = 'Adhoc task \\mod_qbank\\task\\transfer_question_categories has not yet completed or has failed. Some of your pre-installed question banks may not be transferred to mod_qbank instances yet. Any question categories they contained can\'t be shared or managed until the task has completed.';
|
||||
$string['unknownbanktype'] = 'Unknown question bank type {$a}';
|
||||
|
||||
@@ -18,9 +18,9 @@ Feature: Add a default question bank
|
||||
Scenario: Add a default question bank to a course
|
||||
Given I am on the "C1" "Course" page logged in as "teacher1"
|
||||
When I navigate to "Question banks" in current page administration
|
||||
Then I should see "This course does not have any question banks yet"
|
||||
Then I should see "This course does not have any question banks yet."
|
||||
And I should see "Add"
|
||||
And I click on "Create default question bank" "button"
|
||||
But I should not see "This course does not have any question banks yet"
|
||||
But I should not see "This course does not have any question banks yet."
|
||||
And I should see "Default course question bank created"
|
||||
And I should see "Course 1 course question bank"
|
||||
|
||||
@@ -39,7 +39,7 @@ You will need to reindex all site contents after enabling this option for all fi
|
||||
$string['fileindexsettings'] = 'File indexing settings';
|
||||
$string['indexsize'] = 'The index is using {$a} on the Solr server.';
|
||||
$string['indexsizelimit'] = 'Index size limit';
|
||||
$string['indexsizelimit_desc'] = 'Shows an error on the status report page if the search index grows larger than this size (in bytes), and a warning if it exceeds 90%. 0 means no monitoring.';
|
||||
$string['indexsizelimit_desc'] = 'Shows an error on the status report page if the search index grows larger than this size (in bytes), and a warning if it exceeds 90%. Set to zero for no index size limit.';
|
||||
$string['maxindexfilekb'] = 'Maximum file size to index (kB)';
|
||||
$string['maxindexfilekb_help'] = 'Files larger than this number of kilobytes will not be included in search indexing. If set to zero, files of any size will be indexed.';
|
||||
$string['minimumsolr4'] = 'Solr 4.0 is the minimum version required for Moodle';
|
||||
|
||||
Reference in New Issue
Block a user