From 4a68ab46590134be0fa663cb59ac59b8603df1d1 Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Tue, 22 Oct 2019 18:56:31 -0700 Subject: [PATCH] Hygiene linting for extensions + new rule (#7843) * linting for extensions + new rule * Remove unneeded array * Fix spelling mistake * Fix bad merge --- build/gulpfile.hygiene.js | 33 +- build/lib/tslint/doubleQuotedStringArgRule.js | 4 +- build/lib/tslint/doubleQuotedStringArgRule.ts | 4 +- .../tslint/noUnderscoreInLocalizeKeysRule.js | 49 ++ .../tslint/noUnderscoreInLocalizeKeysRule.ts | 55 +++ extensions/admin-tool-ext-win/src/main.ts | 14 +- extensions/agent/src/data/alertData.ts | 6 +- extensions/agent/src/data/jobData.ts | 8 +- extensions/agent/src/data/jobStepData.ts | 4 +- extensions/agent/src/data/notebookData.ts | 18 +- extensions/agent/src/dialogs/agentDialog.ts | 4 +- extensions/agent/src/dialogs/alertDialog.ts | 110 ++--- extensions/agent/src/dialogs/jobDialog.ts | 76 +-- extensions/agent/src/dialogs/jobStepDialog.ts | 94 ++-- .../agent/src/dialogs/notebookDialog.ts | 6 +- .../agent/src/dialogs/operatorDialog.ts | 44 +- .../agent/src/dialogs/pickScheduleDialog.ts | 14 +- extensions/agent/src/dialogs/proxyDialog.ts | 36 +- .../agent/src/dialogs/scheduleDialog.ts | 10 +- extensions/agent/src/mainController.ts | 14 +- .../account-provider/azureAccountProvider.ts | 10 +- .../azureAccountProviderService.ts | 4 +- .../src/account-provider/providerSettings.ts | 2 +- .../azurecore/src/azureResource/commands.ts | 2 +- .../database/databaseTreeDataProvider.ts | 2 +- .../databaseServerTreeDataProvider.ts | 2 +- .../src/azureResource/resourceTreeNode.ts | 2 +- .../tree/accountNotSignedInTreeNode.ts | 2 +- .../src/azureResource/tree/accountTreeNode.ts | 4 +- .../tree/subscriptionTreeNode.ts | 2 +- .../src/azureResource/tree/treeProvider.ts | 2 +- .../azurecore/src/azureResource/utils.ts | 2 +- extensions/azurecore/src/constants.ts | 2 +- .../dialog/addControllerDialog.ts | 22 +- .../src/bigDataCluster/dialog/bdcDashboard.ts | 4 +- .../bigDataCluster/tree/addControllerNode.ts | 2 +- extensions/big-data-cluster/src/extension.ts | 6 +- .../src/cmsResource/cmsResourceCommands.ts | 30 +- .../tree/cmsResourceEmptyTreeNode.ts | 2 +- .../cmsResource/tree/cmsResourceTreeNode.ts | 2 +- .../cms/src/cmsResource/tree/treeProvider.ts | 2 +- extensions/cms/src/cmsUtils.ts | 2 +- extensions/dacpac/src/wizard/api/basePage.ts | 2 +- .../src/wizard/dataTierApplicationWizard.ts | 26 +- .../src/wizard/pages/dacFxSummaryPage.ts | 18 +- .../src/wizard/pages/deployConfigPage.ts | 12 +- .../dacpac/src/wizard/pages/deployPlanPage.ts | 24 +- .../src/wizard/pages/exportConfigPage.ts | 4 +- .../src/wizard/pages/extractConfigPage.ts | 8 +- .../src/wizard/pages/importConfigPage.ts | 4 +- .../src/wizard/pages/selectOperationpage.ts | 8 +- extensions/import/src/services/telemetry.ts | 4 +- .../import/src/wizard/flatFileWizard.ts | 14 +- .../import/src/wizard/pages/fileConfigPage.ts | 14 +- .../src/wizard/pages/modifyColumnsPage.ts | 14 +- .../src/wizard/pages/prosePreviewPage.ts | 6 +- .../import/src/wizard/pages/summaryPage.ts | 16 +- extensions/mssql/src/localizedConstants.ts | 28 +- extensions/mssql/src/main.ts | 6 +- .../cancelableStream.ts | 2 +- .../src/objectExplorerNodeProvider/command.ts | 8 +- .../objectExplorerNodeProvider/connection.ts | 6 +- .../hdfsCommands.ts | 34 +- .../hdfsProvider.ts | 4 +- .../src/sparkFeature/dialog/dialogCommands.ts | 4 +- .../sparkJobSubmission/sparkAdvancedTab.ts | 14 +- .../sparkConfigurationTab.ts | 36 +- .../sparkJobSubmissionDialog.ts | 12 +- .../sparkJobSubmissionModel.ts | 14 +- .../sparkJobSubmissionService.ts | 4 +- .../mssql/src/sparkFeature/sparkUtils.ts | 4 +- .../notebook/src/common/localizedConstants.ts | 6 +- extensions/notebook/src/common/utils.ts | 4 +- .../managePackages/installedPackagesTab.ts | 2 +- .../notebook/src/jupyter/jupyterController.ts | 6 +- .../src/jupyter/jupyterNotebookProvider.ts | 2 +- .../src/jupyter/jupyterServerManager.ts | 2 +- .../src/jupyter/jupyterSessionManager.ts | 2 +- .../src/jupyter/jupyterSettingWriter.ts | 2 +- .../notebook/src/jupyter/serverInstance.ts | 10 +- .../dialogs/profilerCreateSessionDialog.ts | 6 +- extensions/resource-deployment/src/main.ts | 4 +- .../deployClusterWizard.ts | 2 +- .../pages/targetClusterPage.ts | 12 +- .../src/ui/deploymentInputDialog.ts | 2 +- .../src/dialogs/schemaCompareDialog.ts | 38 +- .../src/dialogs/schemaCompareOptionsDialog.ts | 456 +++++++++--------- .../src/schemaCompareMainWindow.ts | 82 ++-- .../dashboardErrorContainer.component.ts | 2 +- .../dashboardNavSection.contribution.ts | 6 +- tslint-sql.json | 3 +- 91 files changed, 920 insertions(+), 792 deletions(-) create mode 100644 build/lib/tslint/noUnderscoreInLocalizeKeysRule.js create mode 100644 build/lib/tslint/noUnderscoreInLocalizeKeysRule.ts diff --git a/build/gulpfile.hygiene.js b/build/gulpfile.hygiene.js index 75110fa153..52bdd24b23 100644 --- a/build/gulpfile.hygiene.js +++ b/build/gulpfile.hygiene.js @@ -197,7 +197,33 @@ const tslintBaseFilter = [ '!extensions/big-data-cluster/src/bigDataCluster/controller/tokenApiGenerated.ts' // {{SQL CARBON EDIT}}, ]; -const sqlFilter = ['src/sql/**']; // {{SQL CARBON EDIT}} +// {{SQL CARBON EDIT}} +const sqlFilter = [ + 'src/sql/**', + 'extensions/**', + // Ignore VS Code extensions + '!extensions/bat/**', + '!extensions/configuration-editing/**', + '!extensions/docker/**', + '!extensions/extension-editing/**', + '!extensions/git/**', + '!extensions/git-ui/**', + '!extensions/image-preview/**', + '!extensions/insights-default/**', + '!extensions/json/**', + '!extensions/json-language-features/**', + '!extensions/markdown-basics/**', + '!extensions/markdown-language-features/**', + '!extensions/merge-conflict/**', + '!extensions/powershell/**', + '!extensions/python/**', + '!extensions/r/**', + '!extensions/theme-*/**', + '!extensions/vscode-*/**', + '!extensions/xml/**', + '!extensions/xml-language-features/**', + '!extensions/yarml/**', +]; const tslintCoreFilter = [ 'src/**/*.ts', @@ -379,6 +405,7 @@ function hygiene(some) { input = some; } + // {{SQL CARBON EDIT}} Linting for SQL const tslintSqlConfiguration = tslint.Configuration.findConfiguration('tslint-sql.json', '.'); const tslintSqlOptions = { fix: false, formatter: 'json' }; const sqlTsLinter = new tslint.Linter(tslintSqlOptions); @@ -407,8 +434,8 @@ function hygiene(some) { if (!process.argv.some(arg => arg === '--skip-tslint')) { typescript = typescript.pipe(tsl); typescript = typescript - .pipe(filter(sqlFilter)) - .pipe(sqlTsl); // {{SQL CARBON EDIT}} + .pipe(filter(sqlFilter)) // {{SQL CARBON EDIT}} + .pipe(sqlTsl); } const javascript = result diff --git a/build/lib/tslint/doubleQuotedStringArgRule.js b/build/lib/tslint/doubleQuotedStringArgRule.js index 3787836482..94c736e60f 100644 --- a/build/lib/tslint/doubleQuotedStringArgRule.js +++ b/build/lib/tslint/doubleQuotedStringArgRule.js @@ -48,9 +48,7 @@ class DoubleQuotedStringArgRuleWalker extends Lint.RuleWalker { const argText = arg.getText(); const doubleQuotedArg = argText.length >= 2 && argText[0] === DoubleQuotedStringArgRuleWalker.DOUBLE_QUOTE && argText[argText.length - 1] === DoubleQuotedStringArgRuleWalker.DOUBLE_QUOTE; if (!doubleQuotedArg) { - const fix = [ - Lint.Replacement.replaceFromTo(arg.getStart(), arg.getWidth(), `"${arg.getText().slice(1, arg.getWidth() - 2)}"`), - ]; + const fix = Lint.Replacement.replaceFromTo(arg.getStart(), arg.getEnd(), `"${arg.getText().slice(1, arg.getWidth() - 1)}"`); this.addFailure(this.createFailure(arg.getStart(), arg.getWidth(), `Argument ${this.argIndex + 1} to '${functionName}' must be double quoted.`, fix)); return; } diff --git a/build/lib/tslint/doubleQuotedStringArgRule.ts b/build/lib/tslint/doubleQuotedStringArgRule.ts index 06d6a347aa..07f01dbcb3 100644 --- a/build/lib/tslint/doubleQuotedStringArgRule.ts +++ b/build/lib/tslint/doubleQuotedStringArgRule.ts @@ -68,9 +68,7 @@ class DoubleQuotedStringArgRuleWalker extends Lint.RuleWalker { const doubleQuotedArg = argText.length >= 2 && argText[0] === DoubleQuotedStringArgRuleWalker.DOUBLE_QUOTE && argText[argText.length - 1] === DoubleQuotedStringArgRuleWalker.DOUBLE_QUOTE; if (!doubleQuotedArg) { - const fix = [ - Lint.Replacement.replaceFromTo(arg.getStart(), arg.getWidth(), `"${arg.getText().slice(1, arg.getWidth() - 2)}"`), - ]; + const fix = Lint.Replacement.replaceFromTo(arg.getStart(), arg.getEnd(), `"${arg.getText().slice(1, arg.getWidth() - 1)}"`); this.addFailure(this.createFailure( arg.getStart(), arg.getWidth(), `Argument ${this.argIndex! + 1} to '${functionName}' must be double quoted.`, fix)); diff --git a/build/lib/tslint/noUnderscoreInLocalizeKeysRule.js b/build/lib/tslint/noUnderscoreInLocalizeKeysRule.js new file mode 100644 index 0000000000..32a010048c --- /dev/null +++ b/build/lib/tslint/noUnderscoreInLocalizeKeysRule.js @@ -0,0 +1,49 @@ +"use strict"; +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ +Object.defineProperty(exports, "__esModule", { value: true }); +const ts = require("typescript"); +const Lint = require("tslint"); +/** + * Implementation of the no-localize-keys-with-underscore rule which verifies that keys to the localize + * calls don't contain underscores (_) since those break the localization process. + */ +class Rule extends Lint.Rules.AbstractRule { + apply(sourceFile) { + return this.applyWithWalker(new NoLocalizeKeysWithUnderscore(sourceFile, this.getOptions())); + } +} +exports.Rule = Rule; +const signatures = [ + "localize", + "nls.localize" +]; +class NoLocalizeKeysWithUnderscore extends Lint.RuleWalker { + constructor(file, opts) { + super(file, opts); + } + visitCallExpression(node) { + this.checkCallExpression(node); + super.visitCallExpression(node); + } + checkCallExpression(node) { + // If this isn't one of the localize functions then continue on + const functionName = node.expression.getText(); + if (functionName && !signatures.some(s => s === functionName)) { + return; + } + const arg = node && node.arguments && node.arguments.length > 0 ? node.arguments[0] : undefined; // The key is the first element + // Ignore if the arg isn't a string - we expect the compiler to warn if that's an issue + if (arg && ts.isStringLiteral(arg)) { + if (arg.getText().indexOf('_') >= 0) { + const fix = [ + Lint.Replacement.replaceFromTo(arg.getStart(), arg.getEnd(), `${arg.getText().replace(/_/g, '.')}`), + ]; + this.addFailure(this.createFailure(arg.getStart(), arg.getWidth(), `Keys for localize calls must not contain underscores. Use periods (.) instead.`, fix)); + return; + } + } + } +} diff --git a/build/lib/tslint/noUnderscoreInLocalizeKeysRule.ts b/build/lib/tslint/noUnderscoreInLocalizeKeysRule.ts new file mode 100644 index 0000000000..944a499b56 --- /dev/null +++ b/build/lib/tslint/noUnderscoreInLocalizeKeysRule.ts @@ -0,0 +1,55 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the Source EULA. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import * as ts from 'typescript'; +import * as Lint from 'tslint'; + +/** + * Implementation of the no-localize-keys-with-underscore rule which verifies that keys to the localize + * calls don't contain underscores (_) since those break the localization process. + */ +export class Rule extends Lint.Rules.AbstractRule { + public apply(sourceFile: ts.SourceFile): Lint.RuleFailure[] { + return this.applyWithWalker(new NoLocalizeKeysWithUnderscore(sourceFile, this.getOptions())); + } +} + +const signatures = [ + "localize", + "nls.localize" +]; + +class NoLocalizeKeysWithUnderscore extends Lint.RuleWalker { + + constructor(file: ts.SourceFile, opts: Lint.IOptions) { + super(file, opts); + } + + protected visitCallExpression(node: ts.CallExpression): void { + this.checkCallExpression(node); + super.visitCallExpression(node); + } + + private checkCallExpression(node: ts.CallExpression): void { + // If this isn't one of the localize functions then continue on + const functionName = node.expression.getText(); + if (functionName && !signatures.some(s => s === functionName)) { + return; + } + const arg = node && node.arguments && node.arguments.length > 0 ? node.arguments[0] : undefined; // The key is the first element + // Ignore if the arg isn't a string - we expect the compiler to warn if that's an issue + if(arg && ts.isStringLiteral(arg)) { + if (arg.getText().indexOf('_') >= 0) { + const fix = [ + Lint.Replacement.replaceFromTo(arg.getStart(), arg.getEnd(), `${arg.getText().replace(/_/g, '.')}`), + ]; + this.addFailure(this.createFailure( + arg.getStart(), arg.getWidth(), + `Keys for localize calls must not contain underscores. Use periods (.) instead.`, fix)); + return; + } + } + } +} diff --git a/extensions/admin-tool-ext-win/src/main.ts b/extensions/admin-tool-ext-win/src/main.ts index fbc6b6546a..e24741ef31 100644 --- a/extensions/admin-tool-ext-win/src/main.ts +++ b/extensions/admin-tool-ext-win/src/main.ts @@ -99,7 +99,7 @@ function registerCommands(context: vscode.ExtensionContext): void { async function handleLaunchSsmsMinPropertiesDialogCommand(connectionContext?: azdata.ObjectExplorerContext): Promise { if (!connectionContext) { TelemetryReporter.sendErrorEvent(TelemetryViews.SsmsMinProperties, 'NoConnectionContext'); - vscode.window.showErrorMessage(localize('adminToolExtWin.noConnectionContextForProp', 'No ConnectionContext provided for handleLaunchSsmsMinPropertiesDialogCommand')); + vscode.window.showErrorMessage(localize('adminToolExtWin.noConnectionContextForProp', "No ConnectionContext provided for handleLaunchSsmsMinPropertiesDialogCommand")); return; } @@ -111,7 +111,7 @@ async function handleLaunchSsmsMinPropertiesDialogCommand(connectionContext?: az nodeType = connectionContext.nodeInfo.nodeType; } else { TelemetryReporter.sendErrorEvent(TelemetryViews.SsmsMinProperties, 'NoOENode'); - vscode.window.showErrorMessage(localize('adminToolExtWin.noOENode', 'Could not determine Object Explorer node from connectionContext : {0}', JSON.stringify(connectionContext))); + vscode.window.showErrorMessage(localize('adminToolExtWin.noOENode', "Could not determine Object Explorer node from connectionContext : {0}", JSON.stringify(connectionContext))); return; } @@ -128,7 +128,7 @@ async function handleLaunchSsmsMinGswDialogCommand(connectionContext?: azdata.Ob const action = 'GenerateScripts'; if (!connectionContext) { TelemetryReporter.sendErrorEvent(TelemetryViews.SsmsMinGsw, 'NoConnectionContext'); - vscode.window.showErrorMessage(localize('adminToolExtWin.noConnectionContextForGsw', 'No ConnectionContext provided for handleLaunchSsmsMinPropertiesDialogCommand')); + vscode.window.showErrorMessage(localize('adminToolExtWin.noConnectionContextForGsw', "No ConnectionContext provided for handleLaunchSsmsMinPropertiesDialogCommand")); } launchSsmsDialog( @@ -145,7 +145,7 @@ async function handleLaunchSsmsMinGswDialogCommand(connectionContext?: azdata.Ob async function launchSsmsDialog(action: string, connectionContext: azdata.ObjectExplorerContext): Promise { if (!connectionContext.connectionProfile) { TelemetryReporter.sendErrorEvent(TelemetryViews.SsmsMinDialog, 'NoConnectionProfile'); - vscode.window.showErrorMessage(localize('adminToolExtWin.noConnectionProfile', 'No connectionProfile provided from connectionContext : {0}', JSON.stringify(connectionContext))); + vscode.window.showErrorMessage(localize('adminToolExtWin.noConnectionProfile', "No connectionProfile provided from connectionContext : {0}", JSON.stringify(connectionContext))); return; } @@ -159,7 +159,7 @@ async function launchSsmsDialog(action: string, connectionContext: azdata.Object } else { TelemetryReporter.sendErrorEvent(TelemetryViews.SsmsMinDialog, 'NoOENode'); - vscode.window.showErrorMessage(localize('adminToolExtWin.noOENode', 'Could not determine Object Explorer node from connectionContext : {0}', JSON.stringify(connectionContext))); + vscode.window.showErrorMessage(localize('adminToolExtWin.noOENode', "Could not determine Object Explorer node from connectionContext : {0}", JSON.stringify(connectionContext))); return; } @@ -191,7 +191,7 @@ async function launchSsmsDialog(action: string, connectionContext: azdata.Object }).withConnectionInfo(connectionContext.connectionProfile) .send(); - vscode.window.setStatusBarMessage(localize('adminToolExtWin.launchingDialogStatus', 'Launching dialog...'), 3000); + vscode.window.setStatusBarMessage(localize('adminToolExtWin.launchingDialogStatus', "Launching dialog..."), 3000); // This will be an async call since we pass in the callback const proc: ChildProcess = exec( @@ -212,7 +212,7 @@ async function launchSsmsDialog(action: string, connectionContext: azdata.Object if (err !== '') { vscode.window.showErrorMessage(localize( 'adminToolExtWin.ssmsMinError', - 'Error calling SsmsMin with args \'{0}\' - {1}', args, err)); + "Error calling SsmsMin with args \'{0}\' - {1}", args, err)); } }); diff --git a/extensions/agent/src/data/alertData.ts b/extensions/agent/src/data/alertData.ts index 604685061f..3b8529d3b6 100644 --- a/extensions/agent/src/data/alertData.ts +++ b/extensions/agent/src/data/alertData.ts @@ -14,9 +14,9 @@ import { JobData } from './jobData'; const localize = nls.loadMessageBundle(); export class AlertData implements IAgentDialogData { - public static readonly AlertTypeSqlServerEventString: string = localize('alertData.DefaultAlertTypString', 'SQL Server event alert'); - public static readonly AlertTypePerformanceConditionString: string = localize('alertDialog.PerformanceCondition', 'SQL Server performance condition alert'); - public static readonly AlertTypeWmiEventString: string = localize('alertDialog.WmiEvent', 'WMI event alert'); + public static readonly AlertTypeSqlServerEventString: string = localize('alertData.DefaultAlertTypString', "SQL Server event alert"); + public static readonly AlertTypePerformanceConditionString: string = localize('alertDialog.PerformanceCondition', "SQL Server performance condition alert"); + public static readonly AlertTypeWmiEventString: string = localize('alertDialog.WmiEvent', "WMI event alert"); public static readonly DefaultAlertTypeString: string = AlertData.AlertTypeSqlServerEventString; ownerUri: string; diff --git a/extensions/agent/src/data/jobData.ts b/extensions/agent/src/data/jobData.ts index f5c849518f..9492ffd33e 100644 --- a/extensions/agent/src/data/jobData.ts +++ b/extensions/agent/src/data/jobData.ts @@ -14,12 +14,12 @@ const localize = nls.loadMessageBundle(); export class JobData implements IAgentDialogData { - private readonly JobCompletionActionCondition_Always: string = localize('jobData.whenJobCompletes', 'When the job completes'); - private readonly JobCompletionActionCondition_OnFailure: string = localize('jobData.whenJobFails', 'When the job fails'); - private readonly JobCompletionActionCondition_OnSuccess: string = localize('jobData.whenJobSucceeds', 'When the job succeeds'); + private readonly JobCompletionActionCondition_Always: string = localize('jobData.whenJobCompletes', "When the job completes"); + private readonly JobCompletionActionCondition_OnFailure: string = localize('jobData.whenJobFails', "When the job fails"); + private readonly JobCompletionActionCondition_OnSuccess: string = localize('jobData.whenJobSucceeds', "When the job succeeds"); // Error Messages - private readonly CreateJobErrorMessage_NameIsEmpty = localize('jobData.jobNameRequired', 'Job name must be provided'); + private readonly CreateJobErrorMessage_NameIsEmpty = localize('jobData.jobNameRequired', "Job name must be provided"); private _ownerUri: string; private _jobCategories: string[]; diff --git a/extensions/agent/src/data/jobStepData.ts b/extensions/agent/src/data/jobStepData.ts index a379b40830..0057487252 100644 --- a/extensions/agent/src/data/jobStepData.ts +++ b/extensions/agent/src/data/jobStepData.ts @@ -17,8 +17,8 @@ const localize = nls.loadMessageBundle(); export class JobStepData implements IAgentDialogData { // Error Messages - private static readonly CreateStepErrorMessage_JobNameIsEmpty = localize('stepData.jobNameRequired', 'Job name must be provided'); - private static readonly CreateStepErrorMessage_StepNameIsEmpty = localize('stepData.stepNameRequired', 'Step name must be provided'); + private static readonly CreateStepErrorMessage_JobNameIsEmpty = localize('stepData.jobNameRequired', "Job name must be provided"); + private static readonly CreateStepErrorMessage_StepNameIsEmpty = localize('stepData.stepNameRequired', "Step name must be provided"); public dialogMode: AgentDialogMode; public ownerUri: string; diff --git a/extensions/agent/src/data/notebookData.ts b/extensions/agent/src/data/notebookData.ts index 2f83867152..2faaf0ca10 100644 --- a/extensions/agent/src/data/notebookData.ts +++ b/extensions/agent/src/data/notebookData.ts @@ -13,17 +13,17 @@ import { IAgentDialogData, AgentDialogMode } from '../interfaces'; import { NotebookDialogOptions } from '../dialogs/notebookDialog'; const localize = nls.loadMessageBundle(); -const NotebookCompletionActionCondition_Always: string = localize('notebookData.whenJobCompletes', 'When the notebook completes'); -const NotebookCompletionActionCondition_OnFailure: string = localize('notebookData.whenJobFails', 'When the notebook fails'); -const NotebookCompletionActionCondition_OnSuccess: string = localize('notebookData.whenJobSucceeds', 'When the notebook succeeds'); +const NotebookCompletionActionCondition_Always: string = localize('notebookData.whenJobCompletes', "When the notebook completes"); +const NotebookCompletionActionCondition_OnFailure: string = localize('notebookData.whenJobFails', "When the notebook fails"); +const NotebookCompletionActionCondition_OnSuccess: string = localize('notebookData.whenJobSucceeds', "When the notebook succeeds"); // Error Messages -const CreateNotebookErrorMessage_NameIsEmpty = localize('notebookData.jobNameRequired', 'Notebook name must be provided'); -const TemplatePathEmptyErrorMessage = localize('notebookData.templatePathRequired', 'Template path must be provided'); -const InvalidNotebookPathErrorMessage = localize('notebookData.invalidNotebookPath', 'Invalid notebook path'); -const SelectStorageDatabaseErrorMessage = localize('notebookData.selectStorageDatabase', 'Select storage database'); -const SelectExecutionDatabaseErrorMessage = localize('notebookData.selectExecutionDatabase', 'Select execution database'); -const JobWithSameNameExistsErrorMessage = localize('notebookData.jobExists', 'Job with similar name already exists'); +const CreateNotebookErrorMessage_NameIsEmpty = localize('notebookData.jobNameRequired', "Notebook name must be provided"); +const TemplatePathEmptyErrorMessage = localize('notebookData.templatePathRequired', "Template path must be provided"); +const InvalidNotebookPathErrorMessage = localize('notebookData.invalidNotebookPath', "Invalid notebook path"); +const SelectStorageDatabaseErrorMessage = localize('notebookData.selectStorageDatabase', "Select storage database"); +const SelectExecutionDatabaseErrorMessage = localize('notebookData.selectExecutionDatabase', "Select execution database"); +const JobWithSameNameExistsErrorMessage = localize('notebookData.jobExists', "Job with similar name already exists"); export class NotebookData implements IAgentDialogData { diff --git a/extensions/agent/src/dialogs/agentDialog.ts b/extensions/agent/src/dialogs/agentDialog.ts index e42f4620c8..a9ac17b35d 100644 --- a/extensions/agent/src/dialogs/agentDialog.ts +++ b/extensions/agent/src/dialogs/agentDialog.ts @@ -13,8 +13,8 @@ const localize = nls.loadMessageBundle(); export abstract class AgentDialog { - private static readonly OkButtonText: string = localize('agentDialog.OK', 'OK'); - private static readonly CancelButtonText: string = localize('agentDialog.Cancel', 'Cancel'); + private static readonly OkButtonText: string = localize('agentDialog.OK', "OK"); + private static readonly CancelButtonText: string = localize('agentDialog.Cancel', "Cancel"); protected _onSuccess: vscode.EventEmitter = new vscode.EventEmitter(); protected _isOpen: boolean = false; diff --git a/extensions/agent/src/dialogs/alertDialog.ts b/extensions/agent/src/dialogs/alertDialog.ts index 0b44b5e022..762a4c8b84 100644 --- a/extensions/agent/src/dialogs/alertDialog.ts +++ b/extensions/agent/src/dialogs/alertDialog.ts @@ -19,48 +19,48 @@ const localize = nls.loadMessageBundle(); export class AlertDialog extends AgentDialog { // Top level - private static readonly CreateDialogTitle: string = localize('alertDialog.createAlert', 'Create Alert'); - private static readonly EditDialogTitle: string = localize('alertDialog.editAlert', 'Edit Alert'); - private static readonly GeneralTabText: string = localize('alertDialog.General', 'General'); - private static readonly ResponseTabText: string = localize('alertDialog.Response', 'Response'); - private static readonly OptionsTabText: string = localize('alertDialog.Options', 'Options'); - private static readonly EventAlertText: string = localize('alertDialog.eventAlert', 'Event alert definition'); + private static readonly CreateDialogTitle: string = localize('alertDialog.createAlert', "Create Alert"); + private static readonly EditDialogTitle: string = localize('alertDialog.editAlert', "Edit Alert"); + private static readonly GeneralTabText: string = localize('alertDialog.General', "General"); + private static readonly ResponseTabText: string = localize('alertDialog.Response', "Response"); + private static readonly OptionsTabText: string = localize('alertDialog.Options', "Options"); + private static readonly EventAlertText: string = localize('alertDialog.eventAlert', "Event alert definition"); // General tab strings - private static readonly NameLabel: string = localize('alertDialog.Name', 'Name'); - private static readonly TypeLabel: string = localize('alertDialog.Type', 'Type'); - private static readonly EnabledCheckboxLabel: string = localize('alertDialog.Enabled', 'Enabled'); - private static readonly DatabaseLabel: string = localize('alertDialog.DatabaseName', 'Database name'); - private static readonly ErrorNumberLabel: string = localize('alertDialog.ErrorNumber', 'Error number'); - private static readonly SeverityLabel: string = localize('alertDialog.Severity', 'Severity'); - private static readonly RaiseIfMessageContainsLabel: string = localize('alertDialog.RaiseAlertContains', 'Raise alert when message contains'); - private static readonly MessageTextLabel: string = localize('alertDialog.MessageText', 'Message text'); - private static readonly AlertSeverity001Label: string = localize('alertDialog.Severity001', '001 - Miscellaneous System Information'); - private static readonly AlertSeverity002Label: string = localize('alertDialog.Severity002', '002 - Reserved'); - private static readonly AlertSeverity003Label: string = localize('alertDialog.Severity003', '003 - Reserved'); - private static readonly AlertSeverity004Label: string = localize('alertDialog.Severity004', '004 - Reserved'); - private static readonly AlertSeverity005Label: string = localize('alertDialog.Severity005', '005 - Reserved'); - private static readonly AlertSeverity006Label: string = localize('alertDialog.Severity006', '006 - Reserved'); - private static readonly AlertSeverity007Label: string = localize('alertDialog.Severity007', '007 - Notification: Status Information'); - private static readonly AlertSeverity008Label: string = localize('alertDialog.Severity008', '008 - Notification: User Intervention Required'); - private static readonly AlertSeverity009Label: string = localize('alertDialog.Severity009', '009 - User Defined'); - private static readonly AlertSeverity010Label: string = localize('alertDialog.Severity010', '010 - Information'); - private static readonly AlertSeverity011Label: string = localize('alertDialog.Severity011', '011 - Specified Database Object Not Found'); - private static readonly AlertSeverity012Label: string = localize('alertDialog.Severity012', '012 - Unused'); - private static readonly AlertSeverity013Label: string = localize('alertDialog.Severity013', '013 - User Transaction Syntax Error'); - private static readonly AlertSeverity014Label: string = localize('alertDialog.Severity014', '014 - Insufficient Permission'); - private static readonly AlertSeverity015Label: string = localize('alertDialog.Severity015', '015 - Syntax Error in SQL Statements'); - private static readonly AlertSeverity016Label: string = localize('alertDialog.Severity016', '016 - Miscellaneous User Error'); - private static readonly AlertSeverity017Label: string = localize('alertDialog.Severity017', '017 - Insufficient Resources'); - private static readonly AlertSeverity018Label: string = localize('alertDialog.Severity018', '018 - Nonfatal Internal Error'); - private static readonly AlertSeverity019Label: string = localize('alertDialog.Severity019', '019 - Fatal Error in Resource'); - private static readonly AlertSeverity020Label: string = localize('alertDialog.Severity020', '020 - Fatal Error in Current Process'); - private static readonly AlertSeverity021Label: string = localize('alertDialog.Severity021', '021 - Fatal Error in Database Processes'); - private static readonly AlertSeverity022Label: string = localize('alertDialog.Severity022', '022 - Fatal Error: Table Integrity Suspect'); - private static readonly AlertSeverity023Label: string = localize('alertDialog.Severity023', '023 - Fatal Error: Database Integrity Suspect'); - private static readonly AlertSeverity024Label: string = localize('alertDialog.Severity024', '024 - Fatal Error: Hardware Error'); - private static readonly AlertSeverity025Label: string = localize('alertDialog.Severity025', '025 - Fatal Error'); - private static readonly AllDatabases: string = localize('alertDialog.AllDatabases', ''); + private static readonly NameLabel: string = localize('alertDialog.Name', "Name"); + private static readonly TypeLabel: string = localize('alertDialog.Type', "Type"); + private static readonly EnabledCheckboxLabel: string = localize('alertDialog.Enabled', "Enabled"); + private static readonly DatabaseLabel: string = localize('alertDialog.DatabaseName', "Database name"); + private static readonly ErrorNumberLabel: string = localize('alertDialog.ErrorNumber', "Error number"); + private static readonly SeverityLabel: string = localize('alertDialog.Severity', "Severity"); + private static readonly RaiseIfMessageContainsLabel: string = localize('alertDialog.RaiseAlertContains', "Raise alert when message contains"); + private static readonly MessageTextLabel: string = localize('alertDialog.MessageText', "Message text"); + private static readonly AlertSeverity001Label: string = localize('alertDialog.Severity001', "001 - Miscellaneous System Information"); + private static readonly AlertSeverity002Label: string = localize('alertDialog.Severity002', "002 - Reserved"); + private static readonly AlertSeverity003Label: string = localize('alertDialog.Severity003', "003 - Reserved"); + private static readonly AlertSeverity004Label: string = localize('alertDialog.Severity004', "004 - Reserved"); + private static readonly AlertSeverity005Label: string = localize('alertDialog.Severity005', "005 - Reserved"); + private static readonly AlertSeverity006Label: string = localize('alertDialog.Severity006', "006 - Reserved"); + private static readonly AlertSeverity007Label: string = localize('alertDialog.Severity007', "007 - Notification: Status Information"); + private static readonly AlertSeverity008Label: string = localize('alertDialog.Severity008', "008 - Notification: User Intervention Required"); + private static readonly AlertSeverity009Label: string = localize('alertDialog.Severity009', "009 - User Defined"); + private static readonly AlertSeverity010Label: string = localize('alertDialog.Severity010', "010 - Information"); + private static readonly AlertSeverity011Label: string = localize('alertDialog.Severity011', "011 - Specified Database Object Not Found"); + private static readonly AlertSeverity012Label: string = localize('alertDialog.Severity012', "012 - Unused"); + private static readonly AlertSeverity013Label: string = localize('alertDialog.Severity013', "013 - User Transaction Syntax Error"); + private static readonly AlertSeverity014Label: string = localize('alertDialog.Severity014', "014 - Insufficient Permission"); + private static readonly AlertSeverity015Label: string = localize('alertDialog.Severity015', "015 - Syntax Error in SQL Statements"); + private static readonly AlertSeverity016Label: string = localize('alertDialog.Severity016', "016 - Miscellaneous User Error"); + private static readonly AlertSeverity017Label: string = localize('alertDialog.Severity017', "017 - Insufficient Resources"); + private static readonly AlertSeverity018Label: string = localize('alertDialog.Severity018', "018 - Nonfatal Internal Error"); + private static readonly AlertSeverity019Label: string = localize('alertDialog.Severity019', "019 - Fatal Error in Resource"); + private static readonly AlertSeverity020Label: string = localize('alertDialog.Severity020', "020 - Fatal Error in Current Process"); + private static readonly AlertSeverity021Label: string = localize('alertDialog.Severity021', "021 - Fatal Error in Database Processes"); + private static readonly AlertSeverity022Label: string = localize('alertDialog.Severity022', "022 - Fatal Error: Table Integrity Suspect"); + private static readonly AlertSeverity023Label: string = localize('alertDialog.Severity023', "023 - Fatal Error: Database Integrity Suspect"); + private static readonly AlertSeverity024Label: string = localize('alertDialog.Severity024', "024 - Fatal Error: Hardware Error"); + private static readonly AlertSeverity025Label: string = localize('alertDialog.Severity025', "025 - Fatal Error"); + private static readonly AllDatabases: string = localize('alertDialog.AllDatabases', ""); private static readonly AlertTypes: string[] = [ AlertData.AlertTypeSqlServerEventString, @@ -98,23 +98,23 @@ export class AlertDialog extends AgentDialog { ]; // Response tab strings - private static readonly ExecuteJobCheckBoxLabel: string = localize('alertDialog.ExecuteJob', 'Execute Job'); - private static readonly ExecuteJobTextBoxLabel: string = localize('alertDialog.ExecuteJobName', 'Job Name'); - private static readonly NotifyOperatorsTextBoxLabel: string = localize('alertDialog.NotifyOperators', 'Notify Operators'); - private static readonly NewJobButtonLabel: string = localize('alertDialog.NewJob', 'New Job'); - private static readonly OperatorListLabel: string = localize('alertDialog.OperatorList', 'Operator List'); - private static readonly OperatorNameColumnLabel: string = localize('alertDialog.OperatorName', 'Operator'); - private static readonly OperatorEmailColumnLabel: string = localize('alertDialog.OperatorEmail', 'E-mail'); - private static readonly OperatorPagerColumnLabel: string = localize('alertDialog.OperatorPager', 'Pager'); - private static readonly NewOperatorButtonLabel: string = localize('alertDialog.NewOperator', 'New Operator'); + private static readonly ExecuteJobCheckBoxLabel: string = localize('alertDialog.ExecuteJob', "Execute Job"); + private static readonly ExecuteJobTextBoxLabel: string = localize('alertDialog.ExecuteJobName', "Job Name"); + private static readonly NotifyOperatorsTextBoxLabel: string = localize('alertDialog.NotifyOperators', "Notify Operators"); + private static readonly NewJobButtonLabel: string = localize('alertDialog.NewJob', "New Job"); + private static readonly OperatorListLabel: string = localize('alertDialog.OperatorList', "Operator List"); + private static readonly OperatorNameColumnLabel: string = localize('alertDialog.OperatorName', "Operator"); + private static readonly OperatorEmailColumnLabel: string = localize('alertDialog.OperatorEmail', "E-mail"); + private static readonly OperatorPagerColumnLabel: string = localize('alertDialog.OperatorPager', "Pager"); + private static readonly NewOperatorButtonLabel: string = localize('alertDialog.NewOperator', "New Operator"); // Options tab strings - private static readonly IncludeErrorInEmailCheckBoxLabel: string = localize('alertDialog.IncludeErrorInEmail', 'Include alert error text in e-mail'); - private static readonly IncludeErrorInPagerCheckBoxLabel: string = localize('alertDialog.IncludeErrorInPager', 'Include alert error text in pager'); - private static readonly AdditionalMessageTextBoxLabel: string = localize('alertDialog.AdditionalNotification', 'Additional notification message to send'); - private static readonly DelayBetweenResponsesTextBoxLabel: string = localize('alertDialog.DelayBetweenResponse', 'Delay between responses'); - private static readonly DelayMinutesTextBoxLabel: string = localize('alertDialog.DelayMinutes', 'Delay Minutes'); - private static readonly DelaySecondsTextBoxLabel: string = localize('alertDialog.DelaySeconds', 'Delay Seconds'); + private static readonly IncludeErrorInEmailCheckBoxLabel: string = localize('alertDialog.IncludeErrorInEmail', "Include alert error text in e-mail"); + private static readonly IncludeErrorInPagerCheckBoxLabel: string = localize('alertDialog.IncludeErrorInPager', "Include alert error text in pager"); + private static readonly AdditionalMessageTextBoxLabel: string = localize('alertDialog.AdditionalNotification', "Additional notification message to send"); + private static readonly DelayBetweenResponsesTextBoxLabel: string = localize('alertDialog.DelayBetweenResponse', "Delay between responses"); + private static readonly DelayMinutesTextBoxLabel: string = localize('alertDialog.DelayMinutes', "Delay Minutes"); + private static readonly DelaySecondsTextBoxLabel: string = localize('alertDialog.DelaySeconds', "Delay Seconds"); // Event Name strings private readonly NewAlertDialog = 'NewAlertDialogOpen'; diff --git a/extensions/agent/src/dialogs/jobDialog.ts b/extensions/agent/src/dialogs/jobDialog.ts index 7bd78a33d4..03e51a71f3 100644 --- a/extensions/agent/src/dialogs/jobDialog.ts +++ b/extensions/agent/src/dialogs/jobDialog.ts @@ -19,54 +19,54 @@ export class JobDialog extends AgentDialog { // TODO: localize // Top level - private static readonly CreateDialogTitle: string = localize('jobDialog.newJob', 'New Job'); - private static readonly EditDialogTitle: string = localize('jobDialog.editJob', 'Edit Job'); - private readonly GeneralTabText: string = localize('jobDialog.general', 'General'); - private readonly StepsTabText: string = localize('jobDialog.steps', 'Steps'); - private readonly SchedulesTabText: string = localize('jobDialog.schedules', 'Schedules'); - private readonly AlertsTabText: string = localize('jobDialog.alerts', 'Alerts'); - private readonly NotificationsTabText: string = localize('jobDialog.notifications', 'Notifications'); - private readonly BlankJobNameErrorText: string = localize('jobDialog.blankJobNameError', 'The name of the job cannot be blank.'); + private static readonly CreateDialogTitle: string = localize('jobDialog.newJob', "New Job"); + private static readonly EditDialogTitle: string = localize('jobDialog.editJob', "Edit Job"); + private readonly GeneralTabText: string = localize('jobDialog.general', "General"); + private readonly StepsTabText: string = localize('jobDialog.steps', "Steps"); + private readonly SchedulesTabText: string = localize('jobDialog.schedules', "Schedules"); + private readonly AlertsTabText: string = localize('jobDialog.alerts', "Alerts"); + private readonly NotificationsTabText: string = localize('jobDialog.notifications', "Notifications"); + private readonly BlankJobNameErrorText: string = localize('jobDialog.blankJobNameError', "The name of the job cannot be blank."); // General tab strings - private readonly NameTextBoxLabel: string = localize('jobDialog.name', 'Name'); - private readonly OwnerTextBoxLabel: string = localize('jobDialog.owner', 'Owner'); - private readonly CategoryDropdownLabel: string = localize('jobDialog.category', 'Category'); - private readonly DescriptionTextBoxLabel: string = localize('jobDialog.description', 'Description'); - private readonly EnabledCheckboxLabel: string = localize('jobDialog.enabled', 'Enabled'); + private readonly NameTextBoxLabel: string = localize('jobDialog.name', "Name"); + private readonly OwnerTextBoxLabel: string = localize('jobDialog.owner', "Owner"); + private readonly CategoryDropdownLabel: string = localize('jobDialog.category', "Category"); + private readonly DescriptionTextBoxLabel: string = localize('jobDialog.description', "Description"); + private readonly EnabledCheckboxLabel: string = localize('jobDialog.enabled', "Enabled"); // Steps tab strings - private readonly JobStepsTopLabelString: string = localize('jobDialog.jobStepList', 'Job step list'); - private readonly StepsTable_StepColumnString: string = localize('jobDialog.step', 'Step'); - private readonly StepsTable_NameColumnString: string = localize('jobDialog.name', 'Name'); - private readonly StepsTable_TypeColumnString: string = localize('jobDialog.type', 'Type'); - private readonly StepsTable_SuccessColumnString: string = localize('jobDialog.onSuccess', 'On Success'); - private readonly StepsTable_FailureColumnString: string = localize('jobDialog.onFailure', 'On Failure'); - private readonly NewStepButtonString: string = localize('jobDialog.new', 'New Step'); - private readonly EditStepButtonString: string = localize('jobDialog.edit', 'Edit Step'); - private readonly DeleteStepButtonString: string = localize('jobDialog.delete', 'Delete Step'); - private readonly MoveStepUpButtonString: string = localize('jobDialog.moveUp', 'Move Step Up'); - private readonly MoveStepDownButtonString: string = localize('jobDialog.moveDown', 'Move Step Down'); - private readonly StartStepDropdownString: string = localize('jobDialog.startStepAt', 'Start step'); + private readonly JobStepsTopLabelString: string = localize('jobDialog.jobStepList', "Job step list"); + private readonly StepsTable_StepColumnString: string = localize('jobDialog.step', "Step"); + private readonly StepsTable_NameColumnString: string = localize('jobDialog.name', "Name"); + private readonly StepsTable_TypeColumnString: string = localize('jobDialog.type', "Type"); + private readonly StepsTable_SuccessColumnString: string = localize('jobDialog.onSuccess', "On Success"); + private readonly StepsTable_FailureColumnString: string = localize('jobDialog.onFailure', "On Failure"); + private readonly NewStepButtonString: string = localize('jobDialog.new', "New Step"); + private readonly EditStepButtonString: string = localize('jobDialog.edit', "Edit Step"); + private readonly DeleteStepButtonString: string = localize('jobDialog.delete', "Delete Step"); + private readonly MoveStepUpButtonString: string = localize('jobDialog.moveUp', "Move Step Up"); + private readonly MoveStepDownButtonString: string = localize('jobDialog.moveDown', "Move Step Down"); + private readonly StartStepDropdownString: string = localize('jobDialog.startStepAt', "Start step"); // Notifications tab strings - private readonly NotificationsTabTopLabelString: string = localize('jobDialog.notificationsTabTop', 'Actions to perform when the job completes'); - private readonly EmailCheckBoxString: string = localize('jobDialog.email', 'Email'); - private readonly PagerCheckBoxString: string = localize('jobDialog.page', 'Page'); - private readonly EventLogCheckBoxString: string = localize('jobDialog.eventLogCheckBoxLabel', 'Write to the Windows Application event log'); - private readonly DeleteJobCheckBoxString: string = localize('jobDialog.deleteJobLabel', 'Automatically delete job'); + private readonly NotificationsTabTopLabelString: string = localize('jobDialog.notificationsTabTop', "Actions to perform when the job completes"); + private readonly EmailCheckBoxString: string = localize('jobDialog.email', "Email"); + private readonly PagerCheckBoxString: string = localize('jobDialog.page', "Page"); + private readonly EventLogCheckBoxString: string = localize('jobDialog.eventLogCheckBoxLabel', "Write to the Windows Application event log"); + private readonly DeleteJobCheckBoxString: string = localize('jobDialog.deleteJobLabel', "Automatically delete job"); // Schedules tab strings - private readonly SchedulesTopLabelString: string = localize('jobDialog.schedulesaLabel', 'Schedules list'); - private readonly PickScheduleButtonString: string = localize('jobDialog.pickSchedule', 'Pick Schedule'); - private readonly ScheduleNameLabelString: string = localize('jobDialog.scheduleNameLabel', 'Schedule Name'); + private readonly SchedulesTopLabelString: string = localize('jobDialog.schedulesaLabel', "Schedules list"); + private readonly PickScheduleButtonString: string = localize('jobDialog.pickSchedule', "Pick Schedule"); + private readonly ScheduleNameLabelString: string = localize('jobDialog.scheduleNameLabel', "Schedule Name"); // Alerts tab strings - private readonly AlertsTopLabelString: string = localize('jobDialog.alertsList', 'Alerts list'); - private readonly NewAlertButtonString: string = localize('jobDialog.newAlert', 'New Alert'); - private readonly AlertNameLabelString: string = localize('jobDialog.alertNameLabel', 'Alert Name'); - private readonly AlertEnabledLabelString: string = localize('jobDialog.alertEnabledLabel', 'Enabled'); - private readonly AlertTypeLabelString: string = localize('jobDialog.alertTypeLabel', 'Type'); + private readonly AlertsTopLabelString: string = localize('jobDialog.alertsList', "Alerts list"); + private readonly NewAlertButtonString: string = localize('jobDialog.newAlert', "New Alert"); + private readonly AlertNameLabelString: string = localize('jobDialog.alertNameLabel', "Alert Name"); + private readonly AlertEnabledLabelString: string = localize('jobDialog.alertEnabledLabel', "Enabled"); + private readonly AlertTypeLabelString: string = localize('jobDialog.alertTypeLabel', "Type"); // Event Name strings private readonly NewJobDialogEvent: string = 'NewJobDialogOpened'; diff --git a/extensions/agent/src/dialogs/jobStepDialog.ts b/extensions/agent/src/dialogs/jobStepDialog.ts index d06c769179..4eb390d141 100644 --- a/extensions/agent/src/dialogs/jobStepDialog.ts +++ b/extensions/agent/src/dialogs/jobStepDialog.ts @@ -20,63 +20,63 @@ export class JobStepDialog extends AgentDialog { // TODO: localize // Top level // - private static readonly NewDialogTitle: string = localize('jobStepDialog.newJobStep', 'New Job Step'); - private static readonly EditDialogTitle: string = localize('jobStepDialog.editJobStep', 'Edit Job Step'); - private readonly FileBrowserDialogTitle: string = localize('jobStepDialog.fileBrowserTitle', 'Locate Database Files - '); - private readonly OkButtonText: string = localize('jobStepDialog.ok', 'OK'); - private readonly CancelButtonText: string = localize('jobStepDialog.cancel', 'Cancel'); - private readonly GeneralTabText: string = localize('jobStepDialog.general', 'General'); - private readonly AdvancedTabText: string = localize('jobStepDialog.advanced', 'Advanced'); - private readonly OpenCommandText: string = localize('jobStepDialog.open', 'Open...'); - private readonly ParseCommandText: string = localize('jobStepDialog.parse', 'Parse'); - private readonly SuccessfulParseText: string = localize('jobStepDialog.successParse', 'The command was successfully parsed.'); - private readonly FailureParseText: string = localize('jobStepDialog.failParse', 'The command failed.'); - private readonly BlankStepNameErrorText: string = localize('jobStepDialog.blankStepName', 'The step name cannot be left blank'); - private readonly ProcessExitCodeText: string = localize('jobStepDialog.processExitCode', 'Process exit code of a successful command:'); + private static readonly NewDialogTitle: string = localize('jobStepDialog.newJobStep', "New Job Step"); + private static readonly EditDialogTitle: string = localize('jobStepDialog.editJobStep', "Edit Job Step"); + private readonly FileBrowserDialogTitle: string = localize('jobStepDialog.fileBrowserTitle', "Locate Database Files - "); + private readonly OkButtonText: string = localize('jobStepDialog.ok', "OK"); + private readonly CancelButtonText: string = localize('jobStepDialog.cancel', "Cancel"); + private readonly GeneralTabText: string = localize('jobStepDialog.general', "General"); + private readonly AdvancedTabText: string = localize('jobStepDialog.advanced', "Advanced"); + private readonly OpenCommandText: string = localize('jobStepDialog.open', "Open..."); + private readonly ParseCommandText: string = localize('jobStepDialog.parse', "Parse"); + private readonly SuccessfulParseText: string = localize('jobStepDialog.successParse', "The command was successfully parsed."); + private readonly FailureParseText: string = localize('jobStepDialog.failParse', "The command failed."); + private readonly BlankStepNameErrorText: string = localize('jobStepDialog.blankStepName', "The step name cannot be left blank"); + private readonly ProcessExitCodeText: string = localize('jobStepDialog.processExitCode', "Process exit code of a successful command:"); // General Control Titles - private readonly StepNameLabelString: string = localize('jobStepDialog.stepNameLabel', 'Step Name'); - private readonly TypeLabelString: string = localize('jobStepDialog.typeLabel', 'Type'); - private readonly RunAsLabelString: string = localize('jobStepDialog.runAsLabel', 'Run as'); - private readonly DatabaseLabelString: string = localize('jobStepDialog.databaseLabel', 'Database'); - private readonly CommandLabelString: string = localize('jobStepDialog.commandLabel', 'Command'); + private readonly StepNameLabelString: string = localize('jobStepDialog.stepNameLabel', "Step Name"); + private readonly TypeLabelString: string = localize('jobStepDialog.typeLabel', "Type"); + private readonly RunAsLabelString: string = localize('jobStepDialog.runAsLabel', "Run as"); + private readonly DatabaseLabelString: string = localize('jobStepDialog.databaseLabel', "Database"); + private readonly CommandLabelString: string = localize('jobStepDialog.commandLabel', "Command"); // Advanced Control Titles - private readonly SuccessActionLabel: string = localize('jobStepDialog.successAction', 'On success action'); - private readonly FailureActionLabel: string = localize('jobStepDialog.failureAction', 'On failure action'); - private readonly RunAsUserLabel: string = localize('jobStepDialog.runAsUser', 'Run as user'); - private readonly RetryAttemptsLabel: string = localize('jobStepDialog.retryAttempts', 'Retry Attempts'); - private readonly RetryIntervalLabel: string = localize('jobStepDialog.retryInterval', 'Retry Interval (minutes)'); - private readonly LogToTableLabel: string = localize('jobStepDialog.logToTable', 'Log to table'); - private readonly AppendExistingTableEntryLabel: string = localize('jobStepDialog.appendExistingTableEntry', 'Append output to exisiting entry in table'); - private readonly IncludeStepOutputHistoryLabel: string = localize('jobStepDialog.includeStepOutputHistory', 'Include step output in history'); - private readonly OutputFileNameLabel: string = localize('jobStepDialog.outputFile', 'Output File'); - private readonly AppendOutputToFileLabel: string = localize('jobStepDialog.appendOutputToFile', 'Append output to existing file'); + private readonly SuccessActionLabel: string = localize('jobStepDialog.successAction', "On success action"); + private readonly FailureActionLabel: string = localize('jobStepDialog.failureAction', "On failure action"); + private readonly RunAsUserLabel: string = localize('jobStepDialog.runAsUser', "Run as user"); + private readonly RetryAttemptsLabel: string = localize('jobStepDialog.retryAttempts', "Retry Attempts"); + private readonly RetryIntervalLabel: string = localize('jobStepDialog.retryInterval', "Retry Interval (minutes)"); + private readonly LogToTableLabel: string = localize('jobStepDialog.logToTable', "Log to table"); + private readonly AppendExistingTableEntryLabel: string = localize('jobStepDialog.appendExistingTableEntry', "Append output to exisiting entry in table"); + private readonly IncludeStepOutputHistoryLabel: string = localize('jobStepDialog.includeStepOutputHistory', "Include step output in history"); + private readonly OutputFileNameLabel: string = localize('jobStepDialog.outputFile', "Output File"); + private readonly AppendOutputToFileLabel: string = localize('jobStepDialog.appendOutputToFile', "Append output to existing file"); // File Browser Control Titles - private readonly SelectedPathLabelString: string = localize('jobStepDialog.selectedPath', 'Selected path'); - private readonly FilesOfTypeLabelString: string = localize('jobStepDialog.filesOfType', 'Files of type'); - private readonly FileNameLabelString: string = localize('jobStepDialog.fileName', 'File name'); - private readonly AllFilesLabelString: string = localize('jobStepDialog.allFiles', 'All Files (*)'); + private readonly SelectedPathLabelString: string = localize('jobStepDialog.selectedPath', "Selected path"); + private readonly FilesOfTypeLabelString: string = localize('jobStepDialog.filesOfType', "Files of type"); + private readonly FileNameLabelString: string = localize('jobStepDialog.fileName', "File name"); + private readonly AllFilesLabelString: string = localize('jobStepDialog.allFiles', "All Files (*)"); // Dropdown options - public static readonly TSQLScript: string = localize('jobStepDialog.TSQL', 'Transact-SQL script (T-SQL)'); - public static readonly Powershell: string = localize('jobStepDialog.powershell', 'PowerShell'); - public static readonly CmdExec: string = localize('jobStepDialog.CmdExec', 'Operating system (CmdExec)'); - public static readonly ReplicationDistributor: string = localize('jobStepDialog.replicationDistribution', 'Replication Distributor'); - public static readonly ReplicationMerge: string = localize('jobStepDialog.replicationMerge', 'Replication Merge'); - public static readonly ReplicationQueueReader: string = localize('jobStepDialog.replicationQueueReader', 'Replication Queue Reader'); - public static readonly ReplicationSnapshot: string = localize('jobStepDialog.replicationSnapshot', 'Replication Snapshot'); - public static readonly ReplicationTransactionLogReader: string = localize('jobStepDialog.replicationTransactionLogReader', 'Replication Transaction-Log Reader'); - public static readonly AnalysisServicesCommand: string = localize('jobStepDialog.analysisCommand', 'SQL Server Analysis Services Command'); - public static readonly AnalysisServicesQuery: string = localize('jobStepDialog.analysisQuery', 'SQL Server Analysis Services Query'); - public static readonly ServicesPackage: string = localize('jobStepDialog.servicesPackage', 'SQL Server Integration Service Package'); + public static readonly TSQLScript: string = localize('jobStepDialog.TSQL', "Transact-SQL script (T-SQL)"); + public static readonly Powershell: string = localize('jobStepDialog.powershell', "PowerShell"); + public static readonly CmdExec: string = localize('jobStepDialog.CmdExec', "Operating system (CmdExec)"); + public static readonly ReplicationDistributor: string = localize('jobStepDialog.replicationDistribution', "Replication Distributor"); + public static readonly ReplicationMerge: string = localize('jobStepDialog.replicationMerge', "Replication Merge"); + public static readonly ReplicationQueueReader: string = localize('jobStepDialog.replicationQueueReader', "Replication Queue Reader"); + public static readonly ReplicationSnapshot: string = localize('jobStepDialog.replicationSnapshot', "Replication Snapshot"); + public static readonly ReplicationTransactionLogReader: string = localize('jobStepDialog.replicationTransactionLogReader', "Replication Transaction-Log Reader"); + public static readonly AnalysisServicesCommand: string = localize('jobStepDialog.analysisCommand', "SQL Server Analysis Services Command"); + public static readonly AnalysisServicesQuery: string = localize('jobStepDialog.analysisQuery', "SQL Server Analysis Services Query"); + public static readonly ServicesPackage: string = localize('jobStepDialog.servicesPackage', "SQL Server Integration Service Package"); - public static readonly AgentServiceAccount: string = localize('jobStepDialog.agentServiceAccount', 'SQL Server Agent Service Account'); - public static readonly NextStep: string = localize('jobStepDialog.nextStep', 'Go to the next step'); - public static readonly QuitJobReportingSuccess: string = localize('jobStepDialog.quitJobSuccess', 'Quit the job reporting success'); - public static readonly QuitJobReportingFailure: string = localize('jobStepDialog.quitJobFailure', 'Quit the job reporting failure'); + public static readonly AgentServiceAccount: string = localize('jobStepDialog.agentServiceAccount', "SQL Server Agent Service Account"); + public static readonly NextStep: string = localize('jobStepDialog.nextStep', "Go to the next step"); + public static readonly QuitJobReportingSuccess: string = localize('jobStepDialog.quitJobSuccess', "Quit the job reporting success"); + public static readonly QuitJobReportingFailure: string = localize('jobStepDialog.quitJobFailure', "Quit the job reporting failure"); // Event Name strings private readonly NewStepDialog = 'NewStepDialogOpened'; diff --git a/extensions/agent/src/dialogs/notebookDialog.ts b/extensions/agent/src/dialogs/notebookDialog.ts index fad79c08df..a31bcd87aa 100644 --- a/extensions/agent/src/dialogs/notebookDialog.ts +++ b/extensions/agent/src/dialogs/notebookDialog.ts @@ -228,20 +228,20 @@ export class NotebookDialog extends AgentDialog { component: notebookPathFlexBox, title: TemplateNotebookTextBoxLabel, layout: { - info: localize('notebookDialog.templatePath', 'Select a notebook to schedule from PC') + info: localize('notebookDialog.templatePath', "Select a notebook to schedule from PC") } }, { component: this.targetDatabaseDropDown, title: TargetDatabaseDropdownLabel, layout: { - info: localize('notebookDialog.targetDatabaseInfo', 'Select a database to store all notebook job metadata and results') + info: localize('notebookDialog.targetDatabaseInfo', "Select a database to store all notebook job metadata and results") } }, { component: this.executeDatabaseDropDown, title: ExecuteDatabaseDropdownLabel, layout: { - info: localize('notebookDialog.executionDatabaseInfo', 'Select a database against which notebook queries will run') + info: localize('notebookDialog.executionDatabaseInfo', "Select a database against which notebook queries will run") } }], title: NotebookDetailsSeparatorTitle diff --git a/extensions/agent/src/dialogs/operatorDialog.ts b/extensions/agent/src/dialogs/operatorDialog.ts index 7d407dfa29..aca066e31b 100644 --- a/extensions/agent/src/dialogs/operatorDialog.ts +++ b/extensions/agent/src/dialogs/operatorDialog.ts @@ -16,32 +16,32 @@ const localize = nls.loadMessageBundle(); export class OperatorDialog extends AgentDialog { // Top level - private static readonly CreateDialogTitle: string = localize('createOperator.createOperator', 'Create Operator'); - private static readonly EditDialogTitle: string = localize('createOperator.editOperator', 'Edit Operator'); - private static readonly GeneralTabText: string = localize('createOperator.General', 'General'); - private static readonly NotificationsTabText: string = localize('createOperator.Notifications', 'Notifications'); + private static readonly CreateDialogTitle: string = localize('createOperator.createOperator', "Create Operator"); + private static readonly EditDialogTitle: string = localize('createOperator.editOperator', "Edit Operator"); + private static readonly GeneralTabText: string = localize('createOperator.General', "General"); + private static readonly NotificationsTabText: string = localize('createOperator.Notifications', "Notifications"); // General tab strings - private static readonly NameLabel: string = localize('createOperator.Name', 'Name'); - private static readonly EnabledCheckboxLabel: string = localize('createOperator.Enabled', 'Enabled'); - private static readonly EmailNameTextLabel: string = localize('createOperator.EmailName', 'E-mail Name'); - private static readonly PagerEmailNameTextLabel: string = localize('createOperator.PagerEmailName', 'Pager E-mail Name'); - private static readonly PagerMondayCheckBoxLabel: string = localize('createOperator.PagerMondayCheckBox', 'Monday'); - private static readonly PagerTuesdayCheckBoxLabel: string = localize('createOperator.PagerTuesdayCheckBox', 'Tuesday'); - private static readonly PagerWednesdayCheckBoxLabel: string = localize('createOperator.PagerWednesdayCheckBox', 'Wednesday'); - private static readonly PagerThursdayCheckBoxLabel: string = localize('createOperator.PagerThursdayCheckBox', 'Thursday'); - private static readonly PagerFridayCheckBoxLabel: string = localize('createOperator.PagerFridayCheckBox', 'Friday '); - private static readonly PagerSaturdayCheckBoxLabel: string = localize('createOperator.PagerSaturdayCheckBox', 'Saturday'); - private static readonly PagerSundayCheckBoxLabel: string = localize('createOperator.PagerSundayCheckBox', 'Sunday'); - private static readonly WorkdayBeginLabel: string = localize('createOperator.workdayBegin', 'Workday begin'); - private static readonly WorkdayEndLabel: string = localize('createOperator.workdayEnd', 'Workday end'); - private static readonly PagerDutyScheduleLabel: string = localize('createOperator.PagerDutySchedule', 'Pager on duty schedule'); + private static readonly NameLabel: string = localize('createOperator.Name', "Name"); + private static readonly EnabledCheckboxLabel: string = localize('createOperator.Enabled', "Enabled"); + private static readonly EmailNameTextLabel: string = localize('createOperator.EmailName', "E-mail Name"); + private static readonly PagerEmailNameTextLabel: string = localize('createOperator.PagerEmailName', "Pager E-mail Name"); + private static readonly PagerMondayCheckBoxLabel: string = localize('createOperator.PagerMondayCheckBox', "Monday"); + private static readonly PagerTuesdayCheckBoxLabel: string = localize('createOperator.PagerTuesdayCheckBox', "Tuesday"); + private static readonly PagerWednesdayCheckBoxLabel: string = localize('createOperator.PagerWednesdayCheckBox', "Wednesday"); + private static readonly PagerThursdayCheckBoxLabel: string = localize('createOperator.PagerThursdayCheckBox', "Thursday"); + private static readonly PagerFridayCheckBoxLabel: string = localize('createOperator.PagerFridayCheckBox', "Friday "); + private static readonly PagerSaturdayCheckBoxLabel: string = localize('createOperator.PagerSaturdayCheckBox', "Saturday"); + private static readonly PagerSundayCheckBoxLabel: string = localize('createOperator.PagerSundayCheckBox', "Sunday"); + private static readonly WorkdayBeginLabel: string = localize('createOperator.workdayBegin', "Workday begin"); + private static readonly WorkdayEndLabel: string = localize('createOperator.workdayEnd', "Workday end"); + private static readonly PagerDutyScheduleLabel: string = localize('createOperator.PagerDutySchedule', "Pager on duty schedule"); // Notifications tab strings - private static readonly AlertsTableLabel: string = localize('createOperator.AlertListHeading', 'Alert list'); - private static readonly AlertNameColumnLabel: string = localize('createOperator.AlertNameColumnLabel', 'Alert name'); - private static readonly AlertEmailColumnLabel: string = localize('createOperator.AlertEmailColumnLabel', 'E-mail'); - private static readonly AlertPagerColumnLabel: string = localize('createOperator.AlertPagerColumnLabel', 'Pager'); + private static readonly AlertsTableLabel: string = localize('createOperator.AlertListHeading', "Alert list"); + private static readonly AlertNameColumnLabel: string = localize('createOperator.AlertNameColumnLabel', "Alert name"); + private static readonly AlertEmailColumnLabel: string = localize('createOperator.AlertEmailColumnLabel', "E-mail"); + private static readonly AlertPagerColumnLabel: string = localize('createOperator.AlertPagerColumnLabel', "Pager"); // Event strings private readonly NewOperatorDialog = 'NewOperatorDialogOpened'; diff --git a/extensions/agent/src/dialogs/pickScheduleDialog.ts b/extensions/agent/src/dialogs/pickScheduleDialog.ts index 76986d3204..23c6e5c8c9 100644 --- a/extensions/agent/src/dialogs/pickScheduleDialog.ts +++ b/extensions/agent/src/dialogs/pickScheduleDialog.ts @@ -15,13 +15,13 @@ export class PickScheduleDialog { // TODO: localize // Top level - private readonly DialogTitle: string = localize('pickSchedule.jobSchedules', 'Job Schedules'); - private readonly OkButtonText: string = localize('pickSchedule.ok', 'OK'); - private readonly CancelButtonText: string = localize('pickSchedule.cancel', 'Cancel'); - private readonly SchedulesLabelText: string = localize('pickSchedule.availableSchedules', 'Available Schedules:'); - public static readonly ScheduleNameLabelText: string = localize('pickSchedule.scheduleName', 'Name'); - public static readonly SchedulesIDText: string = localize('pickSchedule.scheduleID', 'ID'); - public static readonly ScheduleDescription: string = localize('pickSchedule.description', 'Description'); + private readonly DialogTitle: string = localize('pickSchedule.jobSchedules', "Job Schedules"); + private readonly OkButtonText: string = localize('pickSchedule.ok', "OK"); + private readonly CancelButtonText: string = localize('pickSchedule.cancel', "Cancel"); + private readonly SchedulesLabelText: string = localize('pickSchedule.availableSchedules', "Available Schedules:"); + public static readonly ScheduleNameLabelText: string = localize('pickSchedule.scheduleName', "Name"); + public static readonly SchedulesIDText: string = localize('pickSchedule.scheduleID', "ID"); + public static readonly ScheduleDescription: string = localize('pickSchedule.description', "Description"); // UI Components diff --git a/extensions/agent/src/dialogs/proxyDialog.ts b/extensions/agent/src/dialogs/proxyDialog.ts index 14bf6254c1..ce44494f5c 100644 --- a/extensions/agent/src/dialogs/proxyDialog.ts +++ b/extensions/agent/src/dialogs/proxyDialog.ts @@ -15,26 +15,26 @@ const localize = nls.loadMessageBundle(); export class ProxyDialog extends AgentDialog { // Top level - private static readonly CreateDialogTitle: string = localize('createProxy.createProxy', 'Create Proxy'); - private static readonly EditDialogTitle: string = localize('createProxy.editProxy', 'Edit Proxy'); - private static readonly GeneralTabText: string = localize('createProxy.General', 'General'); + private static readonly CreateDialogTitle: string = localize('createProxy.createProxy', "Create Proxy"); + private static readonly EditDialogTitle: string = localize('createProxy.editProxy', "Edit Proxy"); + private static readonly GeneralTabText: string = localize('createProxy.General', "General"); // General tab strings - private static readonly ProxyNameTextBoxLabel: string = localize('createProxy.ProxyName', 'Proxy name'); - private static readonly CredentialNameTextBoxLabel: string = localize('createProxy.CredentialName', 'Credential name'); - private static readonly DescriptionTextBoxLabel: string = localize('createProxy.Description', 'Description'); - private static readonly SubsystemLabel: string = localize('createProxy.SubsystemName', 'Subsystem'); - private static readonly OperatingSystemLabel: string = localize('createProxy.OperatingSystem', 'Operating system (CmdExec)'); - private static readonly ReplicationSnapshotLabel: string = localize('createProxy.ReplicationSnapshot', 'Replication Snapshot'); - private static readonly ReplicationTransactionLogLabel: string = localize('createProxy.ReplicationTransactionLog', 'Replication Transaction-Log Reader'); - private static readonly ReplicationDistributorLabel: string = localize('createProxy.ReplicationDistributor', 'Replication Distributor'); - private static readonly ReplicationMergeLabel: string = localize('createProxy.ReplicationMerge', 'Replication Merge'); - private static readonly ReplicationQueueReaderLabel: string = localize('createProxy.ReplicationQueueReader', 'Replication Queue Reader'); - private static readonly SSASQueryLabel: string = localize('createProxy.SSASQueryLabel', 'SQL Server Analysis Services Query'); - private static readonly SSASCommandLabel: string = localize('createProxy.SSASCommandLabel', 'SQL Server Analysis Services Command'); - private static readonly SSISPackageLabel: string = localize('createProxy.SSISPackage', 'SQL Server Integration Services Package'); - private static readonly PowerShellLabel: string = localize('createProxy.PowerShell', 'PowerShell'); - private static readonly SubSystemHeadingLabel: string = localize('createProxy.subSystemHeading', 'Active to the following subsytems'); + private static readonly ProxyNameTextBoxLabel: string = localize('createProxy.ProxyName', "Proxy name"); + private static readonly CredentialNameTextBoxLabel: string = localize('createProxy.CredentialName', "Credential name"); + private static readonly DescriptionTextBoxLabel: string = localize('createProxy.Description', "Description"); + private static readonly SubsystemLabel: string = localize('createProxy.SubsystemName', "Subsystem"); + private static readonly OperatingSystemLabel: string = localize('createProxy.OperatingSystem', "Operating system (CmdExec)"); + private static readonly ReplicationSnapshotLabel: string = localize('createProxy.ReplicationSnapshot', "Replication Snapshot"); + private static readonly ReplicationTransactionLogLabel: string = localize('createProxy.ReplicationTransactionLog', "Replication Transaction-Log Reader"); + private static readonly ReplicationDistributorLabel: string = localize('createProxy.ReplicationDistributor', "Replication Distributor"); + private static readonly ReplicationMergeLabel: string = localize('createProxy.ReplicationMerge', "Replication Merge"); + private static readonly ReplicationQueueReaderLabel: string = localize('createProxy.ReplicationQueueReader', "Replication Queue Reader"); + private static readonly SSASQueryLabel: string = localize('createProxy.SSASQueryLabel', "SQL Server Analysis Services Query"); + private static readonly SSASCommandLabel: string = localize('createProxy.SSASCommandLabel', "SQL Server Analysis Services Command"); + private static readonly SSISPackageLabel: string = localize('createProxy.SSISPackage', "SQL Server Integration Services Package"); + private static readonly PowerShellLabel: string = localize('createProxy.PowerShell', "PowerShell"); + private static readonly SubSystemHeadingLabel: string = localize('createProxy.subSystemHeading', "Active to the following subsytems"); private readonly NewProxyDialog = 'NewProxyDialogOpened'; private readonly EditProxyDialog = 'EditProxyDialogOpened'; diff --git a/extensions/agent/src/dialogs/scheduleDialog.ts b/extensions/agent/src/dialogs/scheduleDialog.ts index 59e5a2f9b5..66645d9e54 100644 --- a/extensions/agent/src/dialogs/scheduleDialog.ts +++ b/extensions/agent/src/dialogs/scheduleDialog.ts @@ -14,11 +14,11 @@ const localize = nls.loadMessageBundle(); export class ScheduleDialog { // Top level - private readonly DialogTitle: string = localize('scheduleDialog.newSchedule', 'New Schedule'); - private readonly OkButtonText: string = localize('scheduleDialog.ok', 'OK'); - private readonly CancelButtonText: string = localize('scheduleDialog.cancel', 'Cancel'); - private readonly ScheduleNameText: string = localize('scheduleDialog.scheduleName', 'Schedule Name'); - private readonly SchedulesLabelText: string = localize('scheduleDialog.schedules', 'Schedules'); + private readonly DialogTitle: string = localize('scheduleDialog.newSchedule', "New Schedule"); + private readonly OkButtonText: string = localize('scheduleDialog.ok', "OK"); + private readonly CancelButtonText: string = localize('scheduleDialog.cancel', "Cancel"); + private readonly ScheduleNameText: string = localize('scheduleDialog.scheduleName', "Schedule Name"); + private readonly SchedulesLabelText: string = localize('scheduleDialog.schedules', "Schedules"); // UI Components private dialog: azdata.window.Dialog; diff --git a/extensions/agent/src/mainController.ts b/extensions/agent/src/mainController.ts index 78512b8918..147425eb15 100644 --- a/extensions/agent/src/mainController.ts +++ b/extensions/agent/src/mainController.ts @@ -105,10 +105,10 @@ export class MainController { AgentUtils.getAgentService().then(async (agentService) => { let result = await agentService.updateNotebook(templateMap.ownerUri, templateMap.notebookInfo.name, templateMap.notebookInfo, templateMap.tempPath); if (result.success) { - vscode.window.showInformationMessage(localize('agent.templateUploadSuccessful', 'Template updated successfully')); + vscode.window.showInformationMessage(localize('agent.templateUploadSuccessful', "Template updated successfully")); } else { - vscode.window.showInformationMessage(localize('agent.templateUploadError', 'Template update failure')); + vscode.window.showInformationMessage(localize('agent.templateUploadError', "Template update failure")); } }); @@ -170,7 +170,7 @@ export class MainController { let path: string; if (!ownerUri) { if (azdata.nb.activeNotebookEditor.document.isDirty || azdata.nb.activeNotebookEditor.document.isUntitled) { - vscode.window.showErrorMessage(localize('agent.unsavedFileSchedulingError', 'The notebook must be saved before being scheduled. Please save and then retry scheduling again.'), { modal: true }); + vscode.window.showErrorMessage(localize('agent.unsavedFileSchedulingError', "The notebook must be saved before being scheduled. Please save and then retry scheduling again."), { modal: true }); return; } path = azdata.nb.activeNotebookEditor.document.fileName; @@ -218,10 +218,10 @@ export class MainController { connectionNames.push(connections[i]); connectionDisplayString.push(currentConnectionString); } - connectionDisplayString.push(localize('agent.AddNewConnection', 'Add new connection')); - let connectionName = await vscode.window.showQuickPick(connectionDisplayString, { placeHolder: localize('agent.selectConnection', 'Select a connection') }); + connectionDisplayString.push(localize('agent.AddNewConnection', "Add new connection")); + let connectionName = await vscode.window.showQuickPick(connectionDisplayString, { placeHolder: localize('agent.selectConnection', "Select a connection") }); if (connectionDisplayString.indexOf(connectionName) !== -1) { - if (connectionName === localize('agent.AddNewConnection', 'Add new connection')) { + if (connectionName === localize('agent.AddNewConnection', "Add new connection")) { connection = await azdata.connection.openConnectionDialog(); } else { @@ -229,7 +229,7 @@ export class MainController { } } else { - vscode.window.showErrorMessage(localize('agent.selectValidConnection', 'Please select a valid connection'), { modal: true }); + vscode.window.showErrorMessage(localize('agent.selectValidConnection', "Please select a valid connection"), { modal: true }); } } return connection; diff --git a/extensions/azurecore/src/account-provider/azureAccountProvider.ts b/extensions/azurecore/src/account-provider/azureAccountProvider.ts index ae325648ae..3b07a96f95 100644 --- a/extensions/azurecore/src/account-provider/azureAccountProvider.ts +++ b/extensions/azurecore/src/account-provider/azureAccountProvider.ts @@ -150,7 +150,7 @@ export class AzureAccountProvider implements azdata.AccountProvider { private doIfInitialized(op: () => Promise): Promise { return this._isInitialized ? op() - : Promise.reject(localize('accountProviderNotInitialized', 'Account provider not initialized, cannot perform action')); + : Promise.reject(localize('accountProviderNotInitialized', "Account provider not initialized, cannot perform action")); } private getAccessTokens(account: AzureAccount, resource: azdata.AzureResource): Promise { @@ -235,8 +235,8 @@ export class AzureAccountProvider implements azdata.AccountProvider { // 2) Begin the acquiring token polling // 3) When that completes via callback, close the auto oauth let title = isAddAccount ? - localize('addAccount', 'Add {0} account', self._metadata.displayName) : - localize('refreshAccount', 'Refresh {0} account', self._metadata.displayName); + localize('addAccount', "Add {0} account", self._metadata.displayName) : + localize('refreshAccount', "Refresh {0} account", self._metadata.displayName); return azdata.accounts.beginAutoOAuthDeviceCode(self._metadata.id, title, oAuth.userCodeInfo.message, oAuth.userCodeInfo.userCode, oAuth.userCodeInfo.verificationUrl) .then(() => { return new Promise((resolve, reject) => { @@ -293,7 +293,7 @@ export class AzureAccountProvider implements azdata.AccountProvider { userId: userId, displayName: tenantDetails.length && tenantDetails[0].displayName ? tenantDetails[0].displayName - : localize('azureWorkAccountDisplayName', 'Work or school account') + : localize('azureWorkAccountDisplayName', "Work or school account") }; }); }); @@ -410,7 +410,7 @@ export class AzureAccountProvider implements azdata.AccountProvider { // Calculate the home tenant display name to use for the contextual display name let contextualDisplayName = msa - ? localize('microsoftAccountDisplayName', 'Microsoft Account') + ? localize('microsoftAccountDisplayName', "Microsoft Account") : tenants[0].displayName; // Calculate the account type diff --git a/extensions/azurecore/src/account-provider/azureAccountProviderService.ts b/extensions/azurecore/src/account-provider/azureAccountProviderService.ts index 9f93074575..1ab570ff55 100644 --- a/extensions/azurecore/src/account-provider/azureAccountProviderService.ts +++ b/extensions/azurecore/src/account-provider/azureAccountProviderService.ts @@ -78,11 +78,11 @@ export class AzureAccountProviderService implements vscode.Disposable { return Promise.all(promises) .then( () => { - let message = localize('clearTokenCacheSuccess', 'Token cache successfully cleared'); + let message = localize('clearTokenCacheSuccess', "Token cache successfully cleared"); vscode.window.showInformationMessage(`${constants.extensionName}: ${message}`); }, err => { - let message = localize('clearTokenCacheFailure', 'Failed to clear token cache'); + let message = localize('clearTokenCacheFailure', "Failed to clear token cache"); vscode.window.showErrorMessage(`${constants.extensionName}: ${message}: ${err}`); }); } diff --git a/extensions/azurecore/src/account-provider/providerSettings.ts b/extensions/azurecore/src/account-provider/providerSettings.ts index be0671c854..a793516ab7 100644 --- a/extensions/azurecore/src/account-provider/providerSettings.ts +++ b/extensions/azurecore/src/account-provider/providerSettings.ts @@ -13,7 +13,7 @@ const localize = nls.loadMessageBundle(); const publicAzureSettings: ProviderSettings = { configKey: 'enablePublicCloud', metadata: { - displayName: localize('publicCloudDisplayName', 'Azure'), + displayName: localize('publicCloudDisplayName', "Azure"), id: 'azurePublicCloud', settings: { host: 'https://login.microsoftonline.com/', diff --git a/extensions/azurecore/src/azureResource/commands.ts b/extensions/azurecore/src/azureResource/commands.ts index b5b8d1dfe3..0cded1421f 100644 --- a/extensions/azurecore/src/azureResource/commands.ts +++ b/extensions/azurecore/src/azureResource/commands.ts @@ -43,7 +43,7 @@ export function registerAzureResourceCommands(appContext: AppContext, tree: Azur subscriptions.push(...await subscriptionService.getSubscriptions(accountNode.account, new TokenCredentials(token, tokenType))); } } catch (error) { - throw new AzureResourceCredentialError(localize('azure.resource.selectsubscriptions.credentialError', 'Failed to get credential for account {0}. Please refresh the account.', this.account.key.accountId), error); + throw new AzureResourceCredentialError(localize('azure.resource.selectsubscriptions.credentialError', "Failed to get credential for account {0}. Please refresh the account.", this.account.key.accountId), error); } } diff --git a/extensions/azurecore/src/azureResource/providers/database/databaseTreeDataProvider.ts b/extensions/azurecore/src/azureResource/providers/database/databaseTreeDataProvider.ts index 19cb954a72..071d779369 100644 --- a/extensions/azurecore/src/azureResource/providers/database/databaseTreeDataProvider.ts +++ b/extensions/azurecore/src/azureResource/providers/database/databaseTreeDataProvider.ts @@ -101,5 +101,5 @@ export class AzureResourceDatabaseTreeDataProvider implements azureResource.IAzu private _extensionContext: ExtensionContext = undefined; private static readonly containerId = 'azure.resource.providers.database.treeDataProvider.databaseContainer'; - private static readonly containerLabel = localize('azure.resource.providers.database.treeDataProvider.databaseContainerLabel', 'SQL Databases'); + private static readonly containerLabel = localize('azure.resource.providers.database.treeDataProvider.databaseContainerLabel', "SQL Databases"); } diff --git a/extensions/azurecore/src/azureResource/providers/databaseServer/databaseServerTreeDataProvider.ts b/extensions/azurecore/src/azureResource/providers/databaseServer/databaseServerTreeDataProvider.ts index 804491cec9..5de167cdfa 100644 --- a/extensions/azurecore/src/azureResource/providers/databaseServer/databaseServerTreeDataProvider.ts +++ b/extensions/azurecore/src/azureResource/providers/databaseServer/databaseServerTreeDataProvider.ts @@ -101,5 +101,5 @@ export class AzureResourceDatabaseServerTreeDataProvider implements azureResourc private _extensionContext: ExtensionContext = undefined; private static readonly containerId = 'azure.resource.providers.databaseServer.treeDataProvider.databaseServerContainer'; - private static readonly containerLabel = localize('azure.resource.providers.databaseServer.treeDataProvider.databaseServerContainerLabel', 'SQL Servers'); + private static readonly containerLabel = localize('azure.resource.providers.databaseServer.treeDataProvider.databaseServerContainerLabel', "SQL Servers"); } diff --git a/extensions/azurecore/src/azureResource/resourceTreeNode.ts b/extensions/azurecore/src/azureResource/resourceTreeNode.ts index a3b8b179c7..887a33f56a 100644 --- a/extensions/azurecore/src/azureResource/resourceTreeNode.ts +++ b/extensions/azurecore/src/azureResource/resourceTreeNode.ts @@ -41,7 +41,7 @@ export class AzureResourceResourceTreeNode extends TreeNode { const children = await this._resourceService.getChildren(this.resourceNodeWithProviderId.resourceProviderId, this.resourceNodeWithProviderId.resourceNode); if (children.length === 0) { - return [AzureResourceMessageTreeNode.create(localize('azure.resource.resourceTreeNode.noResourcesLabel', 'No Resources found'), this)]; + return [AzureResourceMessageTreeNode.create(localize('azure.resource.resourceTreeNode.noResourcesLabel', "No Resources found"), this)]; } else { return children.map((child) => { // To make tree node's id unique, otherwise, treeModel.js would complain 'item already registered' diff --git a/extensions/azurecore/src/azureResource/tree/accountNotSignedInTreeNode.ts b/extensions/azurecore/src/azureResource/tree/accountNotSignedInTreeNode.ts index 65cf600ef7..4cc04c7640 100644 --- a/extensions/azurecore/src/azureResource/tree/accountNotSignedInTreeNode.ts +++ b/extensions/azurecore/src/azureResource/tree/accountNotSignedInTreeNode.ts @@ -47,5 +47,5 @@ export class AzureResourceAccountNotSignedInTreeNode extends TreeNode { return 'message_accountNotSignedIn'; } - private static readonly signInLabel = localize('azure.resource.tree.accountNotSignedInTreeNode.signInLabel', 'Sign in to Azure...'); + private static readonly signInLabel = localize('azure.resource.tree.accountNotSignedInTreeNode.signInLabel', "Sign in to Azure..."); } diff --git a/extensions/azurecore/src/azureResource/tree/accountTreeNode.ts b/extensions/azurecore/src/azureResource/tree/accountTreeNode.ts index 66317135cf..6e140cfad6 100644 --- a/extensions/azurecore/src/azureResource/tree/accountTreeNode.ts +++ b/extensions/azurecore/src/azureResource/tree/accountTreeNode.ts @@ -53,7 +53,7 @@ export class AzureResourceAccountTreeNode extends AzureResourceContainerTreeNode subscriptions.push(...(await this._subscriptionService.getSubscriptions(this.account, new TokenCredentials(token, tokenType)) || [])); } } catch (error) { - throw new AzureResourceCredentialError(localize('azure.resource.tree.accountTreeNode.credentialError', 'Failed to get credential for account {0}. Please refresh the account.', this.account.key.accountId), error); + throw new AzureResourceCredentialError(localize('azure.resource.tree.accountTreeNode.credentialError', "Failed to get credential for account {0}. Please refresh the account.", this.account.key.accountId), error); } this.updateCache(subscriptions); @@ -162,5 +162,5 @@ export class AzureResourceAccountTreeNode extends AzureResourceContainerTreeNode private _totalSubscriptionCount = 0; private _selectedSubscriptionCount = 0; - private static readonly noSubscriptionsLabel = localize('azure.resource.tree.accountTreeNode.noSubscriptionsLabel', 'No Subscriptions found.'); + private static readonly noSubscriptionsLabel = localize('azure.resource.tree.accountTreeNode.noSubscriptionsLabel', "No Subscriptions found."); } \ No newline at end of file diff --git a/extensions/azurecore/src/azureResource/tree/subscriptionTreeNode.ts b/extensions/azurecore/src/azureResource/tree/subscriptionTreeNode.ts index fb9f1bc420..c166a81bdf 100644 --- a/extensions/azurecore/src/azureResource/tree/subscriptionTreeNode.ts +++ b/extensions/azurecore/src/azureResource/tree/subscriptionTreeNode.ts @@ -91,5 +91,5 @@ export class AzureResourceSubscriptionTreeNode extends AzureResourceContainerTre private _id: string = undefined; - private static readonly noResourcesLabel = localize('azure.resource.tree.subscriptionTreeNode.noResourcesLabel', 'No Resources found.'); + private static readonly noResourcesLabel = localize('azure.resource.tree.subscriptionTreeNode.noResourcesLabel', "No Resources found."); } diff --git a/extensions/azurecore/src/azureResource/tree/treeProvider.ts b/extensions/azurecore/src/azureResource/tree/treeProvider.ts index db40281163..4569fc433e 100644 --- a/extensions/azurecore/src/azureResource/tree/treeProvider.ts +++ b/extensions/azurecore/src/azureResource/tree/treeProvider.ts @@ -61,7 +61,7 @@ export class AzureResourceTreeProvider implements TreeDataProvider, IA if (!this.loadingAccountsPromise) { this.loadingAccountsPromise = this.loadAccounts(); } - return [AzureResourceMessageTreeNode.create(localize('azure.resource.tree.treeProvider.loadingLabel', 'Loading ...'), undefined)]; + return [AzureResourceMessageTreeNode.create(localize('azure.resource.tree.treeProvider.loadingLabel', "Loading ..."), undefined)]; } try { diff --git a/extensions/azurecore/src/azureResource/utils.ts b/extensions/azurecore/src/azureResource/utils.ts index c629193b1b..45c3d90fc8 100644 --- a/extensions/azurecore/src/azureResource/utils.ts +++ b/extensions/azurecore/src/azureResource/utils.ts @@ -14,7 +14,7 @@ export function getErrorMessage(error: Error | string): string { export class AzureResourceErrorMessageUtil { public static getErrorMessage(error: Error | string): string { - return localize('azure.resource.error', 'Error: {0}', getErrorMessage(error)); + return localize('azure.resource.error', "Error: {0}", getErrorMessage(error)); } } diff --git a/extensions/azurecore/src/constants.ts b/extensions/azurecore/src/constants.ts index 5b10d959dc..1c2cb37a92 100644 --- a/extensions/azurecore/src/constants.ts +++ b/extensions/azurecore/src/constants.ts @@ -14,4 +14,4 @@ export enum BuiltInCommands { SetContext = 'setContext' } -export const extensionName = localize('extensionName', 'Azure Accounts'); +export const extensionName = localize('extensionName', "Azure Accounts"); diff --git a/extensions/big-data-cluster/src/bigDataCluster/dialog/addControllerDialog.ts b/extensions/big-data-cluster/src/bigDataCluster/dialog/addControllerDialog.ts index ab6dc54c21..22ce084a45 100644 --- a/extensions/big-data-cluster/src/bigDataCluster/dialog/addControllerDialog.ts +++ b/extensions/big-data-cluster/src/bigDataCluster/dialog/addControllerDialog.ts @@ -117,13 +117,13 @@ export class AddControllerDialog { } private createDialog(): void { - this.dialog = azdata.window.createModelViewDialog(localize('textAddNewController', 'Add New Controller')); + this.dialog = azdata.window.createModelViewDialog(localize('textAddNewController', "Add New Controller")); this.dialog.registerContent(async view => { this.uiModelBuilder = view.modelBuilder; this.urlInputBox = this.uiModelBuilder.inputBox() .withProperties({ - placeHolder: localize('textUrlLower', 'url'), + placeHolder: localize('textUrlLower', "url"), value: this.model.prefilledUrl }).component(); this.authDropdown = this.uiModelBuilder.dropDown().withProperties({ @@ -134,19 +134,19 @@ export class AddControllerDialog { this.authDropdown.onValueChanged(e => this.onAuthChanged()); this.usernameInputBox = this.uiModelBuilder.inputBox() .withProperties({ - placeHolder: localize('textUsernameLower', 'username'), + placeHolder: localize('textUsernameLower', "username"), value: this.model.prefilledUsername }).component(); this.passwordInputBox = this.uiModelBuilder.inputBox() .withProperties({ - placeHolder: localize('textPasswordLower', 'password'), + placeHolder: localize('textPasswordLower', "password"), inputType: 'password', value: this.model.prefilledPassword }) .component(); this.rememberPwCheckBox = this.uiModelBuilder.checkBox() .withProperties({ - label: localize('textRememberPassword', 'Remember Password'), + label: localize('textRememberPassword', "Remember Password"), checked: this.model.prefilledRememberPassword }).component(); @@ -155,19 +155,19 @@ export class AddControllerDialog { components: [ { component: this.urlInputBox, - title: localize('textUrlCapital', 'URL'), + title: localize('textUrlCapital', "URL"), required: true }, { component: this.authDropdown, - title: localize('textAuthCapital', 'Authentication type'), + title: localize('textAuthCapital', "Authentication type"), required: true }, { component: this.usernameInputBox, - title: localize('textUsernameCapital', 'Username'), + title: localize('textUsernameCapital', "Username"), required: false }, { component: this.passwordInputBox, - title: localize('textPasswordCapital', 'Password'), + title: localize('textPasswordCapital', "Password"), required: false }, { component: this.rememberPwCheckBox, @@ -182,8 +182,8 @@ export class AddControllerDialog { this.dialog.registerCloseValidator(async () => await this.validate()); this.dialog.cancelButton.onClick(async () => await this.cancel()); - this.dialog.okButton.label = localize('textAdd', 'Add'); - this.dialog.cancelButton.label = localize('textCancel', 'Cancel'); + this.dialog.okButton.label = localize('textAdd', "Add"); + this.dialog.cancelButton.label = localize('textCancel', "Cancel"); } private get authValue(): AuthType { diff --git a/extensions/big-data-cluster/src/bigDataCluster/dialog/bdcDashboard.ts b/extensions/big-data-cluster/src/bigDataCluster/dialog/bdcDashboard.ts index 2999b2c1e0..0c4c25586f 100644 --- a/extensions/big-data-cluster/src/bigDataCluster/dialog/bdcDashboard.ts +++ b/extensions/big-data-cluster/src/bigDataCluster/dialog/bdcDashboard.ts @@ -125,7 +125,7 @@ export class BdcDashboard { // Overview nav item - this will be the initial page const overviewNavItemDiv = modelView.modelBuilder.divContainer().withLayout({ width: navWidth, height: '30px' }).withProperties({ clickable: true }).component(); - const overviewNavItemText = modelView.modelBuilder.text().withProperties({ value: localize('bdc.dashboard.overviewNavTitle', 'Big data cluster overview') }).component(); + const overviewNavItemText = modelView.modelBuilder.text().withProperties({ value: localize('bdc.dashboard.overviewNavTitle', "Big data cluster overview") }).component(); overviewNavItemText.updateCssStyles(selectedTabCss); overviewNavItemDiv.addItem(overviewNavItemText, { CSSStyles: { 'user-select': 'text' } }); const overviewPage = new BdcDashboardOverviewPage(this, this.model).create(modelView); @@ -145,7 +145,7 @@ export class BdcDashboard { }); this.navContainer.addItem(overviewNavItemDiv, { flex: '0 0 auto' }); - const clusterDetailsHeader = modelView.modelBuilder.text().withProperties({ value: localize('bdc.dashboard.clusterDetails', 'Cluster Details'), CSSStyles: { 'margin-block-end': '0px' } }).component(); + const clusterDetailsHeader = modelView.modelBuilder.text().withProperties({ value: localize('bdc.dashboard.clusterDetails', "Cluster Details"), CSSStyles: { 'margin-block-end': '0px' } }).component(); this.navContainer.addItem(clusterDetailsHeader, { CSSStyles: { 'user-select': 'none', 'font-weight': 'bold', 'border-bottom': 'solid 1px #ccc', 'margin-bottom': '10px' } }); await modelView.initializeModel(rootContainer); diff --git a/extensions/big-data-cluster/src/bigDataCluster/tree/addControllerNode.ts b/extensions/big-data-cluster/src/bigDataCluster/tree/addControllerNode.ts index ec53a4f2b4..28d5e34078 100644 --- a/extensions/big-data-cluster/src/bigDataCluster/tree/addControllerNode.ts +++ b/extensions/big-data-cluster/src/bigDataCluster/tree/addControllerNode.ts @@ -28,7 +28,7 @@ export class AddControllerNode extends TreeNode { public getTreeItem(): vscode.TreeItem { let item = new vscode.TreeItem(this.label, vscode.TreeItemCollapsibleState.None); item.command = { - title: localize('textConnectToController', 'Connect to Controller'), + title: localize('textConnectToController', "Connect to Controller"), command: 'bigDataClusters.command.addController', arguments: [this] }; diff --git a/extensions/big-data-cluster/src/extension.ts b/extensions/big-data-cluster/src/extension.ts index 9ecf965234..27fd17a0c2 100644 --- a/extensions/big-data-cluster/src/extension.ts +++ b/extensions/big-data-cluster/src/extension.ts @@ -158,12 +158,12 @@ async function deleteBdcController(treeDataProvider: ControllerTreeDataProvider, let controllerNode = node as ControllerNode; let choices: { [id: string]: boolean } = {}; - choices[localize('textYes', 'Yes')] = true; - choices[localize('textNo', 'No')] = false; + choices[localize('textYes', "Yes")] = true; + choices[localize('textNo', "No")] = false; let options = { ignoreFocusOut: false, - placeHolder: localize('textConfirmDeleteController', 'Are you sure you want to delete \'{0}\'?', controllerNode.label) + placeHolder: localize('textConfirmDeleteController', "Are you sure you want to delete \'{0}\'?", controllerNode.label) }; let result = await vscode.window.showQuickPick(Object.keys(choices), options); diff --git a/extensions/cms/src/cmsResource/cmsResourceCommands.ts b/extensions/cms/src/cmsResource/cmsResourceCommands.ts index ae68a830f9..6b2f792514 100644 --- a/extensions/cms/src/cmsResource/cmsResourceCommands.ts +++ b/extensions/cms/src/cmsResource/cmsResourceCommands.ts @@ -44,7 +44,7 @@ export function registerCmsServerCommand(appContext: AppContext, tree: CmsResour tree.notifyNodeChanged(undefined); } else { // error out for same server name - let errorText = localize('cms.errors.sameCmsServerName', 'Central Management Server Group already has a Registered Server with the name {0}', registeredCmsServerName); + let errorText = localize('cms.errors.sameCmsServerName', "Central Management Server Group already has a Registered Server with the name {0}", registeredCmsServerName); appContext.apiWrapper.showErrorMessage(errorText); throw new Error(errorText); } @@ -85,10 +85,10 @@ export function deleteRegisteredServerCommand(appContext: AppContext, tree: CmsR return; } let result = await appContext.apiWrapper.showWarningMessage( - `${localize('cms.confirmDeleteServer', 'Are you sure you want to delete')} ${node.name}?`, - localize('cms.yes', 'Yes'), - localize('cms.no', 'No')); - if (result && result === localize('cms.yes', 'Yes')) { + `${localize('cms.confirmDeleteServer', "Are you sure you want to delete")} ${node.name}?`, + localize('cms.yes', "Yes"), + localize('cms.no', "No")); + if (result && result === localize('cms.yes', "Yes")) { await appContext.cmsUtils.removeRegisteredServer(node.name, node.relativePath, node.ownerUri); tree.notifyNodeChanged(node.parent); } @@ -102,10 +102,10 @@ export function addServerGroupCommand(appContext: AppContext, tree: CmsResourceT return; } // add a dialog for adding a group - let title = localize('cms.AddServerGroup', 'Add Server Group'); + let title = localize('cms.AddServerGroup', "Add Server Group"); let dialog = azdata.window.createModelViewDialog(title, 'cms.addServerGroup'); - dialog.okButton.label = localize('cms.OK', 'OK'); - dialog.cancelButton.label = localize('cms.Cancel', 'Cancel'); + dialog.okButton.label = localize('cms.OK', "OK"); + dialog.cancelButton.label = localize('cms.Cancel', "Cancel"); let mainTab = azdata.window.createTab(title); let serverGroupName: string = null; let serverDescription: string = null; @@ -126,10 +126,10 @@ export function addServerGroupCommand(appContext: AppContext, tree: CmsResourceT let formModel = view.modelBuilder.formContainer() .withFormItems([{ component: nameTextBox, - title: localize('cms.ServerGroupName', 'Server Group Name') + title: localize('cms.ServerGroupName', "Server Group Name") }, { component: descriptionTextBox, - title: localize('cms.ServerGroupDescription', 'Server Group Description') + title: localize('cms.ServerGroupDescription', "Server Group Description") }]).withLayout({ width: '100%' }).component(); await view.initializeModel(formModel); }); @@ -146,7 +146,7 @@ export function addServerGroupCommand(appContext: AppContext, tree: CmsResourceT tree.notifyNodeChanged(node); } else { // error out for same server group - const errorText = localize('cms.errors.sameServerGroupName', '{0} already has a Server Group with the name {1}', node.name, serverGroupName); + const errorText = localize('cms.errors.sameServerGroupName', "{0} already has a Server Group with the name {1}", node.name, serverGroupName); appContext.apiWrapper.showErrorMessage(errorText); throw new Error(errorText); } @@ -161,10 +161,10 @@ export function deleteServerGroupCommand(appContext: AppContext, tree: CmsResour return; } let result = await appContext.apiWrapper.showWarningMessage( - `${localize('cms.confirmDeleteGroup', 'Are you sure you want to delete')} ${node.name}?`, - localize('cms.yes', 'Yes'), - localize('cms.no', 'No')); - if (result && result === localize('cms.yes', 'Yes')) { + `${localize('cms.confirmDeleteGroup', "Are you sure you want to delete")} ${node.name}?`, + localize('cms.yes', "Yes"), + localize('cms.no', "No")); + if (result && result === localize('cms.yes', "Yes")) { await appContext.cmsUtils.removeServerGroup(node.name, node.relativePath, node.ownerUri); tree.notifyNodeChanged(node.parent); } diff --git a/extensions/cms/src/cmsResource/tree/cmsResourceEmptyTreeNode.ts b/extensions/cms/src/cmsResource/tree/cmsResourceEmptyTreeNode.ts index 458ba3a5f7..11a9c0072a 100644 --- a/extensions/cms/src/cmsResource/tree/cmsResourceEmptyTreeNode.ts +++ b/extensions/cms/src/cmsResource/tree/cmsResourceEmptyTreeNode.ts @@ -47,5 +47,5 @@ export class CmsResourceEmptyTreeNode extends TreeNode { return 'message_cmsTreeNode'; } - private static readonly addCmsServerLabel = localize('cms.resource.tree.CmsTreeNode.addCmsServerLabel', 'Add Central Management Server...'); + private static readonly addCmsServerLabel = localize('cms.resource.tree.CmsTreeNode.addCmsServerLabel', "Add Central Management Server..."); } diff --git a/extensions/cms/src/cmsResource/tree/cmsResourceTreeNode.ts b/extensions/cms/src/cmsResource/tree/cmsResourceTreeNode.ts index cdb377b436..4f5032e978 100644 --- a/extensions/cms/src/cmsResource/tree/cmsResourceTreeNode.ts +++ b/extensions/cms/src/cmsResource/tree/cmsResourceTreeNode.ts @@ -128,5 +128,5 @@ export class CmsResourceTreeNode extends CmsResourceTreeNodeBase { return this._serverGroupNodes; } - public static readonly noResourcesLabel = localize('cms.resource.cmsResourceTreeNode.noResourcesLabel', 'No resources found'); + public static readonly noResourcesLabel = localize('cms.resource.cmsResourceTreeNode.noResourcesLabel', "No resources found"); } diff --git a/extensions/cms/src/cmsResource/tree/treeProvider.ts b/extensions/cms/src/cmsResource/tree/treeProvider.ts index 89ce18b037..7046d306f3 100644 --- a/extensions/cms/src/cmsResource/tree/treeProvider.ts +++ b/extensions/cms/src/cmsResource/tree/treeProvider.ts @@ -98,5 +98,5 @@ export class CmsResourceTreeProvider implements TreeDataProvider, ICms public isSystemInitialized: boolean = false; private _onDidChangeTreeData = new EventEmitter(); - private static readonly loadingLabel = localize('cms.resource.tree.treeProvider.loadingLabel', 'Loading ...'); + private static readonly loadingLabel = localize('cms.resource.tree.treeProvider.loadingLabel', "Loading ..."); } diff --git a/extensions/cms/src/cmsUtils.ts b/extensions/cms/src/cmsUtils.ts index fc01e87047..f6c0ea8475 100644 --- a/extensions/cms/src/cmsUtils.ts +++ b/extensions/cms/src/cmsUtils.ts @@ -191,7 +191,7 @@ export class CmsUtils { if (connection && connection.options) { if (connection.options.server === parentServerName) { // error out for same server registration - let errorText = localize('cms.errors.sameServerUnderCms', 'You cannot add a shared registered server with the same name as the Configuration Server'); + let errorText = localize('cms.errors.sameServerUnderCms', "You cannot add a shared registered server with the same name as the Configuration Server"); this.showErrorMessage(errorText); throw new Error(errorText); } else { diff --git a/extensions/dacpac/src/wizard/api/basePage.ts b/extensions/dacpac/src/wizard/api/basePage.ts index 4eae7dd0b5..eb601b59a8 100644 --- a/extensions/dacpac/src/wizard/api/basePage.ts +++ b/extensions/dacpac/src/wizard/api/basePage.ts @@ -74,7 +74,7 @@ export abstract class BasePage { let srv = c.options.server; if (!usr) { - usr = localize('basePage.defaultUser', 'default'); + usr = localize('basePage.defaultUser', "default"); } let finalName = `${srv} (${usr})`; diff --git a/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts b/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts index 9373adb3ee..862b77dd6b 100644 --- a/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts +++ b/extensions/dacpac/src/wizard/dataTierApplicationWizard.ts @@ -110,13 +110,13 @@ export class DataTierApplicationWizard { this.model.serverId = this.connection.connectionId; this.wizard = azdata.window.createWizard('Data-tier Application Wizard'); - let selectOperationWizardPage = azdata.window.createWizardPage(localize('dacFx.selectOperationPageName', 'Select an Operation')); - let deployConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.deployConfigPageName', 'Select Deploy Dacpac Settings')); - let deployPlanWizardPage = azdata.window.createWizardPage(localize('dacFx.deployPlanPage', 'Review the deploy plan')); - let summaryWizardPage = azdata.window.createWizardPage(localize('dacFx.summaryPageName', 'Summary')); - let extractConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.extractConfigPageName', 'Select Extract Dacpac Settings')); - let importConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.importConfigPageName', 'Select Import Bacpac Settings')); - let exportConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.exportConfigPageName', 'Select Export Bacpac Settings')); + let selectOperationWizardPage = azdata.window.createWizardPage(localize('dacFx.selectOperationPageName', "Select an Operation")); + let deployConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.deployConfigPageName', "Select Deploy Dacpac Settings")); + let deployPlanWizardPage = azdata.window.createWizardPage(localize('dacFx.deployPlanPage', "Review the deploy plan")); + let summaryWizardPage = azdata.window.createWizardPage(localize('dacFx.summaryPageName', "Summary")); + let extractConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.extractConfigPageName', "Select Extract Dacpac Settings")); + let importConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.importConfigPageName', "Select Import Bacpac Settings")); + let exportConfigWizardPage = azdata.window.createWizardPage(localize('dacFx.exportConfigPageName', "Select Export Bacpac Settings")); this.pages.set(PageName.selectOperation, new Page(selectOperationWizardPage)); this.pages.set(PageName.deployConfig, new Page(deployConfigWizardPage)); @@ -201,27 +201,27 @@ export class DataTierApplicationWizard { public setDoneButton(operation: Operation): void { switch (operation) { case Operation.deploy: { - this.wizard.doneButton.label = localize('dacFx.deployButton', 'Deploy'); + this.wizard.doneButton.label = localize('dacFx.deployButton', "Deploy"); this.selectedOperation = Operation.deploy; break; } case Operation.extract: { - this.wizard.doneButton.label = localize('dacFx.extractButton', 'Extract'); + this.wizard.doneButton.label = localize('dacFx.extractButton', "Extract"); this.selectedOperation = Operation.extract; break; } case Operation.import: { - this.wizard.doneButton.label = localize('dacFx.importButton', 'Import'); + this.wizard.doneButton.label = localize('dacFx.importButton', "Import"); this.selectedOperation = Operation.import; break; } case Operation.export: { - this.wizard.doneButton.label = localize('dacFx.exportButton', 'Export'); + this.wizard.doneButton.label = localize('dacFx.exportButton', "Export"); this.selectedOperation = Operation.export; break; } case Operation.generateDeployScript: { - this.wizard.doneButton.label = localize('dacFx.generateScriptButton', 'Generate Script'); + this.wizard.doneButton.label = localize('dacFx.generateScriptButton', "Generate Script"); this.selectedOperation = Operation.generateDeployScript; break; } @@ -305,7 +305,7 @@ export class DataTierApplicationWizard { const service = await DataTierApplicationWizard.getService(msSqlProvider); const ownerUri = await azdata.connection.getUriForConnection(this.model.server.connectionId); this.wizard.message = { - text: localize('dacfx.scriptGeneratingMessage', 'You can view the status of script generation in the Tasks View once the wizard is closed. The generated script will open when complete.'), + text: localize('dacfx.scriptGeneratingMessage', "You can view the status of script generation in the Tasks View once the wizard is closed. The generated script will open when complete."), level: azdata.window.MessageLevel.Information, description: '' }; diff --git a/extensions/dacpac/src/wizard/pages/dacFxSummaryPage.ts b/extensions/dacpac/src/wizard/pages/dacFxSummaryPage.ts index 1cf20735e5..e9e753558f 100644 --- a/extensions/dacpac/src/wizard/pages/dacFxSummaryPage.ts +++ b/extensions/dacpac/src/wizard/pages/dacFxSummaryPage.ts @@ -33,7 +33,7 @@ export class DacFxSummaryPage extends BasePage { async start(): Promise { this.table = this.view.modelBuilder.table().withProperties({ - title: localize('dacfx.summaryTableTitle', 'Summary of settings') + title: localize('dacfx.summaryTableTitle', "Summary of settings") }).component(); this.loader = this.view.modelBuilder.loadingComponent().withItem(this.table).component(); this.form = this.view.modelBuilder.formContainer().withFormItems( @@ -76,11 +76,11 @@ export class DacFxSummaryPage extends BasePage { private populateTable() { let data = []; - let targetServer = localize('dacfx.targetServerName', 'Target Server'); - let targetDatabase = localize('dacfx.targetDatabaseName', 'Target Database'); - let sourceServer = localize('dacfx.sourceServerName', 'Source Server'); - let sourceDatabase = localize('dacfx.sourceDatabaseName', 'Source Database'); - let fileLocation = localize('dacfx.fileLocation', 'File Location'); + let targetServer = localize('dacfx.targetServerName', "Target Server"); + let targetDatabase = localize('dacfx.targetDatabaseName', "Target Database"); + let sourceServer = localize('dacfx.sourceServerName', "Source Server"); + let sourceDatabase = localize('dacfx.sourceDatabaseName', "Source Database"); + let fileLocation = localize('dacfx.fileLocation', "File Location"); switch (this.instance.selectedOperation) { case Operation.deploy: { @@ -94,7 +94,7 @@ export class DacFxSummaryPage extends BasePage { data = [ [sourceServer, this.model.serverName], [sourceDatabase, this.model.database], - [localize('dacfxExtract.version', 'Version'), this.model.version], + [localize('dacfxExtract.version', "Version"), this.model.version], [fileLocation, this.model.filePath]]; break; } @@ -125,11 +125,11 @@ export class DacFxSummaryPage extends BasePage { data: data, columns: [ { - value: localize('dacfx.settingColumn', 'Setting'), + value: localize('dacfx.settingColumn', "Setting"), cssClass: 'align-with-header' }, { - value: localize('dacfx.valueColumn', 'Value'), + value: localize('dacfx.valueColumn', "Value"), cssClass: 'align-with-header' }], width: 700, diff --git a/extensions/dacpac/src/wizard/pages/deployConfigPage.ts b/extensions/dacpac/src/wizard/pages/deployConfigPage.ts index 800667e75f..33423d84a1 100644 --- a/extensions/dacpac/src/wizard/pages/deployConfigPage.ts +++ b/extensions/dacpac/src/wizard/pages/deployConfigPage.ts @@ -37,7 +37,7 @@ export class DeployConfigPage extends DacFxConfigPage { let fileBrowserComponent = await this.createFileBrowser(); this.databaseComponent = await this.createDatabaseTextBox(localize('dacFx.databaseNameTextBox', "Database Name")); this.databaseDropdownComponent = await this.createDeployDatabaseDropdown(); - this.databaseDropdownComponent.title = localize('dacFx.databaseNameDropdown', 'Database Name'); + this.databaseDropdownComponent.title = localize('dacFx.databaseNameDropdown', "Database Name"); let radioButtons = await this.createRadiobuttons(); this.formBuilder = this.view.modelBuilder.formContainer() @@ -73,7 +73,7 @@ export class DeployConfigPage extends DacFxConfigPage { canSelectFolders: false, canSelectMany: false, defaultUri: vscode.Uri.file(this.getRootPath()), - openLabel: localize('dacFxDeploy.openFile', 'Open'), + openLabel: localize('dacFxDeploy.openFile', "Open"), filters: { 'dacpac Files': ['dacpac'], } @@ -99,7 +99,7 @@ export class DeployConfigPage extends DacFxConfigPage { return { component: this.fileTextBox, - title: localize('dacFxDeploy.fileTextboxTitle', 'File Location'), + title: localize('dacFxDeploy.fileTextboxTitle', "File Location"), actions: [this.fileButton] }; } @@ -108,13 +108,13 @@ export class DeployConfigPage extends DacFxConfigPage { let upgradeRadioButton = this.view.modelBuilder.radioButton() .withProperties({ name: 'updateExisting', - label: localize('dacFx.upgradeRadioButtonLabel', 'Upgrade Existing Database'), + label: localize('dacFx.upgradeRadioButtonLabel', "Upgrade Existing Database"), }).component(); let newRadioButton = this.view.modelBuilder.radioButton() .withProperties({ name: 'updateExisting', - label: localize('dacFx.newRadioButtonLabel', 'New Database'), + label: localize('dacFx.newRadioButtonLabel', "New Database"), }).component(); upgradeRadioButton.onDidClick(() => { @@ -158,7 +158,7 @@ export class DeployConfigPage extends DacFxConfigPage { return { component: flexRadioButtonsModel, - title: localize('dacFx.targetDatabaseRadioButtonsTitle', 'Target Database') + title: localize('dacFx.targetDatabaseRadioButtonsTitle', "Target Database") }; } diff --git a/extensions/dacpac/src/wizard/pages/deployPlanPage.ts b/extensions/dacpac/src/wizard/pages/deployPlanPage.ts index f8021a8bd1..b055475165 100644 --- a/extensions/dacpac/src/wizard/pages/deployPlanPage.ts +++ b/extensions/dacpac/src/wizard/pages/deployPlanPage.ts @@ -106,7 +106,7 @@ export class DeployPlanPage extends DacFxConfigPage { if (result.dataLossAlerts.size > 0) { // update message to list how many operations could result in data loss this.dataLossText.updateProperties({ - value: localize('dacfx.dataLossTextWithCount', '{0} of the deploy actions listed may result in data loss. Please ensure you have a backup or snapshot available in the event of an issue with the deployment.', result.dataLossAlerts.size) + value: localize('dacfx.dataLossTextWithCount', "{0} of the deploy actions listed may result in data loss. Please ensure you have a backup or snapshot available in the event of an issue with the deployment.", result.dataLossAlerts.size) }); this.dataLossCheckbox.enabled = true; } else { @@ -121,7 +121,7 @@ export class DeployPlanPage extends DacFxConfigPage { this.dataLossCheckbox = this.view.modelBuilder.checkBox() .withValidation(component => component.checked === true) .withProperties({ - label: localize('dacFx.dataLossCheckbox', 'Proceed despite possible data loss'), + label: localize('dacFx.dataLossCheckbox', "Proceed despite possible data loss"), }).component(); return { @@ -134,7 +134,7 @@ export class DeployPlanPage extends DacFxConfigPage { private async createNoDataLossText(): Promise { let noDataLossText = this.view.modelBuilder.text() .withProperties({ - value: localize('dacfx.noDataLossText', 'No data loss will occur from the listed deploy actions.') + value: localize('dacfx.noDataLossText', "No data loss will occur from the listed deploy actions.") }).component(); return { @@ -147,7 +147,7 @@ export class DeployPlanPage extends DacFxConfigPage { let dataLossComponent = await this.createDataLossCheckbox(); this.dataLossText = this.view.modelBuilder.text() .withProperties({ - value: localize('dacfx.dataLossText', 'The deploy actions may result in data loss. Please ensure you have a backup or snapshot available in the event of an issue with the deployment.') + value: localize('dacfx.dataLossText', "The deploy actions may result in data loss. Please ensure you have a backup or snapshot available in the event of an issue with the deployment.") }).component(); return { @@ -180,31 +180,31 @@ export class DeployPlanPage extends DacFxConfigPage { private getTableColumns(dataloss: boolean): azdata.TableColumn[] { let columns: azdata.TableColumn[] = [ { - value: localize('dacfx.operationColumn', 'Operation'), + value: localize('dacfx.operationColumn', "Operation"), width: 75, cssClass: 'align-with-header', - toolTip: localize('dacfx.operationTooltip', 'Operation(Create, Alter, Delete) that will occur during deployment') + toolTip: localize('dacfx.operationTooltip', "Operation(Create, Alter, Delete) that will occur during deployment") }, { - value: localize('dacfx.typeColumn', 'Type'), + value: localize('dacfx.typeColumn', "Type"), width: 100, cssClass: 'align-with-header', - toolTip: localize('dacfx.typeTooltip', 'Type of object that will be affected by deployment') + toolTip: localize('dacfx.typeTooltip', "Type of object that will be affected by deployment") }, { - value: localize('dacfx.objectColumn', 'Object'), + value: localize('dacfx.objectColumn', "Object"), width: 300, cssClass: 'align-with-header', - toolTip: localize('dacfx.objecTooltip', 'Name of object that will be affected by deployment') + toolTip: localize('dacfx.objecTooltip', "Name of object that will be affected by deployment") }]; if (dataloss) { columns.unshift( { - value: localize('dacfx.dataLossColumn', 'Data Loss'), + value: localize('dacfx.dataLossColumn', "Data Loss"), width: 50, cssClass: 'center-align', - toolTip: localize('dacfx.dataLossTooltip', 'Operations that may result in data loss are marked with a warning sign') + toolTip: localize('dacfx.dataLossTooltip', "Operations that may result in data loss are marked with a warning sign") }); } return columns; diff --git a/extensions/dacpac/src/wizard/pages/exportConfigPage.ts b/extensions/dacpac/src/wizard/pages/exportConfigPage.ts index d2e5226f8b..941859fda6 100644 --- a/extensions/dacpac/src/wizard/pages/exportConfigPage.ts +++ b/extensions/dacpac/src/wizard/pages/exportConfigPage.ts @@ -78,7 +78,7 @@ export class ExportConfigPage extends DacFxConfigPage { let fileUri = await vscode.window.showSaveDialog( { defaultUri: vscode.Uri.file(this.fileTextBox.value), - saveLabel: localize('dacfxExport.saveFile', 'Save'), + saveLabel: localize('dacfxExport.saveFile', "Save"), filters: { 'bacpac Files': ['bacpac'], } @@ -99,7 +99,7 @@ export class ExportConfigPage extends DacFxConfigPage { return { component: this.fileTextBox, - title: localize('dacFxExport.fileTextboxTitle', 'File Location'), + title: localize('dacFxExport.fileTextboxTitle', "File Location"), actions: [this.fileButton] }; } diff --git a/extensions/dacpac/src/wizard/pages/extractConfigPage.ts b/extensions/dacpac/src/wizard/pages/extractConfigPage.ts index 5b4deb6d03..ebdf3b716c 100644 --- a/extensions/dacpac/src/wizard/pages/extractConfigPage.ts +++ b/extensions/dacpac/src/wizard/pages/extractConfigPage.ts @@ -80,7 +80,7 @@ export class ExtractConfigPage extends DacFxConfigPage { let fileUri = await vscode.window.showSaveDialog( { defaultUri: vscode.Uri.file(this.fileTextBox.value), - saveLabel: localize('dacfxExtract.saveFile', 'Save'), + saveLabel: localize('dacfxExtract.saveFile', "Save"), filters: { 'dacpac Files': ['dacpac'], } @@ -101,7 +101,7 @@ export class ExtractConfigPage extends DacFxConfigPage { return { component: this.fileTextBox, - title: localize('dacFxExtract.fileTextboxTitle', 'File Location'), + title: localize('dacFxExtract.fileTextboxTitle', "File Location"), actions: [this.fileButton] }; } @@ -109,7 +109,7 @@ export class ExtractConfigPage extends DacFxConfigPage { private async createVersionTextBox(): Promise { this.versionTextBox = this.view.modelBuilder.inputBox().withProperties({ required: true, - ariaLabel: localize('dacFxExtract.versionTextBoxAriaLabel', 'Version') + ariaLabel: localize('dacFxExtract.versionTextBoxAriaLabel', "Version") }).component(); // default version @@ -122,7 +122,7 @@ export class ExtractConfigPage extends DacFxConfigPage { return { component: this.versionTextBox, - title: localize('dacFxExtract.versionTextboxTitle', 'Version (use x.x.x.x where x is a number)'), + title: localize('dacFxExtract.versionTextboxTitle', "Version (use x.x.x.x where x is a number)"), }; } } diff --git a/extensions/dacpac/src/wizard/pages/importConfigPage.ts b/extensions/dacpac/src/wizard/pages/importConfigPage.ts index c1a5b7dd05..b6751fc3e6 100644 --- a/extensions/dacpac/src/wizard/pages/importConfigPage.ts +++ b/extensions/dacpac/src/wizard/pages/importConfigPage.ts @@ -63,7 +63,7 @@ export class ImportConfigPage extends DacFxConfigPage { canSelectFolders: false, canSelectMany: false, defaultUri: vscode.Uri.file(this.getRootPath()), - openLabel: localize('dacFxImport.openFile', 'Open'), + openLabel: localize('dacFxImport.openFile', "Open"), filters: { 'bacpac Files': ['bacpac'], } @@ -89,7 +89,7 @@ export class ImportConfigPage extends DacFxConfigPage { return { component: this.fileTextBox, - title: localize('dacFxImport.fileTextboxTitle', 'File Location'), + title: localize('dacFxImport.fileTextboxTitle', "File Location"), actions: [this.fileButton] }; } diff --git a/extensions/dacpac/src/wizard/pages/selectOperationpage.ts b/extensions/dacpac/src/wizard/pages/selectOperationpage.ts index 68a216505e..09740f7ee9 100644 --- a/extensions/dacpac/src/wizard/pages/selectOperationpage.ts +++ b/extensions/dacpac/src/wizard/pages/selectOperationpage.ts @@ -67,7 +67,7 @@ export class SelectOperationPage extends BasePage { this.deployRadioButton = this.view.modelBuilder.radioButton() .withProperties({ name: 'selectedOperation', - label: localize('dacFx.deployRadioButtonLabel', 'Deploy a data-tier application .dacpac file to an instance of SQL Server [Deploy Dacpac]'), + label: localize('dacFx.deployRadioButtonLabel', "Deploy a data-tier application .dacpac file to an instance of SQL Server [Deploy Dacpac]"), }).component(); this.deployRadioButton.onDidClick(() => { @@ -94,7 +94,7 @@ export class SelectOperationPage extends BasePage { this.extractRadioButton = this.view.modelBuilder.radioButton() .withProperties({ name: 'selectedOperation', - label: localize('dacFx.extractRadioButtonLabel', 'Extract a data-tier application from an instance of SQL Server to a .dacpac file [Extract Dacpac]'), + label: localize('dacFx.extractRadioButtonLabel', "Extract a data-tier application from an instance of SQL Server to a .dacpac file [Extract Dacpac]"), }).component(); this.extractRadioButton.onDidClick(() => { @@ -119,7 +119,7 @@ export class SelectOperationPage extends BasePage { this.importRadioButton = this.view.modelBuilder.radioButton() .withProperties({ name: 'selectedOperation', - label: localize('dacFx.importRadioButtonLabel', 'Create a database from a .bacpac file [Import Bacpac]'), + label: localize('dacFx.importRadioButtonLabel', "Create a database from a .bacpac file [Import Bacpac]"), }).component(); this.importRadioButton.onDidClick(() => { @@ -144,7 +144,7 @@ export class SelectOperationPage extends BasePage { this.exportRadioButton = this.view.modelBuilder.radioButton() .withProperties({ name: 'selectedOperation', - label: localize('dacFx.exportRadioButtonLabel', 'Export the schema and data from a database to the logical .bacpac file format [Export Bacpac]'), + label: localize('dacFx.exportRadioButtonLabel', "Export the schema and data from a database to the logical .bacpac file format [Export Bacpac]"), }).component(); this.exportRadioButton.onDidClick(() => { diff --git a/extensions/import/src/services/telemetry.ts b/extensions/import/src/services/telemetry.ts index 13f9564430..0ed23ccb51 100644 --- a/extensions/import/src/services/telemetry.ts +++ b/extensions/import/src/services/telemetry.ts @@ -33,9 +33,9 @@ export class LanguageClientErrorHandler { showOnErrorPrompt(): void { // TODO add telemetry // Telemetry.sendTelemetryEvent('SqlToolsServiceCrash'); - let crashButtonText = localize('import.serviceCrashButton', 'Give Feedback'); + let crashButtonText = localize('import.serviceCrashButton', "Give Feedback"); vscode.window.showErrorMessage( - localize('serviceCrashMessage', 'service component could not start'), + localize('serviceCrashMessage', "service component could not start"), crashButtonText ).then(action => { if (action && action === crashButtonText) { diff --git a/extensions/import/src/wizard/flatFileWizard.ts b/extensions/import/src/wizard/flatFileWizard.ts index c509ba314d..ddec621066 100644 --- a/extensions/import/src/wizard/flatFileWizard.ts +++ b/extensions/import/src/wizard/flatFileWizard.ts @@ -42,18 +42,18 @@ export class FlatFileWizard { let connections = await azdata.connection.getActiveConnections(); if (!connections || connections.length === 0) { - vscode.window.showErrorMessage(localize('import.needConnection', 'Please connect to a server before using this wizard.')); + vscode.window.showErrorMessage(localize('import.needConnection', "Please connect to a server before using this wizard.")); return; } let currentConnection = await azdata.connection.getCurrentConnection(); model.serverId = currentConnection.connectionId; - this.wizard = azdata.window.createWizard(localize('flatFileImport.wizardName', 'Import flat file wizard')); - let page1 = azdata.window.createWizardPage(localize('flatFileImport.page1Name', 'Specify Input File')); - let page2 = azdata.window.createWizardPage(localize('flatFileImport.page2Name', 'Preview Data')); - let page3 = azdata.window.createWizardPage(localize('flatFileImport.page3Name', 'Modify Columns')); - let page4 = azdata.window.createWizardPage(localize('flatFileImport.page4Name', 'Summary')); + this.wizard = azdata.window.createWizard(localize('flatFileImport.wizardName', "Import flat file wizard")); + let page1 = azdata.window.createWizardPage(localize('flatFileImport.page1Name', "Specify Input File")); + let page2 = azdata.window.createWizardPage(localize('flatFileImport.page2Name', "Preview Data")); + let page3 = azdata.window.createWizardPage(localize('flatFileImport.page3Name', "Modify Columns")); + let page4 = azdata.window.createWizardPage(localize('flatFileImport.page4Name', "Summary")); let fileConfigPage: FileConfigPage; @@ -89,7 +89,7 @@ export class FlatFileWizard { }); - this.importAnotherFileButton = azdata.window.createButton(localize('flatFileImport.importNewFile', 'Import new file')); + this.importAnotherFileButton = azdata.window.createButton(localize('flatFileImport.importNewFile', "Import new file")); this.importAnotherFileButton.onClick(() => { //TODO replace this with proper cleanup for all the pages this.wizard.close(); diff --git a/extensions/import/src/wizard/pages/fileConfigPage.ts b/extensions/import/src/wizard/pages/fileConfigPage.ts index 1942ddaf5e..6516ec4c54 100644 --- a/extensions/import/src/wizard/pages/fileConfigPage.ts +++ b/extensions/import/src/wizard/pages/fileConfigPage.ts @@ -97,7 +97,7 @@ export class FileConfigPage extends ImportPage { return { component: this.serverDropdown, - title: localize('flatFileImport.serverDropdownTitle', 'Server the database is in') + title: localize('flatFileImport.serverDropdownTitle', "Server the database is in") }; } @@ -132,7 +132,7 @@ export class FileConfigPage extends ImportPage { return { component: this.databaseLoader, - title: localize('flatFileImport.databaseDropdownTitle', 'Database the table is created in') + title: localize('flatFileImport.databaseDropdownTitle', "Database the table is created in") }; } @@ -164,7 +164,7 @@ export class FileConfigPage extends ImportPage { required: true }).component(); this.fileButton = this.view.modelBuilder.button().withProperties({ - label: localize('flatFileImport.browseFiles', 'Browse'), + label: localize('flatFileImport.browseFiles', "Browse"), }).component(); this.fileButton.onDidClick(async (click) => { @@ -173,7 +173,7 @@ export class FileConfigPage extends ImportPage { canSelectFiles: true, canSelectFolders: false, canSelectMany: false, - openLabel: localize('flatFileImport.openFile', 'Open'), + openLabel: localize('flatFileImport.openFile', "Open"), filters: { 'CSV/TXT Files': ['csv', 'txt'], 'All Files': ['*'] @@ -213,7 +213,7 @@ export class FileConfigPage extends ImportPage { return { component: this.fileTextBox, - title: localize('flatFileImport.fileTextboxTitle', 'Location of the file to be imported'), + title: localize('flatFileImport.fileTextboxTitle', "Location of the file to be imported"), actions: [this.fileButton] }; } @@ -242,7 +242,7 @@ export class FileConfigPage extends ImportPage { return { component: this.tableNameTextBox, - title: localize('flatFileImport.tableTextboxTitle', 'New table name'), + title: localize('flatFileImport.tableTextboxTitle', "New table name"), }; } @@ -260,7 +260,7 @@ export class FileConfigPage extends ImportPage { return { component: this.schemaLoader, - title: localize('flatFileImport.schemaTextboxTitle', 'Table schema'), + title: localize('flatFileImport.schemaTextboxTitle', "Table schema"), }; } diff --git a/extensions/import/src/wizard/pages/modifyColumnsPage.ts b/extensions/import/src/wizard/pages/modifyColumnsPage.ts index d31c509e41..436a511ba4 100644 --- a/extensions/import/src/wizard/pages/modifyColumnsPage.ts +++ b/extensions/import/src/wizard/pages/modifyColumnsPage.ts @@ -107,20 +107,20 @@ export class ModifyColumnsPage extends ImportPage { async onPageEnter(): Promise { this.loading.loading = true; await this.populateTable(); - this.instance.changeNextButtonLabel(localize('flatFileImport.importData', 'Import Data')); + this.instance.changeNextButtonLabel(localize('flatFileImport.importData', "Import Data")); this.loading.loading = false; return true; } async onPageLeave(): Promise { - this.instance.changeNextButtonLabel(localize('flatFileImport.next', 'Next')); + this.instance.changeNextButtonLabel(localize('flatFileImport.next', "Next")); return undefined; } async cleanup(): Promise { delete this.model.proseColumns; - this.instance.changeNextButtonLabel(localize('flatFileImport.next', 'Next')); + this.instance.changeNextButtonLabel(localize('flatFileImport.next', "Next")); return true; } @@ -141,23 +141,23 @@ export class ModifyColumnsPage extends ImportPage { this.table.updateProperties({ height: 400, columns: [{ - displayName: localize('flatFileImport.columnName', 'Column Name'), + displayName: localize('flatFileImport.columnName', "Column Name"), valueType: azdata.DeclarativeDataType.string, width: '150px', isReadOnly: false }, { - displayName: localize('flatFileImport.dataType', 'Data Type'), + displayName: localize('flatFileImport.dataType', "Data Type"), valueType: azdata.DeclarativeDataType.editableCategory, width: '150px', isReadOnly: false, categoryValues: this.categoryValues }, { - displayName: localize('flatFileImport.primaryKey', 'Primary Key'), + displayName: localize('flatFileImport.primaryKey', "Primary Key"), valueType: azdata.DeclarativeDataType.boolean, width: '100px', isReadOnly: false }, { - displayName: localize('flatFileImport.allowNulls', 'Allow Nulls'), + displayName: localize('flatFileImport.allowNulls', "Allow Nulls"), valueType: azdata.DeclarativeDataType.boolean, isReadOnly: false, width: '100px' diff --git a/extensions/import/src/wizard/pages/prosePreviewPage.ts b/extensions/import/src/wizard/pages/prosePreviewPage.ts index 28b617eea7..9f8b89b49b 100644 --- a/extensions/import/src/wizard/pages/prosePreviewPage.ts +++ b/extensions/import/src/wizard/pages/prosePreviewPage.ts @@ -17,8 +17,8 @@ const localize = nls.loadMessageBundle(); export class ProsePreviewPage extends ImportPage { - private readonly successTitle: string = localize('flatFileImport.prosePreviewMessage', 'This operation analyzed the input file structure to generate the preview below for up to the first 50 rows.'); - private readonly failureTitle: string = localize('flatFileImport.prosePreviewMessageFail', 'This operation was unsuccessful. Please try a different input file.'); + private readonly successTitle: string = localize('flatFileImport.prosePreviewMessage', "This operation analyzed the input file structure to generate the preview below for up to the first 50 rows."); + private readonly failureTitle: string = localize('flatFileImport.prosePreviewMessageFail', "This operation was unsuccessful. Please try a different input file."); private table: azdata.TableComponent; private loading: azdata.LoadingComponent; @@ -38,7 +38,7 @@ export class ProsePreviewPage extends ImportPage { forceFitColumns: azdata.ColumnSizingMode.AutoFit }).component(); this.refresh = this.view.modelBuilder.button().withProperties({ - label: localize('flatFileImport.refresh', 'Refresh'), + label: localize('flatFileImport.refresh', "Refresh"), isFile: false }).component(); diff --git a/extensions/import/src/wizard/pages/summaryPage.ts b/extensions/import/src/wizard/pages/summaryPage.ts index 08e184b820..b810f0e1ec 100644 --- a/extensions/import/src/wizard/pages/summaryPage.ts +++ b/extensions/import/src/wizard/pages/summaryPage.ts @@ -33,11 +33,11 @@ export class SummaryPage extends ImportPage { [ { component: this.table, - title: localize('flatFileImport.importInformation', 'Import information') + title: localize('flatFileImport.importInformation', "Import information") }, { component: this.loading, - title: localize('flatFileImport.importStatus', 'Import status') + title: localize('flatFileImport.importStatus', "Import status") } ] ).component(); @@ -70,11 +70,11 @@ export class SummaryPage extends ImportPage { private populateTable() { this.table.updateProperties({ data: [ - [localize('flatFileImport.serverName', 'Server name'), this.model.server.providerName], - [localize('flatFileImport.databaseName', 'Database name'), this.model.database], - [localize('flatFileImport.tableName', 'Table name'), this.model.table], - [localize('flatFileImport.tableSchema', 'Table schema'), this.model.schema], - [localize('flatFileImport.fileImport', 'File to be imported'), this.model.filePath]], + [localize('flatFileImport.serverName', "Server name"), this.model.server.providerName], + [localize('flatFileImport.databaseName', "Database name"), this.model.database], + [localize('flatFileImport.tableName', "Table name"), this.model.table], + [localize('flatFileImport.tableSchema', "Table schema"), this.model.schema], + [localize('flatFileImport.fileImport', "File to be imported"), this.model.filePath]], columns: ['Object type', 'Name'], width: 600, height: 200 @@ -118,7 +118,7 @@ export class SummaryPage extends ImportPage { // TODO: When sql statements are in, implement this. //let rows = await this.getCountRowsInserted(); //if (rows < 0) { - updateText = localize('flatFileImport.success.norows', '✔ You have successfully inserted the data into a table.'); + updateText = localize('flatFileImport.success.norows', "✔ You have successfully inserted the data into a table."); //} else { //updateText = localize('flatFileImport.success.rows', '✔ You have successfully inserted {0} rows.', rows); //} diff --git a/extensions/mssql/src/localizedConstants.ts b/extensions/mssql/src/localizedConstants.ts index 1f4c834e46..b7b36303c6 100644 --- a/extensions/mssql/src/localizedConstants.ts +++ b/extensions/mssql/src/localizedConstants.ts @@ -7,7 +7,7 @@ import * as nls from 'vscode-nls'; const localize = nls.loadMessageBundle(); // HDFS Constants ////////////////////////////////////////////////////////// -export const msgMissingNodeContext = localize('msgMissingNodeContext', 'Node Command called without any node passed'); +export const msgMissingNodeContext = localize('msgMissingNodeContext', "Node Command called without any node passed"); // HDFS Manage Access Dialog Constants //////////////////////////////////// @@ -37,16 +37,16 @@ export const applyRecursivelyText = localize('mssql.applyRecursively', "Apply Re export function errorApplyingAclChanges(errMsg: string): string { return localize('mssql.errorApplyingAclChanges', "Unexpected error occurred while applying changes : {0}", errMsg); } // Spark Job Submission Constants ////////////////////////////////////////// -export const sparkLocalFileDestinationHint = localize('sparkJobSubmission.LocalFileDestinationHint', 'Local file will be uploaded to HDFS. '); -export const sparkJobSubmissionEndMessage = localize('sparkJobSubmission.SubmissionEndMessage', '.......................... Submit Spark Job End ............................'); -export function sparkJobSubmissionPrepareUploadingFile(localPath: string, clusterFolder: string): string { return localize('sparkJobSubmission.PrepareUploadingFile', 'Uploading file from local {0} to HDFS folder: {1}', localPath, clusterFolder); } -export const sparkJobSubmissionUploadingFileSucceeded = localize('sparkJobSubmission.UploadingFileSucceeded', 'Upload file to cluster Succeeded!'); -export function sparkJobSubmissionUploadingFileFailed(err: string): string { return localize('sparkJobSubmission.UploadingFileFailed', 'Upload file to cluster Failed. {0}', err); } -export function sparkJobSubmissionPrepareSubmitJob(jobName: string): string { return localize('sparkJobSubmission.PrepareSubmitJob', 'Submitting job {0} ... ', jobName); } -export const sparkJobSubmissionSparkJobHasBeenSubmitted = localize('sparkJobSubmission.SubmitJobFinished', 'The Spark Job has been submitted.'); -export function sparkJobSubmissionSubmitJobFailed(err: string): string { return localize('sparkJobSubmission.SubmitJobFailed', 'Spark Job Submission Failed. {0} ', err); } -export function sparkJobSubmissionYarnUIMessage(yarnUIURL: string): string { return localize('sparkJobSubmission.YarnUIMessage', 'YarnUI Url: {0} ', yarnUIURL); } -export function sparkJobSubmissionSparkHistoryLinkMessage(sparkHistoryLink: string): string { return localize('sparkJobSubmission.SparkHistoryLinkMessage', 'Spark History Url: {0} ', sparkHistoryLink); } -export function sparkJobSubmissionGetApplicationIdFailed(err: string): string { return localize('sparkJobSubmission.GetApplicationIdFailed', 'Get Application Id Failed. {0}', err); } -export function sparkJobSubmissionLocalFileNotExisted(path: string): string { return localize('sparkJobSubmission.LocalFileNotExisted', 'Local file {0} does not existed. ', path); } -export const sparkJobSubmissionNoSqlBigDataClusterFound = localize('sparkJobSubmission.NoSqlBigDataClusterFound', 'No SQL Server Big Data Cluster found.'); +export const sparkLocalFileDestinationHint = localize('sparkJobSubmission.LocalFileDestinationHint', "Local file will be uploaded to HDFS. "); +export const sparkJobSubmissionEndMessage = localize('sparkJobSubmission.SubmissionEndMessage', ".......................... Submit Spark Job End ............................"); +export function sparkJobSubmissionPrepareUploadingFile(localPath: string, clusterFolder: string): string { return localize('sparkJobSubmission.PrepareUploadingFile', "Uploading file from local {0} to HDFS folder: {1}", localPath, clusterFolder); } +export const sparkJobSubmissionUploadingFileSucceeded = localize('sparkJobSubmission.UploadingFileSucceeded', "Upload file to cluster Succeeded!"); +export function sparkJobSubmissionUploadingFileFailed(err: string): string { return localize('sparkJobSubmission.UploadingFileFailed', "Upload file to cluster Failed. {0}", err); } +export function sparkJobSubmissionPrepareSubmitJob(jobName: string): string { return localize('sparkJobSubmission.PrepareSubmitJob', "Submitting job {0} ... ", jobName); } +export const sparkJobSubmissionSparkJobHasBeenSubmitted = localize('sparkJobSubmission.SubmitJobFinished', "The Spark Job has been submitted."); +export function sparkJobSubmissionSubmitJobFailed(err: string): string { return localize('sparkJobSubmission.SubmitJobFailed', "Spark Job Submission Failed. {0} ", err); } +export function sparkJobSubmissionYarnUIMessage(yarnUIURL: string): string { return localize('sparkJobSubmission.YarnUIMessage', "YarnUI Url: {0} ", yarnUIURL); } +export function sparkJobSubmissionSparkHistoryLinkMessage(sparkHistoryLink: string): string { return localize('sparkJobSubmission.SparkHistoryLinkMessage', "Spark History Url: {0} ", sparkHistoryLink); } +export function sparkJobSubmissionGetApplicationIdFailed(err: string): string { return localize('sparkJobSubmission.GetApplicationIdFailed', "Get Application Id Failed. {0}", err); } +export function sparkJobSubmissionLocalFileNotExisted(path: string): string { return localize('sparkJobSubmission.LocalFileNotExisted', "Local file {0} does not existed. ", path); } +export const sparkJobSubmissionNoSqlBigDataClusterFound = localize('sparkJobSubmission.NoSqlBigDataClusterFound', "No SQL Server Big Data Cluster found."); diff --git a/extensions/mssql/src/main.ts b/extensions/mssql/src/main.ts index b2a2853db5..996893fae8 100644 --- a/extensions/mssql/src/main.ts +++ b/extensions/mssql/src/main.ts @@ -33,7 +33,7 @@ import { IconPathHelper } from './iconHelper'; import * as nls from 'vscode-nls'; const localize = nls.loadMessageBundle(); -const msgSampleCodeDataFrame = localize('msgSampleCodeDataFrame', 'This sample code loads the file into a data frame and shows the first 10 results.'); +const msgSampleCodeDataFrame = localize('msgSampleCodeDataFrame', "This sample code loads the file into a data frame and shows the first 10 results."); export async function activate(context: vscode.ExtensionContext): Promise { // lets make sure we support this platform first @@ -180,7 +180,7 @@ async function handleNewNotebookTask(oeContext?: azdata.ObjectExplorerContext, p } async function handleOpenNotebookTask(profile: azdata.IConnectionProfile): Promise { - let notebookFileTypeName = localize('notebookFileType', 'Notebooks'); + let notebookFileTypeName = localize('notebookFileType', "Notebooks"); let filter = {}; filter[notebookFileTypeName] = 'ipynb'; let uris = await vscode.window.showOpenDialog({ @@ -193,7 +193,7 @@ async function handleOpenNotebookTask(profile: azdata.IConnectionProfile): Promi // Verify this is a .ipynb file since this isn't actually filtered on Mac/Linux if (path.extname(fileUri.fsPath) !== '.ipynb') { // in the future might want additional supported types - vscode.window.showErrorMessage(localize('unsupportedFileType', 'Only .ipynb Notebooks are supported')); + vscode.window.showErrorMessage(localize('unsupportedFileType', "Only .ipynb Notebooks are supported")); } else { await azdata.nb.showNotebookDocument(fileUri, { connectionProfile: profile, diff --git a/extensions/mssql/src/objectExplorerNodeProvider/cancelableStream.ts b/extensions/mssql/src/objectExplorerNodeProvider/cancelableStream.ts index f1ef49a591..3530be2f8a 100644 --- a/extensions/mssql/src/objectExplorerNodeProvider/cancelableStream.ts +++ b/extensions/mssql/src/objectExplorerNodeProvider/cancelableStream.ts @@ -18,7 +18,7 @@ export class CancelableStream extends Transform { public _transform(chunk: any, encoding: string, callback: Function): void { if (this.cancelationToken && this.cancelationToken.token.isCancellationRequested) { - callback(new Error(localize('streamCanceled', 'Stream operation canceled by the user'))); + callback(new Error(localize('streamCanceled', "Stream operation canceled by the user"))); } else { this.push(chunk); callback(); diff --git a/extensions/mssql/src/objectExplorerNodeProvider/command.ts b/extensions/mssql/src/objectExplorerNodeProvider/command.ts index 3e96b0e30d..b79f39bb54 100644 --- a/extensions/mssql/src/objectExplorerNodeProvider/command.ts +++ b/extensions/mssql/src/objectExplorerNodeProvider/command.ts @@ -140,7 +140,7 @@ export abstract class ProgressCommand extends Command { const tokenSource = new vscode.CancellationTokenSource(); const statusBarItem = this.apiWrapper.createStatusBarItem(vscode.StatusBarAlignment.Left); disposables.push(vscode.Disposable.from(statusBarItem)); - statusBarItem.text = localize('progress', '$(sync~spin) {0}...', label); + statusBarItem.text = localize('progress', "$(sync~spin) {0}...", label); if (isCancelable) { const cancelCommandId = `cancelProgress${ProgressCommand.progressId++}`; disposables.push(this.apiWrapper.registerCommand(cancelCommandId, async () => { @@ -148,7 +148,7 @@ export abstract class ProgressCommand extends Command { tokenSource.cancel(); } })); - statusBarItem.tooltip = localize('cancelTooltip', 'Cancel'); + statusBarItem.tooltip = localize('cancelTooltip', "Cancel"); statusBarItem.command = cancelCommandId; } statusBarItem.show(); @@ -170,7 +170,7 @@ export abstract class ProgressCommand extends Command { private async confirmCancel(): Promise { return await this.prompter.promptSingle({ type: QuestionTypes.confirm, - message: localize('cancel', 'Cancel operation?'), + message: localize('cancel', "Cancel operation?"), default: true }); } @@ -179,7 +179,7 @@ export abstract class ProgressCommand extends Command { export function registerSearchServerCommand(appContext: AppContext): void { appContext.apiWrapper.registerCommand('mssql.searchServers', () => { vscode.window.showInputBox({ - placeHolder: localize('mssql.searchServers', 'Search Server Names') + placeHolder: localize('mssql.searchServers', "Search Server Names") }).then((stringSearch) => { if (stringSearch) { vscode.commands.executeCommand('registeredServers.searchServer', (stringSearch)); diff --git a/extensions/mssql/src/objectExplorerNodeProvider/connection.ts b/extensions/mssql/src/objectExplorerNodeProvider/connection.ts index 62430be6e4..677db5e191 100644 --- a/extensions/mssql/src/objectExplorerNodeProvider/connection.ts +++ b/extensions/mssql/src/objectExplorerNodeProvider/connection.ts @@ -84,15 +84,15 @@ export class SqlClusterConnection { private validate(connectionInfo: azdata.ConnectionInfo): void { if (!connectionInfo) { - throw new Error(localize('connectionInfoUndefined', 'ConnectionInfo is undefined.')); + throw new Error(localize('connectionInfoUndefined', "ConnectionInfo is undefined.")); } if (!connectionInfo.options) { - throw new Error(localize('connectionInfoOptionsUndefined', 'ConnectionInfo.options is undefined.')); + throw new Error(localize('connectionInfoOptionsUndefined', "ConnectionInfo.options is undefined.")); } let missingProperties: string[] = this.getMissingProperties(connectionInfo); if (missingProperties && missingProperties.length > 0) { throw new Error(localize('connectionInfoOptionsMissingProperties', - 'Some missing properties in connectionInfo.options: {0}', + "Some missing properties in connectionInfo.options: {0}", missingProperties.join(', '))); } } diff --git a/extensions/mssql/src/objectExplorerNodeProvider/hdfsCommands.ts b/extensions/mssql/src/objectExplorerNodeProvider/hdfsCommands.ts index dfd0f82505..5a80567f7f 100644 --- a/extensions/mssql/src/objectExplorerNodeProvider/hdfsCommands.ts +++ b/extensions/mssql/src/objectExplorerNodeProvider/hdfsCommands.ts @@ -78,7 +78,7 @@ export class UploadFilesCommand extends ProgressCommand { canSelectFiles: true, canSelectFolders: false, canSelectMany: true, - openLabel: localize('lblUploadFiles', 'Upload'), + openLabel: localize('lblUploadFiles', "Upload"), filters: filter }; let fileUris: vscode.Uri[] = await this.apiWrapper.showOpenDialog(options); @@ -86,8 +86,8 @@ export class UploadFilesCommand extends ProgressCommand { let files: IFile[] = await Promise.all(fileUris.map(uri => uri.fsPath).map(this.mapPathsToFiles())); await this.executeWithProgress( (cancelToken: vscode.CancellationTokenSource) => this.writeFiles(files, folderNode, cancelToken), - localize('uploading', 'Uploading files to HDFS'), true, - () => this.apiWrapper.showInformationMessage(localize('uploadCanceled', 'Upload operation was canceled'))); + localize('uploading', "Uploading files to HDFS"), true, + () => this.apiWrapper.showInformationMessage(localize('uploadCanceled', "Upload operation was canceled"))); if (context.type === constants.ObjectExplorerService) { let objectExplorerNode = await azdata.objectexplorer.getNode(context.explorerContext.connectionProfile.id, folderNode.getNodeInfo().nodePath); await objectExplorerNode.refresh(); @@ -96,7 +96,7 @@ export class UploadFilesCommand extends ProgressCommand { } } catch (err) { this.apiWrapper.showErrorMessage( - localize('uploadError', 'Error uploading files: {0}', utils.getErrorMessage(err, true))); + localize('uploadError', "Error uploading files: {0}", utils.getErrorMessage(err, true))); } } @@ -152,8 +152,8 @@ export class MkDirCommand extends ProgressCommand { if (fileName && fileName.length > 0) { await this.executeWithProgress( async (cancelToken: vscode.CancellationTokenSource) => this.mkDir(fileName, folderNode, cancelToken), - localize('makingDir', 'Creating directory'), true, - () => this.apiWrapper.showInformationMessage(localize('mkdirCanceled', 'Operation was canceled'))); + localize('makingDir', "Creating directory"), true, + () => this.apiWrapper.showInformationMessage(localize('mkdirCanceled', "Operation was canceled"))); if (context.type === constants.ObjectExplorerService) { let objectExplorerNode = await azdata.objectexplorer.getNode(context.explorerContext.connectionProfile.id, folderNode.getNodeInfo().nodePath); await objectExplorerNode.refresh(); @@ -162,7 +162,7 @@ export class MkDirCommand extends ProgressCommand { } } catch (err) { this.apiWrapper.showErrorMessage( - localize('mkDirError', 'Error on making directory: {0}', utils.getErrorMessage(err, true))); + localize('mkDirError', "Error on making directory: {0}", utils.getErrorMessage(err, true))); } } @@ -170,7 +170,7 @@ export class MkDirCommand extends ProgressCommand { return await this.prompter.promptSingle({ type: QuestionTypes.input, name: 'enterDirName', - message: localize('enterDirName', 'Enter directory name'), + message: localize('enterDirName', "Enter directory name"), default: '' }).then(confirmed => confirmed); } @@ -220,7 +220,7 @@ export class DeleteFilesCommand extends Command { } } catch (err) { this.apiWrapper.showErrorMessage( - localize('deleteError', 'Error on deleting files: {0}', utils.getErrorMessage(err, true))); + localize('deleteError', "Error on deleting files: {0}", utils.getErrorMessage(err, true))); } } @@ -234,7 +234,7 @@ export class DeleteFilesCommand extends Command { private async deleteFolder(node: FolderNode): Promise { if (node) { - let confirmed = await this.confirmDelete(localize('msgDeleteFolder', 'Are you sure you want to delete this folder and its contents?')); + let confirmed = await this.confirmDelete(localize('msgDeleteFolder', "Are you sure you want to delete this folder and its contents?")); if (confirmed) { // TODO prompt for recursive delete if non-empty? await node.delete(true); @@ -244,7 +244,7 @@ export class DeleteFilesCommand extends Command { private async deleteFile(node: FileNode): Promise { if (node) { - let confirmed = await this.confirmDelete(localize('msgDeleteFile', 'Are you sure you want to delete this file?')); + let confirmed = await this.confirmDelete(localize('msgDeleteFile', "Are you sure you want to delete this file?")); if (confirmed) { await node.delete(); } @@ -273,15 +273,15 @@ export class SaveFileCommand extends ProgressCommand { if (fileUri) { await this.executeWithProgress( (cancelToken: vscode.CancellationTokenSource) => this.doSaveAndOpen(fileUri, fileNode, cancelToken), - localize('saving', 'Saving HDFS Files'), true, - () => this.apiWrapper.showInformationMessage(localize('saveCanceled', 'Save operation was canceled'))); + localize('saving', "Saving HDFS Files"), true, + () => this.apiWrapper.showInformationMessage(localize('saveCanceled', "Save operation was canceled"))); } } else { this.apiWrapper.showErrorMessage(LocalizedConstants.msgMissingNodeContext); } } catch (err) { this.apiWrapper.showErrorMessage( - localize('saveError', 'Error on saving file: {0}', utils.getErrorMessage(err, true))); + localize('saveError', "Error on saving file: {0}", utils.getErrorMessage(err, true))); } } @@ -324,14 +324,14 @@ export class PreviewFileCommand extends ProgressCommand { await this.showNotebookDocument(fileName, connectionProfile, contents); } }, - localize('previewing', 'Generating preview'), + localize('previewing', "Generating preview"), false); } else { this.apiWrapper.showErrorMessage(LocalizedConstants.msgMissingNodeContext); } } catch (err) { this.apiWrapper.showErrorMessage( - localize('previewError', 'Error on previewing file: {0}', utils.getErrorMessage(err, true))); + localize('previewError', "Error on previewing file: {0}", utils.getErrorMessage(err, true))); } } @@ -388,7 +388,7 @@ export class CopyPathCommand extends Command { } } catch (err) { this.apiWrapper.showErrorMessage( - localize('copyPathError', 'Error on copying path: {0}', utils.getErrorMessage(err, true))); + localize('copyPathError', "Error on copying path: {0}", utils.getErrorMessage(err, true))); } } } diff --git a/extensions/mssql/src/objectExplorerNodeProvider/hdfsProvider.ts b/extensions/mssql/src/objectExplorerNodeProvider/hdfsProvider.ts index fd20632ac5..9d53ed330c 100644 --- a/extensions/mssql/src/objectExplorerNodeProvider/hdfsProvider.ts +++ b/extensions/mssql/src/objectExplorerNodeProvider/hdfsProvider.ts @@ -140,7 +140,7 @@ export class FolderNode extends HdfsFileSourceNode { }); } } catch (error) { - this.children = [ErrorNode.create(localize('errorExpanding', 'Error: {0}', utils.getErrorMessage(error)), this, error.statusCode)]; + this.children = [ErrorNode.create(localize('errorExpanding', "Error: {0}", utils.getErrorMessage(error)), this, error.statusCode)]; } } return this.children; @@ -242,7 +242,7 @@ export class ConnectionNode extends FolderNode { } public async delete(): Promise { - throw new Error(localize('errDeleteConnectionNode', 'Cannot delete a connection. Only subfolders and files can be deleted.')); + throw new Error(localize('errDeleteConnectionNode', "Cannot delete a connection. Only subfolders and files can be deleted.")); } async getTreeItem(): Promise { diff --git a/extensions/mssql/src/sparkFeature/dialog/dialogCommands.ts b/extensions/mssql/src/sparkFeature/dialog/dialogCommands.ts index f238b5a751..6f37b25177 100644 --- a/extensions/mssql/src/sparkFeature/dialog/dialogCommands.ts +++ b/extensions/mssql/src/sparkFeature/dialog/dialogCommands.ts @@ -99,7 +99,7 @@ export class OpenSparkJobSubmissionDialogCommand extends Command { } } - let errorMsg = localize('sparkJobSubmission.NoSqlSelected', 'No SQL Server is selected.'); + let errorMsg = localize('sparkJobSubmission.NoSqlSelected', "No SQL Server is selected."); if (!selectedHost) { throw new Error(errorMsg); } let sqlConnection = connectionMap.get(selectedHost); @@ -135,7 +135,7 @@ export class OpenSparkJobSubmissionDialogFromFileCommand extends Command { return; } } catch (err) { - this.apiWrapper.showErrorMessage(localize('sparkJobSubmission.GetFilePathFromSelectedNodeFailed', 'Error Get File Path: {0}', err)); + this.apiWrapper.showErrorMessage(localize('sparkJobSubmission.GetFilePathFromSelectedNodeFailed', "Error Get File Path: {0}", err)); return; } diff --git a/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkAdvancedTab.ts b/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkAdvancedTab.ts index 50baae83ef..0bc63894e7 100644 --- a/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkAdvancedTab.ts +++ b/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkAdvancedTab.ts @@ -23,7 +23,7 @@ export class SparkAdvancedTab { } constructor(private appContext: AppContext) { - this._tab = this.apiWrapper.createTab(localize('sparkJobSubmission.AdvancedTabName', 'ADVANCED')); + this._tab = this.apiWrapper.createTab(localize('sparkJobSubmission.AdvancedTabName', "ADVANCED")); this._tab.registerContent(async (modelView) => { let builder = modelView.modelBuilder; @@ -37,35 +37,35 @@ export class SparkAdvancedTab { this._referenceJARFilesInputBox = builder.inputBox().component(); formContainer.addFormItem({ component: this._referenceJARFilesInputBox, - title: localize('sparkJobSubmission.ReferenceJarList', 'Reference Jars') + title: localize('sparkJobSubmission.ReferenceJarList', "Reference Jars") }, Object.assign( { info: localize('sparkJobSubmission.ReferenceJarListToolTip', - 'Jars to be placed in executor working directory. The Jar path needs to be an HDFS Path. Multiple paths should be split by semicolon (;)') + "Jars to be placed in executor working directory. The Jar path needs to be an HDFS Path. Multiple paths should be split by semicolon (;)") }, parentLayout)); this._referencePyFilesInputBox = builder.inputBox().component(); formContainer.addFormItem({ component: this._referencePyFilesInputBox, - title: localize('sparkJobSubmission.ReferencePyList', 'Reference py Files') + title: localize('sparkJobSubmission.ReferencePyList', "Reference py Files") }, Object.assign( { info: localize('sparkJobSubmission.ReferencePyListTooltip', - 'Py Files to be placed in executor working directory. The file path needs to be an HDFS Path. Multiple paths should be split by semicolon(;)') + "Py Files to be placed in executor working directory. The file path needs to be an HDFS Path. Multiple paths should be split by semicolon(;)") }, parentLayout)); this._referenceFilesInputBox = builder.inputBox().component(); formContainer.addFormItem({ component: this._referenceFilesInputBox, - title: localize('sparkJobSubmission.ReferenceFilesList', 'Reference Files') + title: localize('sparkJobSubmission.ReferenceFilesList', "Reference Files") }, Object.assign({ info: localize('sparkJobSubmission.ReferenceFilesListTooltip', - 'Files to be placed in executor working directory. The file path needs to be an HDFS Path. Multiple paths should be split by semicolon(;)') + "Files to be placed in executor working directory. The file path needs to be an HDFS Path. Multiple paths should be split by semicolon(;)") }, parentLayout)); await modelView.initializeModel(formContainer.component()); diff --git a/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkConfigurationTab.ts b/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkConfigurationTab.ts index 40e8e355e9..f0b3ab9c5e 100644 --- a/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkConfigurationTab.ts +++ b/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkConfigurationTab.ts @@ -41,7 +41,7 @@ export class SparkConfigurationTab { // If path is specified, means the default source setting for this tab is HDFS file, otherwise, it would be local file. constructor(private _dataModel: SparkJobSubmissionModel, private appContext: AppContext, private _path?: string) { - this._tab = this.apiWrapper.createTab(localize('sparkJobSubmission.GeneralTabName', 'GENERAL')); + this._tab = this.apiWrapper.createTab(localize('sparkJobSubmission.GeneralTabName', "GENERAL")); this._tab.registerContent(async (modelView) => { let builder = modelView.modelBuilder; @@ -53,13 +53,13 @@ export class SparkConfigurationTab { let formContainer = builder.formContainer(); this._jobNameInputBox = builder.inputBox().withProperties({ - placeHolder: localize('sparkJobSubmission.JobNamePlaceHolder', 'Enter a name ...'), + placeHolder: localize('sparkJobSubmission.JobNamePlaceHolder', "Enter a name ..."), value: (this._path) ? fspath.basename(this._path) : '' }).component(); formContainer.addFormItem({ component: this._jobNameInputBox, - title: localize('sparkJobSubmission.JobName', 'Job Name'), + title: localize('sparkJobSubmission.JobName', "Job Name"), required: true }, parentLayout); @@ -68,7 +68,7 @@ export class SparkConfigurationTab { }).component(); formContainer.addFormItem({ component: this._sparkContextLabel, - title: localize('sparkJobSubmission.SparkCluster', 'Spark Cluster') + title: localize('sparkJobSubmission.SparkCluster', "Spark Cluster") }, parentLayout); this._fileSourceDropDown = builder.dropDown().withProperties({ @@ -102,7 +102,7 @@ export class SparkConfigurationTab { this._sparkSourceFileInputBox = builder.inputBox().withProperties({ required: true, - placeHolder: localize('sparkJobSubmission.FilePathPlaceHolder', 'Path to a .jar or .py file'), + placeHolder: localize('sparkJobSubmission.FilePathPlaceHolder', "Path to a .jar or .py file"), value: (this._path) ? this._path : '' }).component(); this._sparkSourceFileInputBox.onTextChanged(text => { @@ -111,7 +111,7 @@ export class SparkConfigurationTab { if (this._localUploadDestinationLabel) { if (text) { this._localUploadDestinationLabel.value = localize('sparkJobSubmission.LocalFileDestinationHintWithPath', - 'The selected local file will be uploaded to HDFS: {0}', this._dataModel.hdfsSubmitFilePath); + "The selected local file will be uploaded to HDFS: {0}", this._dataModel.hdfsSubmitFilePath); } else { this._localUploadDestinationLabel.value = LocalizedConstants.sparkLocalFileDestinationHint; } @@ -167,24 +167,24 @@ export class SparkConfigurationTab { formContainer.addFormItem({ component: this._sourceFlexContainerWithHint, - title: localize('sparkJobSubmission.MainFilePath', 'JAR/py File'), + title: localize('sparkJobSubmission.MainFilePath', "JAR/py File"), required: true }, parentLayout); this._mainClassInputBox = builder.inputBox().component(); formContainer.addFormItem({ component: this._mainClassInputBox, - title: localize('sparkJobSubmission.MainClass', 'Main Class'), + title: localize('sparkJobSubmission.MainClass', "Main Class"), required: true }, parentLayout); this._argumentsInputBox = builder.inputBox().component(); formContainer.addFormItem({ component: this._argumentsInputBox, - title: localize('sparkJobSubmission.Arguments', 'Arguments') + title: localize('sparkJobSubmission.Arguments', "Arguments") }, Object.assign( - { info: localize('sparkJobSubmission.ArgumentsTooltip', 'Command line arguments used in your main class, multiple arguments should be split by space.') }, + { info: localize('sparkJobSubmission.ArgumentsTooltip', "Command line arguments used in your main class, multiple arguments should be split by space.") }, parentLayout)); await modelView.initializeModel(formContainer.component()); @@ -193,7 +193,7 @@ export class SparkConfigurationTab { public async validate(): Promise { if (!this._jobNameInputBox.value) { - this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyJobName', 'Property Job Name is not specified.')); + this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyJobName', "Property Job Name is not specified.")); return false; } @@ -202,7 +202,7 @@ export class SparkConfigurationTab { this._dataModel.isMainSourceFromLocal = true; this._dataModel.updateModelByLocalPath(this._sparkSourceFileInputBox.value); } else { - this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyJARPYPath', 'Property JAR/py File is not specified.')); + this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyJARPYPath', "Property JAR/py File is not specified.")); return false; } } else { @@ -210,13 +210,13 @@ export class SparkConfigurationTab { this._dataModel.isMainSourceFromLocal = false; this._dataModel.hdfsSubmitFilePath = this._sparkSourceFileInputBox.value; } else { - this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyJARPYPath', 'Property JAR/py File is not specified.')); + this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyJARPYPath', "Property JAR/py File is not specified.")); return false; } } if (this._dataModel.isJarFile() && !this._mainClassInputBox.value) { - this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyMainClass', 'Property Main Class is not specified.')); + this._dataModel.showDialogError(localize('sparkJobSubmission.NotSpecifyMainClass', "Property Main Class is not specified.")); return false; } @@ -231,11 +231,11 @@ export class SparkConfigurationTab { try { let isFileExisted = await this._dataModel.isClusterFileExisted(this._dataModel.hdfsSubmitFilePath); if (!isFileExisted) { - this._dataModel.showDialogError(localize('sparkJobSubmission.HDFSFileNotExistedWithPath', '{0} does not exist in Cluster or exception thrown. ', this._dataModel.hdfsSubmitFilePath)); + this._dataModel.showDialogError(localize('sparkJobSubmission.HDFSFileNotExistedWithPath', "{0} does not exist in Cluster or exception thrown. ", this._dataModel.hdfsSubmitFilePath)); return false; } } catch (error) { - this._dataModel.showDialogError(localize('sparkJobSubmission.HDFSFileNotExisted', 'The specified HDFS file does not exist. ')); + this._dataModel.showDialogError(localize('sparkJobSubmission.HDFSFileNotExisted', "The specified HDFS file does not exist. ")); return false; } } @@ -261,7 +261,7 @@ export class SparkConfigurationTab { canSelectFiles: true, canSelectFolders: false, canSelectMany: false, - openLabel: localize('sparkSelectLocalFile', 'Select'), + openLabel: localize('sparkSelectLocalFile', "Select"), filters: filter }; @@ -272,7 +272,7 @@ export class SparkConfigurationTab { return undefined; } catch (err) { - this.apiWrapper.showErrorMessage(localize('sparkJobSubmission.SelectFileError', 'Error in locating the file due to Error: {0}', utils.getErrorMessage(err))); + this.apiWrapper.showErrorMessage(localize('sparkJobSubmission.SelectFileError', "Error in locating the file due to Error: {0}", utils.getErrorMessage(err))); return undefined; } } diff --git a/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkJobSubmissionDialog.ts b/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkJobSubmissionDialog.ts index be89fca679..bb159e088b 100644 --- a/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkJobSubmissionDialog.ts +++ b/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkJobSubmissionDialog.ts @@ -36,12 +36,12 @@ export class SparkJobSubmissionDialog { private outputChannel: vscode.OutputChannel) { if (!this.sqlClusterConnection || !this.appContext || !this.outputChannel) { throw new Error(localize('sparkJobSubmission.SparkJobSubmissionDialogInitializeError', - 'Parameters for SparkJobSubmissionDialog is illegal')); + "Parameters for SparkJobSubmissionDialog is illegal")); } } public async openDialog(path?: string): Promise { - this._dialog = this.apiWrapper.createDialog(localize('sparkJobSubmission.DialogTitleNewJob', 'New Job')); + this._dialog = this.apiWrapper.createDialog(localize('sparkJobSubmission.DialogTitleNewJob', "New Job")); this._dataModel = new SparkJobSubmissionModel(this.sqlClusterConnection, this._dialog, this.appContext); @@ -50,9 +50,9 @@ export class SparkJobSubmissionDialog { this._dialog.content = [this._sparkConfigTab.tab, this._sparkAdvancedTab.tab]; - this._dialog.cancelButton.label = localize('sparkJobSubmission.DialogCancelButton', 'Cancel'); + this._dialog.cancelButton.label = localize('sparkJobSubmission.DialogCancelButton', "Cancel"); - this._dialog.okButton.label = localize('sparkJobSubmission.DialogSubmitButton', 'Submit'); + this._dialog.okButton.label = localize('sparkJobSubmission.DialogSubmitButton', "Submit"); this._dialog.okButton.onClick(() => this.onClickOk()); this._dialog.registerCloseValidator(() => this.handleValidate()); @@ -61,7 +61,7 @@ export class SparkJobSubmissionDialog { } private onClickOk(): void { - let jobName = localize('sparkJobSubmission.SubmitSparkJob', '{0} Spark Job Submission:', + let jobName = localize('sparkJobSubmission.SubmitSparkJob', "{0} Spark Job Submission:", this._sparkConfigTab.getInputValues()[0]); this.apiWrapper.startBackgroundOperation( { @@ -80,7 +80,7 @@ export class SparkJobSubmissionDialog { try { this.outputChannel.show(); let msg = localize('sparkJobSubmission.SubmissionStartMessage', - '.......................... Submit Spark Job Start ..........................'); + ".......................... Submit Spark Job Start .........................."); this.outputChannel.appendLine(msg); // 1. Upload local file to HDFS for local source. if (this._dataModel.isMainSourceFromLocal) { diff --git a/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkJobSubmissionModel.ts b/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkJobSubmissionModel.ts index 09fb086bfb..4af7db3a14 100644 --- a/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkJobSubmissionModel.ts +++ b/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkJobSubmissionModel.ts @@ -42,7 +42,7 @@ export class SparkJobSubmissionModel { if (!this._sqlClusterConnection || !this._dialog || !this._appContext) { throw new Error(localize('sparkJobSubmission.SparkJobSubmissionModelInitializeError', - 'Parameters for SparkJobSubmissionModel is illegal')); + "Parameters for SparkJobSubmissionModel is illegal")); } this._dialogService = new SparkJobSubmissionService(requestService); @@ -89,7 +89,7 @@ export class SparkJobSubmissionModel { public async submitBatchJobByLivy(submissionArgs: SparkJobSubmissionInput): Promise { try { if (!submissionArgs) { - return Promise.reject(localize('sparkJobSubmission.submissionArgsIsInvalid', 'submissionArgs is invalid. ')); + return Promise.reject(localize('sparkJobSubmission.submissionArgsIsInvalid', "submissionArgs is invalid. ")); } submissionArgs.setSparkClusterInfo(this._sqlClusterConnection); @@ -104,11 +104,11 @@ export class SparkJobSubmissionModel { // TODO: whether set timeout as 15000ms try { if (!submissionArgs) { - return Promise.reject(localize('sparkJobSubmission.submissionArgsIsInvalid', 'submissionArgs is invalid. ')); + return Promise.reject(localize('sparkJobSubmission.submissionArgsIsInvalid', "submissionArgs is invalid. ")); } if (!utils.isValidNumber(livyBatchId)) { - return Promise.reject(new Error(localize('sparkJobSubmission.LivyBatchIdIsInvalid', 'livyBatchId is invalid. '))); + return Promise.reject(new Error(localize('sparkJobSubmission.LivyBatchIdIsInvalid', "livyBatchId is invalid. "))); } if (!retryTime) { @@ -125,7 +125,7 @@ export class SparkJobSubmissionModel { } while (response.appId === '' && timeOutCount < retryTime); if (response.appId === '') { - return Promise.reject(localize('sparkJobSubmission.GetApplicationIdTimeOut', 'Get Application Id time out. {0}[Log] {1}', os.EOL, response.log)); + return Promise.reject(localize('sparkJobSubmission.GetApplicationIdTimeOut', "Get Application Id time out. {0}[Log] {1}", os.EOL, response.log)); } else { return response.appId; } @@ -137,7 +137,7 @@ export class SparkJobSubmissionModel { public async uploadFile(localFilePath: string, hdfsFolderPath: string): Promise { try { if (!localFilePath || !hdfsFolderPath) { - return Promise.reject(localize('sparkJobSubmission.localFileOrFolderNotSpecified.', 'Property localFilePath or hdfsFolderPath is not specified. ')); + return Promise.reject(localize('sparkJobSubmission.localFileOrFolderNotSpecified.', "Property localFilePath or hdfsFolderPath is not specified. ")); } if (!(await utils.exists(localFilePath))) { @@ -154,7 +154,7 @@ export class SparkJobSubmissionModel { public async isClusterFileExisted(path: string): Promise { try { if (!path) { - return Promise.reject(localize('sparkJobSubmission.PathNotSpecified.', 'Property Path is not specified. ')); + return Promise.reject(localize('sparkJobSubmission.PathNotSpecified.', "Property Path is not specified. ")); } let fileSource: IFileSource = await this._sqlClusterConnection.createHdfsFileSource(); diff --git a/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkJobSubmissionService.ts b/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkJobSubmissionService.ts index dab05746a3..b766ac3498 100644 --- a/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkJobSubmissionService.ts +++ b/extensions/mssql/src/sparkFeature/dialog/sparkJobSubmission/sparkJobSubmissionService.ts @@ -87,7 +87,7 @@ export class SparkJobSubmissionService { } return Promise.reject(new Error(localize('sparkJobSubmission.LivyNoBatchIdReturned', - 'No Spark job batch id is returned from response.{0}[Error] {1}', os.EOL, JSON.stringify(response)))); + "No Spark job batch id is returned from response.{0}[Error] {1}", os.EOL, JSON.stringify(response)))); } catch (error) { return Promise.reject(error); } @@ -125,7 +125,7 @@ export class SparkJobSubmissionService { } return Promise.reject(localize('sparkJobSubmission.LivyNoLogReturned', - 'No log is returned within response.{0}[Error] {1}', os.EOL, JSON.stringify(response))); + "No log is returned within response.{0}[Error] {1}", os.EOL, JSON.stringify(response))); } catch (error) { return Promise.reject(error); } diff --git a/extensions/mssql/src/sparkFeature/sparkUtils.ts b/extensions/mssql/src/sparkFeature/sparkUtils.ts index ff903aeed2..3d9623a62c 100644 --- a/extensions/mssql/src/sparkFeature/sparkUtils.ts +++ b/extensions/mssql/src/sparkFeature/sparkUtils.ts @@ -59,7 +59,7 @@ export function shellWhichResolving(cmd: string): Promise { export async function mkDir(dirPath: string, outputChannel?: vscode.OutputChannel): Promise { if (!await fs.exists(dirPath)) { if (outputChannel) { - outputChannel.appendLine(localize('mkdirOutputMsg', '... Creating {0}', dirPath)); + outputChannel.appendLine(localize('mkdirOutputMsg', "... Creating {0}", dirPath)); } await fs.ensureDir(dirPath); } @@ -126,7 +126,7 @@ export function executeStreamedCommand(cmd: string, outputChannel?: vscode.Outpu if (code === 0) { resolve(); } else { - reject(localize('executeCommandProcessExited', 'Process exited with code {0}', code)); + reject(localize('executeCommandProcessExited', "Process exited with code {0}", code)); } }); diff --git a/extensions/notebook/src/common/localizedConstants.ts b/extensions/notebook/src/common/localizedConstants.ts index d626e4a9e8..f4a378ff63 100644 --- a/extensions/notebook/src/common/localizedConstants.ts +++ b/extensions/notebook/src/common/localizedConstants.ts @@ -9,8 +9,8 @@ import * as nls from 'vscode-nls'; const localize = nls.loadMessageBundle(); // General Constants /////////////////////////////////////////////////////// -export const msgYes = localize('msgYes', 'Yes'); -export const msgNo = localize('msgNo', 'No'); +export const msgYes = localize('msgYes', "Yes"); +export const msgNo = localize('msgNo', "No"); // Jupyter Constants /////////////////////////////////////////////////////// -export const msgSampleCodeDataFrame = localize('msgSampleCodeDataFrame', 'This sample code loads the file into a data frame and shows the first 10 results.'); +export const msgSampleCodeDataFrame = localize('msgSampleCodeDataFrame', "This sample code loads the file into a data frame and shows the first 10 results."); diff --git a/extensions/notebook/src/common/utils.ts b/extensions/notebook/src/common/utils.ts index 8ee8345671..fe35694f9a 100644 --- a/extensions/notebook/src/common/utils.ts +++ b/extensions/notebook/src/common/utils.ts @@ -22,7 +22,7 @@ export function getLivyUrl(serverName: string, port: string): string { export async function mkDir(dirPath: string, outputChannel?: vscode.OutputChannel): Promise { if (!await fs.pathExists(dirPath)) { if (outputChannel) { - outputChannel.appendLine(localize('mkdirOutputMsg', '... Creating {0}', dirPath)); + outputChannel.appendLine(localize('mkdirOutputMsg', "... Creating {0}", dirPath)); } await fs.ensureDir(dirPath); } @@ -71,7 +71,7 @@ export function executeStreamedCommand(cmd: string, options: childProcess.SpawnO if (code === 0) { resolve(); } else { - reject(localize('executeCommandProcessExited', 'Process exited with code {0}', code)); + reject(localize('executeCommandProcessExited', "Process exited with code {0}", code)); } }); diff --git a/extensions/notebook/src/dialog/managePackages/installedPackagesTab.ts b/extensions/notebook/src/dialog/managePackages/installedPackagesTab.ts index 791de08284..ba6f624bfb 100644 --- a/extensions/notebook/src/dialog/managePackages/installedPackagesTab.ts +++ b/extensions/notebook/src/dialog/managePackages/installedPackagesTab.ts @@ -152,7 +152,7 @@ export class InstalledPackagesTab { this.uninstallPackageButton.updateProperties({ enabled: false }); let doUninstall = await this.prompter.promptSingle({ type: QuestionTypes.confirm, - message: localize('managePackages.confirmUninstall', 'Are you sure you want to uninstall the specified packages?'), + message: localize('managePackages.confirmUninstall', "Are you sure you want to uninstall the specified packages?"), default: false }); diff --git a/extensions/notebook/src/jupyter/jupyterController.ts b/extensions/notebook/src/jupyter/jupyterController.ts index 483596b7ae..e54ad378dd 100644 --- a/extensions/notebook/src/jupyter/jupyterController.ts +++ b/extensions/notebook/src/jupyter/jupyterController.ts @@ -119,7 +119,7 @@ export class JupyterController implements vscode.Disposable { } private async handleOpenNotebookTask(profile: azdata.IConnectionProfile): Promise { - let notebookFileTypeName = localize('notebookFileType', 'Notebooks'); + let notebookFileTypeName = localize('notebookFileType', "Notebooks"); let filter: { [key: string]: Array } = {}; filter[notebookFileTypeName] = ['ipynb']; let uris = await this.apiWrapper.showOpenDialog({ @@ -132,7 +132,7 @@ export class JupyterController implements vscode.Disposable { // Verify this is a .ipynb file since this isn't actually filtered on Mac/Linux if (path.extname(fileUri.fsPath) !== '.ipynb') { // in the future might want additional supported types - this.apiWrapper.showErrorMessage(localize('unsupportedFileType', 'Only .ipynb Notebooks are supported')); + this.apiWrapper.showErrorMessage(localize('unsupportedFileType', "Only .ipynb Notebooks are supported")); } else { await azdata.nb.showNotebookDocument(fileUri, { connectionProfile: profile, @@ -191,7 +191,7 @@ export class JupyterController implements vscode.Disposable { private async confirmReinstall(): Promise { return await this.prompter.promptSingle({ type: QuestionTypes.confirm, - message: localize('confirmReinstall', 'Are you sure you want to reinstall?'), + message: localize('confirmReinstall', "Are you sure you want to reinstall?"), default: true }); } diff --git a/extensions/notebook/src/jupyter/jupyterNotebookProvider.ts b/extensions/notebook/src/jupyter/jupyterNotebookProvider.ts index 4ddbd017b2..247b6b3468 100644 --- a/extensions/notebook/src/jupyter/jupyterNotebookProvider.ts +++ b/extensions/notebook/src/jupyter/jupyterNotebookProvider.ts @@ -26,7 +26,7 @@ export class JupyterNotebookProvider implements nb.NotebookProvider { public getNotebookManager(notebookUri: vscode.Uri): Thenable { if (!notebookUri) { - return Promise.reject(localize('errNotebookUriMissing', 'A notebook path is required')); + return Promise.reject(localize('errNotebookUriMissing', "A notebook path is required")); } return Promise.resolve(this.doGetNotebookManager(notebookUri)); } diff --git a/extensions/notebook/src/jupyter/jupyterServerManager.ts b/extensions/notebook/src/jupyter/jupyterServerManager.ts index 733dfa008d..5955531d03 100644 --- a/extensions/notebook/src/jupyter/jupyterServerManager.ts +++ b/extensions/notebook/src/jupyter/jupyterServerManager.ts @@ -73,7 +73,7 @@ export class LocalJupyterServerManager implements nb.ServerManager, vscode.Dispo public dispose(): void { this.stopServer().catch(err => { let msg = utils.getErrorMessage(err); - this._apiWrapper.showErrorMessage(localize('shutdownError', 'Shutdown of Notebook server failed: {0}', msg)); + this._apiWrapper.showErrorMessage(localize('shutdownError', "Shutdown of Notebook server failed: {0}", msg)); }); } diff --git a/extensions/notebook/src/jupyter/jupyterSessionManager.ts b/extensions/notebook/src/jupyter/jupyterSessionManager.ts index 6b772f73d4..0a7cf04986 100644 --- a/extensions/notebook/src/jupyter/jupyterSessionManager.ts +++ b/extensions/notebook/src/jupyter/jupyterSessionManager.ts @@ -120,7 +120,7 @@ export class JupyterSessionManager implements nb.SessionManager { public async startNew(options: nb.ISessionOptions, skipSettingEnvironmentVars?: boolean): Promise { if (!this._isReady) { // no-op - return Promise.reject(new Error(localize('errorStartBeforeReady', 'Cannot start a session, the manager is not yet initialized'))); + return Promise.reject(new Error(localize('errorStartBeforeReady', "Cannot start a session, the manager is not yet initialized"))); } let sessionImpl = await this._sessionManager.startNew(options); let jupyterSession = new JupyterSession(sessionImpl, skipSettingEnvironmentVars); diff --git a/extensions/notebook/src/jupyter/jupyterSettingWriter.ts b/extensions/notebook/src/jupyter/jupyterSettingWriter.ts index 7f9b9d1440..57d852402f 100644 --- a/extensions/notebook/src/jupyter/jupyterSettingWriter.ts +++ b/extensions/notebook/src/jupyter/jupyterSettingWriter.ts @@ -69,7 +69,7 @@ export class JupyterSettingWriter { value = `set([${setting.value}])`; break; default: - throw new Error(localize('UnexpectedSettingType', 'Unexpected setting type {0}', setting.type)); + throw new Error(localize('UnexpectedSettingType', "Unexpected setting type {0}", setting.type)); } return `c.${setting.key} = ${value}`; } diff --git a/extensions/notebook/src/jupyter/serverInstance.ts b/extensions/notebook/src/jupyter/serverInstance.ts index fc7b995bd1..c9b4f0362e 100644 --- a/extensions/notebook/src/jupyter/serverInstance.ts +++ b/extensions/notebook/src/jupyter/serverInstance.ts @@ -168,7 +168,7 @@ export class PerFolderServerInstance implements IServerInstance { } } catch (error) { // For now, we don't care as this is non-critical - this.notify(this.options.install, localize('serverStopError', 'Error stopping Notebook Server: {0}', utils.getErrorMessage(error))); + this.notify(this.options.install, localize('serverStopError', "Error stopping Notebook Server: {0}", utils.getErrorMessage(error))); } finally { this._isStarted = false; this.utils.ensureProcessEnded(this.childProcess); @@ -260,7 +260,7 @@ export class PerFolderServerInstance implements IServerInstance { let onErrorBeforeStartup = (err: any) => reject(err); let onExitBeforeStart = (err: any) => { if (!this.isStarted) { - reject(localize('notebookStartProcessExitPremature', 'Notebook process exited prematurely with error: {0}, StdErr Output: {1}', err, stdErrLog)); + reject(localize('notebookStartProcessExitPremature', "Notebook process exited prematurely with error: {0}, StdErr Output: {1}", err, stdErrLog)); } }; this.childProcess.on('error', onErrorBeforeStartup); @@ -309,7 +309,7 @@ export class PerFolderServerInstance implements IServerInstance { private handleConnectionError(error: Error): void { let action = this.errorHandler.handleError(error); if (action === ErrorAction.Shutdown) { - this.notify(this.options.install, localize('jupyterError', 'Error sent from Jupyter: {0}', utils.getErrorMessage(error))); + this.notify(this.options.install, localize('jupyterError', "Error sent from Jupyter: {0}", utils.getErrorMessage(error))); this.stop(); } } @@ -349,14 +349,14 @@ export class PerFolderServerInstance implements IServerInstance { } private notifyStarted(install: JupyterServerInstallation, jupyterUri: string): void { - install.outputChannel.appendLine(localize('jupyterOutputMsgStartSuccessful', '... Jupyter is running at {0}', jupyterUri)); + install.outputChannel.appendLine(localize('jupyterOutputMsgStartSuccessful', "... Jupyter is running at {0}", jupyterUri)); } private notify(install: JupyterServerInstallation, message: string): void { install.outputChannel.appendLine(message); } private notifyStarting(install: JupyterServerInstallation, startCommand: string): void { - install.outputChannel.appendLine(localize('jupyterOutputMsgStart', '... Starting Notebook server')); + install.outputChannel.appendLine(localize('jupyterOutputMsgStart', "... Starting Notebook server")); install.outputChannel.appendLine(` > ${startCommand}`); } diff --git a/extensions/profiler/client/src/dialogs/profilerCreateSessionDialog.ts b/extensions/profiler/client/src/dialogs/profilerCreateSessionDialog.ts index bdffa48e9f..9a5577b214 100644 --- a/extensions/profiler/client/src/dialogs/profilerCreateSessionDialog.ts +++ b/extensions/profiler/client/src/dialogs/profilerCreateSessionDialog.ts @@ -13,9 +13,9 @@ const localize = nls.loadMessageBundle(); export class CreateSessionDialog { // Top level - private readonly CancelButtonText: string = localize('createSessionDialog.cancel', 'Cancel'); - private readonly CreateButtonText: string = localize('createSessionDialog.create', 'Start'); - private readonly DialogTitleText: string = localize('createSessionDialog.title', 'Start New Profiler Session'); + private readonly CancelButtonText: string = localize('createSessionDialog.cancel', "Cancel"); + private readonly CreateButtonText: string = localize('createSessionDialog.create', "Start"); + private readonly DialogTitleText: string = localize('createSessionDialog.title', "Start New Profiler Session"); // UI Components private dialog: azdata.window.Dialog; diff --git a/extensions/resource-deployment/src/main.ts b/extensions/resource-deployment/src/main.ts index 63984623a8..e340b30129 100644 --- a/extensions/resource-deployment/src/main.ts +++ b/extensions/resource-deployment/src/main.ts @@ -23,7 +23,7 @@ export function activate(context: vscode.ExtensionContext) { const resourceTypes = resourceTypeService.getResourceTypes(); const validationFailures = resourceTypeService.validateResourceTypes(resourceTypes); if (validationFailures.length !== 0) { - const errorMessage = localize('resourceDeployment.FailedToLoadExtension', 'Failed to load extension: {0}, Error detected in the resource type definition in package.json, check debug console for details.', context.extensionPath); + const errorMessage = localize('resourceDeployment.FailedToLoadExtension', "Failed to load extension: {0}, Error detected in the resource type definition in package.json, check debug console for details.", context.extensionPath); vscode.window.showErrorMessage(errorMessage); validationFailures.forEach(message => console.error(message)); return; @@ -31,7 +31,7 @@ export function activate(context: vscode.ExtensionContext) { const openDialog = (resourceTypeName: string) => { const filtered = resourceTypes.filter(resourceType => resourceType.name === resourceTypeName); if (filtered.length !== 1) { - vscode.window.showErrorMessage(localize('resourceDeployment.UnknownResourceType', 'The resource type: {0} is not defined', resourceTypeName)); + vscode.window.showErrorMessage(localize('resourceDeployment.UnknownResourceType', "The resource type: {0} is not defined", resourceTypeName)); } else { const dialog = new ResourceTypePickerDialog(toolsService, resourceTypeService, filtered[0]); dialog.open(); diff --git a/extensions/resource-deployment/src/ui/deployClusterWizard/deployClusterWizard.ts b/extensions/resource-deployment/src/ui/deployClusterWizard/deployClusterWizard.ts index db835643cf..2439616c54 100644 --- a/extensions/resource-deployment/src/ui/deployClusterWizard/deployClusterWizard.ts +++ b/extensions/resource-deployment/src/ui/deployClusterWizard/deployClusterWizard.ts @@ -54,7 +54,7 @@ export class DeployClusterWizard extends WizardBase({ clickable: false }).component(); @@ -113,7 +113,7 @@ export class TargetClusterContextPage extends WizardPageBase { @@ -323,7 +323,7 @@ export class SchemaCompareDialog { canSelectFolders: false, canSelectMany: false, defaultUri: vscode.Uri.file(defaultUri), - openLabel: localize('schemaCompare.openFile', 'Open'), + openLabel: localize('schemaCompare.openFile', "Open"), filters: { 'dacpac Files': ['dacpac'], } @@ -556,7 +556,7 @@ export class SchemaCompareDialog { let srv = c.options.server; if (!usr) { - usr = localize('schemaCompareDialog.defaultUser', 'default'); + usr = localize('schemaCompareDialog.defaultUser', "default"); } let finalName = `${srv} (${usr})`; diff --git a/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts b/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts index db841df1fd..420afdfd8c 100644 --- a/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts +++ b/extensions/schema-compare/src/dialogs/schemaCompareOptionsDialog.ts @@ -17,237 +17,237 @@ export class SchemaCompareOptionsDialog { //#region Localized strings - private static readonly OkButtonText: string = localize('SchemaCompareOptionsDialog.Ok', 'OK'); - private static readonly CancelButtonText: string = localize('SchemaCompareOptionsDialog.Cancel', 'Cancel'); - private static readonly ResetButtonText: string = localize('SchemaCompareOptionsDialog.Reset', 'Reset'); - private static readonly YesButtonText: string = localize('SchemaCompareOptionsDialog.Yes', 'Yes'); - private static readonly NoButtonText: string = localize('SchemaCompareOptionsDialog.No', 'No'); - private static readonly OptionsChangedMessage: string = localize('schemaCompareOptions.RecompareMessage', 'Options have changed. Recompare to see the comparison?'); - private static readonly OptionsLabel: string = localize('SchemaCompare.SchemaCompareOptionsDialogLabel', 'Schema Compare Options'); - private static readonly GeneralOptionsLabel: string = localize('SchemaCompare.GeneralOptionsLabel', 'General Options'); - private static readonly ObjectTypesOptionsLabel: string = localize('SchemaCompare.ObjectTypesOptionsLabel', 'Include Object Types'); + private static readonly OkButtonText: string = localize('SchemaCompareOptionsDialog.Ok', "OK"); + private static readonly CancelButtonText: string = localize('SchemaCompareOptionsDialog.Cancel', "Cancel"); + private static readonly ResetButtonText: string = localize('SchemaCompareOptionsDialog.Reset', "Reset"); + private static readonly YesButtonText: string = localize('SchemaCompareOptionsDialog.Yes', "Yes"); + private static readonly NoButtonText: string = localize('SchemaCompareOptionsDialog.No', "No"); + private static readonly OptionsChangedMessage: string = localize('schemaCompareOptions.RecompareMessage', "Options have changed. Recompare to see the comparison?"); + private static readonly OptionsLabel: string = localize('SchemaCompare.SchemaCompareOptionsDialogLabel', "Schema Compare Options"); + private static readonly GeneralOptionsLabel: string = localize('SchemaCompare.GeneralOptionsLabel', "General Options"); + private static readonly ObjectTypesOptionsLabel: string = localize('SchemaCompare.ObjectTypesOptionsLabel', "Include Object Types"); - private static readonly IgnoreTableOptions: string = localize('SchemaCompare.IgnoreTableOptions', 'Ignore Table Options'); - private static readonly IgnoreSemicolonBetweenStatements: string = localize('SchemaCompare.IgnoreSemicolonBetweenStatements', 'Ignore Semicolon Between Statements'); - private static readonly IgnoreRouteLifetime: string = localize('SchemaCompare.IgnoreRouteLifetime', 'Ignore Route Lifetime'); - private static readonly IgnoreRoleMembership: string = localize('SchemaCompare.IgnoreRoleMembership', 'Ignore Role Membership'); - private static readonly IgnoreQuotedIdentifiers: string = localize('SchemaCompare.IgnoreQuotedIdentifiers', 'Ignore Quoted Identifiers'); - private static readonly IgnorePermissions: string = localize('SchemaCompare.IgnorePermissions', 'Ignore Permissions'); - private static readonly IgnorePartitionSchemes: string = localize('SchemaCompare.IgnorePartitionSchemes', 'Ignore Partition Schemes'); - private static readonly IgnoreObjectPlacementOnPartitionScheme: string = localize('SchemaCompare.IgnoreObjectPlacementOnPartitionScheme', 'Ignore Object Placement On Partition Scheme'); - private static readonly IgnoreNotForReplication: string = localize('SchemaCompare.IgnoreNotForReplication', 'Ignore Not For Replication'); - private static readonly IgnoreLoginSids: string = localize('SchemaCompare.IgnoreLoginSids', 'Ignore Login Sids'); - private static readonly IgnoreLockHintsOnIndexes: string = localize('SchemaCompare.IgnoreLockHintsOnIndexes', 'Ignore Lock Hints On Indexes'); - private static readonly IgnoreKeywordCasing: string = localize('SchemaCompare.IgnoreKeywordCasing', 'Ignore Keyword Casing'); - private static readonly IgnoreIndexPadding: string = localize('SchemaCompare.IgnoreIndexPadding', 'Ignore Index Padding'); - private static readonly IgnoreIndexOptions: string = localize('SchemaCompare.IgnoreIndexOptions', 'Ignore Index Options'); - private static readonly IgnoreIncrement: string = localize('SchemaCompare.IgnoreIncrement', 'Ignore Increment'); - private static readonly IgnoreIdentitySeed: string = localize('SchemaCompare.IgnoreIdentitySeed', 'Ignore Identity Seed'); - private static readonly IgnoreUserSettingsObjects: string = localize('SchemaCompare.IgnoreUserSettingsObjects', 'Ignore User Settings Objects'); - private static readonly IgnoreFullTextCatalogFilePath: string = localize('SchemaCompare.IgnoreFullTextCatalogFilePath', 'Ignore Full Text Catalog FilePath'); - private static readonly IgnoreWhitespace: string = localize('SchemaCompare.IgnoreWhitespace', 'Ignore Whitespace'); - private static readonly IgnoreWithNocheckOnForeignKeys: string = localize('SchemaCompare.IgnoreWithNocheckOnForeignKeys', 'Ignore With Nocheck On ForeignKeys'); - private static readonly VerifyCollationCompatibility: string = localize('SchemaCompare.VerifyCollationCompatibility', 'Verify Collation Compatibility'); - private static readonly UnmodifiableObjectWarnings: string = localize('SchemaCompare.UnmodifiableObjectWarnings', 'Unmodifiable Object Warnings'); - private static readonly TreatVerificationErrorsAsWarnings: string = localize('SchemaCompare.TreatVerificationErrorsAsWarnings', 'Treat Verification Errors As Warnings'); - private static readonly ScriptRefreshModule: string = localize('SchemaCompare.ScriptRefreshModule', 'Script Refresh Module'); - private static readonly ScriptNewConstraintValidation: string = localize('SchemaCompare.ScriptNewConstraintValidation', 'Script New Constraint Validation'); - private static readonly ScriptFileSize: string = localize('SchemaCompare.ScriptFileSize', 'Script File Size'); - private static readonly ScriptDeployStateChecks: string = localize('SchemaCompare.ScriptDeployStateChecks', 'Script Deploy StateChecks'); - private static readonly ScriptDatabaseOptions: string = localize('SchemaCompare.ScriptDatabaseOptions', 'Script Database Options'); - private static readonly ScriptDatabaseCompatibility: string = localize('SchemaCompare.ScriptDatabaseCompatibility', 'Script Database Compatibility'); - private static readonly ScriptDatabaseCollation: string = localize('SchemaCompare.ScriptDatabaseCollation', 'Script Database Collation'); - private static readonly RunDeploymentPlanExecutors: string = localize('SchemaCompare.RunDeploymentPlanExecutors', 'Run Deployment Plan Executors'); - private static readonly RegisterDataTierApplication: string = localize('SchemaCompare.RegisterDataTierApplication', 'Register DataTier Application'); - private static readonly PopulateFilesOnFileGroups: string = localize('SchemaCompare.PopulateFilesOnFileGroups', 'Populate Files On File Groups'); - private static readonly NoAlterStatementsToChangeClrTypes: string = localize('SchemaCompare.NoAlterStatementsToChangeClrTypes', 'No Alter Statements To Change Clr Types'); - private static readonly IncludeTransactionalScripts: string = localize('SchemaCompare.IncludeTransactionalScripts', 'Include Transactional Scripts'); - private static readonly IncludeCompositeObjects: string = localize('SchemaCompare.IncludeCompositeObjects', 'Include Composite Objects'); - private static readonly AllowUnsafeRowLevelSecurityDataMovement: string = localize('SchemaCompare.AllowUnsafeRowLevelSecurityDataMovement', 'Allow Unsafe Row Level Security Data Movement'); - private static readonly IgnoreWithNocheckOnCheckConstraints: string = localize('SchemaCompare.IgnoreWithNocheckOnCheckConstraints', 'Ignore With No check On Check Constraints'); - private static readonly IgnoreFillFactor: string = localize('SchemaCompare.IgnoreFillFactor', 'Ignore Fill Factor'); - private static readonly IgnoreFileSize: string = localize('SchemaCompare.IgnoreFileSize', 'Ignore File Size'); - private static readonly IgnoreFilegroupPlacement: string = localize('SchemaCompare.IgnoreFilegroupPlacement', 'Ignore Filegroup Placement'); - private static readonly DoNotAlterReplicatedObjects: string = localize('SchemaCompare.DoNotAlterReplicatedObjects', 'Do Not Alter Replicated Objects'); - private static readonly DoNotAlterChangeDataCaptureObjects: string = localize('SchemaCompare.DoNotAlterChangeDataCaptureObjects', 'Do Not Alter Change Data Capture Objects'); - private static readonly DisableAndReenableDdlTriggers: string = localize('SchemaCompare.DisableAndReenableDdlTriggers', 'Disable And Reenable Ddl Triggers'); - private static readonly DeployDatabaseInSingleUserMode: string = localize('SchemaCompare.DeployDatabaseInSingleUserMode', 'Deploy Database In Single User Mode'); - private static readonly CreateNewDatabase: string = localize('SchemaCompare.CreateNewDatabase', 'Create New Database'); - private static readonly CompareUsingTargetCollation: string = localize('SchemaCompare.CompareUsingTargetCollation', 'Compare Using Target Collation'); - private static readonly CommentOutSetVarDeclarations: string = localize('SchemaCompare.CommentOutSetVarDeclarations', 'Comment Out Set Var Declarations'); - private static readonly BlockWhenDriftDetected: string = localize('SchemaCompare.BlockWhenDriftDetected', 'Block When Drift Detected'); - private static readonly BlockOnPossibleDataLoss: string = localize('SchemaCompare.BlockOnPossibleDataLoss', 'Block On Possible Data Loss'); - private static readonly BackupDatabaseBeforeChanges: string = localize('SchemaCompare.BackupDatabaseBeforeChanges', 'Backup Database Before Changes'); - private static readonly AllowIncompatiblePlatform: string = localize('SchemaCompare.AllowIncompatiblePlatform', 'Allow Incompatible Platform'); - private static readonly AllowDropBlockingAssemblies: string = localize('SchemaCompare.AllowDropBlockingAssemblies', 'Allow Drop Blocking Assemblies'); - private static readonly DropConstraintsNotInSource: string = localize('SchemaCompare.DropConstraintsNotInSource', 'Drop Constraints Not In Source'); - private static readonly DropDmlTriggersNotInSource: string = localize('SchemaCompare.DropDmlTriggersNotInSource', 'Drop Dml Triggers Not In Source'); - private static readonly DropExtendedPropertiesNotInSource: string = localize('SchemaCompare.DropExtendedPropertiesNotInSource', 'Drop Extended Properties Not In Source'); - private static readonly DropIndexesNotInSource: string = localize('SchemaCompare.DropIndexesNotInSource', 'Drop Indexes Not In Source'); - private static readonly IgnoreFileAndLogFilePath: string = localize('SchemaCompare.IgnoreFileAndLogFilePath', 'Ignore File And Log File Path'); - private static readonly IgnoreExtendedProperties: string = localize('SchemaCompare.IgnoreExtendedProperties', 'Ignore Extended Properties'); - private static readonly IgnoreDmlTriggerState: string = localize('SchemaCompare.IgnoreDmlTriggerState', 'Ignore Dml Trigger State'); - private static readonly IgnoreDmlTriggerOrder: string = localize('SchemaCompare.IgnoreDmlTriggerOrder', 'Ignore Dml Trigger Order'); - private static readonly IgnoreDefaultSchema: string = localize('SchemaCompare.IgnoreDefaultSchema', 'Ignore Default Schema'); - private static readonly IgnoreDdlTriggerState: string = localize('SchemaCompare.IgnoreDdlTriggerState', 'Ignore Ddl Trigger State'); - private static readonly IgnoreDdlTriggerOrder: string = localize('SchemaCompare.IgnoreDdlTriggerOrder', 'Ignore Ddl Trigger Order'); - private static readonly IgnoreCryptographicProviderFilePath: string = localize('SchemaCompare.IgnoreCryptographicProviderFilePath', 'Ignore Cryptographic Provider FilePath'); - private static readonly VerifyDeployment: string = localize('SchemaCompare.VerifyDeployment', 'Verify Deployment'); - private static readonly IgnoreComments: string = localize('SchemaCompare.IgnoreComments', 'Ignore Comments'); - private static readonly IgnoreColumnCollation: string = localize('SchemaCompare.IgnoreColumnCollation', 'Ignore Column Collation'); - private static readonly IgnoreAuthorizer: string = localize('SchemaCompare.IgnoreAuthorizer', 'Ignore Authorizer'); - private static readonly IgnoreAnsiNulls: string = localize('SchemaCompare.IgnoreAnsiNulls', 'Ignore AnsiNulls'); - private static readonly GenerateSmartDefaults: string = localize('SchemaCompare.GenerateSmartDefaults', 'Generate SmartDefaults'); - private static readonly DropStatisticsNotInSource: string = localize('SchemaCompare.DropStatisticsNotInSource', 'Drop Statistics Not In Source'); - private static readonly DropRoleMembersNotInSource: string = localize('SchemaCompare.DropRoleMembersNotInSource', 'Drop Role Members Not In Source'); - private static readonly DropPermissionsNotInSource: string = localize('SchemaCompare.DropPermissionsNotInSource', 'Drop Permissions Not In Source'); - private static readonly DropObjectsNotInSource: string = localize('SchemaCompare.DropObjectsNotInSource', 'Drop Objects Not In Source'); - private static readonly IgnoreColumnOrder: string = localize('SchemaCompare.IgnoreColumnOrder', 'Ignore Column Order'); + private static readonly IgnoreTableOptions: string = localize('SchemaCompare.IgnoreTableOptions', "Ignore Table Options"); + private static readonly IgnoreSemicolonBetweenStatements: string = localize('SchemaCompare.IgnoreSemicolonBetweenStatements', "Ignore Semicolon Between Statements"); + private static readonly IgnoreRouteLifetime: string = localize('SchemaCompare.IgnoreRouteLifetime', "Ignore Route Lifetime"); + private static readonly IgnoreRoleMembership: string = localize('SchemaCompare.IgnoreRoleMembership', "Ignore Role Membership"); + private static readonly IgnoreQuotedIdentifiers: string = localize('SchemaCompare.IgnoreQuotedIdentifiers', "Ignore Quoted Identifiers"); + private static readonly IgnorePermissions: string = localize('SchemaCompare.IgnorePermissions', "Ignore Permissions"); + private static readonly IgnorePartitionSchemes: string = localize('SchemaCompare.IgnorePartitionSchemes', "Ignore Partition Schemes"); + private static readonly IgnoreObjectPlacementOnPartitionScheme: string = localize('SchemaCompare.IgnoreObjectPlacementOnPartitionScheme', "Ignore Object Placement On Partition Scheme"); + private static readonly IgnoreNotForReplication: string = localize('SchemaCompare.IgnoreNotForReplication', "Ignore Not For Replication"); + private static readonly IgnoreLoginSids: string = localize('SchemaCompare.IgnoreLoginSids', "Ignore Login Sids"); + private static readonly IgnoreLockHintsOnIndexes: string = localize('SchemaCompare.IgnoreLockHintsOnIndexes', "Ignore Lock Hints On Indexes"); + private static readonly IgnoreKeywordCasing: string = localize('SchemaCompare.IgnoreKeywordCasing', "Ignore Keyword Casing"); + private static readonly IgnoreIndexPadding: string = localize('SchemaCompare.IgnoreIndexPadding', "Ignore Index Padding"); + private static readonly IgnoreIndexOptions: string = localize('SchemaCompare.IgnoreIndexOptions', "Ignore Index Options"); + private static readonly IgnoreIncrement: string = localize('SchemaCompare.IgnoreIncrement', "Ignore Increment"); + private static readonly IgnoreIdentitySeed: string = localize('SchemaCompare.IgnoreIdentitySeed', "Ignore Identity Seed"); + private static readonly IgnoreUserSettingsObjects: string = localize('SchemaCompare.IgnoreUserSettingsObjects', "Ignore User Settings Objects"); + private static readonly IgnoreFullTextCatalogFilePath: string = localize('SchemaCompare.IgnoreFullTextCatalogFilePath', "Ignore Full Text Catalog FilePath"); + private static readonly IgnoreWhitespace: string = localize('SchemaCompare.IgnoreWhitespace', "Ignore Whitespace"); + private static readonly IgnoreWithNocheckOnForeignKeys: string = localize('SchemaCompare.IgnoreWithNocheckOnForeignKeys', "Ignore With Nocheck On ForeignKeys"); + private static readonly VerifyCollationCompatibility: string = localize('SchemaCompare.VerifyCollationCompatibility', "Verify Collation Compatibility"); + private static readonly UnmodifiableObjectWarnings: string = localize('SchemaCompare.UnmodifiableObjectWarnings', "Unmodifiable Object Warnings"); + private static readonly TreatVerificationErrorsAsWarnings: string = localize('SchemaCompare.TreatVerificationErrorsAsWarnings', "Treat Verification Errors As Warnings"); + private static readonly ScriptRefreshModule: string = localize('SchemaCompare.ScriptRefreshModule', "Script Refresh Module"); + private static readonly ScriptNewConstraintValidation: string = localize('SchemaCompare.ScriptNewConstraintValidation', "Script New Constraint Validation"); + private static readonly ScriptFileSize: string = localize('SchemaCompare.ScriptFileSize', "Script File Size"); + private static readonly ScriptDeployStateChecks: string = localize('SchemaCompare.ScriptDeployStateChecks', "Script Deploy StateChecks"); + private static readonly ScriptDatabaseOptions: string = localize('SchemaCompare.ScriptDatabaseOptions', "Script Database Options"); + private static readonly ScriptDatabaseCompatibility: string = localize('SchemaCompare.ScriptDatabaseCompatibility', "Script Database Compatibility"); + private static readonly ScriptDatabaseCollation: string = localize('SchemaCompare.ScriptDatabaseCollation', "Script Database Collation"); + private static readonly RunDeploymentPlanExecutors: string = localize('SchemaCompare.RunDeploymentPlanExecutors', "Run Deployment Plan Executors"); + private static readonly RegisterDataTierApplication: string = localize('SchemaCompare.RegisterDataTierApplication', "Register DataTier Application"); + private static readonly PopulateFilesOnFileGroups: string = localize('SchemaCompare.PopulateFilesOnFileGroups', "Populate Files On File Groups"); + private static readonly NoAlterStatementsToChangeClrTypes: string = localize('SchemaCompare.NoAlterStatementsToChangeClrTypes', "No Alter Statements To Change Clr Types"); + private static readonly IncludeTransactionalScripts: string = localize('SchemaCompare.IncludeTransactionalScripts', "Include Transactional Scripts"); + private static readonly IncludeCompositeObjects: string = localize('SchemaCompare.IncludeCompositeObjects', "Include Composite Objects"); + private static readonly AllowUnsafeRowLevelSecurityDataMovement: string = localize('SchemaCompare.AllowUnsafeRowLevelSecurityDataMovement', "Allow Unsafe Row Level Security Data Movement"); + private static readonly IgnoreWithNocheckOnCheckConstraints: string = localize('SchemaCompare.IgnoreWithNocheckOnCheckConstraints', "Ignore With No check On Check Constraints"); + private static readonly IgnoreFillFactor: string = localize('SchemaCompare.IgnoreFillFactor', "Ignore Fill Factor"); + private static readonly IgnoreFileSize: string = localize('SchemaCompare.IgnoreFileSize', "Ignore File Size"); + private static readonly IgnoreFilegroupPlacement: string = localize('SchemaCompare.IgnoreFilegroupPlacement', "Ignore Filegroup Placement"); + private static readonly DoNotAlterReplicatedObjects: string = localize('SchemaCompare.DoNotAlterReplicatedObjects', "Do Not Alter Replicated Objects"); + private static readonly DoNotAlterChangeDataCaptureObjects: string = localize('SchemaCompare.DoNotAlterChangeDataCaptureObjects', "Do Not Alter Change Data Capture Objects"); + private static readonly DisableAndReenableDdlTriggers: string = localize('SchemaCompare.DisableAndReenableDdlTriggers', "Disable And Reenable Ddl Triggers"); + private static readonly DeployDatabaseInSingleUserMode: string = localize('SchemaCompare.DeployDatabaseInSingleUserMode', "Deploy Database In Single User Mode"); + private static readonly CreateNewDatabase: string = localize('SchemaCompare.CreateNewDatabase', "Create New Database"); + private static readonly CompareUsingTargetCollation: string = localize('SchemaCompare.CompareUsingTargetCollation', "Compare Using Target Collation"); + private static readonly CommentOutSetVarDeclarations: string = localize('SchemaCompare.CommentOutSetVarDeclarations', "Comment Out Set Var Declarations"); + private static readonly BlockWhenDriftDetected: string = localize('SchemaCompare.BlockWhenDriftDetected', "Block When Drift Detected"); + private static readonly BlockOnPossibleDataLoss: string = localize('SchemaCompare.BlockOnPossibleDataLoss', "Block On Possible Data Loss"); + private static readonly BackupDatabaseBeforeChanges: string = localize('SchemaCompare.BackupDatabaseBeforeChanges', "Backup Database Before Changes"); + private static readonly AllowIncompatiblePlatform: string = localize('SchemaCompare.AllowIncompatiblePlatform', "Allow Incompatible Platform"); + private static readonly AllowDropBlockingAssemblies: string = localize('SchemaCompare.AllowDropBlockingAssemblies', "Allow Drop Blocking Assemblies"); + private static readonly DropConstraintsNotInSource: string = localize('SchemaCompare.DropConstraintsNotInSource', "Drop Constraints Not In Source"); + private static readonly DropDmlTriggersNotInSource: string = localize('SchemaCompare.DropDmlTriggersNotInSource', "Drop Dml Triggers Not In Source"); + private static readonly DropExtendedPropertiesNotInSource: string = localize('SchemaCompare.DropExtendedPropertiesNotInSource', "Drop Extended Properties Not In Source"); + private static readonly DropIndexesNotInSource: string = localize('SchemaCompare.DropIndexesNotInSource', "Drop Indexes Not In Source"); + private static readonly IgnoreFileAndLogFilePath: string = localize('SchemaCompare.IgnoreFileAndLogFilePath', "Ignore File And Log File Path"); + private static readonly IgnoreExtendedProperties: string = localize('SchemaCompare.IgnoreExtendedProperties', "Ignore Extended Properties"); + private static readonly IgnoreDmlTriggerState: string = localize('SchemaCompare.IgnoreDmlTriggerState', "Ignore Dml Trigger State"); + private static readonly IgnoreDmlTriggerOrder: string = localize('SchemaCompare.IgnoreDmlTriggerOrder', "Ignore Dml Trigger Order"); + private static readonly IgnoreDefaultSchema: string = localize('SchemaCompare.IgnoreDefaultSchema', "Ignore Default Schema"); + private static readonly IgnoreDdlTriggerState: string = localize('SchemaCompare.IgnoreDdlTriggerState', "Ignore Ddl Trigger State"); + private static readonly IgnoreDdlTriggerOrder: string = localize('SchemaCompare.IgnoreDdlTriggerOrder', "Ignore Ddl Trigger Order"); + private static readonly IgnoreCryptographicProviderFilePath: string = localize('SchemaCompare.IgnoreCryptographicProviderFilePath', "Ignore Cryptographic Provider FilePath"); + private static readonly VerifyDeployment: string = localize('SchemaCompare.VerifyDeployment', "Verify Deployment"); + private static readonly IgnoreComments: string = localize('SchemaCompare.IgnoreComments', "Ignore Comments"); + private static readonly IgnoreColumnCollation: string = localize('SchemaCompare.IgnoreColumnCollation', "Ignore Column Collation"); + private static readonly IgnoreAuthorizer: string = localize('SchemaCompare.IgnoreAuthorizer', "Ignore Authorizer"); + private static readonly IgnoreAnsiNulls: string = localize('SchemaCompare.IgnoreAnsiNulls', "Ignore AnsiNulls"); + private static readonly GenerateSmartDefaults: string = localize('SchemaCompare.GenerateSmartDefaults', "Generate SmartDefaults"); + private static readonly DropStatisticsNotInSource: string = localize('SchemaCompare.DropStatisticsNotInSource', "Drop Statistics Not In Source"); + private static readonly DropRoleMembersNotInSource: string = localize('SchemaCompare.DropRoleMembersNotInSource', "Drop Role Members Not In Source"); + private static readonly DropPermissionsNotInSource: string = localize('SchemaCompare.DropPermissionsNotInSource', "Drop Permissions Not In Source"); + private static readonly DropObjectsNotInSource: string = localize('SchemaCompare.DropObjectsNotInSource', "Drop Objects Not In Source"); + private static readonly IgnoreColumnOrder: string = localize('SchemaCompare.IgnoreColumnOrder', "Ignore Column Order"); - private static readonly Aggregates: string = localize('SchemaCompare.Aggregates', 'Aggregates'); - private static readonly ApplicationRoles: string = localize('SchemaCompare.ApplicationRoles', 'Application Roles'); - private static readonly Assemblies: string = localize('SchemaCompare.Assemblies', 'Assemblies'); - private static readonly AssemblyFiles: string = localize('SchemaCompare.AssemblyFiles', 'Assembly Files'); - private static readonly AsymmetricKeys: string = localize('SchemaCompare.AsymmetricKeys', 'Asymmetric Keys'); - private static readonly BrokerPriorities: string = localize('SchemaCompare.BrokerPriorities', 'Broker Priorities'); - private static readonly Certificates: string = localize('SchemaCompare.Certificates', 'Certificates'); - private static readonly ColumnEncryptionKeys: string = localize('SchemaCompare.ColumnEncryptionKeys', 'Column Encryption Keys'); - private static readonly ColumnMasterKeys: string = localize('SchemaCompare.ColumnMasterKeys', 'Column Master Keys'); - private static readonly Contracts: string = localize('SchemaCompare.Contracts', 'Contracts'); - private static readonly DatabaseOptions: string = localize('SchemaCompare.DatabaseOptions', 'Database Options'); - private static readonly DatabaseRoles: string = localize('SchemaCompare.DatabaseRoles', 'Database Roles'); - private static readonly DatabaseTriggers: string = localize('SchemaCompare.DatabaseTriggers', 'DatabaseTriggers'); - private static readonly Defaults: string = localize('SchemaCompare.Defaults', 'Defaults'); - private static readonly ExtendedProperties: string = localize('SchemaCompare.ExtendedProperties', 'Extended Properties'); - private static readonly ExternalDataSources: string = localize('SchemaCompare.ExternalDataSources', 'External Data Sources'); - private static readonly ExternalFileFormats: string = localize('SchemaCompare.ExternalFileFormats', 'External File Formats'); - private static readonly ExternalTables: string = localize('SchemaCompare.ExternalTables', 'External Tables'); - private static readonly Filegroups: string = localize('SchemaCompare.Filegroups', 'Filegroups'); - private static readonly Files: string = localize('SchemaCompare.Files', 'Files'); - private static readonly FileTables: string = localize('SchemaCompare.FileTables', 'File Tables'); - private static readonly FullTextCatalogs: string = localize('SchemaCompare.FullTextCatalogs', 'Full Text Catalogs'); - private static readonly FullTextStoplists: string = localize('SchemaCompare.FullTextStoplists', 'Full Text Stoplists'); - private static readonly MessageTypes: string = localize('SchemaCompare.MessageTypes', 'Message Types'); - private static readonly PartitionFunctions: string = localize('SchemaCompare.PartitionFunctions', 'Partition Functions'); - private static readonly PartitionSchemes: string = localize('SchemaCompare.PartitionSchemes', 'Partition Schemes'); - private static readonly Permissions: string = localize('SchemaCompare.Permissions', 'Permissions'); - private static readonly Queues: string = localize('SchemaCompare.Queues', 'Queues'); - private static readonly RemoteServiceBindings: string = localize('SchemaCompare.RemoteServiceBindings', 'Remote Service Bindings'); - private static readonly RoleMembership: string = localize('SchemaCompare.RoleMembership', 'Role Membership'); - private static readonly Rules: string = localize('SchemaCompare.Rules', 'Rules'); - private static readonly ScalarValuedFunctions: string = localize('SchemaCompare.ScalarValuedFunctions', 'Scalar Valued Functions'); - private static readonly SearchPropertyLists: string = localize('SchemaCompare.SearchPropertyLists', 'Search Property Lists'); - private static readonly SecurityPolicies: string = localize('SchemaCompare.SecurityPolicies', 'Security Policies'); - private static readonly Sequences: string = localize('SchemaCompare.Sequences', 'Sequences'); - private static readonly Services: string = localize('SchemaCompare.Services', 'Services'); - private static readonly Signatures: string = localize('SchemaCompare.Signatures', 'Signatures'); - private static readonly StoredProcedures: string = localize('SchemaCompare.StoredProcedures', 'StoredProcedures'); - private static readonly SymmetricKeys: string = localize('SchemaCompare.SymmetricKeys', 'SymmetricKeys'); - private static readonly Synonyms: string = localize('SchemaCompare.Synonyms', 'Synonyms'); - private static readonly Tables: string = localize('SchemaCompare.Tables', 'Tables'); - private static readonly TableValuedFunctions: string = localize('SchemaCompare.TableValuedFunctions', 'Table Valued Functions'); - private static readonly UserDefinedDataTypes: string = localize('SchemaCompare.UserDefinedDataTypes', 'User Defined Data Types'); - private static readonly UserDefinedTableTypes: string = localize('SchemaCompare.UserDefinedTableTypes', 'User Defined Table Types'); - private static readonly ClrUserDefinedTypes: string = localize('SchemaCompare.ClrUserDefinedTypes', 'Clr User Defined Types'); - private static readonly Users: string = localize('SchemaCompare.Users', 'Users'); - private static readonly Views: string = localize('SchemaCompare.Views', 'Views'); - private static readonly XmlSchemaCollections: string = localize('SchemaCompare.XmlSchemaCollections', 'Xml Schema Collections'); - private static readonly Audits: string = localize('SchemaCompare.Audits', 'Audits'); - private static readonly Credentials: string = localize('SchemaCompare.Credentials', 'Credentials'); - private static readonly CryptographicProviders: string = localize('SchemaCompare.CryptographicProviders', 'Cryptographic Providers'); - private static readonly DatabaseAuditSpecifications: string = localize('SchemaCompare.DatabaseAuditSpecifications', 'Database Audit Specifications'); - private static readonly DatabaseEncryptionKeys: string = localize('SchemaCompare.DatabaseEncryptionKeys', 'Database Encryption Keys'); - private static readonly DatabaseScopedCredentials: string = localize('SchemaCompare.DatabaseScopedCredentials', 'Database Scoped Credentials'); - private static readonly Endpoints: string = localize('SchemaCompare.Endpoints', 'Endpoints'); - private static readonly ErrorMessages: string = localize('SchemaCompare.ErrorMessages', 'Error Messages'); - private static readonly EventNotifications: string = localize('SchemaCompare.EventNotifications', 'Event Notifications'); - private static readonly EventSessions: string = localize('SchemaCompare.EventSessions', 'Event Sessions'); - private static readonly LinkedServerLogins: string = localize('SchemaCompare.LinkedServerLogins', 'Linked Server Logins'); - private static readonly LinkedServers: string = localize('SchemaCompare.LinkedServers', 'Linked Servers'); - private static readonly Logins: string = localize('SchemaCompare.Logins', 'Logins'); - private static readonly MasterKeys: string = localize('SchemaCompare.MasterKeys', 'Master Keys'); - private static readonly Routes: string = localize('SchemaCompare.Routes', 'Routes'); - private static readonly ServerAuditSpecifications: string = localize('SchemaCompare.ServerAuditSpecifications', 'Server Audit Specifications'); - private static readonly ServerRoleMembership: string = localize('SchemaCompare.ServerRoleMembership', 'Server Role Membership'); - private static readonly ServerRoles: string = localize('SchemaCompare.ServerRoles', 'Server Roles'); - private static readonly ServerTriggers: string = localize('SchemaCompare.ServerTriggers', 'Server Triggers'); + private static readonly Aggregates: string = localize('SchemaCompare.Aggregates', "Aggregates"); + private static readonly ApplicationRoles: string = localize('SchemaCompare.ApplicationRoles', "Application Roles"); + private static readonly Assemblies: string = localize('SchemaCompare.Assemblies', "Assemblies"); + private static readonly AssemblyFiles: string = localize('SchemaCompare.AssemblyFiles', "Assembly Files"); + private static readonly AsymmetricKeys: string = localize('SchemaCompare.AsymmetricKeys', "Asymmetric Keys"); + private static readonly BrokerPriorities: string = localize('SchemaCompare.BrokerPriorities', "Broker Priorities"); + private static readonly Certificates: string = localize('SchemaCompare.Certificates', "Certificates"); + private static readonly ColumnEncryptionKeys: string = localize('SchemaCompare.ColumnEncryptionKeys', "Column Encryption Keys"); + private static readonly ColumnMasterKeys: string = localize('SchemaCompare.ColumnMasterKeys', "Column Master Keys"); + private static readonly Contracts: string = localize('SchemaCompare.Contracts', "Contracts"); + private static readonly DatabaseOptions: string = localize('SchemaCompare.DatabaseOptions', "Database Options"); + private static readonly DatabaseRoles: string = localize('SchemaCompare.DatabaseRoles', "Database Roles"); + private static readonly DatabaseTriggers: string = localize('SchemaCompare.DatabaseTriggers', "DatabaseTriggers"); + private static readonly Defaults: string = localize('SchemaCompare.Defaults', "Defaults"); + private static readonly ExtendedProperties: string = localize('SchemaCompare.ExtendedProperties', "Extended Properties"); + private static readonly ExternalDataSources: string = localize('SchemaCompare.ExternalDataSources', "External Data Sources"); + private static readonly ExternalFileFormats: string = localize('SchemaCompare.ExternalFileFormats', "External File Formats"); + private static readonly ExternalTables: string = localize('SchemaCompare.ExternalTables', "External Tables"); + private static readonly Filegroups: string = localize('SchemaCompare.Filegroups', "Filegroups"); + private static readonly Files: string = localize('SchemaCompare.Files', "Files"); + private static readonly FileTables: string = localize('SchemaCompare.FileTables', "File Tables"); + private static readonly FullTextCatalogs: string = localize('SchemaCompare.FullTextCatalogs', "Full Text Catalogs"); + private static readonly FullTextStoplists: string = localize('SchemaCompare.FullTextStoplists', "Full Text Stoplists"); + private static readonly MessageTypes: string = localize('SchemaCompare.MessageTypes', "Message Types"); + private static readonly PartitionFunctions: string = localize('SchemaCompare.PartitionFunctions', "Partition Functions"); + private static readonly PartitionSchemes: string = localize('SchemaCompare.PartitionSchemes', "Partition Schemes"); + private static readonly Permissions: string = localize('SchemaCompare.Permissions', "Permissions"); + private static readonly Queues: string = localize('SchemaCompare.Queues', "Queues"); + private static readonly RemoteServiceBindings: string = localize('SchemaCompare.RemoteServiceBindings', "Remote Service Bindings"); + private static readonly RoleMembership: string = localize('SchemaCompare.RoleMembership', "Role Membership"); + private static readonly Rules: string = localize('SchemaCompare.Rules', "Rules"); + private static readonly ScalarValuedFunctions: string = localize('SchemaCompare.ScalarValuedFunctions', "Scalar Valued Functions"); + private static readonly SearchPropertyLists: string = localize('SchemaCompare.SearchPropertyLists', "Search Property Lists"); + private static readonly SecurityPolicies: string = localize('SchemaCompare.SecurityPolicies', "Security Policies"); + private static readonly Sequences: string = localize('SchemaCompare.Sequences', "Sequences"); + private static readonly Services: string = localize('SchemaCompare.Services', "Services"); + private static readonly Signatures: string = localize('SchemaCompare.Signatures', "Signatures"); + private static readonly StoredProcedures: string = localize('SchemaCompare.StoredProcedures', "StoredProcedures"); + private static readonly SymmetricKeys: string = localize('SchemaCompare.SymmetricKeys', "SymmetricKeys"); + private static readonly Synonyms: string = localize('SchemaCompare.Synonyms', "Synonyms"); + private static readonly Tables: string = localize('SchemaCompare.Tables', "Tables"); + private static readonly TableValuedFunctions: string = localize('SchemaCompare.TableValuedFunctions', "Table Valued Functions"); + private static readonly UserDefinedDataTypes: string = localize('SchemaCompare.UserDefinedDataTypes', "User Defined Data Types"); + private static readonly UserDefinedTableTypes: string = localize('SchemaCompare.UserDefinedTableTypes', "User Defined Table Types"); + private static readonly ClrUserDefinedTypes: string = localize('SchemaCompare.ClrUserDefinedTypes', "Clr User Defined Types"); + private static readonly Users: string = localize('SchemaCompare.Users', "Users"); + private static readonly Views: string = localize('SchemaCompare.Views', "Views"); + private static readonly XmlSchemaCollections: string = localize('SchemaCompare.XmlSchemaCollections', "Xml Schema Collections"); + private static readonly Audits: string = localize('SchemaCompare.Audits', "Audits"); + private static readonly Credentials: string = localize('SchemaCompare.Credentials', "Credentials"); + private static readonly CryptographicProviders: string = localize('SchemaCompare.CryptographicProviders', "Cryptographic Providers"); + private static readonly DatabaseAuditSpecifications: string = localize('SchemaCompare.DatabaseAuditSpecifications', "Database Audit Specifications"); + private static readonly DatabaseEncryptionKeys: string = localize('SchemaCompare.DatabaseEncryptionKeys', "Database Encryption Keys"); + private static readonly DatabaseScopedCredentials: string = localize('SchemaCompare.DatabaseScopedCredentials', "Database Scoped Credentials"); + private static readonly Endpoints: string = localize('SchemaCompare.Endpoints', "Endpoints"); + private static readonly ErrorMessages: string = localize('SchemaCompare.ErrorMessages', "Error Messages"); + private static readonly EventNotifications: string = localize('SchemaCompare.EventNotifications', "Event Notifications"); + private static readonly EventSessions: string = localize('SchemaCompare.EventSessions', "Event Sessions"); + private static readonly LinkedServerLogins: string = localize('SchemaCompare.LinkedServerLogins', "Linked Server Logins"); + private static readonly LinkedServers: string = localize('SchemaCompare.LinkedServers', "Linked Servers"); + private static readonly Logins: string = localize('SchemaCompare.Logins', "Logins"); + private static readonly MasterKeys: string = localize('SchemaCompare.MasterKeys', "Master Keys"); + private static readonly Routes: string = localize('SchemaCompare.Routes', "Routes"); + private static readonly ServerAuditSpecifications: string = localize('SchemaCompare.ServerAuditSpecifications', "Server Audit Specifications"); + private static readonly ServerRoleMembership: string = localize('SchemaCompare.ServerRoleMembership', "Server Role Membership"); + private static readonly ServerRoles: string = localize('SchemaCompare.ServerRoles', "Server Roles"); + private static readonly ServerTriggers: string = localize('SchemaCompare.ServerTriggers', "Server Triggers"); - private static readonly descriptionIgnoreTableOptions: string = localize('SchemaCompare.Description.IgnoreTableOptions', 'Specifies whether differences in the table options will be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreSemicolonBetweenStatements: string = localize('SchemaCompare.Description.IgnoreSemicolonBetweenStatements', 'Specifies whether differences in the semi-colons between T-SQL statements will be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreRouteLifetime: string = localize('SchemaCompare.Description.IgnoreRouteLifetime', 'Specifies whether differences in the amount of time that SQL Server retains the route in the routing table should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreRoleMembership: string = localize('SchemaCompare.Description.IgnoreRoleMembership', 'Specifies whether differences in the role membership of logins should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreQuotedIdentifiers: string = localize('SchemaCompare.Description.IgnoreQuotedIdentifiers', 'Specifies whether differences in the quoted identifiers setting should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnorePermissions: string = localize('SchemaCompare.Description.IgnorePermissions', 'Specifies whether permissions should be ignored.'); - private static readonly descriptionIgnorePartitionSchemes: string = localize('SchemaCompare.Description.IgnorePartitionSchemes', 'Specifies whether differences in partition schemes and functions should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreObjectPlacementOnPartitionScheme: string = localize('SchemaCompare.Description.IgnoreObjectPlacementOnPartitionScheme', 'Specifies whether an object\'s placement on a partition scheme should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreNotForReplication: string = localize('SchemaCompare.Description.IgnoreNotForReplication', 'Specifies whether the not for replication settings should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreLoginSids: string = localize('SchemaCompare.Description.IgnoreLoginSids', 'Specifies whether differences in the security identification number (SID) should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreLockHintsOnIndexes: string = localize('SchemaCompare.Description.IgnoreLockHintsOnIndexes', 'Specifies whether differences in the lock hints on indexes should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreKeywordCasing: string = localize('SchemaCompare.Description.IgnoreKeywordCasing', 'Specifies whether differences in the casing of keywords should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreIndexPadding: string = localize('SchemaCompare.Description.IgnoreIndexPadding', 'Specifies whether differences in the index padding should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreIndexOptions: string = localize('SchemaCompare.Description.IgnoreIndexOptions', 'Specifies whether differences in the index options should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreIncrement: string = localize('SchemaCompare.Description.IgnoreIncrement', 'Specifies whether differences in the increment for an identity column should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreIdentitySeed: string = localize('SchemaCompare.Description.IgnoreIdentitySeed', 'Specifies whether differences in the seed for an identity column should be ignored or updated when you publish updates to a database.'); - private static readonly descriptionIgnoreUserSettingsObjects: string = localize('SchemaCompare.Description.IgnoreUserSettingsObjects', 'Specifies whether differences in the user settings objects will be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreFullTextCatalogFilePath: string = localize('SchemaCompare.Description.IgnoreFullTextCatalogFilePath', 'Specifies whether differences in the file path for the full-text catalog should be ignored or whether a warning should be issued when you publish to a database.'); - private static readonly descriptionIgnoreWhitespace: string = localize('SchemaCompare.Description.IgnoreWhitespace', 'Specifies whether differences in white space will be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreWithNocheckOnForeignKeys: string = localize('SchemaCompare.Description.IgnoreWithNocheckOnForeignKeys', 'Specifies whether differences in the value of the WITH NOCHECK clause for foreign keys will be ignored or updated when you publish to a database.'); - private static readonly descriptionVerifyCollationCompatibility: string = localize('SchemaCompare.Description.VerifyCollationCompatibility', 'Specifies whether collation compatibility is verified.'); - private static readonly descriptionUnmodifiableObjectWarnings: string = localize('SchemaCompare.Description.UnmodifiableObjectWarnings', 'Specifies whether warnings should be generated when differences are found in objects that cannot be modified, for example, if the file size or file paths were different for a file.'); - private static readonly descriptionTreatVerificationErrorsAsWarnings: string = localize('SchemaCompare.Description.TreatVerificationErrorsAsWarnings', 'Specifies whether errors encountered during publish verification should be treated as warnings. The check is performed against the generated deployment plan before the plan is executed against your target database. Plan verification detects problems such as the loss of target-only objects (such as indexes) that must be dropped to make a change. Verification will also detect situations where dependencies (such as a table or view) exist because of a reference to a composite project, but do not exist in the target database. You might choose to do this to get a complete list of all issues, instead of having the publish action stop on the first error.'); - private static readonly descriptionScriptRefreshModule: string = localize('SchemaCompare.Description.ScriptRefreshModule', 'Include refresh statements at the end of the publish script.'); - private static readonly descriptionScriptNewConstraintValidation: string = localize('SchemaCompare.Description.ScriptNewConstraintValidation', 'At the end of publish all of the constraints will be verified as one set, avoiding data errors caused by a check or foreign key constraint in the middle of publish. If set to False, your constraints will be published without checking the corresponding data.'); - private static readonly descriptionScriptFileSize: string = localize('SchemaCompare.Description.ScriptFileSize', 'Controls whether size is specified when adding a file to a filegroup.'); - private static readonly descriptionScriptDeployStateChecks: string = localize('SchemaCompare.Description.ScriptDeployStateChecks', 'Specifies whether statements are generated in the publish script to verify that the database name and server name match the names specified in the database project.'); - private static readonly descriptionScriptDatabaseOptions: string = localize('SchemaCompare.Description.ScriptDatabaseOptions', 'Specifies whether target database properties should be set or updated as part of the publish action.'); - private static readonly descriptionScriptDatabaseCompatibility: string = localize('SchemaCompare.Description.ScriptDatabaseCompatibility', 'Specifies whether differences in the database compatibility should be ignored or updated when you publish to a database.'); - private static readonly descriptionScriptDatabaseCollation: string = localize('SchemaCompare.Description.ScriptDatabaseCollation', 'Specifies whether differences in the database collation should be ignored or updated when you publish to a database.'); - private static readonly descriptionRunDeploymentPlanExecutors: string = localize('SchemaCompare.Description.RunDeploymentPlanExecutors', 'Specifies whether DeploymentPlanExecutor contributors should be run when other operations are executed.'); - private static readonly descriptionRegisterDataTierApplication: string = localize('SchemaCompare.Description.RegisterDataTierApplication', 'Specifies whether the schema is registered with the database server.'); - private static readonly descriptionPopulateFilesOnFileGroups: string = localize('SchemaCompare.Description.PopulateFilesOnFileGroups', 'Specifies whether a new file is also created when a new FileGroup is created in the target database.'); - private static readonly descriptionNoAlterStatementsToChangeClrTypes: string = localize('SchemaCompare.Description.NoAlterStatementsToChangeClrTypes', 'Specifies that publish should always drop and re-create an assembly if there is a difference instead of issuing an ALTER ASSEMBLY statement'); - private static readonly descriptionIncludeTransactionalScripts: string = localize('SchemaCompare.Description.IncludeTransactionalScripts', 'Specifies whether transactional statements should be used where possible when you publish to a database.'); - private static readonly descriptionIncludeCompositeObjects: string = localize('SchemaCompare.Description.IncludeCompositeObjects', 'Include all composite elements as part of a single publish operation.'); - private static readonly descriptionAllowUnsafeRowLevelSecurityDataMovement: string = localize('SchemaCompare.Description.AllowUnsafeRowLevelSecurityDataMovement', 'Do not block data motion on a table which has Row Level Security if this property is set to true. Default is false.'); - private static readonly descriptionIgnoreWithNocheckOnCheckConstraints: string = localize('SchemaCompare.Description.IgnoreWithNocheckOnCheckConstraints', 'Specifies whether differences in the value of the WITH NOCHECK clause for check constraints will be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreFillFactor: string = localize('SchemaCompare.Description.IgnoreFillFactor', 'Specifies whether differences in the fill factor for index storage should be ignored or whether a warning should be issued when you publish to a database.'); - private static readonly descriptionIgnoreFileSize: string = localize('SchemaCompare.Description.IgnoreFileSize', 'Specifies whether differences in the file sizes should be ignored or whether a warning should be issued when you publish to a database.'); - private static readonly descriptionIgnoreFilegroupPlacement: string = localize('SchemaCompare.Description.IgnoreFilegroupPlacement', 'Specifies whether differences in the placement of objects in FILEGROUPs should be ignored or updated when you publish to a database.'); - private static readonly descriptionDoNotAlterReplicatedObjects: string = localize('SchemaCompare.Description.DoNotAlterReplicatedObjects', 'Specifies whether objects that are replicated are identified during verification.'); - private static readonly descriptionDoNotAlterChangeDataCaptureObjects: string = localize('SchemaCompare.Description.DoNotAlterChangeDataCaptureObjects', 'If true, Change Data Capture objects are not altered.'); - private static readonly descriptionDisableAndReenableDdlTriggers: string = localize('SchemaCompare.Description.DisableAndReenableDdlTriggers', 'Specifies whether Data Definition Language (DDL) triggers are disabled at the beginning of the publish process and re-enabled at the end of the publish action.'); - private static readonly descriptionDeployDatabaseInSingleUserMode: string = localize('SchemaCompare.Description.DeployDatabaseInSingleUserMode', 'If true, the database is set to Single User Mode before deploying.'); - private static readonly descriptionCreateNewDatabase: string = localize('SchemaCompare.Description.CreateNewDatabase', 'Specifies whether the target database should be updated or whether it should be dropped and re-created when you publish to a database.'); - private static readonly descriptionCompareUsingTargetCollation: string = localize('SchemaCompare.Description.CompareUsingTargetCollation', 'This setting dictates how the database\'s collation is handled during deployment; by default the target database\'s collation will be updated if it does not match the collation specified by the source. When this option is set, the target database\'s (or server\'s) collation should be used.'); - private static readonly descriptionCommentOutSetVarDeclarations: string = localize('SchemaCompare.Description.CommentOutSetVarDeclarations', 'Specifies whether the declaration of SETVAR variables should be commented out in the generated publish script. You might choose to do this if you plan to specify the values on the command line when you publish by using a tool such as SQLCMD.EXE.'); - private static readonly descriptionBlockWhenDriftDetected: string = localize('SchemaCompare.Description.BlockWhenDriftDetected', 'Specifies whether to block updating a database whose schema no longer matches its registration or is unregistered.'); - private static readonly descriptionBlockOnPossibleDataLoss: string = localize('SchemaCompare.Description.BlockOnPossibleDataLoss', 'Specifies that the publish episode should be terminated if there is a possibility of data loss resulting from the publish operation.'); - private static readonly descriptionBackupDatabaseBeforeChanges: string = localize('SchemaCompare.Description.BackupDatabaseBeforeChanges', 'Backups the database before deploying any changes.'); - private static readonly descriptionAllowIncompatiblePlatform: string = localize('SchemaCompare.Description.AllowIncompatiblePlatform', 'Specifies whether to attempt the action despite incompatible SQL Server platforms.'); - private static readonly descriptionAllowDropBlockingAssemblies: string = localize('SchemaCompare.Description.AllowDropBlockingAssemblies', 'This property is used by SqlClr deployment to cause any blocking assemblies to be dropped as part of the deployment plan. By default, any blocking/referencing assemblies will block an assembly update if the referencing assembly needs to be dropped.'); - private static readonly descriptionDropConstraintsNotInSource: string = localize('SchemaCompare.Description.DropConstraintsNotInSource', 'Specifies whether constraints that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.'); - private static readonly descriptionDropDmlTriggersNotInSource: string = localize('SchemaCompare.Description.DropDmlTriggersNotInSource', 'Specifies whether DML triggers that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.'); - private static readonly descriptionDropExtendedPropertiesNotInSource: string = localize('SchemaCompare.Description.DropExtendedPropertiesNotInSource', 'Specifies whether extended properties that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.'); - private static readonly descriptionDropIndexesNotInSource: string = localize('SchemaCompare.Description.DropIndexesNotInSource', 'Specifies whether indexes that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.'); - private static readonly descriptionIgnoreFileAndLogFilePath: string = localize('SchemaCompare.Description.IgnoreFileAndLogFilePath', 'Specifies whether differences in the paths for files and log files should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreExtendedProperties: string = localize('SchemaCompare.Description.IgnoreExtendedProperties', 'Specifies whether extended properties should be ignored.'); - private static readonly descriptionIgnoreDmlTriggerState: string = localize('SchemaCompare.Description.IgnoreDmlTriggerState', 'Specifies whether differences in the enabled or disabled state of DML triggers should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreDmlTriggerOrder: string = localize('SchemaCompare.Description.IgnoreDmlTriggerOrder', 'Specifies whether differences in the order of Data Manipulation Language (DML) triggers should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreDefaultSchema: string = localize('SchemaCompare.Description.IgnoreDefaultSchema', 'Specifies whether differences in the default schema should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreDdlTriggerState: string = localize('SchemaCompare.Description.IgnoreDdlTriggerState', 'Specifies whether differences in the enabled or disabled state of Data Definition Language (DDL) triggers should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreDdlTriggerOrder: string = localize('SchemaCompare.Description.IgnoreDdlTriggerOrder', 'Specifies whether differences in the order of Data Definition Language (DDL) triggers should be ignored or updated when you publish to a database or server.'); - private static readonly descriptionIgnoreCryptographicProviderFilePath: string = localize('SchemaCompare.Description.IgnoreCryptographicProviderFilePath', 'Specifies whether differences in the file path for the cryptographic provider should be ignored or updated when you publish to a database.'); - private static readonly descriptionVerifyDeployment: string = localize('SchemaCompare.Description.VerifyDeployment', 'Specifies whether checks should be performed before publishing that will stop the publish action if issues are present that might block successful publishing. For example, your publish action might stop if you have foreign keys on the target database that do not exist in the database project, and that will cause errors when you publish.'); - private static readonly descriptionIgnoreComments: string = localize('SchemaCompare.Description.IgnoreComments', 'Specifies whether differences in the comments should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreColumnCollation: string = localize('SchemaCompare.Description.IgnoreColumnCollation', 'Specifies whether differences in the column collations should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreAuthorizer: string = localize('SchemaCompare.Description.IgnoreAuthorizer', 'Specifies whether differences in the Authorizer should be ignored or updated when you publish to a database.'); - private static readonly descriptionIgnoreAnsiNulls: string = localize('SchemaCompare.Description.IgnoreAnsiNulls', 'Specifies whether differences in the ANSI NULLS setting should be ignored or updated when you publish to a database.'); - private static readonly descriptionGenerateSmartDefaults: string = localize('SchemaCompare.Description.GenerateSmartDefaults', 'Automatically provides a default value when updating a table that contains data with a column that does not allow null values.'); - private static readonly descriptionDropStatisticsNotInSource: string = localize('SchemaCompare.Description.DropStatisticsNotInSource', 'Specifies whether statistics that do not exist in the database snapshot (.dacpac) file will be dropped from the target database when you publish to a database.'); - private static readonly descriptionDropRoleMembersNotInSource: string = localize('SchemaCompare.Description.DropRoleMembersNotInSource', 'Specifies whether role members that are not defined in the database snapshot (.dacpac) file will be dropped from the target database when you publish updates to a database.(); - this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Delete] = localize('schemaCompare.deleteAction', 'Delete'); - this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Change] = localize('schemaCompare.changeAction', 'Change'); - this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Add] = localize('schemaCompare.addAction', 'Add'); + this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Delete] = localize('schemaCompare.deleteAction', "Delete"); + this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Change] = localize('schemaCompare.changeAction', "Change"); + this.SchemaCompareActionMap[mssql.SchemaUpdateAction.Add] = localize('schemaCompare.addAction', "Add"); - this.editor = azdata.workspace.createModelViewEditor(localize('schemaCompare.Title', 'Schema Compare'), { retainContextWhenHidden: true, supportsSave: true, resourceName: schemaCompareResourceName }); + this.editor = azdata.workspace.createModelViewEditor(localize('schemaCompare.Title', "Schema Compare"), { retainContextWhenHidden: true, supportsSave: true, resourceName: schemaCompareResourceName }); } public async start(context: any) { @@ -159,17 +159,17 @@ export class SchemaCompareMainWindow { }]); let sourceLabel = view.modelBuilder.text().withProperties({ - value: localize('schemaCompare.sourceLabel', 'Source'), + value: localize('schemaCompare.sourceLabel', "Source"), CSSStyles: { 'margin-bottom': '0px' } }).component(); let targetLabel = view.modelBuilder.text().withProperties({ - value: localize('schemaCompare.targetLabel', 'Target'), + value: localize('schemaCompare.targetLabel', "Target"), CSSStyles: { 'margin-bottom': '0px' } }).component(); let arrowLabel = view.modelBuilder.text().withProperties({ - value: localize('schemaCompare.switchLabel', '➔') + value: localize('schemaCompare.switchLabel', "➔") }).component(); this.sourceName = getEndpointName(this.sourceEndpointInfo); @@ -204,15 +204,15 @@ export class SchemaCompareMainWindow { this.loader = view.modelBuilder.loadingComponent().component(); this.waitText = view.modelBuilder.text().withProperties({ - value: localize('schemaCompare.waitText', 'Initializing Comparison. This might take a moment.') + value: localize('schemaCompare.waitText', "Initializing Comparison. This might take a moment.") }).component(); this.startText = view.modelBuilder.text().withProperties({ - value: localize('schemaCompare.startText', 'To compare two schemas, first select a source schema and target schema, then press Compare.') + value: localize('schemaCompare.startText', "To compare two schemas, first select a source schema and target schema, then press Compare.") }).component(); this.noDifferencesLabel = view.modelBuilder.text().withProperties({ - value: localize('schemaCompare.noDifferences', 'No schema differences were found.') + value: localize('schemaCompare.noDifferences', "No schema differences were found.") }).component(); this.flexModel = view.modelBuilder.flexContainer().component(); @@ -298,29 +298,29 @@ export class SchemaCompareMainWindow { data: data, columns: [ { - value: localize('schemaCompare.typeColumn', 'Type'), + value: localize('schemaCompare.typeColumn', "Type"), cssClass: 'align-with-header', width: 50 }, { - value: localize('schemaCompare.sourceNameColumn', 'Source Name'), + value: localize('schemaCompare.sourceNameColumn', "Source Name"), cssClass: 'align-with-header', width: 90 }, { - value: localize('schemaCompare.includeColumnName', 'Include'), + value: localize('schemaCompare.includeColumnName', "Include"), cssClass: 'align-with-header', width: 60, type: azdata.ColumnType.checkBox, options: { actionOnCheckbox: azdata.ActionOnCellCheckboxCheck.customAction } }, { - value: localize('schemaCompare.actionColumn', 'Action'), + value: localize('schemaCompare.actionColumn', "Action"), cssClass: 'align-with-header', width: 30 }, { - value: localize('schemaCompare.targetNameColumn', 'Target Name'), + value: localize('schemaCompare.targetNameColumn', "Target Name"), cssClass: 'align-with-header', width: 150 } @@ -348,8 +348,8 @@ export class SchemaCompareMainWindow { this.generateScriptButton.enabled = true; this.applyButton.enabled = true; } else { - this.generateScriptButton.title = localize('schemaCompare.generateScriptButtonDisabledTitle', 'Generate script is enabled when the target is a database'); - this.applyButton.title = localize('schemaCompare.applyButtonDisabledTitle', 'Apply is enabled when the target is a database'); + this.generateScriptButton.title = localize('schemaCompare.generateScriptButtonDisabledTitle', "Generate script is enabled when the target is a database"); + this.applyButton.title = localize('schemaCompare.applyButtonDisabledTitle', "Apply is enabled when the target is a database"); } } else { this.flexModel.addItem(this.noDifferencesLabel, { CSSStyles: { 'margin': 'auto' } }); @@ -541,12 +541,12 @@ export class SchemaCompareMainWindow { private createCompareButton(view: azdata.ModelView): void { this.compareButton = view.modelBuilder.button().withProperties({ - label: localize('schemaCompare.compareButton', 'Compare'), + label: localize('schemaCompare.compareButton', "Compare"), iconPath: { light: path.join(this.extensionContext.extensionPath, 'media', 'compare.svg'), dark: path.join(this.extensionContext.extensionPath, 'media', 'compare-inverse.svg') }, - title: localize('schemaCompare.compareButtonTitle', 'Compare') + title: localize('schemaCompare.compareButtonTitle', "Compare") }).component(); this.compareButton.onDidClick(async (click) => { @@ -556,12 +556,12 @@ export class SchemaCompareMainWindow { private createCancelButton(view: azdata.ModelView): void { this.cancelCompareButton = view.modelBuilder.button().withProperties({ - label: localize('schemaCompare.cancelCompareButton', 'Stop'), + label: localize('schemaCompare.cancelCompareButton', "Stop"), iconPath: { light: path.join(this.extensionContext.extensionPath, 'media', 'stop.svg'), dark: path.join(this.extensionContext.extensionPath, 'media', 'stop-inverse.svg') }, - title: localize('schemaCompare.cancelCompareButtonTitle', 'Stop') + title: localize('schemaCompare.cancelCompareButtonTitle', "Stop") }).component(); this.cancelCompareButton.onDidClick(async (click) => { @@ -604,7 +604,7 @@ export class SchemaCompareMainWindow { private createGenerateScriptButton(view: azdata.ModelView): void { this.generateScriptButton = view.modelBuilder.button().withProperties({ - label: localize('schemaCompare.generateScriptButton', 'Generate script'), + label: localize('schemaCompare.generateScriptButton', "Generate script"), iconPath: { light: path.join(this.extensionContext.extensionPath, 'media', 'generate-script.svg'), dark: path.join(this.extensionContext.extensionPath, 'media', 'generate-script-inverse.svg') @@ -635,12 +635,12 @@ export class SchemaCompareMainWindow { private createOptionsButton(view: azdata.ModelView) { this.optionsButton = view.modelBuilder.button().withProperties({ - label: localize('schemaCompare.optionsButton', 'Options'), + label: localize('schemaCompare.optionsButton', "Options"), iconPath: { light: path.join(this.extensionContext.extensionPath, 'media', 'options.svg'), dark: path.join(this.extensionContext.extensionPath, 'media', 'options-inverse.svg') }, - title: localize('schemaCompare.optionsButtonTitle', 'Options') + title: localize('schemaCompare.optionsButtonTitle', "Options") }).component(); this.optionsButton.onDidClick(async (click) => { @@ -655,7 +655,7 @@ export class SchemaCompareMainWindow { private createApplyButton(view: azdata.ModelView) { this.applyButton = view.modelBuilder.button().withProperties({ - label: localize('schemaCompare.updateButton', 'Apply'), + label: localize('schemaCompare.updateButton', "Apply"), iconPath: { light: path.join(this.extensionContext.extensionPath, 'media', 'start.svg'), dark: path.join(this.extensionContext.extensionPath, 'media', 'start-inverse.svg') @@ -663,7 +663,7 @@ export class SchemaCompareMainWindow { }).component(); // need only yes button - since the modal dialog has a default cancel - const yesString = localize('schemaCompare.ApplyYes', 'Yes'); + const yesString = localize('schemaCompare.ApplyYes', "Yes"); this.applyButton.onDidClick(async (click) => { vscode.window.showWarningMessage(applyConfirmation, { modal: true }, yesString).then(async (result) => { @@ -762,12 +762,12 @@ export class SchemaCompareMainWindow { private createSwitchButton(view: azdata.ModelView): void { this.switchButton = view.modelBuilder.button().withProperties({ - label: localize('schemaCompare.switchDirectionButton', 'Switch direction'), + label: localize('schemaCompare.switchDirectionButton', "Switch direction"), iconPath: { light: path.join(this.extensionContext.extensionPath, 'media', 'switch-directions.svg'), dark: path.join(this.extensionContext.extensionPath, 'media', 'switch-directions-inverse.svg') }, - title: localize('schemaCompare.switchButtonTitle', 'Switch source and target') + title: localize('schemaCompare.switchButtonTitle', "Switch source and target") }).component(); this.switchButton.onDidClick(async (click) => { @@ -835,12 +835,12 @@ export class SchemaCompareMainWindow { private createOpenScmpButton(view: azdata.ModelView) { this.openScmpButton = view.modelBuilder.button().withProperties({ - label: localize('schemaCompare.openScmpButton', 'Open .scmp file'), + label: localize('schemaCompare.openScmpButton', "Open .scmp file"), iconPath: { light: path.join(this.extensionContext.extensionPath, 'media', 'open-scmp.svg'), dark: path.join(this.extensionContext.extensionPath, 'media', 'open-scmp-inverse.svg') }, - title: localize('schemaCompare.openScmpButtonTitle', 'Load source, target, and options saved in an .scmp file') + title: localize('schemaCompare.openScmpButtonTitle', "Load source, target, and options saved in an .scmp file") }).component(); this.openScmpButton.onDidClick(async (click) => { @@ -852,7 +852,7 @@ export class SchemaCompareMainWindow { canSelectFolders: false, canSelectMany: false, defaultUri: vscode.Uri.file(rootPath), - openLabel: localize('schemaCompare.openFile', 'Open'), + openLabel: localize('schemaCompare.openFile', "Open"), filters: { 'scmp Files': ['scmp'], } @@ -932,12 +932,12 @@ export class SchemaCompareMainWindow { private createSaveScmpButton(view: azdata.ModelView): void { this.saveScmpButton = view.modelBuilder.button().withProperties({ - label: localize('schemaCompare.saveScmpButton', 'Save .scmp file'), + label: localize('schemaCompare.saveScmpButton', "Save .scmp file"), iconPath: { light: path.join(this.extensionContext.extensionPath, 'media', 'save-scmp.svg'), dark: path.join(this.extensionContext.extensionPath, 'media', 'save-scmp-inverse.svg') }, - title: localize('schemaCompare.saveScmpButtonTitle', 'Save source and target, options, and excluded elements'), + title: localize('schemaCompare.saveScmpButtonTitle', "Save source and target, options, and excluded elements"), enabled: false }).component(); @@ -946,7 +946,7 @@ export class SchemaCompareMainWindow { const filePath = await vscode.window.showSaveDialog( { defaultUri: vscode.Uri.file(rootPath), - saveLabel: localize('schemaCompare.saveFile', 'Save'), + saveLabel: localize('schemaCompare.saveFile', "Save"), filters: { 'scmp Files': ['scmp'], } diff --git a/src/sql/workbench/parts/dashboard/browser/containers/dashboardErrorContainer.component.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardErrorContainer.component.ts index 57b3b985a5..056f175006 100644 --- a/src/sql/workbench/parts/dashboard/browser/containers/dashboardErrorContainer.component.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardErrorContainer.component.ts @@ -40,7 +40,7 @@ export class DashboardErrorContainer extends DashboardTab implements AfterViewIn ngAfterViewInit() { const errorMessage = this._errorMessageContainer.nativeElement as HTMLElement; - errorMessage.innerText = nls.localize('dashboardNavSection_loadTabError', "The \"{0}\" section has invalid content. Please contact extension owner.", this.tab.title); + errorMessage.innerText = nls.localize('dashboardNavSection.loadTabError', "The \"{0}\" section has invalid content. Please contact extension owner.", this.tab.title); } public get id(): string { diff --git a/src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.contribution.ts b/src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.contribution.ts index 75f746dcd9..f2af5c1abe 100644 --- a/src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.contribution.ts +++ b/src/sql/workbench/parts/dashboard/browser/containers/dashboardNavSection.contribution.ts @@ -102,12 +102,12 @@ export function validateNavSectionContributionAndRegisterIcon(extension: IExtens navSectionConfigs.forEach(section => { if (!section.title) { result = false; - extension.collector.error(nls.localize('navSection.missingTitle_error', "No title in nav section specified for extension.")); + extension.collector.error(nls.localize('navSection.missingTitle.error', "No title in nav section specified for extension.")); } if (!section.container) { result = false; - extension.collector.error(nls.localize('navSection.missingContainer_error', "No container in nav section specified for extension.")); + extension.collector.error(nls.localize('navSection.missingContainer.error', "No container in nav section specified for extension.")); } if (Object.keys(section.container).length !== 1) { @@ -131,7 +131,7 @@ export function validateNavSectionContributionAndRegisterIcon(extension: IExtens break; case NAV_SECTION: result = false; - extension.collector.error(nls.localize('navSection.invalidContainer_error', "NAV_SECTION within NAV_SECTION is an invalid container for extension.")); + extension.collector.error(nls.localize('navSection.invalidContainer.error', "NAV_SECTION within NAV_SECTION is an invalid container for extension.")); break; } diff --git a/tslint-sql.json b/tslint-sql.json index 2e797a7a76..364885ef0c 100644 --- a/tslint-sql.json +++ b/tslint-sql.json @@ -25,7 +25,8 @@ }, "use-isnan": { "severity": "error" - } + }, + "no-underscore-in-localize-keys": true }, "linterOptions": { "exclude": [