diff --git a/admin/tool/customlang/lang/en/tool_customlang.php b/admin/tool/customlang/lang/en/tool_customlang.php
index 29dd1e28b65..882f9208764 100644
--- a/admin/tool/customlang/lang/en/tool_customlang.php
+++ b/admin/tool/customlang/lang/en/tool_customlang.php
@@ -33,8 +33,8 @@ $string['checkoutinprogress'] = 'Loading language pack';
$string['cliexportfileexists'] = 'File for {$a->lang} already exists, skipping. If you want to overwrite add the --override=true option.';
$string['cliexportheading'] = 'Starting to export lang files.';
$string['cliexportnofilefoundforlang'] = 'No file found to export. Skipping export for this language.';
-$string['cliexportfilenotfoundforcomponent'] = 'File {$a->filepath} not found for language {$a->lang}.Skipping this file.';
-$string['cliexportstartexport'] = 'Exporting language "{$a}"';
+$string['cliexportfilenotfoundforcomponent'] = 'File {$a->filepath} not found for language {$a->lang}. Skipping this file.';
+$string['cliexportstartexport'] = 'Exporting language {$a}';
$string['cliexportzipdone'] = 'Zip created: {$a}';
$string['cliexportzipfail'] = 'Cannot create zip {$a}';
$string['clifiles'] = 'Files to import into {$a}';
diff --git a/admin/tool/mobile/lang/en/tool_mobile.php b/admin/tool/mobile/lang/en/tool_mobile.php
index f3e6d7db53a..6eedc759009 100644
--- a/admin/tool/mobile/lang/en/tool_mobile.php
+++ b/admin/tool/mobile/lang/en/tool_mobile.php
@@ -64,7 +64,7 @@ $string['downloadcourses'] = 'Download courses';
$string['enablesmartappbanners'] = 'Enable App Banners';
$string['enablesmartappbanners_desc'] = 'If enabled, a banner promoting the mobile app will be displayed when accessing the site using a mobile browser.';
$string['filetypeexclusionlist'] = 'File type exclusion list';
-$string['filetypeexclusionlist_desc'] = 'List of file types that we don\'t want users to try and open in the app. These files will still be listed on the app\'s course screen, but attempting to open them on iOS or Android would display a warning to the user indicating that this file type is not intended for use on a mobile device. They can then either cancel the open, or ignore the warning and open anyway.';
+$string['filetypeexclusionlist_desc'] = 'Select all file types which are not for use on a mobile device. Such files will be listed in the course, then if a user attempts to open them, a warning will be displayed advising that the file type is not intended for use on a mobile device. The user can then cancel or ignore the warning and open the file anyway.';
$string['filetypeexclusionlistplaceholder'] = 'Mobile file type exclusion list';
$string['forcedurlscheme'] = 'If you want to allow only your custom branded app to be opened via a browser window, then specify its URL scheme here. If you want to allow only the official app, then set the default value. Leave the field empty if you want to allow any app.';
$string['forcedurlscheme_key'] = 'URL scheme';
diff --git a/admin/tool/replace/lang/en/tool_replace.php b/admin/tool/replace/lang/en/tool_replace.php
index e8dce48ddff..55e960c5477 100644
--- a/admin/tool/replace/lang/en/tool_replace.php
+++ b/admin/tool/replace/lang/en/tool_replace.php
@@ -23,7 +23,7 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
$string['additionalskiptables'] = 'Additional skip tables';
-$string['additionalskiptables_desc'] = 'Please specify the additional tables (comma separated list) you want to skip while running DB search and replace.';
+$string['additionalskiptables_desc'] = 'A list of tables (separated by commas) which should be skipped when running the database search and replace.';
$string['cannotfit'] = 'The replacement is longer than the original and shortening is not allowed; cannot continue.';
$string['disclaimer'] = 'I understand the risks of this operation';
$string['doit'] = 'Yes, do it!';
diff --git a/admin/tool/task/lang/en/tool_task.php b/admin/tool/task/lang/en/tool_task.php
index 08cf8194086..8532fff3580 100644
--- a/admin/tool/task/lang/en/tool_task.php
+++ b/admin/tool/task/lang/en/tool_task.php
@@ -22,9 +22,9 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
-$string['adhoc'] = 'Ad-hoc';
-$string['adhoctaskid'] = 'Ad-hoc task id: {$a}';
-$string['adhoctasks'] = 'Ad-hoc tasks';
+$string['adhoc'] = 'Ad hoc';
+$string['adhoctaskid'] = 'Ad hoc task ID: {$a}';
+$string['adhoctasks'] = 'Ad hoc tasks';
$string['asap'] = 'ASAP';
$string['adhocempty'] = 'Ad hoc task queue is empty';
$string['adhocqueuesize'] = 'Ad hoc task queue has {$a} tasks';
diff --git a/admin/tool/task/tests/behat/running_tasks.feature b/admin/tool/task/tests/behat/running_tasks.feature
index e5db69ced50..5725d5c51c4 100644
--- a/admin/tool/task/tests/behat/running_tasks.feature
+++ b/admin/tool/task/tests/behat/running_tasks.feature
@@ -28,13 +28,13 @@ Feature: See running scheduled tasks
And I should see "1914" in the "Automated backups" "table_row"
# Check the "asynchronous_backup_task" adhoc task details.
- And I should see "Ad-hoc" in the "\core\task\asynchronous_backup_task" "table_row"
+ And I should see "Ad hoc" in the "\core\task\asynchronous_backup_task" "table_row"
And I should see "2 hours" in the "core\task\asynchronous_backup_task" "table_row"
And I should see "c69335460f7f" in the "core\task\asynchronous_backup_task" "table_row"
And I should see "1915" in the "core\task\asynchronous_backup_task" "table_row"
# Check the "asynchronous_restore_task" adhoc task details.
- And I should see "Ad-hoc" in the "\core\task\asynchronous_restore_task" "table_row"
+ And I should see "Ad hoc" in the "\core\task\asynchronous_restore_task" "table_row"
And I should see "2 days" in the "core\task\asynchronous_restore_task" "table_row"
And I should see "c69335460f7f" in the "core\task\asynchronous_restore_task" "table_row"
And I should see "1916" in the "core\task\asynchronous_restore_task" "table_row"
diff --git a/enrol/manual/lang/en/enrol_manual.php b/enrol/manual/lang/en/enrol_manual.php
index ca366390a72..a8a5c1c9faa 100644
--- a/enrol/manual/lang/en/enrol_manual.php
+++ b/enrol/manual/lang/en/enrol_manual.php
@@ -80,6 +80,6 @@ $string['unenroluser'] = 'Do you really want to unenrol "{$a->user}" from course
$string['unenrolusers'] = 'Unenrol users';
$string['wscannotenrol'] = 'Plugin instance cannot manually enrol a user in the course id = {$a->courseid}';
$string['wsnoinstance'] = 'Manual enrolment plugin instance doesn\'t exist or is disabled for the course (id = {$a->courseid})';
-$string['wsusercannotassign'] = 'You don\'t have the permission to assign this role ({$a->roleid}) to this user ({$a->userid}) in this course({$a->courseid}).';
+$string['wsusercannotassign'] = 'You don\'t have the permission to assign this role ({$a->roleid}) to this user ({$a->userid}) in this course ({$a->courseid}).';
$string['manualpluginnotinstalled'] = 'The "Manual" plugin has not yet been installed';
$string['privacy:metadata'] = 'The Manual enrolments plugin does not store any personal data.';
diff --git a/grade/report/singleview/lang/en/gradereport_singleview.php b/grade/report/singleview/lang/en/gradereport_singleview.php
index d27feb9049c..5cce878d52e 100644
--- a/grade/report/singleview/lang/en/gradereport_singleview.php
+++ b/grade/report/singleview/lang/en/gradereport_singleview.php
@@ -50,7 +50,7 @@ $string['override'] = 'Override';
$string['overrideall'] = 'Override all grades';
$string['overridefor'] = 'Override for {$a}';
$string['overridenone'] = 'Do not override any grades';
-$string['overridenoneconfirm'] = 'You are trying to disable all grade overrides. After saving, all the previously overridden grades will be lost. Do you want to continue?';
+$string['overridenoneconfirm'] = 'You are about to disable grade overrides. This will remove all previously overridden grades. Are you sure you want to continue?';
$string['pluginname'] = 'Single view';
$string['privacy:metadata'] = 'The Grade single view report only shows data stored in other locations.';
$string['savegrades'] = 'Saving grades';
diff --git a/group/tests/behat/overview.feature b/group/tests/behat/overview.feature
index 04195632419..5eb8d74d156 100644
--- a/group/tests/behat/overview.feature
+++ b/group/tests/behat/overview.feature
@@ -67,8 +67,8 @@ Feature: Group overview
# Following groups should exist in groupings.
Then the group overview should include groups "Group 1, Group 2" in grouping "Grouping 1"
And the group overview should include groups "Group 2,Group 3" in grouping "Grouping 2"
- And the group overview should include groups "Group 4" in grouping "[Not in a grouping]"
- And the group overview should include groups "No group" in grouping "[Not in a group]"
+ And the group overview should include groups "Group 4" in grouping "Not in a grouping"
+ And the group overview should include groups "No group" in grouping "Not in a group"
# Following members should exit in group.
And "Student 0" "text" should exist in the "Group 1" "table_row"
And "Student 1" "text" should exist in the "Group 1" "table_row"
@@ -121,8 +121,8 @@ Feature: Group overview
And I select "No grouping" from the "Grouping" singleselect
And I select "All" from the "group" singleselect
# Following groups should exist in groupings.
- And the group overview should include groups "Group 4" in grouping "[Not in a grouping]"
- And the group overview should include groups "No group" in grouping "[Not in a group]"
+ And the group overview should include groups "Group 4" in grouping "Not in a grouping"
+ And the group overview should include groups "No group" in grouping "Not in a group"
# Following groups should not exits
And "Group 1" "table_row" should not exist
And "Group 2" "table_row" should not exist
@@ -185,7 +185,7 @@ Feature: Group overview
And I select "All" from the "Grouping" singleselect
And I select "No group" from the "group" singleselect
# Following groups should exist in groupings.
- And the group overview should include groups "No group" in grouping "[Not in a group]"
+ And the group overview should include groups "No group" in grouping "Not in a group"
# Following groups should not exits
And "Group 1" "table_row" should not exist
And "Group 2" "table_row" should not exist
diff --git a/lang/en/admin.php b/lang/en/admin.php
index f6768fbff48..e6103e58024 100644
--- a/lang/en/admin.php
+++ b/lang/en/admin.php
@@ -78,7 +78,7 @@ $string['authpreventaccountcreation'] = 'Prevent account creation when authentic
$string['authpreventaccountcreation_help'] = 'When a user authenticates, an account on the site is automatically created if it doesn\'t yet exist. If an external database, such as LDAP, is used for authentication, but you wish to restrict access to the site to users with an existing account only, then this option should be enabled. New accounts will need to be created manually or via the upload users feature. Note that this setting doesn\'t apply to MNet authentication.';
$string['authsettings'] = 'Manage authentication';
$string['autolang'] = 'Language autodetect';
-$string['autolangusercreation'] = 'Use language that is auto detected from users browser during user creation';
+$string['autolangusercreation'] = 'On account creation set user\'s browser language as their preferred language';
$string['autologinguests'] = 'Auto-login guests';
$string['searchareas'] = 'Search areas';
$string['availableto'] = 'Available to';
@@ -174,7 +174,7 @@ $string['configallowview'] = 'Select which roles a user will see, be able to fil
$string['configallusersaresitestudents'] = 'For activities on the front page of the site, should ALL users be considered as students? If you answer "Yes", then any confirmed user account will be allowed to participate as a student in those activities. If you answer "No", then only users who are already a participant in at least one course will be able to take part in those front page activities. Only admins and specially assigned teachers can act as teachers for these front page activities.';
$string['configauthenticationplugins'] = 'Please choose the authentication plugins you wish to use and arrange them in order of failthrough.';
$string['configautolang'] = 'Detect default language from browser setting, if disabled site default is used.';
-$string['configautolangusercreation'] = 'Use language from users browser during user creation';
+$string['configautolangusercreation'] = 'If enabled, when a user\'s account is created automatically on first login (e.g. using LDAP or OAuth 2 authentication), the user\'s browser language is set as their preferred language. Otherwise, the default language for the site is set as the user\'s preferred language.';
$string['configautologinguests'] = 'Should visitors be logged in as guests automatically when entering courses with guest access?';
$string['configbloglevel'] = 'This setting allows you to restrict the level to which user blogs can be viewed on this site. Note that they specify the maximum context of the VIEWER not the poster or the types of blog posts. Blogs can also be disabled completely if you don\'t want them at all.';
$string['configcalendarcustomexport'] = 'Enable custom date range export of calendar';
@@ -428,7 +428,7 @@ $string['creatornewroleid'] = 'Creators\' role in new courses';
$string['creatornewroleid_help'] = 'If the user does not already have the permission to manage the new course, the user is automatically enrolled using this role.';
$string['cron'] = 'Cron';
$string['cron_enabled'] = 'Enable cron';
-$string['cron_enabled_desc'] = 'If disabled prevents the system from starting new background tasks. This option is intended for temporary use only, e.g. before a restart. Leaving it off for a long time will prevent important functionality from working.';
+$string['cron_enabled_desc'] = 'Cron should normally be enabled, however this setting allows it to be disabled temporarily, for example before a server restart. If disabled, the system is prevented from starting new background tasks. Note that the cron should not be disabled for a long time, as this will prevent important functionality from working.';
$string['cron_help'] = 'The cron.php script runs a number of tasks at different scheduled intervals, such as sending forum post notification emails. The script should be run regularly - ideally every minute.';
$string['cron_link'] = 'admin/cron';
$string['cronclionly'] = 'Cron execution via command line only';
@@ -532,9 +532,9 @@ $string['editorspelling'] = 'Editor spelling';
$string['editorspellinghelp'] = 'Enable or disable spell-checking. When enabled, aspell must be installed on the server.';
$string['editstrings'] = 'Edit words or phrases';
$string['emailchangeconfirmation'] = 'Email change confirmation';
-$string['emaildkim'] = 'DKIM email signing';
+$string['emaildkim'] = 'DomainKeys Identified Mail (DKIM) email signing';
$string['emaildkimselector'] = 'DKIM selector';
-$string['emaildkiminfo'] = 'If both the DKIM selector is set and a private certificate file is found which matches the emails "From" address domain in $CFG->dataroot/dkim/[domain]/[selector].private then the email will be signed. In most cases (eg if allowedemaildomains is empty) then only a single certificate is needed in: {$a->path}. For more setup details see {$a->docs}.';
+$string['emaildkiminfo'] = 'If both the DKIM selector is set and a private certificate file is found which matches the email\'s "From" address domain in $CFG->dataroot/dkim/[domain]/[selector].private then the email will be signed. In most cases (for example if allowedemaildomains is empty) only a single certificate is needed in
{$a->path}. For more setup details, see the documentation Mail configuration.';
$string['emailfromvia'] = 'Email via information';
$string['emailheaders'] = 'Email headers';
$string['emailsubjectprefix'] = 'Email subject prefix text';
@@ -608,7 +608,7 @@ $string['fatalsessionautostart'] = 'Serious configuration error detected, ple $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.'; -$string['fileconversioncleanuptask'] = 'Cleanup of temporary records for file conversions.'; +$string['fileconversioncleanuptask'] = 'Cleanup of temporary records for file conversions'; $string['filecreated'] = 'New file created'; $string['filesizeunits'] = 'file size units'; $string['filestoredin'] = 'Save file into folder :'; @@ -1460,7 +1460,7 @@ $string['user'] = 'User'; $string['userbulk'] = 'Bulk user actions'; $string['userbulkdownload'] = 'Export users as'; $string['userfeedbackafterupgrade'] = 'After every major upgrade'; -$string['userfeedbackencouragement'] = '
Moodle 3.9 includes a new feature that gives users the option to provide feedback about the Moodle software to Moodle HQ via an external survey site hosted by Moodle HQ. No user-identifying information is forwarded to the survey site.
+$string['userfeedbackencouragement'] = 'In Moodle 3.9 onwards, a new feature is included which gives users the option to provide feedback about Moodle software to Moodle HQ via an external survey site hosted by Moodle HQ. No user-identifying information is forwarded to the survey site.
Moodle HQ strives to be open and transparent about its data collection practices. Thus, we want to make sure that you are aware and in control of this functionality.
Feedback from users will greatly assist Moodle HQ in improving the Moodle software. To enable this feature, please go to Feedback settings.
'; $string['userfeedbacknextreminder'] = 'Next feedback reminder'; diff --git a/lang/en/analytics.php b/lang/en/analytics.php index f6e97b81d71..719cc6549af 100644 --- a/lang/en/analytics.php +++ b/lang/en/analytics.php @@ -93,7 +93,7 @@ $string['modeinstructionfacetoface'] = 'Face to face'; $string['modeinstructionblendedhybrid'] = 'Blended or hybrid'; $string['modeinstructionfullyonline'] = 'Fully online'; $string['modeloutputdir'] = 'Models output directory'; -$string['modeloutputdirwithdefaultinfo'] = 'Directory where prediction processors store all evaluation info. Useful for debugging and research. If empty, then \'{$a}\' will be used as default.'; +$string['modeloutputdirwithdefaultinfo'] = 'Directory where prediction processors store all evaluation info. Useful for debugging and research. If empty, then {$a} will be used as default.'; $string['modeltimelimit'] = 'Analysis time limit per model'; $string['modeltimelimitinfo'] = 'This setting limits the time each model spends analysing the site contents.'; $string['neutral'] = 'Neutral'; diff --git a/lang/en/antivirus.php b/lang/en/antivirus.php index 907bf31f55d..8723e04bf3a 100644 --- a/lang/en/antivirus.php +++ b/lang/en/antivirus.php @@ -39,26 +39,23 @@ $string['emailfilename'] = 'Filename: '; $string['emailfilesize'] = 'File size: '; $string['emailgeoinfo'] = 'Geolocation: '; $string['emailinfectedfiledetected'] = 'Infected file detected'; -$string['emailipaddress'] = 'IP Address: '; +$string['emailipaddress'] = 'IP address:'; $string['emailreferer'] = 'Referer: '; $string['emailreport'] = 'Report: '; $string['emailscanner'] = 'Scanner: '; $string['emailscannererrordetected'] = 'A scanner error occured'; $string['emailsubject'] = '{$a} :: Antivirus notification'; $string['enablequarantine'] = 'Enable quarantine'; -$string['enablequarantine_help'] = 'When quarantine is enabled, any files which are detected as viruses will be kept in a quarantine folder for later inspection ([dataroot]/{$a}). -The upload into Moodle will still fail. -If you have any file system level virus scanning in place, the quarantine folder should be excluded from the antivirus check to avoid detecting the quarantined files.'; +$string['enablequarantine_help'] = 'If enabled, any files which are detected as viruses will be placed in a quarantine folder ([dataroot]/{$a}) for later inspection. The upload into Moodle will fail. If you have any file system level virus scanning in place, the quarantine folder should be excluded from the antivirus check to avoid detecting the quarantined files.'; $string['fileinfecteddesc'] = 'An infected file was detected.'; $string['fileinfectedname'] = 'File infected'; -$string['notifyemail'] = 'Antivirus alert email'; -$string['notifyemail_help'] = 'If set, then only the specified email will be notified when a virus is detected. -If blank, then all site admins will be notified by email when a virus is detected.'; +$string['notifyemail'] = 'Antivirus alert notification email'; +$string['notifyemail_help'] = 'The email address for notifications of when a virus is detected. If left blank, then all site administrators will be sent notifications.'; $string['privacy:metadata'] = 'The Antivirus system does not store any personal data.'; -$string['quarantinedisabled'] = 'Quarantine disabled, file not stored.'; +$string['quarantinedisabled'] = 'Quarantine is disabled. The file is not stored.'; $string['quarantinedfiles'] = 'Antivirus quarantined files'; $string['quarantinetime'] = 'Maximum quarantine time'; -$string['quarantinetime_desc'] = 'Quarantined files older than specified period will be removed.'; +$string['quarantinetime_desc'] = 'Quarantined files older than the specified period will be removed.'; $string['taskcleanup'] = 'Clean up quarantined files.'; $string['unknown'] = 'Unknown'; $string['virusfound'] = '{$a->item} has been scanned by a virus checker and found to be infected!'; diff --git a/lang/en/backup.php b/lang/en/backup.php index 7ff69a17105..4eea4125cc3 100644 --- a/lang/en/backup.php +++ b/lang/en/backup.php @@ -137,7 +137,7 @@ $string['configgeneralgroups'] = 'Sets the default for including groups and grou $string['configgeneralroleassignments'] = 'If enabled by default roles assignments will also be backed up.'; $string['configgeneraluserscompletion'] = 'If enabled user completion information will be included in backups by default.'; $string['configgeneralusers'] = 'Sets the default for whether to include users in backups.'; -$string['configlegacyfiles'] = 'If disabled, legacy course files will not be included'; +$string['configlegacyfiles'] = 'Sets the default for including legacy course files in a backup. Legacy course files are from versions of Moodle prior to 2.0.'; $string['configloglifetime'] = 'This specifies the length of time you want to keep backup logs information. Logs that are older than this age are automatically deleted. It is recommended to keep this value small, because backup logged information can be huge.'; $string['configrestoreactivities'] = 'Sets the default for restoring activities.'; $string['configrestorebadges'] = 'Sets the default for restoring badges.'; @@ -306,7 +306,7 @@ $string['questionegorycannotberestored'] = 'The questions "{$a->name}" cannot be $string['restoreactivity'] = 'Restore activity'; $string['restorecourse'] = 'Restore course'; $string['restorecoursesettings'] = 'Course settings'; -$string['restoredcourseid'] = 'Restored course id: {$a}'; +$string['restoredcourseid'] = 'Restored course ID: {$a}'; $string['restoreexecutionsuccess'] = 'The course was restored successfully, clicking the continue button below will take you to view the course you restored.'; $string['restorefileweremissing'] = 'Some files could not be restored because they were missing in the backup.'; $string['restorenewcoursefullname'] = 'New course name'; diff --git a/lang/en/completion.php b/lang/en/completion.php index 5a84a6ffe26..a8beaa4f2df 100644 --- a/lang/en/completion.php +++ b/lang/en/completion.php @@ -122,7 +122,7 @@ $string['courseaggregation_any'] = 'ANY selected courses to be completed'; $string['coursealreadycompleted'] = 'You have already completed this course'; $string['coursecomplete'] = 'Course complete'; $string['coursecompleted'] = 'Course completed'; -$string['coursecompletedmessage'] = 'Congratulations!
You just completed the following course: {$a->coursename}.
'; +$string['coursecompletedmessage'] = 'Congratulations!
You have completed the course {$a->coursename}.
'; $string['coursecompletion'] = 'Course completion'; $string['coursecompletioncondition'] = 'Condition: {$a}'; $string['coursegrade'] = 'Course grade'; diff --git a/lang/en/contentbank.php b/lang/en/contentbank.php index acbfc0df190..1eb44630634 100644 --- a/lang/en/contentbank.php +++ b/lang/en/contentbank.php @@ -33,7 +33,7 @@ $string['contentrenamed'] = 'The content has been renamed.'; $string['contentsmoved'] = 'Content bank contents moved to {$a}.'; $string['contenttypenoaccess'] = 'You cannot view this {$a} instance.'; $string['contenttypenoedit'] = 'You can not edit this content'; -$string['contextnotallowed'] = 'Context is not allowed'; +$string['contextnotallowed'] = 'You are not allowed to access the content bank in this context.'; $string['emptynamenotallowed'] = 'Empty name is not allowed'; $string['eventcontentcreated'] = 'Content created'; $string['eventcontentdeleted'] = 'Content deleted'; diff --git a/lang/en/error.php b/lang/en/error.php index ef16de31ef4..8be1b324ea0 100644 --- a/lang/en/error.php +++ b/lang/en/error.php @@ -195,7 +195,7 @@ $string['coursemisconf'] = 'Course is misconfigured'; $string['courserequestdisabled'] = 'Sorry, but course requests have been disabled by the administrator.'; $string['csvcolumnduplicates'] = 'Duplicate columns detected'; $string['csvemptyfile'] = 'The CSV file is empty'; -$string['csvfileerror'] = 'There is something wrong with the format of the CSV file. Please check the number of headings and columns match, and that the delimiter and file encoding are correct: {$a}'; +$string['csvfileerror'] = 'There is something wrong with the format of the CSV file. Please check the number of headings and columns match, and that the delimiter and file encoding are correct. {$a}'; $string['csvfewcolumns'] = 'Not enough columns, please verify the delimiter setting'; $string['csvinvalidcols'] = 'Invalid CSV file: First line must include "Header Fields" and the file must be type of