diff --git a/web/pgadmin/authenticate/mfa/views.py b/web/pgadmin/authenticate/mfa/views.py index 10e5db4f656..5222080169d 100644 --- a/web/pgadmin/authenticate/mfa/views.py +++ b/web/pgadmin/authenticate/mfa/views.py @@ -172,7 +172,7 @@ def _mfa_registration_view( if form_data[mfa.name] == 'SETUP': if supported_mfa['registered'] is True: - flash(_("'{}' is already registered'").format(mfa.label), + flash(_("'{}' is already registered.").format(mfa.label), MessageType.SUCCESS) return None diff --git a/web/pgadmin/browser/register_browser_preferences.py b/web/pgadmin/browser/register_browser_preferences.py index 7dff1269103..262fa8e6c39 100644 --- a/web/pgadmin/browser/register_browser_preferences.py +++ b/web/pgadmin/browser/register_browser_preferences.py @@ -55,8 +55,8 @@ def register_browser_preferences(self): gettext("Hide shared servers?"), 'boolean', False, category_label=gettext('Display'), help_str=gettext( - 'If set to True, then all shared servers will be ' - 'hidden from browser tree' + 'If set to True, all shared servers will be ' + 'hidden from the browser tree.' ) ) @@ -75,8 +75,8 @@ def register_browser_preferences(self): gettext("Confirm on close or refresh?"), 'boolean', True, category_label=PREF_LABEL_DISPLAY, help_str=gettext( - 'Confirm closure or refresh of the browser or browser tab is ' - 'intended before proceeding.' + 'Confirm that closure or refresh of the browser or browser tab ' + 'is intended before proceeding.' ) ) @@ -114,7 +114,7 @@ def register_browser_preferences(self): min_val=1, max_val=9999, help_str=gettext( 'The maximum number of history rows to show on ' - 'the Statistics tab for pgAgent jobs' + 'the Statistics tab for pgAgent jobs.' ) ) @@ -410,8 +410,8 @@ def register_browser_preferences(self): gettext("Dynamic tab size"), 'boolean', False, category_label=PREF_LABEL_TABS_SETTINGS, help_str=gettext( - 'If set to True, the tabs will take full size as per the title, ' - 'it will also applicable for already opened tabs') + 'If set to True, the tabs will take full size as per the title. ' + 'This will also apply to already opened tabs.') ) self.qt_tab_title = self.preference.register( @@ -422,8 +422,7 @@ def register_browser_preferences(self): help_str=gettext( 'Supported placeholders are %DATABASE%, %USERNAME%, and %SERVER%. ' 'Users can provide any string with or without placeholders of' - ' their choice. The blank title will be revert back to the' - ' default title with placeholders.' + ' their choice. A blank title will revert to the default.' ) ) @@ -435,8 +434,8 @@ def register_browser_preferences(self): help_str=gettext( 'Supported placeholders are %SCHEMA%, %TABLE%, %DATABASE%, ' '%USERNAME%, and %SERVER%. Users can provide any string with or ' - 'without placeholders of their choice. The blank title will be ' - 'revert back to the default title with placeholders.' + 'without placeholders of their choice. A blank title will revert ' + 'to the default.' ) ) @@ -448,8 +447,8 @@ def register_browser_preferences(self): help_str=gettext( 'Supported placeholders are %FUNCTION%, %ARGS%, %SCHEMA% and' ' %DATABASE%. Users can provide any string with or ' - 'without placeholders of their choice. The blank title will be' - ' revert back to the default title with placeholders.' + 'without placeholders of their choice. A blank title will revert ' + 'to the default.' ) ) @@ -470,9 +469,9 @@ def register_browser_preferences(self): category_label=PREF_LABEL_OPTIONS, options=open_new_tab_options, help_str=gettext( - 'Select Query Tool, Debugger, Schema Diff, ERD Tool ' - 'or PSQL Tool from the drop-down to set ' - 'open in new browser tab for that particular module.' + 'Select Query Tool, Debugger, Schema Diff, ERD Tool, ' + 'or PSQL Tool from the drop-down to open that module ' + 'in a new browser tab.' ), control_props={ 'multiple': True, 'allowClear': False, @@ -493,8 +492,8 @@ def register_browser_preferences(self): help_str=gettext( 'Supported placeholders are %DATABASE%, %USERNAME%, ' 'and %SERVER%. Users can provide any string with or without' - ' placeholders of their choice. The blank title will be revert' - ' back to the default title with placeholders.' + ' placeholders of their choice. A blank title will revert ' + 'to the default.' ) ) diff --git a/web/pgadmin/browser/register_editor_preferences.py b/web/pgadmin/browser/register_editor_preferences.py index 32a881ebf25..78bfa7d7346 100644 --- a/web/pgadmin/browser/register_editor_preferences.py +++ b/web/pgadmin/browser/register_editor_preferences.py @@ -330,8 +330,8 @@ def register_editor_preferences(self): gettext("Expression Width"), 'integer', 50, category_label=PREF_LABEL_SQL_FORMATTING, help_str=gettext( - 'maximum number of characters in parenthesized expressions to be ' - 'kept on single line.' + 'Maximum number of characters in parenthesized expressions to be ' + 'kept on a single line.' ) ) diff --git a/web/pgadmin/browser/server_groups/servers/__init__.py b/web/pgadmin/browser/server_groups/servers/__init__.py index 427bd7bb603..4fe7ac9281e 100644 --- a/web/pgadmin/browser/server_groups/servers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/__init__.py @@ -2042,7 +2042,7 @@ def check_pgpass(self, gid, sid): ) except Exception as e: current_app.logger.error( - 'Cannot able to fetch pgpass status' + 'Unable to fetch pgpass status' ) return internal_server_error(errormsg=str(e)) diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py index 512fea32927..1ce595d6330 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/__init__.py @@ -713,12 +713,12 @@ def sql(self, gid, sid, did, cid, json_resp=True): status, res = self.conn.execute_scalar(sql) if not status: return internal_server_error(gettext( - "Could not generate reversed engineered SQL for the cast." + "Could not generate reverse-engineered SQL for the cast." ) + "\n\n{0}".format(res)) if res is None: return gone(gettext( - "Could not generate reversed engineered SQL for the " + "Could not generate reverse-engineered SQL for the " "cast node." )) diff --git a/web/pgadmin/browser/server_groups/servers/databases/dbms_job_scheduler/dbms_jobs/static/js/dbms_job.ui.js b/web/pgadmin/browser/server_groups/servers/databases/dbms_job_scheduler/dbms_jobs/static/js/dbms_job.ui.js index 4d7fd6ef3c3..9285c633aef 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/dbms_job_scheduler/dbms_jobs/static/js/dbms_job.ui.js +++ b/web/pgadmin/browser/server_groups/servers/databases/dbms_job_scheduler/dbms_jobs/static/js/dbms_job.ui.js @@ -172,7 +172,7 @@ export default class DBMSJobSchema extends BaseUISchema { end_time_js = moment(end_time_js[0] + ' ' + end_time_js[1]); if(end_time_js.isBefore(start_time_js)) { - setError('jsscend', gettext('Start time must be less than end time')); + setError('jsscend', gettext('Start time must be earlier than end time.')); return true; } else { setError('jsscend', null); diff --git a/web/pgadmin/browser/server_groups/servers/databases/dbms_job_scheduler/dbms_schedules/static/js/dbms_schedule.ui.js b/web/pgadmin/browser/server_groups/servers/databases/dbms_job_scheduler/dbms_schedules/static/js/dbms_schedule.ui.js index f456125cc54..dcf5f91d69c 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/dbms_job_scheduler/dbms_schedules/static/js/dbms_schedule.ui.js +++ b/web/pgadmin/browser/server_groups/servers/databases/dbms_job_scheduler/dbms_schedules/static/js/dbms_schedule.ui.js @@ -77,7 +77,7 @@ export default class DBMSScheduleSchema extends BaseUISchema { end_time_js = moment(end_time_js[0] + ' ' + end_time_js[1]); if(end_time_js.isBefore(start_time_js)) { - setError('jsscend', gettext('Start time must be less than end time')); + setError('jsscend', gettext('Start time must be earlier than end time.')); return true; } else { setError('jsscend', null); diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/__init__.py index 56ded227aeb..6d3808ffe23 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_configurations/__init__.py @@ -942,7 +942,7 @@ def sql(self, gid, sid, did, scid, cfgid, **kwargs): if not status: return internal_server_error( _( - "Could not generate reversed engineered query for the " + "Could not generate reverse-engineered query for the " "FTS Configuration.\n{0}" ).format(res) ) @@ -950,7 +950,7 @@ def sql(self, gid, sid, did, scid, cfgid, **kwargs): if res is None: return gone( _( - "Could not generate reversed engineered query for " + "Could not generate reverse-engineered query for " "FTS Configuration node.") ) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parsers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parsers/__init__.py index b376db43b0f..ea4eb090a8f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parsers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_parsers/__init__.py @@ -883,7 +883,7 @@ def sql(self, gid, sid, did, scid, pid, **kwargs): if not status: return internal_server_error( _( - "Could not generate reversed engineered query for the " + "Could not generate reverse-engineered query for the " "FTS Parser.\n{0}" ).format(res) ) @@ -891,7 +891,7 @@ def sql(self, gid, sid, did, scid, pid, **kwargs): if res is None: return gone( _( - "Could not generate reversed engineered query for " + "Could not generate reverse-engineered query for " "FTS Parser node." ) ) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/__init__.py index c25e053a9c4..e1a605f6843 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_templates/__init__.py @@ -755,14 +755,14 @@ def sql(self, gid, sid, did, scid, tid, **kwargs): if not status: return internal_server_error( gettext( - "Could not generate reversed engineered query for the " + "Could not generate reverse-engineered query for the " "FTS Template.\n{0}").format(res) ) if res is None: return gone( gettext( - "Could not generate reversed engineered query for " + "Could not generate reverse-engineered query for " "FTS Template node.") ) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.ui.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.ui.js index 94611ab049a..8b0cae091a9 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.ui.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.ui.js @@ -409,7 +409,7 @@ class RangeSchema extends BaseUISchema { if(state.typtype === 'r') { if (isEmptyString(state.typname)) { - errmsg = gettext('Subtype cannot be empty'); + errmsg = gettext('Subtype cannot be empty.'); setError('typname', errmsg); return true; } @@ -812,13 +812,13 @@ class ExternalSchema extends BaseUISchema { if(state.typtype === 'b') { if (isEmptyString(state.typinput)) { - errmsg = gettext('Input function cannot be empty'); + errmsg = gettext('Input function cannot be empty.'); setError('typinput', errmsg); return true; } if (isEmptyString(state.typoutput)) { - errmsg = gettext('Output function cannot be empty'); + errmsg = gettext('Output function cannot be empty.'); setError('typoutput', errmsg); return true; } diff --git a/web/pgadmin/browser/server_groups/servers/databases/subscriptions/static/js/subscription.ui.js b/web/pgadmin/browser/server_groups/servers/databases/subscriptions/static/js/subscription.ui.js index 75147317957..8f5a769a7aa 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/subscriptions/static/js/subscription.ui.js +++ b/web/pgadmin/browser/server_groups/servers/databases/subscriptions/static/js/subscription.ui.js @@ -185,7 +185,7 @@ export default class SubscriptionSchema extends BaseUISchema{ id: 'pub', label: gettext('Publication'), group: gettext('Connection'), mode: ['create', 'edit'], deps: ['all_table', 'host', 'port', 'username', 'db', 'password'], disabled: obj.isAllConnectionDataEnter, - helpMessage: gettext('Click the refresh button to get the publications'), + helpMessage: gettext('Click the refresh button to get the publications.'), helpMessageMode: ['edit', 'create'], type: (state)=>{ return { @@ -316,7 +316,7 @@ export default class SubscriptionSchema extends BaseUISchema{ group: gettext('With'), disabled: obj.isSameDB, readonly: obj.isConnect, deps :['connect', 'host', 'port'], - helpMessage: gettext('Specifies whether the command should create the replication slot on the publisher.This field will be disabled and set to false if subscription connects to same database.Otherwise, the CREATE SUBSCRIPTION call will hang.'), + helpMessage: gettext('Specifies whether the command should create the replication slot on the publisher. This field will be disabled and set to false if the subscription connects to the same database. Otherwise, the CREATE SUBSCRIPTION call will hang.'), helpMessageMode: ['edit', 'create'], depChange: (state) => { // Set create_slot to false if same DB, else true @@ -332,7 +332,7 @@ export default class SubscriptionSchema extends BaseUISchema{ type: 'switch', mode: ['create','edit', 'properties'], group: gettext('With'), readonly: obj.isConnect, deps :['connect'], - helpMessage: gettext('Specifies whether the subscription should be actively replicating, or whether it should be just setup but not started yet.'), + helpMessage: gettext('Specifies whether the subscription should be actively replicating, or whether it should be just set up but not started yet.'), helpMessageMode: ['edit', 'create'], }, { @@ -483,7 +483,7 @@ export default class SubscriptionSchema extends BaseUISchema{ type: 'switch', mode: ['create', 'edit', 'properties'], group: gettext('With'), min_version: 170000, - helpMessage: gettext('Specifies whether the replication slots associated with the subscription are enabled to be synced to the standbys so that logical replication can be resumed from the new primary after failover'), + helpMessage: gettext('Specifies whether the replication slots associated with the subscription are enabled to be synced to the standbys so that logical replication can be resumed from the new primary after failover.'), helpMessageMode: ['edit', 'create'], }, ]; @@ -491,7 +491,7 @@ export default class SubscriptionSchema extends BaseUISchema{ validate(state, setError) { let errmsg = null; - errmsg = gettext('Either Host name, Address must be specified.'); + errmsg = gettext('Either Host name or Address must be specified.'); if(isEmptyString(state.host)) { setError('host', errmsg); return true; diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/schedules/static/js/pga_schedule.ui.js b/web/pgadmin/browser/server_groups/servers/pgagent/schedules/static/js/pga_schedule.ui.js index 0174451d249..45a89fa6e85 100644 --- a/web/pgadmin/browser/server_groups/servers/pgagent/schedules/static/js/pga_schedule.ui.js +++ b/web/pgadmin/browser/server_groups/servers/pgagent/schedules/static/js/pga_schedule.ui.js @@ -252,7 +252,7 @@ export default class PgaJobScheduleSchema extends BaseUISchema { end_time_js = moment(end_time_js[0] + ' ' + end_time_js[1]); if(end_time_js.isBefore(start_time_js)) { - setError('jscend', gettext('Start time must be less than end time')); + setError('jscend', gettext('Start time must be earlier than end time.')); return true; } else { setError('jscend', null); diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/steps/static/js/pga_jobstep.ui.js b/web/pgadmin/browser/server_groups/servers/pgagent/steps/static/js/pga_jobstep.ui.js index 3765d6dac56..c5d162ae295 100644 --- a/web/pgadmin/browser/server_groups/servers/pgagent/steps/static/js/pga_jobstep.ui.js +++ b/web/pgadmin/browser/server_groups/servers/pgagent/steps/static/js/pga_jobstep.ui.js @@ -220,7 +220,7 @@ export default class PgaJobStepSchema extends BaseUISchema { } if (isEmptyString(state.jstonerror)) { - setError('jstonerror', gettext('Please select valid on error option.')); + setError('jstonerror', gettext('Please select a valid on error option.')); return true; } else { setError('jstonerror', null); diff --git a/web/pgadmin/browser/server_groups/servers/roles/__init__.py b/web/pgadmin/browser/server_groups/servers/roles/__init__.py index 1932f00cf5f..812759e20a5 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/roles/__init__.py @@ -904,7 +904,7 @@ def sql(self, gid, sid, rid): if not status: return internal_server_error( - _("Could not generate reversed engineered query for the " + _("Could not generate reverse-engineered query for the " "role.\n{0}").format( res ) @@ -912,7 +912,7 @@ def sql(self, gid, sid, rid): if res is None or (len(res) == 0): return gone( - _("Could not generate reversed engineered query for the role.") + _("Could not generate reverse-engineered query for the role.") ) return ajax_response(response=res.strip('\n')) diff --git a/web/pgadmin/browser/server_groups/servers/roles/static/js/role.ui.js b/web/pgadmin/browser/server_groups/servers/roles/static/js/role.ui.js index 7419031599f..3b6fcf37245 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/static/js/role.ui.js +++ b/web/pgadmin/browser/server_groups/servers/roles/static/js/role.ui.js @@ -100,7 +100,7 @@ export default class RoleSchema extends BaseUISchema { group: gettext('Definition'), label: gettext('Account expires'), mode: ['properties', 'edit', 'create'], deps: ['rolcanlogin'], - helpMessage: gettext('Please note that if you leave this field blank, then password will never expire.'), + helpMessage: gettext('Please note that if you leave this field blank, then the password will never expire.'), helpMessageMode: ['edit', 'create'], controlProps: { ampm: false, diff --git a/web/pgadmin/browser/server_groups/servers/roles/static/js/roleReassign.js b/web/pgadmin/browser/server_groups/servers/roles/static/js/roleReassign.js index b907bde840b..663a9b7e787 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/static/js/roleReassign.js +++ b/web/pgadmin/browser/server_groups/servers/roles/static/js/roleReassign.js @@ -54,7 +54,7 @@ export default class RoleReassign extends BaseUISchema{ { 'label': gettext('Reassign'), 'value': 'reassign' }, { 'label': gettext('Drop'), 'value': 'drop' }, ], - helpMessage: gettext('Change the ownership or\ndrop the database objects owned by a database role') + helpMessage: gettext('Change the ownership or\ndrop the database objects owned by a database role.') }, { id: 'new_role_id', @@ -96,7 +96,7 @@ export default class RoleReassign extends BaseUISchema{ } }; }, - helpMessage: gettext('New owner of the affected objects'), + helpMessage: gettext('New owner of the affected objects.'), deps: ['role_op'], disabled: (state)=>{ return state.role_op == 'drop'; @@ -128,13 +128,13 @@ export default class RoleReassign extends BaseUISchema{ group: gettext('General'), type: 'switch', deps: ['role_op'], - helpMessage: gettext('Note: CASCADE will automatically drop objects that depend on the affected objects, and in turn all objects that depend on those objects') + helpMessage: gettext('Note: CASCADE will automatically drop objects that depend on the affected objects, and in turn all objects that depend on those objects.') }, { id: 'did', label: gettext('From database'), group: gettext('General'), - helpMessage: gettext('Target database on which the operation will be carried out'), + helpMessage: gettext('Target database on which the operation will be carried out.'), type: ()=>{ return { type: 'select', @@ -162,13 +162,13 @@ export default class RoleReassign extends BaseUISchema{ let obj = this; if (state.role_op == 'reassign' && isEmptyString(state.new_role_id)) { - errmsg = gettext('\'Reassign objects to\' can not be empty'); + errmsg = gettext('\'Reassign objects to\' cannot be empty.'); setError('new_role_id', errmsg); return true; } if (isEmptyString(state.did)) { - errmsg = gettext('\'From database \' can not be empty'); + errmsg = gettext('\'From database\' cannot be empty.'); setError('did', errmsg); return true; } diff --git a/web/pgadmin/browser/static/js/withCheckPermission.js b/web/pgadmin/browser/static/js/withCheckPermission.js index 3460c2b8392..7fad7aee239 100644 --- a/web/pgadmin/browser/static/js/withCheckPermission.js +++ b/web/pgadmin/browser/static/js/withCheckPermission.js @@ -21,7 +21,7 @@ export default function withCheckPermission(options, callback) { } else { pgAdmin.Browser.notifier.alert( gettext('Permission Denied'), - gettext('You don’t have the necessary permissions to access this feature. Please contact your administrator for assistance') + gettext('You don\'t have the necessary permissions to access this feature. Please contact your administrator for assistance.') ); } }; diff --git a/web/pgadmin/browser/templates/browser/js/messages.js b/web/pgadmin/browser/templates/browser/js/messages.js index 317d20f96fe..15f6167da83 100644 --- a/web/pgadmin/browser/templates/browser/js/messages.js +++ b/web/pgadmin/browser/templates/browser/js/messages.js @@ -26,7 +26,7 @@ define( 'SQL_NO_CHANGE': gettext('Nothing changed'), 'MUST_BE_INT' : gettext("'%s' must be an integer."), 'MUST_BE_NUM' : gettext("'%s' must be a numeric."), - 'INVALID_MIN_MAX' : gettext("Min and Max values are not valid"), + 'INVALID_MIN_MAX' : gettext("Min and Max values are not valid."), 'MUST_GR_EQ' : gettext("'%s' must be greater than or equal to %s."), 'MUST_LESS_EQ' : gettext("'%s' must be less than or equal to %s."), 'CANNOT_BE_EMPTY': gettext("'%s' cannot be empty."), diff --git a/web/pgadmin/dashboard/__init__.py b/web/pgadmin/dashboard/__init__.py index 9992bd71f1a..81405c66a34 100644 --- a/web/pgadmin/dashboard/__init__.py +++ b/web/pgadmin/dashboard/__init__.py @@ -99,10 +99,8 @@ def register_preferences(self): self.cpu_stats_refresh = self.dashboard_preference.register( 'dashboards', 'cpu_stats_refresh', - gettext( - "Percentage of CPU time used by different process \ - modes statistics refresh rate" - ), 'integer', 5, min_val=1, max_val=999999, + gettext("CPU usage by process mode refresh rate"), + 'integer', 5, min_val=1, max_val=999999, category_label=PREF_LABEL_REFRESH_RATES, help_str=help_string ) @@ -198,16 +196,16 @@ def register_preferences(self): gettext("Use different data point styles?"), 'boolean', False, category_label=PREF_LABEL_DISPLAY, help_str=gettext('If set to True, data points will be visible ' - 'in a different style on each graph lines.') + 'in a different style on each graph line.') ) self.graph_mouse_track = self.graphs_preference.register( 'graphs', 'graph_mouse_track', gettext("Show mouse hover tooltip?"), 'boolean', True, category_label=PREF_LABEL_DISPLAY, - help_str=gettext('If set to True, tooltip will appear on mouse ' - 'hover on the graph lines giving the data point ' - 'details') + help_str=gettext('If set to True, a tooltip will appear on mouse ' + 'hover on the graph lines showing the data point ' + 'details.') ) self.graph_line_border_width = self.graphs_preference.register( diff --git a/web/pgadmin/misc/bgprocess/processes.py b/web/pgadmin/misc/bgprocess/processes.py index 4edda6f91fb..aaa6b86965f 100644 --- a/web/pgadmin/misc/bgprocess/processes.py +++ b/web/pgadmin/misc/bgprocess/processes.py @@ -693,8 +693,8 @@ def update_process_info(p): except ValueError as e: current_app.logger.warning( - _("Status for the background process '{0}' could " - "not be loaded.").format(p.pid) + _("Could not load status for background process " + "'{0}'.").format(p.pid) ) current_app.logger.exception(e) return False, False @@ -902,7 +902,7 @@ def stop_process(_pid): p.process_state = PROCESS_TERMINATED except psutil.Error as e: current_app.logger.warning( - _("Unable to kill the background process '{0}'").format( + _("Unable to kill the background process '{0}'.").format( p.utility_pid) ) current_app.logger.exception(e) diff --git a/web/pgadmin/misc/cloud/static/js/aws_schema.ui.js b/web/pgadmin/misc/cloud/static/js/aws_schema.ui.js index b1696186caa..1d44857fc4d 100644 --- a/web/pgadmin/misc/cloud/static/js/aws_schema.ui.js +++ b/web/pgadmin/misc/cloud/static/js/aws_schema.ui.js @@ -101,7 +101,7 @@ class CloudDBCredSchema extends BaseUISchema { }, { id: 'session_token', label: gettext('AWS session token'), type: 'multiline', mode: ['create'], noEmpty: false, - helpMessage: gettext('Temporary AWS session required session token.') + helpMessage: gettext('Session token required for temporary AWS sessions.') } ]; } diff --git a/web/pgadmin/misc/cloud/static/js/azure.js b/web/pgadmin/misc/cloud/static/js/azure.js index d4950d14f79..ff9a8670245 100644 --- a/web/pgadmin/misc/cloud/static/js/azure.js +++ b/web/pgadmin/misc/cloud/static/js/azure.js @@ -31,7 +31,7 @@ export function AzureCredentials(props) { 'static', { 'filename': 'img/loading.gif'} ); const axiosApi = getApiInstance(); - _eventBus.fireEvent('SET_ERROR_MESSAGE_FOR_CLOUD_WIZARD', [MESSAGE_TYPE.INFO, 'Microsoft Azure authentication process is in progress..' + gettext('Loading...') + '']); + _eventBus.fireEvent('SET_ERROR_MESSAGE_FOR_CLOUD_WIZARD', [MESSAGE_TYPE.INFO, 'Microsoft Azure authentication process is in progress. ' + gettext('Loading...') + '']); let _url = url_for('azure.verify_credentials'); const post_data = { cloud: 'azure', diff --git a/web/pgadmin/misc/cloud/static/js/azure_schema.ui.js b/web/pgadmin/misc/cloud/static/js/azure_schema.ui.js index 2eaa4783f69..90fc32bfee7 100644 --- a/web/pgadmin/misc/cloud/static/js/azure_schema.ui.js +++ b/web/pgadmin/misc/cloud/static/js/azure_schema.ui.js @@ -166,7 +166,7 @@ class AzureCredSchema extends BaseUISchema { deps: ['auth_btn'], type: (state)=>({ type: 'note', - text: `To complete the authenticatation, use a web browser to open the page https://microsoft.com/devicelogin and enter the code : ${state.auth_code}`, + text: `To complete the authentication, use a web browser to open the page https://microsoft.com/devicelogin and enter the code: ${state.auth_code}`, }), visible: (state)=>{ return Boolean(state.auth_code); @@ -720,7 +720,7 @@ class AzureClusterSchema extends BaseUISchema { validate(data, setErr) { if ( !isEmptyString(data.name) && (!/^[a-z0-9-]*$/.test(data.name) || data.name.length < 3)) { - setErr('name',gettext('Name must be more than 2 characters and must only contain lowercase letters, numbers, and hyphens')); + setErr('name',gettext('Name must be more than 2 characters and must only contain lowercase letters, numbers, and hyphens.')); return true; } diff --git a/web/pgadmin/misc/cloud/static/js/google.js b/web/pgadmin/misc/cloud/static/js/google.js index 1f45c900bc4..7ffc6de8289 100644 --- a/web/pgadmin/misc/cloud/static/js/google.js +++ b/web/pgadmin/misc/cloud/static/js/google.js @@ -32,7 +32,7 @@ export function GoogleCredentials(props) { 'static', { 'filename': 'img/loading.gif'} ); const axiosApi = getApiInstance(); - _eventBus.fireEvent('SET_ERROR_MESSAGE_FOR_CLOUD_WIZARD', [MESSAGE_TYPE.INFO, 'Google authentication process is in progress..' + gettext('Loading...') + '']); + _eventBus.fireEvent('SET_ERROR_MESSAGE_FOR_CLOUD_WIZARD', [MESSAGE_TYPE.INFO, 'Google authentication process is in progress. ' + gettext('Loading...') + '']); let _url = url_for('google.verify_credentials'); const post_data = { cloud: 'google', @@ -52,8 +52,8 @@ export function GoogleCredentials(props) { } }) .catch((error) => { - _eventBus.fireEvent('SET_ERROR_MESSAGE_FOR_CLOUD_WIZARD',[MESSAGE_TYPE.ERROR, gettext(`Error while authentication: ${error}`)]); - reject(new Error(gettext(`Error while authentication: ${error}`))); + _eventBus.fireEvent('SET_ERROR_MESSAGE_FOR_CLOUD_WIZARD',[MESSAGE_TYPE.ERROR, gettext(`Error during authentication: ${error}`)]); + reject(new Error(gettext(`Error during authentication: ${error}`))); }); }); }, diff --git a/web/pgadmin/misc/cloud/static/js/google_schema.ui.js b/web/pgadmin/misc/cloud/static/js/google_schema.ui.js index c99ad3af080..b3c08586caa 100644 --- a/web/pgadmin/misc/cloud/static/js/google_schema.ui.js +++ b/web/pgadmin/misc/cloud/static/js/google_schema.ui.js @@ -334,7 +334,7 @@ class GoogleHighAvailabilitySchema extends BaseUISchema { validate(data, setErrMsg) { if (data.high_availability && (isEmptyString(data.secondary_availability_zone)) || (data.secondary_availability_zone == data.availability_zone)) { - setErrMsg('secondary_availability_zone', gettext('Please select Secondary availability zone different than primary.')); + setErrMsg('secondary_availability_zone', gettext('Please select a secondary availability zone different from the primary.')); return true; } return false; @@ -505,7 +505,7 @@ class GoogleClusterSchema extends BaseUISchema { validate(data, setErr) { if ( !isEmptyString(data.name) && (!/^(?=[a-z])[a-z0-9-]*$/.test(data.name) || data.name.length > 97)) { - setErr('name',gettext('Name must only contain lowercase letters, numbers, and hyphens.Should start with a letter and must be 97 characters or less')); + setErr('name',gettext('Name must only contain lowercase letters, numbers, and hyphens. Should start with a letter and must be 97 characters or less.')); return true; } return false; diff --git a/web/pgadmin/tools/backup/static/js/backup.ui.js b/web/pgadmin/tools/backup/static/js/backup.ui.js index ac547e0f1c2..8c141a59352 100644 --- a/web/pgadmin/tools/backup/static/js/backup.ui.js +++ b/web/pgadmin/tools/backup/static/js/backup.ui.js @@ -596,7 +596,7 @@ export default class BackupSchema extends BaseUISchema { }, { id: 'server_note', label: gettext('Note'), - text: gettext('The backup format will be PLAIN'), + text: gettext('The backup format will be PLAIN.'), type: 'note', visible: function() { return obj.backupType === 'server'; @@ -744,7 +744,7 @@ export default class BackupSchema extends BaseUISchema { label: gettext('objects'), group: gettext('Objects'), type: 'tree', - helpMessage: gettext('If Schema(s) is selected then it will take the backup of that selected schema(s) only'), + helpMessage: gettext('If Schema(s) is selected then it will take the backup of the selected schema(s) only.'), treeData: this.treeData, visible: () => { return isVisibleForServerBackup(obj?.backupType); diff --git a/web/pgadmin/tools/backup/static/js/backupGlobal.ui.js b/web/pgadmin/tools/backup/static/js/backupGlobal.ui.js index 071bec0af7c..cf0a16b9c4d 100644 --- a/web/pgadmin/tools/backup/static/js/backupGlobal.ui.js +++ b/web/pgadmin/tools/backup/static/js/backupGlobal.ui.js @@ -93,7 +93,7 @@ export default class BackupGlobalSchema extends BaseUISchema { }, { id: 'globals_note', label: gettext('Note'), - text: gettext('Only objects global to the entire database will be backed up, in PLAIN format'), + text: gettext('Only objects global to the entire database will be backed up, in PLAIN format.'), type: 'note', }]; } diff --git a/web/pgadmin/tools/debugger/__init__.py b/web/pgadmin/tools/debugger/__init__.py index dd2434772e1..bd97ee72234 100644 --- a/web/pgadmin/tools/debugger/__init__.py +++ b/web/pgadmin/tools/debugger/__init__.py @@ -212,7 +212,7 @@ def register_preferences(self): self.preference.register( 'keyboard_shortcuts', 'switch_panel', - gettext('Switch Panel'), + gettext('Switch panel'), 'keyboardshortcut', { 'alt': True, diff --git a/web/pgadmin/tools/erd/static/js/erd_tool/dialogs/OneToOneDialog.js b/web/pgadmin/tools/erd/static/js/erd_tool/dialogs/OneToOneDialog.js index a9bc725c4cd..773a54e4cba 100644 --- a/web/pgadmin/tools/erd/static/js/erd_tool/dialogs/OneToOneDialog.js +++ b/web/pgadmin/tools/erd/static/js/erd_tool/dialogs/OneToOneDialog.js @@ -73,7 +73,7 @@ class OneToOneSchema extends BaseUISchema { validate(state, setError) { let tableData = this.localTableData.getData(); if (tableData.primary_key.length && state.constraint_type === 'primary_key') { - setError('constraint_type', gettext('Primary key already exists, please select different constraint.')); + setError('constraint_type', gettext('Primary key already exists, please select a different constraint.')); return true; } return false; diff --git a/web/pgadmin/tools/import_export/__init__.py b/web/pgadmin/tools/import_export/__init__.py index 971247f402f..91b5a44a046 100644 --- a/web/pgadmin/tools/import_export/__init__.py +++ b/web/pgadmin/tools/import_export/__init__.py @@ -297,7 +297,7 @@ def create_import_export_job(sid): id=sid).first() if server is None: - return bad_request(errormsg=_("Could not find the given server")) + return bad_request(errormsg=_("Could not find the specified server.")) # To fetch MetaData for the server from pgadmin.utils.driver import get_driver @@ -333,13 +333,13 @@ def create_import_export_job(sid): return bad_request(errormsg=str(e)) if not _file: - return bad_request(errormsg=_('Please specify a valid file')) + return bad_request(errormsg=_('Please specify a valid file.')) elif IS_WIN: _file = _file.replace('\\', '/') data['filename'] = _file else: - return bad_request(errormsg=_('Please specify a valid file')) + return bad_request(errormsg=_('Please specify a valid file.')) # Get required and other columns list cols = _get_formatted_column_list(data, 'columns', driver, conn) diff --git a/web/pgadmin/tools/import_export/static/js/import_export.ui.js b/web/pgadmin/tools/import_export/static/js/import_export.ui.js index 65ce0b4d190..859f3008dcd 100644 --- a/web/pgadmin/tools/import_export/static/js/import_export.ui.js +++ b/web/pgadmin/tools/import_export/static/js/import_export.ui.js @@ -135,7 +135,7 @@ export default class ImportExportSchema extends BaseUISchema { return (state?.format == 'binary' || !state?.is_import); }, visible: !obj.isQueryExport, - helpMessage: gettext('Specifies how to behave when encountering an error converting a columns input value into its data type. An error_action value of stop means fail the command, while ignore means discard the input row and continue with the next one. The default is stop. The ignore option is applicable only for COPY FROM when the FORMAT is text or csv.') + helpMessage: gettext('Specifies how to behave when encountering an error converting a column\'s input value into its data type. An error_action value of stop means fail the command, while ignore means discard the input row and continue with the next one. The default is stop. The ignore option is applicable only for COPY FROM when the FORMAT is text or csv.') }, { id: 'log_verbosity', @@ -271,7 +271,7 @@ export default class ImportExportSchema extends BaseUISchema { disabled: function(state) { return (state?.format == 'binary' || !state?.is_import); }, - helpMessage: gettext('Specifies the string that represents a default value. Each time the string is found in the input file, the default value of the corresponding column will be used. This option is allowed only in COPY FROM, and only when not using binary format'), + helpMessage: gettext('Specifies the string that represents a default value. Each time the string is found in the input file, the default value of the corresponding column will be used. This option is allowed only in COPY FROM, and only when not using binary format.'), }, { id: 'export_group', type: 'group', label: obj.isQueryExport ? gettext('Query') : gettext('Columns'), @@ -317,7 +317,7 @@ export default class ImportExportSchema extends BaseUISchema { group: 'export_group', type: 'sql', visible: obj.isQueryExport, - helpMessage: gettext('Specifies A SELECT, VALUES, INSERT, UPDATE, DELETE, or MERGE command whose results are to be copied.'), + helpMessage: gettext('Specifies a SELECT, VALUES, INSERT, UPDATE, DELETE, or MERGE command whose results are to be copied.'), }, { id: 'force_quote_columns', @@ -407,7 +407,7 @@ export default class ImportExportSchema extends BaseUISchema { if (this.isQueryExport) { let errmsg = null; if (isEmptyString(state.query)) { - errmsg = gettext('Export Data Query can not be empty.'); + errmsg = gettext('Export Data Query cannot be empty.'); setError('query', errmsg); return true; } else { diff --git a/web/pgadmin/tools/maintenance/__init__.py b/web/pgadmin/tools/maintenance/__init__.py index ecc830d5e6a..a908e8061e3 100644 --- a/web/pgadmin/tools/maintenance/__init__.py +++ b/web/pgadmin/tools/maintenance/__init__.py @@ -178,7 +178,7 @@ def create_maintenance_job(sid, did): if server is None: return make_json_response( success=0, - errormsg=_("Could not find the given server") + errormsg=_("Could not find the specified server.") ) # To fetch MetaData for the server diff --git a/web/pgadmin/tools/maintenance/static/js/maintenance.ui.js b/web/pgadmin/tools/maintenance/static/js/maintenance.ui.js index bec9e6458c5..729438cf6d3 100644 --- a/web/pgadmin/tools/maintenance/static/js/maintenance.ui.js +++ b/web/pgadmin/tools/maintenance/static/js/maintenance.ui.js @@ -267,7 +267,7 @@ export class VacuumSchema extends BaseUISchema { } return false; }, - helpMessage: gettext('Sizes should be specified as a string containing the numerical size followed by any one of the following memory units: kB (kilobytes), MB (megabytes), GB (gigabytes), or TB (terabytes)'), + helpMessage: gettext('Sizes should be specified as a string containing the numerical size followed by any one of the following memory units: kB (kilobytes), MB (megabytes), GB (gigabytes), or TB (terabytes).'), min_version: 160000, }, { id: 'reindex_system', diff --git a/web/pgadmin/tools/psql/static/js/PsqlModule.js b/web/pgadmin/tools/psql/static/js/PsqlModule.js index 70bce3941a8..e269c3aea6c 100644 --- a/web/pgadmin/tools/psql/static/js/PsqlModule.js +++ b/web/pgadmin/tools/psql/static/js/PsqlModule.js @@ -91,7 +91,7 @@ export default class Psql { label: gettext('PSQL Tool'), data:{ applies: 'tools', - data_disabled: gettext('Please select a database from the object explorer to access Pql Tool.'), + data_disabled: gettext('Please select a database from the object explorer to access the PSQL Tool.'), }, permission: AllPermissionTypes.TOOLS_PSQL_TOOL, }]; diff --git a/web/pgadmin/tools/sqleditor/static/js/show_view_data.js b/web/pgadmin/tools/sqleditor/static/js/show_view_data.js index d5197eee019..ff4ac1fef7f 100644 --- a/web/pgadmin/tools/sqleditor/static/js/show_view_data.js +++ b/web/pgadmin/tools/sqleditor/static/js/show_view_data.js @@ -62,7 +62,7 @@ export default class DataFilterSchema extends BaseUISchema { let errmsg = null; if (isEmptyString(state.filter_sql)) { - errmsg = gettext('Data filter can not be empty.'); + errmsg = gettext('Data filter cannot be empty.'); setError('filter_sql', errmsg); return true; } else { diff --git a/web/pgadmin/tools/sqleditor/utils/query_tool_preferences.py b/web/pgadmin/tools/sqleditor/utils/query_tool_preferences.py index b2d71c735af..1955a2ad132 100644 --- a/web/pgadmin/tools/sqleditor/utils/query_tool_preferences.py +++ b/web/pgadmin/tools/sqleditor/utils/query_tool_preferences.py @@ -56,7 +56,7 @@ def register_query_tool_preferences(self): self.explain_wal = self.preference.register( 'Explain', 'explain_wal', - gettext("Show wal?"), 'boolean', False, + gettext("Show WAL?"), 'boolean', False, category_label=PREF_LABEL_EXPLAIN ) @@ -104,8 +104,8 @@ def register_query_tool_preferences(self): gettext("Prompt to save unsaved query changes?"), 'boolean', True, category_label=PREF_LABEL_OPTIONS, help_str=gettext( - 'Specifies whether or not to prompt user to save unsaved ' - 'query on query tool exit.' + 'Specifies whether or not to prompt the user to save unsaved ' + 'queries on Query Tool exit.' ) ) @@ -125,7 +125,7 @@ def register_query_tool_preferences(self): gettext("Prompt to save unsaved data changes?"), 'boolean', True, category_label=PREF_LABEL_OPTIONS, help_str=gettext( - 'Specifies whether or not to prompt user to save unsaved ' + 'Specifies whether or not to prompt the user to save unsaved ' 'data on data grid exit.' ) ) @@ -136,7 +136,7 @@ def register_query_tool_preferences(self): True, category_label=PREF_LABEL_OPTIONS, help_str=gettext( - 'Specifies whether or not to prompt user to commit or rollback ' + 'Specifies whether or not to prompt the user to commit or rollback ' 'an active transaction on Query Tool exit.' ) ) @@ -147,8 +147,8 @@ def register_query_tool_preferences(self): False, category_label=PREF_LABEL_OPTIONS, help_str=gettext( - 'Specifies whether or not to copy SQL to query tool from ' - 'main window.' + 'Specifies whether or not to copy SQL to the Query Tool from ' + 'the main window.' ) ) @@ -168,8 +168,8 @@ def register_query_tool_preferences(self): 'boolean', True, category_label=PREF_LABEL_OPTIONS, help_str=gettext( - 'If set to True, View/Edit Data tool will show promote to ' - 'Query tool confirm dialog on query edit.' + 'If set to True, the View/Edit Data tool will show a confirmation ' + 'dialog to promote to Query Tool when the query is edited.' ) ) @@ -179,7 +179,7 @@ def register_query_tool_preferences(self): 'boolean', False, category_label=PREF_LABEL_OPTIONS, help_str=gettext( - 'If set to True, query tool will parse and underline ' + 'If set to True, the Query Tool will parse and underline ' 'the query at the cursor position.' ) ) @@ -190,9 +190,9 @@ def register_query_tool_preferences(self): 'boolean', True, category_label=PREF_LABEL_OPTIONS, help_str=gettext( - 'If set to True, query tool will warn upon clicking the ' - 'Execute Query button in the query tool. The warning will ' - 'appear only if Underline query at cursor? is set to False.' + 'If set to True, the Query Tool will display a warning when ' + 'clicking the Execute Query button. The warning will appear ' + 'only if "Underline query at cursor?" is set to False.' ) ) @@ -296,7 +296,7 @@ def register_query_tool_preferences(self): {'label': gettext('Column name'), 'value': 'by_name'}], category_label=PREF_LABEL_RESULTS_GRID, help_str=gettext( - 'If set to \'Column data\' columns will auto-size to the maximum ' + 'If set to \'Column data\', columns will auto-size to the maximum ' 'width of the data in the column as loaded in the first batch. If ' 'set to \'Column name\', the column will be sized to the widest ' 'of the data type or column name.' @@ -310,7 +310,7 @@ def register_query_tool_preferences(self): category_label=PREF_LABEL_RESULTS_GRID, help_str=gettext( 'Specify the maximum width of the column in pixels when ' - '\'Columns sized by \' is set to \'Column data\'.' + '\'Columns sized by\' is set to \'Column data\'.' ), ) @@ -319,17 +319,17 @@ def register_query_tool_preferences(self): gettext("Data result rows per page"), 'integer', DATA_RESULT_ROWS_PER_PAGE, min_val=10, category_label=PREF_LABEL_RESULTS_GRID, - help_str=gettext('Specify the number of records to fetch in one batch.' - ' Changing this value will override' - ' DATA_RESULT_ROWS_PER_PAGE setting from config ' - ' file.') + help_str=gettext('Specify the number of records to fetch in one batch. ' + 'Changing this value will override the ' + 'DATA_RESULT_ROWS_PER_PAGE setting from the config ' + 'file.') ) self.stripped_rows = self.preference.register( 'Results_grid', 'striped_rows', gettext("Striped rows?"), 'boolean', True, category_label=PREF_LABEL_RESULTS_GRID, - help_str=gettext('If set to true, the result grid will display' + help_str=gettext('If set to True, the result grid will display' ' rows with alternating background colors.') ) @@ -337,8 +337,8 @@ def register_query_tool_preferences(self): 'Results_grid', 'max_column_data_display_length', gettext("Max column data display length"), 'integer', 200, category_label=PREF_LABEL_RESULTS_GRID, - help_str=gettext('Maximum number of characters to be visible in the' - ' data output cell.') + help_str=gettext('Maximum number of characters to display in a ' + 'data cell.') ) self.display_connection_status = self.preference.register( @@ -744,8 +744,8 @@ def register_query_tool_preferences(self): 'auto_completion', 'keywords_in_uppercase', gettext("Keywords in uppercase"), 'boolean', True, category_label=gettext('Auto completion'), - help_str=gettext('If set to True, Keywords will be displayed ' - 'in upper case for auto completion.') + help_str=gettext('If set to True, keywords will be displayed ' + 'in upper case for autocomplete.') ) self.preference.register( diff --git a/web/pgadmin/tools/user_management/__init__.py b/web/pgadmin/tools/user_management/__init__.py index 07060ced64f..ad8aab7ec60 100644 --- a/web/pgadmin/tools/user_management/__init__.py +++ b/web/pgadmin/tools/user_management/__init__.py @@ -596,8 +596,8 @@ def validate_unique_user(data): ).count() if exist_users != 0: - raise InternalServerError(_("User email/username must be unique " - "for an authentication source.")) + raise InternalServerError(_("User email or username must be unique " + "for each authentication source.")) def validate_user(data): @@ -718,7 +718,7 @@ def update_user(uid, data): for f in non_editable_params: if f in data: - return False, _("'{0}' is not allowed to modify.").format(f) + return False, _("'{0}' cannot be modified.").format(f) try: new_data = validate_user(data) diff --git a/web/pgadmin/utils/__init__.py b/web/pgadmin/utils/__init__.py index e173089a562..0fc521818a1 100644 --- a/web/pgadmin/utils/__init__.py +++ b/web/pgadmin/utils/__init__.py @@ -349,7 +349,7 @@ def does_utility_exist(file): if Path(config.STORAGE_DIR) == Path(file) or \ Path(config.STORAGE_DIR) in Path(file).parents: error_msg = gettext("Please correct the Binary Path in the " - "Preferences. pgAdmin storage directory can not " + "Preferences. pgAdmin storage directory cannot " "be a utility binary directory.") if not os.path.exists(file):